@gomomento/sdk-core 1.36.0 → 1.37.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.
Files changed (36) hide show
  1. package/dist/src/auth/credential-provider.d.ts +29 -0
  2. package/dist/src/auth/credential-provider.js +27 -7
  3. package/dist/src/clients/IVectorIndexClient.d.ts +12 -0
  4. package/dist/src/clients/IVectorIndexClient.js +3 -0
  5. package/dist/src/index.d.ts +1 -0
  6. package/dist/src/index.js +1 -1
  7. package/dist/src/internal/clients/vector/AbstractVectorIndexClient.d.ts +78 -0
  8. package/dist/src/internal/clients/vector/AbstractVectorIndexClient.js +91 -0
  9. package/dist/src/internal/clients/vector/{IVectorControlClient.d.ts → IVectorIndexControlClient.d.ts} +1 -1
  10. package/dist/src/internal/clients/vector/IVectorIndexControlClient.js +3 -0
  11. package/dist/src/internal/clients/vector/IVectorIndexDataClient.d.ts +8 -0
  12. package/dist/src/internal/clients/vector/IVectorIndexDataClient.js +3 -0
  13. package/dist/src/internal/clients/vector/index.d.ts +3 -3
  14. package/dist/src/internal/clients/vector/index.js +4 -4
  15. package/dist/src/internal/utils/auth.d.ts +1 -0
  16. package/dist/src/internal/utils/auth.js +5 -2
  17. package/dist/src/internal/utils/validators.d.ts +1 -0
  18. package/dist/src/internal/utils/validators.js +8 -2
  19. package/dist/src/messages/responses/vector/create-vector-index.d.ts +4 -4
  20. package/dist/src/messages/responses/vector/create-vector-index.js +5 -5
  21. package/dist/src/messages/responses/vector/index.d.ts +3 -0
  22. package/dist/src/messages/responses/vector/index.js +5 -2
  23. package/dist/src/messages/responses/vector/vector-add-item-batch.d.ts +61 -0
  24. package/dist/src/messages/responses/vector/vector-add-item-batch.js +54 -0
  25. package/dist/src/messages/responses/vector/vector-delete-item-batch.d.ts +62 -0
  26. package/dist/src/messages/responses/vector/vector-delete-item-batch.js +55 -0
  27. package/dist/src/messages/responses/vector/vector-search.d.ts +70 -0
  28. package/dist/src/messages/responses/vector/vector-search.js +67 -0
  29. package/dist/src/messages/vector-index.d.ts +5 -0
  30. package/dist/src/messages/vector-index.js +3 -0
  31. package/package.json +1 -1
  32. package/dist/src/clients/IVectorClient.d.ts +0 -3
  33. package/dist/src/clients/IVectorClient.js +0 -3
  34. package/dist/src/internal/clients/vector/AbstractVectorClient.d.ts +0 -35
  35. package/dist/src/internal/clients/vector/AbstractVectorClient.js +0 -44
  36. package/dist/src/internal/clients/vector/IVectorControlClient.js +0 -3
@@ -10,6 +10,14 @@ interface CredentialProviderProps {
10
10
  * optionally overrides the default cacheEndpoint
11
11
  */
12
12
  cacheEndpoint?: string;
13
+ /**
14
+ * optionally overrides the default vectorEndpoint
15
+ */
16
+ tokenEndpoint?: string;
17
+ /**
18
+ * optionally overrides the default vectorEndpoint
19
+ */
20
+ vectorEndpoint?: string;
13
21
  }
14
22
  /**
15
23
  * Provides information that the CacheClient needs in order to establish a connection to and authenticate with
@@ -34,6 +42,10 @@ export declare abstract class CredentialProvider {
34
42
  * @returns {string} The host which the Momento client will connect to for Momento token operations
35
43
  */
36
44
  abstract getTokenEndpoint(): string;
45
+ /**
46
+ * @returns {string} The host which the Momento client will connect to for Momento vector index operations
47
+ */
48
+ abstract getVectorEndpoint(): string;
37
49
  /**
38
50
  * @returns {boolean} true if the cache endpoint was manually overridden at construction time; false otherwise
39
51
  */
@@ -42,6 +54,14 @@ export declare abstract class CredentialProvider {
42
54
  * @returns {boolean} true if the control endpoint was manually overridden at construction time; false otherwise
43
55
  */
44
56
  abstract isControlEndpointOverridden(): boolean;
57
+ /**
58
+ * @returns {boolean} true if the token endpoint was manually overridden at construction time; false otherwise
59
+ */
60
+ abstract isTokenEndpointOverridden(): boolean;
61
+ /**
62
+ * @returns {boolean} true if the vector endpoint was manually overridden at construction time; false otherwise
63
+ */
64
+ abstract isVectorEndpointOverridden(): boolean;
45
65
  static fromEnvironmentVariable(props: EnvMomentoTokenProviderProps): CredentialProvider;
46
66
  static fromString(props: StringMomentoTokenProviderProps): CredentialProvider;
47
67
  }
@@ -50,8 +70,11 @@ declare abstract class CredentialProviderBase implements CredentialProvider {
50
70
  abstract getCacheEndpoint(): string;
51
71
  abstract getControlEndpoint(): string;
52
72
  abstract getTokenEndpoint(): string;
73
+ abstract getVectorEndpoint(): string;
53
74
  abstract isCacheEndpointOverridden(): boolean;
54
75
  abstract isControlEndpointOverridden(): boolean;
76
+ abstract isTokenEndpointOverridden(): boolean;
77
+ abstract isVectorEndpointOverridden(): boolean;
55
78
  valueOf(): object;
56
79
  }
57
80
  export interface StringMomentoTokenProviderProps extends CredentialProviderProps {
@@ -70,8 +93,11 @@ export declare class StringMomentoTokenProvider extends CredentialProviderBase {
70
93
  private readonly controlEndpoint;
71
94
  private readonly cacheEndpoint;
72
95
  private readonly tokenEndpoint;
96
+ private readonly vectorEndpoint;
73
97
  private readonly controlEndpointOverridden;
74
98
  private readonly cacheEndpointOverridden;
99
+ private readonly tokenEndpointOverridden;
100
+ private readonly vectorEndpointOverridden;
75
101
  /**
76
102
  * @param {StringMomentoTokenProviderProps} props configuration options for the token provider
77
103
  */
@@ -80,8 +106,11 @@ export declare class StringMomentoTokenProvider extends CredentialProviderBase {
80
106
  getCacheEndpoint(): string;
81
107
  getControlEndpoint(): string;
82
108
  getTokenEndpoint(): string;
109
+ getVectorEndpoint(): string;
83
110
  isControlEndpointOverridden(): boolean;
84
111
  isCacheEndpointOverridden(): boolean;
112
+ isTokenEndpointOverridden(): boolean;
113
+ isVectorEndpointOverridden(): boolean;
85
114
  }
86
115
  export interface EnvMomentoTokenProviderProps extends CredentialProviderProps {
87
116
  /**
@@ -35,7 +35,7 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
35
35
  * @param {StringMomentoTokenProviderProps} props configuration options for the token provider
36
36
  */
37
37
  constructor(props) {
38
- var _a, _b;
38
+ var _a, _b, _c, _d;
39
39
  super();
40
40
  const decodedToken = (0, utils_1.decodeAuthToken)(props.authToken);
41
41
  this.authToken = decodedToken.authToken;
@@ -49,9 +49,20 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
49
49
  if (cacheEndpoint === undefined) {
50
50
  throw new Error('Malformed token; unable to determine cache endpoint. Depending on the type of token you are using, you may need to specify the cacheEndpoint explicitly.');
51
51
  }
52
+ this.tokenEndpointOverridden = props.tokenEndpoint !== undefined;
53
+ const tokenEndpoint = (_c = props.tokenEndpoint) !== null && _c !== void 0 ? _c : decodedToken.tokenEndpoint;
54
+ if (tokenEndpoint === undefined) {
55
+ throw new Error('Malformed token; unable to determine token endpoint. Depending on the type of token you are using, you may need to specify the tokenEndpoint explicitly.');
56
+ }
57
+ this.vectorEndpointOverridden = props.vectorEndpoint !== undefined;
58
+ const vectorEndpoint = (_d = props.vectorEndpoint) !== null && _d !== void 0 ? _d : decodedToken.vectorEndpoint;
59
+ if (vectorEndpoint === undefined) {
60
+ throw new Error('Malformed token; unable to determine vector endpoint. Depending on the type of token you are using, you may need to specify the vectorEndpoint explicitly.');
61
+ }
52
62
  this.controlEndpoint = controlEndpoint;
53
63
  this.cacheEndpoint = cacheEndpoint;
54
64
  this.tokenEndpoint = decodedToken.tokenEndpoint || cacheEndpoint;
65
+ this.vectorEndpoint = vectorEndpoint;
55
66
  }
56
67
  getAuthToken() {
57
68
  return this.authToken;
@@ -65,12 +76,21 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
65
76
  getTokenEndpoint() {
66
77
  return this.tokenEndpoint;
67
78
  }
79
+ getVectorEndpoint() {
80
+ return this.vectorEndpoint;
81
+ }
68
82
  isControlEndpointOverridden() {
69
83
  return this.controlEndpointOverridden;
70
84
  }
71
85
  isCacheEndpointOverridden() {
72
86
  return this.cacheEndpointOverridden;
73
87
  }
88
+ isTokenEndpointOverridden() {
89
+ return this.tokenEndpointOverridden;
90
+ }
91
+ isVectorEndpointOverridden() {
92
+ return this.vectorEndpointOverridden;
93
+ }
74
94
  }
75
95
  exports.StringMomentoTokenProvider = StringMomentoTokenProvider;
76
96
  /**
@@ -83,19 +103,19 @@ class EnvMomentoTokenProvider extends StringMomentoTokenProvider {
83
103
  * @param {EnvMomentoTokenProviderProps} props configuration options for the token provider
84
104
  */
85
105
  constructor(props) {
86
- var _a, _b;
87
106
  const authToken = process.env[props.environmentVariableName];
88
107
  if (!authToken) {
89
108
  throw new Error(`Missing required environment variable ${props.environmentVariableName}`);
90
109
  }
91
- const decodedToken = (0, utils_1.decodeAuthToken)(authToken);
92
110
  super({
93
- authToken: decodedToken.authToken,
94
- controlEndpoint: (_a = props.controlEndpoint) !== null && _a !== void 0 ? _a : decodedToken.controlEndpoint,
95
- cacheEndpoint: (_b = props.cacheEndpoint) !== null && _b !== void 0 ? _b : decodedToken.cacheEndpoint,
111
+ authToken: authToken,
112
+ controlEndpoint: props.controlEndpoint,
113
+ cacheEndpoint: props.cacheEndpoint,
114
+ tokenEndpoint: props.tokenEndpoint,
115
+ vectorEndpoint: props.vectorEndpoint,
96
116
  });
97
117
  this.environmentVariableName = props.environmentVariableName;
98
118
  }
99
119
  }
100
120
  exports.EnvMomentoTokenProvider = EnvMomentoTokenProvider;
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQStEO0FBZ0IvRDs7Ozs7R0FLRztBQUNILE1BQXNCLGtCQUFrQjtJQStCdEMsTUFBTSxDQUFDLHVCQUF1QixDQUM1QixLQUFtQztRQUVuQyxPQUFPLElBQUksdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQ2YsS0FBc0M7UUFFdEMsT0FBTyxJQUFJLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDRjtBQTFDRCxnREEwQ0M7QUFFRCxNQUFlLHNCQUFzQjtJQVluQyxPQUFPO1FBQ0wsNkRBQTZEO1FBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sS0FBSyxHQUFHLElBQUEsbUJBQVcsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUFVRDs7OztHQUlHO0FBQ0gsTUFBYSwwQkFBMkIsU0FBUSxzQkFBc0I7SUFRcEU7O09BRUc7SUFDSCxZQUFZLEtBQXNDOztRQUNoRCxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sWUFBWSxHQUFHLElBQUEsdUJBQWUsRUFBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBQ3hDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQztRQUNyRSxNQUFNLGVBQWUsR0FDbkIsTUFBQSxLQUFLLENBQUMsZUFBZSxtQ0FBSSxZQUFZLENBQUMsZUFBZSxDQUFDO1FBQ3hELElBQUksZUFBZSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUNiLCtKQUErSixDQUNoSyxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDLGFBQWEsS0FBSyxTQUFTLENBQUM7UUFDakUsTUFBTSxhQUFhLEdBQUcsTUFBQSxLQUFLLENBQUMsYUFBYSxtQ0FBSSxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQ3hFLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUNiLDJKQUEySixDQUM1SixDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDO0lBQ25FLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDO0lBQ3hDLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDdEMsQ0FBQztDQUNGO0FBM0RELGdFQTJEQztBQVNEOzs7O0dBSUc7QUFDSCxNQUFhLHVCQUF3QixTQUFRLDBCQUEwQjtJQUVyRTs7T0FFRztJQUNILFlBQVksS0FBbUM7O1FBQzdDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQ2IseUNBQXlDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUN6RSxDQUFDO1NBQ0g7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFBLHVCQUFlLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLFlBQVksQ0FBQyxTQUFTO1lBQ2pDLGVBQWUsRUFBRSxNQUFBLEtBQUssQ0FBQyxlQUFlLG1DQUFJLFlBQVksQ0FBQyxlQUFlO1lBQ3RFLGFBQWEsRUFBRSxNQUFBLEtBQUssQ0FBQyxhQUFhLG1DQUFJLFlBQVksQ0FBQyxhQUFhO1NBQ2pFLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsdUJBQXVCLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBcEJELDBEQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGVjb2RlQXV0aFRva2VuLCBmcm9tRW50cmllc30gZnJvbSAnLi4vaW50ZXJuYWwvdXRpbHMnO1xuXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyBhcmd1bWVudHMgZm9yIGluc3RhbnRpYXRpbmcgYW4gRW52TW9tZW50b1Rva2VuUHJvdmlkZXJcbiAqL1xuaW50ZXJmYWNlIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIG9wdGlvbmFsbHkgb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGNvbnRyb2xFbmRwb2ludFxuICAgKi9cbiAgY29udHJvbEVuZHBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogb3B0aW9uYWxseSBvdmVycmlkZXMgdGhlIGRlZmF1bHQgY2FjaGVFbmRwb2ludFxuICAgKi9cbiAgY2FjaGVFbmRwb2ludD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiB0aGF0IHRoZSBDYWNoZUNsaWVudCBuZWVkcyBpbiBvcmRlciB0byBlc3RhYmxpc2ggYSBjb25uZWN0aW9uIHRvIGFuZCBhdXRoZW50aWNhdGUgd2l0aFxuICogdGhlIE1vbWVudG8gc2VydmljZS5cbiAqIEBleHBvcnRcbiAqIEBpbnRlcmZhY2UgQ3JlZGVudGlhbFByb3ZpZGVyXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gQXV0aCB0b2tlbiBwcm92aWRlZCBieSB1c2VyLCByZXF1aXJlZCB0byBhdXRoZW50aWNhdGUgd2l0aCB0aGUgc2VydmljZVxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0QXV0aFRva2VuKCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhvc3Qgd2hpY2ggdGhlIE1vbWVudG8gY2xpZW50IHdpbGwgY29ubmVjdCB0byBmb3IgTW9tZW50byBjb250cm9sIHBsYW5lIG9wZXJhdGlvbnNcbiAgICovXG4gIGFic3RyYWN0IGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gZGF0YSBwbGFuZSBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRDYWNoZUVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhvc3Qgd2hpY2ggdGhlIE1vbWVudG8gY2xpZW50IHdpbGwgY29ubmVjdCB0byBmb3IgTW9tZW50byB0b2tlbiBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRUb2tlbkVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgdGhlIGNhY2hlIGVuZHBvaW50IHdhcyBtYW51YWxseSBvdmVycmlkZGVuIGF0IGNvbnN0cnVjdGlvbiB0aW1lOyBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIGFic3RyYWN0IGlzQ2FjaGVFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgdGhlIGNvbnRyb2wgZW5kcG9pbnQgd2FzIG1hbnVhbGx5IG92ZXJyaWRkZW4gYXQgY29uc3RydWN0aW9uIHRpbWU7IGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgaXNDb250cm9sRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW47XG5cbiAgc3RhdGljIGZyb21FbnZpcm9ubWVudFZhcmlhYmxlKFxuICAgIHByb3BzOiBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzXG4gICk6IENyZWRlbnRpYWxQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcihwcm9wcyk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0cmluZyhcbiAgICBwcm9wczogU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wc1xuICApOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIocHJvcHMpO1xuICB9XG59XG5cbmFic3RyYWN0IGNsYXNzIENyZWRlbnRpYWxQcm92aWRlckJhc2UgaW1wbGVtZW50cyBDcmVkZW50aWFsUHJvdmlkZXIge1xuICBhYnN0cmFjdCBnZXRBdXRoVG9rZW4oKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGdldENhY2hlRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgZ2V0VG9rZW5FbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaXNDYWNoZUVuZHBvaW50T3ZlcnJpZGRlbigpOiBib29sZWFuO1xuICBhYnN0cmFjdCBpc0NvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICB2YWx1ZU9mKCk6IG9iamVjdCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyh0aGlzKS5maWx0ZXIoKFtrXSkgPT4gayAhPT0gJ2F1dGhUb2tlbicpO1xuICAgIGNvbnN0IGNsb25lID0gZnJvbUVudHJpZXMoZW50cmllcyk7XG4gICAgcmV0dXJuIGNsb25lLnZhbHVlT2YoKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHNcbiAgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBhdXRoVG9rZW4gdGhlIG1vbWVudG8gYXV0aCB0b2tlblxuICAgKi9cbiAgYXV0aFRva2VuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVhZHMgYW5kIHBhcnNlcyBhIG1vbWVudG8gYXV0aCB0b2tlbiBzdG9yZWQgaW4gYSBTdHJpbmdcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJCYXNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhdXRoVG9rZW46IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sRW5kcG9pbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjYWNoZUVuZHBvaW50OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9rZW5FbmRwb2ludDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW46IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVFbmRwb2ludE92ZXJyaWRkZW46IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7U3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wc30gcHJvcHMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgdG9rZW4gcHJvdmlkZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCBkZWNvZGVkVG9rZW4gPSBkZWNvZGVBdXRoVG9rZW4ocHJvcHMuYXV0aFRva2VuKTtcbiAgICB0aGlzLmF1dGhUb2tlbiA9IGRlY29kZWRUb2tlbi5hdXRoVG9rZW47XG4gICAgdGhpcy5jb250cm9sRW5kcG9pbnRPdmVycmlkZGVuID0gcHJvcHMuY29udHJvbEVuZHBvaW50ICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgY29udHJvbEVuZHBvaW50ID1cbiAgICAgIHByb3BzLmNvbnRyb2xFbmRwb2ludCA/PyBkZWNvZGVkVG9rZW4uY29udHJvbEVuZHBvaW50O1xuICAgIGlmIChjb250cm9sRW5kcG9pbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnTWFsZm9ybWVkIHRva2VuOyB1bmFibGUgdG8gZGV0ZXJtaW5lIGNvbnRyb2wgZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIGNvbnRyb2xFbmRwb2ludCBleHBsaWNpdGx5LidcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuY2FjaGVFbmRwb2ludE92ZXJyaWRkZW4gPSBwcm9wcy5jYWNoZUVuZHBvaW50ICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgY2FjaGVFbmRwb2ludCA9IHByb3BzLmNhY2hlRW5kcG9pbnQgPz8gZGVjb2RlZFRva2VuLmNhY2hlRW5kcG9pbnQ7XG4gICAgaWYgKGNhY2hlRW5kcG9pbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnTWFsZm9ybWVkIHRva2VuOyB1bmFibGUgdG8gZGV0ZXJtaW5lIGNhY2hlIGVuZHBvaW50LiAgRGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcsIHlvdSBtYXkgbmVlZCB0byBzcGVjaWZ5IHRoZSBjYWNoZUVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRyb2xFbmRwb2ludCA9IGNvbnRyb2xFbmRwb2ludDtcbiAgICB0aGlzLmNhY2hlRW5kcG9pbnQgPSBjYWNoZUVuZHBvaW50O1xuICAgIHRoaXMudG9rZW5FbmRwb2ludCA9IGRlY29kZWRUb2tlbi50b2tlbkVuZHBvaW50IHx8IGNhY2hlRW5kcG9pbnQ7XG4gIH1cblxuICBnZXRBdXRoVG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoVG9rZW47XG4gIH1cblxuICBnZXRDYWNoZUVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVFbmRwb2ludDtcbiAgfVxuXG4gIGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xFbmRwb2ludDtcbiAgfVxuXG4gIGdldFRva2VuRW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkVuZHBvaW50O1xuICB9XG5cbiAgaXNDb250cm9sRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW47XG4gIH1cblxuICBpc0NhY2hlRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlRW5kcG9pbnRPdmVycmlkZGVuO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBmcm9tIHdoaWNoIHRoZSBhdXRoIHRva2VuIHdpbGwgYmUgcmVhZFxuICAgKi9cbiAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGEgbW9tZW50byBhdXRoIHRva2VuIHN0b3JlZCBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlciB7XG4gIGVudmlyb25tZW50VmFyaWFibGVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHN9IHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRva2VuIHByb3ZpZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcykge1xuICAgIGNvbnN0IGF1dGhUb2tlbiA9IHByb2Nlc3MuZW52W3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lXTtcbiAgICBpZiAoIWF1dGhUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgTWlzc2luZyByZXF1aXJlZCBlbnZpcm9ubWVudCB2YXJpYWJsZSAke3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGRlY29kZUF1dGhUb2tlbihhdXRoVG9rZW4pO1xuICAgIHN1cGVyKHtcbiAgICAgIGF1dGhUb2tlbjogZGVjb2RlZFRva2VuLmF1dGhUb2tlbixcbiAgICAgIGNvbnRyb2xFbmRwb2ludDogcHJvcHMuY29udHJvbEVuZHBvaW50ID8/IGRlY29kZWRUb2tlbi5jb250cm9sRW5kcG9pbnQsXG4gICAgICBjYWNoZUVuZHBvaW50OiBwcm9wcy5jYWNoZUVuZHBvaW50ID8/IGRlY29kZWRUb2tlbi5jYWNoZUVuZHBvaW50LFxuICAgIH0pO1xuICAgIHRoaXMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWUgPSBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlTmFtZTtcbiAgfVxufVxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQStEO0FBd0IvRDs7Ozs7R0FLRztBQUNILE1BQXNCLGtCQUFrQjtJQThDdEMsTUFBTSxDQUFDLHVCQUF1QixDQUM1QixLQUFtQztRQUVuQyxPQUFPLElBQUksdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQ2YsS0FBc0M7UUFFdEMsT0FBTyxJQUFJLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDRjtBQXpERCxnREF5REM7QUFFRCxNQUFlLHNCQUFzQjtJQWdCbkMsT0FBTztRQUNMLDZEQUE2RDtRQUM3RCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxXQUFXLENBQUMsQ0FBQztRQUN4RSxNQUFNLEtBQUssR0FBRyxJQUFBLG1CQUFXLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBVUQ7Ozs7R0FJRztBQUNILE1BQWEsMEJBQTJCLFNBQVEsc0JBQXNCO0lBV3BFOztPQUVHO0lBQ0gsWUFBWSxLQUFzQzs7UUFDaEQsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLFlBQVksR0FBRyxJQUFBLHVCQUFlLEVBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUN4QyxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDLGVBQWUsS0FBSyxT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LENBQUMsYUFBYTtZQUNsQyxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7U0FDckMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUFyQkQsMERBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkZWNvZGVBdXRoVG9rZW4sIGZyb21FbnRyaWVzfSBmcm9tICcuLi9pbnRlcm5hbC91dGlscyc7XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIGFyZ3VtZW50cyBmb3IgaW5zdGFudGlhdGluZyBhbiBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5pbnRlcmZhY2UgQ3JlZGVudGlhbFByb3ZpZGVyUHJvcHMge1xuICAvKipcbiAgICogb3B0aW9uYWxseSBvdmVycmlkZXMgdGhlIGRlZmF1bHQgY29udHJvbEVuZHBvaW50XG4gICAqL1xuICBjb250cm9sRW5kcG9pbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBvcHRpb25hbGx5IG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBjYWNoZUVuZHBvaW50XG4gICAqL1xuICBjYWNoZUVuZHBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogb3B0aW9uYWxseSBvdmVycmlkZXMgdGhlIGRlZmF1bHQgdmVjdG9yRW5kcG9pbnRcbiAgICovXG4gIHRva2VuRW5kcG9pbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBvcHRpb25hbGx5IG92ZXJyaWRlcyB0aGUgZGVmYXVsdCB2ZWN0b3JFbmRwb2ludFxuICAgKi9cbiAgdmVjdG9yRW5kcG9pbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgaW5mb3JtYXRpb24gdGhhdCB0aGUgQ2FjaGVDbGllbnQgbmVlZHMgaW4gb3JkZXIgdG8gZXN0YWJsaXNoIGEgY29ubmVjdGlvbiB0byBhbmQgYXV0aGVudGljYXRlIHdpdGhcbiAqIHRoZSBNb21lbnRvIHNlcnZpY2UuXG4gKiBAZXhwb3J0XG4gKiBAaW50ZXJmYWNlIENyZWRlbnRpYWxQcm92aWRlclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IEF1dGggdG9rZW4gcHJvdmlkZWQgYnkgdXNlciwgcmVxdWlyZWQgdG8gYXV0aGVudGljYXRlIHdpdGggdGhlIHNlcnZpY2VcbiAgICovXG4gIGFic3RyYWN0IGdldEF1dGhUb2tlbigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gY29udHJvbCBwbGFuZSBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRDb250cm9sRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgaG9zdCB3aGljaCB0aGUgTW9tZW50byBjbGllbnQgd2lsbCBjb25uZWN0IHRvIGZvciBNb21lbnRvIGRhdGEgcGxhbmUgb3BlcmF0aW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gdG9rZW4gb3BlcmF0aW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0VG9rZW5FbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gdmVjdG9yIGluZGV4IG9wZXJhdGlvbnNcbiAgICovXG4gIGFic3RyYWN0IGdldFZlY3RvckVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgdGhlIGNhY2hlIGVuZHBvaW50IHdhcyBtYW51YWxseSBvdmVycmlkZGVuIGF0IGNvbnN0cnVjdGlvbiB0aW1lOyBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIGFic3RyYWN0IGlzQ2FjaGVFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgdGhlIGNvbnRyb2wgZW5kcG9pbnQgd2FzIG1hbnVhbGx5IG92ZXJyaWRkZW4gYXQgY29uc3RydWN0aW9uIHRpbWU7IGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgaXNDb250cm9sRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIHRoZSB0b2tlbiBlbmRwb2ludCB3YXMgbWFudWFsbHkgb3ZlcnJpZGRlbiBhdCBjb25zdHJ1Y3Rpb24gdGltZTsgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBhYnN0cmFjdCBpc1Rva2VuRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIHRoZSB2ZWN0b3IgZW5kcG9pbnQgd2FzIG1hbnVhbGx5IG92ZXJyaWRkZW4gYXQgY29uc3RydWN0aW9uIHRpbWU7IGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgaXNWZWN0b3JFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICBzdGF0aWMgZnJvbUVudmlyb25tZW50VmFyaWFibGUoXG4gICAgcHJvcHM6IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHNcbiAgKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyKHByb3BzKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RyaW5nKFxuICAgIHByb3BzOiBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzXG4gICk6IENyZWRlbnRpYWxQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlcihwcm9wcyk7XG4gIH1cbn1cblxuYWJzdHJhY3QgY2xhc3MgQ3JlZGVudGlhbFByb3ZpZGVyQmFzZSBpbXBsZW1lbnRzIENyZWRlbnRpYWxQcm92aWRlciB7XG4gIGFic3RyYWN0IGdldEF1dGhUb2tlbigpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgZ2V0Q29udHJvbEVuZHBvaW50KCk6IHN0cmluZztcblxuICBhYnN0cmFjdCBnZXRUb2tlbkVuZHBvaW50KCk6IHN0cmluZztcblxuICBhYnN0cmFjdCBnZXRWZWN0b3JFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaXNDYWNoZUVuZHBvaW50T3ZlcnJpZGRlbigpOiBib29sZWFuO1xuICBhYnN0cmFjdCBpc0NvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbjtcbiAgYWJzdHJhY3QgaXNUb2tlbkVuZHBvaW50T3ZlcnJpZGRlbigpOiBib29sZWFuO1xuICBhYnN0cmFjdCBpc1ZlY3RvckVuZHBvaW50T3ZlcnJpZGRlbigpOiBib29sZWFuO1xuXG4gIHZhbHVlT2YoKTogb2JqZWN0IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMpLmZpbHRlcigoW2tdKSA9PiBrICE9PSAnYXV0aFRva2VuJyk7XG4gICAgY29uc3QgY2xvbmUgPSBmcm9tRW50cmllcyhlbnRyaWVzKTtcbiAgICByZXR1cm4gY2xvbmUudmFsdWVPZigpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wc1xuICBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIGF1dGhUb2tlbiB0aGUgbW9tZW50byBhdXRoIHRva2VuXG4gICAqL1xuICBhdXRoVG9rZW46IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGEgbW9tZW50byBhdXRoIHRva2VuIHN0b3JlZCBpbiBhIFN0cmluZ1xuICogQGV4cG9ydFxuICogQGNsYXNzIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlciBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlckJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGhUb2tlbjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xFbmRwb2ludDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlRW5kcG9pbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSB0b2tlbkVuZHBvaW50OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmVjdG9yRW5kcG9pbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sRW5kcG9pbnRPdmVycmlkZGVuOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlRW5kcG9pbnRPdmVycmlkZGVuOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IHRva2VuRW5kcG9pbnRPdmVycmlkZGVuOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IHZlY3RvckVuZHBvaW50T3ZlcnJpZGRlbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHBhcmFtIHtTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzfSBwcm9wcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSB0b2tlbiBwcm92aWRlclxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGRlY29kZUF1dGhUb2tlbihwcm9wcy5hdXRoVG9rZW4pO1xuICAgIHRoaXMuYXV0aFRva2VuID0gZGVjb2RlZFRva2VuLmF1dGhUb2tlbjtcbiAgICB0aGlzLmNvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW4gPSBwcm9wcy5jb250cm9sRW5kcG9pbnQgIT09IHVuZGVmaW5lZDtcbiAgICBjb25zdCBjb250cm9sRW5kcG9pbnQgPVxuICAgICAgcHJvcHMuY29udHJvbEVuZHBvaW50ID8/IGRlY29kZWRUb2tlbi5jb250cm9sRW5kcG9pbnQ7XG4gICAgaWYgKGNvbnRyb2xFbmRwb2ludCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgY29udHJvbCBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgY29udHJvbEVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5jYWNoZUVuZHBvaW50T3ZlcnJpZGRlbiA9IHByb3BzLmNhY2hlRW5kcG9pbnQgIT09IHVuZGVmaW5lZDtcbiAgICBjb25zdCBjYWNoZUVuZHBvaW50ID0gcHJvcHMuY2FjaGVFbmRwb2ludCA/PyBkZWNvZGVkVG9rZW4uY2FjaGVFbmRwb2ludDtcbiAgICBpZiAoY2FjaGVFbmRwb2ludCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgY2FjaGUgZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIGNhY2hlRW5kcG9pbnQgZXhwbGljaXRseS4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudG9rZW5FbmRwb2ludE92ZXJyaWRkZW4gPSBwcm9wcy50b2tlbkVuZHBvaW50ICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgdG9rZW5FbmRwb2ludCA9IHByb3BzLnRva2VuRW5kcG9pbnQgPz8gZGVjb2RlZFRva2VuLnRva2VuRW5kcG9pbnQ7XG4gICAgaWYgKHRva2VuRW5kcG9pbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnTWFsZm9ybWVkIHRva2VuOyB1bmFibGUgdG8gZGV0ZXJtaW5lIHRva2VuIGVuZHBvaW50LiAgRGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcsIHlvdSBtYXkgbmVlZCB0byBzcGVjaWZ5IHRoZSB0b2tlbkVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnZlY3RvckVuZHBvaW50T3ZlcnJpZGRlbiA9IHByb3BzLnZlY3RvckVuZHBvaW50ICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgdmVjdG9yRW5kcG9pbnQgPSBwcm9wcy52ZWN0b3JFbmRwb2ludCA/PyBkZWNvZGVkVG9rZW4udmVjdG9yRW5kcG9pbnQ7XG4gICAgaWYgKHZlY3RvckVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ01hbGZvcm1lZCB0b2tlbjsgdW5hYmxlIHRvIGRldGVybWluZSB2ZWN0b3IgZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIHZlY3RvckVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRyb2xFbmRwb2ludCA9IGNvbnRyb2xFbmRwb2ludDtcbiAgICB0aGlzLmNhY2hlRW5kcG9pbnQgPSBjYWNoZUVuZHBvaW50O1xuICAgIHRoaXMudG9rZW5FbmRwb2ludCA9IGRlY29kZWRUb2tlbi50b2tlbkVuZHBvaW50IHx8IGNhY2hlRW5kcG9pbnQ7XG4gICAgdGhpcy52ZWN0b3JFbmRwb2ludCA9IHZlY3RvckVuZHBvaW50O1xuICB9XG5cbiAgZ2V0QXV0aFRva2VuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aFRva2VuO1xuICB9XG5cbiAgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNhY2hlRW5kcG9pbnQ7XG4gIH1cblxuICBnZXRDb250cm9sRW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sRW5kcG9pbnQ7XG4gIH1cblxuICBnZXRUb2tlbkVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5FbmRwb2ludDtcbiAgfVxuXG4gIGdldFZlY3RvckVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmVjdG9yRW5kcG9pbnQ7XG4gIH1cblxuICBpc0NvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbEVuZHBvaW50T3ZlcnJpZGRlbjtcbiAgfVxuXG4gIGlzQ2FjaGVFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVFbmRwb2ludE92ZXJyaWRkZW47XG4gIH1cblxuICBpc1Rva2VuRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRva2VuRW5kcG9pbnRPdmVycmlkZGVuO1xuICB9XG5cbiAgaXNWZWN0b3JFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmVjdG9yRW5kcG9pbnRPdmVycmlkZGVuO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBmcm9tIHdoaWNoIHRoZSBhdXRoIHRva2VuIHdpbGwgYmUgcmVhZFxuICAgKi9cbiAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGEgbW9tZW50byBhdXRoIHRva2VuIHN0b3JlZCBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlciB7XG4gIGVudmlyb25tZW50VmFyaWFibGVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHN9IHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRva2VuIHByb3ZpZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcykge1xuICAgIGNvbnN0IGF1dGhUb2tlbiA9IHByb2Nlc3MuZW52W3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lXTtcbiAgICBpZiAoIWF1dGhUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgTWlzc2luZyByZXF1aXJlZCBlbnZpcm9ubWVudCB2YXJpYWJsZSAke3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIHN1cGVyKHtcbiAgICAgIGF1dGhUb2tlbjogYXV0aFRva2VuLFxuICAgICAgY29udHJvbEVuZHBvaW50OiBwcm9wcy5jb250cm9sRW5kcG9pbnQsXG4gICAgICBjYWNoZUVuZHBvaW50OiBwcm9wcy5jYWNoZUVuZHBvaW50LFxuICAgICAgdG9rZW5FbmRwb2ludDogcHJvcHMudG9rZW5FbmRwb2ludCxcbiAgICAgIHZlY3RvckVuZHBvaW50OiBwcm9wcy52ZWN0b3JFbmRwb2ludCxcbiAgICB9KTtcbiAgICB0aGlzLmVudmlyb25tZW50VmFyaWFibGVOYW1lID0gcHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { IVectorIndexControlClient } from '../internal/clients';
2
+ import { VectorAddItemBatch, VectorDeleteItemBatch, VectorSearch } from '../messages/responses/vector';
3
+ import { VectorIndexItem } from '../messages/vector-index';
4
+ export interface SearchOptions {
5
+ topK?: number;
6
+ metadataFields?: Array<string>;
7
+ }
8
+ export interface IVectorIndexClient extends IVectorIndexControlClient {
9
+ addItemBatch(indexName: string, items: Array<VectorIndexItem>): Promise<VectorAddItemBatch.Response>;
10
+ search(indexName: string, queryVector: Array<number>, options?: SearchOptions): Promise<VectorSearch.Response>;
11
+ deleteItemBatch(indexName: string, ids: Array<string>): Promise<VectorDeleteItemBatch.Response>;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVZlY3RvckluZGV4Q2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudHMvSVZlY3RvckluZGV4Q2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lWZWN0b3JJbmRleENvbnRyb2xDbGllbnR9IGZyb20gJy4uL2ludGVybmFsL2NsaWVudHMnO1xuaW1wb3J0IHtcbiAgVmVjdG9yQWRkSXRlbUJhdGNoLFxuICBWZWN0b3JEZWxldGVJdGVtQmF0Y2gsXG4gIFZlY3RvclNlYXJjaCxcbn0gZnJvbSAnLi4vbWVzc2FnZXMvcmVzcG9uc2VzL3ZlY3Rvcic7XG5pbXBvcnQge1ZlY3RvckluZGV4SXRlbX0gZnJvbSAnLi4vbWVzc2FnZXMvdmVjdG9yLWluZGV4JztcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hPcHRpb25zIHtcbiAgdG9wSz86IG51bWJlcjtcbiAgbWV0YWRhdGFGaWVsZHM/OiBBcnJheTxzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElWZWN0b3JJbmRleENsaWVudCBleHRlbmRzIElWZWN0b3JJbmRleENvbnRyb2xDbGllbnQge1xuICBhZGRJdGVtQmF0Y2goXG4gICAgaW5kZXhOYW1lOiBzdHJpbmcsXG4gICAgaXRlbXM6IEFycmF5PFZlY3RvckluZGV4SXRlbT5cbiAgKTogUHJvbWlzZTxWZWN0b3JBZGRJdGVtQmF0Y2guUmVzcG9uc2U+O1xuXG4gIHNlYXJjaChcbiAgICBpbmRleE5hbWU6IHN0cmluZyxcbiAgICBxdWVyeVZlY3RvcjogQXJyYXk8bnVtYmVyPixcbiAgICBvcHRpb25zPzogU2VhcmNoT3B0aW9uc1xuICApOiBQcm9taXNlPFZlY3RvclNlYXJjaC5SZXNwb25zZT47XG5cbiAgZGVsZXRlSXRlbUJhdGNoKFxuICAgIGluZGV4TmFtZTogc3RyaW5nLFxuICAgIGlkczogQXJyYXk8c3RyaW5nPlxuICApOiBQcm9taXNlPFZlY3RvckRlbGV0ZUl0ZW1CYXRjaC5SZXNwb25zZT47XG59XG4iXX0=
@@ -67,6 +67,7 @@ import { MomentoErrorCode, SdkError, AlreadyExistsError, AuthenticationError, Ca
67
67
  export { MomentoLogger, MomentoLoggerFactory, } from './config/logging/momento-logger';
68
68
  export { NoopMomentoLogger, NoopMomentoLoggerFactory, } from './config/logging/noop-momento-logger';
69
69
  export { ICacheClient, SetOptions, SetIfNotExistsOptions, IncrementOptions, } from './clients/ICacheClient';
70
+ export { IVectorIndexClient, SearchOptions } from './clients/IVectorIndexClient';
70
71
  export { CacheRole, CachePermission, TopicRole, TopicPermission, Permission, Permissions, AllDataReadWrite, TokenScope, DisposableTokenScope, CacheName, isCacheName, TopicName, isTopicName, CacheSelector, TopicSelector, CacheItemSelector, AllCaches, AllTopics, AllCacheItems, CacheItemKey, CacheItemKeyPrefix, isCacheItemKey, isCacheItemKeyPrefix, } from './auth/tokens/token-scope';
71
72
  export * as TokenScopes from './auth/tokens/token-scopes';
72
73
  export * as DisposableTokenScopes from './auth/tokens/disposable-token-scopes';
package/dist/src/index.js CHANGED
@@ -187,4 +187,4 @@ Object.defineProperty(exports, "isCacheItemKey", { enumerable: true, get: functi
187
187
  Object.defineProperty(exports, "isCacheItemKeyPrefix", { enumerable: true, get: function () { return token_scope_1.isCacheItemKeyPrefix; } });
188
188
  exports.TokenScopes = require("./auth/tokens/token-scopes");
189
189
  exports.DisposableTokenScopes = require("./auth/tokens/disposable-token-scopes");
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOEJBQThCO0FBQzlCLDJEQUEyRDtBQWlLekQsNEJBQVE7QUFoS1YsNkZBQTZGO0FBaUszRiw0REFBd0I7QUFoSzFCLCtGQUErRjtBQWlLN0YsOERBQXlCO0FBaEszQix3RUFBd0U7QUFpS3RFLHdDQUFjO0FBaEtoQiwwRUFBMEU7QUFpS3hFLDBDQUFlO0FBaEtqQiw2RUFBNkU7QUFpSzNFLDRDQUFnQjtBQWhLbEIsK0VBQStFO0FBaUs3RSw4Q0FBaUI7QUFoS25CLCtFQUErRTtBQWlLN0UsOENBQWlCO0FBaEtuQixpRkFBaUY7QUFpSy9FLGdEQUFrQjtBQWhLcEIscUZBQXFGO0FBaUtuRixvREFBb0I7QUFoS3RCLDBFQUEwRTtBQWlLeEUsMENBQWU7QUFoS2pCLDJEQUEyRDtBQWlLekQsNEJBQVE7QUFoS1YsaUVBQWlFO0FBa0svRCxrQ0FBVztBQWpLYiwrREFBK0Q7QUFrSzdELGdDQUFVO0FBaktaLGlFQUFpRTtBQWtLL0Qsa0NBQVc7QUFqS2IsaUVBQWlFO0FBa0svRCxrQ0FBVztBQWpLYiwrREFBK0Q7QUFrSzdELGdDQUFVO0FBaktaLDRFQUE0RTtBQW1LMUUsNENBQWdCO0FBbEtsQiwwRUFBMEU7QUFtS3hFLDBDQUFlO0FBbEtqQiw0RUFBNEU7QUFtSzFFLDRDQUFnQjtBQWxLbEIsc0VBQXNFO0FBbUtwRSxzQ0FBYTtBQWxLZixvRkFBb0Y7QUFtS2xGLG9EQUFvQjtBQWxLdEIsMkZBQTJGO0FBbUt6RiwwREFBdUI7QUFsS3pCLDZGQUE2RjtBQW1LM0YsNERBQXdCO0FBbEsxQiwyRkFBMkY7QUFtS3pGLDBEQUF1QjtBQWxLekIsNkZBQTZGO0FBbUszRiw0REFBd0I7QUFsSzFCLGlHQUFpRztBQW1LL0YsZ0VBQTBCO0FBbEs1QixtR0FBbUc7QUFtS2pHLGtFQUEyQjtBQWxL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QVcsT0FBQTtBQUVYLDBHQUFBLFdBQVcsT0FBQTtBQUlYLHdHQUFBLFNBQVMsT0FBQTtBQUNULHdHQUFBLFNBQVMsT0FBQTtBQUNULDRHQUFBLGFBQWEsT0FBQTtBQUdiLDZHQUFBLGNBQWMsT0FBQTtBQUNkLG1IQUFBLG9CQUFvQixPQUFBO0FBR3RCLDREQUEwRDtBQUMxRCxpRkFBK0UiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDYWNoZSBDbGllbnQgUmVzcG9uc2UgVHlwZXNcbmltcG9ydCAqIGFzIENhY2hlR2V0IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWdldCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1iYWNrJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BCYWNrIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcG9wLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UG9wRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtZnJvbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEZyb250IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcHVzaC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZW1vdmVWYWx1ZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJlbW92ZS12YWx1ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZXRhaW4gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1yZXRhaW4nO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0JztcbmltcG9ydCAqIGFzIENhY2hlRGVsZXRlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRlbGV0ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUZsdXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWZsdXNoJztcbmltcG9ydCAqIGFzIENyZWF0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NyZWF0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBEZWxldGVDYWNoZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9kZWxldGUtY2FjaGUnO1xuaW1wb3J0ICogYXMgTGlzdENhY2hlcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9saXN0LWNhY2hlcyc7XG5pbXBvcnQgKiBhcyBDcmVhdGVTaWduaW5nS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NyZWF0ZS1zaWduaW5nLWtleSc7XG5pbXBvcnQgKiBhcyBMaXN0U2lnbmluZ0tleXMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvbGlzdC1zaWduaW5nLWtleXMnO1xuaW1wb3J0ICogYXMgUmV2b2tlU2lnbmluZ0tleSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9yZXZva2Utc2lnbmluZy1rZXknO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5RmV0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1mZXRjaCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXNldC1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1zZXQtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUdldEZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZ2V0LWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUdldEZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWdldC1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1yZW1vdmUtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktcmVtb3ZlLWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlJbmNyZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1pbmNyZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5TGVuZ3RoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlU2V0QWRkRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWFkZC1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEFkZEVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWFkZC1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU2V0UmVtb3ZlRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFJlbW92ZUVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlSW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmTm90RXhpc3RzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1ub3QtZXhpc3RzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXB1dC1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1wdXQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0UmFuayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWdldC1yYW5rJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmVzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1pbmNyZW1lbnQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcmVtb3ZlLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1sZW5ndGgtYnktc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJdGVtR2V0VHlwZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10eXBlJztcbmltcG9ydCAqIGFzIENhY2hlSXRlbUdldFR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10dGwnO1xuaW1wb3J0ICogYXMgQ2FjaGVLZXlFeGlzdHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUta2V5LWV4aXN0cyc7XG5pbXBvcnQgKiBhcyBDYWNoZUtleXNFeGlzdCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1rZXlzLWV4aXN0JztcbmltcG9ydCAqIGFzIENhY2hlVXBkYXRlVHRsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXR0bC11cGRhdGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJbmNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtaW5jcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtZGVjcmVhc2UnO1xuXG4vLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgVG9waWNQdWJsaXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLXB1Ymxpc2gnO1xuaW1wb3J0ICogYXMgVG9waWNTdWJzY3JpYmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtc3Vic2NyaWJlJztcbmltcG9ydCB7VG9waWNJdGVtfSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1pdGVtJztcblxuLy8gQXV0aENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgR2VuZXJhdGVBdXRoVG9rZW4gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZ2VuZXJhdGUtYXV0aC10b2tlbic7XG5pbXBvcnQgKiBhcyBSZWZyZXNoQXV0aFRva2VuIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3JlZnJlc2gtYXV0aC10b2tlbic7XG5pbXBvcnQgKiBhcyBHZW5lcmF0ZURpc3Bvc2FibGVUb2tlbiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9nZW5lcmF0ZS1kaXNwb3NhYmxlLXRva2VuJztcblxuLy8gVmVjdG9yQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG5leHBvcnQgKiBhcyB2ZWN0b3IgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdmVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3ZlY3Rvcic7XG5cbmltcG9ydCB7Q2FjaGVJbmZvfSBmcm9tICcuL21lc3NhZ2VzL2NhY2hlLWluZm8nO1xuaW1wb3J0IHtcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG4gIENvbGxlY3Rpb25UdGwsXG4gIFNvcnRlZFNldE9yZGVyLFxuICBFeHBpcmVzSW4sXG4gIEV4cGlyZXNBdCxcbiAgSXRlbVR5cGUsXG59IGZyb20gJy4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICBDcmVkZW50aWFsUHJvdmlkZXIsXG4gIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcixcbn0gZnJvbSAnLi9hdXRoJztcblxuaW1wb3J0IHtcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIEFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxuICBVbmtub3duRXJyb3IsXG59IGZyb20gJy4vZXJyb3JzJztcblxuZXhwb3J0IHtcbiAgTW9tZW50b0xvZ2dlcixcbiAgTW9tZW50b0xvZ2dlckZhY3RvcnksXG59IGZyb20gJy4vY29uZmlnL2xvZ2dpbmcvbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBOb29wTW9tZW50b0xvZ2dlcixcbiAgTm9vcE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL25vb3AtbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBJQ2FjaGVDbGllbnQsXG4gIFNldE9wdGlvbnMsXG4gIFNldElmTm90RXhpc3RzT3B0aW9ucyxcbiAgSW5jcmVtZW50T3B0aW9ucyxcbn0gZnJvbSAnLi9jbGllbnRzL0lDYWNoZUNsaWVudCc7XG5cbmV4cG9ydCB7XG4gIENhY2hlUm9sZSxcbiAgQ2FjaGVQZXJtaXNzaW9uLFxuICBUb3BpY1JvbGUsXG4gIFRvcGljUGVybWlzc2lvbixcbiAgUGVybWlzc2lvbixcbiAgUGVybWlzc2lvbnMsXG4gIEFsbERhdGFSZWFkV3JpdGUsXG4gIFRva2VuU2NvcGUsXG4gIERpc3Bvc2FibGVUb2tlblNjb3BlLFxuICBDYWNoZU5hbWUsXG4gIGlzQ2FjaGVOYW1lLFxuICBUb3BpY05hbWUsXG4gIGlzVG9waWNOYW1lLFxuICBDYWNoZVNlbGVjdG9yLFxuICBUb3BpY1NlbGVjdG9yLFxuICBDYWNoZUl0ZW1TZWxlY3RvcixcbiAgQWxsQ2FjaGVzLFxuICBBbGxUb3BpY3MsXG4gIEFsbENhY2hlSXRlbXMsXG4gIENhY2hlSXRlbUtleSxcbiAgQ2FjaGVJdGVtS2V5UHJlZml4LFxuICBpc0NhY2hlSXRlbUtleSxcbiAgaXNDYWNoZUl0ZW1LZXlQcmVmaXgsXG59IGZyb20gJy4vYXV0aC90b2tlbnMvdG9rZW4tc2NvcGUnO1xuXG5leHBvcnQgKiBhcyBUb2tlblNjb3BlcyBmcm9tICcuL2F1dGgvdG9rZW5zL3Rva2VuLXNjb3Blcyc7XG5leHBvcnQgKiBhcyBEaXNwb3NhYmxlVG9rZW5TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9kaXNwb3NhYmxlLXRva2VuLXNjb3Blcyc7XG5cbmV4cG9ydCB7XG4gIEV4cGlyZXNJbixcbiAgRXhwaXJlc0F0LFxuICBDb2xsZWN0aW9uVHRsLFxuICBJdGVtVHlwZSxcbiAgU29ydGVkU2V0T3JkZXIsXG4gIENyZWRlbnRpYWxQcm92aWRlcixcbiAgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIsXG4gIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyLFxuXG4gIC8vIENhY2hlQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIENhY2hlR2V0LFxuICBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2ssXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQsXG4gIENhY2hlTGlzdEZldGNoLFxuICBDYWNoZUxpc3RMZW5ndGgsXG4gIENhY2hlTGlzdFBvcEJhY2ssXG4gIENhY2hlTGlzdFBvcEZyb250LFxuICBDYWNoZUxpc3RQdXNoQmFjayxcbiAgQ2FjaGVMaXN0UHVzaEZyb250LFxuICBDYWNoZUxpc3RSZW1vdmVWYWx1ZSxcbiAgQ2FjaGVMaXN0UmV0YWluLFxuICBDYWNoZVNldCxcbiAgQ2FjaGVTZXRJZk5vdEV4aXN0cyxcbiAgQ2FjaGVEZWxldGUsXG4gIENhY2hlRmx1c2gsXG4gIENyZWF0ZUNhY2hlLFxuICBEZWxldGVDYWNoZSxcbiAgTGlzdENhY2hlcyxcbiAgQ2FjaGVJbmNyZW1lbnQsXG4gIENyZWF0ZVNpZ25pbmdLZXksXG4gIExpc3RTaWduaW5nS2V5cyxcbiAgUmV2b2tlU2lnbmluZ0tleSxcbiAgQ2FjaGVTZXRGZXRjaCxcbiAgQ2FjaGVEaWN0aW9uYXJ5RmV0Y2gsXG4gIENhY2hlRGljdGlvbmFyeVNldEZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZHMsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHMsXG4gIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZHMsXG4gIENhY2hlRGljdGlvbmFyeUluY3JlbWVudCxcbiAgQ2FjaGVEaWN0aW9uYXJ5TGVuZ3RoLFxuICBDYWNoZVNldEFkZEVsZW1lbnRzLFxuICBDYWNoZVNldEFkZEVsZW1lbnQsXG4gIENhY2hlU2V0UmVtb3ZlRWxlbWVudHMsXG4gIENhY2hlU2V0UmVtb3ZlRWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50LFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnRzLFxuICBDYWNoZVNvcnRlZFNldEZldGNoLFxuICBDYWNoZVNvcnRlZFNldEdldFJhbmssXG4gIENhY2hlU29ydGVkU2V0R2V0U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0R2V0U2NvcmVzLFxuICBDYWNoZVNvcnRlZFNldEluY3JlbWVudFNjb3JlLFxuICBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoLFxuICBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUsXG4gIENhY2hlSXRlbUdldFR5cGUsXG4gIENhY2hlSXRlbUdldFR0bCxcbiAgQ2FjaGVLZXlFeGlzdHMsXG4gIENhY2hlS2V5c0V4aXN0LFxuICBDYWNoZVVwZGF0ZVR0bCxcbiAgQ2FjaGVJbmNyZWFzZVR0bCxcbiAgQ2FjaGVEZWNyZWFzZVR0bCxcbiAgQ2FjaGVJbmZvLFxuICAvLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuICBUb3BpY1B1Ymxpc2gsXG4gIFRvcGljU3Vic2NyaWJlLFxuICBUb3BpY0l0ZW0sXG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICAvLyBBdXRoQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIEdlbmVyYXRlQXV0aFRva2VuLFxuICBSZWZyZXNoQXV0aFRva2VuLFxuICBHZW5lcmF0ZURpc3Bvc2FibGVUb2tlbixcbiAgLy8gRXJyb3JzXG4gIE1vbWVudG9FcnJvckNvZGUsXG4gIFNka0Vycm9yLFxuICBBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG4gIENhbmNlbGxlZEVycm9yLFxuICBGYWlsZWRQcmVjb25kaXRpb25FcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBJbnRlcm5hbFNlcnZlckVycm9yLFxuICBJbnZhbGlkQXJndW1lbnRFcnJvcixcbiAgVW5rbm93blNlcnZpY2VFcnJvcixcbiAgU2VydmVyVW5hdmFpbGFibGVFcnJvcixcbiAgVGltZW91dEVycm9yLFxuICBCYWRSZXF1ZXN0RXJyb3IsXG4gIFBlcm1pc3Npb25FcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbiAgVW5rbm93bkVycm9yLFxufTtcbiJdfQ==
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOEJBQThCO0FBQzlCLDJEQUEyRDtBQW1LekQsNEJBQVE7QUFsS1YsNkZBQTZGO0FBbUszRiw0REFBd0I7QUFsSzFCLCtGQUErRjtBQW1LN0YsOERBQXlCO0FBbEszQix3RUFBd0U7QUFtS3RFLHdDQUFjO0FBbEtoQiwwRUFBMEU7QUFtS3hFLDBDQUFlO0FBbEtqQiw2RUFBNkU7QUFtSzNFLDRDQUFnQjtBQWxLbEIsK0VBQStFO0FBbUs3RSw4Q0FBaUI7QUFsS25CLCtFQUErRTtBQW1LN0UsOENBQWlCO0FBbEtuQixpRkFBaUY7QUFtSy9FLGdEQUFrQjtBQWxLcEIscUZBQXFGO0FBbUtuRixvREFBb0I7QUFsS3RCLDBFQUEwRTtBQW1LeEUsMENBQWU7QUFsS2pCLDJEQUEyRDtBQW1LekQsNEJBQVE7QUFsS1YsaUVBQWlFO0FBb0svRCxrQ0FBVztBQW5LYiwrREFBK0Q7QUFvSzdELGdDQUFVO0FBbktaLGlFQUFpRTtBQW9LL0Qsa0NBQVc7QUFuS2IsaUVBQWlFO0FBb0svRCxrQ0FBVztBQW5LYiwrREFBK0Q7QUFvSzdELGdDQUFVO0FBbktaLDRFQUE0RTtBQXFLMUUsNENBQWdCO0FBcEtsQiwwRUFBMEU7QUFxS3hFLDBDQUFlO0FBcEtqQiw0RUFBNEU7QUFxSzFFLDRDQUFnQjtBQXBLbEIsc0VBQXNFO0FBcUtwRSxzQ0FBYTtBQXBLZixvRkFBb0Y7QUFxS2xGLG9EQUFvQjtBQXBLdEIsMkZBQTJGO0FBcUt6RiwwREFBdUI7QUFwS3pCLDZGQUE2RjtBQXFLM0YsNERBQXdCO0FBcEsxQiwyRkFBMkY7QUFxS3pGLDBEQUF1QjtBQXBLekIsNkZBQTZGO0FBcUszRiw0REFBd0I7QUFwSzFCLGlHQUFpRztBQXFLL0YsZ0VBQTBCO0FBcEs1QixtR0FBbUc7QUFxS2pHLGtFQUEyQjtBQXBL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QVcsT0FBQTtBQUVYLDBHQUFBLFdBQVcsT0FBQTtBQUlYLHdHQUFBLFNBQVMsT0FBQTtBQUNULHdHQUFBLFNBQVMsT0FBQTtBQUNULDRHQUFBLGFBQWEsT0FBQTtBQUdiLDZHQUFBLGNBQWMsT0FBQTtBQUNkLG1IQUFBLG9CQUFvQixPQUFBO0FBR3RCLDREQUEwRDtBQUMxRCxpRkFBK0UiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDYWNoZSBDbGllbnQgUmVzcG9uc2UgVHlwZXNcbmltcG9ydCAqIGFzIENhY2hlR2V0IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWdldCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1iYWNrJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BCYWNrIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcG9wLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UG9wRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtZnJvbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEZyb250IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcHVzaC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZW1vdmVWYWx1ZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJlbW92ZS12YWx1ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZXRhaW4gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1yZXRhaW4nO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0JztcbmltcG9ydCAqIGFzIENhY2hlRGVsZXRlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRlbGV0ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUZsdXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWZsdXNoJztcbmltcG9ydCAqIGFzIENyZWF0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NyZWF0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBEZWxldGVDYWNoZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9kZWxldGUtY2FjaGUnO1xuaW1wb3J0ICogYXMgTGlzdENhY2hlcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9saXN0LWNhY2hlcyc7XG5pbXBvcnQgKiBhcyBDcmVhdGVTaWduaW5nS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NyZWF0ZS1zaWduaW5nLWtleSc7XG5pbXBvcnQgKiBhcyBMaXN0U2lnbmluZ0tleXMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvbGlzdC1zaWduaW5nLWtleXMnO1xuaW1wb3J0ICogYXMgUmV2b2tlU2lnbmluZ0tleSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9yZXZva2Utc2lnbmluZy1rZXknO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5RmV0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1mZXRjaCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXNldC1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1zZXQtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUdldEZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZ2V0LWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUdldEZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWdldC1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1yZW1vdmUtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktcmVtb3ZlLWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlJbmNyZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1pbmNyZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5TGVuZ3RoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlU2V0QWRkRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWFkZC1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEFkZEVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWFkZC1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU2V0UmVtb3ZlRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFJlbW92ZUVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlSW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmTm90RXhpc3RzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1ub3QtZXhpc3RzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXB1dC1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1wdXQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0UmFuayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWdldC1yYW5rJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmVzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1pbmNyZW1lbnQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcmVtb3ZlLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1sZW5ndGgtYnktc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJdGVtR2V0VHlwZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10eXBlJztcbmltcG9ydCAqIGFzIENhY2hlSXRlbUdldFR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10dGwnO1xuaW1wb3J0ICogYXMgQ2FjaGVLZXlFeGlzdHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUta2V5LWV4aXN0cyc7XG5pbXBvcnQgKiBhcyBDYWNoZUtleXNFeGlzdCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1rZXlzLWV4aXN0JztcbmltcG9ydCAqIGFzIENhY2hlVXBkYXRlVHRsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXR0bC11cGRhdGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJbmNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtaW5jcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtZGVjcmVhc2UnO1xuXG4vLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgVG9waWNQdWJsaXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLXB1Ymxpc2gnO1xuaW1wb3J0ICogYXMgVG9waWNTdWJzY3JpYmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtc3Vic2NyaWJlJztcbmltcG9ydCB7VG9waWNJdGVtfSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1pdGVtJztcblxuLy8gQXV0aENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgR2VuZXJhdGVBdXRoVG9rZW4gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZ2VuZXJhdGUtYXV0aC10b2tlbic7XG5pbXBvcnQgKiBhcyBSZWZyZXNoQXV0aFRva2VuIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3JlZnJlc2gtYXV0aC10b2tlbic7XG5pbXBvcnQgKiBhcyBHZW5lcmF0ZURpc3Bvc2FibGVUb2tlbiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9nZW5lcmF0ZS1kaXNwb3NhYmxlLXRva2VuJztcblxuLy8gVmVjdG9yQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG5leHBvcnQgKiBhcyB2ZWN0b3IgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdmVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3ZlY3Rvcic7XG5cbmltcG9ydCB7Q2FjaGVJbmZvfSBmcm9tICcuL21lc3NhZ2VzL2NhY2hlLWluZm8nO1xuaW1wb3J0IHtcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG4gIENvbGxlY3Rpb25UdGwsXG4gIFNvcnRlZFNldE9yZGVyLFxuICBFeHBpcmVzSW4sXG4gIEV4cGlyZXNBdCxcbiAgSXRlbVR5cGUsXG59IGZyb20gJy4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICBDcmVkZW50aWFsUHJvdmlkZXIsXG4gIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcixcbn0gZnJvbSAnLi9hdXRoJztcblxuaW1wb3J0IHtcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIEFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxuICBVbmtub3duRXJyb3IsXG59IGZyb20gJy4vZXJyb3JzJztcblxuZXhwb3J0IHtcbiAgTW9tZW50b0xvZ2dlcixcbiAgTW9tZW50b0xvZ2dlckZhY3RvcnksXG59IGZyb20gJy4vY29uZmlnL2xvZ2dpbmcvbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBOb29wTW9tZW50b0xvZ2dlcixcbiAgTm9vcE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL25vb3AtbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBJQ2FjaGVDbGllbnQsXG4gIFNldE9wdGlvbnMsXG4gIFNldElmTm90RXhpc3RzT3B0aW9ucyxcbiAgSW5jcmVtZW50T3B0aW9ucyxcbn0gZnJvbSAnLi9jbGllbnRzL0lDYWNoZUNsaWVudCc7XG5cbmV4cG9ydCB7SVZlY3RvckluZGV4Q2xpZW50LCBTZWFyY2hPcHRpb25zfSBmcm9tICcuL2NsaWVudHMvSVZlY3RvckluZGV4Q2xpZW50JztcblxuZXhwb3J0IHtcbiAgQ2FjaGVSb2xlLFxuICBDYWNoZVBlcm1pc3Npb24sXG4gIFRvcGljUm9sZSxcbiAgVG9waWNQZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9ucyxcbiAgQWxsRGF0YVJlYWRXcml0ZSxcbiAgVG9rZW5TY29wZSxcbiAgRGlzcG9zYWJsZVRva2VuU2NvcGUsXG4gIENhY2hlTmFtZSxcbiAgaXNDYWNoZU5hbWUsXG4gIFRvcGljTmFtZSxcbiAgaXNUb3BpY05hbWUsXG4gIENhY2hlU2VsZWN0b3IsXG4gIFRvcGljU2VsZWN0b3IsXG4gIENhY2hlSXRlbVNlbGVjdG9yLFxuICBBbGxDYWNoZXMsXG4gIEFsbFRvcGljcyxcbiAgQWxsQ2FjaGVJdGVtcyxcbiAgQ2FjaGVJdGVtS2V5LFxuICBDYWNoZUl0ZW1LZXlQcmVmaXgsXG4gIGlzQ2FjaGVJdGVtS2V5LFxuICBpc0NhY2hlSXRlbUtleVByZWZpeCxcbn0gZnJvbSAnLi9hdXRoL3Rva2Vucy90b2tlbi1zY29wZSc7XG5cbmV4cG9ydCAqIGFzIFRva2VuU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvdG9rZW4tc2NvcGVzJztcbmV4cG9ydCAqIGFzIERpc3Bvc2FibGVUb2tlblNjb3BlcyBmcm9tICcuL2F1dGgvdG9rZW5zL2Rpc3Bvc2FibGUtdG9rZW4tc2NvcGVzJztcblxuZXhwb3J0IHtcbiAgRXhwaXJlc0luLFxuICBFeHBpcmVzQXQsXG4gIENvbGxlY3Rpb25UdGwsXG4gIEl0ZW1UeXBlLFxuICBTb3J0ZWRTZXRPcmRlcixcbiAgQ3JlZGVudGlhbFByb3ZpZGVyLFxuICBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlcixcbiAgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIsXG5cbiAgLy8gQ2FjaGVDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgQ2FjaGVHZXQsXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayxcbiAgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCxcbiAgQ2FjaGVMaXN0RmV0Y2gsXG4gIENhY2hlTGlzdExlbmd0aCxcbiAgQ2FjaGVMaXN0UG9wQmFjayxcbiAgQ2FjaGVMaXN0UG9wRnJvbnQsXG4gIENhY2hlTGlzdFB1c2hCYWNrLFxuICBDYWNoZUxpc3RQdXNoRnJvbnQsXG4gIENhY2hlTGlzdFJlbW92ZVZhbHVlLFxuICBDYWNoZUxpc3RSZXRhaW4sXG4gIENhY2hlU2V0LFxuICBDYWNoZVNldElmTm90RXhpc3RzLFxuICBDYWNoZURlbGV0ZSxcbiAgQ2FjaGVGbHVzaCxcbiAgQ3JlYXRlQ2FjaGUsXG4gIERlbGV0ZUNhY2hlLFxuICBMaXN0Q2FjaGVzLFxuICBDYWNoZUluY3JlbWVudCxcbiAgQ3JlYXRlU2lnbmluZ0tleSxcbiAgTGlzdFNpZ25pbmdLZXlzLFxuICBSZXZva2VTaWduaW5nS2V5LFxuICBDYWNoZVNldEZldGNoLFxuICBDYWNoZURpY3Rpb25hcnlGZXRjaCxcbiAgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVNldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50LFxuICBDYWNoZURpY3Rpb25hcnlMZW5ndGgsXG4gIENhY2hlU2V0QWRkRWxlbWVudHMsXG4gIENhY2hlU2V0QWRkRWxlbWVudCxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50LFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0RmV0Y2gsXG4gIENhY2hlU29ydGVkU2V0R2V0UmFuayxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMsXG4gIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZSxcbiAgQ2FjaGVJdGVtR2V0VHlwZSxcbiAgQ2FjaGVJdGVtR2V0VHRsLFxuICBDYWNoZUtleUV4aXN0cyxcbiAgQ2FjaGVLZXlzRXhpc3QsXG4gIENhY2hlVXBkYXRlVHRsLFxuICBDYWNoZUluY3JlYXNlVHRsLFxuICBDYWNoZURlY3JlYXNlVHRsLFxuICBDYWNoZUluZm8sXG4gIC8vIFRvcGljQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIFRvcGljUHVibGlzaCxcbiAgVG9waWNTdWJzY3JpYmUsXG4gIFRvcGljSXRlbSxcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG4gIC8vIEF1dGhDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgR2VuZXJhdGVBdXRoVG9rZW4sXG4gIFJlZnJlc2hBdXRoVG9rZW4sXG4gIEdlbmVyYXRlRGlzcG9zYWJsZVRva2VuLFxuICAvLyBFcnJvcnNcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIEFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxuICBVbmtub3duRXJyb3IsXG59O1xuIl19
@@ -0,0 +1,78 @@
1
+ import { CreateVectorIndex, DeleteVectorIndex, ListVectorIndexes, VectorAddItemBatch, VectorSearch, VectorDeleteItemBatch } from '../../..';
2
+ import { IVectorIndexClient, SearchOptions } from '../../../clients/IVectorIndexClient';
3
+ import { IVectorIndexControlClient } from './IVectorIndexControlClient';
4
+ import { VectorIndexItem } from '../../../messages/vector-index';
5
+ import { IVectorIndexDataClient } from './IVectorIndexDataClient';
6
+ export declare abstract class AbstractVectorIndexClient implements IVectorIndexClient, IVectorIndexDataClient {
7
+ protected readonly controlClient: IVectorIndexControlClient;
8
+ protected readonly dataClient: IVectorIndexDataClient;
9
+ protected constructor(controlClient: IVectorIndexControlClient, dataClient: IVectorIndexDataClient);
10
+ /**
11
+ * Creates an index if it does not exist.
12
+ *
13
+ * @param {string} indexName - The vector index to be created.
14
+ * @param {number} numDimensions - Number of dimensions per vector.
15
+ * @returns {Promise<CreateVectorIndex.Response>} -
16
+ * {@link CreateVectorIndex.Success} on success.
17
+ * {@link CreateVectorIndex.AlreadyExists} if the cache already exists.
18
+ * {@link CreateVectorIndex.Error} on failure.
19
+ */
20
+ createIndex(indexName: string, numDimensions: number): Promise<CreateVectorIndex.Response>;
21
+ /**
22
+ * Lists all vector indexes.
23
+ *
24
+ * @returns {Promise<ListVectorIndexes.Response>} -
25
+ * {@link ListVectorIndexes.Success} containing the list on success.
26
+ * {@link ListVectorIndexes.Error} on error.
27
+ */
28
+ listIndexes(): Promise<ListVectorIndexes.Response>;
29
+ /**
30
+ * Deletes a vector index and all the vectors stored in it.
31
+ *
32
+ * @param {string} indexName - The name of the vector index to delete.
33
+ * @returns {Promise<DeleteVectorIndex.Response>} -
34
+ * {@link DeleteVectorIndex.Success} on success.
35
+ * {@link DeleteVectorIndex.Error} on error.
36
+ */
37
+ deleteIndex(indexName: string): Promise<DeleteVectorIndex.Response>;
38
+ /**
39
+ * Adds a batch of items into a vector index.
40
+ *
41
+ * Adds an item into the index regardless if the ID already exists.
42
+ * On duplicate ID, a separate entry is created with the same ID.
43
+ * To deduplicate, first call `deleteItemBatch` to remove all items
44
+ * with the same ID, then call `addItemBatch` to add the new items.
45
+ *
46
+ * @param {string} indexName - Name of the index to add the items into.
47
+ * @param {Array<VectorIndexItem>} items - The items to be added into the index.
48
+ * @returns {Promise<VectorAddItemBatch.Response>} -
49
+ * {@link VectorAddItemBatch.Success} on success.
50
+ * {@link VectorAddItemBatch.Error} on error.
51
+ */
52
+ addItemBatch(indexName: string, items: Array<VectorIndexItem>): Promise<VectorAddItemBatch.Response>;
53
+ /**
54
+ * Searches for the most similar vectors to the query vector in the index.
55
+ * Ranks the vectors in the index by maximum inner product to the query vector.
56
+ * If the index and query vectors are unit normalized, this is equivalent to
57
+ * ranking by cosine similarity. Hence to perform a cosine similarity search,
58
+ * the index vectors should be unit normalized prior to indexing, and the query
59
+ * vector should be unit normalized prior to searching.
60
+ *
61
+ * @param {string} indexName - Name of the index to search in.
62
+ * @param {Array<number>} queryVector - The vector to search for.
63
+ * @param {number} topK - The number of results to return. Defaults to 10.
64
+ * @param {Array<string>} metadataFields - A list of metadata fields to return with each result.
65
+ * If not provided, no metadata is returned. Defaults to None.
66
+ * @returns {Promise<VectorSearch.Response>}
67
+ */
68
+ search(indexName: string, queryVector: Array<number>, options?: SearchOptions): Promise<VectorSearch.Response>;
69
+ /**
70
+ * Deletes a batch of items from a vector index.
71
+ * Deletes any and all items with the given IDs from the index.
72
+ *
73
+ * @param {string} indexName - Name of the index to delete the items from.
74
+ * @param {Array<string>} ids - The IDs of the items to be deleted from the index.
75
+ * @returns {Promise<VectorDeleteItemBatch.Response>}
76
+ */
77
+ deleteItemBatch(indexName: string, ids: Array<string>): Promise<VectorDeleteItemBatch.Response>;
78
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractVectorIndexClient = void 0;
4
+ class AbstractVectorIndexClient {
5
+ constructor(controlClient, dataClient) {
6
+ this.controlClient = controlClient;
7
+ this.dataClient = dataClient;
8
+ }
9
+ /**
10
+ * Creates an index if it does not exist.
11
+ *
12
+ * @param {string} indexName - The vector index to be created.
13
+ * @param {number} numDimensions - Number of dimensions per vector.
14
+ * @returns {Promise<CreateVectorIndex.Response>} -
15
+ * {@link CreateVectorIndex.Success} on success.
16
+ * {@link CreateVectorIndex.AlreadyExists} if the cache already exists.
17
+ * {@link CreateVectorIndex.Error} on failure.
18
+ */
19
+ async createIndex(indexName, numDimensions) {
20
+ return await this.controlClient.createIndex(indexName, numDimensions);
21
+ }
22
+ /**
23
+ * Lists all vector indexes.
24
+ *
25
+ * @returns {Promise<ListVectorIndexes.Response>} -
26
+ * {@link ListVectorIndexes.Success} containing the list on success.
27
+ * {@link ListVectorIndexes.Error} on error.
28
+ */
29
+ async listIndexes() {
30
+ return await this.controlClient.listIndexes();
31
+ }
32
+ /**
33
+ * Deletes a vector index and all the vectors stored in it.
34
+ *
35
+ * @param {string} indexName - The name of the vector index to delete.
36
+ * @returns {Promise<DeleteVectorIndex.Response>} -
37
+ * {@link DeleteVectorIndex.Success} on success.
38
+ * {@link DeleteVectorIndex.Error} on error.
39
+ */
40
+ async deleteIndex(indexName) {
41
+ return await this.controlClient.deleteIndex(indexName);
42
+ }
43
+ /**
44
+ * Adds a batch of items into a vector index.
45
+ *
46
+ * Adds an item into the index regardless if the ID already exists.
47
+ * On duplicate ID, a separate entry is created with the same ID.
48
+ * To deduplicate, first call `deleteItemBatch` to remove all items
49
+ * with the same ID, then call `addItemBatch` to add the new items.
50
+ *
51
+ * @param {string} indexName - Name of the index to add the items into.
52
+ * @param {Array<VectorIndexItem>} items - The items to be added into the index.
53
+ * @returns {Promise<VectorAddItemBatch.Response>} -
54
+ * {@link VectorAddItemBatch.Success} on success.
55
+ * {@link VectorAddItemBatch.Error} on error.
56
+ */
57
+ async addItemBatch(indexName, items) {
58
+ return await this.dataClient.addItemBatch(indexName, items);
59
+ }
60
+ /**
61
+ * Searches for the most similar vectors to the query vector in the index.
62
+ * Ranks the vectors in the index by maximum inner product to the query vector.
63
+ * If the index and query vectors are unit normalized, this is equivalent to
64
+ * ranking by cosine similarity. Hence to perform a cosine similarity search,
65
+ * the index vectors should be unit normalized prior to indexing, and the query
66
+ * vector should be unit normalized prior to searching.
67
+ *
68
+ * @param {string} indexName - Name of the index to search in.
69
+ * @param {Array<number>} queryVector - The vector to search for.
70
+ * @param {number} topK - The number of results to return. Defaults to 10.
71
+ * @param {Array<string>} metadataFields - A list of metadata fields to return with each result.
72
+ * If not provided, no metadata is returned. Defaults to None.
73
+ * @returns {Promise<VectorSearch.Response>}
74
+ */
75
+ async search(indexName, queryVector, options) {
76
+ return await this.dataClient.search(indexName, queryVector, options);
77
+ }
78
+ /**
79
+ * Deletes a batch of items from a vector index.
80
+ * Deletes any and all items with the given IDs from the index.
81
+ *
82
+ * @param {string} indexName - Name of the index to delete the items from.
83
+ * @param {Array<string>} ids - The IDs of the items to be deleted from the index.
84
+ * @returns {Promise<VectorDeleteItemBatch.Response>}
85
+ */
86
+ async deleteItemBatch(indexName, ids) {
87
+ return await this.dataClient.deleteItemBatch(indexName, ids);
88
+ }
89
+ }
90
+ exports.AbstractVectorIndexClient = AbstractVectorIndexClient;
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RWZWN0b3JJbmRleENsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC9jbGllbnRzL3ZlY3Rvci9BYnN0cmFjdFZlY3RvckluZGV4Q2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdCQSxNQUFzQix5QkFBeUI7SUFNN0MsWUFDRSxhQUF3QyxFQUN4QyxVQUFrQztRQUVsQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksS0FBSyxDQUFDLFdBQVcsQ0FDdEIsU0FBaUIsRUFDakIsYUFBcUI7UUFFckIsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMsV0FBVyxDQUN0QixTQUFpQjtRQUVqQixPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxLQUFLLENBQUMsWUFBWSxDQUN2QixTQUFpQixFQUNqQixLQUE2QjtRQUU3QixPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQ2pCLFNBQWlCLEVBQ2pCLFdBQTBCLEVBQzFCLE9BQXVCO1FBRXZCLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksS0FBSyxDQUFDLGVBQWUsQ0FDMUIsU0FBaUIsRUFDakIsR0FBa0I7UUFFbEIsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUFsSEQsOERBa0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ3JlYXRlVmVjdG9ySW5kZXgsXG4gIERlbGV0ZVZlY3RvckluZGV4LFxuICBMaXN0VmVjdG9ySW5kZXhlcyxcbiAgVmVjdG9yQWRkSXRlbUJhdGNoLFxuICBWZWN0b3JTZWFyY2gsXG4gIFZlY3RvckRlbGV0ZUl0ZW1CYXRjaCxcbn0gZnJvbSAnLi4vLi4vLi4nO1xuaW1wb3J0IHtcbiAgSVZlY3RvckluZGV4Q2xpZW50LFxuICBTZWFyY2hPcHRpb25zLFxufSBmcm9tICcuLi8uLi8uLi9jbGllbnRzL0lWZWN0b3JJbmRleENsaWVudCc7XG5pbXBvcnQge0lWZWN0b3JJbmRleENvbnRyb2xDbGllbnR9IGZyb20gJy4vSVZlY3RvckluZGV4Q29udHJvbENsaWVudCc7XG5pbXBvcnQge1ZlY3RvckluZGV4SXRlbX0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvdmVjdG9yLWluZGV4JztcbmltcG9ydCB7SVZlY3RvckluZGV4RGF0YUNsaWVudH0gZnJvbSAnLi9JVmVjdG9ySW5kZXhEYXRhQ2xpZW50JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VmVjdG9ySW5kZXhDbGllbnRcbiAgaW1wbGVtZW50cyBJVmVjdG9ySW5kZXhDbGllbnQsIElWZWN0b3JJbmRleERhdGFDbGllbnRcbntcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2xDbGllbnQ6IElWZWN0b3JJbmRleENvbnRyb2xDbGllbnQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBkYXRhQ2xpZW50OiBJVmVjdG9ySW5kZXhEYXRhQ2xpZW50O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBjb250cm9sQ2xpZW50OiBJVmVjdG9ySW5kZXhDb250cm9sQ2xpZW50LFxuICAgIGRhdGFDbGllbnQ6IElWZWN0b3JJbmRleERhdGFDbGllbnRcbiAgKSB7XG4gICAgdGhpcy5jb250cm9sQ2xpZW50ID0gY29udHJvbENsaWVudDtcbiAgICB0aGlzLmRhdGFDbGllbnQgPSBkYXRhQ2xpZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5kZXggaWYgaXQgZG9lcyBub3QgZXhpc3QuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbmRleE5hbWUgLSBUaGUgdmVjdG9yIGluZGV4IHRvIGJlIGNyZWF0ZWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBudW1EaW1lbnNpb25zIC0gTnVtYmVyIG9mIGRpbWVuc2lvbnMgcGVyIHZlY3Rvci5cbiAgICogQHJldHVybnMge1Byb21pc2U8Q3JlYXRlVmVjdG9ySW5kZXguUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBDcmVhdGVWZWN0b3JJbmRleC5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgQ3JlYXRlVmVjdG9ySW5kZXguQWxyZWFkeUV4aXN0c30gaWYgdGhlIGNhY2hlIGFscmVhZHkgZXhpc3RzLlxuICAgKiB7QGxpbmsgQ3JlYXRlVmVjdG9ySW5kZXguRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY3JlYXRlSW5kZXgoXG4gICAgaW5kZXhOYW1lOiBzdHJpbmcsXG4gICAgbnVtRGltZW5zaW9uczogbnVtYmVyXG4gICk6IFByb21pc2U8Q3JlYXRlVmVjdG9ySW5kZXguUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb250cm9sQ2xpZW50LmNyZWF0ZUluZGV4KGluZGV4TmFtZSwgbnVtRGltZW5zaW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdHMgYWxsIHZlY3RvciBpbmRleGVzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxMaXN0VmVjdG9ySW5kZXhlcy5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIExpc3RWZWN0b3JJbmRleGVzLlN1Y2Nlc3N9IGNvbnRhaW5pbmcgdGhlIGxpc3Qgb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIExpc3RWZWN0b3JJbmRleGVzLkVycm9yfSBvbiBlcnJvci5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsaXN0SW5kZXhlcygpOiBQcm9taXNlPExpc3RWZWN0b3JJbmRleGVzLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29udHJvbENsaWVudC5saXN0SW5kZXhlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYSB2ZWN0b3IgaW5kZXggYW5kIGFsbCB0aGUgdmVjdG9ycyBzdG9yZWQgaW4gaXQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbmRleE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdmVjdG9yIGluZGV4IHRvIGRlbGV0ZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8RGVsZXRlVmVjdG9ySW5kZXguUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBEZWxldGVWZWN0b3JJbmRleC5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgRGVsZXRlVmVjdG9ySW5kZXguRXJyb3J9IG9uIGVycm9yLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRlbGV0ZUluZGV4KFxuICAgIGluZGV4TmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8RGVsZXRlVmVjdG9ySW5kZXguUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb250cm9sQ2xpZW50LmRlbGV0ZUluZGV4KGluZGV4TmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGJhdGNoIG9mIGl0ZW1zIGludG8gYSB2ZWN0b3IgaW5kZXguXG4gICAqXG4gICAqIEFkZHMgYW4gaXRlbSBpbnRvIHRoZSBpbmRleCByZWdhcmRsZXNzIGlmIHRoZSBJRCBhbHJlYWR5IGV4aXN0cy5cbiAgICogT24gZHVwbGljYXRlIElELCBhIHNlcGFyYXRlIGVudHJ5IGlzIGNyZWF0ZWQgd2l0aCB0aGUgc2FtZSBJRC5cbiAgICogVG8gZGVkdXBsaWNhdGUsIGZpcnN0IGNhbGwgYGRlbGV0ZUl0ZW1CYXRjaGAgdG8gcmVtb3ZlIGFsbCBpdGVtc1xuICAgKiB3aXRoIHRoZSBzYW1lIElELCB0aGVuIGNhbGwgYGFkZEl0ZW1CYXRjaGAgdG8gYWRkIHRoZSBuZXcgaXRlbXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbmRleE5hbWUgLSBOYW1lIG9mIHRoZSBpbmRleCB0byBhZGQgdGhlIGl0ZW1zIGludG8uXG4gICAqIEBwYXJhbSB7QXJyYXk8VmVjdG9ySW5kZXhJdGVtPn0gaXRlbXMgLSBUaGUgaXRlbXMgdG8gYmUgYWRkZWQgaW50byB0aGUgaW5kZXguXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFZlY3RvckFkZEl0ZW1CYXRjaC5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIFZlY3RvckFkZEl0ZW1CYXRjaC5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgVmVjdG9yQWRkSXRlbUJhdGNoLkVycm9yfSBvbiBlcnJvci5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBhZGRJdGVtQmF0Y2goXG4gICAgaW5kZXhOYW1lOiBzdHJpbmcsXG4gICAgaXRlbXM6IEFycmF5PFZlY3RvckluZGV4SXRlbT5cbiAgKTogUHJvbWlzZTxWZWN0b3JBZGRJdGVtQmF0Y2guUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5kYXRhQ2xpZW50LmFkZEl0ZW1CYXRjaChpbmRleE5hbWUsIGl0ZW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2hlcyBmb3IgdGhlIG1vc3Qgc2ltaWxhciB2ZWN0b3JzIHRvIHRoZSBxdWVyeSB2ZWN0b3IgaW4gdGhlIGluZGV4LlxuICAgKiBSYW5rcyB0aGUgdmVjdG9ycyBpbiB0aGUgaW5kZXggYnkgbWF4aW11bSBpbm5lciBwcm9kdWN0IHRvIHRoZSBxdWVyeSB2ZWN0b3IuXG4gICAqIElmIHRoZSBpbmRleCBhbmQgcXVlcnkgdmVjdG9ycyBhcmUgdW5pdCBub3JtYWxpemVkLCB0aGlzIGlzIGVxdWl2YWxlbnQgdG9cbiAgICogcmFua2luZyBieSBjb3NpbmUgc2ltaWxhcml0eS4gSGVuY2UgdG8gcGVyZm9ybSBhIGNvc2luZSBzaW1pbGFyaXR5IHNlYXJjaCxcbiAgICogdGhlIGluZGV4IHZlY3RvcnMgc2hvdWxkIGJlIHVuaXQgbm9ybWFsaXplZCBwcmlvciB0byBpbmRleGluZywgYW5kIHRoZSBxdWVyeVxuICAgKiB2ZWN0b3Igc2hvdWxkIGJlIHVuaXQgbm9ybWFsaXplZCBwcmlvciB0byBzZWFyY2hpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbmRleE5hbWUgLSBOYW1lIG9mIHRoZSBpbmRleCB0byBzZWFyY2ggaW4uXG4gICAqIEBwYXJhbSB7QXJyYXk8bnVtYmVyPn0gcXVlcnlWZWN0b3IgLSBUaGUgdmVjdG9yIHRvIHNlYXJjaCBmb3IuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0b3BLIC0gVGhlIG51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybi4gRGVmYXVsdHMgdG8gMTAuXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gbWV0YWRhdGFGaWVsZHMgLSBBIGxpc3Qgb2YgbWV0YWRhdGEgZmllbGRzIHRvIHJldHVybiB3aXRoIGVhY2ggcmVzdWx0LlxuICAgKiAgIElmIG5vdCBwcm92aWRlZCwgbm8gbWV0YWRhdGEgaXMgcmV0dXJuZWQuIERlZmF1bHRzIHRvIE5vbmUuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFZlY3RvclNlYXJjaC5SZXNwb25zZT59XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VhcmNoKFxuICAgIGluZGV4TmFtZTogc3RyaW5nLFxuICAgIHF1ZXJ5VmVjdG9yOiBBcnJheTxudW1iZXI+LFxuICAgIG9wdGlvbnM/OiBTZWFyY2hPcHRpb25zXG4gICk6IFByb21pc2U8VmVjdG9yU2VhcmNoLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZGF0YUNsaWVudC5zZWFyY2goaW5kZXhOYW1lLCBxdWVyeVZlY3Rvciwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBhIGJhdGNoIG9mIGl0ZW1zIGZyb20gYSB2ZWN0b3IgaW5kZXguXG4gICAqIERlbGV0ZXMgYW55IGFuZCBhbGwgaXRlbXMgd2l0aCB0aGUgZ2l2ZW4gSURzIGZyb20gdGhlIGluZGV4LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaW5kZXhOYW1lIC0gTmFtZSBvZiB0aGUgaW5kZXggdG8gZGVsZXRlIHRoZSBpdGVtcyBmcm9tLlxuICAgKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IGlkcyAtIFRoZSBJRHMgb2YgdGhlIGl0ZW1zIHRvIGJlIGRlbGV0ZWQgZnJvbSB0aGUgaW5kZXguXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFZlY3RvckRlbGV0ZUl0ZW1CYXRjaC5SZXNwb25zZT59XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVsZXRlSXRlbUJhdGNoKFxuICAgIGluZGV4TmFtZTogc3RyaW5nLFxuICAgIGlkczogQXJyYXk8c3RyaW5nPlxuICApOiBQcm9taXNlPFZlY3RvckRlbGV0ZUl0ZW1CYXRjaC5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmRhdGFDbGllbnQuZGVsZXRlSXRlbUJhdGNoKGluZGV4TmFtZSwgaWRzKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { CreateVectorIndex, DeleteVectorIndex, ListVectorIndexes } from '../../../messages/responses/vector';
2
- export interface IVectorControlClient {
2
+ export interface IVectorIndexControlClient {
3
3
  createIndex(indexName: string, numDimensions: number): Promise<CreateVectorIndex.Response>;
4
4
  listIndexes(): Promise<ListVectorIndexes.Response>;
5
5
  deleteIndex(indexName: string): Promise<DeleteVectorIndex.Response>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVZlY3RvckluZGV4Q29udHJvbENsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC9jbGllbnRzL3ZlY3Rvci9JVmVjdG9ySW5kZXhDb250cm9sQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDcmVhdGVWZWN0b3JJbmRleCxcbiAgRGVsZXRlVmVjdG9ySW5kZXgsXG4gIExpc3RWZWN0b3JJbmRleGVzLFxufSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9yZXNwb25zZXMvdmVjdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBJVmVjdG9ySW5kZXhDb250cm9sQ2xpZW50IHtcbiAgY3JlYXRlSW5kZXgoXG4gICAgaW5kZXhOYW1lOiBzdHJpbmcsXG4gICAgbnVtRGltZW5zaW9uczogbnVtYmVyXG4gICk6IFByb21pc2U8Q3JlYXRlVmVjdG9ySW5kZXguUmVzcG9uc2U+O1xuICBsaXN0SW5kZXhlcygpOiBQcm9taXNlPExpc3RWZWN0b3JJbmRleGVzLlJlc3BvbnNlPjtcbiAgZGVsZXRlSW5kZXgoaW5kZXhOYW1lOiBzdHJpbmcpOiBQcm9taXNlPERlbGV0ZVZlY3RvckluZGV4LlJlc3BvbnNlPjtcbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { VectorAddItemBatch, VectorDeleteItemBatch, VectorSearch } from '../../../messages/responses/vector';
2
+ import { VectorIndexItem } from '../../../messages/vector-index';
3
+ import { SearchOptions } from '../../../clients/IVectorIndexClient';
4
+ export interface IVectorIndexDataClient {
5
+ addItemBatch(indexName: string, items: Array<VectorIndexItem>): Promise<VectorAddItemBatch.Response>;
6
+ search(indexName: string, queryVector: Array<number>, options?: SearchOptions): Promise<VectorSearch.Response>;
7
+ deleteItemBatch(indexName: string, ids: Array<string>): Promise<VectorDeleteItemBatch.Response>;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVZlY3RvckluZGV4RGF0YUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC9jbGllbnRzL3ZlY3Rvci9JVmVjdG9ySW5kZXhEYXRhQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBWZWN0b3JBZGRJdGVtQmF0Y2gsXG4gIFZlY3RvckRlbGV0ZUl0ZW1CYXRjaCxcbiAgVmVjdG9yU2VhcmNoLFxufSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9yZXNwb25zZXMvdmVjdG9yJztcbmltcG9ydCB7VmVjdG9ySW5kZXhJdGVtfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy92ZWN0b3ItaW5kZXgnO1xuaW1wb3J0IHtTZWFyY2hPcHRpb25zfSBmcm9tICcuLi8uLi8uLi9jbGllbnRzL0lWZWN0b3JJbmRleENsaWVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVZlY3RvckluZGV4RGF0YUNsaWVudCB7XG4gIGFkZEl0ZW1CYXRjaChcbiAgICBpbmRleE5hbWU6IHN0cmluZyxcbiAgICBpdGVtczogQXJyYXk8VmVjdG9ySW5kZXhJdGVtPlxuICApOiBQcm9taXNlPFZlY3RvckFkZEl0ZW1CYXRjaC5SZXNwb25zZT47XG4gIHNlYXJjaChcbiAgICBpbmRleE5hbWU6IHN0cmluZyxcbiAgICBxdWVyeVZlY3RvcjogQXJyYXk8bnVtYmVyPixcbiAgICBvcHRpb25zPzogU2VhcmNoT3B0aW9uc1xuICApOiBQcm9taXNlPFZlY3RvclNlYXJjaC5SZXNwb25zZT47XG4gIGRlbGV0ZUl0ZW1CYXRjaChcbiAgICBpbmRleE5hbWU6IHN0cmluZyxcbiAgICBpZHM6IEFycmF5PHN0cmluZz5cbiAgKTogUHJvbWlzZTxWZWN0b3JEZWxldGVJdGVtQmF0Y2guUmVzcG9uc2U+O1xufVxuIl19
@@ -1,3 +1,3 @@
1
- export * from './AbstractVectorClient';
2
- export * from './IVectorControlClient';
3
- export * from '../../../clients/IVectorClient';
1
+ export * from './AbstractVectorIndexClient';
2
+ export * from './IVectorIndexControlClient';
3
+ export * from '../../../clients/IVectorIndexClient';
@@ -14,7 +14,7 @@ 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
- __exportStar(require("./AbstractVectorClient"), exports);
18
- __exportStar(require("./IVectorControlClient"), exports);
19
- __exportStar(require("../../../clients/IVectorClient"), exports);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy92ZWN0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUF1QztBQUN2Qyx5REFBdUM7QUFDdkMsaUVBQStDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9BYnN0cmFjdFZlY3RvckNsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuL0lWZWN0b3JDb250cm9sQ2xpZW50JztcbmV4cG9ydCAqIGZyb20gJy4uLy4uLy4uL2NsaWVudHMvSVZlY3RvckNsaWVudCc7XG4iXX0=
17
+ __exportStar(require("./AbstractVectorIndexClient"), exports);
18
+ __exportStar(require("./IVectorIndexControlClient"), exports);
19
+ __exportStar(require("../../../clients/IVectorIndexClient"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy92ZWN0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUE0QztBQUM1Qyw4REFBNEM7QUFDNUMsc0VBQW9EIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9BYnN0cmFjdFZlY3RvckluZGV4Q2xpZW50JztcbmV4cG9ydCAqIGZyb20gJy4vSVZlY3RvckluZGV4Q29udHJvbENsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuLi8uLi8uLi9jbGllbnRzL0lWZWN0b3JJbmRleENsaWVudCc7XG4iXX0=
@@ -17,6 +17,7 @@ interface TokenAndEndpoints {
17
17
  controlEndpoint: string | undefined;
18
18
  cacheEndpoint: string | undefined;
19
19
  tokenEndpoint: string | undefined;
20
+ vectorEndpoint: string | undefined;
20
21
  authToken: string;
21
22
  }
22
23
  /**
@@ -32,6 +32,7 @@ const decodeAuthToken = (token) => {
32
32
  controlEndpoint: `control.${base64DecodedToken.endpoint}`,
33
33
  cacheEndpoint: `cache.${base64DecodedToken.endpoint}`,
34
34
  tokenEndpoint: `token.${base64DecodedToken.endpoint}`,
35
+ vectorEndpoint: `vector.${base64DecodedToken.endpoint}`,
35
36
  authToken: base64DecodedToken.api_key,
36
37
  };
37
38
  }
@@ -44,16 +45,18 @@ const decodeAuthToken = (token) => {
44
45
  controlEndpoint: decodedLegacyToken.cp,
45
46
  cacheEndpoint: decodedLegacyToken.c,
46
47
  tokenEndpoint: decodedLegacyToken.c,
48
+ vectorEndpoint: decodedLegacyToken.c,
47
49
  authToken: token,
48
50
  };
49
51
  }
50
52
  }
51
53
  catch (e) {
52
- throw new errors_1.InvalidArgumentError('failed to parse token');
54
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
55
+ throw new errors_1.InvalidArgumentError(`failed to parse token: ${e}`);
53
56
  }
54
57
  };
55
58
  exports.decodeAuthToken = decodeAuthToken;
56
59
  class InternalSuperUserPermissions extends token_scope_1.PredefinedScope {
57
60
  }
58
61
  exports.InternalSuperUserPermissions = InternalSuperUserPermissions;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUNsRCwyQ0FBbUM7QUFDbkMsNkNBQXNDO0FBQ3RDLHFDQUEwQztBQUMxQywrREFBOEQ7QUFrQjlELFNBQVMscUJBQXFCLENBQUksU0FBaUI7SUFDakQsT0FBTyxJQUFBLG9CQUFTLEVBQUksU0FBUyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQVdEOzs7R0FHRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFxQixFQUFFO0lBQ25FLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksNkJBQW9CLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUN4RDtJQUVELElBQUk7UUFDRix5R0FBeUc7UUFDekcsZ0hBQWdIO1FBQ2hILHFIQUFxSDtRQUNySCx5SEFBeUg7UUFDekgsZ0NBQWdDO1FBQ2hDLElBQUksSUFBQSxxQkFBUSxFQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDbkMsSUFBQSx5QkFBZ0IsRUFBQyxLQUFLLENBQUMsQ0FDQSxDQUFDO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQy9ELE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQ3pEO1lBQ0QsT0FBTztnQkFDTCxlQUFlLEVBQUUsV0FBVyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pELGFBQWEsRUFBRSxTQUFTLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtnQkFDckQsYUFBYSxFQUFFLFNBQVMsa0JBQWtCLENBQUMsUUFBUSxFQUFFO2dCQUNyRCxTQUFTLEVBQUUsa0JBQWtCLENBQUMsT0FBTzthQUN0QyxDQUFDO1NBQ0g7YUFBTTtZQUNMLGtIQUFrSDtZQUNsSCxnSEFBZ0g7WUFDaEgsb0hBQW9IO1lBQ3BILE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQWUsS0FBSyxDQUFDLENBQUM7WUFDdEUsT0FBTztnQkFDTCxlQUFlLEVBQUUsa0JBQWtCLENBQUMsRUFBRTtnQkFDdEMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBQ25DLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNuQyxTQUFTLEVBQUUsS0FBSzthQUNqQixDQUFDO1NBQ0g7S0FDRjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsTUFBTSxJQUFJLDZCQUFvQixDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FDekQ7QUFDSCxDQUFDLENBQUM7QUF2Q1csUUFBQSxlQUFlLG1CQXVDMUI7QUFFRixNQUFhLDRCQUE2QixTQUFRLDZCQUFlO0NBQUc7QUFBcEUsb0VBQW9FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnZhbGlkQXJndW1lbnRFcnJvcn0gZnJvbSAnLi4vLi4vZXJyb3JzJztcbmltcG9ydCBqd3REZWNvZGUgZnJvbSAnand0LWRlY29kZSc7XG5pbXBvcnQge2lzQmFzZTY0fSBmcm9tICcuL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHtkZWNvZGVGcm9tQmFzZTY0fSBmcm9tICcuL3N0cmluZyc7XG5pbXBvcnQge1ByZWRlZmluZWRTY29wZX0gZnJvbSAnLi4vLi4vYXV0aC90b2tlbnMvdG9rZW4tc2NvcGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExlZ2FjeUNsYWltcyB7XG4gIC8qKlxuICAgKiBjb250cm9sIHBsYW5lIGVuZHBvaW50XG4gICAqL1xuICBjcDogc3RyaW5nO1xuICAvKipcbiAgICogY2FjaGUgZW5kcG9pbnRcbiAgICovXG4gIGM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlNjREZWNvZGVkVjFUb2tlbiB7XG4gIGFwaV9rZXk6IHN0cmluZztcbiAgZW5kcG9pbnQ6IHN0cmluZztcbn1cblxuZnVuY3Rpb24gZGVjb2RlQXV0aFRva2VuQ2xhaW1zPFQ+KGF1dGhUb2tlbjogc3RyaW5nKTogVCB7XG4gIHJldHVybiBqd3REZWNvZGU8VD4oYXV0aFRva2VuKTtcbn1cblxuaW50ZXJmYWNlIFRva2VuQW5kRW5kcG9pbnRzIHtcbiAgLy8gSWYgd2UgZGVjb2RlIGEgSldUIHRoYXQgZG9lc24ndCBhY3R1YWxseSBoYXZlIHRoZSBjb250cm9sRW5kcG9pbnQvY2FjaGVFbmRwb2ludCBjbGFpbXMsIHRoZW4gdGhleSB3aWxsIGNvbWUgYmFja1xuICAvLyBhcyB1bmRlZmluZWQ7IHRodXMgd2UgbmVlZCB0aGUgdHlwZXMgaGVyZSB0byBiZSBgc3RyaW5nIHwgdW5kZWZpbmVkYC5cbiAgY29udHJvbEVuZHBvaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGNhY2hlRW5kcG9pbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgdG9rZW5FbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBhdXRoVG9rZW46IHN0cmluZztcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdG9rZW5cbiAqIEByZXR1cm5zIFRva2VuQW5kRW5kcG9pbnRzXG4gKi9cbmV4cG9ydCBjb25zdCBkZWNvZGVBdXRoVG9rZW4gPSAodG9rZW4/OiBzdHJpbmcpOiBUb2tlbkFuZEVuZHBvaW50cyA9PiB7XG4gIGlmICghdG9rZW4pIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ21hbGZvcm1lZCBhdXRoIHRva2VuJyk7XG4gIH1cblxuICB0cnkge1xuICAgIC8vIHYxIGFwaSB0b2tlbnMgZG9uJ3QgaGF2ZSBhbiBlbmRwb2ludCBhcyBwYXJ0IG9mIHRoZWlyIGNsYWltcy4gSW5zdGVhZCwgd2hlbiB0aGUgU0RLIHJldHVybnMgdG9rZW5zLCB3ZVxuICAgIC8vIGdpdmUgaXQgdG8gdGhlbSBhcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZyBvZiAneyBcImFwaV9rZXlcIjogXCI8dGhlIGtleT5cIiwgXCJlbmRwb2ludFwiOiBcInByb2QubW9tZW50b2hxLmNvbVwiIH0nLlxuICAgIC8vIFNpbmNlIGluIHRoZSBuZWFyIGZ1dHVyZSwgbW9zdCBjdXN0b21lcnMgYXJlIGdvaW5nIHRvIGJlIHVzaW5nIHRoZXNlIG5ld2VyIHRva2Vucywgd2UgYXJlIGZpcnN0IGNoZWNraW5nIHRvIHNlZSBpZlxuICAgIC8vIHRoZXkgYXJlIGJhc2U2NCBlbmNvZGVkLCB3aGljaCB3aWxsIHRlbGwgdXMgdGhhdCB0aGV5IGFyZSBvdXIgdjEgYXBpIHRva2Vucy4gSWYgaXRzIG5vdCwgd2Ugd2lsbCBmYWxsIGJhY2sgdG8gZGVjb2RpbmdcbiAgICAvLyBpdCBhcyBvbmUgb2Ygb3VyIGxlZ2FjeSBqd3RzLlxuICAgIGlmIChpc0Jhc2U2NCh0b2tlbikpIHtcbiAgICAgIGNvbnN0IGJhc2U2NERlY29kZWRUb2tlbiA9IEpTT04ucGFyc2UoXG4gICAgICAgIGRlY29kZUZyb21CYXNlNjQodG9rZW4pXG4gICAgICApIGFzIEJhc2U2NERlY29kZWRWMVRva2VuO1xuICAgICAgaWYgKCFiYXNlNjREZWNvZGVkVG9rZW4uZW5kcG9pbnQgfHwgIWJhc2U2NERlY29kZWRUb2tlbi5hcGlfa2V5KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignZmFpbGVkIHRvIHBhcnNlIHRva2VuJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250cm9sRW5kcG9pbnQ6IGBjb250cm9sLiR7YmFzZTY0RGVjb2RlZFRva2VuLmVuZHBvaW50fWAsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGBjYWNoZS4ke2Jhc2U2NERlY29kZWRUb2tlbi5lbmRwb2ludH1gLFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBgdG9rZW4uJHtiYXNlNjREZWNvZGVkVG9rZW4uZW5kcG9pbnR9YCxcbiAgICAgICAgYXV0aFRva2VuOiBiYXNlNjREZWNvZGVkVG9rZW4uYXBpX2tleSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgZGVjb2RlIGZ1bmN0aW9uIHVzZXMgZ2VuZXJpY3MgdG8gYWR2ZXJ0aXNlIHRoYXQgd2Ugd2lsbCB1c3VhbGx5IGV4cGVjdCB0byBmaW5kIHRoZSBMZWdhY3lDbGFpbXMuICBIb3dldmVyLFxuICAgICAgLy8gaWYgdGhlIHRva2VuIGlzIGEgdmFsaWQgSldUIGJ1dCBub3QgYWN0dWFsbHkgb25lIG9mIG91ciBsZWdhY3kgdG9rZW5zLCB0aGUgZW5kcG9pbnQgY2xhaW1zIHdpbGwgYmUgdW5kZWZpbmVkLFxuICAgICAgLy8gd2hpY2ggaXMgd2h5IHRoZSByZXR1cm4gdHlwZSBmb3IgdGhpcyBmdW5jdGlvbiBzcGVjaWZpZXMgdGhhdCB0aGUgY29udHJvbEVuZHBvaW50L2NhY2hlRW5kcG9pbnQgbWF5IGJlIHVuZGVmaW5lZC5cbiAgICAgIGNvbnN0IGRlY29kZWRMZWdhY3lUb2tlbiA9IGRlY29kZUF1dGhUb2tlbkNsYWltczxMZWdhY3lDbGFpbXM+KHRva2VuKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRyb2xFbmRwb2ludDogZGVjb2RlZExlZ2FjeVRva2VuLmNwLFxuICAgICAgICBjYWNoZUVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uYyxcbiAgICAgICAgdG9rZW5FbmRwb2ludDogZGVjb2RlZExlZ2FjeVRva2VuLmMsXG4gICAgICAgIGF1dGhUb2tlbjogdG9rZW4sXG4gICAgICB9O1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignZmFpbGVkIHRvIHBhcnNlIHRva2VuJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFN1cGVyVXNlclBlcm1pc3Npb25zIGV4dGVuZHMgUHJlZGVmaW5lZFNjb3BlIHt9XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUNsRCwyQ0FBbUM7QUFDbkMsNkNBQXNDO0FBQ3RDLHFDQUEwQztBQUMxQywrREFBOEQ7QUFrQjlELFNBQVMscUJBQXFCLENBQUksU0FBaUI7SUFDakQsT0FBTyxJQUFBLG9CQUFTLEVBQUksU0FBUyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQVlEOzs7R0FHRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFxQixFQUFFO0lBQ25FLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksNkJBQW9CLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUN4RDtJQUVELElBQUk7UUFDRix5R0FBeUc7UUFDekcsZ0hBQWdIO1FBQ2hILHFIQUFxSDtRQUNySCx5SEFBeUg7UUFDekgsZ0NBQWdDO1FBQ2hDLElBQUksSUFBQSxxQkFBUSxFQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDbkMsSUFBQSx5QkFBZ0IsRUFBQyxLQUFLLENBQUMsQ0FDQSxDQUFDO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQy9ELE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQ3pEO1lBQ0QsT0FBTztnQkFDTCxlQUFlLEVBQUUsV0FBVyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pELGFBQWEsRUFBRSxTQUFTLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtnQkFDckQsYUFBYSxFQUFFLFNBQVMsa0JBQWtCLENBQUMsUUFBUSxFQUFFO2dCQUNyRCxjQUFjLEVBQUUsVUFBVSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3ZELFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO2FBQ3RDLENBQUM7U0FDSDthQUFNO1lBQ0wsa0hBQWtIO1lBQ2xILGdIQUFnSDtZQUNoSCxvSEFBb0g7WUFDcEgsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBZSxLQUFLLENBQUMsQ0FBQztZQUN0RSxPQUFPO2dCQUNMLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFO2dCQUN0QyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFDbkMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBQ25DLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNwQyxTQUFTLEVBQUUsS0FBSzthQUNqQixDQUFDO1NBQ0g7S0FDRjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsNEVBQTRFO1FBQzVFLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUMvRDtBQUNILENBQUMsQ0FBQztBQTFDVyxRQUFBLGVBQWUsbUJBMEMxQjtBQUVGLE1BQWEsNEJBQTZCLFNBQVEsNkJBQWU7Q0FBRztBQUFwRSxvRUFBb0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ludmFsaWRBcmd1bWVudEVycm9yfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IGp3dERlY29kZSBmcm9tICdqd3QtZGVjb2RlJztcbmltcG9ydCB7aXNCYXNlNjR9IGZyb20gJy4vdmFsaWRhdG9ycyc7XG5pbXBvcnQge2RlY29kZUZyb21CYXNlNjR9IGZyb20gJy4vc3RyaW5nJztcbmltcG9ydCB7UHJlZGVmaW5lZFNjb3BlfSBmcm9tICcuLi8uLi9hdXRoL3Rva2Vucy90b2tlbi1zY29wZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnYWN5Q2xhaW1zIHtcbiAgLyoqXG4gICAqIGNvbnRyb2wgcGxhbmUgZW5kcG9pbnRcbiAgICovXG4gIGNwOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBjYWNoZSBlbmRwb2ludFxuICAgKi9cbiAgYzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2U2NERlY29kZWRWMVRva2VuIHtcbiAgYXBpX2tleTogc3RyaW5nO1xuICBlbmRwb2ludDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVBdXRoVG9rZW5DbGFpbXM8VD4oYXV0aFRva2VuOiBzdHJpbmcpOiBUIHtcbiAgcmV0dXJuIGp3dERlY29kZTxUPihhdXRoVG9rZW4pO1xufVxuXG5pbnRlcmZhY2UgVG9rZW5BbmRFbmRwb2ludHMge1xuICAvLyBJZiB3ZSBkZWNvZGUgYSBKV1QgdGhhdCBkb2Vzbid0IGFjdHVhbGx5IGhhdmUgdGhlIGNvbnRyb2xFbmRwb2ludC9jYWNoZUVuZHBvaW50IGNsYWltcywgdGhlbiB0aGV5IHdpbGwgY29tZSBiYWNrXG4gIC8vIGFzIHVuZGVmaW5lZDsgdGh1cyB3ZSBuZWVkIHRoZSB0eXBlcyBoZXJlIHRvIGJlIGBzdHJpbmcgfCB1bmRlZmluZWRgLlxuICBjb250cm9sRW5kcG9pbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY2FjaGVFbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0b2tlbkVuZHBvaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHZlY3RvckVuZHBvaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGF1dGhUb2tlbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB0b2tlblxuICogQHJldHVybnMgVG9rZW5BbmRFbmRwb2ludHNcbiAqL1xuZXhwb3J0IGNvbnN0IGRlY29kZUF1dGhUb2tlbiA9ICh0b2tlbj86IHN0cmluZyk6IFRva2VuQW5kRW5kcG9pbnRzID0+IHtcbiAgaWYgKCF0b2tlbikge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbWFsZm9ybWVkIGF1dGggdG9rZW4nKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gdjEgYXBpIHRva2VucyBkb24ndCBoYXZlIGFuIGVuZHBvaW50IGFzIHBhcnQgb2YgdGhlaXIgY2xhaW1zLiBJbnN0ZWFkLCB3aGVuIHRoZSBTREsgcmV0dXJucyB0b2tlbnMsIHdlXG4gICAgLy8gZ2l2ZSBpdCB0byB0aGVtIGFzIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIG9mICd7IFwiYXBpX2tleVwiOiBcIjx0aGUga2V5PlwiLCBcImVuZHBvaW50XCI6IFwicHJvZC5tb21lbnRvaHEuY29tXCIgfScuXG4gICAgLy8gU2luY2UgaW4gdGhlIG5lYXIgZnV0dXJlLCBtb3N0IGN1c3RvbWVycyBhcmUgZ29pbmcgdG8gYmUgdXNpbmcgdGhlc2UgbmV3ZXIgdG9rZW5zLCB3ZSBhcmUgZmlyc3QgY2hlY2tpbmcgdG8gc2VlIGlmXG4gICAgLy8gdGhleSBhcmUgYmFzZTY0IGVuY29kZWQsIHdoaWNoIHdpbGwgdGVsbCB1cyB0aGF0IHRoZXkgYXJlIG91ciB2MSBhcGkgdG9rZW5zLiBJZiBpdHMgbm90LCB3ZSB3aWxsIGZhbGwgYmFjayB0byBkZWNvZGluZ1xuICAgIC8vIGl0IGFzIG9uZSBvZiBvdXIgbGVnYWN5IGp3dHMuXG4gICAgaWYgKGlzQmFzZTY0KHRva2VuKSkge1xuICAgICAgY29uc3QgYmFzZTY0RGVjb2RlZFRva2VuID0gSlNPTi5wYXJzZShcbiAgICAgICAgZGVjb2RlRnJvbUJhc2U2NCh0b2tlbilcbiAgICAgICkgYXMgQmFzZTY0RGVjb2RlZFYxVG9rZW47XG4gICAgICBpZiAoIWJhc2U2NERlY29kZWRUb2tlbi5lbmRwb2ludCB8fCAhYmFzZTY0RGVjb2RlZFRva2VuLmFwaV9rZXkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdmYWlsZWQgdG8gcGFyc2UgdG9rZW4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRyb2xFbmRwb2ludDogYGNvbnRyb2wuJHtiYXNlNjREZWNvZGVkVG9rZW4uZW5kcG9pbnR9YCxcbiAgICAgICAgY2FjaGVFbmRwb2ludDogYGNhY2hlLiR7YmFzZTY0RGVjb2RlZFRva2VuLmVuZHBvaW50fWAsXG4gICAgICAgIHRva2VuRW5kcG9pbnQ6IGB0b2tlbi4ke2Jhc2U2NERlY29kZWRUb2tlbi5lbmRwb2ludH1gLFxuICAgICAgICB2ZWN0b3JFbmRwb2ludDogYHZlY3Rvci4ke2Jhc2U2NERlY29kZWRUb2tlbi5lbmRwb2ludH1gLFxuICAgICAgICBhdXRoVG9rZW46IGJhc2U2NERlY29kZWRUb2tlbi5hcGlfa2V5LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBkZWNvZGUgZnVuY3Rpb24gdXNlcyBnZW5lcmljcyB0byBhZHZlcnRpc2UgdGhhdCB3ZSB3aWxsIHVzdWFsbHkgZXhwZWN0IHRvIGZpbmQgdGhlIExlZ2FjeUNsYWltcy4gIEhvd2V2ZXIsXG4gICAgICAvLyBpZiB0aGUgdG9rZW4gaXMgYSB2YWxpZCBKV1QgYnV0IG5vdCBhY3R1YWxseSBvbmUgb2Ygb3VyIGxlZ2FjeSB0b2tlbnMsIHRoZSBlbmRwb2ludCBjbGFpbXMgd2lsbCBiZSB1bmRlZmluZWQsXG4gICAgICAvLyB3aGljaCBpcyB3aHkgdGhlIHJldHVybiB0eXBlIGZvciB0aGlzIGZ1bmN0aW9uIHNwZWNpZmllcyB0aGF0IHRoZSBjb250cm9sRW5kcG9pbnQvY2FjaGVFbmRwb2ludCBtYXkgYmUgdW5kZWZpbmVkLlxuICAgICAgY29uc3QgZGVjb2RlZExlZ2FjeVRva2VuID0gZGVjb2RlQXV0aFRva2VuQ2xhaW1zPExlZ2FjeUNsYWltcz4odG9rZW4pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udHJvbEVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uY3AsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGRlY29kZWRMZWdhY3lUb2tlbi5jLFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uYyxcbiAgICAgICAgdmVjdG9yRW5kcG9pbnQ6IGRlY29kZWRMZWdhY3lUb2tlbi5jLFxuICAgICAgICBhdXRoVG9rZW46IHRva2VuLFxuICAgICAgfTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKGBmYWlsZWQgdG8gcGFyc2UgdG9rZW46ICR7ZX1gKTtcbiAgfVxufTtcblxuZXhwb3J0IGNsYXNzIEludGVybmFsU3VwZXJVc2VyUGVybWlzc2lvbnMgZXh0ZW5kcyBQcmVkZWZpbmVkU2NvcGUge31cbiJdfQ==