@gomomento/sdk-core 1.61.0 → 1.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/clients/IVectorIndexClient.d.ts +10 -1
- package/dist/src/clients/IVectorIndexClient.js +6 -2
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.js +9 -4
- package/dist/src/messages/vector-index-filters.d.ts +256 -0
- package/dist/src/messages/vector-index-filters.js +297 -0
- package/package.json +1 -1
@@ -1,16 +1,21 @@
|
|
1
1
|
import { IVectorIndexControlClient } from '../internal/clients';
|
2
2
|
import { VectorCountItems, VectorUpsertItemBatch, VectorDeleteItemBatch, VectorSearch, VectorSearchAndFetchVectors, VectorGetItemBatch, VectorGetItemMetadataBatch } from '../messages/responses/vector';
|
3
3
|
import { VectorIndexItem } from '../messages/vector-index';
|
4
|
+
import { VectorFilterExpression } from '../messages/vector-index-filters';
|
4
5
|
/**
|
5
6
|
* A special value to request all metadata fields.
|
6
7
|
*/
|
7
8
|
export declare const ALL_VECTOR_METADATA: unique symbol;
|
9
|
+
/**
|
10
|
+
* The default number of results to return.
|
11
|
+
*/
|
12
|
+
export declare const VECTOR_DEFAULT_TOPK = 10;
|
8
13
|
/**
|
9
14
|
* Options for the search operation.
|
10
15
|
*/
|
11
16
|
export interface SearchOptions {
|
12
17
|
/**
|
13
|
-
* The number of results to return. Defaults to
|
18
|
+
* The number of results to return. Defaults to {@link VECTOR_DEFAULT_TOPK}.
|
14
19
|
*/
|
15
20
|
topK?: number;
|
16
21
|
/**
|
@@ -26,6 +31,10 @@ export interface SearchOptions {
|
|
26
31
|
* are excluded.
|
27
32
|
*/
|
28
33
|
scoreThreshold?: number;
|
34
|
+
/**
|
35
|
+
* A filter expression to filter results by. Defaults to no filter.
|
36
|
+
*/
|
37
|
+
filterExpression?: VectorFilterExpression;
|
29
38
|
}
|
30
39
|
export interface IVectorIndexClient extends IVectorIndexControlClient {
|
31
40
|
countItems(indexName: string): Promise<VectorCountItems.Response>;
|
@@ -1,8 +1,12 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ALL_VECTOR_METADATA = void 0;
|
3
|
+
exports.VECTOR_DEFAULT_TOPK = exports.ALL_VECTOR_METADATA = void 0;
|
4
4
|
/**
|
5
5
|
* A special value to request all metadata fields.
|
6
6
|
*/
|
7
7
|
exports.ALL_VECTOR_METADATA = Symbol('ALL_VECTOR_METADATA');
|
8
|
-
|
8
|
+
/**
|
9
|
+
* The default number of results to return.
|
10
|
+
*/
|
11
|
+
exports.VECTOR_DEFAULT_TOPK = 10;
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVZlY3RvckluZGV4Q2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudHMvSVZlY3RvckluZGV4Q2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWFBOztHQUVHO0FBQ1UsUUFBQSxtQkFBbUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUVqRTs7R0FFRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJVmVjdG9ySW5kZXhDb250cm9sQ2xpZW50fSBmcm9tICcuLi9pbnRlcm5hbC9jbGllbnRzJztcbmltcG9ydCB7XG4gIFZlY3RvckNvdW50SXRlbXMsXG4gIFZlY3RvclVwc2VydEl0ZW1CYXRjaCxcbiAgVmVjdG9yRGVsZXRlSXRlbUJhdGNoLFxuICBWZWN0b3JTZWFyY2gsXG4gIFZlY3RvclNlYXJjaEFuZEZldGNoVmVjdG9ycyxcbiAgVmVjdG9yR2V0SXRlbUJhdGNoLFxuICBWZWN0b3JHZXRJdGVtTWV0YWRhdGFCYXRjaCxcbn0gZnJvbSAnLi4vbWVzc2FnZXMvcmVzcG9uc2VzL3ZlY3Rvcic7XG5pbXBvcnQge1ZlY3RvckluZGV4SXRlbX0gZnJvbSAnLi4vbWVzc2FnZXMvdmVjdG9yLWluZGV4JztcbmltcG9ydCB7VmVjdG9yRmlsdGVyRXhwcmVzc2lvbn0gZnJvbSAnLi4vbWVzc2FnZXMvdmVjdG9yLWluZGV4LWZpbHRlcnMnO1xuXG4vKipcbiAqIEEgc3BlY2lhbCB2YWx1ZSB0byByZXF1ZXN0IGFsbCBtZXRhZGF0YSBmaWVsZHMuXG4gKi9cbmV4cG9ydCBjb25zdCBBTExfVkVDVE9SX01FVEFEQVRBID0gU3ltYm9sKCdBTExfVkVDVE9SX01FVEFEQVRBJyk7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgbnVtYmVyIG9mIHJlc3VsdHMgdG8gcmV0dXJuLlxuICovXG5leHBvcnQgY29uc3QgVkVDVE9SX0RFRkFVTFRfVE9QSyA9IDEwO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBzZWFyY2ggb3BlcmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybi4gRGVmYXVsdHMgdG8ge0BsaW5rIFZFQ1RPUl9ERUZBVUxUX1RPUEt9LlxuICAgKi9cbiAgdG9wSz86IG51bWJlcjtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBtZXRhZGF0YSBmaWVsZHMgdG8gcmV0dXJuIHdpdGggZWFjaCByZXN1bHQsXG4gICAqIG9yIGEgdmFsdWUgaW5kaWNhdGluZyBhbGwgbWV0YWRhdGEgc2hvdWxkIGJlIHJldHVybmVkLiBJZiBub3QgcHJvdmlkZWQsIG5vIG1ldGFkYXRhIGlzIHJldHVybmVkLiBEZWZhdWx0cyB0byBOb25lLlxuICAgKi9cbiAgbWV0YWRhdGFGaWVsZHM/OiBBcnJheTxzdHJpbmc+IHwgdHlwZW9mIEFMTF9WRUNUT1JfTUVUQURBVEE7XG4gIC8qKlxuICAgKiBBIHNjb3JlIHRocmVzaG9sZCB0byBmaWx0ZXIgcmVzdWx0cyBieS4gVGhlIHRocmVzaG9sZCBpcyBleGNsdXNpdmUuIERlZmF1bHRzIHRvIG5vIHRocmVzaG9sZC5cbiAgICogLSBGb3IgY29zaW5lIHNpbWlsYXJpdHkgYW5kIGlubmVyIHByb2R1Y3QsIHNjb3JlcyBsb3dlciB0aGFuIHRoZSB0aHJlc2hvbGRcbiAgICogICBhcmUgZXhjbHVkZWQuXG4gICAqIC0gRm9yIGV1Y2xpZGVhbiBzaW1pbGFyaXR5LCBzY29yZXMgaGlnaGVyIHRoYW4gdGhlIHRocmVzaG9sZFxuICAgKiAgIGFyZSBleGNsdWRlZC5cbiAgICovXG4gIHNjb3JlVGhyZXNob2xkPzogbnVtYmVyO1xuICAvKipcbiAgICogQSBmaWx0ZXIgZXhwcmVzc2lvbiB0byBmaWx0ZXIgcmVzdWx0cyBieS4gRGVmYXVsdHMgdG8gbm8gZmlsdGVyLlxuICAgKi9cbiAgZmlsdGVyRXhwcmVzc2lvbj86IFZlY3RvckZpbHRlckV4cHJlc3Npb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVZlY3RvckluZGV4Q2xpZW50IGV4dGVuZHMgSVZlY3RvckluZGV4Q29udHJvbENsaWVudCB7XG4gIGNvdW50SXRlbXMoaW5kZXhOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFZlY3RvckNvdW50SXRlbXMuUmVzcG9uc2U+O1xuICB1cHNlcnRJdGVtQmF0Y2goXG4gICAgaW5kZXhOYW1lOiBzdHJpbmcsXG4gICAgaXRlbXM6IEFycmF5PFZlY3RvckluZGV4SXRlbT5cbiAgKTogUHJvbWlzZTxWZWN0b3JVcHNlcnRJdGVtQmF0Y2guUmVzcG9uc2U+O1xuXG4gIHNlYXJjaChcbiAgICBpbmRleE5hbWU6IHN0cmluZyxcbiAgICBxdWVyeVZlY3RvcjogQXJyYXk8bnVtYmVyPixcbiAgICBvcHRpb25zPzogU2VhcmNoT3B0aW9uc1xuICApOiBQcm9taXNlPFZlY3RvclNlYXJjaC5SZXNwb25zZT47XG5cbiAgc2VhcmNoQW5kRmV0Y2hWZWN0b3JzKFxuICAgIGluZGV4TmFtZTogc3RyaW5nLFxuICAgIHF1ZXJ5VmVjdG9yOiBBcnJheTxudW1iZXI+LFxuICAgIG9wdGlvbnM/OiBTZWFyY2hPcHRpb25zXG4gICk6IFByb21pc2U8VmVjdG9yU2VhcmNoQW5kRmV0Y2hWZWN0b3JzLlJlc3BvbnNlPjtcblxuICBkZWxldGVJdGVtQmF0Y2goXG4gICAgaW5kZXhOYW1lOiBzdHJpbmcsXG4gICAgaWRzOiBBcnJheTxzdHJpbmc+XG4gICk6IFByb21pc2U8VmVjdG9yRGVsZXRlSXRlbUJhdGNoLlJlc3BvbnNlPjtcblxuICBnZXRJdGVtQmF0Y2goXG4gICAgaW5kZXhOYW1lOiBzdHJpbmcsXG4gICAgaWRzOiBBcnJheTxzdHJpbmc+XG4gICk6IFByb21pc2U8VmVjdG9yR2V0SXRlbUJhdGNoLlJlc3BvbnNlPjtcblxuICBnZXRJdGVtTWV0YWRhdGFCYXRjaChcbiAgICBpbmRleE5hbWU6IHN0cmluZyxcbiAgICBpZHM6IEFycmF5PHN0cmluZz4sXG4gICAgbWV0YWRhdGFGaWVsZHM/OiBBcnJheTxzdHJpbmc+XG4gICk6IFByb21pc2U8VmVjdG9yR2V0SXRlbU1ldGFkYXRhQmF0Y2guUmVzcG9uc2U+O1xufVxuIl19
|
package/dist/src/index.d.ts
CHANGED
@@ -61,6 +61,8 @@ import * as GenerateDisposableToken from './messages/responses/generate-disposab
|
|
61
61
|
export * as vector from './messages/responses/vector';
|
62
62
|
export * from './messages/responses/vector';
|
63
63
|
export { VectorIndexMetadata, VectorIndexItem, VectorIndexStoredItem, } from './messages/vector-index';
|
64
|
+
export * as vectorFilters from './messages/vector-index-filters';
|
65
|
+
export { VectorFilterExpression, VectorFilterExpressions, } from './messages/vector-index-filters';
|
64
66
|
export * as leaderboard from './messages/responses/leaderboard';
|
65
67
|
export * from './messages/responses/leaderboard';
|
66
68
|
export * as webhook from './messages/responses/webhook';
|
@@ -75,7 +77,7 @@ export { MomentoLogger, MomentoLoggerFactory, } from './config/logging/momento-l
|
|
75
77
|
export { NoopMomentoLogger, NoopMomentoLoggerFactory, } from './config/logging/noop-momento-logger';
|
76
78
|
export { ICacheClient, SetOptions, SetIfNotExistsOptions, IncrementOptions, } from './clients/ICacheClient';
|
77
79
|
export { IMomentoCache } from './clients/IMomentoCache';
|
78
|
-
export { IVectorIndexClient, SearchOptions, ALL_VECTOR_METADATA, } from './clients/IVectorIndexClient';
|
80
|
+
export { IVectorIndexClient, SearchOptions, ALL_VECTOR_METADATA, VECTOR_DEFAULT_TOPK, } from './clients/IVectorIndexClient';
|
79
81
|
export { VectorSimilarityMetric } from './internal/clients';
|
80
82
|
export { ILeaderboardClient } from './clients/ILeaderboardClient';
|
81
83
|
export { ILeaderboard } from './clients/ILeaderboard';
|
package/dist/src/index.js
CHANGED
@@ -14,9 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
exports.
|
18
|
-
exports.
|
19
|
-
exports.UnknownError = exports.NotFoundError = exports.PermissionError = exports.BadRequestError = exports.TimeoutError = exports.ServerUnavailableError = exports.UnknownServiceError = exports.InvalidArgumentError = exports.InternalServerError = exports.LimitExceededError = exports.FailedPreconditionError = void 0;
|
17
|
+
exports.CacheDelete = exports.CacheSetIfNotExists = exports.CacheSet = exports.CacheListRetain = exports.CacheListRemoveValue = exports.CacheListPushFront = exports.CacheListPushBack = exports.CacheListPopFront = exports.CacheListPopBack = exports.CacheListLength = exports.CacheListFetch = exports.CacheListConcatenateFront = exports.CacheListConcatenateBack = exports.CacheGet = exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = exports.LeaderboardOrder = exports.SortedSetOrder = exports.WebhookDestinationType = exports.PostUrlWebhookDestination = exports.ItemType = exports.CollectionTtl = exports.ExpiresAt = exports.ExpiresIn = exports.DisposableTokenScopes = exports.TokenScopes = exports.PermissionScopes = exports.isCacheItemKeyPrefix = exports.isCacheItemKey = exports.AllCacheItems = exports.AllTopics = exports.AllCaches = exports.isTopicName = exports.isCacheName = exports.AllDataReadWrite = exports.TopicRole = exports.CacheRole = exports.VectorSimilarityMetric = exports.VECTOR_DEFAULT_TOPK = exports.ALL_VECTOR_METADATA = exports.NoopMomentoLoggerFactory = exports.NoopMomentoLogger = exports.VectorIndexInfo = exports.webhook = exports.leaderboard = exports.VectorFilterExpressions = exports.VectorFilterExpression = exports.vectorFilters = exports.vector = void 0;
|
18
|
+
exports.MomentoErrorCode = exports.GenerateDisposableToken = exports.RefreshAuthToken = exports.RefreshApiKey = exports.GenerateAuthToken = exports.GenerateApiKey = exports.TopicItem = exports.TopicSubscribe = exports.TopicPublish = exports.CacheInfo = exports.CacheDecreaseTtl = exports.CacheIncreaseTtl = exports.CacheUpdateTtl = exports.CacheKeysExist = exports.CacheKeyExists = exports.CacheItemGetTtl = exports.CacheItemGetType = exports.CacheSortedSetLengthByScore = exports.CacheSortedSetLength = exports.CacheSortedSetRemoveElements = exports.CacheSortedSetRemoveElement = exports.CacheSortedSetIncrementScore = exports.CacheSortedSetGetScores = exports.CacheSortedSetGetScore = exports.CacheSortedSetGetRank = exports.CacheSortedSetFetch = exports.CacheSortedSetPutElements = exports.CacheSortedSetPutElement = exports.CacheSetRemoveElement = exports.CacheSetRemoveElements = exports.CacheSetAddElement = exports.CacheSetAddElements = exports.CacheDictionaryLength = exports.CacheDictionaryIncrement = exports.CacheDictionaryRemoveFields = exports.CacheDictionaryRemoveField = exports.CacheDictionaryGetFields = exports.CacheDictionaryGetField = exports.CacheDictionarySetFields = exports.CacheDictionarySetField = exports.CacheDictionaryFetch = exports.CacheSetFetch = exports.RevokeSigningKey = exports.ListSigningKeys = exports.CreateSigningKey = exports.CacheIncrement = exports.ListCaches = exports.DeleteCache = exports.CreateCache = exports.CacheFlush = void 0;
|
19
|
+
exports.UnknownError = exports.NotFoundError = exports.PermissionError = exports.BadRequestError = exports.TimeoutError = exports.ServerUnavailableError = exports.UnknownServiceError = exports.InvalidArgumentError = exports.InternalServerError = exports.LimitExceededError = exports.FailedPreconditionError = exports.CancelledError = exports.AuthenticationError = exports.AlreadyExistsError = exports.SdkError = void 0;
|
20
20
|
// Cache Client Response Types
|
21
21
|
const CacheGet = require("./messages/responses/cache-get");
|
22
22
|
exports.CacheGet = CacheGet;
|
@@ -145,6 +145,10 @@ exports.GenerateDisposableToken = GenerateDisposableToken;
|
|
145
145
|
// VectorClient Response Types
|
146
146
|
exports.vector = require("./messages/responses/vector");
|
147
147
|
__exportStar(require("./messages/responses/vector"), exports);
|
148
|
+
exports.vectorFilters = require("./messages/vector-index-filters");
|
149
|
+
var vector_index_filters_1 = require("./messages/vector-index-filters");
|
150
|
+
Object.defineProperty(exports, "VectorFilterExpression", { enumerable: true, get: function () { return vector_index_filters_1.VectorFilterExpression; } });
|
151
|
+
Object.defineProperty(exports, "VectorFilterExpressions", { enumerable: true, get: function () { return vector_index_filters_1.VectorFilterExpressions; } });
|
148
152
|
// Leaderboard Response Types
|
149
153
|
exports.leaderboard = require("./messages/responses/leaderboard");
|
150
154
|
__exportStar(require("./messages/responses/leaderboard"), exports);
|
@@ -189,6 +193,7 @@ Object.defineProperty(exports, "NoopMomentoLogger", { enumerable: true, get: fun
|
|
189
193
|
Object.defineProperty(exports, "NoopMomentoLoggerFactory", { enumerable: true, get: function () { return noop_momento_logger_1.NoopMomentoLoggerFactory; } });
|
190
194
|
var IVectorIndexClient_1 = require("./clients/IVectorIndexClient");
|
191
195
|
Object.defineProperty(exports, "ALL_VECTOR_METADATA", { enumerable: true, get: function () { return IVectorIndexClient_1.ALL_VECTOR_METADATA; } });
|
196
|
+
Object.defineProperty(exports, "VECTOR_DEFAULT_TOPK", { enumerable: true, get: function () { return IVectorIndexClient_1.VECTOR_DEFAULT_TOPK; } });
|
192
197
|
var clients_1 = require("./internal/clients");
|
193
198
|
Object.defineProperty(exports, "VectorSimilarityMetric", { enumerable: true, get: function () { return clients_1.VectorSimilarityMetric; } });
|
194
199
|
var permission_scope_1 = require("./auth/tokens/permission-scope");
|
@@ -209,4 +214,4 @@ exports.PermissionScopes = require("./auth/tokens/permission-scopes");
|
|
209
214
|
*/
|
210
215
|
exports.TokenScopes = require("./auth/tokens/permission-scopes");
|
211
216
|
exports.DisposableTokenScopes = require("./auth/tokens/disposable-token-scopes");
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhCQUE4QjtBQUM5QiwyREFBMkQ7QUFnTnpELDRCQUFRO0FBL01WLDZGQUE2RjtBQWdOM0YsNERBQXdCO0FBL00xQiwrRkFBK0Y7QUFnTjdGLDhEQUF5QjtBQS9NM0Isd0VBQXdFO0FBZ050RSx3Q0FBYztBQS9NaEIsMEVBQTBFO0FBZ054RSwwQ0FBZTtBQS9NakIsNkVBQTZFO0FBZ04zRSw0Q0FBZ0I7QUEvTWxCLCtFQUErRTtBQWdON0UsOENBQWlCO0FBL01uQiwrRUFBK0U7QUFnTjdFLDhDQUFpQjtBQS9NbkIsaUZBQWlGO0FBZ04vRSxnREFBa0I7QUEvTXBCLHFGQUFxRjtBQWdObkYsb0RBQW9CO0FBL010QiwwRUFBMEU7QUFnTnhFLDBDQUFlO0FBL01qQiwyREFBMkQ7QUFnTnpELDRCQUFRO0FBL01WLGlFQUFpRTtBQWlOL0Qsa0NBQVc7QUFoTmIsK0RBQStEO0FBaU43RCxnQ0FBVTtBQWhOWixpRUFBaUU7QUFpTi9ELGtDQUFXO0FBaE5iLGlFQUFpRTtBQWlOL0Qsa0NBQVc7QUFoTmIsK0RBQStEO0FBaU43RCxnQ0FBVTtBQWhOWiw0RUFBNEU7QUFrTjFFLDRDQUFnQjtBQWpObEIsMEVBQTBFO0FBa054RSwwQ0FBZTtBQWpOakIsNEVBQTRFO0FBa04xRSw0Q0FBZ0I7QUFqTmxCLHNFQUFzRTtBQWtOcEUsc0NBQWE7QUFqTmYsb0ZBQW9GO0FBa05sRixvREFBb0I7QUFqTnRCLDJGQUEyRjtBQWtOekYsMERBQXVCO0FBak56Qiw2RkFBNkY7QUFrTjNGLDREQUF3QjtBQWpOMUIsMkZBQTJGO0FBa056RiwwREFBdUI7QUFqTnpCLDZGQUE2RjtBQWtOM0YsNERBQXdCO0FBak4xQixpR0FBaUc7QUFrTi9GLGdFQUEwQjtBQWpONUIsbUdBQW1HO0FBa05qRyxrRUFBMkI7QUFq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Ziw4RkFoTEEsc0JBQWEsT0FnTEE7QUFDYiw2RkFoTEEscUJBQVksT0FnTEE7QUF4S2QsNEVBRzhDO0FBRjVDLHdIQUFBLGlCQUFpQixPQUFBO0FBQ2pCLCtIQUFBLHdCQUF3QixPQUFBO0FBWTFCLG1FQUlzQztBQURwQyx5SEFBQSxtQkFBbUIsT0FBQTtBQUdyQiw4Q0FBMEQ7QUFBbEQsaUhBQUEsc0JBQXNCLE9BQUE7QUFLOUIsbUVBc0J3QztBQXJCdEMsNkdBQUEsU0FBUyxPQUFBO0FBRVQsNkdBQUEsU0FBUyxPQUFBO0FBSVQsb0hBQUEsZ0JBQWdCLE9BQUE7QUFPaEIsK0dBQUEsV0FBVyxPQUFBO0FBRVgsK0dBQUEsV0FBVyxPQUFBO0FBR1gsNkdBQUEsU0FBUyxPQUFBO0FBQ1QsNkdBQUEsU0FBUyxPQUFBO0FBQ1QsaUhBQUEsYUFBYSxPQUFBO0FBR2YsK0VBTzhDO0FBRjVDLHdIQUFBLGNBQWMsT0FBQTtBQUNkLDhIQUFBLG9CQUFvQixPQUFBO0FBR3RCLHNFQUFvRTtBQUNwRTs7R0FFRztBQUNILGlFQUErRDtBQUMvRCxpRkFBK0UiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDYWNoZSBDbGllbnQgUmVzcG9uc2UgVHlwZXNcbmltcG9ydCAqIGFzIENhY2hlR2V0IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWdldCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1iYWNrJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BCYWNrIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcG9wLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UG9wRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtZnJvbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEZyb250IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcHVzaC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZW1vdmVWYWx1ZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJlbW92ZS12YWx1ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZXRhaW4gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1yZXRhaW4nO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0JztcbmltcG9ydCAqIGFzIENhY2hlRGVsZXRlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRlbGV0ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUZsdXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWZsdXNoJztcbmltcG9ydCAqIGFzIENyZWF0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NyZWF0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBEZWxldGVDYWNoZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9kZWxldGUtY2FjaGUnO1xuaW1wb3J0ICogYXMgTGlzdENhY2hlcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9saXN0LWNhY2hlcyc7XG5pbXBvcnQgKiBhcyBDcmVhdGVTaWduaW5nS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NyZWF0ZS1zaWduaW5nLWtleSc7XG5pbXBvcnQgKiBhcyBMaXN0U2lnbmluZ0tleXMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvbGlzdC1zaWduaW5nLWtleXMnO1xuaW1wb3J0ICogYXMgUmV2b2tlU2lnbmluZ0tleSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9yZXZva2Utc2lnbmluZy1rZXknO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5RmV0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1mZXRjaCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXNldC1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1zZXQtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUdldEZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZ2V0LWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUdldEZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWdldC1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1yZW1vdmUtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktcmVtb3ZlLWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlJbmNyZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1pbmNyZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5TGVuZ3RoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlU2V0QWRkRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWFkZC1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEFkZEVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWFkZC1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU2V0UmVtb3ZlRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFJlbW92ZUVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlSW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmTm90RXhpc3RzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1ub3QtZXhpc3RzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXB1dC1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1wdXQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0UmFuayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWdldC1yYW5rJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmVzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1pbmNyZW1lbnQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcmVtb3ZlLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1sZW5ndGgtYnktc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJdGVtR2V0VHlwZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10eXBlJztcbmltcG9ydCAqIGFzIENhY2hlSXRlbUdldFR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10dGwnO1xuaW1wb3J0ICogYXMgQ2FjaGVLZXlFeGlzdHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUta2V5LWV4aXN0cyc7XG5pbXBvcnQgKiBhcyBDYWNoZUtleXNFeGlzdCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1rZXlzLWV4aXN0JztcbmltcG9ydCAqIGFzIENhY2hlVXBkYXRlVHRsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXR0bC11cGRhdGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJbmNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtaW5jcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtZGVjcmVhc2UnO1xuXG4vLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgVG9waWNQdWJsaXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLXB1Ymxpc2gnO1xuaW1wb3J0ICogYXMgVG9waWNTdWJzY3JpYmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtc3Vic2NyaWJlJztcbmltcG9ydCB7VG9waWNJdGVtfSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1pdGVtJztcblxuLy8gQXV0aENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgR2VuZXJhdGVBcGlLZXkgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZ2VuZXJhdGUtYXBpLWtleSc7XG5pbXBvcnQgKiBhcyBSZWZyZXNoQXBpS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3JlZnJlc2gtYXBpLWtleSc7XG5cbmltcG9ydCAqIGFzIEdlbmVyYXRlRGlzcG9zYWJsZVRva2VuIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2dlbmVyYXRlLWRpc3Bvc2FibGUtdG9rZW4nO1xuXG4vLyBWZWN0b3JDbGllbnQgUmVzcG9uc2UgVHlwZXNcbmV4cG9ydCAqIGFzIHZlY3RvciBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy92ZWN0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdmVjdG9yJztcbmV4cG9ydCB7XG4gIFZlY3RvckluZGV4TWV0YWRhdGEsXG4gIFZlY3RvckluZGV4SXRlbSxcbiAgVmVjdG9ySW5kZXhTdG9yZWRJdGVtLFxufSBmcm9tICcuL21lc3NhZ2VzL3ZlY3Rvci1pbmRleCc7XG5cbi8vIExlYWRlcmJvYXJkIFJlc3BvbnNlIFR5cGVzXG5leHBvcnQgKiBhcyBsZWFkZXJib2FyZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9sZWFkZXJib2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9sZWFkZXJib2FyZCc7XG5cbmV4cG9ydCAqIGFzIHdlYmhvb2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvd2ViaG9vayc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy93ZWJob29rJztcbmV4cG9ydCB7V2ViaG9vaywgV2ViaG9va0lkfSBmcm9tICcuL21lc3NhZ2VzL3dlYmhvb2snO1xuXG5pbXBvcnQge0NhY2hlSW5mb30gZnJvbSAnLi9tZXNzYWdlcy9jYWNoZS1pbmZvJztcbmV4cG9ydCB7VmVjdG9ySW5kZXhJbmZvfSBmcm9tICcuL21lc3NhZ2VzL3ZlY3Rvci1pbmRleC1pbmZvJztcbmltcG9ydCB7XG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICBDb2xsZWN0aW9uVHRsLFxuICBTb3J0ZWRTZXRPcmRlcixcbiAgTGVhZGVyYm9hcmRPcmRlcixcbiAgRXhwaXJlc0luLFxuICBFeHBpcmVzQXQsXG4gIEl0ZW1UeXBlLFxuICBXZWJob29rRGVzdGluYXRpb24sXG4gIFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24sXG4gIFdlYmhvb2tEZXN0aW5hdGlvblR5cGUsXG59IGZyb20gJy4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICBDcmVkZW50aWFsUHJvdmlkZXIsXG4gIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcixcbn0gZnJvbSAnLi9hdXRoJztcblxuaW1wb3J0IHtcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIEFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxuICBVbmtub3duRXJyb3IsXG59IGZyb20gJy4vZXJyb3JzJztcblxuZXhwb3J0IHtcbiAgTW9tZW50b0xvZ2dlcixcbiAgTW9tZW50b0xvZ2dlckZhY3RvcnksXG59IGZyb20gJy4vY29uZmlnL2xvZ2dpbmcvbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBOb29wTW9tZW50b0xvZ2dlcixcbiAgTm9vcE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL25vb3AtbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBJQ2FjaGVDbGllbnQsXG4gIFNldE9wdGlvbnMsXG4gIFNldElmTm90RXhpc3RzT3B0aW9ucyxcbiAgSW5jcmVtZW50T3B0aW9ucyxcbn0gZnJvbSAnLi9jbGllbnRzL0lDYWNoZUNsaWVudCc7XG5cbmV4cG9ydCB7SU1vbWVudG9DYWNoZX0gZnJvbSAnLi9jbGllbnRzL0lNb21lbnRvQ2FjaGUnO1xuXG5leHBvcnQge1xuICBJVmVjdG9ySW5kZXhDbGllbnQsXG4gIFNlYXJjaE9wdGlvbnMsXG4gIEFMTF9WRUNUT1JfTUVUQURBVEEsXG59IGZyb20gJy4vY2xpZW50cy9JVmVjdG9ySW5kZXhDbGllbnQnO1xuXG5leHBvcnQge1ZlY3RvclNpbWlsYXJpdHlNZXRyaWN9IGZyb20gJy4vaW50ZXJuYWwvY2xpZW50cyc7XG5cbmV4cG9ydCB7SUxlYWRlcmJvYXJkQ2xpZW50fSBmcm9tICcuL2NsaWVudHMvSUxlYWRlcmJvYXJkQ2xpZW50JztcbmV4cG9ydCB7SUxlYWRlcmJvYXJkfSBmcm9tICcuL2NsaWVudHMvSUxlYWRlcmJvYXJkJztcblxuZXhwb3J0IHtcbiAgQ2FjaGVSb2xlLFxuICBDYWNoZVBlcm1pc3Npb24sXG4gIFRvcGljUm9sZSxcbiAgVG9waWNQZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9ucyxcbiAgQWxsRGF0YVJlYWRXcml0ZSxcbiAgUGVybWlzc2lvblNjb3BlLFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgdXNlIFBlcm1pc3Npb25TY29wZVxuICAgKi9cbiAgVG9rZW5TY29wZSxcbiAgQ2FjaGVOYW1lLFxuICBpc0NhY2hlTmFtZSxcbiAgVG9waWNOYW1lLFxuICBpc1RvcGljTmFtZSxcbiAgQ2FjaGVTZWxlY3RvcixcbiAgVG9waWNTZWxlY3RvcixcbiAgQWxsQ2FjaGVzLFxuICBBbGxUb3BpY3MsXG4gIEFsbENhY2hlSXRlbXMsXG59IGZyb20gJy4vYXV0aC90b2tlbnMvcGVybWlzc2lvbi1zY29wZSc7XG5cbmV4cG9ydCB7XG4gIERpc3Bvc2FibGVUb2tlblNjb3BlLFxuICBDYWNoZUl0ZW1TZWxlY3RvcixcbiAgQ2FjaGVJdGVtS2V5LFxuICBDYWNoZUl0ZW1LZXlQcmVmaXgsXG4gIGlzQ2FjaGVJdGVtS2V5LFxuICBpc0NhY2hlSXRlbUtleVByZWZpeCxcbn0gZnJvbSAnLi9hdXRoL3Rva2Vucy9kaXNwb3NhYmxlLXRva2VuLXNjb3BlJztcblxuZXhwb3J0ICogYXMgUGVybWlzc2lvblNjb3BlcyBmcm9tICcuL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGVzJztcbi8qKlxuICogQGRlcHJlY2F0ZWQgcGxlYXNlIHVzZSBQZXJtaXNzaW9uU2NvcGVzIGluc3RlYWRcbiAqL1xuZXhwb3J0ICogYXMgVG9rZW5TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9wZXJtaXNzaW9uLXNjb3Blcyc7XG5leHBvcnQgKiBhcyBEaXNwb3NhYmxlVG9rZW5TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9kaXNwb3NhYmxlLXRva2VuLXNjb3Blcyc7XG5cbmV4cG9ydCB7XG4gIEV4cGlyZXNJbixcbiAgRXhwaXJlc0F0LFxuICBDb2xsZWN0aW9uVHRsLFxuICBJdGVtVHlwZSxcbiAgV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBQb3N0VXJsV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBXZWJob29rRGVzdGluYXRpb25UeXBlLFxuICBTb3J0ZWRTZXRPcmRlcixcbiAgTGVhZGVyYm9hcmRPcmRlcixcbiAgQ3JlZGVudGlhbFByb3ZpZGVyLFxuICBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlcixcbiAgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIsXG5cbiAgLy8gQ2FjaGVDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgQ2FjaGVHZXQsXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayxcbiAgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCxcbiAgQ2FjaGVMaXN0RmV0Y2gsXG4gIENhY2hlTGlzdExlbmd0aCxcbiAgQ2FjaGVMaXN0UG9wQmFjayxcbiAgQ2FjaGVMaXN0UG9wRnJvbnQsXG4gIENhY2hlTGlzdFB1c2hCYWNrLFxuICBDYWNoZUxpc3RQdXNoRnJvbnQsXG4gIENhY2hlTGlzdFJlbW92ZVZhbHVlLFxuICBDYWNoZUxpc3RSZXRhaW4sXG4gIENhY2hlU2V0LFxuICBDYWNoZVNldElmTm90RXhpc3RzLFxuICBDYWNoZURlbGV0ZSxcbiAgQ2FjaGVGbHVzaCxcbiAgQ3JlYXRlQ2FjaGUsXG4gIERlbGV0ZUNhY2hlLFxuICBMaXN0Q2FjaGVzLFxuICBDYWNoZUluY3JlbWVudCxcbiAgQ3JlYXRlU2lnbmluZ0tleSxcbiAgTGlzdFNpZ25pbmdLZXlzLFxuICBSZXZva2VTaWduaW5nS2V5LFxuICBDYWNoZVNldEZldGNoLFxuICBDYWNoZURpY3Rpb25hcnlGZXRjaCxcbiAgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVNldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50LFxuICBDYWNoZURpY3Rpb25hcnlMZW5ndGgsXG4gIENhY2hlU2V0QWRkRWxlbWVudHMsXG4gIENhY2hlU2V0QWRkRWxlbWVudCxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50LFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0RmV0Y2gsXG4gIENhY2hlU29ydGVkU2V0R2V0UmFuayxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMsXG4gIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZSxcbiAgQ2FjaGVJdGVtR2V0VHlwZSxcbiAgQ2FjaGVJdGVtR2V0VHRsLFxuICBDYWNoZUtleUV4aXN0cyxcbiAgQ2FjaGVLZXlzRXhpc3QsXG4gIENhY2hlVXBkYXRlVHRsLFxuICBDYWNoZUluY3JlYXNlVHRsLFxuICBDYWNoZURlY3JlYXNlVHRsLFxuICBDYWNoZUluZm8sXG4gIC8vIFRvcGljQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIFRvcGljUHVibGlzaCxcbiAgVG9waWNTdWJzY3JpYmUsXG4gIFRvcGljSXRlbSxcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG4gIC8vIEF1dGhDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgR2VuZXJhdGVBcGlLZXksXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSB1c2UgR2VuZXJhdGVBcGlLZXlcbiAgICovXG4gIEdlbmVyYXRlQXBpS2V5IGFzIEdlbmVyYXRlQXV0aFRva2VuLFxuICBSZWZyZXNoQXBpS2V5LFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgdXNlIFJlZnJlc2hBcGlLZXlcbiAgICovXG4gIFJlZnJlc2hBcGlLZXkgYXMgUmVmcmVzaEF1dGhUb2tlbixcbiAgR2VuZXJhdGVEaXNwb3NhYmxlVG9rZW4sXG4gIC8vIEVycm9yc1xuICBNb21lbnRvRXJyb3JDb2RlLFxuICBTZGtFcnJvcixcbiAgQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBBdXRoZW50aWNhdGlvbkVycm9yLFxuICBDYW5jZWxsZWRFcnJvcixcbiAgRmFpbGVkUHJlY29uZGl0aW9uRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvcixcbiAgSW52YWxpZEFyZ3VtZW50RXJyb3IsXG4gIFVua25vd25TZXJ2aWNlRXJyb3IsXG4gIFNlcnZlclVuYXZhaWxhYmxlRXJyb3IsXG4gIFRpbWVvdXRFcnJvcixcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBQZXJtaXNzaW9uRXJyb3IsXG4gIE5vdEZvdW5kRXJyb3IsXG4gIFVua25vd25FcnJvcixcbn07XG4iXX0=
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhCQUE4QjtBQUM5QiwyREFBMkQ7QUFzTnpELDRCQUFRO0FBck5WLDZGQUE2RjtBQXNOM0YsNERBQXdCO0FBck4xQiwrRkFBK0Y7QUFzTjdGLDhEQUF5QjtBQXJOM0Isd0VBQXdFO0FBc050RSx3Q0FBYztBQXJOaEIsMEVBQTBFO0FBc054RSwwQ0FBZTtBQXJOakIsNkVBQTZFO0FBc04zRSw0Q0FBZ0I7QUFyTmxCLCtFQUErRTtBQXNON0UsOENBQWlCO0FBck5uQiwrRUFBK0U7QUFzTjdFLDhDQUFpQjtBQXJObkIsaUZBQWlGO0FBc04vRSxnREFBa0I7QUFyTnBCLHFGQUFxRjtBQXNObkYsb0RBQW9CO0FBck50QiwwRUFBMEU7QUFzTnhFLDBDQUFlO0FBck5qQiwyREFBMkQ7QUFzTnpELDRCQUFRO0FBck5WLGlFQUFpRTtBQXVOL0Qsa0NBQVc7QUF0TmIsK0RBQStEO0FBdU43RCxnQ0FBVTtBQXROWixpRUFBaUU7QUF1Ti9ELGtDQUFXO0FBdE5iLGlFQUFpRTtBQXVOL0Qsa0NBQVc7QUF0TmIsK0RBQStEO0FBdU43RCxnQ0FBVTtBQXROWiw0RUFBNEU7QUF3TjFFLDRDQUFnQjtBQXZObEIsMEVBQTBFO0FBd054RSwwQ0FBZTtBQXZOakIsNEVBQTRFO0FBd04xRSw0Q0FBZ0I7QUF2TmxCLHNFQUFzRTtBQXdOcEUsc0NBQWE7QUF2TmYsb0ZBQW9GO0FBd05sRixvREFBb0I7QUF2TnRCLDJGQUEyRjtBQXdOekYsMERBQXVCO0FBdk56Qiw2RkFBNkY7QUF3TjNGLDREQUF3QjtBQXZOMUIsMkZBQTJGO0FBd056RiwwREFBdUI7QUF2TnpCLDZGQUE2RjtBQXdOM0YsNERBQXdCO0FBdk4xQixpR0FBaUc7QUF3Ti9GLGdFQUEwQjtBQXZONUIsbUdBQW1HO0FBd05qRyxrRUFBMkI7QUF2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Q3RCLDZGQWpMQSxxQkFBWSxPQWlMQTtBQUNaLGdHQWpMQSx3QkFBZSxPQWlMQTtBQUNmLGdHQWpMQSx3QkFBZSxPQWlMQTtBQUNmLDhGQWpMQSxzQkFBYSxPQWlMQTtBQUNiLDZGQWpMQSxxQkFBWSxPQWlMQTtBQXpLZCw0RUFHOEM7QUFGNUMsd0hBQUEsaUJBQWlCLE9BQUE7QUFDakIsK0hBQUEsd0JBQXdCLE9BQUE7QUFZMUIsbUVBS3NDO0FBRnBDLHlIQUFBLG1CQUFtQixPQUFBO0FBQ25CLHlIQUFBLG1CQUFtQixPQUFBO0FBR3JCLDhDQUEwRDtBQUFsRCxpSEFBQSxzQkFBc0IsT0FBQTtBQUs5QixtRUFzQndDO0FBckJ0Qyw2R0FBQSxTQUFTLE9BQUE7QUFFVCw2R0FBQSxTQUFTLE9BQUE7QUFJVCxvSEFBQSxnQkFBZ0IsT0FBQTtBQU9oQiwrR0FBQSxXQUFXLE9BQUE7QUFFWCwrR0FBQSxXQUFXLE9BQUE7QUFHWCw2R0FBQSxTQUFTLE9BQUE7QUFDVCw2R0FBQSxTQUFTLE9BQUE7QUFDVCxpSEFBQSxhQUFhLE9BQUE7QUFHZiwrRUFPOEM7QUFGNUMsd0hBQUEsY0FBYyxPQUFBO0FBQ2QsOEhBQUEsb0JBQW9CLE9BQUE7QUFHdEIsc0VBQW9FO0FBQ3BFOztHQUVHO0FBQ0gsaUVBQStEO0FBQy9ELGlGQUErRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENhY2hlIENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgQ2FjaGVHZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZ2V0JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdEZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0TGVuZ3RoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFBvcEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXBvcC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXB1c2gtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJlbW92ZVZhbHVlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcmVtb3ZlLXZhbHVlJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJldGFpbiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJldGFpbic7XG5pbXBvcnQgKiBhcyBDYWNoZVNldCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWxldGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGVsZXRlJztcbmltcG9ydCAqIGFzIENhY2hlRmx1c2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZmx1c2gnO1xuaW1wb3J0ICogYXMgQ3JlYXRlQ2FjaGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY3JlYXRlLWNhY2hlJztcbmltcG9ydCAqIGFzIERlbGV0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2RlbGV0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBMaXN0Q2FjaGVzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xpc3QtY2FjaGVzJztcbmltcG9ydCAqIGFzIENyZWF0ZVNpZ25pbmdLZXkgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY3JlYXRlLXNpZ25pbmcta2V5JztcbmltcG9ydCAqIGFzIExpc3RTaWduaW5nS2V5cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9saXN0LXNpZ25pbmcta2V5cyc7XG5pbXBvcnQgKiBhcyBSZXZva2VTaWduaW5nS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3Jldm9rZS1zaWduaW5nLWtleSc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1mZXRjaCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVNldEZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktc2V0LWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVNldEZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXNldC1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZ2V0LWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXJlbW92ZS1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1yZW1vdmUtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUluY3JlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlMZW5ndGggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1sZW5ndGgnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRBZGRFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtYWRkLWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0QWRkRWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtYWRkLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRSZW1vdmVFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtcmVtb3ZlLWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0UmVtb3ZlRWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtcmVtb3ZlLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVJbmNyZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtaW5jcmVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZOb3RFeGlzdHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLW5vdC1leGlzdHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcHV0LWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXB1dC1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldEZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRHZXRSYW5rIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtZ2V0LXJhbmsnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWdldC1zY29yZSc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldEdldFNjb3JlcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWdldC1zY29yZXMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRJbmNyZW1lbnRTY29yZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWluY3JlbWVudC1zY29yZSc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1yZW1vdmUtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcmVtb3ZlLWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0TGVuZ3RoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWxlbmd0aC1ieS1zY29yZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUl0ZW1HZXRUeXBlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWl0ZW0tZ2V0LXR5cGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJdGVtR2V0VHRsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWl0ZW0tZ2V0LXR0bCc7XG5pbXBvcnQgKiBhcyBDYWNoZUtleUV4aXN0cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1rZXktZXhpc3RzJztcbmltcG9ydCAqIGFzIENhY2hlS2V5c0V4aXN0IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWtleXMtZXhpc3QnO1xuaW1wb3J0ICogYXMgQ2FjaGVVcGRhdGVUdGwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtdHRsLXVwZGF0ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUluY3JlYXNlVHRsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXR0bC1pbmNyZWFzZSc7XG5pbXBvcnQgKiBhcyBDYWNoZURlY3JlYXNlVHRsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXR0bC1kZWNyZWFzZSc7XG5cbi8vIFRvcGljQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG5pbXBvcnQgKiBhcyBUb3BpY1B1Ymxpc2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtcHVibGlzaCc7XG5pbXBvcnQgKiBhcyBUb3BpY1N1YnNjcmliZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1zdWJzY3JpYmUnO1xuaW1wb3J0IHtUb3BpY0l0ZW19IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLWl0ZW0nO1xuXG4vLyBBdXRoQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG5pbXBvcnQgKiBhcyBHZW5lcmF0ZUFwaUtleSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9nZW5lcmF0ZS1hcGkta2V5JztcbmltcG9ydCAqIGFzIFJlZnJlc2hBcGlLZXkgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvcmVmcmVzaC1hcGkta2V5JztcblxuaW1wb3J0ICogYXMgR2VuZXJhdGVEaXNwb3NhYmxlVG9rZW4gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZ2VuZXJhdGUtZGlzcG9zYWJsZS10b2tlbic7XG5cbi8vIFZlY3RvckNsaWVudCBSZXNwb25zZSBUeXBlc1xuZXhwb3J0ICogYXMgdmVjdG9yIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3ZlY3Rvcic7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy92ZWN0b3InO1xuZXhwb3J0IHtcbiAgVmVjdG9ySW5kZXhNZXRhZGF0YSxcbiAgVmVjdG9ySW5kZXhJdGVtLFxuICBWZWN0b3JJbmRleFN0b3JlZEl0ZW0sXG59IGZyb20gJy4vbWVzc2FnZXMvdmVjdG9yLWluZGV4JztcbmV4cG9ydCAqIGFzIHZlY3RvckZpbHRlcnMgZnJvbSAnLi9tZXNzYWdlcy92ZWN0b3ItaW5kZXgtZmlsdGVycyc7XG5leHBvcnQge1xuICBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uLFxuICBWZWN0b3JGaWx0ZXJFeHByZXNzaW9ucyxcbn0gZnJvbSAnLi9tZXNzYWdlcy92ZWN0b3ItaW5kZXgtZmlsdGVycyc7XG5cbi8vIExlYWRlcmJvYXJkIFJlc3BvbnNlIFR5cGVzXG5leHBvcnQgKiBhcyBsZWFkZXJib2FyZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9sZWFkZXJib2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9sZWFkZXJib2FyZCc7XG5cbmV4cG9ydCAqIGFzIHdlYmhvb2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvd2ViaG9vayc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy93ZWJob29rJztcbmV4cG9ydCB7V2ViaG9vaywgV2ViaG9va0lkfSBmcm9tICcuL21lc3NhZ2VzL3dlYmhvb2snO1xuXG5pbXBvcnQge0NhY2hlSW5mb30gZnJvbSAnLi9tZXNzYWdlcy9jYWNoZS1pbmZvJztcbmV4cG9ydCB7VmVjdG9ySW5kZXhJbmZvfSBmcm9tICcuL21lc3NhZ2VzL3ZlY3Rvci1pbmRleC1pbmZvJztcbmltcG9ydCB7XG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICBDb2xsZWN0aW9uVHRsLFxuICBTb3J0ZWRTZXRPcmRlcixcbiAgTGVhZGVyYm9hcmRPcmRlcixcbiAgRXhwaXJlc0luLFxuICBFeHBpcmVzQXQsXG4gIEl0ZW1UeXBlLFxuICBXZWJob29rRGVzdGluYXRpb24sXG4gIFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24sXG4gIFdlYmhvb2tEZXN0aW5hdGlvblR5cGUsXG59IGZyb20gJy4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICBDcmVkZW50aWFsUHJvdmlkZXIsXG4gIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcixcbn0gZnJvbSAnLi9hdXRoJztcblxuaW1wb3J0IHtcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIEFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxuICBVbmtub3duRXJyb3IsXG59IGZyb20gJy4vZXJyb3JzJztcblxuZXhwb3J0IHtcbiAgTW9tZW50b0xvZ2dlcixcbiAgTW9tZW50b0xvZ2dlckZhY3RvcnksXG59IGZyb20gJy4vY29uZmlnL2xvZ2dpbmcvbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBOb29wTW9tZW50b0xvZ2dlcixcbiAgTm9vcE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL25vb3AtbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBJQ2FjaGVDbGllbnQsXG4gIFNldE9wdGlvbnMsXG4gIFNldElmTm90RXhpc3RzT3B0aW9ucyxcbiAgSW5jcmVtZW50T3B0aW9ucyxcbn0gZnJvbSAnLi9jbGllbnRzL0lDYWNoZUNsaWVudCc7XG5cbmV4cG9ydCB7SU1vbWVudG9DYWNoZX0gZnJvbSAnLi9jbGllbnRzL0lNb21lbnRvQ2FjaGUnO1xuXG5leHBvcnQge1xuICBJVmVjdG9ySW5kZXhDbGllbnQsXG4gIFNlYXJjaE9wdGlvbnMsXG4gIEFMTF9WRUNUT1JfTUVUQURBVEEsXG4gIFZFQ1RPUl9ERUZBVUxUX1RPUEssXG59IGZyb20gJy4vY2xpZW50cy9JVmVjdG9ySW5kZXhDbGllbnQnO1xuXG5leHBvcnQge1ZlY3RvclNpbWlsYXJpdHlNZXRyaWN9IGZyb20gJy4vaW50ZXJuYWwvY2xpZW50cyc7XG5cbmV4cG9ydCB7SUxlYWRlcmJvYXJkQ2xpZW50fSBmcm9tICcuL2NsaWVudHMvSUxlYWRlcmJvYXJkQ2xpZW50JztcbmV4cG9ydCB7SUxlYWRlcmJvYXJkfSBmcm9tICcuL2NsaWVudHMvSUxlYWRlcmJvYXJkJztcblxuZXhwb3J0IHtcbiAgQ2FjaGVSb2xlLFxuICBDYWNoZVBlcm1pc3Npb24sXG4gIFRvcGljUm9sZSxcbiAgVG9waWNQZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9ucyxcbiAgQWxsRGF0YVJlYWRXcml0ZSxcbiAgUGVybWlzc2lvblNjb3BlLFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgdXNlIFBlcm1pc3Npb25TY29wZVxuICAgKi9cbiAgVG9rZW5TY29wZSxcbiAgQ2FjaGVOYW1lLFxuICBpc0NhY2hlTmFtZSxcbiAgVG9waWNOYW1lLFxuICBpc1RvcGljTmFtZSxcbiAgQ2FjaGVTZWxlY3RvcixcbiAgVG9waWNTZWxlY3RvcixcbiAgQWxsQ2FjaGVzLFxuICBBbGxUb3BpY3MsXG4gIEFsbENhY2hlSXRlbXMsXG59IGZyb20gJy4vYXV0aC90b2tlbnMvcGVybWlzc2lvbi1zY29wZSc7XG5cbmV4cG9ydCB7XG4gIERpc3Bvc2FibGVUb2tlblNjb3BlLFxuICBDYWNoZUl0ZW1TZWxlY3RvcixcbiAgQ2FjaGVJdGVtS2V5LFxuICBDYWNoZUl0ZW1LZXlQcmVmaXgsXG4gIGlzQ2FjaGVJdGVtS2V5LFxuICBpc0NhY2hlSXRlbUtleVByZWZpeCxcbn0gZnJvbSAnLi9hdXRoL3Rva2Vucy9kaXNwb3NhYmxlLXRva2VuLXNjb3BlJztcblxuZXhwb3J0ICogYXMgUGVybWlzc2lvblNjb3BlcyBmcm9tICcuL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGVzJztcbi8qKlxuICogQGRlcHJlY2F0ZWQgcGxlYXNlIHVzZSBQZXJtaXNzaW9uU2NvcGVzIGluc3RlYWRcbiAqL1xuZXhwb3J0ICogYXMgVG9rZW5TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9wZXJtaXNzaW9uLXNjb3Blcyc7XG5leHBvcnQgKiBhcyBEaXNwb3NhYmxlVG9rZW5TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9kaXNwb3NhYmxlLXRva2VuLXNjb3Blcyc7XG5cbmV4cG9ydCB7XG4gIEV4cGlyZXNJbixcbiAgRXhwaXJlc0F0LFxuICBDb2xsZWN0aW9uVHRsLFxuICBJdGVtVHlwZSxcbiAgV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBQb3N0VXJsV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBXZWJob29rRGVzdGluYXRpb25UeXBlLFxuICBTb3J0ZWRTZXRPcmRlcixcbiAgTGVhZGVyYm9hcmRPcmRlcixcbiAgQ3JlZGVudGlhbFByb3ZpZGVyLFxuICBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlcixcbiAgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIsXG5cbiAgLy8gQ2FjaGVDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgQ2FjaGVHZXQsXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayxcbiAgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCxcbiAgQ2FjaGVMaXN0RmV0Y2gsXG4gIENhY2hlTGlzdExlbmd0aCxcbiAgQ2FjaGVMaXN0UG9wQmFjayxcbiAgQ2FjaGVMaXN0UG9wRnJvbnQsXG4gIENhY2hlTGlzdFB1c2hCYWNrLFxuICBDYWNoZUxpc3RQdXNoRnJvbnQsXG4gIENhY2hlTGlzdFJlbW92ZVZhbHVlLFxuICBDYWNoZUxpc3RSZXRhaW4sXG4gIENhY2hlU2V0LFxuICBDYWNoZVNldElmTm90RXhpc3RzLFxuICBDYWNoZURlbGV0ZSxcbiAgQ2FjaGVGbHVzaCxcbiAgQ3JlYXRlQ2FjaGUsXG4gIERlbGV0ZUNhY2hlLFxuICBMaXN0Q2FjaGVzLFxuICBDYWNoZUluY3JlbWVudCxcbiAgQ3JlYXRlU2lnbmluZ0tleSxcbiAgTGlzdFNpZ25pbmdLZXlzLFxuICBSZXZva2VTaWduaW5nS2V5LFxuICBDYWNoZVNldEZldGNoLFxuICBDYWNoZURpY3Rpb25hcnlGZXRjaCxcbiAgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVNldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50LFxuICBDYWNoZURpY3Rpb25hcnlMZW5ndGgsXG4gIENhY2hlU2V0QWRkRWxlbWVudHMsXG4gIENhY2hlU2V0QWRkRWxlbWVudCxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50LFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0RmV0Y2gsXG4gIENhY2hlU29ydGVkU2V0R2V0UmFuayxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMsXG4gIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZSxcbiAgQ2FjaGVJdGVtR2V0VHlwZSxcbiAgQ2FjaGVJdGVtR2V0VHRsLFxuICBDYWNoZUtleUV4aXN0cyxcbiAgQ2FjaGVLZXlzRXhpc3QsXG4gIENhY2hlVXBkYXRlVHRsLFxuICBDYWNoZUluY3JlYXNlVHRsLFxuICBDYWNoZURlY3JlYXNlVHRsLFxuICBDYWNoZUluZm8sXG4gIC8vIFRvcGljQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIFRvcGljUHVibGlzaCxcbiAgVG9waWNTdWJzY3JpYmUsXG4gIFRvcGljSXRlbSxcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG4gIC8vIEF1dGhDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgR2VuZXJhdGVBcGlLZXksXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSB1c2UgR2VuZXJhdGVBcGlLZXlcbiAgICovXG4gIEdlbmVyYXRlQXBpS2V5IGFzIEdlbmVyYXRlQXV0aFRva2VuLFxuICBSZWZyZXNoQXBpS2V5LFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgdXNlIFJlZnJlc2hBcGlLZXlcbiAgICovXG4gIFJlZnJlc2hBcGlLZXkgYXMgUmVmcmVzaEF1dGhUb2tlbixcbiAgR2VuZXJhdGVEaXNwb3NhYmxlVG9rZW4sXG4gIC8vIEVycm9yc1xuICBNb21lbnRvRXJyb3JDb2RlLFxuICBTZGtFcnJvcixcbiAgQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBBdXRoZW50aWNhdGlvbkVycm9yLFxuICBDYW5jZWxsZWRFcnJvcixcbiAgRmFpbGVkUHJlY29uZGl0aW9uRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvcixcbiAgSW52YWxpZEFyZ3VtZW50RXJyb3IsXG4gIFVua25vd25TZXJ2aWNlRXJyb3IsXG4gIFNlcnZlclVuYXZhaWxhYmxlRXJyb3IsXG4gIFRpbWVvdXRFcnJvcixcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBQZXJtaXNzaW9uRXJyb3IsXG4gIE5vdEZvdW5kRXJyb3IsXG4gIFVua25vd25FcnJvcixcbn07XG4iXX0=
|
@@ -0,0 +1,256 @@
|
|
1
|
+
/**
|
2
|
+
* Base class for all vector index filter expressions.
|
3
|
+
*/
|
4
|
+
export declare abstract class VectorFilterExpression {
|
5
|
+
abstract toString(): string;
|
6
|
+
/**
|
7
|
+
* Creates an AND expression between this expression and another one.
|
8
|
+
* @param other The other expression.
|
9
|
+
* @returns The AND expression.
|
10
|
+
*/
|
11
|
+
and(other: VectorFilterExpression): VectorFilterAndExpression;
|
12
|
+
/**
|
13
|
+
* Creates an OR expression between this expression and another one.
|
14
|
+
* @param other The other expression.
|
15
|
+
* @returns The OR expression.
|
16
|
+
*/
|
17
|
+
or(other: VectorFilterExpression): VectorFilterOrExpression;
|
18
|
+
/**
|
19
|
+
* Negates this expression.
|
20
|
+
* @returns The negated expression.
|
21
|
+
*/
|
22
|
+
not(): VectorFilterNotExpression;
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* Factory for creating vector filter expressions.
|
26
|
+
*/
|
27
|
+
export declare class VectorFilterExpressions {
|
28
|
+
private constructor();
|
29
|
+
/**
|
30
|
+
* Creates an {@link VectorFilterAndExpression} between two vector filter expressions.
|
31
|
+
* @param firstExpression The first expression.
|
32
|
+
* @param secondExpression The second expression.
|
33
|
+
* @returns The AND expression.
|
34
|
+
*/
|
35
|
+
static and(firstExpression: VectorFilterExpression, secondExpression: VectorFilterExpression): VectorFilterAndExpression;
|
36
|
+
/**
|
37
|
+
* Creates an {@link VectorFilterOrExpression} between two vector filter expressions.
|
38
|
+
* @param firstExpression The first expression.
|
39
|
+
* @param secondExpression The second expression.
|
40
|
+
* @returns The OR expression.
|
41
|
+
*/
|
42
|
+
static or(firstExpression: VectorFilterExpression, secondExpression: VectorFilterExpression): VectorFilterOrExpression;
|
43
|
+
/**
|
44
|
+
* Creates a {@link VectorFilterNotExpression} expression of a vector filter expression.
|
45
|
+
* @param expression The expression.
|
46
|
+
* @returns The NOT expression.
|
47
|
+
*/
|
48
|
+
static not(expression: VectorFilterExpression): VectorFilterNotExpression;
|
49
|
+
/**
|
50
|
+
* Creates a {@link VectorFilterEqualsExpression} between a field and a value.
|
51
|
+
* @param field The field.
|
52
|
+
* @param value The value.
|
53
|
+
* @returns The equals expression.
|
54
|
+
*/
|
55
|
+
static equals(field: string, value: string | number | boolean): VectorFilterEqualsExpression;
|
56
|
+
/**
|
57
|
+
* Creates a {@link VectorFilterGreaterThanExpression} between a field and a value.
|
58
|
+
* @param field The field.
|
59
|
+
* @param value The value.
|
60
|
+
* @returns The greater than expression.
|
61
|
+
*/
|
62
|
+
static greaterThan(field: string, value: number): VectorFilterGreaterThanExpression;
|
63
|
+
/**
|
64
|
+
* Creates a {@link VectorFilterGreaterThanOrEqualExpression} between a field and a value.
|
65
|
+
* @param field The field.
|
66
|
+
* @param value The value.
|
67
|
+
* @returns The greater than or equal expression.
|
68
|
+
*/
|
69
|
+
static greaterThanOrEqual(field: string, value: number): VectorFilterGreaterThanOrEqualExpression;
|
70
|
+
/**
|
71
|
+
* Creates a {@link VectorFilterLessThanExpression} between a field and a value.
|
72
|
+
* @param field The field.
|
73
|
+
* @param value The value.
|
74
|
+
* @returns The less than expression.
|
75
|
+
*/
|
76
|
+
static lessThan(field: string, value: number): VectorFilterLessThanExpression;
|
77
|
+
/**
|
78
|
+
* Creates a {@link VectorFilterLessThanOrEqualExpression} between a field and a value.
|
79
|
+
* @param field The field.
|
80
|
+
* @param value The value.
|
81
|
+
* @returns The less than or equal expression.
|
82
|
+
*/
|
83
|
+
static lessThanOrEqual(field: string, value: number): VectorFilterLessThanOrEqualExpression;
|
84
|
+
/**
|
85
|
+
* Creates a {@link VectorFilterListContainsExpression} between a list-valued field and a value.
|
86
|
+
* @param field The field.
|
87
|
+
* @param value The value.
|
88
|
+
* @returns The contains expression.
|
89
|
+
*/
|
90
|
+
static listContains(field: string, value: string): VectorFilterListContainsExpression;
|
91
|
+
}
|
92
|
+
/**
|
93
|
+
* Represents an AND expression between two vector filter expressions.
|
94
|
+
*/
|
95
|
+
export declare class VectorFilterAndExpression extends VectorFilterExpression {
|
96
|
+
/**
|
97
|
+
* The first expression to AND.
|
98
|
+
* @private
|
99
|
+
*/
|
100
|
+
private readonly firstExpression;
|
101
|
+
/**
|
102
|
+
* The second expression to AND.
|
103
|
+
* @private
|
104
|
+
*/
|
105
|
+
private readonly secondExpression;
|
106
|
+
constructor(firstExpression: VectorFilterExpression, secondExpression: VectorFilterExpression);
|
107
|
+
get FirstExpression(): VectorFilterExpression;
|
108
|
+
get SecondExpression(): VectorFilterExpression;
|
109
|
+
toString(): string;
|
110
|
+
}
|
111
|
+
/**
|
112
|
+
* Represents an OR expression between two vector filter expressions.
|
113
|
+
*/
|
114
|
+
export declare class VectorFilterOrExpression extends VectorFilterExpression {
|
115
|
+
/**
|
116
|
+
* The first expression to OR.
|
117
|
+
* @private
|
118
|
+
*/
|
119
|
+
private readonly firstExpression;
|
120
|
+
/**
|
121
|
+
* The second expression to OR.
|
122
|
+
* @private
|
123
|
+
*/
|
124
|
+
private readonly secondExpression;
|
125
|
+
constructor(firstExpression: VectorFilterExpression, secondExpression: VectorFilterExpression);
|
126
|
+
get FirstExpression(): VectorFilterExpression;
|
127
|
+
get SecondExpression(): VectorFilterExpression;
|
128
|
+
toString(): string;
|
129
|
+
}
|
130
|
+
/**
|
131
|
+
* Represents a NOT expression of a vector filter expression.
|
132
|
+
*/
|
133
|
+
export declare class VectorFilterNotExpression extends VectorFilterExpression {
|
134
|
+
/**
|
135
|
+
* The expression to negate.
|
136
|
+
* @private
|
137
|
+
*/
|
138
|
+
private readonly expression;
|
139
|
+
constructor(expression: VectorFilterExpression);
|
140
|
+
get Expression(): VectorFilterExpression;
|
141
|
+
toString(): string;
|
142
|
+
}
|
143
|
+
/**
|
144
|
+
* Represents an equals expression between a field and a value.
|
145
|
+
*/
|
146
|
+
export declare class VectorFilterEqualsExpression extends VectorFilterExpression {
|
147
|
+
/**
|
148
|
+
* The field to compare.
|
149
|
+
* @private
|
150
|
+
*/
|
151
|
+
private readonly field;
|
152
|
+
/**
|
153
|
+
* The value to test for equality.
|
154
|
+
* @private
|
155
|
+
*/
|
156
|
+
private readonly value;
|
157
|
+
constructor(field: string, value: string | number | boolean);
|
158
|
+
get Field(): string;
|
159
|
+
get Value(): string | number | boolean;
|
160
|
+
toString(): string;
|
161
|
+
}
|
162
|
+
/**
|
163
|
+
* Represents a greater than expression between a field and a value.
|
164
|
+
*/
|
165
|
+
export declare class VectorFilterGreaterThanExpression extends VectorFilterExpression {
|
166
|
+
/**
|
167
|
+
* The field to compare.
|
168
|
+
* @private
|
169
|
+
*/
|
170
|
+
private readonly field;
|
171
|
+
/**
|
172
|
+
* The value to test for greater than.
|
173
|
+
* @private
|
174
|
+
*/
|
175
|
+
private readonly value;
|
176
|
+
constructor(field: string, value: number);
|
177
|
+
get Field(): string;
|
178
|
+
get Value(): number;
|
179
|
+
toString(): string;
|
180
|
+
}
|
181
|
+
/**
|
182
|
+
* Represents a greater than or equal expression between a field and a value.
|
183
|
+
*/
|
184
|
+
export declare class VectorFilterGreaterThanOrEqualExpression extends VectorFilterExpression {
|
185
|
+
/**
|
186
|
+
* The field to compare.
|
187
|
+
* @private
|
188
|
+
*/
|
189
|
+
private readonly field;
|
190
|
+
/**
|
191
|
+
* The value to test for greater than or equal.
|
192
|
+
* @private
|
193
|
+
*/
|
194
|
+
private readonly value;
|
195
|
+
constructor(field: string, value: number);
|
196
|
+
get Field(): string;
|
197
|
+
get Value(): number;
|
198
|
+
toString(): string;
|
199
|
+
}
|
200
|
+
/**
|
201
|
+
* Represents a less than expression between a field and a value.
|
202
|
+
*/
|
203
|
+
export declare class VectorFilterLessThanExpression extends VectorFilterExpression {
|
204
|
+
/**
|
205
|
+
* The field to compare.
|
206
|
+
* @private
|
207
|
+
*/
|
208
|
+
private readonly field;
|
209
|
+
/**
|
210
|
+
* The value to test for less than.
|
211
|
+
* @private
|
212
|
+
*/
|
213
|
+
private readonly value;
|
214
|
+
constructor(field: string, value: number);
|
215
|
+
get Field(): string;
|
216
|
+
get Value(): number;
|
217
|
+
toString(): string;
|
218
|
+
}
|
219
|
+
/**
|
220
|
+
* Represents a less than or equal expression between a field and a value.
|
221
|
+
*/
|
222
|
+
export declare class VectorFilterLessThanOrEqualExpression extends VectorFilterExpression {
|
223
|
+
/**
|
224
|
+
* The field to compare.
|
225
|
+
* @private
|
226
|
+
*/
|
227
|
+
private readonly field;
|
228
|
+
/**
|
229
|
+
* The value to test for less than or equal.
|
230
|
+
* @private
|
231
|
+
*/
|
232
|
+
private readonly value;
|
233
|
+
constructor(field: string, value: number);
|
234
|
+
get Field(): string;
|
235
|
+
get Value(): number;
|
236
|
+
toString(): string;
|
237
|
+
}
|
238
|
+
/**
|
239
|
+
* Represents a contains expression between a list-valued field and a value.
|
240
|
+
*/
|
241
|
+
export declare class VectorFilterListContainsExpression extends VectorFilterExpression {
|
242
|
+
/**
|
243
|
+
* The field to compare.
|
244
|
+
* @private
|
245
|
+
*/
|
246
|
+
private readonly field;
|
247
|
+
/**
|
248
|
+
* The value to test for containment, ie does the list contain this value.
|
249
|
+
* @private
|
250
|
+
*/
|
251
|
+
private readonly value;
|
252
|
+
constructor(field: string, value: string);
|
253
|
+
get Field(): string;
|
254
|
+
get Value(): string;
|
255
|
+
toString(): string;
|
256
|
+
}
|
@@ -0,0 +1,297 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.VectorFilterListContainsExpression = exports.VectorFilterLessThanOrEqualExpression = exports.VectorFilterLessThanExpression = exports.VectorFilterGreaterThanOrEqualExpression = exports.VectorFilterGreaterThanExpression = exports.VectorFilterEqualsExpression = exports.VectorFilterNotExpression = exports.VectorFilterOrExpression = exports.VectorFilterAndExpression = exports.VectorFilterExpressions = exports.VectorFilterExpression = void 0;
|
4
|
+
/**
|
5
|
+
* Base class for all vector index filter expressions.
|
6
|
+
*/
|
7
|
+
class VectorFilterExpression {
|
8
|
+
/**
|
9
|
+
* Creates an AND expression between this expression and another one.
|
10
|
+
* @param other The other expression.
|
11
|
+
* @returns The AND expression.
|
12
|
+
*/
|
13
|
+
and(other) {
|
14
|
+
return VectorFilterExpressions.and(this, other);
|
15
|
+
}
|
16
|
+
/**
|
17
|
+
* Creates an OR expression between this expression and another one.
|
18
|
+
* @param other The other expression.
|
19
|
+
* @returns The OR expression.
|
20
|
+
*/
|
21
|
+
or(other) {
|
22
|
+
return VectorFilterExpressions.or(this, other);
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* Negates this expression.
|
26
|
+
* @returns The negated expression.
|
27
|
+
*/
|
28
|
+
not() {
|
29
|
+
return VectorFilterExpressions.not(this);
|
30
|
+
}
|
31
|
+
}
|
32
|
+
exports.VectorFilterExpression = VectorFilterExpression;
|
33
|
+
/**
|
34
|
+
* Factory for creating vector filter expressions.
|
35
|
+
*/
|
36
|
+
class VectorFilterExpressions {
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
38
|
+
constructor() { }
|
39
|
+
/**
|
40
|
+
* Creates an {@link VectorFilterAndExpression} between two vector filter expressions.
|
41
|
+
* @param firstExpression The first expression.
|
42
|
+
* @param secondExpression The second expression.
|
43
|
+
* @returns The AND expression.
|
44
|
+
*/
|
45
|
+
static and(firstExpression, secondExpression) {
|
46
|
+
return new VectorFilterAndExpression(firstExpression, secondExpression);
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* Creates an {@link VectorFilterOrExpression} between two vector filter expressions.
|
50
|
+
* @param firstExpression The first expression.
|
51
|
+
* @param secondExpression The second expression.
|
52
|
+
* @returns The OR expression.
|
53
|
+
*/
|
54
|
+
static or(firstExpression, secondExpression) {
|
55
|
+
return new VectorFilterOrExpression(firstExpression, secondExpression);
|
56
|
+
}
|
57
|
+
/**
|
58
|
+
* Creates a {@link VectorFilterNotExpression} expression of a vector filter expression.
|
59
|
+
* @param expression The expression.
|
60
|
+
* @returns The NOT expression.
|
61
|
+
*/
|
62
|
+
static not(expression) {
|
63
|
+
return new VectorFilterNotExpression(expression);
|
64
|
+
}
|
65
|
+
/**
|
66
|
+
* Creates a {@link VectorFilterEqualsExpression} between a field and a value.
|
67
|
+
* @param field The field.
|
68
|
+
* @param value The value.
|
69
|
+
* @returns The equals expression.
|
70
|
+
*/
|
71
|
+
static equals(field, value) {
|
72
|
+
return new VectorFilterEqualsExpression(field, value);
|
73
|
+
}
|
74
|
+
/**
|
75
|
+
* Creates a {@link VectorFilterGreaterThanExpression} between a field and a value.
|
76
|
+
* @param field The field.
|
77
|
+
* @param value The value.
|
78
|
+
* @returns The greater than expression.
|
79
|
+
*/
|
80
|
+
static greaterThan(field, value) {
|
81
|
+
return new VectorFilterGreaterThanExpression(field, value);
|
82
|
+
}
|
83
|
+
/**
|
84
|
+
* Creates a {@link VectorFilterGreaterThanOrEqualExpression} between a field and a value.
|
85
|
+
* @param field The field.
|
86
|
+
* @param value The value.
|
87
|
+
* @returns The greater than or equal expression.
|
88
|
+
*/
|
89
|
+
static greaterThanOrEqual(field, value) {
|
90
|
+
return new VectorFilterGreaterThanOrEqualExpression(field, value);
|
91
|
+
}
|
92
|
+
/**
|
93
|
+
* Creates a {@link VectorFilterLessThanExpression} between a field and a value.
|
94
|
+
* @param field The field.
|
95
|
+
* @param value The value.
|
96
|
+
* @returns The less than expression.
|
97
|
+
*/
|
98
|
+
static lessThan(field, value) {
|
99
|
+
return new VectorFilterLessThanExpression(field, value);
|
100
|
+
}
|
101
|
+
/**
|
102
|
+
* Creates a {@link VectorFilterLessThanOrEqualExpression} between a field and a value.
|
103
|
+
* @param field The field.
|
104
|
+
* @param value The value.
|
105
|
+
* @returns The less than or equal expression.
|
106
|
+
*/
|
107
|
+
static lessThanOrEqual(field, value) {
|
108
|
+
return new VectorFilterLessThanOrEqualExpression(field, value);
|
109
|
+
}
|
110
|
+
/**
|
111
|
+
* Creates a {@link VectorFilterListContainsExpression} between a list-valued field and a value.
|
112
|
+
* @param field The field.
|
113
|
+
* @param value The value.
|
114
|
+
* @returns The contains expression.
|
115
|
+
*/
|
116
|
+
static listContains(field, value) {
|
117
|
+
return new VectorFilterListContainsExpression(field, value);
|
118
|
+
}
|
119
|
+
}
|
120
|
+
exports.VectorFilterExpressions = VectorFilterExpressions;
|
121
|
+
/**
|
122
|
+
* Represents an AND expression between two vector filter expressions.
|
123
|
+
*/
|
124
|
+
class VectorFilterAndExpression extends VectorFilterExpression {
|
125
|
+
constructor(firstExpression, secondExpression) {
|
126
|
+
super();
|
127
|
+
this.firstExpression = firstExpression;
|
128
|
+
this.secondExpression = secondExpression;
|
129
|
+
}
|
130
|
+
get FirstExpression() {
|
131
|
+
return this.firstExpression;
|
132
|
+
}
|
133
|
+
get SecondExpression() {
|
134
|
+
return this.secondExpression;
|
135
|
+
}
|
136
|
+
toString() {
|
137
|
+
return `(${this.firstExpression.toString()} AND ${this.secondExpression.toString()})`;
|
138
|
+
}
|
139
|
+
}
|
140
|
+
exports.VectorFilterAndExpression = VectorFilterAndExpression;
|
141
|
+
/**
|
142
|
+
* Represents an OR expression between two vector filter expressions.
|
143
|
+
*/
|
144
|
+
class VectorFilterOrExpression extends VectorFilterExpression {
|
145
|
+
constructor(firstExpression, secondExpression) {
|
146
|
+
super();
|
147
|
+
this.firstExpression = firstExpression;
|
148
|
+
this.secondExpression = secondExpression;
|
149
|
+
}
|
150
|
+
get FirstExpression() {
|
151
|
+
return this.firstExpression;
|
152
|
+
}
|
153
|
+
get SecondExpression() {
|
154
|
+
return this.secondExpression;
|
155
|
+
}
|
156
|
+
toString() {
|
157
|
+
return `(${this.firstExpression.toString()} OR ${this.secondExpression.toString()})`;
|
158
|
+
}
|
159
|
+
}
|
160
|
+
exports.VectorFilterOrExpression = VectorFilterOrExpression;
|
161
|
+
/**
|
162
|
+
* Represents a NOT expression of a vector filter expression.
|
163
|
+
*/
|
164
|
+
class VectorFilterNotExpression extends VectorFilterExpression {
|
165
|
+
constructor(expression) {
|
166
|
+
super();
|
167
|
+
this.expression = expression;
|
168
|
+
}
|
169
|
+
get Expression() {
|
170
|
+
return this.expression;
|
171
|
+
}
|
172
|
+
toString() {
|
173
|
+
return `NOT ${this.expression.toString()}`;
|
174
|
+
}
|
175
|
+
}
|
176
|
+
exports.VectorFilterNotExpression = VectorFilterNotExpression;
|
177
|
+
/**
|
178
|
+
* Represents an equals expression between a field and a value.
|
179
|
+
*/
|
180
|
+
class VectorFilterEqualsExpression extends VectorFilterExpression {
|
181
|
+
constructor(field, value) {
|
182
|
+
super();
|
183
|
+
this.field = field;
|
184
|
+
this.value = value;
|
185
|
+
}
|
186
|
+
get Field() {
|
187
|
+
return this.field;
|
188
|
+
}
|
189
|
+
get Value() {
|
190
|
+
return this.value;
|
191
|
+
}
|
192
|
+
toString() {
|
193
|
+
return `${this.field}=${this.value.toString()}`;
|
194
|
+
}
|
195
|
+
}
|
196
|
+
exports.VectorFilterEqualsExpression = VectorFilterEqualsExpression;
|
197
|
+
/**
|
198
|
+
* Represents a greater than expression between a field and a value.
|
199
|
+
*/
|
200
|
+
class VectorFilterGreaterThanExpression extends VectorFilterExpression {
|
201
|
+
constructor(field, value) {
|
202
|
+
super();
|
203
|
+
this.field = field;
|
204
|
+
this.value = value;
|
205
|
+
}
|
206
|
+
get Field() {
|
207
|
+
return this.field;
|
208
|
+
}
|
209
|
+
get Value() {
|
210
|
+
return this.value;
|
211
|
+
}
|
212
|
+
toString() {
|
213
|
+
return `${this.field} > ${this.value.toString()}`;
|
214
|
+
}
|
215
|
+
}
|
216
|
+
exports.VectorFilterGreaterThanExpression = VectorFilterGreaterThanExpression;
|
217
|
+
/**
|
218
|
+
* Represents a greater than or equal expression between a field and a value.
|
219
|
+
*/
|
220
|
+
class VectorFilterGreaterThanOrEqualExpression extends VectorFilterExpression {
|
221
|
+
constructor(field, value) {
|
222
|
+
super();
|
223
|
+
this.field = field;
|
224
|
+
this.value = value;
|
225
|
+
}
|
226
|
+
get Field() {
|
227
|
+
return this.field;
|
228
|
+
}
|
229
|
+
get Value() {
|
230
|
+
return this.value;
|
231
|
+
}
|
232
|
+
toString() {
|
233
|
+
return `${this.field} >= ${this.value.toString()}`;
|
234
|
+
}
|
235
|
+
}
|
236
|
+
exports.VectorFilterGreaterThanOrEqualExpression = VectorFilterGreaterThanOrEqualExpression;
|
237
|
+
/**
|
238
|
+
* Represents a less than expression between a field and a value.
|
239
|
+
*/
|
240
|
+
class VectorFilterLessThanExpression extends VectorFilterExpression {
|
241
|
+
constructor(field, value) {
|
242
|
+
super();
|
243
|
+
this.field = field;
|
244
|
+
this.value = value;
|
245
|
+
}
|
246
|
+
get Field() {
|
247
|
+
return this.field;
|
248
|
+
}
|
249
|
+
get Value() {
|
250
|
+
return this.value;
|
251
|
+
}
|
252
|
+
toString() {
|
253
|
+
return `${this.field} < ${this.value.toString()}`;
|
254
|
+
}
|
255
|
+
}
|
256
|
+
exports.VectorFilterLessThanExpression = VectorFilterLessThanExpression;
|
257
|
+
/**
|
258
|
+
* Represents a less than or equal expression between a field and a value.
|
259
|
+
*/
|
260
|
+
class VectorFilterLessThanOrEqualExpression extends VectorFilterExpression {
|
261
|
+
constructor(field, value) {
|
262
|
+
super();
|
263
|
+
this.field = field;
|
264
|
+
this.value = value;
|
265
|
+
}
|
266
|
+
get Field() {
|
267
|
+
return this.field;
|
268
|
+
}
|
269
|
+
get Value() {
|
270
|
+
return this.value;
|
271
|
+
}
|
272
|
+
toString() {
|
273
|
+
return `${this.field} <= ${this.value.toString()}`;
|
274
|
+
}
|
275
|
+
}
|
276
|
+
exports.VectorFilterLessThanOrEqualExpression = VectorFilterLessThanOrEqualExpression;
|
277
|
+
/**
|
278
|
+
* Represents a contains expression between a list-valued field and a value.
|
279
|
+
*/
|
280
|
+
class VectorFilterListContainsExpression extends VectorFilterExpression {
|
281
|
+
constructor(field, value) {
|
282
|
+
super();
|
283
|
+
this.field = field;
|
284
|
+
this.value = value;
|
285
|
+
}
|
286
|
+
get Field() {
|
287
|
+
return this.field;
|
288
|
+
}
|
289
|
+
get Value() {
|
290
|
+
return this.value;
|
291
|
+
}
|
292
|
+
toString() {
|
293
|
+
return `${this.field} contains ${this.value.toString()}`;
|
294
|
+
}
|
295
|
+
}
|
296
|
+
exports.VectorFilterListContainsExpression = VectorFilterListContainsExpression;
|
297
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLWluZGV4LWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVzc2FnZXMvdmVjdG9yLWluZGV4LWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxNQUFzQixzQkFBc0I7SUFHMUM7Ozs7T0FJRztJQUNJLEdBQUcsQ0FBQyxLQUE2QjtRQUN0QyxPQUFPLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxFQUFFLENBQUMsS0FBNkI7UUFDckMsT0FBTyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7O09BR0c7SUFDSSxHQUFHO1FBQ1IsT0FBTyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBNUJELHdEQTRCQztBQUVEOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7SUFDbEMsZ0VBQWdFO0lBQ2hFLGdCQUF1QixDQUFDO0lBRXhCOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FDZixlQUF1QyxFQUN2QyxnQkFBd0M7UUFFeEMsT0FBTyxJQUFJLHlCQUF5QixDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQ2QsZUFBdUMsRUFDdkMsZ0JBQXdDO1FBRXhDLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQ2YsVUFBa0M7UUFFbEMsT0FBTyxJQUFJLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7T0FL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QztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFZSxRQUFRO1FBQ3RCLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0NBQ0Y7QUE3QkQsc0ZBNkJDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGtDQUFtQyxTQUFRLHNCQUFzQjtJQVk1RSxZQUFZLEtBQWEsRUFBRSxLQUFhO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFZSxRQUFRO1FBQ3RCLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxhQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7QUE3QkQsZ0ZBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhbGwgdmVjdG9yIGluZGV4IGZpbHRlciBleHByZXNzaW9ucy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZlY3RvckZpbHRlckV4cHJlc3Npb24ge1xuICBwdWJsaWMgYWJzdHJhY3QgdG9TdHJpbmcoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIEFORCBleHByZXNzaW9uIGJldHdlZW4gdGhpcyBleHByZXNzaW9uIGFuZCBhbm90aGVyIG9uZS5cbiAgICogQHBhcmFtIG90aGVyIFRoZSBvdGhlciBleHByZXNzaW9uLlxuICAgKiBAcmV0dXJucyBUaGUgQU5EIGV4cHJlc3Npb24uXG4gICAqL1xuICBwdWJsaWMgYW5kKG90aGVyOiBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uKTogVmVjdG9yRmlsdGVyQW5kRXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIFZlY3RvckZpbHRlckV4cHJlc3Npb25zLmFuZCh0aGlzLCBvdGhlcik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBPUiBleHByZXNzaW9uIGJldHdlZW4gdGhpcyBleHByZXNzaW9uIGFuZCBhbm90aGVyIG9uZS5cbiAgICogQHBhcmFtIG90aGVyIFRoZSBvdGhlciBleHByZXNzaW9uLlxuICAgKiBAcmV0dXJucyBUaGUgT1IgZXhwcmVzc2lvbi5cbiAgICovXG4gIHB1YmxpYyBvcihvdGhlcjogVmVjdG9yRmlsdGVyRXhwcmVzc2lvbik6IFZlY3RvckZpbHRlck9yRXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIFZlY3RvckZpbHRlckV4cHJlc3Npb25zLm9yKHRoaXMsIG90aGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOZWdhdGVzIHRoaXMgZXhwcmVzc2lvbi5cbiAgICogQHJldHVybnMgVGhlIG5lZ2F0ZWQgZXhwcmVzc2lvbi5cbiAgICovXG4gIHB1YmxpYyBub3QoKTogVmVjdG9yRmlsdGVyTm90RXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIFZlY3RvckZpbHRlckV4cHJlc3Npb25zLm5vdCh0aGlzKTtcbiAgfVxufVxuXG4vKipcbiAqIEZhY3RvcnkgZm9yIGNyZWF0aW5nIHZlY3RvciBmaWx0ZXIgZXhwcmVzc2lvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBWZWN0b3JGaWx0ZXJFeHByZXNzaW9ucyB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4ge0BsaW5rIFZlY3RvckZpbHRlckFuZEV4cHJlc3Npb259IGJldHdlZW4gdHdvIHZlY3RvciBmaWx0ZXIgZXhwcmVzc2lvbnMuXG4gICAqIEBwYXJhbSBmaXJzdEV4cHJlc3Npb24gVGhlIGZpcnN0IGV4cHJlc3Npb24uXG4gICAqIEBwYXJhbSBzZWNvbmRFeHByZXNzaW9uIFRoZSBzZWNvbmQgZXhwcmVzc2lvbi5cbiAgICogQHJldHVybnMgVGhlIEFORCBleHByZXNzaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhbmQoXG4gICAgZmlyc3RFeHByZXNzaW9uOiBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uLFxuICAgIHNlY29uZEV4cHJlc3Npb246IFZlY3RvckZpbHRlckV4cHJlc3Npb25cbiAgKTogVmVjdG9yRmlsdGVyQW5kRXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIG5ldyBWZWN0b3JGaWx0ZXJBbmRFeHByZXNzaW9uKGZpcnN0RXhwcmVzc2lvbiwgc2Vjb25kRXhwcmVzc2lvbik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiB7QGxpbmsgVmVjdG9yRmlsdGVyT3JFeHByZXNzaW9ufSBiZXR3ZWVuIHR3byB2ZWN0b3IgZmlsdGVyIGV4cHJlc3Npb25zLlxuICAgKiBAcGFyYW0gZmlyc3RFeHByZXNzaW9uIFRoZSBmaXJzdCBleHByZXNzaW9uLlxuICAgKiBAcGFyYW0gc2Vjb25kRXhwcmVzc2lvbiBUaGUgc2Vjb25kIGV4cHJlc3Npb24uXG4gICAqIEByZXR1cm5zIFRoZSBPUiBleHByZXNzaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvcihcbiAgICBmaXJzdEV4cHJlc3Npb246IFZlY3RvckZpbHRlckV4cHJlc3Npb24sXG4gICAgc2Vjb25kRXhwcmVzc2lvbjogVmVjdG9yRmlsdGVyRXhwcmVzc2lvblxuICApOiBWZWN0b3JGaWx0ZXJPckV4cHJlc3Npb24ge1xuICAgIHJldHVybiBuZXcgVmVjdG9yRmlsdGVyT3JFeHByZXNzaW9uKGZpcnN0RXhwcmVzc2lvbiwgc2Vjb25kRXhwcmVzc2lvbik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHtAbGluayBWZWN0b3JGaWx0ZXJOb3RFeHByZXNzaW9ufSBleHByZXNzaW9uIG9mIGEgdmVjdG9yIGZpbHRlciBleHByZXNzaW9uLlxuICAgKiBAcGFyYW0gZXhwcmVzc2lvbiBUaGUgZXhwcmVzc2lvbi5cbiAgICogQHJldHVybnMgVGhlIE5PVCBleHByZXNzaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBub3QoXG4gICAgZXhwcmVzc2lvbjogVmVjdG9yRmlsdGVyRXhwcmVzc2lvblxuICApOiBWZWN0b3JGaWx0ZXJOb3RFeHByZXNzaW9uIHtcbiAgICByZXR1cm4gbmV3IFZlY3RvckZpbHRlck5vdEV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHtAbGluayBWZWN0b3JGaWx0ZXJFcXVhbHNFeHByZXNzaW9ufSBiZXR3ZWVuIGEgZmllbGQgYW5kIGEgdmFsdWUuXG4gICAqIEBwYXJhbSBmaWVsZCBUaGUgZmllbGQuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUuXG4gICAqIEByZXR1cm5zIFRoZSBlcXVhbHMgZXhwcmVzc2lvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXF1YWxzKFxuICAgIGZpZWxkOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW5cbiAgKTogVmVjdG9yRmlsdGVyRXF1YWxzRXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIG5ldyBWZWN0b3JGaWx0ZXJFcXVhbHNFeHByZXNzaW9uKGZpZWxkLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHtAbGluayBWZWN0b3JGaWx0ZXJHcmVhdGVyVGhhbkV4cHJlc3Npb259IGJldHdlZW4gYSBmaWVsZCBhbmQgYSB2YWx1ZS5cbiAgICogQHBhcmFtIGZpZWxkIFRoZSBmaWVsZC5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZS5cbiAgICogQHJldHVybnMgVGhlIGdyZWF0ZXIgdGhhbiBleHByZXNzaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBncmVhdGVyVGhhbihcbiAgICBmaWVsZDogc3RyaW5nLFxuICAgIHZhbHVlOiBudW1iZXJcbiAgKTogVmVjdG9yRmlsdGVyR3JlYXRlclRoYW5FeHByZXNzaW9uIHtcbiAgICByZXR1cm4gbmV3IFZlY3RvckZpbHRlckdyZWF0ZXJUaGFuRXhwcmVzc2lvbihmaWVsZCwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB7QGxpbmsgVmVjdG9yRmlsdGVyR3JlYXRlclRoYW5PckVxdWFsRXhwcmVzc2lvbn0gYmV0d2VlbiBhIGZpZWxkIGFuZCBhIHZhbHVlLlxuICAgKiBAcGFyYW0gZmllbGQgVGhlIGZpZWxkLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlLlxuICAgKiBAcmV0dXJucyBUaGUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIGV4cHJlc3Npb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdyZWF0ZXJUaGFuT3JFcXVhbChcbiAgICBmaWVsZDogc3RyaW5nLFxuICAgIHZhbHVlOiBudW1iZXJcbiAgKTogVmVjdG9yRmlsdGVyR3JlYXRlclRoYW5PckVxdWFsRXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIG5ldyBWZWN0b3JGaWx0ZXJHcmVhdGVyVGhhbk9yRXF1YWxFeHByZXNzaW9uKGZpZWxkLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHtAbGluayBWZWN0b3JGaWx0ZXJMZXNzVGhhbkV4cHJlc3Npb259IGJldHdlZW4gYSBmaWVsZCBhbmQgYSB2YWx1ZS5cbiAgICogQHBhcmFtIGZpZWxkIFRoZSBmaWVsZC5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZS5cbiAgICogQHJldHVybnMgVGhlIGxlc3MgdGhhbiBleHByZXNzaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsZXNzVGhhbihcbiAgICBmaWVsZDogc3RyaW5nLFxuICAgIHZhbHVlOiBudW1iZXJcbiAgKTogVmVjdG9yRmlsdGVyTGVzc1RoYW5FeHByZXNzaW9uIHtcbiAgICByZXR1cm4gbmV3IFZlY3RvckZpbHRlckxlc3NUaGFuRXhwcmVzc2lvbihmaWVsZCwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB7QGxpbmsgVmVjdG9yRmlsdGVyTGVzc1RoYW5PckVxdWFsRXhwcmVzc2lvbn0gYmV0d2VlbiBhIGZpZWxkIGFuZCBhIHZhbHVlLlxuICAgKiBAcGFyYW0gZmllbGQgVGhlIGZpZWxkLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlLlxuICAgKiBAcmV0dXJucyBUaGUgbGVzcyB0aGFuIG9yIGVxdWFsIGV4cHJlc3Npb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxlc3NUaGFuT3JFcXVhbChcbiAgICBmaWVsZDogc3RyaW5nLFxuICAgIHZhbHVlOiBudW1iZXJcbiAgKTogVmVjdG9yRmlsdGVyTGVzc1RoYW5PckVxdWFsRXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIG5ldyBWZWN0b3JGaWx0ZXJMZXNzVGhhbk9yRXF1YWxFeHByZXNzaW9uKGZpZWxkLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHtAbGluayBWZWN0b3JGaWx0ZXJMaXN0Q29udGFpbnNFeHByZXNzaW9ufSBiZXR3ZWVuIGEgbGlzdC12YWx1ZWQgZmllbGQgYW5kIGEgdmFsdWUuXG4gICAqIEBwYXJhbSBmaWVsZCBUaGUgZmllbGQuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUuXG4gICAqIEByZXR1cm5zIFRoZSBjb250YWlucyBleHByZXNzaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsaXN0Q29udGFpbnMoXG4gICAgZmllbGQ6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nXG4gICk6IFZlY3RvckZpbHRlckxpc3RDb250YWluc0V4cHJlc3Npb24ge1xuICAgIHJldHVybiBuZXcgVmVjdG9yRmlsdGVyTGlzdENvbnRhaW5zRXhwcmVzc2lvbihmaWVsZCwgdmFsdWUpO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBBTkQgZXhwcmVzc2lvbiBiZXR3ZWVuIHR3byB2ZWN0b3IgZmlsdGVyIGV4cHJlc3Npb25zLlxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9yRmlsdGVyQW5kRXhwcmVzc2lvbiBleHRlbmRzIFZlY3RvckZpbHRlckV4cHJlc3Npb24ge1xuICAvKipcbiAgICogVGhlIGZpcnN0IGV4cHJlc3Npb24gdG8gQU5ELlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBmaXJzdEV4cHJlc3Npb246IFZlY3RvckZpbHRlckV4cHJlc3Npb247XG4gIC8qKlxuICAgKiBUaGUgc2Vjb25kIGV4cHJlc3Npb24gdG8gQU5ELlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzZWNvbmRFeHByZXNzaW9uOiBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZpcnN0RXhwcmVzc2lvbjogVmVjdG9yRmlsdGVyRXhwcmVzc2lvbixcbiAgICBzZWNvbmRFeHByZXNzaW9uOiBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5maXJzdEV4cHJlc3Npb24gPSBmaXJzdEV4cHJlc3Npb247XG4gICAgdGhpcy5zZWNvbmRFeHByZXNzaW9uID0gc2Vjb25kRXhwcmVzc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRmlyc3RFeHByZXNzaW9uKCk6IFZlY3RvckZpbHRlckV4cHJlc3Npb24ge1xuICAgIHJldHVybiB0aGlzLmZpcnN0RXhwcmVzc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU2Vjb25kRXhwcmVzc2lvbigpOiBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uIHtcbiAgICByZXR1cm4gdGhpcy5zZWNvbmRFeHByZXNzaW9uO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAoJHt0aGlzLmZpcnN0RXhwcmVzc2lvbi50b1N0cmluZygpfSBBTkQgJHt0aGlzLnNlY29uZEV4cHJlc3Npb24udG9TdHJpbmcoKX0pYDtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gT1IgZXhwcmVzc2lvbiBiZXR3ZWVuIHR3byB2ZWN0b3IgZmlsdGVyIGV4cHJlc3Npb25zLlxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9yRmlsdGVyT3JFeHByZXNzaW9uIGV4dGVuZHMgVmVjdG9yRmlsdGVyRXhwcmVzc2lvbiB7XG4gIC8qKlxuICAgKiBUaGUgZmlyc3QgZXhwcmVzc2lvbiB0byBPUi5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZmlyc3RFeHByZXNzaW9uOiBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uO1xuICAvKipcbiAgICogVGhlIHNlY29uZCBleHByZXNzaW9uIHRvIE9SLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzZWNvbmRFeHByZXNzaW9uOiBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZpcnN0RXhwcmVzc2lvbjogVmVjdG9yRmlsdGVyRXhwcmVzc2lvbixcbiAgICBzZWNvbmRFeHByZXNzaW9uOiBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5maXJzdEV4cHJlc3Npb24gPSBmaXJzdEV4cHJlc3Npb247XG4gICAgdGhpcy5zZWNvbmRFeHByZXNzaW9uID0gc2Vjb25kRXhwcmVzc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRmlyc3RFeHByZXNzaW9uKCk6IFZlY3RvckZpbHRlckV4cHJlc3Npb24ge1xuICAgIHJldHVybiB0aGlzLmZpcnN0RXhwcmVzc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU2Vjb25kRXhwcmVzc2lvbigpOiBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uIHtcbiAgICByZXR1cm4gdGhpcy5zZWNvbmRFeHByZXNzaW9uO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAoJHt0aGlzLmZpcnN0RXhwcmVzc2lvbi50b1N0cmluZygpfSBPUiAke3RoaXMuc2Vjb25kRXhwcmVzc2lvbi50b1N0cmluZygpfSlgO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIE5PVCBleHByZXNzaW9uIG9mIGEgdmVjdG9yIGZpbHRlciBleHByZXNzaW9uLlxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9yRmlsdGVyTm90RXhwcmVzc2lvbiBleHRlbmRzIFZlY3RvckZpbHRlckV4cHJlc3Npb24ge1xuICAvKipcbiAgICogVGhlIGV4cHJlc3Npb24gdG8gbmVnYXRlLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBleHByZXNzaW9uOiBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKGV4cHJlc3Npb246IFZlY3RvckZpbHRlckV4cHJlc3Npb24pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBwdWJsaWMgZ2V0IEV4cHJlc3Npb24oKTogVmVjdG9yRmlsdGVyRXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIHRoaXMuZXhwcmVzc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgTk9UICR7dGhpcy5leHByZXNzaW9uLnRvU3RyaW5nKCl9YDtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gZXF1YWxzIGV4cHJlc3Npb24gYmV0d2VlbiBhIGZpZWxkIGFuZCBhIHZhbHVlLlxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9yRmlsdGVyRXF1YWxzRXhwcmVzc2lvbiBleHRlbmRzIFZlY3RvckZpbHRlckV4cHJlc3Npb24ge1xuICAvKipcbiAgICogVGhlIGZpZWxkIHRvIGNvbXBhcmUuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdG8gdGVzdCBmb3IgZXF1YWxpdHkuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKGZpZWxkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmZpZWxkID0gZmllbGQ7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBGaWVsZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZpZWxkO1xuICB9XG5cbiAgcHVibGljIGdldCBWYWx1ZSgpOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmZpZWxkfT0ke3RoaXMudmFsdWUudG9TdHJpbmcoKX1gO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdyZWF0ZXIgdGhhbiBleHByZXNzaW9uIGJldHdlZW4gYSBmaWVsZCBhbmQgYSB2YWx1ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZlY3RvckZpbHRlckdyZWF0ZXJUaGFuRXhwcmVzc2lvbiBleHRlbmRzIFZlY3RvckZpbHRlckV4cHJlc3Npb24ge1xuICAvKipcbiAgICogVGhlIGZpZWxkIHRvIGNvbXBhcmUuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdG8gdGVzdCBmb3IgZ3JlYXRlciB0aGFuLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZTogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKGZpZWxkOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZmllbGQgPSBmaWVsZDtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEZpZWxkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5maWVsZH0gPiAke3RoaXMudmFsdWUudG9TdHJpbmcoKX1gO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCBleHByZXNzaW9uIGJldHdlZW4gYSBmaWVsZCBhbmQgYSB2YWx1ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZlY3RvckZpbHRlckdyZWF0ZXJUaGFuT3JFcXVhbEV4cHJlc3Npb24gZXh0ZW5kcyBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uIHtcbiAgLyoqXG4gICAqIFRoZSBmaWVsZCB0byBjb21wYXJlLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHZhbHVlIHRvIHRlc3QgZm9yIGdyZWF0ZXIgdGhhbiBvciBlcXVhbC5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsdWU6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihmaWVsZDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmZpZWxkID0gZmllbGQ7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBGaWVsZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZpZWxkO1xuICB9XG5cbiAgcHVibGljIGdldCBWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZmllbGR9ID49ICR7dGhpcy52YWx1ZS50b1N0cmluZygpfWA7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbGVzcyB0aGFuIGV4cHJlc3Npb24gYmV0d2VlbiBhIGZpZWxkIGFuZCBhIHZhbHVlLlxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9yRmlsdGVyTGVzc1RoYW5FeHByZXNzaW9uIGV4dGVuZHMgVmVjdG9yRmlsdGVyRXhwcmVzc2lvbiB7XG4gIC8qKlxuICAgKiBUaGUgZmllbGQgdG8gY29tcGFyZS5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZmllbGQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSB0byB0ZXN0IGZvciBsZXNzIHRoYW4uXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoZmllbGQ6IHN0cmluZywgdmFsdWU6IG51bWJlcikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5maWVsZCA9IGZpZWxkO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRmllbGQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmZpZWxkfSA8ICR7dGhpcy52YWx1ZS50b1N0cmluZygpfWA7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbGVzcyB0aGFuIG9yIGVxdWFsIGV4cHJlc3Npb24gYmV0d2VlbiBhIGZpZWxkIGFuZCBhIHZhbHVlLlxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9yRmlsdGVyTGVzc1RoYW5PckVxdWFsRXhwcmVzc2lvbiBleHRlbmRzIFZlY3RvckZpbHRlckV4cHJlc3Npb24ge1xuICAvKipcbiAgICogVGhlIGZpZWxkIHRvIGNvbXBhcmUuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdG8gdGVzdCBmb3IgbGVzcyB0aGFuIG9yIGVxdWFsLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZTogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKGZpZWxkOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZmllbGQgPSBmaWVsZDtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEZpZWxkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5maWVsZH0gPD0gJHt0aGlzLnZhbHVlLnRvU3RyaW5nKCl9YDtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb250YWlucyBleHByZXNzaW9uIGJldHdlZW4gYSBsaXN0LXZhbHVlZCBmaWVsZCBhbmQgYSB2YWx1ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZlY3RvckZpbHRlckxpc3RDb250YWluc0V4cHJlc3Npb24gZXh0ZW5kcyBWZWN0b3JGaWx0ZXJFeHByZXNzaW9uIHtcbiAgLyoqXG4gICAqIFRoZSBmaWVsZCB0byBjb21wYXJlLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHZhbHVlIHRvIHRlc3QgZm9yIGNvbnRhaW5tZW50LCBpZSBkb2VzIHRoZSBsaXN0IGNvbnRhaW4gdGhpcyB2YWx1ZS5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihmaWVsZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmZpZWxkID0gZmllbGQ7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBGaWVsZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZpZWxkO1xuICB9XG5cbiAgcHVibGljIGdldCBWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZmllbGR9IGNvbnRhaW5zICR7dGhpcy52YWx1ZS50b1N0cmluZygpfWA7XG4gIH1cbn1cbiJdfQ==
|