@experteam-mx/ngx-services 18.8.16 → 18.8.17

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.
@@ -588,6 +588,15 @@ export class ApiCatalogsService {
588
588
  return this.http.delete(`${this.url}/holidays/${id}`)
589
589
  .pipe(map(({ data }) => data));
590
590
  }
591
+ /**
592
+ * Retrieves a list of business party trader types
593
+ * @param {QueryParams} params - Query parameters for filtering and pagination (optional)
594
+ * @returns {Observable<BusinessPartyTraderTypesOut>} Observable containing the list of trader types
595
+ */
596
+ getBusinessPartyTraderTypes(params) {
597
+ return this.http.get(`${this.url}/business-party-trader-types`)
598
+ .pipe(map(({ data }) => data));
599
+ }
591
600
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCatalogsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
592
601
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCatalogsService, providedIn: 'root' });
593
602
  }
@@ -600,4 +609,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
600
609
  type: Inject,
601
610
  args: ['env']
602
611
  }] }, { type: i1.HttpClient }] });
603
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNhdGFsb2dzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktY2F0YWxvZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUdsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFBOzs7QUFpRHRDLE1BQU0sT0FBTyxrQkFBa0I7SUFFSjtJQUNmO0lBRlYsWUFDeUIsWUFBeUIsRUFDeEMsSUFBZ0I7UUFERCxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN4QyxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3RCLENBQUM7SUFFTDs7OztPQUlHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUE7SUFDL0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQUUsTUFBbUI7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZ0MsR0FBRyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsRUFBRTtZQUNqRixNQUFNO1NBQ1AsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHNCQUFzQixDQUFFLE1BQW1CO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsdUJBQXVCLEVBQUU7WUFDM0YsTUFBTTtTQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFB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SUFBSSxDQUFDO2FBQ3hFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILFVBQVUsQ0FBRSxFQUFVLEVBQUUsSUFBZTtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF5QixHQUFHLElBQUksQ0FBQyxHQUFHLGFBQWEsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDO2FBQzdFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILGFBQWEsQ0FBRSxFQUFVO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQWlCLEdBQUcsSUFBSSxDQUFDLEdBQUcsYUFBYSxFQUFFLEVBQUUsQ0FBQzthQUNsRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO3dHQXpuQlUsa0JBQWtCLGtCQUVuQixLQUFLOzRHQUZKLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL25neC1zZXJ2aWNlcy5tb2RlbHMnXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgQXBpU3VjY2VzcywgUXVlcnlQYXJhbXMgfSBmcm9tICcuL21vZGVscy9hcGkubW9kZWxzJ1xyXG5pbXBvcnQge1xyXG4gIENhbmNlbGxhdGlvblJlYXNvbkluLFxyXG4gIENhbmNlbGxhdGlvblJlYXNvbk91dCxcclxuICBDYW5jZWxsYXRpb25SZWFzb25zT3V0LFxyXG4gIENvdW50cmllc091dCxcclxuICBDb3VudHJ5SW4sXHJcbiAgQ291bnRyeU91dCxcclxuICBDdXJyZW5jaWVzT3V0LFxyXG4gIEV4dHJhQ2hhcmdlSW4sXHJcbiAgRXh0cmFDaGFyZ2VPdXQsXHJcbiAgRXh0cmFDaGFyZ2VzT3V0LFxyXG4gIEdlbmVyaWNGb2xpb0luLFxyXG4gIEdlbmVyaWNGb2xpb091dCxcclxuICBHZW5lcmljRm9saW9zT3V0LFxyXG4gIEhvbGlkYXlJbixcclxuICBIb2xpZGF5T3V0LFxyXG4gIEhvbGlkYXlzT3V0LFxyXG4gIElkZW50aWZpY2F0aW9uVHlwZUluLFxyXG4gIElkZW50aWZpY2F0aW9uVHlwZU91dCxcclxuICBJZGVudGlmaWNhdGlvblR5cGVzT3V0LFxyXG4gIExhbmd1YWdlc091dCxcclxuICBNYW5hZ2VtZW50QXJlYXNPdXQsXHJcbiAgT3BlcmF0aW9uVHlwZXNPdXQsXHJcbiAgUG9zdGFsTG9jYXRpb25zT3V0LFxyXG4gIFByb2R1Y3RJbixcclxuICBQcm9kdWN0T3V0LFxyXG4gIFF1ZXN0aW9uSW4sXHJcbiAgUXVlc3Rpb25PdXQsXHJcbiAgUXVlc3Rpb25zT3V0LFxyXG4gIFJlZ2lvbnNPdXQsXHJcbiAgU2hpcG1lbnRDb250ZW50VHlwZXNPdXQsXHJcbiAgU2hpcG1lbnRHcm91cHNPdXQsXHJcbiAgU2hpcG1lbnRJbmNvbWVUeXBlSW4sXHJcbiAgU2hpcG1lbnRJbmNvbWVUeXBlT3V0LFxyXG4gIFNoaXBtZW50SW5jb21lVHlwZXNPdXQsXHJcbiAgU2hpcG1lbnRTY29wZXNPdXQsXHJcbiAgU2hpcG1lbnRTdGF0dXNlc091dCxcclxuICBVbmlxdWVGb2xpb0luLFxyXG4gIFVuaXF1ZUZvbGlvT3V0LFxyXG4gIFVuaXF1ZUZvbGlvc091dCxcclxuICBVbml0c091dCxcclxuICBab25lc091dFxyXG59IGZyb20gJy4vbW9kZWxzL2FwaS1jYXRhbG9nLnR5cGVzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpQ2F0YWxvZ3NTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvciAoXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudmlyb25tZW50czogRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIFVSTCBmb3IgdGhlIHJlcG9ydHMgQVBJIGZyb20gdGhlIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25zLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgVVJMIG9mIHRoZSByZXBvcnRzIEFQSS5cclxuICAgKi9cclxuICBnZXQgdXJsICgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnRzLmFwaUNhdGFsb2dzVXJsID8/ICcnXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGxpc3Qgb2YgY29sbGVjdGlvbiBwYXltZW50c1xyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdXNlZCB0byBmZXRjaCB0aGUgb3BlcmF0aW9uIHR5cGVzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8T3BlcmF0aW9uVHlwZXNPdXRbXT59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyBhbiBhcnJheSBvZiBvcGVyYXRpb24gdHlwZS5cclxuICAgKi9cclxuICBnZXRPcGVyYXRpb25UeXBlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8T3BlcmF0aW9uVHlwZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8T3BlcmF0aW9uVHlwZXNPdXQ+PihgJHt0aGlzLnVybH0vb3BlcmF0aW9uLXR5cGVzYCwge1xyXG4gICAgICBwYXJhbXNcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGxpc3Qgb2YgaWRlbnRpZmljYXRpb3MgdHlwZXNcclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHVzZWQgdG8gZmV0Y2ggdGhlIGlkZW50aWZpY2F0aW9uIHR5cGVzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8SWRlbnRpZmljYXRpb25UeXBlc091dFtdPn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGFycmF5IG9mIGlkZW50aWZpY2F0aW9uIHR5cGUuXHJcbiAgICovXHJcbiAgZ2V0SWRlbnRpZmljYXRpb25UeXBlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8SWRlbnRpZmljYXRpb25UeXBlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxJZGVudGlmaWNhdGlvblR5cGVzT3V0Pj4oYCR7dGhpcy51cmx9L2lkZW50aWZpY2F0aW9uLXR5cGVzYCwge1xyXG4gICAgICBwYXJhbXNcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZSBhIHNpbmdsZSBpZGVudGlmaWNhdGlvbiB0eXBlIGJ5IGl0cyBpZC5cclxuICAgKlxyXG4gICAqIFNlbmRzIGFuIEhUVFAgR0VUIHJlcXVlc3QgdG8gdGhlIGluZGVudGlmaWNhdGlvbiB0eXBlIGVuZHBvaW50IGFuZCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0c1xyXG4gICAqIHRoZSBJZGVudGlmaWNhdGlvblR5cGVPdXQgcGF5bG9hZCBleHRyYWN0ZWQgZnJvbSB0aGUgQVBJIHN1Y2Nlc3MgZW52ZWxvcGUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaWQgLSBUaGUgbnVtZXJpYyBpZGVudGlmaWVyIG9mIHRoZSBpZGVudGlmaWNhdGlvbiB0eXBlIHRvIGZldGNoLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVxdWVzdGVkIElkZW50aWZpY2F0aW9uVHlwZU91dC4gVGhlIE9ic2VydmFibGUgd2lsbCBlcnJvclxyXG4gICAqICAgICAgICAgIGlmIHRoZSBIVFRQIHJlcXVlc3QgZmFpbHMgKGZvciBleGFtcGxlIG5ldHdvcmsgaXNzdWVzIG9yIG5vbi0yeHggcmVzcG9uc2VzKS5cclxuICAgKi9cclxuICBnZXRJZGVudGlmaWNhdGlvblR5cGUgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElkZW50aWZpY2F0aW9uVHlwZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxJZGVudGlmaWNhdGlvblR5cGVPdXQ+PihgJHt0aGlzLnVybH0vaWRlbnRpZmljYXRpb24tdHlwZXMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIGNyZWF0ZSBhIG5ldyBpZGVudGlmaWNhdGlvbiB0eXBlIGFuZCByZXR1cm5zIHRoZSBjcmVhdGVkIHJlc291cmNlLlxyXG4gICAqXHJcbiAgICogVGhlIHJlcXVlc3QgcGF5bG9hZCBpcyBzZW50IGFzIGFuIG9iamVjdCB3aXRoIGEgYGJvZHlgIHByb3BlcnR5IGNvbnRhaW5pbmcgdGhlIHByb3ZpZGVkXHJcbiAgICogSWRlbnRpZmljYXRpb25UeXBlSW4gdmFsdWUgKGkuZS4geyBib2R5OiBJZGVudGlmaWNhdGlvblR5cGVJbiB9KS4gT24gc3VjY2VzcyB0aGUgSFRUUCByZXNwb25zZSBpcyBleHBlY3RlZFxyXG4gICAqIHRvIGZvbGxvdyB0aGUgQXBpU3VjY2VzczxUPiBzaGFwZTsgdGhlIG9wZXJhdG9yIG1hcHMgdGhhdCByZXNwb25zZSB0byB0aGUgaW5uZXIgYGRhdGFgXHJcbiAgICogb2JqZWN0IGFuZCBlbWl0cyBpdCBhcyBhIElkZW50aWZpY2F0aW9uVHlwZU91dC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBib2R5IC0gVGhlIGlkZW50aWZpY2F0aW9uIHR5cGUgcGF5bG9hZCB0byBjcmVhdGUgKElkZW50aWZpY2F0aW9uVHlwZUluKS5cclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPElkZW50aWZpY2F0aW9uVHlwZU91dD4gdGhhdCBlbWl0cyB0aGUgY3JlYXRlZCBpZGVudGlmaWNhdGlvbiB0eXBlIG9uIHN1Y2Nlc3MuXHJcbiAgICovXHJcbiAgcG9zdElkZW50aWZpY2F0aW9udFR5cGUgKGJvZHk6IElkZW50aWZpY2F0aW9uVHlwZUluKTogT2JzZXJ2YWJsZTxJZGVudGlmaWNhdGlvblR5cGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPElkZW50aWZpY2F0aW9uVHlwZU91dD4+KGAke3RoaXMudXJsfS9pZGVudGlmaWNhdGlvbi10eXBlc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIGEgaWRlbnRpZmljYXRpb24gdHlwZSBieSBpdHMgSUQuXHJcbiAgICpcclxuICAgKiBTZW5kcyBhbiBIVFRQIFBVVCB0byBgJHt0aGlzLnVybH0vaWRlbnRpZmljYXRpb24tdHlwZXMvJHtpZH1gIHdpdGggdGhlIHByb3ZpZGVkIHBheWxvYWQuXHJcbiAgICogVGhlIHJlcXVlc3QgYm9keSBpcyBzZW50IGFzIGFuIG9iamVjdCB3aXRoIGEgYGJvZHlgIHByb3BlcnR5IGNvbnRhaW5pbmcgdGhlXHJcbiAgICogYElkZW50aWZpY2F0aW9uVHlwZUluYCBkYXRhLiBUaGUgc2VydmVyIHJlc3BvbnNlIGlzIGV4cGVjdGVkIHRvIGJlIGFuIGBBcGlTdWNjZXNzPElkZW50aWZpY2F0aW9uVHlwZU91dD5gXHJcbiAgICogYW5kIHRoaXMgbWV0aG9kIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1bndyYXBwZWQgYElkZW50aWZpY2F0aW9uVHlwZU91dGAuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaWQgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgaWRlbnRpZmljYXRpb24gdHlwZSB0byB1cGRhdGUuXHJcbiAgICogQHBhcmFtIGJvZHkgLSBUaGUgdXBkYXRlIHBheWxvYWQgZm9yIHRoZSBpZGVudGlmaWNhdGlvbiB0eXBlLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdXBkYXRlZCBgSWRlbnRpZmljYXRpb25UeXBlT3V0YCBvbiBzdWNjZXNzLlxyXG4gICAqL1xyXG4gIHB1dElkZW50aWZpY2F0aW9uVHlwZSAoaWQ6IG51bWJlciwgYm9keTogSWRlbnRpZmljYXRpb25UeXBlSW4pOiBPYnNlcnZhYmxlPElkZW50aWZpY2F0aW9uVHlwZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxJZGVudGlmaWNhdGlvblR5cGVPdXQ+PihgJHt0aGlzLnVybH0vaWRlbnRpZmljYXRpb24tdHlwZXMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZSBhIGlkZW50aWZpY2F0aW9uIHR5cGUgYnkgaXRzIElELlxyXG4gICAqXHJcbiAgICogU2VuZHMgYW4gSFRUUCBERUxFVEUgcmVxdWVzdCB0byB0aGUgYmFja2VuZCBlbmRwb2ludCBgL2lkZW50aWZpY2F0aW9uLXR5cGVzL3tpZH1gIGFuZFxyXG4gICAqIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBBUEkgcmVzcG9uc2UncyBgZGF0YWAgcGF5bG9hZCAodHlwaWNhbGx5IGFuIGVtcHR5IG9iamVjdCkuXHJcbiAgICpcclxuICAgKiBUaGUgaW1wbGVtZW50YXRpb24gbWFwcyBhbiBBcGlTdWNjZXNzIHdyYXBwZXIgdG8gaXRzIGBkYXRhYCBwcm9wZXJ0eSBiZWZvcmUgZW1pdHRpbmcuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaWQgLSBUaGUgbnVtZXJpYyBpZGVudGlmaWVyIG9mIHRoZSBpZGVudGlmaWNhdGlvbiB0eXBlIHRvIGRlbGV0ZS5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRlbGV0ZWQgcmVzb3VyY2UgcGF5bG9hZCAoe30gZXhwZWN0ZWQpIG9uIHN1Y2Nlc3MuXHJcbiAgICogICAgICAgICAgVGhlIE9ic2VydmFibGUgd2lsbCBlbWl0IGFuIGVycm9yIGlmIHRoZSBIVFRQIHJlcXVlc3QgZmFpbHMuXHJcbiAgICovXHJcbiAgZGVsZXRlSWRlbnRpZmljYXRpb25UeXBlIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx7fT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8QXBpU3VjY2Vzczx7fT4+KGAke3RoaXMudXJsfS9pZGVudGlmaWNhdGlvbi10eXBlcy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgZXh0cmEgY2hhcmdlcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciB0aGUgcmVzdWx0cy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV4dHJhQ2hhcmdlc091dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIGV4dHJhIGNoYXJnZXMgZGF0YS5cclxuICAgKi9cclxuICBnZXRFeHRyYUNoYXJnZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEV4dHJhQ2hhcmdlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxFeHRyYUNoYXJnZXNPdXQ+PihgJHt0aGlzLnVybH0vZXh0cmFjaGFyZ2VzYCwge1xyXG4gICAgICBwYXJhbXNcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJtaXRzIGFuIGV4dHJhIGNoYXJnZSByZXF1ZXN0IHRvIHRoZSBzZXJ2ZXIgYW5kIHJldHVybnMgdGhlIGNyZWF0ZWQgZXh0cmEgY2hhcmdlIGRldGFpbHMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0V4dHJhQ2hhcmdlSW59IGJvZHkgLSBUaGUgZGF0YSBmb3IgdGhlIGV4dHJhIGNoYXJnZSB0byBiZSBjcmVhdGVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8RXh0cmFDaGFyZ2VPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRldGFpbHMgb2YgdGhlIGNyZWF0ZWQgZXh0cmEgY2hhcmdlLlxyXG4gICAqL1xyXG4gIHBvc3RFeHRyYUNoYXJnZSAoYm9keTogRXh0cmFDaGFyZ2VJbik6IE9ic2VydmFibGU8RXh0cmFDaGFyZ2VPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPEV4dHJhQ2hhcmdlT3V0Pj4oYCR7dGhpcy51cmx9L2V4dHJhY2hhcmdlc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBhbiBleHRyYSBjaGFyZ2UgZW50aXR5IHdpdGggbmV3IGRhdGEgYW5kIHJldHVybnMgdGhlIHVwZGF0ZWQgZW50aXR5LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBleHRyYSBjaGFyZ2UgdG8gdXBkYXRlLlxyXG4gICAqIEBwYXJhbSB7RXh0cmFDaGFyZ2VJbn0gYm9keSAtIFRoZSBuZXcgZGF0YSBmb3IgdGhlIGV4dHJhIGNoYXJnZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV4dHJhQ2hhcmdlT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgdXBkYXRlZCBleHRyYSBjaGFyZ2UgZW50aXR5LlxyXG4gICAqL1xyXG4gIHB1dEV4dHJhQ2hhcmdlIChpZDogbnVtYmVyLCBib2R5OiBFeHRyYUNoYXJnZUluKTogT2JzZXJ2YWJsZTxFeHRyYUNoYXJnZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxFeHRyYUNoYXJnZU91dD4+KGAke3RoaXMudXJsfS9leHRyYWNoYXJnZXMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgYSBsaXN0IG9mIGNvdW50cmllcyBmcm9tIHRoZSBBUEkuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBiZSBwYXNzZWQgdG8gdGhlIEFQSSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyaWVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBsaXN0IG9mIGNvdW50cmllcy5cclxuICAgKi9cclxuICBnZXRDb3VudHJpZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPENvdW50cmllc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxDb3VudHJpZXNPdXQ+PihgJHt0aGlzLnVybH0vY291bnRyaWVzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGRldGFpbHMgb2YgYSBjb3VudHJ5IGJhc2VkIG9uIGl0cyBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb3VudHJ5IHRvIGZldGNoLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyeU91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgY291bnRyeSBkYXRhLlxyXG4gICAqL1xyXG4gIGdldENvdW50cnkgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdW50cnlPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q291bnRyeU91dD4+KGAke3RoaXMudXJsfS9jb3VudHJpZXMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgdGhlIGRldGFpbHMgb2YgYSBzcGVjaWZpYyBjb3VudHJ5IGJ5IGl0cyBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY291bnRyeSB0byBiZSB1cGRhdGVkLlxyXG4gICAqIEBwYXJhbSB7Q291bnRyeUlufSBib2R5IC0gVGhlIGRhdGEgdG8gdXBkYXRlIHRoZSBjb3VudHJ5IHdpdGguXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb3VudHJ5T3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1cGRhdGVkIGNvdW50cnkgZGF0YS5cclxuICAgKi9cclxuICBwdXRDb3VudHJ5IChpZDogbnVtYmVyLCBib2R5OiBDb3VudHJ5SW4pOiBPYnNlcnZhYmxlPENvdW50cnlPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8Q291bnRyeU91dD4+KGAke3RoaXMudXJsfS9jb3VudHJpZXMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgcG9zdGFsIGxvY2F0aW9uIGRldGFpbHMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgYW5kIGZldGNoIHBvc3RhbCBsb2NhdGlvbiBkYXRhLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UG9zdGFsTG9jYXRpb25zT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBwb3N0YWwgbG9jYXRpb24gZGV0YWlscy5cclxuICAgKi9cclxuICBnZXRQb3N0YWxMb2NhdGlvbnMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFBvc3RhbExvY2F0aW9uc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxQb3N0YWxMb2NhdGlvbnNPdXQ+PihgJHt0aGlzLnVybH0vcG9zdGFsLWxvY2F0aW9uc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhIGxpc3Qgb2YgcmVnaW9ucyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHVzZWQgdG8gZmlsdGVyIHRoZSByZWdpb25zLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UmVnaW9uc091dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgbGlzdCBvZiByZWdpb25zLlxyXG4gICAqL1xyXG4gIGdldFJlZ2lvbnMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFJlZ2lvbnNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8UmVnaW9uc091dD4+KGAke3RoaXMudXJsfS9yZWdpb25zYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSB6b25lcyBkYXRhIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdXNlZCB0byBmaWx0ZXIgdGhlIHpvbmVzIGRhdGEuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxab25lc091dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZmV0Y2hlZCB6b25lcyBkYXRhLlxyXG4gICAqL1xyXG4gIGdldFpvbmVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxab25lc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2Vzczxab25lc091dD4+KGAke3RoaXMudXJsfS96b25lc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgbWFuYWdlbWVudCBhcmVhcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciB0aGUgbWFuYWdlbWVudCBhcmVhcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPE1hbmFnZW1lbnRBcmVhc091dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgbWFuYWdlbWVudCBhcmVhcyBkYXRhLlxyXG4gICAqL1xyXG4gIGdldE1hbmFnZW1lbnRBcmVhcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8TWFuYWdlbWVudEFyZWFzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPE1hbmFnZW1lbnRBcmVhc091dD4+KGAke3RoaXMudXJsfS9tYW5hZ2VtZW50LWFyZWFzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgY2FuY2VsbGF0aW9uIHJlYXNvbnMgZnJvbSB0aGUgc2VydmVyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSBjYW5jZWxsYXRpb24gcmVhc29ucy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENhbmNlbGxhdGlvblJlYXNvbnNPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHJldHJpZXZlZCBjYW5jZWxsYXRpb24gcmVhc29ucy5cclxuICAgKi9cclxuICBnZXRDYW5jZWxsYXRpb25SZWFzb25zIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDYW5jZWxsYXRpb25SZWFzb25zT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPENhbmNlbGxhdGlvblJlYXNvbnNPdXQ+PihgJHt0aGlzLnVybH0vY2FuY2VsbGF0aW9uLXJlYXNvbnNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgY2FuY2VsbGF0aW9uIHJlYXNvbiB0byB0aGUgc2VydmVyLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtDYW5jZWxsYXRpb25SZWFzb25Jbn0gYm9keSAtIFRoZSBjYW5jZWxsYXRpb24gcmVhc29uIG9iamVjdCB0byBiZSBzZW50LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q2FuY2VsbGF0aW9uUmVhc29uT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBzZXJ2ZXIncyByZXNwb25zZSB3aXRoIHRoZSBwcm9jZXNzZWQgY2FuY2VsbGF0aW9uIHJlYXNvbi5cclxuICAgKi9cclxuICBwb3N0Q2FuY2VsbGF0aW9uUmVhc29uIChib2R5OiBDYW5jZWxsYXRpb25SZWFzb25Jbik6IE9ic2VydmFibGU8Q2FuY2VsbGF0aW9uUmVhc29uT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxDYW5jZWxsYXRpb25SZWFzb25PdXQ+PihgJHt0aGlzLnVybH0vY2FuY2VsbGF0aW9uLXJlYXNvbnNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgdGhlIGNhbmNlbGxhdGlvbiByZWFzb24gZm9yIHRoZSBzcGVjaWZpZWQgSUQgd2l0aCB0aGUgcHJvdmlkZWQgZGF0YS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY2FuY2VsbGF0aW9uIHJlYXNvbiB0byB1cGRhdGUuXHJcbiAgICogQHBhcmFtIHtDYW5jZWxsYXRpb25SZWFzb25Jbn0gYm9keSAtIFRoZSBkZXRhaWxzIG9mIHRoZSBjYW5jZWxsYXRpb24gcmVhc29uIHRvIGJlIHVwZGF0ZWQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDYW5jZWxsYXRpb25SZWFzb25PdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHVwZGF0ZWQgY2FuY2VsbGF0aW9uIHJlYXNvbi5cclxuICAgKi9cclxuICBwdXRDYW5jZWxsYXRpb25SZWFzb24gKGlkOiBudW1iZXIsIGJvZHk6IENhbmNlbGxhdGlvblJlYXNvbkluKTogT2JzZXJ2YWJsZTxDYW5jZWxsYXRpb25SZWFzb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8Q2FuY2VsbGF0aW9uUmVhc29uT3V0Pj4oYCR7dGhpcy51cmx9L2NhbmNlbGxhdGlvbi1yZWFzb25zLyR7aWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIGN1cnJlbmNpZXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBjdXN0b21pemUgdGhlIGN1cnJlbmN5IHJldHJpZXZhbCByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q3VycmVuY2llc091dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmV0cmlldmVkIGN1cnJlbmNpZXMgZGF0YS5cclxuICAgKi9cclxuICBnZXRDdXJyZW5jaWVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDdXJyZW5jaWVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEN1cnJlbmNpZXNPdXQ+PihgJHt0aGlzLnVybH0vY3VycmVuY2llc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgbGFuZ3VhZ2VzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gcGFzcyB3aXRoIHRoZSBIVFRQIHJlcXVlc3QuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxMYW5ndWFnZXNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGF2YWlsYWJsZSBsYW5ndWFnZXMuXHJcbiAgICovXHJcbiAgZ2V0TGFuZ3VhZ2VzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxMYW5ndWFnZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8TGFuZ3VhZ2VzT3V0Pj4oYCR7dGhpcy51cmx9L2xhbmd1YWdlc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgYXZhaWxhYmxlIHVuaXRzIGZyb20gdGhlIEFQSSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciB0aGUgdW5pdHMgYmVpbmcgZmV0Y2hlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFVuaXRzT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXRyaWV2ZWQgdW5pdHMgZGF0YS5cclxuICAgKi9cclxuICBnZXRVbml0cyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8VW5pdHNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8VW5pdHNPdXQ+PihgJHt0aGlzLnVybH0vdW5pdHNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgc2hpcG1lbnQgc2NvcGVzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciBvciBtb2RpZnkgdGhlIHJlcXVlc3QgZm9yIHNoaXBtZW50IHNjb3Blcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFNoaXBtZW50U2NvcGVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBzaGlwbWVudCBzY29wZXMgZGF0YS5cclxuICAgKi9cclxuICBnZXRTaGlwbWVudFNjb3BlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8U2hpcG1lbnRTY29wZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8U2hpcG1lbnRTY29wZXNPdXQ+PihgJHt0aGlzLnVybH0vc2hpcG1lbnQtc2NvcGVzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBhdmFpbGFibGUgc2hpcG1lbnQgY29udGVudCB0eXBlcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciB0aGUgc2hpcG1lbnQgY29udGVudCB0eXBlcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFNoaXBtZW50Q29udGVudFR5cGVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBzaGlwbWVudCBjb250ZW50IHR5cGVzIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0U2hpcG1lbnRDb250ZW50VHlwZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFNoaXBtZW50Q29udGVudFR5cGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFNoaXBtZW50Q29udGVudFR5cGVzT3V0Pj4oYCR7dGhpcy51cmx9L3NoaXBtZW50LWNvbnRlbnQtdHlwZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgYSBsaXN0IG9mIGdlbmVyaWMgZm9saW9zIGJhc2VkIG9uIHRoZSBnaXZlbiBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdXNlZCB0byBmaWx0ZXIgdGhlIGdlbmVyaWMgZm9saW9zLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8R2VuZXJpY0ZvbGlvc091dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgZmV0Y2hlZCBnZW5lcmljIGZvbGlvcy5cclxuICAgKi9cclxuICBnZXRHZW5lcmljRm9saW9zIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxHZW5lcmljRm9saW9zT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEdlbmVyaWNGb2xpb3NPdXQ+PihgJHt0aGlzLnVybH0vZ2VuZXJpYy1mb2xpb3NgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIGNyZWF0ZSBvciB1cGRhdGUgYSBnZW5lcmljIGZvbGlvLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtHZW5lcmljRm9saW9Jbn0gYm9keSAtIFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIGRldGFpbHMgb2YgdGhlIGdlbmVyaWMgZm9saW8gdG8gYmUgY3JlYXRlZCBvciB1cGRhdGVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8R2VuZXJpY0ZvbGlvT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSByZXNwb25zZSBkYXRhIG9mIHRoZSBjcmVhdGVkIG9yIHVwZGF0ZWQgZ2VuZXJpYyBmb2xpby5cclxuICAgKi9cclxuICBwb3N0R2VuZXJpY0ZvbGlvIChib2R5OiBHZW5lcmljRm9saW9Jbik6IE9ic2VydmFibGU8R2VuZXJpY0ZvbGlvT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxHZW5lcmljRm9saW9PdXQ+PihgJHt0aGlzLnVybH0vZ2VuZXJpYy1mb2xpb3NgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYSBnZW5lcmljIGZvbGlvIHdpdGggdGhlIHNwZWNpZmllZCBJRCB1c2luZyB0aGUgcHJvdmlkZWQgZGF0YS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZ2VuZXJpYyBmb2xpbyB0byB1cGRhdGUuXHJcbiAgICogQHBhcmFtIHtHZW5lcmljRm9saW9Jbn0gYm9keSAtIFRoZSBkYXRhIHRvIHVwZGF0ZSB0aGUgZ2VuZXJpYyBmb2xpbyB3aXRoLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8R2VuZXJpY0ZvbGlvT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSB1cGRhdGVkIGdlbmVyaWMgZm9saW8uXHJcbiAgICovXHJcbiAgcHV0R2VuZXJpY0ZvbGlvIChpZDogbnVtYmVyLCBib2R5OiBHZW5lcmljRm9saW9Jbik6IE9ic2VydmFibGU8R2VuZXJpY0ZvbGlvT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPEdlbmVyaWNGb2xpb091dD4+KGAke3RoaXMudXJsfS9nZW5lcmljLWZvbGlvcy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBQVVQgcmVxdWVzdCB0byB1cGRhdGUgYSBHZW5lcmljIEZvbGlvIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBJRCBhbmQgYm9keSBkYXRhLCBhbmQgcmV0dXJucyB0aGUgdXBkYXRlZCByZXNvdXJjZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgR2VuZXJpYyBGb2xpbyB0byBiZSB1cGRhdGVkLlxyXG4gICAqIEBwYXJhbSB7UGFydGlhbDxHZW5lcmljRm9saW9Jbj59IGJvZHkgLSBUaGUgcGFydGlhbCBkYXRhIHJlcHJlc2VudGluZyB0aGUgY2hhbmdlcyB0byBiZSBhcHBsaWVkIHRvIHRoZSBHZW5lcmljIEZvbGlvLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8R2VuZXJpY0ZvbGlvT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSB1cGRhdGVkIEdlbmVyaWMgRm9saW8gcmVzb3VyY2UuXHJcbiAgICovXHJcbiAgcGF0aEdlbmVyaWNGb2xpbyAoaWQ6IG51bWJlciwgYm9keTogUGFydGlhbDxHZW5lcmljRm9saW9Jbj4pOiBPYnNlcnZhYmxlPEdlbmVyaWNGb2xpb091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxHZW5lcmljRm9saW9PdXQ+PihgJHt0aGlzLnVybH0vZ2VuZXJpYy1mb2xpb3MvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIGNyZWF0ZSBhIG5ldyBwcm9kdWN0LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtQcm9kdWN0SW59IGJvZHkgLSBUaGUgcHJvZHVjdCBkYXRhIHRvIGJlIHNlbnQgaW4gdGhlIHJlcXVlc3QgYm9keS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFByb2R1Y3RPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSBjcmVhdGVkIHByb2R1Y3QgZGF0YS5cclxuICAgKi9cclxuICBwb3N0UHJvZHVjdCAoYm9keTogUHJvZHVjdEluKTogT2JzZXJ2YWJsZTxQcm9kdWN0T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxQcm9kdWN0T3V0Pj4oYCR7dGhpcy51cmx9L3Byb2R1Y3RzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGFuIGV4aXN0aW5nIHByb2R1Y3Qgd2l0aCB0aGUgZ2l2ZW4gSUQgdXNpbmcgdGhlIHByb3ZpZGVkIGRhdGEuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHByb2R1Y3QgdG8gdXBkYXRlLlxyXG4gICAqIEBwYXJhbSB7UHJvZHVjdElufSBib2R5IC0gVGhlIHByb2R1Y3QgZGF0YSB0byB1cGRhdGUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxQcm9kdWN0T3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSB1cGRhdGVkIHByb2R1Y3QgZGF0YS5cclxuICAgKi9cclxuICBwdXRQcm9kdWN0IChpZDogbnVtYmVyLCBib2R5OiBQcm9kdWN0SW4pOiBPYnNlcnZhYmxlPFByb2R1Y3RPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8UHJvZHVjdE91dD4+KGAke3RoaXMudXJsfS9wcm9kdWN0cy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBzaGlwbWVudCBpbmNvbWUgdHlwZXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgdGhlIHNoaXBtZW50IGluY29tZSB0eXBlcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFNoaXBtZW50SW5jb21lVHlwZXNPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHNoaXBtZW50IGluY29tZSB0eXBlcyBkYXRhLlxyXG4gICAqL1xyXG4gIGdldFNoaXBtZW50SW5jb21lVHlwZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFNoaXBtZW50SW5jb21lVHlwZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8U2hpcG1lbnRJbmNvbWVUeXBlc091dD4+KGAke3RoaXMudXJsfS9zaGlwbWVudC1pbmNvbWUtdHlwZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIGNyZWF0ZSBhIG5ldyBzaGlwbWVudCBpbmNvbWUgdHlwZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7U2hpcG1lbnRJbmNvbWVUeXBlSW59IGJvZHkgVGhlIHBheWxvYWQgY29udGFpbmluZyB0aGUgZGV0YWlscyBvZiB0aGUgc2hpcG1lbnQgaW5jb21lIHR5cGUgdG8gYmUgY3JlYXRlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFNoaXBtZW50SW5jb21lVHlwZU91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgY3JlYXRlZCBzaGlwbWVudCBpbmNvbWUgdHlwZSBkYXRhLlxyXG4gICAqL1xyXG4gIHBvc3RTaGlwbWVudEluY29tZVR5cGUgKGJvZHk6IFNoaXBtZW50SW5jb21lVHlwZUluKTogT2JzZXJ2YWJsZTxTaGlwbWVudEluY29tZVR5cGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFNoaXBtZW50SW5jb21lVHlwZU91dD4+KGAke3RoaXMudXJsfS9zaGlwbWVudC1pbmNvbWUtdHlwZXNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgdGhlIHNoaXBtZW50IGluY29tZSB0eXBlIHdpdGggdGhlIHNwZWNpZmllZCBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBzaGlwbWVudCBpbmNvbWUgdHlwZSB0byB1cGRhdGUuXHJcbiAgICogQHBhcmFtIHtTaGlwbWVudEluY29tZVR5cGVJbn0gYm9keSAtIFRoZSBkYXRhIHRvIHVwZGF0ZSB0aGUgc2hpcG1lbnQgaW5jb21lIHR5cGUgd2l0aC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFNoaXBtZW50SW5jb21lVHlwZU91dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHVwZGF0ZWQgc2hpcG1lbnQgaW5jb21lIHR5cGUuXHJcbiAgICovXHJcbiAgcHV0U2hpcG1lbnRJbmNvbWVUeXBlIChpZDogbnVtYmVyLCBib2R5OiBTaGlwbWVudEluY29tZVR5cGVJbik6IE9ic2VydmFibGU8U2hpcG1lbnRJbmNvbWVUeXBlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPFNoaXBtZW50SW5jb21lVHlwZU91dD4+KGAke3RoaXMudXJsfS9zaGlwbWVudC1pbmNvbWUtdHlwZXMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgdW5pcXVlIGZvbGlvcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHVzZWQgdG8gZmlsdGVyIGFuZCBmZXRjaCB1bmlxdWUgZm9saW9zLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8VW5pcXVlRm9saW9zT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1bmlxdWUgZm9saW9zIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0VW5pcXVlRm9saW9zIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxVbmlxdWVGb2xpb3NPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8VW5pcXVlRm9saW9zT3V0Pj4oYCR7dGhpcy51cmx9L3VuaXF1ZS1mb2xpb3NgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIGNyZWF0ZSBhIHVuaXF1ZSBmb2xpby5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7VW5pcXVlRm9saW9Jbn0gYm9keSAtIFRoZSBkYXRhIG9iamVjdCBjb250YWluaW5nIGRldGFpbHMgZm9yIHRoZSB1bmlxdWUgZm9saW8gdG8gYmUgY3JlYXRlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFVuaXF1ZUZvbGlvT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjcmVhdGVkIHVuaXF1ZSBmb2xpbyBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIHBvc3RVbmlxdWVGb2xpbyAoYm9keTogVW5pcXVlRm9saW9Jbik6IE9ic2VydmFibGU8VW5pcXVlRm9saW9PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFVuaXF1ZUZvbGlvT3V0Pj4oYCR7dGhpcy51cmx9L3VuaXF1ZS1mb2xpb3NgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYSB1bmlxdWUgZm9saW8gd2l0aCB0aGUgZ2l2ZW4gZGF0YSB1c2luZyB0aGUgcHJvdmlkZWQgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgSUQgb2YgdGhlIHVuaXF1ZSBmb2xpbyB0byBiZSB1cGRhdGVkLlxyXG4gICAqIEBwYXJhbSB7VW5pcXVlRm9saW9Jbn0gYm9keSAtIFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIGRldGFpbHMgb2YgdGhlIHVuaXF1ZSBmb2xpbyB0byB1cGRhdGUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxVbmlxdWVGb2xpb091dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdXBkYXRlZCB1bmlxdWUgZm9saW8uXHJcbiAgICovXHJcbiAgcHV0VW5pcXVlRm9saW8gKGlkOiBudW1iZXIsIGJvZHk6IFVuaXF1ZUZvbGlvSW4pOiBPYnNlcnZhYmxlPFVuaXF1ZUZvbGlvT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPFVuaXF1ZUZvbGlvT3V0Pj4oYCR7dGhpcy51cmx9L3VuaXF1ZS1mb2xpb3MvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYSB1bmlxdWUgZm9saW8gYnkgaXRzIGlkZW50aWZpZXIgd2l0aCB0aGUgcHJvdmlkZWQgZGF0YS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSBpZGVudGlmaWVyIG9mIHRoZSB1bmlxdWUgZm9saW8gdG8gdXBkYXRlLlxyXG4gICAqIEBwYXJhbSB7UGFydGlhbDxVbmlxdWVGb2xpb0luPn0gYm9keSAtIFRoZSBwYXJ0aWFsIGRhdGEgb2YgdGhlIHVuaXF1ZSBmb2xpbyB0byB1cGRhdGUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxVbmlxdWVGb2xpb091dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHVwZGF0ZWQgdW5pcXVlIGZvbGlvIGRhdGEuXHJcbiAgICovXHJcbiAgcGF0aFVuaXF1ZUZvbGlvIChpZDogbnVtYmVyLCBib2R5OiBQYXJ0aWFsPFVuaXF1ZUZvbGlvSW4+KTogT2JzZXJ2YWJsZTxVbmlxdWVGb2xpb091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxVbmlxdWVGb2xpb091dD4+KGAke3RoaXMudXJsfS91bmlxdWUtZm9saW9zLyR7aWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgc2hpcG1lbnQgZ3JvdXBzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciB0aGUgc2hpcG1lbnQgZ3JvdXBzLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgc2hpcG1lbnQgZ3JvdXBzIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0U2hpcG1lbnRHcm91cHMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFNoaXBtZW50R3JvdXBzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFNoaXBtZW50R3JvdXBzT3V0Pj4oYCR7dGhpcy51cmx9L3NoaXBtZW50LWdyb3Vwc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBzaGlwbWVudCBzdGF0dXNlcyBmcm9tIHRoZSBBUEkuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIG9yIG1vZGlmeSB0aGUgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHNoaXBtZW50IHN0YXR1c2VzIG91dHB1dC5cclxuICAgKi9cclxuICBnZXRTaGlwbWVudFN0YXR1c2VzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxTaGlwbWVudFN0YXR1c2VzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFNoaXBtZW50U3RhdHVzZXNPdXQ+PihgJHt0aGlzLnVybH0vc2hpcG1lbnQtc3RhdHVzZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgcXVlc3Rpb25zIGZyb20gdGhlIGNhdGFsb2dzIEFQSS5cclxuICAgKlxyXG4gICAqIFNlbmRzIGFuIEhUVFAgR0VUIHJlcXVlc3QgdG8gYCR7dGhpcy51cmx9L3F1ZXN0aW9uc2AgdXNpbmcgdGhlIHN1cHBsaWVkIHF1ZXJ5IHBhcmFtZXRlcnNcclxuICAgKiBhbmQgcmV0dXJucyB0aGUgdW53cmFwcGVkIHBheWxvYWQgKGBkYXRhYCkgZnJvbSB0aGUgQVBJIHJlc3BvbnNlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgdG8gaW5jbHVkZSBpbiB0aGUgcmVxdWVzdCAoZS5nLiBwYWdpbmcsIGZpbHRlcnMsIHNvcnRpbmcpLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgUXVlc3Rpb25zT3V0IHBheWxvYWQgKHRoZSBgZGF0YWAgZmllbGQgZnJvbSBBcGlTdWNjZXNzPFF1ZXN0aW9uc091dD4pLlxyXG4gICAqL1xyXG4gIGdldFF1ZXN0aW9ucyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8UXVlc3Rpb25zT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFF1ZXN0aW9uc091dD4+KGAke3RoaXMudXJsfS9xdWVzdGlvbnNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlIGEgc2luZ2xlIHF1ZXN0aW9uIGJ5IGl0cyBpZC5cclxuICAgKlxyXG4gICAqIFNlbmRzIGFuIEhUVFAgR0VUIHJlcXVlc3QgdG8gdGhlIHF1ZXN0aW9ucyBlbmRwb2ludCBhbmQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHNcclxuICAgKiB0aGUgUXVlc3Rpb25PdXQgcGF5bG9hZCBleHRyYWN0ZWQgZnJvbSB0aGUgQVBJIHN1Y2Nlc3MgZW52ZWxvcGUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaWQgLSBUaGUgbnVtZXJpYyBpZGVudGlmaWVyIG9mIHRoZSBxdWVzdGlvbiB0byBmZXRjaC5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlcXVlc3RlZCBRdWVzdGlvbk91dC4gVGhlIE9ic2VydmFibGUgd2lsbCBlcnJvclxyXG4gICAqICAgICAgICAgIGlmIHRoZSBIVFRQIHJlcXVlc3QgZmFpbHMgKGZvciBleGFtcGxlIG5ldHdvcmsgaXNzdWVzIG9yIG5vbi0yeHggcmVzcG9uc2VzKS5cclxuICAgKi9cclxuICBnZXRRdWVzdGlvbiAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8UXVlc3Rpb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8UXVlc3Rpb25PdXQ+PihgJHt0aGlzLnVybH0vcXVlc3Rpb25zLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kcyBhIFBPU1QgcmVxdWVzdCB0byBjcmVhdGUgYSBuZXcgcXVlc3Rpb24gYW5kIHJldHVybnMgdGhlIGNyZWF0ZWQgcmVzb3VyY2UuXHJcbiAgICpcclxuICAgKiBUaGUgcmVxdWVzdCBwYXlsb2FkIGlzIHNlbnQgYXMgYW4gb2JqZWN0IHdpdGggYSBgYm9keWAgcHJvcGVydHkgY29udGFpbmluZyB0aGUgcHJvdmlkZWRcclxuICAgKiBRdWVzdGlvbkluIHZhbHVlIChpLmUuIHsgYm9keTogUXVlc3Rpb25JbiB9KS4gT24gc3VjY2VzcyB0aGUgSFRUUCByZXNwb25zZSBpcyBleHBlY3RlZFxyXG4gICAqIHRvIGZvbGxvdyB0aGUgQXBpU3VjY2VzczxUPiBzaGFwZTsgdGhlIG9wZXJhdG9yIG1hcHMgdGhhdCByZXNwb25zZSB0byB0aGUgaW5uZXIgYGRhdGFgXHJcbiAgICogb2JqZWN0IGFuZCBlbWl0cyBpdCBhcyBhIFF1ZXN0aW9uT3V0LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGJvZHkgLSBUaGUgcXVlc3Rpb24gcGF5bG9hZCB0byBjcmVhdGUgKFF1ZXN0aW9uSW4pLlxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8UXVlc3Rpb25PdXQ+IHRoYXQgZW1pdHMgdGhlIGNyZWF0ZWQgcXVlc3Rpb24gb24gc3VjY2Vzcy5cclxuICAgKi9cclxuICBwb3N0UXVlc3Rpb24gKGJvZHk6IFF1ZXN0aW9uSW4pOiBPYnNlcnZhYmxlPFF1ZXN0aW9uT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxRdWVzdGlvbk91dD4+KGAke3RoaXMudXJsfS9xdWVzdGlvbnNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBhIHF1ZXN0aW9uIGJ5IGl0cyBJRC5cclxuICAgKlxyXG4gICAqIFNlbmRzIGFuIEhUVFAgUFVUIHRvIGAke3RoaXMudXJsfS9xdWVzdGlvbnMvJHtpZH1gIHdpdGggdGhlIHByb3ZpZGVkIHBheWxvYWQuXHJcbiAgICogVGhlIHJlcXVlc3QgYm9keSBpcyBzZW50IGFzIGFuIG9iamVjdCB3aXRoIGEgYGJvZHlgIHByb3BlcnR5IGNvbnRhaW5pbmcgdGhlXHJcbiAgICogYFF1ZXN0aW9uSW5gIGRhdGEuIFRoZSBzZXJ2ZXIgcmVzcG9uc2UgaXMgZXhwZWN0ZWQgdG8gYmUgYW4gYEFwaVN1Y2Nlc3M8UXVlc3Rpb25PdXQ+YFxyXG4gICAqIGFuZCB0aGlzIG1ldGhvZCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdW53cmFwcGVkIGBRdWVzdGlvbk91dGAuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaWQgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgcXVlc3Rpb24gdG8gdXBkYXRlLlxyXG4gICAqIEBwYXJhbSBib2R5IC0gVGhlIHVwZGF0ZSBwYXlsb2FkIGZvciB0aGUgcXVlc3Rpb24uXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1cGRhdGVkIGBRdWVzdGlvbk91dGAgb24gc3VjY2Vzcy5cclxuICAgKi9cclxuICBwdXRRdWVzdGlvbiAoaWQ6IG51bWJlciwgYm9keTogUXVlc3Rpb25Jbik6IE9ic2VydmFibGU8UXVlc3Rpb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8UXVlc3Rpb25PdXQ+PihgJHt0aGlzLnVybH0vcXVlc3Rpb25zLyR7aWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGVzIGEgcXVlc3Rpb24gYnkgaXRzIElELlxyXG4gICAqXHJcbiAgICogU2VuZHMgYW4gSFRUUCBERUxFVEUgcmVxdWVzdCB0byB0aGUgYmFja2VuZCBlbmRwb2ludCBgL3F1ZXN0aW9ucy97aWR9YCBhbmRcclxuICAgKiByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgQVBJIHJlc3BvbnNlJ3MgYGRhdGFgIHBheWxvYWQgKHR5cGljYWxseSBhbiBlbXB0eSBvYmplY3QpLlxyXG4gICAqXHJcbiAgICogVGhlIGltcGxlbWVudGF0aW9uIG1hcHMgYW4gQXBpU3VjY2VzcyB3cmFwcGVyIHRvIGl0cyBgZGF0YWAgcHJvcGVydHkgYmVmb3JlIGVtaXR0aW5nLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGlkIC0gVGhlIG51bWVyaWMgaWRlbnRpZmllciBvZiB0aGUgcXVlc3Rpb24gdG8gZGVsZXRlLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZGVsZXRlZCByZXNvdXJjZSBwYXlsb2FkICh7fSBleHBlY3RlZCkgb24gc3VjY2Vzcy5cclxuICAgKiAgICAgICAgICBUaGUgT2JzZXJ2YWJsZSB3aWxsIGVtaXQgYW4gZXJyb3IgaWYgdGhlIEhUVFAgcmVxdWVzdCBmYWlscy5cclxuICAgKi9cclxuICBkZWxldGVRdWVzdGlvbiAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8e30+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPEFwaVN1Y2Nlc3M8e30+PihgJHt0aGlzLnVybH0vcXVlc3Rpb25zLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGhvbGlkYXlzIGZyb20gdGhlIGNhdGFsb2dzIEFQSS5cclxuICAgKlxyXG4gICAqIFNlbmRzIGFuIEhUVFAgR0VUIHJlcXVlc3QgdG8gYCR7dGhpcy51cmx9L2hvbGlkYXlzYCB1c2luZyB0aGUgc3VwcGxpZWQgcXVlcnkgcGFyYW1ldGVyc1xyXG4gICAqIGFuZCByZXR1cm5zIHRoZSB1bndyYXBwZWQgcGF5bG9hZCAoYGRhdGFgKSBmcm9tIHRoZSBBUEkgcmVzcG9uc2UuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGFyYW1zIC0gUXVlcnkgcGFyYW1ldGVycyB0byBpbmNsdWRlIGluIHRoZSByZXF1ZXN0IChlLmcuIHBhZ2luZywgZmlsdGVycywgc29ydGluZykuXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBIb2xpZGF5c091dCBwYXlsb2FkICh0aGUgYGRhdGFgIGZpZWxkIGZyb20gQXBpU3VjY2VzczxIb2xpZGF5c091dD4pLlxyXG4gICAqL1xyXG4gIGdldEhvbGlkYXlzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxIb2xpZGF5c091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxIb2xpZGF5c091dD4+KGAke3RoaXMudXJsfS9ob2xpZGF5c2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmUgYSBzaW5nbGUgaG9saWRheSBieSBpdHMgaWQuXHJcbiAgICpcclxuICAgKiBTZW5kcyBhbiBIVFRQIEdFVCByZXF1ZXN0IHRvIHRoZSBob2xpZGF5cyBlbmRwb2ludCBhbmQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHNcclxuICAgKiB0aGUgSG9saWRheU91dCBwYXlsb2FkIGV4dHJhY3RlZCBmcm9tIHRoZSBBUEkgc3VjY2VzcyBlbnZlbG9wZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBudW1lcmljIGlkZW50aWZpZXIgb2YgdGhlIGhvbGlkYXkgdG8gZmV0Y2guXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXF1ZXN0ZWQgSG9saWRheU91dC4gVGhlIE9ic2VydmFibGUgd2lsbCBlcnJvclxyXG4gICAqICAgICAgICAgIGlmIHRoZSBIVFRQIHJlcXVlc3QgZmFpbHMgKGZvciBleGFtcGxlIG5ldHdvcmsgaXNzdWVzIG9yIG5vbi0yeHggcmVzcG9uc2VzKS5cclxuICAgKi9cclxuICBnZXRIb2xpZGF5IChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxIb2xpZGF5T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEhvbGlkYXlPdXQ+PihgJHt0aGlzLnVybH0vaG9saWRheXMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIGNyZWF0ZSBhIG5ldyBob2xpZGF5IGFuZCByZXR1cm5zIHRoZSBjcmVhdGVkIHJlc291cmNlLlxyXG4gICAqXHJcbiAgICogVGhlIHJlcXVlc3QgcGF5bG9hZCBpcyBzZW50IGFzIGFuIG9iamVjdCB3aXRoIGEgYGJvZHlgIHByb3BlcnR5IGNvbnRhaW5pbmcgdGhlIHByb3ZpZGVkXHJcbiAgICogSG9saWRheUluIHZhbHVlIChpLmUuIHsgYm9keTogSG9saWRheUluIH0pLiBPbiBzdWNjZXNzIHRoZSBIVFRQIHJlc3BvbnNlIGlzIGV4cGVjdGVkXHJcbiAgICogdG8gZm9sbG93IHRoZSBBcGlTdWNjZXNzPFQ+IHNoYXBlOyB0aGUgb3BlcmF0b3IgbWFwcyB0aGF0IHJlc3BvbnNlIHRvIHRoZSBpbm5lciBgZGF0YWBcclxuICAgKiBvYmplY3QgYW5kIGVtaXRzIGl0IGFzIGEgSG9saWRheU91dC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBib2R5IC0gVGhlIGhvbGlkYXkgcGF5bG9hZCB0byBjcmVhdGUgKEhvbGlkYXlJbikuXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxIb2xpZGF5T3V0PiB0aGF0IGVtaXRzIHRoZSBjcmVhdGVkIGhvbGlkYXkgb24gc3VjY2Vzcy5cclxuICAgKi9cclxuICBwb3N0SG9saWRheSAoYm9keTogSG9saWRheUluKTogT2JzZXJ2YWJsZTxIb2xpZGF5T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxIb2xpZGF5T3V0Pj4oYCR7dGhpcy51cmx9L2hvbGlkYXlzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgYSBob2xpZGF5IGJ5IGl0cyBJRC5cclxuICAgKlxyXG4gICAqIFNlbmRzIGFuIEhUVFAgUFVUIHRvIGAke3RoaXMudXJsfS9ob2xpZGF5cy8ke2lkfWAgd2l0aCB0aGUgcHJvdmlkZWQgcGF5bG9hZC5cclxuICAgKiBUaGUgcmVxdWVzdCBib2R5IGlzIHNlbnQgYXMgYW4gb2JqZWN0IHdpdGggYSBgYm9keWAgcHJvcGVydHkgY29udGFpbmluZyB0aGVcclxuICAgKiBgSG9saWRheUluYCBkYXRhLiBUaGUgc2VydmVyIHJlc3BvbnNlIGlzIGV4cGVjdGVkIHRvIGJlIGFuIGBBcGlTdWNjZXNzPEhvbGlkYXlPdXQ+YFxyXG4gICAqIGFuZCB0aGlzIG1ldGhvZCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdW53cmFwcGVkIGBIb2xpZGF5T3V0YC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBob2xpZGF5IHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSB1cGRhdGUgcGF5bG9hZCBmb3IgdGhlIGhvbGlkYXkuXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1cGRhdGVkIGBIb2xpZGF5T3V0YCBvbiBzdWNjZXNzLlxyXG4gICAqL1xyXG4gIHB1dEhvbGlkYXkgKGlkOiBudW1iZXIsIGJvZHk6IEhvbGlkYXlJbik6IE9ic2VydmFibGU8SG9saWRheU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxIb2xpZGF5T3V0Pj4oYCR7dGhpcy51cmx9L2hvbGlkYXlzLyR7aWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGVzIGEgcXVlc3Rpb24gYnkgaXRzIElELlxyXG4gICAqXHJcbiAgICogU2VuZHMgYW4gSFRUUCBERUxFVEUgcmVxdWVzdCB0byB0aGUgYmFja2VuZCBlbmRwb2ludCBgL3F1ZXN0aW9ucy97aWR9YCBhbmRcclxuICAgKiByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgQVBJIHJlc3BvbnNlJ3MgYGRhdGFgIHBheWxvYWQgKHR5cGljYWxseSBhbiBlbXB0eSBvYmplY3QpLlxyXG4gICAqXHJcbiAgICogVGhlIGltcGxlbWVudGF0aW9uIG1hcHMgYW4gQXBpU3VjY2VzcyB3cmFwcGVyIHRvIGl0cyBgZGF0YWAgcHJvcGVydHkgYmVmb3JlIGVtaXR0aW5nLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGlkIC0gVGhlIG51bWVyaWMgaWRlbnRpZmllciBvZiB0aGUgcXVlc3Rpb24gdG8gZGVsZXRlLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZGVsZXRlZCByZXNvdXJjZSBwYXlsb2FkICh7fSBleHBlY3RlZCkgb24gc3VjY2Vzcy5cclxuICAgKiAgICAgICAgICBUaGUgT2JzZXJ2YWJsZSB3aWxsIGVtaXQgYW4gZXJyb3IgaWYgdGhlIEhUVFAgcmVxdWVzdCBmYWlscy5cclxuICAgKi9cclxuICBkZWxldGVIb2xpZGF5IChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx7fT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8QXBpU3VjY2Vzczx7fT4+KGAke3RoaXMudXJsfS9ob2xpZGF5cy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxufVxyXG4iXX0=
612
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNhdGFsb2dzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktY2F0YWxvZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUdsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFBOzs7QUFrRHRDLE1BQU0sT0FBTyxrQkFBa0I7SUFFSjtJQUNmO0lBRlYsWUFDeUIsWUFBeUIsRUFDeEMsSUFBZ0I7UUFERCxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN4QyxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3RCLENBQUM7SUFFTDs7OztPQUlHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUE7SUFDL0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQUUsTUFBbUI7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZ0MsR0FBRyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsRUFBRTtZQUNqRixNQUFNO1NBQ1AsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHNCQUFzQixDQUFFLE1BQW1CO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsdUJBQXVCLEVBQUU7WUFDM0YsTUFBTTtTQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFB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bnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9uZ3gtc2VydmljZXMubW9kZWxzJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IEFwaVN1Y2Nlc3MsIFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi9tb2RlbHMvYXBpLm1vZGVscydcclxuaW1wb3J0IHtcclxuICBCdXNpbmVzc1BhcnR5VHJhZGVyVHlwZXNPdXQsXHJcbiAgQ2FuY2VsbGF0aW9uUmVhc29uSW4sXHJcbiAgQ2FuY2VsbGF0aW9uUmVhc29uT3V0LFxyXG4gIENhbmNlbGxhdGlvblJlYXNvbnNPdXQsXHJcbiAgQ291bnRyaWVzT3V0LFxyXG4gIENvdW50cnlJbixcclxuICBDb3VudHJ5T3V0LFxyXG4gIEN1cnJlbmNpZXNPdXQsXHJcbiAgRXh0cmFDaGFyZ2VJbixcclxuICBFeHRyYUNoYXJnZU91dCxcclxuICBFeHRyYUNoYXJnZXNPdXQsXHJcbiAgR2VuZXJpY0ZvbGlvSW4sXHJcbiAgR2VuZXJpY0ZvbGlvT3V0LFxyXG4gIEdlbmVyaWNGb2xpb3NPdXQsXHJcbiAgSG9saWRheUluLFxyXG4gIEhvbGlkYXlPdXQsXHJcbiAgSG9saWRheXNPdXQsXHJcbiAgSWRlbnRpZmljYXRpb25UeXBlSW4sXHJcbiAgSWRlbnRpZmljYXRpb25UeXBlT3V0LFxyXG4gIElkZW50aWZpY2F0aW9uVHlwZXNPdXQsXHJcbiAgTGFuZ3VhZ2VzT3V0LFxyXG4gIE1hbmFnZW1lbnRBcmVhc091dCxcclxuICBPcGVyYXRpb25UeXBlc091dCxcclxuICBQb3N0YWxMb2NhdGlvbnNPdXQsXHJcbiAgUHJvZHVjdEluLFxyXG4gIFByb2R1Y3RPdXQsXHJcbiAgUXVlc3Rpb25JbixcclxuICBRdWVzdGlvbk91dCxcclxuICBRdWVzdGlvbnNPdXQsXHJcbiAgUmVnaW9uc091dCxcclxuICBTaGlwbWVudENvbnRlbnRUeXBlc091dCxcclxuICBTaGlwbWVudEdyb3Vwc091dCxcclxuICBTaGlwbWVudEluY29tZVR5cGVJbixcclxuICBTaGlwbWVudEluY29tZVR5cGVPdXQsXHJcbiAgU2hpcG1lbnRJbmNvbWVUeXBlc091dCxcclxuICBTaGlwbWVudFNjb3Blc091dCxcclxuICBTaGlwbWVudFN0YXR1c2VzT3V0LFxyXG4gIFVuaXF1ZUZvbGlvSW4sXHJcbiAgVW5pcXVlRm9saW9PdXQsXHJcbiAgVW5pcXVlRm9saW9zT3V0LFxyXG4gIFVuaXRzT3V0LFxyXG4gIFpvbmVzT3V0XHJcbn0gZnJvbSAnLi9tb2RlbHMvYXBpLWNhdGFsb2cudHlwZXMnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlDYXRhbG9nc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yIChcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgVVJMIGZvciB0aGUgcmVwb3J0cyBBUEkgZnJvbSB0aGUgZW52aXJvbm1lbnQgY29uZmlndXJhdGlvbnMuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBVUkwgb2YgdGhlIHJlcG9ydHMgQVBJLlxyXG4gICAqL1xyXG4gIGdldCB1cmwgKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudHMuYXBpQ2F0YWxvZ3NVcmwgPz8gJydcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgbGlzdCBvZiBjb2xsZWN0aW9uIHBheW1lbnRzXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB1c2VkIHRvIGZldGNoIHRoZSBvcGVyYXRpb24gdHlwZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxPcGVyYXRpb25UeXBlc091dFtdPn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGFycmF5IG9mIG9wZXJhdGlvbiB0eXBlLlxyXG4gICAqL1xyXG4gIGdldE9wZXJhdGlvblR5cGVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxPcGVyYXRpb25UeXBlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxPcGVyYXRpb25UeXBlc091dD4+KGAke3RoaXMudXJsfS9vcGVyYXRpb24tdHlwZXNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgbGlzdCBvZiBpZGVudGlmaWNhdGlvcyB0eXBlc1xyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdXNlZCB0byBmZXRjaCB0aGUgaWRlbnRpZmljYXRpb24gdHlwZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxJZGVudGlmaWNhdGlvblR5cGVzT3V0W10+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgb2YgaWRlbnRpZmljYXRpb24gdHlwZS5cclxuICAgKi9cclxuICBnZXRJZGVudGlmaWNhdGlvblR5cGVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxJZGVudGlmaWNhdGlvblR5cGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPElkZW50aWZpY2F0aW9uVHlwZXNPdXQ+PihgJHt0aGlzLnVybH0vaWRlbnRpZmljYXRpb24tdHlwZXNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlIGEgc2luZ2xlIGlkZW50aWZpY2F0aW9uIHR5cGUgYnkgaXRzIGlkLlxyXG4gICAqXHJcbiAgICogU2VuZHMgYW4gSFRUUCBHRVQgcmVxdWVzdCB0byB0aGUgaW5kZW50aWZpY2F0aW9uIHR5cGUgZW5kcG9pbnQgYW5kIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzXHJcbiAgICogdGhlIElkZW50aWZpY2F0aW9uVHlwZU91dCBwYXlsb2FkIGV4dHJhY3RlZCBmcm9tIHRoZSBBUEkgc3VjY2VzcyBlbnZlbG9wZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBudW1lcmljIGlkZW50aWZpZXIgb2YgdGhlIGlkZW50aWZpY2F0aW9uIHR5cGUgdG8gZmV0Y2guXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXF1ZXN0ZWQgSWRlbnRpZmljYXRpb25UeXBlT3V0LiBUaGUgT2JzZXJ2YWJsZSB3aWxsIGVycm9yXHJcbiAgICogICAgICAgICAgaWYgdGhlIEhUVFAgcmVxdWVzdCBmYWlscyAoZm9yIGV4YW1wbGUgbmV0d29yayBpc3N1ZXMgb3Igbm9uLTJ4eCByZXNwb25zZXMpLlxyXG4gICAqL1xyXG4gIGdldElkZW50aWZpY2F0aW9uVHlwZSAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8SWRlbnRpZmljYXRpb25UeXBlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPElkZW50aWZpY2F0aW9uVHlwZU91dD4+KGAke3RoaXMudXJsfS9pZGVudGlmaWNhdGlvbi10eXBlcy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBQT1NUIHJlcXVlc3QgdG8gY3JlYXRlIGEgbmV3IGlkZW50aWZpY2F0aW9uIHR5cGUgYW5kIHJldHVybnMgdGhlIGNyZWF0ZWQgcmVzb3VyY2UuXHJcbiAgICpcclxuICAgKiBUaGUgcmVxdWVzdCBwYXlsb2FkIGlzIHNlbnQgYXMgYW4gb2JqZWN0IHdpdGggYSBgYm9keWAgcHJvcGVydHkgY29udGFpbmluZyB0aGUgcHJvdmlkZWRcclxuICAgKiBJZGVudGlmaWNhdGlvblR5cGVJbiB2YWx1ZSAoaS5lLiB7IGJvZHk6IElkZW50aWZpY2F0aW9uVHlwZUluIH0pLiBPbiBzdWNjZXNzIHRoZSBIVFRQIHJlc3BvbnNlIGlzIGV4cGVjdGVkXHJcbiAgICogdG8gZm9sbG93IHRoZSBBcGlTdWNjZXNzPFQ+IHNoYXBlOyB0aGUgb3BlcmF0b3IgbWFwcyB0aGF0IHJlc3BvbnNlIHRvIHRoZSBpbm5lciBgZGF0YWBcclxuICAgKiBvYmplY3QgYW5kIGVtaXRzIGl0IGFzIGEgSWRlbnRpZmljYXRpb25UeXBlT3V0LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGJvZHkgLSBUaGUgaWRlbnRpZmljYXRpb24gdHlwZSBwYXlsb2FkIHRvIGNyZWF0ZSAoSWRlbnRpZmljYXRpb25UeXBlSW4pLlxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8SWRlbnRpZmljYXRpb25UeXBlT3V0PiB0aGF0IGVtaXRzIHRoZSBjcmVhdGVkIGlkZW50aWZpY2F0aW9uIHR5cGUgb24gc3VjY2Vzcy5cclxuICAgKi9cclxuICBwb3N0SWRlbnRpZmljYXRpb250VHlwZSAoYm9keTogSWRlbnRpZmljYXRpb25UeXBlSW4pOiBPYnNlcnZhYmxlPElkZW50aWZpY2F0aW9uVHlwZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8SWRlbnRpZmljYXRpb25UeXBlT3V0Pj4oYCR7dGhpcy51cmx9L2lkZW50aWZpY2F0aW9uLXR5cGVzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgYSBpZGVudGlmaWNhdGlvbiB0eXBlIGJ5IGl0cyBJRC5cclxuICAgKlxyXG4gICAqIFNlbmRzIGFuIEhUVFAgUFVUIHRvIGAke3RoaXMudXJsfS9pZGVudGlmaWNhdGlvbi10eXBlcy8ke2lkfWAgd2l0aCB0aGUgcHJvdmlkZWQgcGF5bG9hZC5cclxuICAgKiBUaGUgcmVxdWVzdCBib2R5IGlzIHNlbnQgYXMgYW4gb2JqZWN0IHdpdGggYSBgYm9keWAgcHJvcGVydHkgY29udGFpbmluZyB0aGVcclxuICAgKiBgSWRlbnRpZmljYXRpb25UeXBlSW5gIGRhdGEuIFRoZSBzZXJ2ZXIgcmVzcG9uc2UgaXMgZXhwZWN0ZWQgdG8gYmUgYW4gYEFwaVN1Y2Nlc3M8SWRlbnRpZmljYXRpb25UeXBlT3V0PmBcclxuICAgKiBhbmQgdGhpcyBtZXRob2QgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHVud3JhcHBlZCBgSWRlbnRpZmljYXRpb25UeXBlT3V0YC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBpZGVudGlmaWNhdGlvbiB0eXBlIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSB1cGRhdGUgcGF5bG9hZCBmb3IgdGhlIGlkZW50aWZpY2F0aW9uIHR5cGUuXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1cGRhdGVkIGBJZGVudGlmaWNhdGlvblR5cGVPdXRgIG9uIHN1Y2Nlc3MuXHJcbiAgICovXHJcbiAgcHV0SWRlbnRpZmljYXRpb25UeXBlIChpZDogbnVtYmVyLCBib2R5OiBJZGVudGlmaWNhdGlvblR5cGVJbik6IE9ic2VydmFibGU8SWRlbnRpZmljYXRpb25UeXBlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPElkZW50aWZpY2F0aW9uVHlwZU91dD4+KGAke3RoaXMudXJsfS9pZGVudGlmaWNhdGlvbi10eXBlcy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIGEgaWRlbnRpZmljYXRpb24gdHlwZSBieSBpdHMgSUQuXHJcbiAgICpcclxuICAgKiBTZW5kcyBhbiBIVFRQIERFTEVURSByZXF1ZXN0IHRvIHRoZSBiYWNrZW5kIGVuZHBvaW50IGAvaWRlbnRpZmljYXRpb24tdHlwZXMve2lkfWAgYW5kXHJcbiAgICogcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIEFQSSByZXNwb25zZSdzIGBkYXRhYCBwYXlsb2FkICh0eXBpY2FsbHkgYW4gZW1wdHkgb2JqZWN0KS5cclxuICAgKlxyXG4gICAqIFRoZSBpbXBsZW1lbnRhdGlvbiBtYXBzIGFuIEFwaVN1Y2Nlc3Mgd3JhcHBlciB0byBpdHMgYGRhdGFgIHByb3BlcnR5IGJlZm9yZSBlbWl0dGluZy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBudW1lcmljIGlkZW50aWZpZXIgb2YgdGhlIGlkZW50aWZpY2F0aW9uIHR5cGUgdG8gZGVsZXRlLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZGVsZXRlZCByZXNvdXJjZSBwYXlsb2FkICh7fSBleHBlY3RlZCkgb24gc3VjY2Vzcy5cclxuICAgKiAgICAgICAgICBUaGUgT2JzZXJ2YWJsZSB3aWxsIGVtaXQgYW4gZXJyb3IgaWYgdGhlIEhUVFAgcmVxdWVzdCBmYWlscy5cclxuICAgKi9cclxuICBkZWxldGVJZGVudGlmaWNhdGlvblR5cGUgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxBcGlTdWNjZXNzPHt9Pj4oYCR7dGhpcy51cmx9L2lkZW50aWZpY2F0aW9uLXR5cGVzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBleHRyYSBjaGFyZ2VzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSByZXN1bHRzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8RXh0cmFDaGFyZ2VzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgZXh0cmEgY2hhcmdlcyBkYXRhLlxyXG4gICAqL1xyXG4gIGdldEV4dHJhQ2hhcmdlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8RXh0cmFDaGFyZ2VzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEV4dHJhQ2hhcmdlc091dD4+KGAke3RoaXMudXJsfS9leHRyYWNoYXJnZXNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1Ym1pdHMgYW4gZXh0cmEgY2hhcmdlIHJlcXVlc3QgdG8gdGhlIHNlcnZlciBhbmQgcmV0dXJucyB0aGUgY3JlYXRlZCBleHRyYSBjaGFyZ2UgZGV0YWlscy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7RXh0cmFDaGFyZ2VJbn0gYm9keSAtIFRoZSBkYXRhIGZvciB0aGUgZXh0cmEgY2hhcmdlIHRvIGJlIGNyZWF0ZWQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxFeHRyYUNoYXJnZU91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZGV0YWlscyBvZiB0aGUgY3JlYXRlZCBleHRyYSBjaGFyZ2UuXHJcbiAgICovXHJcbiAgcG9zdEV4dHJhQ2hhcmdlIChib2R5OiBFeHRyYUNoYXJnZUluKTogT2JzZXJ2YWJsZTxFeHRyYUNoYXJnZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8RXh0cmFDaGFyZ2VPdXQ+PihgJHt0aGlzLnVybH0vZXh0cmFjaGFyZ2VzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGFuIGV4dHJhIGNoYXJnZSBlbnRpdHkgd2l0aCBuZXcgZGF0YSBhbmQgcmV0dXJucyB0aGUgdXBkYXRlZCBlbnRpdHkuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGV4dHJhIGNoYXJnZSB0byB1cGRhdGUuXHJcbiAgICogQHBhcmFtIHtFeHRyYUNoYXJnZUlufSBib2R5IC0gVGhlIG5ldyBkYXRhIGZvciB0aGUgZXh0cmEgY2hhcmdlLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8RXh0cmFDaGFyZ2VPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSB1cGRhdGVkIGV4dHJhIGNoYXJnZSBlbnRpdHkuXHJcbiAgICovXHJcbiAgcHV0RXh0cmFDaGFyZ2UgKGlkOiBudW1iZXIsIGJvZHk6IEV4dHJhQ2hhcmdlSW4pOiBPYnNlcnZhYmxlPEV4dHJhQ2hhcmdlT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPEV4dHJhQ2hhcmdlT3V0Pj4oYCR7dGhpcy51cmx9L2V4dHJhY2hhcmdlcy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhIGxpc3Qgb2YgY291bnRyaWVzIGZyb20gdGhlIEFQSS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGJlIHBhc3NlZCB0byB0aGUgQVBJIHJlcXVlc3QuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb3VudHJpZXNPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2YgY291bnRyaWVzLlxyXG4gICAqL1xyXG4gIGdldENvdW50cmllcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Q291bnRyaWVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPENvdW50cmllc091dD4+KGAke3RoaXMudXJsfS9jb3VudHJpZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgZGV0YWlscyBvZiBhIGNvdW50cnkgYmFzZWQgb24gaXRzIElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIGNvdW50cnkgdG8gZmV0Y2guXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb3VudHJ5T3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjb3VudHJ5IGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0Q291bnRyeSAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q291bnRyeU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxDb3VudHJ5T3V0Pj4oYCR7dGhpcy51cmx9L2NvdW50cmllcy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgZGV0YWlscyBvZiBhIHNwZWNpZmljIGNvdW50cnkgYnkgaXRzIElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjb3VudHJ5IHRvIGJlIHVwZGF0ZWQuXHJcbiAgICogQHBhcmFtIHtDb3VudHJ5SW59IGJvZHkgLSBUaGUgZGF0YSB0byB1cGRhdGUgdGhlIGNvdW50cnkgd2l0aC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENvdW50cnlPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHVwZGF0ZWQgY291bnRyeSBkYXRhLlxyXG4gICAqL1xyXG4gIHB1dENvdW50cnkgKGlkOiBudW1iZXIsIGJvZHk6IENvdW50cnlJbik6IE9ic2VydmFibGU8Q291bnRyeU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxDb3VudHJ5T3V0Pj4oYCR7dGhpcy51cmx9L2NvdW50cmllcy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBwb3N0YWwgbG9jYXRpb24gZGV0YWlscyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciBhbmQgZmV0Y2ggcG9zdGFsIGxvY2F0aW9uIGRhdGEuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxQb3N0YWxMb2NhdGlvbnNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHBvc3RhbCBsb2NhdGlvbiBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIGdldFBvc3RhbExvY2F0aW9ucyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8UG9zdGFsTG9jYXRpb25zT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFBvc3RhbExvY2F0aW9uc091dD4+KGAke3RoaXMudXJsfS9wb3N0YWwtbG9jYXRpb25zYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiByZWdpb25zIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdXNlZCB0byBmaWx0ZXIgdGhlIHJlZ2lvbnMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxSZWdpb25zT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBsaXN0IG9mIHJlZ2lvbnMuXHJcbiAgICovXHJcbiAgZ2V0UmVnaW9ucyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8UmVnaW9uc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxSZWdpb25zT3V0Pj4oYCR7dGhpcy51cmx9L3JlZ2lvbnNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIHpvbmVzIGRhdGEgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB1c2VkIHRvIGZpbHRlciB0aGUgem9uZXMgZGF0YS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFpvbmVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBmZXRjaGVkIHpvbmVzIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0Wm9uZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFpvbmVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFpvbmVzT3V0Pj4oYCR7dGhpcy51cmx9L3pvbmVzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBtYW5hZ2VtZW50IGFyZWFzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSBtYW5hZ2VtZW50IGFyZWFzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TWFuYWdlbWVudEFyZWFzT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBtYW5hZ2VtZW50IGFyZWFzIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0TWFuYWdlbWVudEFyZWFzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxNYW5hZ2VtZW50QXJlYXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8TWFuYWdlbWVudEFyZWFzT3V0Pj4oYCR7dGhpcy51cmx9L21hbmFnZW1lbnQtYXJlYXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBjYW5jZWxsYXRpb24gcmVhc29ucyBmcm9tIHRoZSBzZXJ2ZXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgdGhlIGNhbmNlbGxhdGlvbiByZWFzb25zLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q2FuY2VsbGF0aW9uUmVhc29uc091dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgcmV0cmlldmVkIGNhbmNlbGxhdGlvbiByZWFzb25zLlxyXG4gICAqL1xyXG4gIGdldENhbmNlbGxhdGlvblJlYXNvbnMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPENhbmNlbGxhdGlvblJlYXNvbnNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q2FuY2VsbGF0aW9uUmVhc29uc091dD4+KGAke3RoaXMudXJsfS9jYW5jZWxsYXRpb24tcmVhc29uc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBjYW5jZWxsYXRpb24gcmVhc29uIHRvIHRoZSBzZXJ2ZXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0NhbmNlbGxhdGlvblJlYXNvbklufSBib2R5IC0gVGhlIGNhbmNlbGxhdGlvbiByZWFzb24gb2JqZWN0IHRvIGJlIHNlbnQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDYW5jZWxsYXRpb25SZWFzb25PdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHNlcnZlcidzIHJlc3BvbnNlIHdpdGggdGhlIHByb2Nlc3NlZCBjYW5jZWxsYXRpb24gcmVhc29uLlxyXG4gICAqL1xyXG4gIHBvc3RDYW5jZWxsYXRpb25SZWFzb24gKGJvZHk6IENhbmNlbGxhdGlvblJlYXNvbkluKTogT2JzZXJ2YWJsZTxDYW5jZWxsYXRpb25SZWFzb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPENhbmNlbGxhdGlvblJlYXNvbk91dD4+KGAke3RoaXMudXJsfS9jYW5jZWxsYXRpb24tcmVhc29uc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgY2FuY2VsbGF0aW9uIHJlYXNvbiBmb3IgdGhlIHNwZWNpZmllZCBJRCB3aXRoIHRoZSBwcm92aWRlZCBkYXRhLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjYW5jZWxsYXRpb24gcmVhc29uIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge0NhbmNlbGxhdGlvblJlYXNvbklufSBib2R5IC0gVGhlIGRldGFpbHMgb2YgdGhlIGNhbmNlbGxhdGlvbiByZWFzb24gdG8gYmUgdXBkYXRlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENhbmNlbGxhdGlvblJlYXNvbk91dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgdXBkYXRlZCBjYW5jZWxsYXRpb24gcmVhc29uLlxyXG4gICAqL1xyXG4gIHB1dENhbmNlbGxhdGlvblJlYXNvbiAoaWQ6IG51bWJlciwgYm9keTogQ2FuY2VsbGF0aW9uUmVhc29uSW4pOiBPYnNlcnZhYmxlPENhbmNlbGxhdGlvblJlYXNvbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxDYW5jZWxsYXRpb25SZWFzb25PdXQ+PihgJHt0aGlzLnVybH0vY2FuY2VsbGF0aW9uLXJlYXNvbnMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgY3VycmVuY2llcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGN1c3RvbWl6ZSB0aGUgY3VycmVuY3kgcmV0cmlldmFsIHJlcXVlc3QuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDdXJyZW5jaWVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXRyaWV2ZWQgY3VycmVuY2llcyBkYXRhLlxyXG4gICAqL1xyXG4gIGdldEN1cnJlbmNpZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEN1cnJlbmNpZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q3VycmVuY2llc091dD4+KGAke3RoaXMudXJsfS9jdXJyZW5jaWVzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBsYW5ndWFnZXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBwYXNzIHdpdGggdGhlIEhUVFAgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPExhbmd1YWdlc091dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgYXZhaWxhYmxlIGxhbmd1YWdlcy5cclxuICAgKi9cclxuICBnZXRMYW5ndWFnZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPExhbmd1YWdlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxMYW5ndWFnZXNPdXQ+PihgJHt0aGlzLnVybH0vbGFuZ3VhZ2VzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBhdmFpbGFibGUgdW5pdHMgZnJvbSB0aGUgQVBJIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSB1bml0cyBiZWluZyBmZXRjaGVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8VW5pdHNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJldHJpZXZlZCB1bml0cyBkYXRhLlxyXG4gICAqL1xyXG4gIGdldFVuaXRzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxVbml0c091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxVbml0c091dD4+KGAke3RoaXMudXJsfS91bml0c2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBzaGlwbWVudCBzY29wZXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIG9yIG1vZGlmeSB0aGUgcmVxdWVzdCBmb3Igc2hpcG1lbnQgc2NvcGVzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8U2hpcG1lbnRTY29wZXNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHNoaXBtZW50IHNjb3BlcyBkYXRhLlxyXG4gICAqL1xyXG4gIGdldFNoaXBtZW50U2NvcGVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxTaGlwbWVudFNjb3Blc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxTaGlwbWVudFNjb3Blc091dD4+KGAke3RoaXMudXJsfS9zaGlwbWVudC1zY29wZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGF2YWlsYWJsZSBzaGlwbWVudCBjb250ZW50IHR5cGVzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSBzaGlwbWVudCBjb250ZW50IHR5cGVzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8U2hpcG1lbnRDb250ZW50VHlwZXNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHNoaXBtZW50IGNvbnRlbnQgdHlwZXMgZGF0YS5cclxuICAgKi9cclxuICBnZXRTaGlwbWVudENvbnRlbnRUeXBlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8U2hpcG1lbnRDb250ZW50VHlwZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8U2hpcG1lbnRDb250ZW50VHlwZXNPdXQ+PihgJHt0aGlzLnVybH0vc2hpcG1lbnQtY29udGVudC10eXBlc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhIGxpc3Qgb2YgZ2VuZXJpYyBmb2xpb3MgYmFzZWQgb24gdGhlIGdpdmVuIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB1c2VkIHRvIGZpbHRlciB0aGUgZ2VuZXJpYyBmb2xpb3MuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxHZW5lcmljRm9saW9zT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBmZXRjaGVkIGdlbmVyaWMgZm9saW9zLlxyXG4gICAqL1xyXG4gIGdldEdlbmVyaWNGb2xpb3MgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEdlbmVyaWNGb2xpb3NPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8R2VuZXJpY0ZvbGlvc091dD4+KGAke3RoaXMudXJsfS9nZW5lcmljLWZvbGlvc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBQT1NUIHJlcXVlc3QgdG8gY3JlYXRlIG9yIHVwZGF0ZSBhIGdlbmVyaWMgZm9saW8uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0dlbmVyaWNGb2xpb0lufSBib2R5IC0gVGhlIHBheWxvYWQgY29udGFpbmluZyB0aGUgZGV0YWlscyBvZiB0aGUgZ2VuZXJpYyBmb2xpbyB0byBiZSBjcmVhdGVkIG9yIHVwZGF0ZWQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxHZW5lcmljRm9saW9PdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHJlc3BvbnNlIGRhdGEgb2YgdGhlIGNyZWF0ZWQgb3IgdXBkYXRlZCBnZW5lcmljIGZvbGlvLlxyXG4gICAqL1xyXG4gIHBvc3RHZW5lcmljRm9saW8gKGJvZHk6IEdlbmVyaWNGb2xpb0luKTogT2JzZXJ2YWJsZTxHZW5lcmljRm9saW9PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPEdlbmVyaWNGb2xpb091dD4+KGAke3RoaXMudXJsfS9nZW5lcmljLWZvbGlvc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBhIGdlbmVyaWMgZm9saW8gd2l0aCB0aGUgc3BlY2lmaWVkIElEIHVzaW5nIHRoZSBwcm92aWRlZCBkYXRhLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBnZW5lcmljIGZvbGlvIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge0dlbmVyaWNGb2xpb0lufSBib2R5IC0gVGhlIGRhdGEgdG8gdXBkYXRlIHRoZSBnZW5lcmljIGZvbGlvIHdpdGguXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxHZW5lcmljRm9saW9PdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHVwZGF0ZWQgZ2VuZXJpYyBmb2xpby5cclxuICAgKi9cclxuICBwdXRHZW5lcmljRm9saW8gKGlkOiBudW1iZXIsIGJvZHk6IEdlbmVyaWNGb2xpb0luKTogT2JzZXJ2YWJsZTxHZW5lcmljRm9saW9PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8R2VuZXJpY0ZvbGlvT3V0Pj4oYCR7dGhpcy51cmx9L2dlbmVyaWMtZm9saW9zLyR7aWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kcyBhIFBVVCByZXF1ZXN0IHRvIHVwZGF0ZSBhIEdlbmVyaWMgRm9saW8gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIElEIGFuZCBib2R5IGRhdGEsIGFuZCByZXR1cm5zIHRoZSB1cGRhdGVkIHJlc291cmNlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBHZW5lcmljIEZvbGlvIHRvIGJlIHVwZGF0ZWQuXHJcbiAgICogQHBhcmFtIHtQYXJ0aWFsPEdlbmVyaWNGb2xpb0luPn0gYm9keSAtIFRoZSBwYXJ0aWFsIGRhdGEgcmVwcmVzZW50aW5nIHRoZSBjaGFuZ2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIEdlbmVyaWMgRm9saW8uXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxHZW5lcmljRm9saW9PdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHVwZGF0ZWQgR2VuZXJpYyBGb2xpbyByZXNvdXJjZS5cclxuICAgKi9cclxuICBwYXRoR2VuZXJpY0ZvbGlvIChpZDogbnVtYmVyLCBib2R5OiBQYXJ0aWFsPEdlbmVyaWNGb2xpb0luPik6IE9ic2VydmFibGU8R2VuZXJpY0ZvbGlvT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPEdlbmVyaWNGb2xpb091dD4+KGAke3RoaXMudXJsfS9nZW5lcmljLWZvbGlvcy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBQT1NUIHJlcXVlc3QgdG8gY3JlYXRlIGEgbmV3IHByb2R1Y3QuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1Byb2R1Y3RJbn0gYm9keSAtIFRoZSBwcm9kdWN0IGRhdGEgdG8gYmUgc2VudCBpbiB0aGUgcmVxdWVzdCBib2R5LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UHJvZHVjdE91dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIGNyZWF0ZWQgcHJvZHVjdCBkYXRhLlxyXG4gICAqL1xyXG4gIHBvc3RQcm9kdWN0IChib2R5OiBQcm9kdWN0SW4pOiBPYnNlcnZhYmxlPFByb2R1Y3RPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFByb2R1Y3RPdXQ+PihgJHt0aGlzLnVybH0vcHJvZHVjdHNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgcHJvZHVjdCB3aXRoIHRoZSBnaXZlbiBJRCB1c2luZyB0aGUgcHJvdmlkZWQgZGF0YS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcHJvZHVjdCB0byB1cGRhdGUuXHJcbiAgICogQHBhcmFtIHtQcm9kdWN0SW59IGJvZHkgLSBUaGUgcHJvZHVjdCBkYXRhIHRvIHVwZGF0ZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFByb2R1Y3RPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHVwZGF0ZWQgcHJvZHVjdCBkYXRhLlxyXG4gICAqL1xyXG4gIHB1dFByb2R1Y3QgKGlkOiBudW1iZXIsIGJvZHk6IFByb2R1Y3RJbik6IE9ic2VydmFibGU8UHJvZHVjdE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxQcm9kdWN0T3V0Pj4oYCR7dGhpcy51cmx9L3Byb2R1Y3RzLyR7aWR9YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHNoaXBtZW50IGluY29tZSB0eXBlcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciB0aGUgc2hpcG1lbnQgaW5jb21lIHR5cGVzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8U2hpcG1lbnRJbmNvbWVUeXBlc091dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgc2hpcG1lbnQgaW5jb21lIHR5cGVzIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0U2hpcG1lbnRJbmNvbWVUeXBlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8U2hpcG1lbnRJbmNvbWVUeXBlc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxTaGlwbWVudEluY29tZVR5cGVzT3V0Pj4oYCR7dGhpcy51cmx9L3NoaXBtZW50LWluY29tZS10eXBlc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBQT1NUIHJlcXVlc3QgdG8gY3JlYXRlIGEgbmV3IHNoaXBtZW50IGluY29tZSB0eXBlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtTaGlwbWVudEluY29tZVR5cGVJbn0gYm9keSBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBkZXRhaWxzIG9mIHRoZSBzaGlwbWVudCBpbmNvbWUgdHlwZSB0byBiZSBjcmVhdGVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8U2hpcG1lbnRJbmNvbWVUeXBlT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjcmVhdGVkIHNoaXBtZW50IGluY29tZSB0eXBlIGRhdGEuXHJcbiAgICovXHJcbiAgcG9zdFNoaXBtZW50SW5jb21lVHlwZSAoYm9keTogU2hpcG1lbnRJbmNvbWVUeXBlSW4pOiBPYnNlcnZhYmxlPFNoaXBtZW50SW5jb21lVHlwZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8U2hpcG1lbnRJbmNvbWVUeXBlT3V0Pj4oYCR7dGhpcy51cmx9L3NoaXBtZW50LWluY29tZS10eXBlc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgc2hpcG1lbnQgaW5jb21lIHR5cGUgd2l0aCB0aGUgc3BlY2lmaWVkIElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIHNoaXBtZW50IGluY29tZSB0eXBlIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge1NoaXBtZW50SW5jb21lVHlwZUlufSBib2R5IC0gVGhlIGRhdGEgdG8gdXBkYXRlIHRoZSBzaGlwbWVudCBpbmNvbWUgdHlwZSB3aXRoLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8U2hpcG1lbnRJbmNvbWVUeXBlT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgdXBkYXRlZCBzaGlwbWVudCBpbmNvbWUgdHlwZS5cclxuICAgKi9cclxuICBwdXRTaGlwbWVudEluY29tZVR5cGUgKGlkOiBudW1iZXIsIGJvZHk6IFNoaXBtZW50SW5jb21lVHlwZUluKTogT2JzZXJ2YWJsZTxTaGlwbWVudEluY29tZVR5cGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8U2hpcG1lbnRJbmNvbWVUeXBlT3V0Pj4oYCR7dGhpcy51cmx9L3NoaXBtZW50LWluY29tZS10eXBlcy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiB1bmlxdWUgZm9saW9zIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdXNlZCB0byBmaWx0ZXIgYW5kIGZldGNoIHVuaXF1ZSBmb2xpb3MuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxVbmlxdWVGb2xpb3NPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHVuaXF1ZSBmb2xpb3MgZGF0YS5cclxuICAgKi9cclxuICBnZXRVbmlxdWVGb2xpb3MgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFVuaXF1ZUZvbGlvc091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxVbmlxdWVGb2xpb3NPdXQ+PihgJHt0aGlzLnVybH0vdW5pcXVlLWZvbGlvc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBQT1NUIHJlcXVlc3QgdG8gY3JlYXRlIGEgdW5pcXVlIGZvbGlvLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtVbmlxdWVGb2xpb0lufSBib2R5IC0gVGhlIGRhdGEgb2JqZWN0IGNvbnRhaW5pbmcgZGV0YWlscyBmb3IgdGhlIHVuaXF1ZSBmb2xpbyB0byBiZSBjcmVhdGVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8VW5pcXVlRm9saW9PdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGNyZWF0ZWQgdW5pcXVlIGZvbGlvIGRldGFpbHMuXHJcbiAgICovXHJcbiAgcG9zdFVuaXF1ZUZvbGlvIChib2R5OiBVbmlxdWVGb2xpb0luKTogT2JzZXJ2YWJsZTxVbmlxdWVGb2xpb091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8VW5pcXVlRm9saW9PdXQ+PihgJHt0aGlzLnVybH0vdW5pcXVlLWZvbGlvc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBhIHVuaXF1ZSBmb2xpbyB3aXRoIHRoZSBnaXZlbiBkYXRhIHVzaW5nIHRoZSBwcm92aWRlZCBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSBJRCBvZiB0aGUgdW5pcXVlIGZvbGlvIHRvIGJlIHVwZGF0ZWQuXHJcbiAgICogQHBhcmFtIHtVbmlxdWVGb2xpb0lufSBib2R5IC0gVGhlIHBheWxvYWQgY29udGFpbmluZyB0aGUgZGV0YWlscyBvZiB0aGUgdW5pcXVlIGZvbGlvIHRvIHVwZGF0ZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFVuaXF1ZUZvbGlvT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1cGRhdGVkIHVuaXF1ZSBmb2xpby5cclxuICAgKi9cclxuICBwdXRVbmlxdWVGb2xpbyAoaWQ6IG51bWJlciwgYm9keTogVW5pcXVlRm9saW9Jbik6IE9ic2VydmFibGU8VW5pcXVlRm9saW9PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVN1Y2Nlc3M8VW5pcXVlRm9saW9PdXQ+PihgJHt0aGlzLnVybH0vdW5pcXVlLWZvbGlvcy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBhIHVuaXF1ZSBmb2xpbyBieSBpdHMgaWRlbnRpZmllciB3aXRoIHRoZSBwcm92aWRlZCBkYXRhLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIHVuaXF1ZSBmb2xpbyB0byB1cGRhdGUuXHJcbiAgICogQHBhcmFtIHtQYXJ0aWFsPFVuaXF1ZUZvbGlvSW4+fSBib2R5IC0gVGhlIHBhcnRpYWwgZGF0YSBvZiB0aGUgdW5pcXVlIGZvbGlvIHRvIHVwZGF0ZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFVuaXF1ZUZvbGlvT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgdXBkYXRlZCB1bmlxdWUgZm9saW8gZGF0YS5cclxuICAgKi9cclxuICBwYXRoVW5pcXVlRm9saW8gKGlkOiBudW1iZXIsIGJvZHk6IFBhcnRpYWw8VW5pcXVlRm9saW9Jbj4pOiBPYnNlcnZhYmxlPFVuaXF1ZUZvbGlvT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPFVuaXF1ZUZvbGlvT3V0Pj4oYCR7dGhpcy51cmx9L3VuaXF1ZS1mb2xpb3MvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBzaGlwbWVudCBncm91cHMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSBzaGlwbWVudCBncm91cHMuXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBzaGlwbWVudCBncm91cHMgZGF0YS5cclxuICAgKi9cclxuICBnZXRTaGlwbWVudEdyb3VwcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8U2hpcG1lbnRHcm91cHNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8U2hpcG1lbnRHcm91cHNPdXQ+PihgJHt0aGlzLnVybH0vc2hpcG1lbnQtZ3JvdXBzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIHNoaXBtZW50IHN0YXR1c2VzIGZyb20gdGhlIEFQSS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgb3IgbW9kaWZ5IHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgc2hpcG1lbnQgc3RhdHVzZXMgb3V0cHV0LlxyXG4gICAqL1xyXG4gIGdldFNoaXBtZW50U3RhdHVzZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFNoaXBtZW50U3RhdHVzZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8U2hpcG1lbnRTdGF0dXNlc091dD4+KGAke3RoaXMudXJsfS9zaGlwbWVudC1zdGF0dXNlc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBxdWVzdGlvbnMgZnJvbSB0aGUgY2F0YWxvZ3MgQVBJLlxyXG4gICAqXHJcbiAgICogU2VuZHMgYW4gSFRUUCBHRVQgcmVxdWVzdCB0byBgJHt0aGlzLnVybH0vcXVlc3Rpb25zYCB1c2luZyB0aGUgc3VwcGxpZWQgcXVlcnkgcGFyYW1ldGVyc1xyXG4gICAqIGFuZCByZXR1cm5zIHRoZSB1bndyYXBwZWQgcGF5bG9hZCAoYGRhdGFgKSBmcm9tIHRoZSBBUEkgcmVzcG9uc2UuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGFyYW1zIC0gUXVlcnkgcGFyYW1ldGVycyB0byBpbmNsdWRlIGluIHRoZSByZXF1ZXN0IChlLmcuIHBhZ2luZywgZmlsdGVycywgc29ydGluZykuXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBRdWVzdGlvbnNPdXQgcGF5bG9hZCAodGhlIGBkYXRhYCBmaWVsZCBmcm9tIEFwaVN1Y2Nlc3M8UXVlc3Rpb25zT3V0PikuXHJcbiAgICovXHJcbiAgZ2V0UXVlc3Rpb25zIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxRdWVzdGlvbnNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8UXVlc3Rpb25zT3V0Pj4oYCR7dGhpcy51cmx9L3F1ZXN0aW9uc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmUgYSBzaW5nbGUgcXVlc3Rpb24gYnkgaXRzIGlkLlxyXG4gICAqXHJcbiAgICogU2VuZHMgYW4gSFRUUCBHRVQgcmVxdWVzdCB0byB0aGUgcXVlc3Rpb25zIGVuZHBvaW50IGFuZCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0c1xyXG4gICAqIHRoZSBRdWVzdGlvbk91dCBwYXlsb2FkIGV4dHJhY3RlZCBmcm9tIHRoZSBBUEkgc3VjY2VzcyBlbnZlbG9wZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBudW1lcmljIGlkZW50aWZpZXIgb2YgdGhlIHF1ZXN0aW9uIHRvIGZldGNoLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVxdWVzdGVkIFF1ZXN0aW9uT3V0LiBUaGUgT2JzZXJ2YWJsZSB3aWxsIGVycm9yXHJcbiAgICogICAgICAgICAgaWYgdGhlIEhUVFAgcmVxdWVzdCBmYWlscyAoZm9yIGV4YW1wbGUgbmV0d29yayBpc3N1ZXMgb3Igbm9uLTJ4eCByZXNwb25zZXMpLlxyXG4gICAqL1xyXG4gIGdldFF1ZXN0aW9uIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxRdWVzdGlvbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxRdWVzdGlvbk91dD4+KGAke3RoaXMudXJsfS9xdWVzdGlvbnMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIGNyZWF0ZSBhIG5ldyBxdWVzdGlvbiBhbmQgcmV0dXJucyB0aGUgY3JlYXRlZCByZXNvdXJjZS5cclxuICAgKlxyXG4gICAqIFRoZSByZXF1ZXN0IHBheWxvYWQgaXMgc2VudCBhcyBhbiBvYmplY3Qgd2l0aCBhIGBib2R5YCBwcm9wZXJ0eSBjb250YWluaW5nIHRoZSBwcm92aWRlZFxyXG4gICAqIFF1ZXN0aW9uSW4gdmFsdWUgKGkuZS4geyBib2R5OiBRdWVzdGlvbkluIH0pLiBPbiBzdWNjZXNzIHRoZSBIVFRQIHJlc3BvbnNlIGlzIGV4cGVjdGVkXHJcbiAgICogdG8gZm9sbG93IHRoZSBBcGlTdWNjZXNzPFQ+IHNoYXBlOyB0aGUgb3BlcmF0b3IgbWFwcyB0aGF0IHJlc3BvbnNlIHRvIHRoZSBpbm5lciBgZGF0YWBcclxuICAgKiBvYmplY3QgYW5kIGVtaXRzIGl0IGFzIGEgUXVlc3Rpb25PdXQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSBxdWVzdGlvbiBwYXlsb2FkIHRvIGNyZWF0ZSAoUXVlc3Rpb25JbikuXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxRdWVzdGlvbk91dD4gdGhhdCBlbWl0cyB0aGUgY3JlYXRlZCBxdWVzdGlvbiBvbiBzdWNjZXNzLlxyXG4gICAqL1xyXG4gIHBvc3RRdWVzdGlvbiAoYm9keTogUXVlc3Rpb25Jbik6IE9ic2VydmFibGU8UXVlc3Rpb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFF1ZXN0aW9uT3V0Pj4oYCR7dGhpcy51cmx9L3F1ZXN0aW9uc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIGEgcXVlc3Rpb24gYnkgaXRzIElELlxyXG4gICAqXHJcbiAgICogU2VuZHMgYW4gSFRUUCBQVVQgdG8gYCR7dGhpcy51cmx9L3F1ZXN0aW9ucy8ke2lkfWAgd2l0aCB0aGUgcHJvdmlkZWQgcGF5bG9hZC5cclxuICAgKiBUaGUgcmVxdWVzdCBib2R5IGlzIHNlbnQgYXMgYW4gb2JqZWN0IHdpdGggYSBgYm9keWAgcHJvcGVydHkgY29udGFpbmluZyB0aGVcclxuICAgKiBgUXVlc3Rpb25JbmAgZGF0YS4gVGhlIHNlcnZlciByZXNwb25zZSBpcyBleHBlY3RlZCB0byBiZSBhbiBgQXBpU3VjY2VzczxRdWVzdGlvbk91dD5gXHJcbiAgICogYW5kIHRoaXMgbWV0aG9kIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1bndyYXBwZWQgYFF1ZXN0aW9uT3V0YC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBxdWVzdGlvbiB0byB1cGRhdGUuXHJcbiAgICogQHBhcmFtIGJvZHkgLSBUaGUgdXBkYXRlIHBheWxvYWQgZm9yIHRoZSBxdWVzdGlvbi5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHVwZGF0ZWQgYFF1ZXN0aW9uT3V0YCBvbiBzdWNjZXNzLlxyXG4gICAqL1xyXG4gIHB1dFF1ZXN0aW9uIChpZDogbnVtYmVyLCBib2R5OiBRdWVzdGlvbkluKTogT2JzZXJ2YWJsZTxRdWVzdGlvbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxRdWVzdGlvbk91dD4+KGAke3RoaXMudXJsfS9xdWVzdGlvbnMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZXMgYSBxdWVzdGlvbiBieSBpdHMgSUQuXHJcbiAgICpcclxuICAgKiBTZW5kcyBhbiBIVFRQIERFTEVURSByZXF1ZXN0IHRvIHRoZSBiYWNrZW5kIGVuZHBvaW50IGAvcXVlc3Rpb25zL3tpZH1gIGFuZFxyXG4gICAqIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBBUEkgcmVzcG9uc2UncyBgZGF0YWAgcGF5bG9hZCAodHlwaWNhbGx5IGFuIGVtcHR5IG9iamVjdCkuXHJcbiAgICpcclxuICAgKiBUaGUgaW1wbGVtZW50YXRpb24gbWFwcyBhbiBBcGlTdWNjZXNzIHdyYXBwZXIgdG8gaXRzIGBkYXRhYCBwcm9wZXJ0eSBiZWZvcmUgZW1pdHRpbmcuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaWQgLSBUaGUgbnVtZXJpYyBpZGVudGlmaWVyIG9mIHRoZSBxdWVzdGlvbiB0byBkZWxldGUuXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBkZWxldGVkIHJlc291cmNlIHBheWxvYWQgKHt9IGV4cGVjdGVkKSBvbiBzdWNjZXNzLlxyXG4gICAqICAgICAgICAgIFRoZSBPYnNlcnZhYmxlIHdpbGwgZW1pdCBhbiBlcnJvciBpZiB0aGUgSFRUUCByZXF1ZXN0IGZhaWxzLlxyXG4gICAqL1xyXG4gIGRlbGV0ZVF1ZXN0aW9uIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx7fT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8QXBpU3VjY2Vzczx7fT4+KGAke3RoaXMudXJsfS9xdWVzdGlvbnMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgaG9saWRheXMgZnJvbSB0aGUgY2F0YWxvZ3MgQVBJLlxyXG4gICAqXHJcbiAgICogU2VuZHMgYW4gSFRUUCBHRVQgcmVxdWVzdCB0byBgJHt0aGlzLnVybH0vaG9saWRheXNgIHVzaW5nIHRoZSBzdXBwbGllZCBxdWVyeSBwYXJhbWV0ZXJzXHJcbiAgICogYW5kIHJldHVybnMgdGhlIHVud3JhcHBlZCBwYXlsb2FkIChgZGF0YWApIGZyb20gdGhlIEFQSSByZXNwb25zZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIHRvIGluY2x1ZGUgaW4gdGhlIHJlcXVlc3QgKGUuZy4gcGFnaW5nLCBmaWx0ZXJzLCBzb3J0aW5nKS5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIEhvbGlkYXlzT3V0IHBheWxvYWQgKHRoZSBgZGF0YWAgZmllbGQgZnJvbSBBcGlTdWNjZXNzPEhvbGlkYXlzT3V0PikuXHJcbiAgICovXHJcbiAgZ2V0SG9saWRheXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEhvbGlkYXlzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEhvbGlkYXlzT3V0Pj4oYCR7dGhpcy51cmx9L2hvbGlkYXlzYCwgeyBwYXJhbXMgfSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZSBhIHNpbmdsZSBob2xpZGF5IGJ5IGl0cyBpZC5cclxuICAgKlxyXG4gICAqIFNlbmRzIGFuIEhUVFAgR0VUIHJlcXVlc3QgdG8gdGhlIGhvbGlkYXlzIGVuZHBvaW50IGFuZCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0c1xyXG4gICAqIHRoZSBIb2xpZGF5T3V0IHBheWxvYWQgZXh0cmFjdGVkIGZyb20gdGhlIEFQSSBzdWNjZXNzIGVudmVsb3BlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGlkIC0gVGhlIG51bWVyaWMgaWRlbnRpZmllciBvZiB0aGUgaG9saWRheSB0byBmZXRjaC5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlcXVlc3RlZCBIb2xpZGF5T3V0LiBUaGUgT2JzZXJ2YWJsZSB3aWxsIGVycm9yXHJcbiAgICogICAgICAgICAgaWYgdGhlIEhUVFAgcmVxdWVzdCBmYWlscyAoZm9yIGV4YW1wbGUgbmV0d29yayBpc3N1ZXMgb3Igbm9uLTJ4eCByZXNwb25zZXMpLlxyXG4gICAqL1xyXG4gIGdldEhvbGlkYXkgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEhvbGlkYXlPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8SG9saWRheU91dD4+KGAke3RoaXMudXJsfS9ob2xpZGF5cy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBQT1NUIHJlcXVlc3QgdG8gY3JlYXRlIGEgbmV3IGhvbGlkYXkgYW5kIHJldHVybnMgdGhlIGNyZWF0ZWQgcmVzb3VyY2UuXHJcbiAgICpcclxuICAgKiBUaGUgcmVxdWVzdCBwYXlsb2FkIGlzIHNlbnQgYXMgYW4gb2JqZWN0IHdpdGggYSBgYm9keWAgcHJvcGVydHkgY29udGFpbmluZyB0aGUgcHJvdmlkZWRcclxuICAgKiBIb2xpZGF5SW4gdmFsdWUgKGkuZS4geyBib2R5OiBIb2xpZGF5SW4gfSkuIE9uIHN1Y2Nlc3MgdGhlIEhUVFAgcmVzcG9uc2UgaXMgZXhwZWN0ZWRcclxuICAgKiB0byBmb2xsb3cgdGhlIEFwaVN1Y2Nlc3M8VD4gc2hhcGU7IHRoZSBvcGVyYXRvciBtYXBzIHRoYXQgcmVzcG9uc2UgdG8gdGhlIGlubmVyIGBkYXRhYFxyXG4gICAqIG9iamVjdCBhbmQgZW1pdHMgaXQgYXMgYSBIb2xpZGF5T3V0LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGJvZHkgLSBUaGUgaG9saWRheSBwYXlsb2FkIHRvIGNyZWF0ZSAoSG9saWRheUluKS5cclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEhvbGlkYXlPdXQ+IHRoYXQgZW1pdHMgdGhlIGNyZWF0ZWQgaG9saWRheSBvbiBzdWNjZXNzLlxyXG4gICAqL1xyXG4gIHBvc3RIb2xpZGF5IChib2R5OiBIb2xpZGF5SW4pOiBPYnNlcnZhYmxlPEhvbGlkYXlPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPEhvbGlkYXlPdXQ+PihgJHt0aGlzLnVybH0vaG9saWRheXNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBhIGhvbGlkYXkgYnkgaXRzIElELlxyXG4gICAqXHJcbiAgICogU2VuZHMgYW4gSFRUUCBQVVQgdG8gYCR7dGhpcy51cmx9L2hvbGlkYXlzLyR7aWR9YCB3aXRoIHRoZSBwcm92aWRlZCBwYXlsb2FkLlxyXG4gICAqIFRoZSByZXF1ZXN0IGJvZHkgaXMgc2VudCBhcyBhbiBvYmplY3Qgd2l0aCBhIGBib2R5YCBwcm9wZXJ0eSBjb250YWluaW5nIHRoZVxyXG4gICAqIGBIb2xpZGF5SW5gIGRhdGEuIFRoZSBzZXJ2ZXIgcmVzcG9uc2UgaXMgZXhwZWN0ZWQgdG8gYmUgYW4gYEFwaVN1Y2Nlc3M8SG9saWRheU91dD5gXHJcbiAgICogYW5kIHRoaXMgbWV0aG9kIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB1bndyYXBwZWQgYEhvbGlkYXlPdXRgLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIGhvbGlkYXkgdG8gdXBkYXRlLlxyXG4gICAqIEBwYXJhbSBib2R5IC0gVGhlIHVwZGF0ZSBwYXlsb2FkIGZvciB0aGUgaG9saWRheS5cclxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHVwZGF0ZWQgYEhvbGlkYXlPdXRgIG9uIHN1Y2Nlc3MuXHJcbiAgICovXHJcbiAgcHV0SG9saWRheSAoaWQ6IG51bWJlciwgYm9keTogSG9saWRheUluKTogT2JzZXJ2YWJsZTxIb2xpZGF5T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPEhvbGlkYXlPdXQ+PihgJHt0aGlzLnVybH0vaG9saWRheXMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZXMgYSBxdWVzdGlvbiBieSBpdHMgSUQuXHJcbiAgICpcclxuICAgKiBTZW5kcyBhbiBIVFRQIERFTEVURSByZXF1ZXN0IHRvIHRoZSBiYWNrZW5kIGVuZHBvaW50IGAvcXVlc3Rpb25zL3tpZH1gIGFuZFxyXG4gICAqIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBBUEkgcmVzcG9uc2UncyBgZGF0YWAgcGF5bG9hZCAodHlwaWNhbGx5IGFuIGVtcHR5IG9iamVjdCkuXHJcbiAgICpcclxuICAgKiBUaGUgaW1wbGVtZW50YXRpb24gbWFwcyBhbiBBcGlTdWNjZXNzIHdyYXBwZXIgdG8gaXRzIGBkYXRhYCBwcm9wZXJ0eSBiZWZvcmUgZW1pdHRpbmcuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaWQgLSBUaGUgbnVtZXJpYyBpZGVudGlmaWVyIG9mIHRoZSBxdWVzdGlvbiB0byBkZWxldGUuXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBkZWxldGVkIHJlc291cmNlIHBheWxvYWQgKHt9IGV4cGVjdGVkKSBvbiBzdWNjZXNzLlxyXG4gICAqICAgICAgICAgIFRoZSBPYnNlcnZhYmxlIHdpbGwgZW1pdCBhbiBlcnJvciBpZiB0aGUgSFRUUCByZXF1ZXN0IGZhaWxzLlxyXG4gICAqL1xyXG4gIGRlbGV0ZUhvbGlkYXkgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxBcGlTdWNjZXNzPHt9Pj4oYCR7dGhpcy51cmx9L2hvbGlkYXlzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIGJ1c2luZXNzIHBhcnR5IHRyYWRlciB0eXBlc1xyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgZm9yIGZpbHRlcmluZyBhbmQgcGFnaW5hdGlvbiAob3B0aW9uYWwpXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8QnVzaW5lc3NQYXJ0eVRyYWRlclR5cGVzT3V0Pn0gT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBsaXN0IG9mIHRyYWRlciB0eXBlc1xyXG4gICAqL1xyXG4gIGdldEJ1c2luZXNzUGFydHlUcmFkZXJUeXBlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8QnVzaW5lc3NQYXJ0eVRyYWRlclR5cGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEJ1c2luZXNzUGFydHlUcmFkZXJUeXBlc091dD4+KGAke3RoaXMudXJsfS9idXNpbmVzcy1wYXJ0eS10cmFkZXItdHlwZXNgKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcbn1cclxuIl19
@@ -72,6 +72,35 @@ export class ApiShipmentsService {
72
72
  params
73
73
  }).pipe(map(({ data }) => data));
74
74
  }
75
+ /**
76
+ * Retrieves a paginated list of embassy shipments
77
+ * @param {QueryParams} params - Query parameters for filtering and pagination
78
+ * @returns {Observable<EmbassyShipmentsOut>} Observable containing the list of shipments and pagination metadata
79
+ */
80
+ getEmbassyShipments(params) {
81
+ return this.http.get(`${this.url}/embassy-shipments`, {
82
+ params
83
+ }).pipe(map(({ data }) => data));
84
+ }
85
+ /**
86
+ * Creates a new embassy shipment
87
+ * @param {EmbassyShipmentIn} body - The shipment data to create
88
+ * @returns {Observable<EmbassyShipmentOut>} Observable containing the created shipment with its assigned ID
89
+ */
90
+ postEmbassyShipments(body) {
91
+ return this.http.post(`${this.url}/embassy-shipments`, body)
92
+ .pipe(map(({ data }) => data));
93
+ }
94
+ /**
95
+ * Updates an existing embassy shipment
96
+ * @param {number} id - The unique identifier of the shipment to update
97
+ * @param {EmbassyShipmentIn} body - The updated shipment data
98
+ * @returns {Observable<EmbassyShipmentOut>} Observable containing the updated shipment
99
+ */
100
+ putEmbassyShipments(id, body) {
101
+ return this.http.put(`${this.url}/embassy-shipments/${id}`, body)
102
+ .pipe(map(({ data }) => data));
103
+ }
75
104
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiShipmentsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
76
105
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiShipmentsService, providedIn: 'root' });
77
106
  }
@@ -84,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
84
113
  type: Inject,
85
114
  args: ['env']
86
115
  }] }, { type: i1.HttpClient }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNoaXBtZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvYXBpLXNoaXBtZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUE7OztBQWlCdEMsTUFBTSxPQUFPLG1CQUFtQjtJQUVMO0lBQ2Y7SUFGVixZQUN5QixZQUF5QixFQUN4QyxJQUFnQjtRQURELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQTtJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsbUJBQW1CLENBQUUsSUFBdUI7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBaUMsR0FBRyxJQUFJLENBQUMsR0FBRyxXQUFXLEVBQUUsSUFBSSxDQUFDO2FBQ2hGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFFLElBQXdCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcscUJBQXFCLEVBQUUsSUFBSSxDQUFDO2FBQzNGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFFLEVBQVU7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBdUMsR0FBRyxJQUFJLENBQUMsR0FBRyxnQ0FBZ0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUMzSSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCwwQkFBMEIsQ0FBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQTBCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQXNDLEdBQUcsSUFBSSxDQUFDLEdBQUcsY0FBYyxVQUFVLGVBQWUsRUFBRTtZQUM5RyxvQkFBb0IsRUFBRSxRQUFRO1NBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUUsTUFBbUI7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBNkIsR0FBRyxJQUFJLENBQUMsR0FBRyxlQUFlLEVBQUU7WUFDM0UsTUFBTTtTQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO3dHQXpFVSxtQkFBbUIsa0JBRXBCLEtBQUs7NEdBRkosbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9uZ3gtc2VydmljZXMubW9kZWxzJ1xyXG5pbXBvcnQge1xyXG4gIEV4cG9ydFR5cGVzT3V0LFxyXG4gIE1hbmlmZXN0TXVsdGlwbGVJbixcclxuICBNYW5pZmVzdE11bHRpcGxlT3V0LFxyXG4gIFNoaXBtZW50Q2FuY2VsbGF0aW9uSW4sXHJcbiAgU2hpcG1lbnRDYW5jZWxsYXRpb25PdXQsXHJcbiAgU2hpcG1lbnRFbXBsb3llZUN1c3RvbWVyLFxyXG4gIFZhbGlkYXRlQWNjb3VudEluLFxyXG4gIFZhbGlkYXRlQWNjb3VudE91dFxyXG59IGZyb20gJy4vbW9kZWxzL2FwaS1zaGlwbWVudHMudHlwZXMnXHJcbmltcG9ydCB7IEFwaVN1Y2Nlc3MsIFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi9tb2RlbHMvYXBpLm1vZGVscydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwaVNoaXBtZW50c1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yIChcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgVVJMIGZvciB0aGUgc2hpcG1lbnRzIEFQSSBmcm9tIHRoZSBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9ucy5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIFVSTCBvZiB0aGUgc2hpcG1lbnRzIEFQSS5cclxuICAgKi9cclxuICBnZXQgdXJsICgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnRzLmFwaVNoaXBtZW50VXJsID8/ICcnXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIHBhcmFtZXRlciB2YWx1ZXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlciBuYW1lcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7VmFsaWRhdGVBY2NvdW50SW59IGJvZHkgLSBBbiBvYmplY3Qgb2YgcGFyYW1ldGVyIG5hbWVzIGZvciB3aGljaCB0aGUgdmFsdWVzIG5lZWQgdG8gYmUgZmV0Y2hlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFZhbGlkYXRlQWNjb3VudEluPn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBmZXRjaGVkIHBhcmFtZXRlciB2YWx1ZXNcclxuICAgKiBAcGFyYW0gYm9keVxyXG4gICAqL1xyXG4gIHBvc3RWYWxpZGF0ZUFjY291bnQgKGJvZHk6IFZhbGlkYXRlQWNjb3VudEluKTogT2JzZXJ2YWJsZTxWYWxpZGF0ZUFjY291bnRPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFZhbGlkYXRlQWNjb3VudE91dD4+KGAke3RoaXMudXJsfS9hY2NvdW50c2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBQT1NUIHJlcXVlc3QgdG8gdGhlIHNoaXBtZW50cyBtYW5pZmVzdCBlbmRwb2ludCB3aXRoIHRoZSBwcm92aWRlZCBib2R5LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGJvZHkgLSBUaGUgcmVxdWVzdCBwYXlsb2FkIG9mIHR5cGUgYE1hbmlmZXN0TXVsdGlwbGVJbmAuXHJcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXNwb25zZSBkYXRhIG9mIHR5cGUgYE1hbmlmZXN0TXVsdGlwbGVPdXRgLlxyXG4gICAqL1xyXG4gIHBvc3RNYW5pZmVzdE11bHRpcGxlIChib2R5OiBNYW5pZmVzdE11bHRpcGxlSW4pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPE1hbmlmZXN0TXVsdGlwbGVPdXQ+PihgJHt0aGlzLnVybH0vc2hpcG1lbnRzL21hbmlmZXN0YCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZXMgYW5kIG9idGFpbnMgdGhlIG51bWJlciBvZiBzaGlwbWVudHMgYWxsb3dlZCBieSBhbiBlbXBsb3llZSBjdXN0b21lclxyXG4gICAqXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXI+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHNoaXBtZW50cyBhbGxvd2VkIGJ5IGFuIGVtcGxveWVlXHJcbiAgICogQHBhcmFtIGlkXHJcbiAgICovXHJcbiAgZ2V0RW1wbG95ZWVDdXN0b21lciAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2hpcG1lbnRFbXBsb3llZUN1c3RvbWVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFNoaXBtZW50RW1wbG95ZWVDdXN0b21lcj4+KGAke3RoaXMudXJsfS9zaGlwbWVudHMvZW1wbG95ZWUtY3VzdG9tZXIvJHtpZH1gKS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FuY2VscyBhIHNwZWNpZmljIHNoaXBtZW50IGJ5IHByb3ZpZGluZyBpdHMgSUQgYW5kIGEgcmVhc29uIGZvciBjYW5jZWxsYXRpb24uXHJcbiAgICogU2VuZHMgYSBQQVRDSCByZXF1ZXN0IHRvIHVwZGF0ZSB0aGUgc2hpcG1lbnQncyBjYW5jZWxsYXRpb24gc3RhdHVzIHdpdGggdGhlIHNwZWNpZmllZCByZWFzb24uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW0wIC0gVGhlIGlucHV0IG9iamVjdCBjb250YWluaW5nIHNoaXBtZW50IGNhbmNlbGxhdGlvbiBkZXRhaWxzLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbTAuc2hpcG1lbnRJZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgc2hpcG1lbnQgdG8gYmUgY2FuY2VsZWQuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtMC5yZWFzb25JZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcmVhc29uIGZvciBjYW5jZWxsYXRpb24uXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxTaGlwbWVudENhbmNlbGxhdGlvbk91dD59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHJlc3VsdCBvZiB0aGUgY2FuY2VsbGF0aW9uIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBwYXRjaFNoaXBtZW50c0NhbmNlbGxhdGlvbiAoeyBzaGlwbWVudElkLCByZWFzb25JZCB9OiBTaGlwbWVudENhbmNlbGxhdGlvbkluKTogT2JzZXJ2YWJsZTxTaGlwbWVudENhbmNlbGxhdGlvbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDxBcGlTdWNjZXNzPFNoaXBtZW50Q2FuY2VsbGF0aW9uT3V0Pj4oYCR7dGhpcy51cmx9L3NoaXBtZW50cy8ke3NoaXBtZW50SWR9L2NhbmNlbGxhdGlvbmAsIHtcclxuICAgICAgY2FuY2VsbGF0aW9uUmVhc29uSWQ6IHJlYXNvbklkXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhIGxpc3Qgb2YgZXhwb3J0IHR5cGVzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSBleHBvcnQgdHlwZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxFeHBvcnRUeXBlc091dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgbGlzdCBvZiBleHBvcnQgdHlwZXMuXHJcbiAgICovXHJcbiAgZ2V0RXhwb3J0VHlwZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEV4cG9ydFR5cGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEV4cG9ydFR5cGVzT3V0Pj4oYCR7dGhpcy51cmx9L2V4cG9ydC10eXBlc2AsIHtcclxuICAgICAgcGFyYW1zXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxufVxyXG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNoaXBtZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvYXBpLXNoaXBtZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUE7OztBQW1CdEMsTUFBTSxPQUFPLG1CQUFtQjtJQUVMO0lBQ2Y7SUFGVixZQUN5QixZQUF5QixFQUN4QyxJQUFnQjtRQURELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQTtJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsbUJBQW1CLENBQUUsSUFBdUI7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBaUMsR0FBRyxJQUFJLENBQUMsR0FBRyxXQUFXLEVBQUUsSUFBSSxDQUFDO2FBQ2hGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFFLElBQXdCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcscUJBQXFCLEVBQUUsSUFBSSxDQUFDO2FBQzNGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFFLEVBQVU7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBdUMsR0FBRyxJQUFJLENBQUMsR0FBRyxnQ0FBZ0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUMzSSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCwwQkFBMEIsQ0FBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQTBCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQXNDLEdBQUcsSUFBSSxDQUFDLEdBQUcsY0FBYyxVQUFVLGVBQWUsRUFBRTtZQUM5RyxvQkFBb0IsRUFBRSxRQUFRO1NBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUUsTUFBbUI7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBNkIsR0FBRyxJQUFJLENBQUMsR0FBRyxlQUFlLEVBQUU7WUFDM0UsTUFBTTtTQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFFLE1BQW1CO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0JBQW9CLEVBQUU7WUFDckYsTUFBTTtTQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFFLElBQXVCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWlDLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0JBQW9CLEVBQUUsSUFBSSxDQUFDO2FBQ3pGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFFLEVBQVUsRUFBRSxJQUF1QjtRQUN0RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQyxHQUFHLElBQUksQ0FBQyxHQUFHLHNCQUFzQixFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUM7YUFDOUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQzt3R0F6R1UsbUJBQW1CLGtCQUVwQixLQUFLOzRHQUZKLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuaW1wb3J0IHtcclxuICBFbWJhc3N5U2hpcG1lbnRJbiwgRW1iYXNzeVNoaXBtZW50T3V0LFxyXG4gIEVtYmFzc3lTaGlwbWVudHNPdXQsXHJcbiAgRXhwb3J0VHlwZXNPdXQsXHJcbiAgTWFuaWZlc3RNdWx0aXBsZUluLFxyXG4gIE1hbmlmZXN0TXVsdGlwbGVPdXQsXHJcbiAgU2hpcG1lbnRDYW5jZWxsYXRpb25JbixcclxuICBTaGlwbWVudENhbmNlbGxhdGlvbk91dCxcclxuICBTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXIsXHJcbiAgVmFsaWRhdGVBY2NvdW50SW4sXHJcbiAgVmFsaWRhdGVBY2NvdW50T3V0XHJcbn0gZnJvbSAnLi9tb2RlbHMvYXBpLXNoaXBtZW50cy50eXBlcydcclxuaW1wb3J0IHsgQXBpU3VjY2VzcywgUXVlcnlQYXJhbXMgfSBmcm9tICcuL21vZGVscy9hcGkubW9kZWxzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpU2hpcG1lbnRzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBVUkwgZm9yIHRoZSBzaGlwbWVudHMgQVBJIGZyb20gdGhlIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25zLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgVVJMIG9mIHRoZSBzaGlwbWVudHMgQVBJLlxyXG4gICAqL1xyXG4gIGdldCB1cmwgKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudHMuYXBpU2hpcG1lbnRVcmwgPz8gJydcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgcGFyYW1ldGVyIHZhbHVlcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGFyYW1ldGVyIG5hbWVzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtWYWxpZGF0ZUFjY291bnRJbn0gYm9keSAtIEFuIG9iamVjdCBvZiBwYXJhbWV0ZXIgbmFtZXMgZm9yIHdoaWNoIHRoZSB2YWx1ZXMgbmVlZCB0byBiZSBmZXRjaGVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8VmFsaWRhdGVBY2NvdW50SW4+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGZldGNoZWQgcGFyYW1ldGVyIHZhbHVlc1xyXG4gICAqIEBwYXJhbSBib2R5XHJcbiAgICovXHJcbiAgcG9zdFZhbGlkYXRlQWNjb3VudCAoYm9keTogVmFsaWRhdGVBY2NvdW50SW4pOiBPYnNlcnZhYmxlPFZhbGlkYXRlQWNjb3VudE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8VmFsaWRhdGVBY2NvdW50T3V0Pj4oYCR7dGhpcy51cmx9L2FjY291bnRzYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kcyBhIFBPU1QgcmVxdWVzdCB0byB0aGUgc2hpcG1lbnRzIG1hbmlmZXN0IGVuZHBvaW50IHdpdGggdGhlIHByb3ZpZGVkIGJvZHkuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSByZXF1ZXN0IHBheWxvYWQgb2YgdHlwZSBgTWFuaWZlc3RNdWx0aXBsZUluYC5cclxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3BvbnNlIGRhdGEgb2YgdHlwZSBgTWFuaWZlc3RNdWx0aXBsZU91dGAuXHJcbiAgICovXHJcbiAgcG9zdE1hbmlmZXN0TXVsdGlwbGUgKGJvZHk6IE1hbmlmZXN0TXVsdGlwbGVJbikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8TWFuaWZlc3RNdWx0aXBsZU91dD4+KGAke3RoaXMudXJsfS9zaGlwbWVudHMvbWFuaWZlc3RgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlcyBhbmQgb2J0YWlucyB0aGUgbnVtYmVyIG9mIHNoaXBtZW50cyBhbGxvd2VkIGJ5IGFuIGVtcGxveWVlIGN1c3RvbWVyXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFNoaXBtZW50RW1wbG95ZWVDdXN0b21lcj59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgc2hpcG1lbnRzIGFsbG93ZWQgYnkgYW4gZW1wbG95ZWVcclxuICAgKiBAcGFyYW0gaWRcclxuICAgKi9cclxuICBnZXRFbXBsb3llZUN1c3RvbWVyIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8U2hpcG1lbnRFbXBsb3llZUN1c3RvbWVyPj4oYCR7dGhpcy51cmx9L3NoaXBtZW50cy9lbXBsb3llZS1jdXN0b21lci8ke2lkfWApLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYW5jZWxzIGEgc3BlY2lmaWMgc2hpcG1lbnQgYnkgcHJvdmlkaW5nIGl0cyBJRCBhbmQgYSByZWFzb24gZm9yIGNhbmNlbGxhdGlvbi5cclxuICAgKiBTZW5kcyBhIFBBVENIIHJlcXVlc3QgdG8gdXBkYXRlIHRoZSBzaGlwbWVudCdzIGNhbmNlbGxhdGlvbiBzdGF0dXMgd2l0aCB0aGUgc3BlY2lmaWVkIHJlYXNvbi5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbTAgLSBUaGUgaW5wdXQgb2JqZWN0IGNvbnRhaW5pbmcgc2hpcG1lbnQgY2FuY2VsbGF0aW9uIGRldGFpbHMuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtMC5zaGlwbWVudElkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBzaGlwbWVudCB0byBiZSBjYW5jZWxlZC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW0wLnJlYXNvbklkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSByZWFzb24gZm9yIGNhbmNlbGxhdGlvbi5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFNoaXBtZW50Q2FuY2VsbGF0aW9uT3V0Pn0gQW4gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcmVzdWx0IG9mIHRoZSBjYW5jZWxsYXRpb24gb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIHBhdGNoU2hpcG1lbnRzQ2FuY2VsbGF0aW9uICh7IHNoaXBtZW50SWQsIHJlYXNvbklkIH06IFNoaXBtZW50Q2FuY2VsbGF0aW9uSW4pOiBPYnNlcnZhYmxlPFNoaXBtZW50Q2FuY2VsbGF0aW9uT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPEFwaVN1Y2Nlc3M8U2hpcG1lbnRDYW5jZWxsYXRpb25PdXQ+PihgJHt0aGlzLnVybH0vc2hpcG1lbnRzLyR7c2hpcG1lbnRJZH0vY2FuY2VsbGF0aW9uYCwge1xyXG4gICAgICBjYW5jZWxsYXRpb25SZWFzb25JZDogcmVhc29uSWRcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBleHBvcnQgdHlwZXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBmaWx0ZXIgdGhlIGV4cG9ydCB0eXBlcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV4cG9ydFR5cGVzT3V0Pn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBsaXN0IG9mIGV4cG9ydCB0eXBlcy5cclxuICAgKi9cclxuICBnZXRFeHBvcnRUeXBlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8RXhwb3J0VHlwZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8RXhwb3J0VHlwZXNPdXQ+PihgJHt0aGlzLnVybH0vZXhwb3J0LXR5cGVzYCwge1xyXG4gICAgICBwYXJhbXNcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBwYWdpbmF0ZWQgbGlzdCBvZiBlbWJhc3N5IHNoaXBtZW50c1xyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgZm9yIGZpbHRlcmluZyBhbmQgcGFnaW5hdGlvblxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEVtYmFzc3lTaGlwbWVudHNPdXQ+fSBPYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2Ygc2hpcG1lbnRzIGFuZCBwYWdpbmF0aW9uIG1ldGFkYXRhXHJcbiAgICovXHJcbiAgZ2V0RW1iYXNzeVNoaXBtZW50cyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8RW1iYXNzeVNoaXBtZW50c091dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxFbWJhc3N5U2hpcG1lbnRzT3V0Pj4oYCR7dGhpcy51cmx9L2VtYmFzc3ktc2hpcG1lbnRzYCwge1xyXG4gICAgICBwYXJhbXNcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGEgbmV3IGVtYmFzc3kgc2hpcG1lbnRcclxuICAgKiBAcGFyYW0ge0VtYmFzc3lTaGlwbWVudElufSBib2R5IC0gVGhlIHNoaXBtZW50IGRhdGEgdG8gY3JlYXRlXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8RW1iYXNzeVNoaXBtZW50T3V0Pn0gT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBjcmVhdGVkIHNoaXBtZW50IHdpdGggaXRzIGFzc2lnbmVkIElEXHJcbiAgICovXHJcbiAgcG9zdEVtYmFzc3lTaGlwbWVudHMgKGJvZHk6IEVtYmFzc3lTaGlwbWVudEluKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxFbWJhc3N5U2hpcG1lbnRPdXQ+PihgJHt0aGlzLnVybH0vZW1iYXNzeS1zaGlwbWVudHNgLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgZW1iYXNzeSBzaGlwbWVudFxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgc2hpcG1lbnQgdG8gdXBkYXRlXHJcbiAgICogQHBhcmFtIHtFbWJhc3N5U2hpcG1lbnRJbn0gYm9keSAtIFRoZSB1cGRhdGVkIHNoaXBtZW50IGRhdGFcclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxFbWJhc3N5U2hpcG1lbnRPdXQ+fSBPYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHVwZGF0ZWQgc2hpcG1lbnRcclxuICAgKi9cclxuICBwdXRFbWJhc3N5U2hpcG1lbnRzIChpZDogbnVtYmVyLCBib2R5OiBFbWJhc3N5U2hpcG1lbnRJbikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxFbWJhc3N5U2hpcG1lbnRPdXQ+PihgJHt0aGlzLnVybH0vZW1iYXNzeS1zaGlwbWVudHMvJHtpZH1gLCBib2R5KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNhdGFsb2cuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9hcGlzL21vZGVscy9hcGktY2F0YWxvZy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3U2VjdGlvbk9wdGlvbiB9IGZyb20gJy4vYXBpLWNhdGFsb2cuZW51bSdcclxuaW1wb3J0IHsgU3ltZm9ueU1vZGVsLCBUcmFuc2xhdGlvbnMgfSBmcm9tICcuL2FwaS5tb2RlbHMnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnkgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIGNvZGVBbmROYW1lOiBzdHJpbmdcclxuICBpc29Db2RlOiBzdHJpbmdcclxuICBjb2RlUGhvbmU6IHN0cmluZ1xyXG4gIGxvY2FsZTogc3RyaW5nXHJcbiAgbG9jYXRpb25UeXBlOiBMb2NhdGlvblR5cGVcclxuICB1bml0OiBVbml0XHJcbiAgdGltZXpvbmU6IHN0cmluZ1xyXG4gIGhhc0ltcG9ydFNlcnZpY2U6IGJvb2xlYW5cclxuICBwaG9uZURpZ2l0czogbnVtYmVyXHJcbiAgbG9jYXRpb25UeXBlRmllbGRzOiBMb2NhdGlvblR5cGVGaWVsZHNcclxuICBwb3N0YWxDb2RlU3VmZml4UmVnZXg6IHN0cmluZ1xyXG4gIGRlY2ltYWxQb2ludDogbnVtYmVyXHJcbiAgbWF4X3F1YW50aXR5X2RvY3VtZW50X3BpZWNlOiBudW1iZXJcclxuICBtYXhfcXVhbnRpdHlfcGFja2FnZV9waWVjZTogbnVtYmVyXHJcbiAgd2VpZ2h0X3Jlc3RyaWN0aW9uX3BpZWNlOiBudW1iZXJcclxuICByZXN0cmljdGlvbl9zaGlwbWVudDogbnVtYmVyXHJcbiAgcmVzdHJpY3Rpb25fZGltZW5zaW9uOiBudW1iZXJcclxuICBtYXhfZGVjbGFyZWRfdmFsdWU6IG51bWJlclxyXG4gIGRlY2ltYWxfc2VwYXJhdG9yOiBzdHJpbmdcclxuICB0aG91c2FuZHNfc2VwYXJhdG9yOiBzdHJpbmdcclxuICBsYWJlbF9wcmludGVyX25hbWU6IHN0cmluZ1xyXG4gIHJlY2VpcHRfcHJpbnRlcl9uYW1lOiBzdHJpbmdcclxuICBvdGhlcnNfcHJpbnRlcl9uYW1lOiBzdHJpbmdcclxuICB0ZXJyaXRvcmllczogbnVtYmVyW11cclxuICB1c2VfYmlsbGluZz86IGJvb2xlYW5cclxuICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uc1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uVHlwZSBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgcHJpb3JpdHk6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVuaXQgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIHdlaWdodDogc3RyaW5nXHJcbiAgZGltZW5zaW9uOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvblR5cGVGaWVsZHMge1xyXG4gIGNpdHk6IENpdHlcclxuICBwb3N0YWxDb2RlOiBQb3N0YWxDb2RlXHJcbiAgc3VidXJiOiBTdWJ1cmJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDaXR5IHtcclxuICBlbmFibGVkOiBib29sZWFuXHJcbiAgcmVxdWlyZWQ6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQb3N0YWxDb2RlIHtcclxuICBlbmFibGVkOiBib29sZWFuXHJcbiAgcmVxdWlyZWQ6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdWJ1cmIge1xyXG4gIGVuYWJsZWQ6IGJvb2xlYW5cclxuICByZXF1aXJlZDogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZSBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY291bnRyeTogQ291bnRyeVxyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1cnJlbmN5IGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBzeW1ib2w6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpY2F0aW9uVHlwZSBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxuICBpZGVudGlmaWNhdGlvblR5cGU6IG51bWJlciB8IG51bGxcclxuICBuYW1lOiBzdHJpbmdcclxuICB2aWV3U2VjdGlvbj86IFJlY29yZDxWaWV3U2VjdGlvbk9wdGlvbiwgYm9vbGVhbj5cclxuICByZWdleDogc3RyaW5nW10gfCBudWxsXHJcbiAgaXNFeHRlcm5hbFZhbGlkYXRpb246IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25UeXBlIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICB0cmFuc2xhdGlvbnM/OiBUcmFuc2xhdGlvbnNcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCb2FyZGluZ1Byb2Nlc3NTdGF0dXMge1xyXG4gIGlkOiBudW1iZXJcclxuICBjb2RlOiBzdHJpbmdcclxuICBjcmVhdGVkQXQ6IHN0cmluZ1xyXG4gIHVwZGF0ZWRBdDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXh0cmFDaGFyZ2UgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGlzRGlzY291bnQ6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQb3N0YWxMb2NhdGlvbiBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY2l0eTogc3RyaW5nIHwgbnVsbFxyXG4gIHBvc3RhbENvZGU6IHN0cmluZyB8IG51bGxcclxuICBzdWJ1cmI6IHN0cmluZyB8IG51bGxcclxuICBzdGF0ZUNvZGU6IHN0cmluZyB8IG51bGxcclxuICBpYXRhOiBzdHJpbmdcclxuICBzdGF0ZTogU3RhdGUgfCBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVnaW9uIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBjb3VudHJ5OiBDb3VudHJ5XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWm9uZSBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY291bnRyeTogQ291bnRyeVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZW1lbnRBcmVhIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICBjb3VudHJ5OiBDb3VudHJ5XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2FuY2VsbGF0aW9uUmVhc29uIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBldmVudFJlYXNvbkNvZGU6IHN0cmluZ1xyXG4gIGNvdW50cnlJZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVuY3kgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIHN5bWJvbDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVW5pdCBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgd2VpZ2h0OiBzdHJpbmdcclxuICBkaW1lbnNpb246IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoaXBtZW50U2NvcGUgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoaXBtZW50Q29udGVudFR5cGUgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyaWNGb2xpbyBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxuICBjb2RlOiBzdHJpbmdcclxuICBjdXN0b21lcjogc3RyaW5nXHJcbiAgYWNjb3VudE51bWJlcjogc3RyaW5nXHJcbiAgY29udGVudDogc3RyaW5nXHJcbiAgcGFja2FnaW5nOiB0cnVlLFxyXG4gIGRlc3RpbmF0aW9uRnVsbE5hbWU6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQWRkcmVzc0xpbmUxOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvbkFkZHJlc3NMaW5lMjogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25BZGRyZXNzTGluZTM6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQ291bnRyeUlkOiBudW1iZXJcclxuICBkZXN0aW5hdGlvbkNvdW50cnlDb2RlOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvblBvc3RhbENvZGU6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQ2l0eU5hbWU6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQ291bnR5TmFtZTogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25TdGF0ZUNvZGU6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uUGhvbmVDb2RlOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvblBob25lTnVtYmVyOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvbkVtYWlsOiBzdHJpbmdcclxuICBjb3VudHJ5UmVmZXJlbmNlUHJvZHVjdElkczogbnVtYmVyW11cclxuICBwcm9kdWN0TG9jYWxDb2Rlczogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdCBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgZ2xvYmFsQ29kZTogbnVtYmVyXHJcbiAgbG9jYWxDb2RlOiBzdHJpbmdcclxuICBnbG9iYWxOYW1lOiBzdHJpbmdcclxuICBsb2NhbE5hbWU6IHN0cmluZ1xyXG4gIGlzRG9jdW1lbnQ6IHN0cmluZ1xyXG4gIHJlc3RyaWN0ZWRBY2NvdW50czoge1xyXG4gICAgaWQ6IHN0cmluZ1xyXG4gICAgbnVtYmVyOiBzdHJpbmdcclxuICAgIGlzQWN0aXZlOiBib29sZWFuXHJcbiAgfVtdXHJcbiAgZGlzY291bnRzOiBbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoaXBtZW50SW5jb21lVHlwZSBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVbmlxdWVGb2xpbyBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY29kZTogbnVtYmVyXHJcbiAgY3VzdG9tZXI6IHN0cmluZ1xyXG4gIGNvbnRlbnQ6IHN0cmluZ1xyXG4gIGthZDogc3RyaW5nIHwgbnVsbFxyXG4gIGV4ZWN1dGl2ZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2hpcG1lbnRHcm91cCBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2hpcG1lbnRTdGF0dXMgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nXHJcbiAgdHlwZTogc3RyaW5nXHJcbiAgcXVlc3Rpb25PcmRlcjogbnVtYmVyXHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxuICBpc1JlcXVpcmVkVmFsdWU6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIb2xpZGF5IGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBkYXRlOiBzdHJpbmdcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nXHJcbiAgY291bnRyeTogQ291bnRyeVxyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNhdGFsb2cuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9hcGlzL21vZGVscy9hcGktY2F0YWxvZy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3U2VjdGlvbk9wdGlvbiB9IGZyb20gJy4vYXBpLWNhdGFsb2cuZW51bSdcclxuaW1wb3J0IHsgU3ltZm9ueU1vZGVsLCBUcmFuc2xhdGlvbnMgfSBmcm9tICcuL2FwaS5tb2RlbHMnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnkgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIGNvZGVBbmROYW1lOiBzdHJpbmdcclxuICBpc29Db2RlOiBzdHJpbmdcclxuICBjb2RlUGhvbmU6IHN0cmluZ1xyXG4gIGxvY2FsZTogc3RyaW5nXHJcbiAgbG9jYXRpb25UeXBlOiBMb2NhdGlvblR5cGVcclxuICB1bml0OiBVbml0XHJcbiAgdGltZXpvbmU6IHN0cmluZ1xyXG4gIGhhc0ltcG9ydFNlcnZpY2U6IGJvb2xlYW5cclxuICBwaG9uZURpZ2l0czogbnVtYmVyXHJcbiAgbG9jYXRpb25UeXBlRmllbGRzOiBMb2NhdGlvblR5cGVGaWVsZHNcclxuICBwb3N0YWxDb2RlU3VmZml4UmVnZXg6IHN0cmluZ1xyXG4gIGRlY2ltYWxQb2ludDogbnVtYmVyXHJcbiAgbWF4X3F1YW50aXR5X2RvY3VtZW50X3BpZWNlOiBudW1iZXJcclxuICBtYXhfcXVhbnRpdHlfcGFja2FnZV9waWVjZTogbnVtYmVyXHJcbiAgd2VpZ2h0X3Jlc3RyaWN0aW9uX3BpZWNlOiBudW1iZXJcclxuICByZXN0cmljdGlvbl9zaGlwbWVudDogbnVtYmVyXHJcbiAgcmVzdHJpY3Rpb25fZGltZW5zaW9uOiBudW1iZXJcclxuICBtYXhfZGVjbGFyZWRfdmFsdWU6IG51bWJlclxyXG4gIGRlY2ltYWxfc2VwYXJhdG9yOiBzdHJpbmdcclxuICB0aG91c2FuZHNfc2VwYXJhdG9yOiBzdHJpbmdcclxuICBsYWJlbF9wcmludGVyX25hbWU6IHN0cmluZ1xyXG4gIHJlY2VpcHRfcHJpbnRlcl9uYW1lOiBzdHJpbmdcclxuICBvdGhlcnNfcHJpbnRlcl9uYW1lOiBzdHJpbmdcclxuICB0ZXJyaXRvcmllczogbnVtYmVyW11cclxuICB1c2VfYmlsbGluZz86IGJvb2xlYW5cclxuICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uc1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uVHlwZSBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgcHJpb3JpdHk6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVuaXQgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIHdlaWdodDogc3RyaW5nXHJcbiAgZGltZW5zaW9uOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvblR5cGVGaWVsZHMge1xyXG4gIGNpdHk6IENpdHlcclxuICBwb3N0YWxDb2RlOiBQb3N0YWxDb2RlXHJcbiAgc3VidXJiOiBTdWJ1cmJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDaXR5IHtcclxuICBlbmFibGVkOiBib29sZWFuXHJcbiAgcmVxdWlyZWQ6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQb3N0YWxDb2RlIHtcclxuICBlbmFibGVkOiBib29sZWFuXHJcbiAgcmVxdWlyZWQ6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdWJ1cmIge1xyXG4gIGVuYWJsZWQ6IGJvb2xlYW5cclxuICByZXF1aXJlZDogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZSBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY291bnRyeTogQ291bnRyeVxyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1cnJlbmN5IGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBzeW1ib2w6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpY2F0aW9uVHlwZSBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxuICBpZGVudGlmaWNhdGlvblR5cGU6IG51bWJlciB8IG51bGxcclxuICBuYW1lOiBzdHJpbmdcclxuICB2aWV3U2VjdGlvbj86IFJlY29yZDxWaWV3U2VjdGlvbk9wdGlvbiwgYm9vbGVhbj5cclxuICByZWdleDogc3RyaW5nW10gfCBudWxsXHJcbiAgaXNFeHRlcm5hbFZhbGlkYXRpb246IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25UeXBlIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICB0cmFuc2xhdGlvbnM/OiBUcmFuc2xhdGlvbnNcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCb2FyZGluZ1Byb2Nlc3NTdGF0dXMge1xyXG4gIGlkOiBudW1iZXJcclxuICBjb2RlOiBzdHJpbmdcclxuICBjcmVhdGVkQXQ6IHN0cmluZ1xyXG4gIHVwZGF0ZWRBdDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXh0cmFDaGFyZ2UgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGlzRGlzY291bnQ6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQb3N0YWxMb2NhdGlvbiBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY2l0eTogc3RyaW5nIHwgbnVsbFxyXG4gIHBvc3RhbENvZGU6IHN0cmluZyB8IG51bGxcclxuICBzdWJ1cmI6IHN0cmluZyB8IG51bGxcclxuICBzdGF0ZUNvZGU6IHN0cmluZyB8IG51bGxcclxuICBpYXRhOiBzdHJpbmdcclxuICBzdGF0ZTogU3RhdGUgfCBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVnaW9uIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBjb3VudHJ5OiBDb3VudHJ5XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWm9uZSBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY291bnRyeTogQ291bnRyeVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZW1lbnRBcmVhIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICBjb3VudHJ5OiBDb3VudHJ5XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2FuY2VsbGF0aW9uUmVhc29uIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBldmVudFJlYXNvbkNvZGU6IHN0cmluZ1xyXG4gIGNvdW50cnlJZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVuY3kgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIHN5bWJvbDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVW5pdCBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgd2VpZ2h0OiBzdHJpbmdcclxuICBkaW1lbnNpb246IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoaXBtZW50U2NvcGUgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoaXBtZW50Q29udGVudFR5cGUgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyaWNGb2xpbyBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxuICBjb2RlOiBzdHJpbmdcclxuICBjdXN0b21lcjogc3RyaW5nXHJcbiAgYWNjb3VudE51bWJlcjogc3RyaW5nXHJcbiAgY29udGVudDogc3RyaW5nXHJcbiAgcGFja2FnaW5nOiB0cnVlLFxyXG4gIGRlc3RpbmF0aW9uRnVsbE5hbWU6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQWRkcmVzc0xpbmUxOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvbkFkZHJlc3NMaW5lMjogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25BZGRyZXNzTGluZTM6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQ291bnRyeUlkOiBudW1iZXJcclxuICBkZXN0aW5hdGlvbkNvdW50cnlDb2RlOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvblBvc3RhbENvZGU6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQ2l0eU5hbWU6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQ291bnR5TmFtZTogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25TdGF0ZUNvZGU6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uUGhvbmVDb2RlOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvblBob25lTnVtYmVyOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvbkVtYWlsOiBzdHJpbmdcclxuICBjb3VudHJ5UmVmZXJlbmNlUHJvZHVjdElkczogbnVtYmVyW11cclxuICBwcm9kdWN0TG9jYWxDb2Rlczogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdCBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgZ2xvYmFsQ29kZTogbnVtYmVyXHJcbiAgbG9jYWxDb2RlOiBzdHJpbmdcclxuICBnbG9iYWxOYW1lOiBzdHJpbmdcclxuICBsb2NhbE5hbWU6IHN0cmluZ1xyXG4gIGlzRG9jdW1lbnQ6IHN0cmluZ1xyXG4gIHJlc3RyaWN0ZWRBY2NvdW50czoge1xyXG4gICAgaWQ6IHN0cmluZ1xyXG4gICAgbnVtYmVyOiBzdHJpbmdcclxuICAgIGlzQWN0aXZlOiBib29sZWFuXHJcbiAgfVtdXHJcbiAgZGlzY291bnRzOiBbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoaXBtZW50SW5jb21lVHlwZSBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVbmlxdWVGb2xpbyBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY29kZTogbnVtYmVyXHJcbiAgY3VzdG9tZXI6IHN0cmluZ1xyXG4gIGNvbnRlbnQ6IHN0cmluZ1xyXG4gIGthZDogc3RyaW5nIHwgbnVsbFxyXG4gIGV4ZWN1dGl2ZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2hpcG1lbnRHcm91cCBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2hpcG1lbnRTdGF0dXMgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nXHJcbiAgdHlwZTogc3RyaW5nXHJcbiAgcXVlc3Rpb25PcmRlcjogbnVtYmVyXHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxuICBpc1JlcXVpcmVkVmFsdWU6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIb2xpZGF5IGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBkYXRlOiBzdHJpbmdcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nXHJcbiAgY291bnRyeTogQ291bnRyeVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1c2luZXNzUGFydHlUcmFkZXJUeXBlIGV4dGVuZHMgU3ltZm9ueU1vZGVsIHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxyXG4gIGNhdGVnb3J5OiBzdHJpbmcgfCBudWxsXHJcbiAgZXNiQ29kZTogc3RyaW5nXHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNhdGFsb2cudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9tb2RlbHMvYXBpLWNhdGFsb2cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdTZWN0aW9uT3B0aW9uIH0gZnJvbSAnLi9hcGktY2F0YWxvZy5lbnVtJ1xyXG5pbXBvcnQge1xyXG4gIENhbmNlbGxhdGlvblJlYXNvbixcclxuICBDb3VudHJ5LFxyXG4gIEN1cnJlbmN5LFxyXG4gIEV4dHJhQ2hhcmdlLFxyXG4gIEdlbmVyaWNGb2xpbyxcclxuICBIb2xpZGF5LFxyXG4gIElkZW50aWZpY2F0aW9uVHlwZSxcclxuICBMYW5ndWFnZSxcclxuICBNYW5hZ2VtZW50QXJlYSxcclxuICBPcGVyYXRpb25UeXBlLFxyXG4gIFBvc3RhbExvY2F0aW9uLFxyXG4gIFByb2R1Y3QsXHJcbiAgUXVlc3Rpb24sXHJcbiAgUmVnaW9uLFxyXG4gIFNoaXBtZW50Q29udGVudFR5cGUsXHJcbiAgU2hpcG1lbnRHcm91cCxcclxuICBTaGlwbWVudEluY29tZVR5cGUsXHJcbiAgU2hpcG1lbnRTY29wZSxcclxuICBTaGlwbWVudFN0YXR1cyxcclxuICBVbmlxdWVGb2xpbyxcclxuICBVbml0LFxyXG4gIFpvbmVcclxufSBmcm9tICcuL2FwaS1jYXRhbG9nLmludGVyZmFjZXMnXHJcblxyXG5leHBvcnQgdHlwZSBPcGVyYXRpb25UeXBlc091dCA9IHtcclxuICB0b3RhbDogbnVtYmVyXHJcbiAgb3BlcmF0aW9uVHlwZXM6IE9wZXJhdGlvblR5cGVbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpY2F0aW9uVHlwZXNPdXQge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBpZGVudGlmaWNhdGlvblR5cGVzOiBJZGVudGlmaWNhdGlvblR5cGVbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJZGVudGlmaWNhdGlvblR5cGVPdXQgPSB7XHJcbiAgSWRlbnRpZmljYXRpb25UeXBlOiBJZGVudGlmaWNhdGlvblR5cGVcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRlbnRpZmljYXRpb25UeXBlSW4gPSB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxuICBpZGVudGlmaWNhdGlvblR5cGU/OiBudW1iZXIgfCBudWxsXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgdmlld1NlY3Rpb246IFJlY29yZDxWaWV3U2VjdGlvbk9wdGlvbiwgYm9vbGVhbj5cclxuICByZWdleDogc3RyaW5nW10gfCBudWxsXHJcbiAgaXNFeHRlcm5hbFZhbGlkYXRpb24/OiBib29sZWFuXHJcbiAgaXNBY3RpdmU6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXh0cmFDaGFyZ2VzT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBleHRyYWNoYXJnZXM6IEV4dHJhQ2hhcmdlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyaWVzT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBjb3VudHJpZXM6IENvdW50cnlbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5SW4gPSB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgbG9jYXRpb25UeXBlSWQ6IG51bWJlclxyXG4gIHVuaXRJZDogbnVtYmVyXHJcbiAgdGltZXpvbmU6IHN0cmluZ1xyXG4gIGhhc0ltcG9ydFNlcnZpY2U6IGJvb2xlYW5cclxuICBpc0FjdGl2ZTogYm9vbGVhblxyXG4gIGlzb0NvZGU6IHN0cmluZ1xyXG4gIGNvZGVQaG9uZTogc3RyaW5nXHJcbiAgcGhvbmVEaWdpdHM6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5T3V0ID0ge1xyXG4gIGNvdW50cnk6IENvdW50cnlcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUG9zdGFsTG9jYXRpb25zT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBwb3N0YWxMb2NhdGlvbnM6IFBvc3RhbExvY2F0aW9uW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVnaW9uc091dCA9IHtcclxuICB0b3RhbDogbnVtYmVyXHJcbiAgcmVnaW9uczogUmVnaW9uW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgWm9uZXNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIHpvbmVzOiBab25lW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTWFuYWdlbWVudEFyZWFzT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICByZWdpb25zOiBNYW5hZ2VtZW50QXJlYVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbGxhdGlvblJlYXNvbnNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIGNhbmNlbGxhdGlvblJlYXNvbnM6IENhbmNlbGxhdGlvblJlYXNvbltdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbGxhdGlvblJlYXNvbkluID0ge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGV2ZW50UmVhc29uQ29kZTogc3RyaW5nIHwgbnVsbFxyXG4gIGlzQWN0aXZlOiBib29sZWFuXHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uUmVhc29uT3V0ID0ge1xyXG4gIGNhbmNlbGxhdGlvblJlYXNvbjogQ2FuY2VsbGF0aW9uUmVhc29uXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEN1cnJlbmNpZXNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIGN1cnJlbmNpZXM6IEN1cnJlbmN5W11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTGFuZ3VhZ2VzT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBsYW5ndWFnZXM6IExhbmd1YWdlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVW5pdHNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIHVuaXRzOiBVbml0W11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2hpcG1lbnRTY29wZXNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIHNoaXBtZW50U2NvcGVzOiBTaGlwbWVudFNjb3BlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2hpcG1lbnRDb250ZW50VHlwZXNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIHNoaXBtZW50Q29udGVudFR5cGVzOiBTaGlwbWVudENvbnRlbnRUeXBlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXh0cmFDaGFyZ2VJbiA9IHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBpc0Rpc2NvdW50OiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEV4dHJhQ2hhcmdlT3V0ID0ge1xyXG4gIGV4dHJhQ2hhcmdlOiBFeHRyYUNoYXJnZVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBHZW5lcmljRm9saW9zT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBnZW5lcmljRm9saW9zOiBHZW5lcmljRm9saW9bXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBHZW5lcmljRm9saW9JbiA9IHtcclxuICBhY2NvdW50TnVtYmVyOiBzdHJpbmdcclxuICBjb2RlOiBzdHJpbmdcclxuICBjb250ZW50OiBzdHJpbmdcclxuICBjb3VudHJ5UmVmZXJlbmNlUHJvZHVjdElkczogbnVtYmVyW11cclxuICBjdXN0b21lcjogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25BZGRyZXNzTGluZTE6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQWRkcmVzc0xpbmUyOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvbkFkZHJlc3NMaW5lMzogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25DaXR5TmFtZT86IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQ291bnRyeUlkOiBudW1iZXJcclxuICBkZXN0aW5hdGlvbkNvdW50eU5hbWU/OiBzdHJpbmdcclxuICBkZXN0aW5hdGlvbkVtYWlsOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvbkZ1bGxOYW1lOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvblBob25lQ29kZTogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25QaG9uZU51bWJlcjogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25Qb3N0YWxDb2RlPzogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25TdGF0ZUNvZGU/OiBzdHJpbmdcclxuICBpc0FjdGl2ZTogYm9vbGVhblxyXG4gIHBhY2thZ2luZzogYm9vbGVhblxyXG4gIGNvdW50cnlJZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEdlbmVyaWNGb2xpb091dCA9IHtcclxuICBnZW5lcmljRm9saW86IEdlbmVyaWNGb2xpb1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0SW4gPSB7XHJcbiAgZ2xvYmFsQ29kZTogbnVtYmVyXHJcbiAgbG9jYWxDb2RlOiBzdHJpbmdcclxuICBnbG9iYWxOYW1lOiBzdHJpbmdcclxuICBsb2NhbE5hbWU6IHN0cmluZ1xyXG4gIGlzRG9jdW1lbnQ6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdE91dCA9IHtcclxuICBwcm9kdWN0OiBQcm9kdWN0XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBtZW50SW5jb21lVHlwZXNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIHNoaXBtZW50SW5jb21lVHlwZXM6IFNoaXBtZW50SW5jb21lVHlwZVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBtZW50SW5jb21lVHlwZUluID0ge1xyXG4gIGNvdW50cnlJZDogbnVtYmVyXHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaXNBY3RpdmU6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2hpcG1lbnRJbmNvbWVUeXBlT3V0ID0ge1xyXG4gIHNoaXBtZW50SW5jb21lVHlwZTogU2hpcG1lbnRJbmNvbWVUeXBlXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFVuaXF1ZUZvbGlvSW4gPSB7XHJcbiAgY29kZTogbnVtYmVyXHJcbiAgY3VzdG9tZXI6IHN0cmluZ1xyXG4gIGNvbnRlbnQ6IHN0cmluZ1xyXG4gIGthZDogc3RyaW5nIHwgbnVsbFxyXG4gIGV4ZWN1dGl2ZTogc3RyaW5nXHJcbiAgaXNBY3RpdmU6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVW5pcXVlRm9saW9PdXQgPSB7XHJcbiAgdW5pcXVlRm9saW86IFVuaXF1ZUZvbGlvXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFVuaXF1ZUZvbGlvc091dCA9IHtcclxuICB0b3RhbDogbnVtYmVyXHJcbiAgdW5pcXVlRm9saW9zOiBVbmlxdWVGb2xpb1tdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBtZW50R3JvdXBzT3V0ID0ge1xyXG4gIHNoaXBtZW50R3JvdXBzOiBTaGlwbWVudEdyb3VwW11cclxuICB0b3RhbDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBtZW50U3RhdHVzZXNPdXQgPSB7XHJcbiAgc2hpcG1lbnRTdGF0dXNlczogU2hpcG1lbnRTdGF0dXNbXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUXVlc3Rpb25zT3V0ID0ge1xyXG4gIHF1ZXN0aW9uczogUXVlc3Rpb25bXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUXVlc3Rpb25PdXQgPSB7XHJcbiAgcXVlc3Rpb246IFF1ZXN0aW9uXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXN0aW9uSW4gPSB7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG4gIHR5cGU6ICdtYXJrZXRpbmcnXHJcbiAgcXVlc3Rpb25PcmRlcjogbnVtYmVyXHJcbiAgaXNBY3RpdmU6IGJvb2xlYW5cclxuICBjb3VudHJ5SWQ6IG51bWJlclxyXG4gIGlzUmVxdWlyZWRWYWx1ZTogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBIb2xpZGF5c091dCA9IHtcclxuICBob2xpZGF5czogSG9saWRheVtdXHJcbiAgdG90YWw6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBIb2xpZGF5T3V0ID0ge1xyXG4gIGhvbGlkYXk6IEhvbGlkYXlcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSG9saWRheUluID0ge1xyXG4gIGRhdGU6IHN0cmluZ1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICBjb3VudHJ5SWQ6IG51bWJlclxyXG4gIGlzQWN0aXZlOiBib29sZWFuXHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNhdGFsb2cudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9tb2RlbHMvYXBpLWNhdGFsb2cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdTZWN0aW9uT3B0aW9uIH0gZnJvbSAnLi9hcGktY2F0YWxvZy5lbnVtJ1xyXG5pbXBvcnQge1xyXG4gIEJ1c2luZXNzUGFydHlUcmFkZXJUeXBlLFxyXG4gIENhbmNlbGxhdGlvblJlYXNvbixcclxuICBDb3VudHJ5LFxyXG4gIEN1cnJlbmN5LFxyXG4gIEV4dHJhQ2hhcmdlLFxyXG4gIEdlbmVyaWNGb2xpbyxcclxuICBIb2xpZGF5LFxyXG4gIElkZW50aWZpY2F0aW9uVHlwZSxcclxuICBMYW5ndWFnZSxcclxuICBNYW5hZ2VtZW50QXJlYSxcclxuICBPcGVyYXRpb25UeXBlLFxyXG4gIFBvc3RhbExvY2F0aW9uLFxyXG4gIFByb2R1Y3QsXHJcbiAgUXVlc3Rpb24sXHJcbiAgUmVnaW9uLFxyXG4gIFNoaXBtZW50Q29udGVudFR5cGUsXHJcbiAgU2hpcG1lbnRHcm91cCxcclxuICBTaGlwbWVudEluY29tZVR5cGUsXHJcbiAgU2hpcG1lbnRTY29wZSxcclxuICBTaGlwbWVudFN0YXR1cyxcclxuICBVbmlxdWVGb2xpbyxcclxuICBVbml0LFxyXG4gIFpvbmVcclxufSBmcm9tICcuL2FwaS1jYXRhbG9nLmludGVyZmFjZXMnXHJcblxyXG5leHBvcnQgdHlwZSBPcGVyYXRpb25UeXBlc091dCA9IHtcclxuICB0b3RhbDogbnVtYmVyXHJcbiAgb3BlcmF0aW9uVHlwZXM6IE9wZXJhdGlvblR5cGVbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpY2F0aW9uVHlwZXNPdXQge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBpZGVudGlmaWNhdGlvblR5cGVzOiBJZGVudGlmaWNhdGlvblR5cGVbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJZGVudGlmaWNhdGlvblR5cGVPdXQgPSB7XHJcbiAgSWRlbnRpZmljYXRpb25UeXBlOiBJZGVudGlmaWNhdGlvblR5cGVcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRlbnRpZmljYXRpb25UeXBlSW4gPSB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxuICBpZGVudGlmaWNhdGlvblR5cGU/OiBudW1iZXIgfCBudWxsXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgdmlld1NlY3Rpb246IFJlY29yZDxWaWV3U2VjdGlvbk9wdGlvbiwgYm9vbGVhbj5cclxuICByZWdleDogc3RyaW5nW10gfCBudWxsXHJcbiAgaXNFeHRlcm5hbFZhbGlkYXRpb24/OiBib29sZWFuXHJcbiAgaXNBY3RpdmU6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXh0cmFDaGFyZ2VzT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBleHRyYWNoYXJnZXM6IEV4dHJhQ2hhcmdlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyaWVzT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBjb3VudHJpZXM6IENvdW50cnlbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5SW4gPSB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgbG9jYXRpb25UeXBlSWQ6IG51bWJlclxyXG4gIHVuaXRJZDogbnVtYmVyXHJcbiAgdGltZXpvbmU6IHN0cmluZ1xyXG4gIGhhc0ltcG9ydFNlcnZpY2U6IGJvb2xlYW5cclxuICBpc0FjdGl2ZTogYm9vbGVhblxyXG4gIGlzb0NvZGU6IHN0cmluZ1xyXG4gIGNvZGVQaG9uZTogc3RyaW5nXHJcbiAgcGhvbmVEaWdpdHM6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5T3V0ID0ge1xyXG4gIGNvdW50cnk6IENvdW50cnlcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUG9zdGFsTG9jYXRpb25zT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBwb3N0YWxMb2NhdGlvbnM6IFBvc3RhbExvY2F0aW9uW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVnaW9uc091dCA9IHtcclxuICB0b3RhbDogbnVtYmVyXHJcbiAgcmVnaW9uczogUmVnaW9uW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgWm9uZXNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIHpvbmVzOiBab25lW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTWFuYWdlbWVudEFyZWFzT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICByZWdpb25zOiBNYW5hZ2VtZW50QXJlYVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbGxhdGlvblJlYXNvbnNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIGNhbmNlbGxhdGlvblJlYXNvbnM6IENhbmNlbGxhdGlvblJlYXNvbltdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbGxhdGlvblJlYXNvbkluID0ge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGV2ZW50UmVhc29uQ29kZTogc3RyaW5nIHwgbnVsbFxyXG4gIGlzQWN0aXZlOiBib29sZWFuXHJcbiAgY291bnRyeUlkOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uUmVhc29uT3V0ID0ge1xyXG4gIGNhbmNlbGxhdGlvblJlYXNvbjogQ2FuY2VsbGF0aW9uUmVhc29uXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEN1cnJlbmNpZXNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIGN1cnJlbmNpZXM6IEN1cnJlbmN5W11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTGFuZ3VhZ2VzT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBsYW5ndWFnZXM6IExhbmd1YWdlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVW5pdHNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIHVuaXRzOiBVbml0W11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2hpcG1lbnRTY29wZXNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIHNoaXBtZW50U2NvcGVzOiBTaGlwbWVudFNjb3BlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2hpcG1lbnRDb250ZW50VHlwZXNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIHNoaXBtZW50Q29udGVudFR5cGVzOiBTaGlwbWVudENvbnRlbnRUeXBlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXh0cmFDaGFyZ2VJbiA9IHtcclxuICBjb2RlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBpc0Rpc2NvdW50OiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEV4dHJhQ2hhcmdlT3V0ID0ge1xyXG4gIGV4dHJhQ2hhcmdlOiBFeHRyYUNoYXJnZVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBHZW5lcmljRm9saW9zT3V0ID0ge1xyXG4gIHRvdGFsOiBudW1iZXJcclxuICBnZW5lcmljRm9saW9zOiBHZW5lcmljRm9saW9bXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBHZW5lcmljRm9saW9JbiA9IHtcclxuICBhY2NvdW50TnVtYmVyOiBzdHJpbmdcclxuICBjb2RlOiBzdHJpbmdcclxuICBjb250ZW50OiBzdHJpbmdcclxuICBjb3VudHJ5UmVmZXJlbmNlUHJvZHVjdElkczogbnVtYmVyW11cclxuICBjdXN0b21lcjogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25BZGRyZXNzTGluZTE6IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQWRkcmVzc0xpbmUyOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvbkFkZHJlc3NMaW5lMzogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25DaXR5TmFtZT86IHN0cmluZ1xyXG4gIGRlc3RpbmF0aW9uQ291bnRyeUlkOiBudW1iZXJcclxuICBkZXN0aW5hdGlvbkNvdW50eU5hbWU/OiBzdHJpbmdcclxuICBkZXN0aW5hdGlvbkVtYWlsOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvbkZ1bGxOYW1lOiBzdHJpbmdcclxuICBkZXN0aW5hdGlvblBob25lQ29kZTogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25QaG9uZU51bWJlcjogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25Qb3N0YWxDb2RlPzogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25TdGF0ZUNvZGU/OiBzdHJpbmdcclxuICBpc0FjdGl2ZTogYm9vbGVhblxyXG4gIHBhY2thZ2luZzogYm9vbGVhblxyXG4gIGNvdW50cnlJZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEdlbmVyaWNGb2xpb091dCA9IHtcclxuICBnZW5lcmljRm9saW86IEdlbmVyaWNGb2xpb1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0SW4gPSB7XHJcbiAgZ2xvYmFsQ29kZTogbnVtYmVyXHJcbiAgbG9jYWxDb2RlOiBzdHJpbmdcclxuICBnbG9iYWxOYW1lOiBzdHJpbmdcclxuICBsb2NhbE5hbWU6IHN0cmluZ1xyXG4gIGlzRG9jdW1lbnQ6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdE91dCA9IHtcclxuICBwcm9kdWN0OiBQcm9kdWN0XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBtZW50SW5jb21lVHlwZXNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIHNoaXBtZW50SW5jb21lVHlwZXM6IFNoaXBtZW50SW5jb21lVHlwZVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBtZW50SW5jb21lVHlwZUluID0ge1xyXG4gIGNvdW50cnlJZDogbnVtYmVyXHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaXNBY3RpdmU6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2hpcG1lbnRJbmNvbWVUeXBlT3V0ID0ge1xyXG4gIHNoaXBtZW50SW5jb21lVHlwZTogU2hpcG1lbnRJbmNvbWVUeXBlXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFVuaXF1ZUZvbGlvSW4gPSB7XHJcbiAgY29kZTogbnVtYmVyXHJcbiAgY3VzdG9tZXI6IHN0cmluZ1xyXG4gIGNvbnRlbnQ6IHN0cmluZ1xyXG4gIGthZDogc3RyaW5nIHwgbnVsbFxyXG4gIGV4ZWN1dGl2ZTogc3RyaW5nXHJcbiAgaXNBY3RpdmU6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVW5pcXVlRm9saW9PdXQgPSB7XHJcbiAgdW5pcXVlRm9saW86IFVuaXF1ZUZvbGlvXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFVuaXF1ZUZvbGlvc091dCA9IHtcclxuICB0b3RhbDogbnVtYmVyXHJcbiAgdW5pcXVlRm9saW9zOiBVbmlxdWVGb2xpb1tdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBtZW50R3JvdXBzT3V0ID0ge1xyXG4gIHNoaXBtZW50R3JvdXBzOiBTaGlwbWVudEdyb3VwW11cclxuICB0b3RhbDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBtZW50U3RhdHVzZXNPdXQgPSB7XHJcbiAgc2hpcG1lbnRTdGF0dXNlczogU2hpcG1lbnRTdGF0dXNbXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUXVlc3Rpb25zT3V0ID0ge1xyXG4gIHF1ZXN0aW9uczogUXVlc3Rpb25bXVxyXG4gIHRvdGFsOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUXVlc3Rpb25PdXQgPSB7XHJcbiAgcXVlc3Rpb246IFF1ZXN0aW9uXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXN0aW9uSW4gPSB7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG4gIHR5cGU6ICdtYXJrZXRpbmcnXHJcbiAgcXVlc3Rpb25PcmRlcjogbnVtYmVyXHJcbiAgaXNBY3RpdmU6IGJvb2xlYW5cclxuICBjb3VudHJ5SWQ6IG51bWJlclxyXG4gIGlzUmVxdWlyZWRWYWx1ZTogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBIb2xpZGF5c091dCA9IHtcclxuICBob2xpZGF5czogSG9saWRheVtdXHJcbiAgdG90YWw6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBIb2xpZGF5T3V0ID0ge1xyXG4gIGhvbGlkYXk6IEhvbGlkYXlcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSG9saWRheUluID0ge1xyXG4gIGRhdGU6IHN0cmluZ1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICBjb3VudHJ5SWQ6IG51bWJlclxyXG4gIGlzQWN0aXZlOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEJ1c2luZXNzUGFydHlUcmFkZXJUeXBlc091dCA9IHtcclxuICB0b3RhbDogbnVtYmVyXHJcbiAgYnVzaW5lc3NQYXJ0eVRyYWRlclR5cGVzOiBCdXNpbmVzc1BhcnR5VHJhZGVyVHlwZVtdXHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNoaXBtZW50cy5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvbW9kZWxzL2FwaS1zaGlwbWVudHMuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlTGVzc1N5bWZvbnlNb2RlbCwgU3ltZm9ueU1vZGVsIH0gZnJvbSAnLi9hcGkubW9kZWxzJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXJzIGV4dGVuZHMgQWN0aXZlTGVzc1N5bWZvbnlNb2RlbCB7XHJcbiAgdHJhY2tpbmdOdW1iZXI6IHN0cmluZ1xyXG4gIGVtcGxveWVlQ3VzdG9tZXJJZDogbnVtYmVyXHJcbiAgc2hpcG1lbnQ6IHtcclxuICAgIGlkOiBudW1iZXJcclxuICB9IHwgbnVsbFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydFR5cGUgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNoaXBtZW50cy5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvbW9kZWxzL2FwaS1zaGlwbWVudHMuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlTGVzc1N5bWZvbnlNb2RlbCwgU3ltZm9ueU1vZGVsIH0gZnJvbSAnLi9hcGkubW9kZWxzJ1xyXG5pbXBvcnQgeyBTaGlwbWVudENvbnRlbnRUeXBlIH0gZnJvbSAnLi9hcGktY2F0YWxvZy5pbnRlcmZhY2VzJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXJzIGV4dGVuZHMgQWN0aXZlTGVzc1N5bWZvbnlNb2RlbCB7XHJcbiAgdHJhY2tpbmdOdW1iZXI6IHN0cmluZ1xyXG4gIGVtcGxveWVlQ3VzdG9tZXJJZDogbnVtYmVyXHJcbiAgc2hpcG1lbnQ6IHtcclxuICAgIGlkOiBudW1iZXJcclxuICB9IHwgbnVsbFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydFR5cGUgZXh0ZW5kcyBTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlc3RpbmF0aW9uQ291bnRyeSBleHRlbmRzIEFjdGl2ZUxlc3NTeW1mb255TW9kZWwge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVtYmFzc3lTaGlwbWVudCBleHRlbmRzIFN5bWZvbnlNb2RlbCB7XHJcbiAgaWQ6IG51bWJlclxyXG4gIGNvdW50cnlJZDogbnVtYmVyXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25Db3VudHJ5OiBEZXN0aW5hdGlvbkNvdW50cnlcclxuICBkZXN0aW5hdGlvbkNpdHlOYW1lOiBzdHJpbmcgfCBudWxsXHJcbiAgZGVzdGluYXRpb25Qb3N0YWxDb2RlOiBzdHJpbmcgfCBudWxsXHJcbiAgZGVzdGluYXRpb25Db3VudHlOYW1lOiBzdHJpbmcgfCBudWxsXHJcbiAgY29udGVudERlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXHJcbiAgc2hpcG1lbnRDb250ZW50VHlwZTogU2hpcG1lbnRDb250ZW50VHlwZVxyXG4gIHBpZWNlc051bWJlcjogbnVtYmVyIHwgbnVsbFxyXG4gIGRlc3RpbmF0aW9uQ29tcGFueU5hbWU6IHN0cmluZyB8IG51bGxcclxuICBkZXN0aW5hdGlvbkZ1bGxOYW1lOiBzdHJpbmcgfCBudWxsXHJcbiAgZGVzdGluYXRpb25BZGRyZXNzTGluZTE6IHN0cmluZyB8IG51bGxcclxuICBkZXN0aW5hdGlvbkFkZHJlc3NMaW5lMjogc3RyaW5nIHwgbnVsbFxyXG4gIGRlc3RpbmF0aW9uQWRkcmVzc0xpbmUzOiBzdHJpbmcgfCBudWxsXHJcbiAgZGVzdGluYXRpb25QaG9uZUNvZGU6IHN0cmluZyB8IG51bGxcclxuICBkZXN0aW5hdGlvblBob25lTnVtYmVyOiBzdHJpbmcgfCBudWxsXHJcbiAgZGVzdGluYXRpb25FbWFpbDogc3RyaW5nIHwgbnVsbFxyXG4gIGJ1c2luZXNzUGFydHlUcmFkZXJUeXBlSWQ6IG51bWJlciB8IG51bGxcclxuICBpc0FjdGl2ZTogYm9vbGVhblxyXG4gIGNyZWF0ZWRBdDogc3RyaW5nXHJcbiAgdXBkYXRlZEF0OiBzdHJpbmdcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNoaXBtZW50cy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9hcGlzL21vZGVscy9hcGktc2hpcG1lbnRzLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeHBvcnRUeXBlLCBTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXJzIH0gZnJvbSAnLi9hcGktc2hpcG1lbnRzLmludGVyZmFjZXMnXHJcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSAnLi9hcGktaW52b2ljZXMuaW50ZXJmYWNlcydcclxuXHJcbmV4cG9ydCB0eXBlIFZhbGlkYXRlQWNjb3VudEluID0ge1xyXG4gIGFjY291bnRWYWx1ZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEFjY291bnRSZXNwb25zZSA9IHtcclxuICBzdGF0dXM6IHRydWVcclxuICBtZXNzYWdlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBhY2NvdW50U3RhdHVzOiBzdHJpbmdcclxuICBjcmVkaXRTdGF0dXM6IHN0cmluZ1xyXG4gIGFjdGl2aXR5U3RhdHVzOiBzdHJpbmdcclxuICBjb3VudHJ5OiBzdHJpbmdcclxuICBjb3VudHJ5TmFtZTogc3RyaW5nXHJcbiAgaXNDcmVkaXRTdG9wOiBib29sZWFuXHJcbiAgaXNJbXBvcnRFbmFibGVkOiBib29sZWFuXHJcbiAgYWNjb3VudFR5cGU6IHN0cmluZ1xyXG4gIGlzQ2FzaDogYm9vbGVhblxyXG4gIGNvbnRhY3RJbmZvOiBzdHJpbmcgfCBudWxsXHJcbiAgcmVnaXN0cmF0aW9uSW5mbzogc3RyaW5nIHwgbnVsbFxyXG4gIHVzZXJzOiB7XHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICAgIHZhbGlkOiBib29sZWFuXHJcbiAgfVtdXHJcbn0gfCB7XHJcbiAgc3RhdHVzOiBmYWxzZVxyXG4gIG1lc3NhZ2U6IHN0cmluZ1xyXG4gIHVzZXJzOiBbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBWYWxpZGF0ZUFjY291bnRPdXQgPSB7XHJcbiAgYWNjb3VudDogQWNjb3VudFJlc3BvbnNlXHJcbiAgdHJhbnNhY3Rpb25JZDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1hbmlmZXN0TXVsdGlwbGVJbiA9IHtcclxuICBzaGlwbWVudElkczogbnVtYmVyW11cclxuICBjdXN0b21lcjoge1xyXG4gICAgY29tcGFueU5hbWU6IHN0cmluZ1xyXG4gICAgZnVsbE5hbWU6IHN0cmluZ1xyXG4gICAgZW1haWw6IHN0cmluZ1xyXG4gICAgcGhvbmVDb2RlOiBzdHJpbmdcclxuICAgIHBob25lTnVtYmVyOiBzdHJpbmdcclxuICAgIGFkZHJlc3NMaW5lMTogc3RyaW5nXHJcbiAgICBhZGRyZXNzTGluZTI/OiBzdHJpbmdcclxuICAgIGFkZHJlc3NMaW5lMz86IHN0cmluZ1xyXG4gICAgaWRlbnRpZmljYXRpb25OdW1iZXI/OiBzdHJpbmdcclxuICAgIGlkZW50aWZpY2F0aW9uVHlwZUlkPzogbnVtYmVyXHJcbiAgICBjb3VudHJ5Q29kZTogc3RyaW5nXHJcbiAgICBzdGF0ZUNvZGU/OiBzdHJpbmdcclxuICAgIHBvc3RhbENvZGU/OiBzdHJpbmdcclxuICAgIGNpdHlOYW1lPzogc3RyaW5nXHJcbiAgICBjb3VudHlOYW1lPzogc3RyaW5nXHJcbiAgfSxcclxuICBwYXltZW50RGV0YWlsczoge1xyXG4gICAgdG90YWxBbW91bnQ6IG51bWJlclxyXG4gICAgcGF5bWVudHM6IHtcclxuICAgICAgYW1vdW50OiBudW1iZXJcclxuICAgICAgcmVjZWl2ZWQ6IG51bWJlclxyXG4gICAgICBjb3VudHJ5UmVmZXJlbmNlQ3VycmVuY3lJZDogbnVtYmVyXHJcbiAgICAgIGV4Y2hhbmdlOiBudW1iZXJcclxuICAgICAgY291bnRyeVBheW1lbnRUeXBlSWQ6IG51bWJlclxyXG4gICAgICBkdWVEYXRlOiBzdHJpbmdcclxuICAgICAgZGV0YWlsczogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxyXG4gICAgfVtdXHJcbiAgfSxcclxuICBwcmljZU92ZXJyaWRlQXBwcm92ZXJJZDogbnVtYmVyIHwgbnVsbFxyXG4gIHByaWNlT3ZlcnJpZGVSZWFzb25JZDogbnVtYmVyIHwgbnVsbFxyXG4gIGlzUGVuZGluZ0ludm9pY2U/OiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1hbmlmZXN0TXVsdGlwbGVPdXQgPSB7XHJcbiAgc2hpcG1lbnRNYW5pZmVzdHM6IHtcclxuICAgIGRvY3VtZW50SWQ6IG51bWJlclxyXG4gIH1cclxuICB0cmFuc2FjdGlvbklkOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2hpcG1lbnRFbXBsb3llZUN1c3RvbWVyID0ge1xyXG4gIGN1cnJlbnRZZWFyOiBudW1iZXJcclxuICBjdXJyZW50TW9udGg6IG51bWJlclxyXG4gIG1lc3NhZ2U6IHN0cmluZyB8IG51bGxcclxuICBzaGlwbWVudEVtcGxveWVlQ3VzdG9tZXJzOiBTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXJzW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2hpcG1lbnRDYW5jZWxsYXRpb25JbiA9IHtcclxuICBzaGlwbWVudElkOiBudW1iZXJcclxuICByZWFzb25JZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBtZW50Q2FuY2VsbGF0aW9uT3V0ID0ge1xyXG4gIGVtYWlsTGlzdDogc3RyaW5nW11cclxuICBjcmVkaXROb3RlRG9jdW1lbnQ6IERvY3VtZW50IHwgbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFeHBvcnRUeXBlc091dCA9IHtcclxuICBleHBvcnRUeXBlczogRXhwb3J0VHlwZVtdXHJcbiAgdG90YWw6IG51bWJlclxyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNoaXBtZW50cy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9hcGlzL21vZGVscy9hcGktc2hpcG1lbnRzLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbWJhc3N5U2hpcG1lbnQsIEV4cG9ydFR5cGUsIFNoaXBtZW50RW1wbG95ZWVDdXN0b21lcnMgfSBmcm9tICcuL2FwaS1zaGlwbWVudHMuaW50ZXJmYWNlcydcclxuaW1wb3J0IHsgRG9jdW1lbnQgfSBmcm9tICcuL2FwaS1pbnZvaWNlcy5pbnRlcmZhY2VzJ1xyXG5cclxuZXhwb3J0IHR5cGUgVmFsaWRhdGVBY2NvdW50SW4gPSB7XHJcbiAgYWNjb3VudFZhbHVlOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQWNjb3VudFJlc3BvbnNlID0ge1xyXG4gIHN0YXR1czogdHJ1ZVxyXG4gIG1lc3NhZ2U6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGFjY291bnRTdGF0dXM6IHN0cmluZ1xyXG4gIGNyZWRpdFN0YXR1czogc3RyaW5nXHJcbiAgYWN0aXZpdHlTdGF0dXM6IHN0cmluZ1xyXG4gIGNvdW50cnk6IHN0cmluZ1xyXG4gIGNvdW50cnlOYW1lOiBzdHJpbmdcclxuICBpc0NyZWRpdFN0b3A6IGJvb2xlYW5cclxuICBpc0ltcG9ydEVuYWJsZWQ6IGJvb2xlYW5cclxuICBhY2NvdW50VHlwZTogc3RyaW5nXHJcbiAgaXNDYXNoOiBib29sZWFuXHJcbiAgY29udGFjdEluZm86IHN0cmluZyB8IG51bGxcclxuICByZWdpc3RyYXRpb25JbmZvOiBzdHJpbmcgfCBudWxsXHJcbiAgdXNlcnM6IHtcclxuICAgIGlkOiBzdHJpbmdcclxuICAgIG5hbWU6IHN0cmluZ1xyXG4gICAgdmFsaWQ6IGJvb2xlYW5cclxuICB9W11cclxufSB8IHtcclxuICBzdGF0dXM6IGZhbHNlXHJcbiAgbWVzc2FnZTogc3RyaW5nXHJcbiAgdXNlcnM6IFtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFZhbGlkYXRlQWNjb3VudE91dCA9IHtcclxuICBhY2NvdW50OiBBY2NvdW50UmVzcG9uc2VcclxuICB0cmFuc2FjdGlvbklkOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTWFuaWZlc3RNdWx0aXBsZUluID0ge1xyXG4gIHNoaXBtZW50SWRzOiBudW1iZXJbXVxyXG4gIGN1c3RvbWVyOiB7XHJcbiAgICBjb21wYW55TmFtZTogc3RyaW5nXHJcbiAgICBmdWxsTmFtZTogc3RyaW5nXHJcbiAgICBlbWFpbDogc3RyaW5nXHJcbiAgICBwaG9uZUNvZGU6IHN0cmluZ1xyXG4gICAgcGhvbmVOdW1iZXI6IHN0cmluZ1xyXG4gICAgYWRkcmVzc0xpbmUxOiBzdHJpbmdcclxuICAgIGFkZHJlc3NMaW5lMj86IHN0cmluZ1xyXG4gICAgYWRkcmVzc0xpbmUzPzogc3RyaW5nXHJcbiAgICBpZGVudGlmaWNhdGlvbk51bWJlcj86IHN0cmluZ1xyXG4gICAgaWRlbnRpZmljYXRpb25UeXBlSWQ/OiBudW1iZXJcclxuICAgIGNvdW50cnlDb2RlOiBzdHJpbmdcclxuICAgIHN0YXRlQ29kZT86IHN0cmluZ1xyXG4gICAgcG9zdGFsQ29kZT86IHN0cmluZ1xyXG4gICAgY2l0eU5hbWU/OiBzdHJpbmdcclxuICAgIGNvdW50eU5hbWU/OiBzdHJpbmdcclxuICB9LFxyXG4gIHBheW1lbnREZXRhaWxzOiB7XHJcbiAgICB0b3RhbEFtb3VudDogbnVtYmVyXHJcbiAgICBwYXltZW50czoge1xyXG4gICAgICBhbW91bnQ6IG51bWJlclxyXG4gICAgICByZWNlaXZlZDogbnVtYmVyXHJcbiAgICAgIGNvdW50cnlSZWZlcmVuY2VDdXJyZW5jeUlkOiBudW1iZXJcclxuICAgICAgZXhjaGFuZ2U6IG51bWJlclxyXG4gICAgICBjb3VudHJ5UGF5bWVudFR5cGVJZDogbnVtYmVyXHJcbiAgICAgIGR1ZURhdGU6IHN0cmluZ1xyXG4gICAgICBkZXRhaWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XHJcbiAgICB9W11cclxuICB9LFxyXG4gIHByaWNlT3ZlcnJpZGVBcHByb3ZlcklkOiBudW1iZXIgfCBudWxsXHJcbiAgcHJpY2VPdmVycmlkZVJlYXNvbklkOiBudW1iZXIgfCBudWxsXHJcbiAgaXNQZW5kaW5nSW52b2ljZT86IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTWFuaWZlc3RNdWx0aXBsZU91dCA9IHtcclxuICBzaGlwbWVudE1hbmlmZXN0czoge1xyXG4gICAgZG9jdW1lbnRJZDogbnVtYmVyXHJcbiAgfVxyXG4gIHRyYW5zYWN0aW9uSWQ6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTaGlwbWVudEVtcGxveWVlQ3VzdG9tZXIgPSB7XHJcbiAgY3VycmVudFllYXI6IG51bWJlclxyXG4gIGN1cnJlbnRNb250aDogbnVtYmVyXHJcbiAgbWVzc2FnZTogc3RyaW5nIHwgbnVsbFxyXG4gIHNoaXBtZW50RW1wbG95ZWVDdXN0b21lcnM6IFNoaXBtZW50RW1wbG95ZWVDdXN0b21lcnNbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTaGlwbWVudENhbmNlbGxhdGlvbkluID0ge1xyXG4gIHNoaXBtZW50SWQ6IG51bWJlclxyXG4gIHJlYXNvbklkOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU2hpcG1lbnRDYW5jZWxsYXRpb25PdXQgPSB7XHJcbiAgZW1haWxMaXN0OiBzdHJpbmdbXVxyXG4gIGNyZWRpdE5vdGVEb2N1bWVudDogRG9jdW1lbnQgfCBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEV4cG9ydFR5cGVzT3V0ID0ge1xyXG4gIGV4cG9ydFR5cGVzOiBFeHBvcnRUeXBlW11cclxuICB0b3RhbDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEVtYmFzc3lTaGlwbWVudHNPdXQgPSB7XHJcbiAgdG90YWw6IG51bWJlclxyXG4gIGVtYmFzc3lTaGlwbWVudHM6IEVtYmFzc3lTaGlwbWVudFtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEVtYmFzc3lTaGlwbWVudEluID0ge1xyXG4gIGNvdW50cnlJZDogbnVtYmVyXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgZGVzdGluYXRpb25Db3VudHJ5SWQ6IG51bWJlciB8IG51bGxcclxuICBkZXN0aW5hdGlvbkNpdHlOYW1lOiBzdHJpbmcgfCBudWxsXHJcbiAgZGVzdGluYXRpb25Qb3N0YWxDb2RlOiBzdHJpbmcgfCBudWxsXHJcbiAgZGVzdGluYXRpb25Db3VudHlOYW1lOiBzdHJpbmcgfCBudWxsXHJcbiAgY29udGVudERlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXHJcbiAgc2hpcG1lbnRDb250ZW50VHlwZUlkOiBudW1iZXIgfCBudWxsXHJcbiAgcGllY2VzTnVtYmVyOiBudW1iZXIgfCBudWxsXHJcbiAgZGVzdGluYXRpb25Db21wYW55TmFtZTogc3RyaW5nIHwgbnVsbFxyXG4gIGRlc3RpbmF0aW9uRnVsbE5hbWU6IHN0cmluZyB8IG51bGxcclxuICBkZXN0aW5hdGlvbkFkZHJlc3NMaW5lMTogc3RyaW5nIHwgbnVsbFxyXG4gIGRlc3RpbmF0aW9uQWRkcmVzc0xpbmUyOiBzdHJpbmcgfCBudWxsXHJcbiAgZGVzdGluYXRpb25BZGRyZXNzTGluZTM6IHN0cmluZyB8IG51bGxcclxuICBkZXN0aW5hdGlvblBob25lQ29kZTogc3RyaW5nIHwgbnVsbFxyXG4gIGRlc3RpbmF0aW9uUGhvbmVOdW1iZXI6IHN0cmluZyB8IG51bGxcclxuICBkZXN0aW5hdGlvbkVtYWlsOiBzdHJpbmcgfCBudWxsXHJcbiAgYnVzaW5lc3NQYXJ0eVRyYWRlclR5cGVJZDogbnVtYmVyIHwgbnVsbFxyXG4gIGlzQWN0aXZlOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW1iYXNzeVNoaXBtZW50T3V0IHtcclxuICBlbWJhc3N5U2hpcG1lbnQ6IEVtYmFzc3lTaGlwbWVudFxyXG59XHJcbiJdfQ==
@@ -1055,6 +1055,15 @@ class ApiCatalogsService {
1055
1055
  return this.http.delete(`${this.url}/holidays/${id}`)
1056
1056
  .pipe(map(({ data }) => data));
1057
1057
  }
1058
+ /**
1059
+ * Retrieves a list of business party trader types
1060
+ * @param {QueryParams} params - Query parameters for filtering and pagination (optional)
1061
+ * @returns {Observable<BusinessPartyTraderTypesOut>} Observable containing the list of trader types
1062
+ */
1063
+ getBusinessPartyTraderTypes(params) {
1064
+ return this.http.get(`${this.url}/business-party-trader-types`)
1065
+ .pipe(map(({ data }) => data));
1066
+ }
1058
1067
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCatalogsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1059
1068
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCatalogsService, providedIn: 'root' });
1060
1069
  }
@@ -4033,6 +4042,35 @@ class ApiShipmentsService {
4033
4042
  params
4034
4043
  }).pipe(map(({ data }) => data));
4035
4044
  }
4045
+ /**
4046
+ * Retrieves a paginated list of embassy shipments
4047
+ * @param {QueryParams} params - Query parameters for filtering and pagination
4048
+ * @returns {Observable<EmbassyShipmentsOut>} Observable containing the list of shipments and pagination metadata
4049
+ */
4050
+ getEmbassyShipments(params) {
4051
+ return this.http.get(`${this.url}/embassy-shipments`, {
4052
+ params
4053
+ }).pipe(map(({ data }) => data));
4054
+ }
4055
+ /**
4056
+ * Creates a new embassy shipment
4057
+ * @param {EmbassyShipmentIn} body - The shipment data to create
4058
+ * @returns {Observable<EmbassyShipmentOut>} Observable containing the created shipment with its assigned ID
4059
+ */
4060
+ postEmbassyShipments(body) {
4061
+ return this.http.post(`${this.url}/embassy-shipments`, body)
4062
+ .pipe(map(({ data }) => data));
4063
+ }
4064
+ /**
4065
+ * Updates an existing embassy shipment
4066
+ * @param {number} id - The unique identifier of the shipment to update
4067
+ * @param {EmbassyShipmentIn} body - The updated shipment data
4068
+ * @returns {Observable<EmbassyShipmentOut>} Observable containing the updated shipment
4069
+ */
4070
+ putEmbassyShipments(id, body) {
4071
+ return this.http.put(`${this.url}/embassy-shipments/${id}`, body)
4072
+ .pipe(map(({ data }) => data));
4073
+ }
4036
4074
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiShipmentsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
4037
4075
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiShipmentsService, providedIn: 'root' });
4038
4076
  }