@aneoconsultingfr/armonik.api.angular 3.24.1-edge.6.cd81cdb → 3.25.0-edge.14.b753aff

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.
@@ -168,6 +168,24 @@ export class ResultsClient {
168
168
  responseClass: armonikApiGrpcV1Results008.DeleteResultsDataResponse
169
169
  });
170
170
  },
171
+ /**
172
+ * Unary call: /armonik.api.grpc.v1.results.Results/ImportResultsData
173
+ *
174
+ * @param requestMessage Request message
175
+ * @param requestMetadata Request metadata
176
+ * @returns Observable<GrpcEvent<armonikApiGrpcV1Results008.ImportResultsDataResponse>>
177
+ */
178
+ importResultsData: (requestData, requestMetadata = new GrpcMetadata()) => {
179
+ return this.handler.handle({
180
+ type: GrpcCallType.unary,
181
+ client: this.client,
182
+ path: '/armonik.api.grpc.v1.results.Results/ImportResultsData',
183
+ requestData,
184
+ requestMetadata,
185
+ requestClass: armonikApiGrpcV1Results008.ImportResultsDataRequest,
186
+ responseClass: armonikApiGrpcV1Results008.ImportResultsDataResponse
187
+ });
188
+ },
171
189
  /**
172
190
  * Unary call: /armonik.api.grpc.v1.results.Results/GetServiceConfiguration
173
191
  *
@@ -303,6 +321,18 @@ export class ResultsClient {
303
321
  .deleteResultsData(requestData, requestMetadata)
304
322
  .pipe(throwStatusErrors(), takeMessages());
305
323
  }
324
+ /**
325
+ * Unary call @/armonik.api.grpc.v1.results.Results/ImportResultsData
326
+ *
327
+ * @param requestMessage Request message
328
+ * @param requestMetadata Request metadata
329
+ * @returns Observable<armonikApiGrpcV1Results008.ImportResultsDataResponse>
330
+ */
331
+ importResultsData(requestData, requestMetadata = new GrpcMetadata()) {
332
+ return this.$raw
333
+ .importResultsData(requestData, requestMetadata)
334
+ .pipe(throwStatusErrors(), takeMessages());
335
+ }
306
336
  /**
307
337
  * Unary call @/armonik.api.grpc.v1.results.Results/GetServiceConfiguration
308
338
  *
@@ -342,4 +372,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
342
372
  type: Inject,
343
373
  args: [GRPC_CLIENT_FACTORY]
344
374
  }] }, { type: i1.GrpcHandler }] });
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy1zZXJ2aWNlLnBic2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmVvY29uc3VsdGluZ2ZyL2FybW9uaWsuYXBpLmFuZ3VsYXIvc3JjL2xpYi9nZW5lcmF0ZWQvcmVzdWx0cy1zZXJ2aWNlLnBic2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixjQUFjO0FBQ2QsRUFBRTtBQUNGLDJCQUEyQjtBQUMzQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxZQUFZLEVBSVosWUFBWSxFQUNiLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUNMLG1CQUFtQixFQUVuQixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFVeEIsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEtBQUssMEJBQTBCLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUN4RTs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBa1B4QixZQUNvRCxRQUFhLEVBQ2xDLGFBQXFDLEVBQzFELE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFsUDlCOzs7O1dBSUc7UUFDSCxTQUFJLEdBQUc7WUFDTDs7Ozs7O2VBTUc7WUFDSCxXQUFXLEVBQUUsQ0FDWCxXQUEwRCxFQUMxRCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFHcEMsRUFBRTtnQkFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFB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dHNsaW50OmRpc2FibGUgKi9cbi8qIGVzbGludC1kaXNhYmxlICovXG4vLyBAdHMtbm9jaGVja1xuLy9cbi8vIFRISVMgSVMgQSBHRU5FUkFURUQgRklMRVxuLy8gRE8gTk9UIE1PRElGWSBJVCEgWU9VUiBDSEFOR0VTIFdJTEwgQkUgTE9TVFxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgR3JwY0NhbGxUeXBlLFxuICBHcnBjQ2xpZW50LFxuICBHcnBjQ2xpZW50RmFjdG9yeSxcbiAgR3JwY0V2ZW50LFxuICBHcnBjTWV0YWRhdGFcbn0gZnJvbSAnQG5neC1ncnBjL2NvbW1vbic7XG5pbXBvcnQge1xuICBHUlBDX0NMSUVOVF9GQUNUT1JZLFxuICBHcnBjSGFuZGxlcixcbiAgdGFrZU1lc3NhZ2VzLFxuICB0aHJvd1N0YXR1c0Vycm9yc1xufSBmcm9tICdAbmd4LWdycGMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyB0aGlzUHJvdG8gZnJvbSAnLi9yZXN1bHRzLXNlcnZpY2UucGInO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDAgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVRhc2tfc3RhdHVzMDAxIGZyb20gJy4vdGFzay1zdGF0dXMucGInO1xuaW1wb3J0ICogYXMgZ29vZ2xlUHJvdG9idWYwMDIgZnJvbSAnQG5neC1ncnBjL3dlbGwta25vd24tdHlwZXMnO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVJlc3VsdF9zdGF0dXMwMDMgZnJvbSAnLi9yZXN1bHQtc3RhdHVzLnBiJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA0IGZyb20gJy4vcmVzdWx0cy1maWVsZHMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUgZnJvbSAnLi9yZXN1bHRzLWZpbHRlcnMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVNvcnRfZGlyZWN0aW9uMDA2IGZyb20gJy4vc29ydC1kaXJlY3Rpb24ucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMTAwNyBmcm9tICcuL29iamVjdHMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDggZnJvbSAnLi9yZXN1bHRzLWNvbW1vbi5wYic7XG5pbXBvcnQgeyBHUlBDX1JFU1VMVFNfQ0xJRU5UX1NFVFRJTkdTIH0gZnJvbSAnLi9yZXN1bHRzLXNlcnZpY2UucGJjb25mJztcbi8qKlxuICogU2VydmljZSBjbGllbnQgaW1wbGVtZW50YXRpb24gZm9yIGFybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ2FueScgfSlcbmV4cG9ydCBjbGFzcyBSZXN1bHRzQ2xpZW50IHtcbiAgcHJpdmF0ZSBjbGllbnQ6IEdycGNDbGllbnQ8YW55PjtcblxuICAvKipcbiAgICogUmF3IFJQQyBpbXBsZW1lbnRhdGlvbiBmb3IgZWFjaCBzZXJ2aWNlIGNsaWVudCBtZXRob2QuXG4gICAqIFRoZSByYXcgbWV0aG9kcyBwcm92aWRlIG1vcmUgY29udHJvbCBvbiB0aGUgaW5jb21pbmcgZGF0YSBhbmQgZXZlbnRzLiBFLmcuIHRoZXkgY2FuIGJlIHVzZWZ1bCB0byByZWFkIHN0YXR1cyBgT0tgIG1ldGFkYXRhLlxuICAgKiBBdHRlbnRpb246IHRoZXNlIG1ldGhvZHMgZG8gbm90IHRocm93IGVycm9ycyB3aGVuIG5vbi16ZXJvIHN0YXR1cyBjb2RlcyBhcmUgcmVjZWl2ZWQuXG4gICAqL1xuICAkcmF3ID0ge1xuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9MaXN0UmVzdWx0c1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4Lkxpc3RSZXN1bHRzUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGxpc3RSZXN1bHRzOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguTGlzdFJlc3VsdHNSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5MaXN0UmVzdWx0c1Jlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvTGlzdFJlc3VsdHMnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4Lkxpc3RSZXN1bHRzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguTGlzdFJlc3VsdHNSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvR2V0UmVzdWx0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0UmVzdWx0UmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGdldFJlc3VsdDogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldFJlc3VsdFJlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5HZXRSZXN1bHRSZXNwb25zZT4+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldFJlc3VsdCcsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0UmVzdWx0UmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0UmVzdWx0UmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldE93bmVyVGFza0lkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0T3duZXJUYXNrSWRSZXNwb25zZT4+XG4gICAgICovXG4gICAgZ2V0T3duZXJUYXNrSWQ6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5HZXRPd25lclRhc2tJZFJlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldE93bmVyVGFza0lkUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9HZXRPd25lclRhc2tJZCcsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0T3duZXJUYXNrSWRSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5HZXRPd25lclRhc2tJZFJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9DcmVhdGVSZXN1bHRzTWV0YURhdGFcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXNwb25zZT4+XG4gICAgICovXG4gICAgY3JlYXRlUmVzdWx0c01ldGFEYXRhOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguQ3JlYXRlUmVzdWx0c01ldGFEYXRhUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguQ3JlYXRlUmVzdWx0c01ldGFEYXRhUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9DcmVhdGVSZXN1bHRzTWV0YURhdGEnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNNZXRhRGF0YVJlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNNZXRhRGF0YVJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9DcmVhdGVSZXN1bHRzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguQ3JlYXRlUmVzdWx0c1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBjcmVhdGVSZXN1bHRzOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguQ3JlYXRlUmVzdWx0c1JlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNSZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0NyZWF0ZVJlc3VsdHMnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5DcmVhdGVSZXN1bHRzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogQ2xpZW50IHN0cmVhbWluZzogL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL1VwbG9hZFJlc3VsdERhdGFcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5VcGxvYWRSZXN1bHREYXRhUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIHVwbG9hZFJlc3VsdERhdGE6IChcbiAgICAgIHJlcXVlc3REYXRhOiBPYnNlcnZhYmxlPFxuICAgICAgICBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5VcGxvYWRSZXN1bHREYXRhUmVxdWVzdFxuICAgICAgPixcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguVXBsb2FkUmVzdWx0RGF0YVJlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUuY2xpZW50U3RyZWFtLFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL1VwbG9hZFJlc3VsdERhdGEnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LlVwbG9hZFJlc3VsdERhdGFSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5VcGxvYWRSZXN1bHREYXRhUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogU2VydmVyIHN0cmVhbWluZzogL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0Rvd25sb2FkUmVzdWx0RGF0YVxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkRvd25sb2FkUmVzdWx0RGF0YVJlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBkb3dubG9hZFJlc3VsdERhdGE6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5Eb3dubG9hZFJlc3VsdERhdGFSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnNlcnZlclN0cmVhbSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9Eb3dubG9hZFJlc3VsdERhdGEnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkRvd25sb2FkUmVzdWx0RGF0YVJlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkRvd25sb2FkUmVzdWx0RGF0YVJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9EZWxldGVSZXN1bHRzRGF0YVxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkRlbGV0ZVJlc3VsdHNEYXRhUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGRlbGV0ZVJlc3VsdHNEYXRhOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguRGVsZXRlUmVzdWx0c0RhdGFSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5EZWxldGVSZXN1bHRzRGF0YVJlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvRGVsZXRlUmVzdWx0c0RhdGEnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkRlbGV0ZVJlc3VsdHNEYXRhUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguRGVsZXRlUmVzdWx0c0RhdGFSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvR2V0U2VydmljZUNvbmZpZ3VyYXRpb25cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5SZXN1bHRzU2VydmljZUNvbmZpZ3VyYXRpb25SZXNwb25zZT4+XG4gICAgICovXG4gICAgZ2V0U2VydmljZUNvbmZpZ3VyYXRpb246IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxMDA3LkVtcHR5LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5SZXN1bHRzU2VydmljZUNvbmZpZ3VyYXRpb25SZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldFNlcnZpY2VDb25maWd1cmF0aW9uJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxMDA3LkVtcHR5LFxuICAgICAgICByZXNwb25zZUNsYXNzOlxuICAgICAgICAgIGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LlJlc3VsdHNTZXJ2aWNlQ29uZmlndXJhdGlvblJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIEJpZGlyZWN0aW9uYWwgc3RyZWFtaW5nOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvV2F0Y2hSZXN1bHRzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguV2F0Y2hSZXN1bHRSZXNwb25zZT4+XG4gICAgICovXG4gICAgd2F0Y2hSZXN1bHRzOiAoXG4gICAgICByZXF1ZXN0RGF0YTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5XYXRjaFJlc3VsdFJlcXVlc3Q+LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5XYXRjaFJlc3VsdFJlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUuYmlkaVN0cmVhbSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9XYXRjaFJlc3VsdHMnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LldhdGNoUmVzdWx0UmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguV2F0Y2hSZXN1bHRSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoR1JQQ19SRVNVTFRTX0NMSUVOVF9TRVRUSU5HUykgc2V0dGluZ3M6IGFueSxcbiAgICBASW5qZWN0KEdSUENfQ0xJRU5UX0ZBQ1RPUlkpIGNsaWVudEZhY3Rvcnk6IEdycGNDbGllbnRGYWN0b3J5PGFueT4sXG4gICAgcHJpdmF0ZSBoYW5kbGVyOiBHcnBjSGFuZGxlclxuICApIHtcbiAgICB0aGlzLmNsaWVudCA9IGNsaWVudEZhY3RvcnkuY3JlYXRlQ2xpZW50KFxuICAgICAgJ2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzJyxcbiAgICAgIHNldHRpbmdzXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvTGlzdFJlc3VsdHNcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5MaXN0UmVzdWx0c1Jlc3BvbnNlPlxuICAgKi9cbiAgbGlzdFJlc3VsdHMoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4Lkxpc3RSZXN1bHRzUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5MaXN0UmVzdWx0c1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmxpc3RSZXN1bHRzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldFJlc3VsdFxuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldFJlc3VsdFJlc3BvbnNlPlxuICAgKi9cbiAgZ2V0UmVzdWx0KFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5HZXRSZXN1bHRSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldFJlc3VsdFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmdldFJlc3VsdChyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYXJ5IGNhbGwgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9HZXRPd25lclRhc2tJZFxuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldE93bmVyVGFza0lkUmVzcG9uc2U+XG4gICAqL1xuICBnZXRPd25lclRhc2tJZChcbiAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0T3duZXJUYXNrSWRSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldE93bmVyVGFza0lkUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuZ2V0T3duZXJUYXNrSWQocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvQ3JlYXRlUmVzdWx0c01ldGFEYXRhXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguQ3JlYXRlUmVzdWx0c01ldGFEYXRhUmVzcG9uc2U+XG4gICAqL1xuICBjcmVhdGVSZXN1bHRzTWV0YURhdGEoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNNZXRhRGF0YVJlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguQ3JlYXRlUmVzdWx0c01ldGFEYXRhUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuY3JlYXRlUmVzdWx0c01ldGFEYXRhKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0NyZWF0ZVJlc3VsdHNcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5DcmVhdGVSZXN1bHRzUmVzcG9uc2U+XG4gICAqL1xuICBjcmVhdGVSZXN1bHRzKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5DcmVhdGVSZXN1bHRzUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5DcmVhdGVSZXN1bHRzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuY3JlYXRlUmVzdWx0cyhyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWVudCBzdHJlYW1pbmcgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9VcGxvYWRSZXN1bHREYXRhXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguVXBsb2FkUmVzdWx0RGF0YVJlc3BvbnNlPlxuICAgKi9cbiAgdXBsb2FkUmVzdWx0RGF0YShcbiAgICByZXF1ZXN0RGF0YTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5VcGxvYWRSZXN1bHREYXRhUmVxdWVzdD4sXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguVXBsb2FkUmVzdWx0RGF0YVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLnVwbG9hZFJlc3VsdERhdGEocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJ2ZXIgc3RyZWFtaW5nIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvRG93bmxvYWRSZXN1bHREYXRhXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguRG93bmxvYWRSZXN1bHREYXRhUmVzcG9uc2U+XG4gICAqL1xuICBkb3dubG9hZFJlc3VsdERhdGEoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkRvd25sb2FkUmVzdWx0RGF0YVJlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguRG93bmxvYWRSZXN1bHREYXRhUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuZG93bmxvYWRSZXN1bHREYXRhKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0RlbGV0ZVJlc3VsdHNEYXRhXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguRGVsZXRlUmVzdWx0c0RhdGFSZXNwb25zZT5cbiAgICovXG4gIGRlbGV0ZVJlc3VsdHNEYXRhKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5EZWxldGVSZXN1bHRzRGF0YVJlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguRGVsZXRlUmVzdWx0c0RhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5kZWxldGVSZXN1bHRzRGF0YShyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYXJ5IGNhbGwgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9HZXRTZXJ2aWNlQ29uZmlndXJhdGlvblxuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LlJlc3VsdHNTZXJ2aWNlQ29uZmlndXJhdGlvblJlc3BvbnNlPlxuICAgKi9cbiAgZ2V0U2VydmljZUNvbmZpZ3VyYXRpb24oXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjEwMDcuRW1wdHksXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8XG4gICAgYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguUmVzdWx0c1NlcnZpY2VDb25maWd1cmF0aW9uUmVzcG9uc2VcbiAgPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmdldFNlcnZpY2VDb25maWd1cmF0aW9uKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogQmlkaXJlY3Rpb25hbCBzdHJlYW1pbmcgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9XYXRjaFJlc3VsdHNcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5XYXRjaFJlc3VsdFJlc3BvbnNlPlxuICAgKi9cbiAgd2F0Y2hSZXN1bHRzKFxuICAgIHJlcXVlc3REYXRhOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LldhdGNoUmVzdWx0UmVxdWVzdD4sXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguV2F0Y2hSZXN1bHRSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC53YXRjaFJlc3VsdHMocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxufVxuIl19
375
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy1zZXJ2aWNlLnBic2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmVvY29uc3VsdGluZ2ZyL2FybW9uaWsuYXBpLmFuZ3VsYXIvc3JjL2xpYi9nZW5lcmF0ZWQvcmVzdWx0cy1zZXJ2aWNlLnBic2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixjQUFjO0FBQ2QsRUFBRTtBQUNGLDJCQUEyQjtBQUMzQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxZQUFZLEVBSVosWUFBWSxFQUNiLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUNMLG1CQUFtQixFQUVuQixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFVeEIsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEtBQUssMEJBQTBCLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUN4RTs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBeVF4QixZQUNvRCxRQUFhLEVBQ2xDLGFBQXFDLEVBQzFELE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUF6UTlCOzs7O1dBSUc7UUFDSCxTQUFJLEdBQUc7WUFDTDs7Ozs7O2VBTUc7WUFDSCxXQUFXLEVBQUUsQ0FDWCxXQUEwRCxFQUMxRCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFHcEMsRUFBRTtnQkFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFB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LEVBQUU7UUFJcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDckQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxDQUNWLFdBQXNFLEVBQ3RFLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRTtRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsWUFBWSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDMUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQXBjVSxhQUFhLGtCQTBRRiw0QkFBNEIsNkJBQ3hDLG1CQUFtQjtrSEEzUWxCLGFBQWEsY0FEQSxLQUFLOzsyRkFDbEIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUU7OzBCQTJRNUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyw0QkFBNEI7OzBCQUMvQyxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuLy8gQHRzLW5vY2hlY2tcbi8vXG4vLyBUSElTIElTIEEgR0VORVJBVEVEIEZJTEVcbi8vIERPIE5PVCBNT0RJRlkgSVQhIFlPVVIgQ0hBTkdFUyBXSUxMIEJFIExPU1RcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEdycGNDYWxsVHlwZSxcbiAgR3JwY0NsaWVudCxcbiAgR3JwY0NsaWVudEZhY3RvcnksXG4gIEdycGNFdmVudCxcbiAgR3JwY01ldGFkYXRhXG59IGZyb20gJ0BuZ3gtZ3JwYy9jb21tb24nO1xuaW1wb3J0IHtcbiAgR1JQQ19DTElFTlRfRkFDVE9SWSxcbiAgR3JwY0hhbmRsZXIsXG4gIHRha2VNZXNzYWdlcyxcbiAgdGhyb3dTdGF0dXNFcnJvcnNcbn0gZnJvbSAnQG5neC1ncnBjL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgdGhpc1Byb3RvIGZyb20gJy4vcmVzdWx0cy1zZXJ2aWNlLnBiJztcbmltcG9ydCAqIGFzIGdvb2dsZVByb3RvYnVmMDAwIGZyb20gJ0BuZ3gtZ3JwYy93ZWxsLWtub3duLXR5cGVzJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjFUYXNrX3N0YXR1czAwMSBmcm9tICcuL3Rhc2stc3RhdHVzLnBiJztcbmltcG9ydCAqIGFzIGdvb2dsZVByb3RvYnVmMDAyIGZyb20gJ0BuZ3gtZ3JwYy93ZWxsLWtub3duLXR5cGVzJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjFSZXN1bHRfc3RhdHVzMDAzIGZyb20gJy4vcmVzdWx0LXN0YXR1cy5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNCBmcm9tICcuL3Jlc3VsdHMtZmllbGRzLnBiJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1IGZyb20gJy4vcmVzdWx0cy1maWx0ZXJzLnBiJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjFTb3J0X2RpcmVjdGlvbjAwNiBmcm9tICcuL3NvcnQtZGlyZWN0aW9uLnBiJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjEwMDcgZnJvbSAnLi9vYmplY3RzLnBiJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4IGZyb20gJy4vcmVzdWx0cy1jb21tb24ucGInO1xuaW1wb3J0IHsgR1JQQ19SRVNVTFRTX0NMSUVOVF9TRVRUSU5HUyB9IGZyb20gJy4vcmVzdWx0cy1zZXJ2aWNlLnBiY29uZic7XG4vKipcbiAqIFNlcnZpY2UgY2xpZW50IGltcGxlbWVudGF0aW9uIGZvciBhcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0c1xuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdhbnknIH0pXG5leHBvcnQgY2xhc3MgUmVzdWx0c0NsaWVudCB7XG4gIHByaXZhdGUgY2xpZW50OiBHcnBjQ2xpZW50PGFueT47XG5cbiAgLyoqXG4gICAqIFJhdyBSUEMgaW1wbGVtZW50YXRpb24gZm9yIGVhY2ggc2VydmljZSBjbGllbnQgbWV0aG9kLlxuICAgKiBUaGUgcmF3IG1ldGhvZHMgcHJvdmlkZSBtb3JlIGNvbnRyb2wgb24gdGhlIGluY29taW5nIGRhdGEgYW5kIGV2ZW50cy4gRS5nLiB0aGV5IGNhbiBiZSB1c2VmdWwgdG8gcmVhZCBzdGF0dXMgYE9LYCBtZXRhZGF0YS5cbiAgICogQXR0ZW50aW9uOiB0aGVzZSBtZXRob2RzIGRvIG5vdCB0aHJvdyBlcnJvcnMgd2hlbiBub24temVybyBzdGF0dXMgY29kZXMgYXJlIHJlY2VpdmVkLlxuICAgKi9cbiAgJHJhdyA9IHtcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvTGlzdFJlc3VsdHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5MaXN0UmVzdWx0c1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBsaXN0UmVzdWx0czogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4Lkxpc3RSZXN1bHRzUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguTGlzdFJlc3VsdHNSZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0xpc3RSZXN1bHRzJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5MaXN0UmVzdWx0c1JlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4Lkxpc3RSZXN1bHRzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldFJlc3VsdFxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldFJlc3VsdFJlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBnZXRSZXN1bHQ6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5HZXRSZXN1bHRSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0UmVzdWx0UmVzcG9uc2U+PiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9HZXRSZXN1bHQnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldFJlc3VsdFJlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldFJlc3VsdFJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9HZXRPd25lclRhc2tJZFxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldE93bmVyVGFza0lkUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGdldE93bmVyVGFza0lkOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0T3duZXJUYXNrSWRSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5HZXRPd25lclRhc2tJZFJlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvR2V0T3duZXJUYXNrSWQnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldE93bmVyVGFza0lkUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0T3duZXJUYXNrSWRSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvQ3JlYXRlUmVzdWx0c01ldGFEYXRhXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguQ3JlYXRlUmVzdWx0c01ldGFEYXRhUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGNyZWF0ZVJlc3VsdHNNZXRhRGF0YTogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNNZXRhRGF0YVJlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNNZXRhRGF0YVJlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvQ3JlYXRlUmVzdWx0c01ldGFEYXRhJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvQ3JlYXRlUmVzdWx0c1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNSZXNwb25zZT4+XG4gICAgICovXG4gICAgY3JlYXRlUmVzdWx0czogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5DcmVhdGVSZXN1bHRzUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9DcmVhdGVSZXN1bHRzJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5DcmVhdGVSZXN1bHRzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguQ3JlYXRlUmVzdWx0c1Jlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIENsaWVudCBzdHJlYW1pbmc6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9VcGxvYWRSZXN1bHREYXRhXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguVXBsb2FkUmVzdWx0RGF0YVJlc3BvbnNlPj5cbiAgICAgKi9cbiAgICB1cGxvYWRSZXN1bHREYXRhOiAoXG4gICAgICByZXF1ZXN0RGF0YTogT2JzZXJ2YWJsZTxcbiAgICAgICAgYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguVXBsb2FkUmVzdWx0RGF0YVJlcXVlc3RcbiAgICAgID4sXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LlVwbG9hZFJlc3VsdERhdGFSZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLmNsaWVudFN0cmVhbSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9VcGxvYWRSZXN1bHREYXRhJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5VcGxvYWRSZXN1bHREYXRhUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguVXBsb2FkUmVzdWx0RGF0YVJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFNlcnZlciBzdHJlYW1pbmc6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9Eb3dubG9hZFJlc3VsdERhdGFcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZT4+XG4gICAgICovXG4gICAgZG93bmxvYWRSZXN1bHREYXRhOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguRG93bmxvYWRSZXN1bHREYXRhUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguRG93bmxvYWRSZXN1bHREYXRhUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS5zZXJ2ZXJTdHJlYW0sXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvRG93bmxvYWRSZXN1bHREYXRhJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5Eb3dubG9hZFJlc3VsdERhdGFSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvRGVsZXRlUmVzdWx0c0RhdGFcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5EZWxldGVSZXN1bHRzRGF0YVJlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBkZWxldGVSZXN1bHRzRGF0YTogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkRlbGV0ZVJlc3VsdHNEYXRhUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguRGVsZXRlUmVzdWx0c0RhdGFSZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0RlbGV0ZVJlc3VsdHNEYXRhJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5EZWxldGVSZXN1bHRzRGF0YVJlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkRlbGV0ZVJlc3VsdHNEYXRhUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0ltcG9ydFJlc3VsdHNEYXRhXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguSW1wb3J0UmVzdWx0c0RhdGFSZXNwb25zZT4+XG4gICAgICovXG4gICAgaW1wb3J0UmVzdWx0c0RhdGE6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5JbXBvcnRSZXN1bHRzRGF0YVJlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkltcG9ydFJlc3VsdHNEYXRhUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9JbXBvcnRSZXN1bHRzRGF0YScsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguSW1wb3J0UmVzdWx0c0RhdGFSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5JbXBvcnRSZXN1bHRzRGF0YVJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9HZXRTZXJ2aWNlQ29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LlJlc3VsdHNTZXJ2aWNlQ29uZmlndXJhdGlvblJlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBnZXRTZXJ2aWNlQ29uZmlndXJhdGlvbjogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjEwMDcuRW1wdHksXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LlJlc3VsdHNTZXJ2aWNlQ29uZmlndXJhdGlvblJlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvR2V0U2VydmljZUNvbmZpZ3VyYXRpb24nLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjEwMDcuRW1wdHksXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6XG4gICAgICAgICAgYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguUmVzdWx0c1NlcnZpY2VDb25maWd1cmF0aW9uUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogQmlkaXJlY3Rpb25hbCBzdHJlYW1pbmc6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9XYXRjaFJlc3VsdHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5XYXRjaFJlc3VsdFJlc3BvbnNlPj5cbiAgICAgKi9cbiAgICB3YXRjaFJlc3VsdHM6IChcbiAgICAgIHJlcXVlc3REYXRhOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LldhdGNoUmVzdWx0UmVxdWVzdD4sXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LldhdGNoUmVzdWx0UmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS5iaWRpU3RyZWFtLFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL1dhdGNoUmVzdWx0cycsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguV2F0Y2hSZXN1bHRSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5XYXRjaFJlc3VsdFJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChHUlBDX1JFU1VMVFNfQ0xJRU5UX1NFVFRJTkdTKSBzZXR0aW5nczogYW55LFxuICAgIEBJbmplY3QoR1JQQ19DTElFTlRfRkFDVE9SWSkgY2xpZW50RmFjdG9yeTogR3JwY0NsaWVudEZhY3Rvcnk8YW55PixcbiAgICBwcml2YXRlIGhhbmRsZXI6IEdycGNIYW5kbGVyXG4gICkge1xuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50RmFjdG9yeS5jcmVhdGVDbGllbnQoXG4gICAgICAnYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMnLFxuICAgICAgc2V0dGluZ3NcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYXJ5IGNhbGwgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9MaXN0UmVzdWx0c1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4Lkxpc3RSZXN1bHRzUmVzcG9uc2U+XG4gICAqL1xuICBsaXN0UmVzdWx0cyhcbiAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguTGlzdFJlc3VsdHNSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4Lkxpc3RSZXN1bHRzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAubGlzdFJlc3VsdHMocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvR2V0UmVzdWx0XG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0UmVzdWx0UmVzcG9uc2U+XG4gICAqL1xuICBnZXRSZXN1bHQoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkdldFJlc3VsdFJlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0UmVzdWx0UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuZ2V0UmVzdWx0KHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldE93bmVyVGFza0lkXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0T3duZXJUYXNrSWRSZXNwb25zZT5cbiAgICovXG4gIGdldE93bmVyVGFza0lkKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5HZXRPd25lclRhc2tJZFJlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguR2V0T3duZXJUYXNrSWRSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5nZXRPd25lclRhc2tJZChyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYXJ5IGNhbGwgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9DcmVhdGVSZXN1bHRzTWV0YURhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXNwb25zZT5cbiAgICovXG4gIGNyZWF0ZVJlc3VsdHNNZXRhRGF0YShcbiAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguQ3JlYXRlUmVzdWx0c01ldGFEYXRhUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5jcmVhdGVSZXN1bHRzTWV0YURhdGEocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvQ3JlYXRlUmVzdWx0c1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNSZXNwb25zZT5cbiAgICovXG4gIGNyZWF0ZVJlc3VsdHMoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkNyZWF0ZVJlc3VsdHNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5jcmVhdGVSZXN1bHRzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpZW50IHN0cmVhbWluZyBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL1VwbG9hZFJlc3VsdERhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5VcGxvYWRSZXN1bHREYXRhUmVzcG9uc2U+XG4gICAqL1xuICB1cGxvYWRSZXN1bHREYXRhKFxuICAgIHJlcXVlc3REYXRhOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LlVwbG9hZFJlc3VsdERhdGFSZXF1ZXN0PixcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5VcGxvYWRSZXN1bHREYXRhUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAudXBsb2FkUmVzdWx0RGF0YShyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcnZlciBzdHJlYW1pbmcgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9Eb3dubG9hZFJlc3VsdERhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZT5cbiAgICovXG4gIGRvd25sb2FkUmVzdWx0RGF0YShcbiAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguRG93bmxvYWRSZXN1bHREYXRhUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5kb3dubG9hZFJlc3VsdERhdGEocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvRGVsZXRlUmVzdWx0c0RhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5EZWxldGVSZXN1bHRzRGF0YVJlc3BvbnNlPlxuICAgKi9cbiAgZGVsZXRlUmVzdWx0c0RhdGEoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LkRlbGV0ZVJlc3VsdHNEYXRhUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5EZWxldGVSZXN1bHRzRGF0YVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmRlbGV0ZVJlc3VsdHNEYXRhKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0ltcG9ydFJlc3VsdHNEYXRhXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguSW1wb3J0UmVzdWx0c0RhdGFSZXNwb25zZT5cbiAgICovXG4gIGltcG9ydFJlc3VsdHNEYXRhKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5JbXBvcnRSZXN1bHRzRGF0YVJlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguSW1wb3J0UmVzdWx0c0RhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5pbXBvcnRSZXN1bHRzRGF0YShyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYXJ5IGNhbGwgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9HZXRTZXJ2aWNlQ29uZmlndXJhdGlvblxuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LlJlc3VsdHNTZXJ2aWNlQ29uZmlndXJhdGlvblJlc3BvbnNlPlxuICAgKi9cbiAgZ2V0U2VydmljZUNvbmZpZ3VyYXRpb24oXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjEwMDcuRW1wdHksXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8XG4gICAgYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguUmVzdWx0c1NlcnZpY2VDb25maWd1cmF0aW9uUmVzcG9uc2VcbiAgPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmdldFNlcnZpY2VDb25maWd1cmF0aW9uKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogQmlkaXJlY3Rpb25hbCBzdHJlYW1pbmcgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9XYXRjaFJlc3VsdHNcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwOC5XYXRjaFJlc3VsdFJlc3BvbnNlPlxuICAgKi9cbiAgd2F0Y2hSZXN1bHRzKFxuICAgIHJlcXVlc3REYXRhOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA4LldhdGNoUmVzdWx0UmVxdWVzdD4sXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDguV2F0Y2hSZXN1bHRSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC53YXRjaFJlc3VsdHMocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxufVxuIl19
@@ -10116,6 +10116,7 @@ class ResultRaw {
10116
10116
  _instance.resultId = _instance.resultId || '';
10117
10117
  _instance.size = _instance.size || '0';
10118
10118
  _instance.createdBy = _instance.createdBy || '';
10119
+ _instance.opaqueId = _instance.opaqueId || new Uint8Array();
10119
10120
  }
10120
10121
  /**
10121
10122
  * Deserializes / reads binary message into message instance using provided binary reader
@@ -10156,6 +10157,9 @@ class ResultRaw {
10156
10157
  case 10:
10157
10158
  _instance.createdBy = _reader.readString();
10158
10159
  break;
10160
+ case 11:
10161
+ _instance.opaqueId = _reader.readBytes();
10162
+ break;
10159
10163
  default:
10160
10164
  _reader.skipField();
10161
10165
  }
@@ -10195,6 +10199,9 @@ class ResultRaw {
10195
10199
  if (_instance.createdBy) {
10196
10200
  _writer.writeString(10, _instance.createdBy);
10197
10201
  }
10202
+ if (_instance.opaqueId && _instance.opaqueId.length) {
10203
+ _writer.writeBytes(11, _instance.opaqueId);
10204
+ }
10198
10205
  }
10199
10206
  /**
10200
10207
  * Message constructor. Initializes the properties and applies default Protobuf values if necessary
@@ -10215,6 +10222,7 @@ class ResultRaw {
10215
10222
  this.resultId = _value.resultId;
10216
10223
  this.size = _value.size;
10217
10224
  this.createdBy = _value.createdBy;
10225
+ this.opaqueId = _value.opaqueId;
10218
10226
  ResultRaw.refineValues(this);
10219
10227
  }
10220
10228
  get sessionId() {
@@ -10271,6 +10279,12 @@ class ResultRaw {
10271
10279
  set createdBy(value) {
10272
10280
  this._createdBy = value;
10273
10281
  }
10282
+ get opaqueId() {
10283
+ return this._opaqueId;
10284
+ }
10285
+ set opaqueId(value) {
10286
+ this._opaqueId = value;
10287
+ }
10274
10288
  /**
10275
10289
  * Serialize message to binary data
10276
10290
  * @param instance message instance
@@ -10293,7 +10307,8 @@ class ResultRaw {
10293
10307
  completedAt: this.completedAt ? this.completedAt.toObject() : undefined,
10294
10308
  resultId: this.resultId,
10295
10309
  size: this.size,
10296
- createdBy: this.createdBy
10310
+ createdBy: this.createdBy,
10311
+ opaqueId: this.opaqueId ? this.opaqueId.subarray(0) : new Uint8Array()
10297
10312
  };
10298
10313
  }
10299
10314
  /**
@@ -10321,7 +10336,8 @@ class ResultRaw {
10321
10336
  : null,
10322
10337
  resultId: this.resultId,
10323
10338
  size: this.size,
10324
- createdBy: this.createdBy
10339
+ createdBy: this.createdBy,
10340
+ opaqueId: this.opaqueId ? uint8ArrayToBase64(this.opaqueId) : ''
10325
10341
  };
10326
10342
  }
10327
10343
  }
@@ -12894,6 +12910,348 @@ class DeleteResultsDataResponse {
12894
12910
  };
12895
12911
  }
12896
12912
  }
12913
+ /**
12914
+ * Message implementation for armonik.api.grpc.v1.results.ImportResultsDataRequest
12915
+ */
12916
+ class ImportResultsDataRequest {
12917
+ static { this.id = 'armonik.api.grpc.v1.results.ImportResultsDataRequest'; }
12918
+ /**
12919
+ * Deserialize binary data to message
12920
+ * @param instance message instance
12921
+ */
12922
+ static deserializeBinary(bytes) {
12923
+ const instance = new ImportResultsDataRequest();
12924
+ ImportResultsDataRequest.deserializeBinaryFromReader(instance, new BinaryReader(bytes));
12925
+ return instance;
12926
+ }
12927
+ /**
12928
+ * Check all the properties and set default protobuf values if necessary
12929
+ * @param _instance message instance
12930
+ */
12931
+ static refineValues(_instance) {
12932
+ _instance.sessionId = _instance.sessionId || '';
12933
+ _instance.results = _instance.results || [];
12934
+ }
12935
+ /**
12936
+ * Deserializes / reads binary message into message instance using provided binary reader
12937
+ * @param _instance message instance
12938
+ * @param _reader binary reader instance
12939
+ */
12940
+ static deserializeBinaryFromReader(_instance, _reader) {
12941
+ while (_reader.nextField()) {
12942
+ if (_reader.isEndGroup())
12943
+ break;
12944
+ switch (_reader.getFieldNumber()) {
12945
+ case 1:
12946
+ _instance.sessionId = _reader.readString();
12947
+ break;
12948
+ case 2:
12949
+ const messageInitializer2 = new ImportResultsDataRequest.ResultOpaqueId();
12950
+ _reader.readMessage(messageInitializer2, ImportResultsDataRequest.ResultOpaqueId.deserializeBinaryFromReader);
12951
+ (_instance.results = _instance.results || []).push(messageInitializer2);
12952
+ break;
12953
+ default:
12954
+ _reader.skipField();
12955
+ }
12956
+ }
12957
+ ImportResultsDataRequest.refineValues(_instance);
12958
+ }
12959
+ /**
12960
+ * Serializes a message to binary format using provided binary reader
12961
+ * @param _instance message instance
12962
+ * @param _writer binary writer instance
12963
+ */
12964
+ static serializeBinaryToWriter(_instance, _writer) {
12965
+ if (_instance.sessionId) {
12966
+ _writer.writeString(1, _instance.sessionId);
12967
+ }
12968
+ if (_instance.results && _instance.results.length) {
12969
+ _writer.writeRepeatedMessage(2, _instance.results, ImportResultsDataRequest.ResultOpaqueId.serializeBinaryToWriter);
12970
+ }
12971
+ }
12972
+ /**
12973
+ * Message constructor. Initializes the properties and applies default Protobuf values if necessary
12974
+ * @param _value initial values object or instance of ImportResultsDataRequest to deeply clone from
12975
+ */
12976
+ constructor(_value) {
12977
+ _value = _value || {};
12978
+ this.sessionId = _value.sessionId;
12979
+ this.results = (_value.results || []).map(m => new ImportResultsDataRequest.ResultOpaqueId(m));
12980
+ ImportResultsDataRequest.refineValues(this);
12981
+ }
12982
+ get sessionId() {
12983
+ return this._sessionId;
12984
+ }
12985
+ set sessionId(value) {
12986
+ this._sessionId = value;
12987
+ }
12988
+ get results() {
12989
+ return this._results;
12990
+ }
12991
+ set results(value) {
12992
+ this._results = value;
12993
+ }
12994
+ /**
12995
+ * Serialize message to binary data
12996
+ * @param instance message instance
12997
+ */
12998
+ serializeBinary() {
12999
+ const writer = new BinaryWriter();
13000
+ ImportResultsDataRequest.serializeBinaryToWriter(this, writer);
13001
+ return writer.getResultBuffer();
13002
+ }
13003
+ /**
13004
+ * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
13005
+ */
13006
+ toObject() {
13007
+ return {
13008
+ sessionId: this.sessionId,
13009
+ results: (this.results || []).map(m => m.toObject())
13010
+ };
13011
+ }
13012
+ /**
13013
+ * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
13014
+ */
13015
+ toJSON() {
13016
+ return this.toObject();
13017
+ }
13018
+ /**
13019
+ * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
13020
+ * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
13021
+ * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required
13022
+ */
13023
+ toProtobufJSON(
13024
+ // @ts-ignore
13025
+ options) {
13026
+ return {
13027
+ sessionId: this.sessionId,
13028
+ results: (this.results || []).map(m => m.toProtobufJSON(options))
13029
+ };
13030
+ }
13031
+ }
13032
+ (function (ImportResultsDataRequest) {
13033
+ /**
13034
+ * Message implementation for armonik.api.grpc.v1.results.ImportResultsDataRequest.ResultOpaqueId
13035
+ */
13036
+ class ResultOpaqueId {
13037
+ static { this.id = 'armonik.api.grpc.v1.results.ImportResultsDataRequest.ResultOpaqueId'; }
13038
+ /**
13039
+ * Deserialize binary data to message
13040
+ * @param instance message instance
13041
+ */
13042
+ static deserializeBinary(bytes) {
13043
+ const instance = new ResultOpaqueId();
13044
+ ResultOpaqueId.deserializeBinaryFromReader(instance, new BinaryReader(bytes));
13045
+ return instance;
13046
+ }
13047
+ /**
13048
+ * Check all the properties and set default protobuf values if necessary
13049
+ * @param _instance message instance
13050
+ */
13051
+ static refineValues(_instance) {
13052
+ _instance.resultId = _instance.resultId || '';
13053
+ _instance.opaqueId = _instance.opaqueId || new Uint8Array();
13054
+ }
13055
+ /**
13056
+ * Deserializes / reads binary message into message instance using provided binary reader
13057
+ * @param _instance message instance
13058
+ * @param _reader binary reader instance
13059
+ */
13060
+ static deserializeBinaryFromReader(_instance, _reader) {
13061
+ while (_reader.nextField()) {
13062
+ if (_reader.isEndGroup())
13063
+ break;
13064
+ switch (_reader.getFieldNumber()) {
13065
+ case 1:
13066
+ _instance.resultId = _reader.readString();
13067
+ break;
13068
+ case 2:
13069
+ _instance.opaqueId = _reader.readBytes();
13070
+ break;
13071
+ default:
13072
+ _reader.skipField();
13073
+ }
13074
+ }
13075
+ ResultOpaqueId.refineValues(_instance);
13076
+ }
13077
+ /**
13078
+ * Serializes a message to binary format using provided binary reader
13079
+ * @param _instance message instance
13080
+ * @param _writer binary writer instance
13081
+ */
13082
+ static serializeBinaryToWriter(_instance, _writer) {
13083
+ if (_instance.resultId) {
13084
+ _writer.writeString(1, _instance.resultId);
13085
+ }
13086
+ if (_instance.opaqueId && _instance.opaqueId.length) {
13087
+ _writer.writeBytes(2, _instance.opaqueId);
13088
+ }
13089
+ }
13090
+ /**
13091
+ * Message constructor. Initializes the properties and applies default Protobuf values if necessary
13092
+ * @param _value initial values object or instance of ResultOpaqueId to deeply clone from
13093
+ */
13094
+ constructor(_value) {
13095
+ _value = _value || {};
13096
+ this.resultId = _value.resultId;
13097
+ this.opaqueId = _value.opaqueId;
13098
+ ResultOpaqueId.refineValues(this);
13099
+ }
13100
+ get resultId() {
13101
+ return this._resultId;
13102
+ }
13103
+ set resultId(value) {
13104
+ this._resultId = value;
13105
+ }
13106
+ get opaqueId() {
13107
+ return this._opaqueId;
13108
+ }
13109
+ set opaqueId(value) {
13110
+ this._opaqueId = value;
13111
+ }
13112
+ /**
13113
+ * Serialize message to binary data
13114
+ * @param instance message instance
13115
+ */
13116
+ serializeBinary() {
13117
+ const writer = new BinaryWriter();
13118
+ ResultOpaqueId.serializeBinaryToWriter(this, writer);
13119
+ return writer.getResultBuffer();
13120
+ }
13121
+ /**
13122
+ * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
13123
+ */
13124
+ toObject() {
13125
+ return {
13126
+ resultId: this.resultId,
13127
+ opaqueId: this.opaqueId ? this.opaqueId.subarray(0) : new Uint8Array()
13128
+ };
13129
+ }
13130
+ /**
13131
+ * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
13132
+ */
13133
+ toJSON() {
13134
+ return this.toObject();
13135
+ }
13136
+ /**
13137
+ * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
13138
+ * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
13139
+ * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required
13140
+ */
13141
+ toProtobufJSON(
13142
+ // @ts-ignore
13143
+ options) {
13144
+ return {
13145
+ resultId: this.resultId,
13146
+ opaqueId: this.opaqueId ? uint8ArrayToBase64(this.opaqueId) : ''
13147
+ };
13148
+ }
13149
+ }
13150
+ ImportResultsDataRequest.ResultOpaqueId = ResultOpaqueId;
13151
+ })(ImportResultsDataRequest || (ImportResultsDataRequest = {}));
13152
+ /**
13153
+ * Message implementation for armonik.api.grpc.v1.results.ImportResultsDataResponse
13154
+ */
13155
+ class ImportResultsDataResponse {
13156
+ static { this.id = 'armonik.api.grpc.v1.results.ImportResultsDataResponse'; }
13157
+ /**
13158
+ * Deserialize binary data to message
13159
+ * @param instance message instance
13160
+ */
13161
+ static deserializeBinary(bytes) {
13162
+ const instance = new ImportResultsDataResponse();
13163
+ ImportResultsDataResponse.deserializeBinaryFromReader(instance, new BinaryReader(bytes));
13164
+ return instance;
13165
+ }
13166
+ /**
13167
+ * Check all the properties and set default protobuf values if necessary
13168
+ * @param _instance message instance
13169
+ */
13170
+ static refineValues(_instance) {
13171
+ _instance.results = _instance.results || [];
13172
+ }
13173
+ /**
13174
+ * Deserializes / reads binary message into message instance using provided binary reader
13175
+ * @param _instance message instance
13176
+ * @param _reader binary reader instance
13177
+ */
13178
+ static deserializeBinaryFromReader(_instance, _reader) {
13179
+ while (_reader.nextField()) {
13180
+ if (_reader.isEndGroup())
13181
+ break;
13182
+ switch (_reader.getFieldNumber()) {
13183
+ case 1:
13184
+ const messageInitializer1 = new ResultRaw();
13185
+ _reader.readMessage(messageInitializer1, ResultRaw.deserializeBinaryFromReader);
13186
+ (_instance.results = _instance.results || []).push(messageInitializer1);
13187
+ break;
13188
+ default:
13189
+ _reader.skipField();
13190
+ }
13191
+ }
13192
+ ImportResultsDataResponse.refineValues(_instance);
13193
+ }
13194
+ /**
13195
+ * Serializes a message to binary format using provided binary reader
13196
+ * @param _instance message instance
13197
+ * @param _writer binary writer instance
13198
+ */
13199
+ static serializeBinaryToWriter(_instance, _writer) {
13200
+ if (_instance.results && _instance.results.length) {
13201
+ _writer.writeRepeatedMessage(1, _instance.results, ResultRaw.serializeBinaryToWriter);
13202
+ }
13203
+ }
13204
+ /**
13205
+ * Message constructor. Initializes the properties and applies default Protobuf values if necessary
13206
+ * @param _value initial values object or instance of ImportResultsDataResponse to deeply clone from
13207
+ */
13208
+ constructor(_value) {
13209
+ _value = _value || {};
13210
+ this.results = (_value.results || []).map(m => new ResultRaw(m));
13211
+ ImportResultsDataResponse.refineValues(this);
13212
+ }
13213
+ get results() {
13214
+ return this._results;
13215
+ }
13216
+ set results(value) {
13217
+ this._results = value;
13218
+ }
13219
+ /**
13220
+ * Serialize message to binary data
13221
+ * @param instance message instance
13222
+ */
13223
+ serializeBinary() {
13224
+ const writer = new BinaryWriter();
13225
+ ImportResultsDataResponse.serializeBinaryToWriter(this, writer);
13226
+ return writer.getResultBuffer();
13227
+ }
13228
+ /**
13229
+ * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
13230
+ */
13231
+ toObject() {
13232
+ return {
13233
+ results: (this.results || []).map(m => m.toObject())
13234
+ };
13235
+ }
13236
+ /**
13237
+ * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
13238
+ */
13239
+ toJSON() {
13240
+ return this.toObject();
13241
+ }
13242
+ /**
13243
+ * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
13244
+ * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
13245
+ * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required
13246
+ */
13247
+ toProtobufJSON(
13248
+ // @ts-ignore
13249
+ options) {
13250
+ return {
13251
+ results: (this.results || []).map(m => m.toProtobufJSON(options))
13252
+ };
13253
+ }
13254
+ }
12897
13255
  /**
12898
13256
  * Message implementation for armonik.api.grpc.v1.results.WatchResultRequest
12899
13257
  */
@@ -13319,6 +13677,24 @@ class ResultsClient {
13319
13677
  responseClass: DeleteResultsDataResponse
13320
13678
  });
13321
13679
  },
13680
+ /**
13681
+ * Unary call: /armonik.api.grpc.v1.results.Results/ImportResultsData
13682
+ *
13683
+ * @param requestMessage Request message
13684
+ * @param requestMetadata Request metadata
13685
+ * @returns Observable<GrpcEvent<armonikApiGrpcV1Results008.ImportResultsDataResponse>>
13686
+ */
13687
+ importResultsData: (requestData, requestMetadata = new GrpcMetadata()) => {
13688
+ return this.handler.handle({
13689
+ type: GrpcCallType.unary,
13690
+ client: this.client,
13691
+ path: '/armonik.api.grpc.v1.results.Results/ImportResultsData',
13692
+ requestData,
13693
+ requestMetadata,
13694
+ requestClass: ImportResultsDataRequest,
13695
+ responseClass: ImportResultsDataResponse
13696
+ });
13697
+ },
13322
13698
  /**
13323
13699
  * Unary call: /armonik.api.grpc.v1.results.Results/GetServiceConfiguration
13324
13700
  *
@@ -13454,6 +13830,18 @@ class ResultsClient {
13454
13830
  .deleteResultsData(requestData, requestMetadata)
13455
13831
  .pipe(throwStatusErrors(), takeMessages());
13456
13832
  }
13833
+ /**
13834
+ * Unary call @/armonik.api.grpc.v1.results.Results/ImportResultsData
13835
+ *
13836
+ * @param requestMessage Request message
13837
+ * @param requestMetadata Request metadata
13838
+ * @returns Observable<armonikApiGrpcV1Results008.ImportResultsDataResponse>
13839
+ */
13840
+ importResultsData(requestData, requestMetadata = new GrpcMetadata()) {
13841
+ return this.$raw
13842
+ .importResultsData(requestData, requestMetadata)
13843
+ .pipe(throwStatusErrors(), takeMessages());
13844
+ }
13457
13845
  /**
13458
13846
  * Unary call @/armonik.api.grpc.v1.results.Results/GetServiceConfiguration
13459
13847
  *