openclaw-productboard 1.0.13 → 1.0.15
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.
|
@@ -147,6 +147,9 @@ export class ProductBoardClient {
|
|
|
147
147
|
this.cache.invalidatePattern('pb_feature_search:');
|
|
148
148
|
}
|
|
149
149
|
async searchFeatures(query, limit = 50) {
|
|
150
|
+
if (!query) {
|
|
151
|
+
return [];
|
|
152
|
+
}
|
|
150
153
|
const cacheKey = ApiCache.generateKey('pb_feature_search', { query, limit });
|
|
151
154
|
return this.cache.wrap(cacheKey, async () => {
|
|
152
155
|
// ProductBoard doesn't have a dedicated search endpoint for features
|
|
@@ -271,6 +274,9 @@ export class ProductBoardClient {
|
|
|
271
274
|
// Search Methods
|
|
272
275
|
// ============================================
|
|
273
276
|
async search(params) {
|
|
277
|
+
if (!params.query) {
|
|
278
|
+
return [];
|
|
279
|
+
}
|
|
274
280
|
const cacheKey = ApiCache.generateKey('pb_search', { query: params.query, type: params.type, limit: params.limit });
|
|
275
281
|
return this.cache.wrap(cacheKey, async () => {
|
|
276
282
|
const results = [];
|
|
@@ -369,4 +375,4 @@ export class ProductBoardClient {
|
|
|
369
375
|
return this.rateLimiter.stats();
|
|
370
376
|
}
|
|
371
377
|
}
|
|
372
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvYXBpLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sS0FBd0QsTUFBTSxPQUFPLENBQUM7QUFxQjdFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsR0FDbEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkUsTUFBTSxnQkFBZ0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN4RCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFFdEIsTUFBTSxPQUFPLGtCQUFrQjtJQUNyQixNQUFNLENBQWdCO0lBQ3RCLEtBQUssQ0FBVztJQUNoQixXQUFXLENBQWM7SUFDekIsT0FBTyxDQUFTO0lBRXhCLFlBQVksTUFBb0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLGdCQUFnQixDQUFDO1FBRXJELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFO2dCQUNQLGVBQWUsRUFBRSxVQUFVLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQzVDLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLFdBQVcsRUFBRSxHQUFHO2FBQ2pCO1lBQ0QsT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztZQUNwQixHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsZUFBZSxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUk7U0FDNUMsQ0FBQyxDQUFDO1FB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WUFDNUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvZHVjdEJvYXJkIEFQSSBDbGllbnRcbiAqL1xuXG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NJbnN0YW5jZSwgQXhpb3NFcnJvciwgQXhpb3NSZXF1ZXN0Q29uZmlnIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHtcbiAgRmVhdHVyZSxcbiAgUHJvZHVjdCxcbiAgQ29tcG9uZW50LFxuICBOb3RlLFxuICBVc2VyLFxuICBDdXJyZW50VXNlcixcbiAgU2VhcmNoUmVzdWx0LFxuICBQYWdpbmF0ZWRSZXNwb25zZSxcbiAgQ3JlYXRlRmVhdHVyZVBhcmFtcyxcbiAgVXBkYXRlRmVhdHVyZVBhcmFtcyxcbiAgTGlzdEZlYXR1cmVzUGFyYW1zLFxuICBMaXN0UHJvZHVjdHNQYXJhbXMsXG4gIENyZWF0ZU5vdGVQYXJhbXMsXG4gIExpc3ROb3Rlc1BhcmFtcyxcbiAgTGlzdFVzZXJzUGFyYW1zLFxuICBTZWFyY2hQYXJhbXMsXG4gIFBsdWdpbkNvbmZpZyxcbiAgUHJvZHVjdEhpZXJhcmNoeSxcbn0gZnJvbSAnLi90eXBlcy5qcyc7XG5pbXBvcnQge1xuICBwYXJzZUFwaUVycm9yLFxuICBpc1JldHJ5YWJsZUVycm9yLFxuICBnZXRSZXRyeURlbGF5LFxuICBQcm9kdWN0Qm9hcmRFcnJvcixcbn0gZnJvbSAnLi9lcnJvcnMuanMnO1xuaW1wb3J0IHsgQXBpQ2FjaGUsIGdldENhY2hlIH0gZnJvbSAnLi4vdXRpbHMvY2FjaGUuanMnO1xuaW1wb3J0IHsgUmF0ZUxpbWl0ZXIsIGdldFJhdGVMaW1pdGVyIH0gZnJvbSAnLi4vdXRpbHMvcmF0ZS1saW1pdGVyLmpzJztcblxuY29uc3QgREVGQVVMVF9CQVNFX1VSTCA9ICdodHRwczovL2FwaS5wcm9kdWN0Ym9hcmQuY29tJztcbmNvbnN0IE1BWF9SRVRSSUVTID0gMztcblxuZXhwb3J0IGNsYXNzIFByb2R1Y3RCb2FyZENsaWVudCB7XG4gIHByaXZhdGUgY2xpZW50OiBBeGlvc0luc3RhbmNlO1xuICBwcml2YXRlIGNhY2hlOiBBcGlDYWNoZTtcbiAgcHJpdmF0ZSByYXRlTGltaXRlcjogUmF0ZUxpbWl0ZXI7XG4gIHByaXZhdGUgYmFzZVVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogUGx1Z2luQ29uZmlnKSB7XG4gICAgdGhpcy5iYXNlVXJsID0gY29uZmlnLmFwaUJhc2VVcmwgfHwgREVGQVVMVF9CQVNFX1VSTDtcblxuICAgIHRoaXMuY2xpZW50ID0gYXhpb3MuY3JlYXRlKHtcbiAgICAgIGJhc2VVUkw6IHRoaXMuYmFzZVVybCxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmVhcmVyICR7Y29uZmlnLmFwaVRva2VufWAsXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICdYLVZlcnNpb24nOiAnMScsXG4gICAgICB9LFxuICAgICAgdGltZW91dDogMzAwMDAsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNhY2hlID0gZ2V0Q2FjaGUoe1xuICAgICAgdHRsOiAoY29uZmlnLmNhY2hlVHRsU2Vjb25kcyB8fCAzMDApICogMTAwMCxcbiAgICB9KTtcblxuICAgIHRoaXMucmF0ZUxpbWl0ZXIgPSBnZXRSYXRlTGltaXRlcih7XG4gICAgICBtYXhUb2tlbnM6IGNvbmZpZy5yYXRlTGltaXRQZXJNaW51dGUgfHwgMTAwLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZXR1cEludGVyY2VwdG9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEludGVyY2VwdG9ycygpOiB2b2lkIHtcbiAgICAvLyBSZXNwb25zZSBpbnRlcmNlcHRvciBmb3IgZXJyb3IgaGFuZGxpbmdcbiAgICB0aGlzLmNsaWVudC5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKFxuICAgICAgKHJlc3BvbnNlKSA9PiByZXNwb25zZSxcbiAgICAgIChlcnJvcjogQXhpb3NFcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2UpIHtcbiAgICAgICAgICBjb25zdCB7IHN0YXR1cywgZGF0YSwgaGVhZGVycyB9ID0gZXJyb3IucmVzcG9uc2U7XG4gICAgICAgICAgdGhyb3cgcGFyc2VBcGlFcnJvcihcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIGRhdGEgYXMgeyBjb2RlPzogc3RyaW5nOyBtZXNzYWdlPzogc3RyaW5nOyBkZXRhaWxzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSxcbiAgICAgICAgICAgIGhlYWRlcnNbJ3JldHJ5LWFmdGVyJ10gYXMgc3RyaW5nIHwgdW5kZWZpbmVkXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgUHJvZHVjdEJvYXJkRXJyb3IoXG4gICAgICAgICAgZXJyb3IubWVzc2FnZSB8fCAnTmV0d29yayBlcnJvcicsXG4gICAgICAgICAgJ05FVFdPUktfRVJST1InLFxuICAgICAgICAgIDBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYSByZXF1ZXN0IHdpdGggcmV0cnkgbG9naWMgYW5kIHJhdGUgbGltaXRpbmdcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgcmVxdWVzdDxUPihcbiAgICBjb25maWc6IEF4aW9zUmVxdWVzdENvbmZpZyxcbiAgICByZXRyeUNvdW50ID0gMFxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBhd2FpdCB0aGlzLnJhdGVMaW1pdGVyLmFjcXVpcmUoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnJlcXVlc3Q8VD4oY29uZmlnKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoaXNSZXRyeWFibGVFcnJvcihlcnJvcikgJiYgcmV0cnlDb3VudCA8IE1BWF9SRVRSSUVTKSB7XG4gICAgICAgIGNvbnN0IGRlbGF5ID0gZ2V0UmV0cnlEZWxheShlcnJvciwgcmV0cnlDb3VudCk7XG4gICAgICAgIGF3YWl0IHRoaXMuc2xlZXAoZGVsYXkpO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0PFQ+KGNvbmZpZywgcmV0cnlDb3VudCArIDEpO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzbGVlcChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG4gIH1cblxuICAvKipcbiAgICogUGFnaW5hdGUgdGhyb3VnaCBhbGwgcmVzdWx0c1xuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBwYWdpbmF0ZTxUPihcbiAgICBlbmRwb2ludDogc3RyaW5nLFxuICAgIHBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSxcbiAgICBtYXhJdGVtcz86IG51bWJlclxuICApOiBQcm9taXNlPFRbXT4ge1xuICAgIGNvbnN0IHJlc3VsdHM6IFRbXSA9IFtdO1xuICAgIGxldCBjdXJzb3I6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBsaW1pdCA9IE1hdGgubWluKHBhcmFtcy5saW1pdCBhcyBudW1iZXIgfHwgMTAwLCAxMDApO1xuXG4gICAgZG8ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3Q8UGFnaW5hdGVkUmVzcG9uc2U8VD4+KHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgdXJsOiBlbmRwb2ludCxcbiAgICAgICAgcGFyYW1zOiB7IC4uLnBhcmFtcywgbGltaXQsIHBhZ2VDdXJzb3I6IGN1cnNvciB9LFxuICAgICAgfSk7XG5cbiAgICAgIHJlc3VsdHMucHVzaCguLi5yZXNwb25zZS5kYXRhKTtcblxuICAgICAgaWYgKG1heEl0ZW1zICYmIHJlc3VsdHMubGVuZ3RoID49IG1heEl0ZW1zKSB7XG4gICAgICAgIHJldHVybiByZXN1bHRzLnNsaWNlKDAsIG1heEl0ZW1zKTtcbiAgICAgIH1cblxuICAgICAgY3Vyc29yID0gcmVzcG9uc2UubGlua3M/Lm5leHRcbiAgICAgICAgPyBuZXcgVVJMKHJlc3BvbnNlLmxpbmtzLm5leHQpLnNlYXJjaFBhcmFtcy5nZXQoJ3BhZ2VDdXJzb3InKSB8fCB1bmRlZmluZWRcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfSB3aGlsZSAoY3Vyc29yKTtcblxuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gRmVhdHVyZSBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgYXN5bmMgY3JlYXRlRmVhdHVyZShwYXJhbXM6IENyZWF0ZUZlYXR1cmVQYXJhbXMpOiBQcm9taXNlPEZlYXR1cmU+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnJlcXVlc3Q8eyBkYXRhOiBGZWF0dXJlIH0+KHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJsOiAnL2ZlYXR1cmVzJyxcbiAgICAgIGRhdGE6IHsgZGF0YTogcGFyYW1zIH0sXG4gICAgfSk7XG5cbiAgICAvLyBJbnZhbGlkYXRlIGZlYXR1cmUgbGlzdCBjYWNoZXNcbiAgICB0aGlzLmNhY2hlLmludmFsaWRhdGVQYXR0ZXJuKCdwYl9mZWF0dXJlX2xpc3Q6Jyk7XG4gICAgdGhpcy5jYWNoZS5pbnZhbGlkYXRlUGF0dGVybigncGJfZmVhdHVyZV9zZWFyY2g6Jyk7XG5cbiAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gIH1cblxuICBhc3luYyBsaXN0RmVhdHVyZXMocGFyYW1zOiBMaXN0RmVhdHVyZXNQYXJhbXMgPSB7fSk6IFByb21pc2U8RmVhdHVyZVtdPiB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBBcGlDYWNoZS5nZW5lcmF0ZUtleSgncGJfZmVhdHVyZV9saXN0JywgcGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlLndyYXAoY2FjaGVLZXksIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG4gICAgICBpZiAocGFyYW1zLnByb2R1Y3RJZCkgcXVlcnlQYXJhbXNbJ3Byb2R1Y3QuaWQnXSA9IHBhcmFtcy5wcm9kdWN0SWQ7XG4gICAgICBpZiAocGFyYW1zLmNvbXBvbmVudElkKSBxdWVyeVBhcmFtc1snY29tcG9uZW50LmlkJ10gPSBwYXJhbXMuY29tcG9uZW50SWQ7XG4gICAgICBpZiAocGFyYW1zLnN0YXR1cykgcXVlcnlQYXJhbXMuc3RhdHVzID0gcGFyYW1zLnN0YXR1cztcbiAgICAgIGlmIChwYXJhbXMub3duZXJJZCkgcXVlcnlQYXJhbXNbJ293bmVyLmlkJ10gPSBwYXJhbXMub3duZXJJZDtcblxuICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGU8RmVhdHVyZT4oJy9mZWF0dXJlcycsIHF1ZXJ5UGFyYW1zLCBwYXJhbXMubGltaXQpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0RmVhdHVyZShpZDogc3RyaW5nKTogUHJvbWlzZTxGZWF0dXJlPiB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBBcGlDYWNoZS5nZW5lcmF0ZUtleSgncGJfZmVhdHVyZV9nZXQnLCB7IGlkIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGUud3JhcChjYWNoZUtleSwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5yZXF1ZXN0PHsgZGF0YTogRmVhdHVyZSB9Pih7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIHVybDogYC9mZWF0dXJlcy8ke2lkfWAsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZUZlYXR1cmUoaWQ6IHN0cmluZywgcGFyYW1zOiBVcGRhdGVGZWF0dXJlUGFyYW1zKTogUHJvbWlzZTxGZWF0dXJlPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5yZXF1ZXN0PHsgZGF0YTogRmVhdHVyZSB9Pih7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICB1cmw6IGAvZmVhdHVyZXMvJHtpZH1gLFxuICAgICAgZGF0YTogeyBkYXRhOiBwYXJhbXMgfSxcbiAgICB9KTtcblxuICAgIC8vIEludmFsaWRhdGUgY2FjaGVzXG4gICAgdGhpcy5jYWNoZS5kZWxldGUoQXBpQ2FjaGUuZ2VuZXJhdGVLZXkoJ3BiX2ZlYXR1cmVfZ2V0JywgeyBpZCB9KSk7XG4gICAgdGhpcy5jYWNoZS5pbnZhbGlkYXRlUGF0dGVybigncGJfZmVhdHVyZV9saXN0OicpO1xuICAgIHRoaXMuY2FjaGUuaW52YWxpZGF0ZVBhdHRlcm4oJ3BiX2ZlYXR1cmVfc2VhcmNoOicpO1xuXG4gICAgcmV0dXJuIHJlc3VsdC5kYXRhO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlRmVhdHVyZShpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5yZXF1ZXN0PHZvaWQ+KHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICB1cmw6IGAvZmVhdHVyZXMvJHtpZH1gLFxuICAgIH0pO1xuXG4gICAgLy8gSW52YWxpZGF0ZSBjYWNoZXNcbiAgICB0aGlzLmNhY2hlLmRlbGV0ZShBcGlDYWNoZS5nZW5lcmF0ZUtleSgncGJfZmVhdHVyZV9nZXQnLCB7IGlkIH0pKTtcbiAgICB0aGlzLmNhY2hlLmludmFsaWRhdGVQYXR0ZXJuKCdwYl9mZWF0dXJlX2xpc3Q6Jyk7XG4gICAgdGhpcy5jYWNoZS5pbnZhbGlkYXRlUGF0dGVybigncGJfZmVhdHVyZV9zZWFyY2g6Jyk7XG4gIH1cblxuICBhc3luYyBzZWFyY2hGZWF0dXJlcyhxdWVyeTogc3RyaW5nLCBsaW1pdCA9IDUwKTogUHJvbWlzZTxGZWF0dXJlW10+IHtcbiAgICBjb25zdCBjYWNoZUtleSA9IEFwaUNhY2hlLmdlbmVyYXRlS2V5KCdwYl9mZWF0dXJlX3NlYXJjaCcsIHsgcXVlcnksIGxpbWl0IH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGUud3JhcChjYWNoZUtleSwgYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gUHJvZHVjdEJvYXJkIGRvZXNuJ3QgaGF2ZSBhIGRlZGljYXRlZCBzZWFyY2ggZW5kcG9pbnQgZm9yIGZlYXR1cmVzXG4gICAgICAvLyBXZSdsbCBsaXN0IGFsbCBhbmQgZmlsdGVyIGNsaWVudC1zaWRlXG4gICAgICBjb25zdCBmZWF0dXJlcyA9IGF3YWl0IHRoaXMubGlzdEZlYXR1cmVzKHsgbGltaXQ6IDUwMCB9KTtcbiAgICAgIGNvbnN0IHF1ZXJ5TG93ZXIgPSBxdWVyeS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICByZXR1cm4gZmVhdHVyZXNcbiAgICAgICAgLmZpbHRlcigoZikgPT4ge1xuICAgICAgICAgIGNvbnN0IG5hbWVNYXRjaCA9IGYubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeUxvd2VyKTtcbiAgICAgICAgICBjb25zdCBkZXNjTWF0Y2ggPSBmLmRlc2NyaXB0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5TG93ZXIpO1xuICAgICAgICAgIHJldHVybiBuYW1lTWF0Y2ggfHwgZGVzY01hdGNoO1xuICAgICAgICB9KVxuICAgICAgICAuc2xpY2UoMCwgbGltaXQpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUHJvZHVjdCBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgYXN5bmMgbGlzdFByb2R1Y3RzKHBhcmFtczogTGlzdFByb2R1Y3RzUGFyYW1zID0ge30pOiBQcm9taXNlPFByb2R1Y3RbXT4ge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gQXBpQ2FjaGUuZ2VuZXJhdGVLZXkoJ3BiX3Byb2R1Y3RfbGlzdCcsIHBhcmFtcyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZS53cmFwKGNhY2hlS2V5LCBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5wYWdpbmF0ZTxQcm9kdWN0PignL3Byb2R1Y3RzJywge30sIHBhcmFtcy5saW1pdCk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBnZXRQcm9kdWN0KGlkOiBzdHJpbmcpOiBQcm9taXNlPFByb2R1Y3Q+IHtcbiAgICBjb25zdCBjYWNoZUtleSA9IEFwaUNhY2hlLmdlbmVyYXRlS2V5KCdwYl9wcm9kdWN0X2dldCcsIHsgaWQgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZS53cmFwKGNhY2hlS2V5LCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnJlcXVlc3Q8eyBkYXRhOiBQcm9kdWN0IH0+KHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgdXJsOiBgL3Byb2R1Y3RzLyR7aWR9YCxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbGlzdENvbXBvbmVudHMocGFyYW1zOiB7IHByb2R1Y3RJZD86IHN0cmluZzsgbGltaXQ/OiBudW1iZXIgfSA9IHt9KTogUHJvbWlzZTxDb21wb25lbnRbXT4ge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gQXBpQ2FjaGUuZ2VuZXJhdGVLZXkoJ3BiX2NvbXBvbmVudF9saXN0JywgcGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlLndyYXAoY2FjaGVLZXksIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICAgICAgaWYgKHBhcmFtcy5wcm9kdWN0SWQpIHF1ZXJ5UGFyYW1zWydwcm9kdWN0LmlkJ10gPSBwYXJhbXMucHJvZHVjdElkO1xuXG4gICAgICByZXR1cm4gdGhpcy5wYWdpbmF0ZTxDb21wb25lbnQ+KCcvY29tcG9uZW50cycsIHF1ZXJ5UGFyYW1zLCBwYXJhbXMubGltaXQpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0UHJvZHVjdEhpZXJhcmNoeSgpOiBQcm9taXNlPFByb2R1Y3RIaWVyYXJjaHk+IHtcbiAgICBjb25zdCBjYWNoZUtleSA9IEFwaUNhY2hlLmdlbmVyYXRlS2V5KCdwYl9wcm9kdWN0X2hpZXJhcmNoeScsIHt9KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlLndyYXAoY2FjaGVLZXksIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IFtwcm9kdWN0cywgY29tcG9uZW50c10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIHRoaXMubGlzdFByb2R1Y3RzKHsgbGltaXQ6IDUwMCB9KSxcbiAgICAgICAgdGhpcy5saXN0Q29tcG9uZW50cyh7IGxpbWl0OiA1MDAgfSksXG4gICAgICBdKTtcblxuICAgICAgcmV0dXJuIHsgcHJvZHVjdHMsIGNvbXBvbmVudHMgfTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIE5vdGUgTWV0aG9kc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIGFzeW5jIGNyZWF0ZU5vdGUocGFyYW1zOiBDcmVhdGVOb3RlUGFyYW1zKTogUHJvbWlzZTxOb3RlPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5yZXF1ZXN0PHsgZGF0YTogTm90ZSB9Pih7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogJy9ub3RlcycsXG4gICAgICBkYXRhOiB7IGRhdGE6IHBhcmFtcyB9LFxuICAgIH0pO1xuXG4gICAgLy8gSW52YWxpZGF0ZSBub3RlIGxpc3QgY2FjaGVzXG4gICAgdGhpcy5jYWNoZS5pbnZhbGlkYXRlUGF0dGVybigncGJfbm90ZV9saXN0OicpO1xuXG4gICAgcmV0dXJuIHJlc3VsdC5kYXRhO1xuICB9XG5cbiAgYXN5bmMgbGlzdE5vdGVzKHBhcmFtczogTGlzdE5vdGVzUGFyYW1zID0ge30pOiBQcm9taXNlPE5vdGVbXT4ge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gQXBpQ2FjaGUuZ2VuZXJhdGVLZXkoJ3BiX25vdGVfbGlzdCcsIHBhcmFtcyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZS53cmFwKGNhY2hlS2V5LCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBxdWVyeVBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgICAgIGlmIChwYXJhbXMuY3JlYXRlZEZyb20pIHF1ZXJ5UGFyYW1zLmNyZWF0ZWRGcm9tID0gcGFyYW1zLmNyZWF0ZWRGcm9tO1xuICAgICAgaWYgKHBhcmFtcy5jcmVhdGVkVG8pIHF1ZXJ5UGFyYW1zLmNyZWF0ZWRUbyA9IHBhcmFtcy5jcmVhdGVkVG87XG5cbiAgICAgIHJldHVybiB0aGlzLnBhZ2luYXRlPE5vdGU+KCcvbm90ZXMnLCBxdWVyeVBhcmFtcywgcGFyYW1zLmxpbWl0KTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldE5vdGUoaWQ6IHN0cmluZyk6IFByb21pc2U8Tm90ZT4ge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gQXBpQ2FjaGUuZ2VuZXJhdGVLZXkoJ3BiX25vdGVfZ2V0JywgeyBpZCB9KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlLndyYXAoY2FjaGVLZXksIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucmVxdWVzdDx7IGRhdGE6IE5vdGUgfT4oe1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICB1cmw6IGAvbm90ZXMvJHtpZH1gLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBhdHRhY2hOb3RlVG9GZWF0dXJlKG5vdGVJZDogc3RyaW5nLCBmZWF0dXJlSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucmVxdWVzdDx2b2lkPih7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogYC9ub3Rlcy8ke25vdGVJZH0vY29ubmVjdGlvbnNgLFxuICAgICAgZGF0YToge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmVhdHVyZTogeyBpZDogZmVhdHVyZUlkIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gSW52YWxpZGF0ZSBjYWNoZXNcbiAgICB0aGlzLmNhY2hlLmRlbGV0ZShBcGlDYWNoZS5nZW5lcmF0ZUtleSgncGJfbm90ZV9nZXQnLCB7IGlkOiBub3RlSWQgfSkpO1xuICAgIHRoaXMuY2FjaGUuZGVsZXRlKEFwaUNhY2hlLmdlbmVyYXRlS2V5KCdwYl9mZWF0dXJlX2dldCcsIHsgaWQ6IGZlYXR1cmVJZCB9KSk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBVc2VyIE1ldGhvZHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBhc3luYyBnZXRDdXJyZW50VXNlcigpOiBQcm9taXNlPEN1cnJlbnRVc2VyPiB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBBcGlDYWNoZS5nZW5lcmF0ZUtleSgncGJfdXNlcl9jdXJyZW50Jywge30pO1xuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGUud3JhcChjYWNoZUtleSwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5yZXF1ZXN0PHsgZGF0YTogQ3VycmVudFVzZXIgfT4oe1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICB1cmw6ICcvdXNlcnMvbWUnLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsaXN0VXNlcnMocGFyYW1zOiBMaXN0VXNlcnNQYXJhbXMgPSB7fSk6IFByb21pc2U8VXNlcltdPiB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBBcGlDYWNoZS5nZW5lcmF0ZUtleSgncGJfdXNlcl9saXN0JywgcGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlLndyYXAoY2FjaGVLZXksIGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2luYXRlPFVzZXI+KCcvdXNlcnMnLCB7fSwgcGFyYW1zLmxpbWl0KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNlYXJjaCBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgYXN5bmMgc2VhcmNoKHBhcmFtczogU2VhcmNoUGFyYW1zKTogUHJvbWlzZTxTZWFyY2hSZXN1bHRbXT4ge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gQXBpQ2FjaGUuZ2VuZXJhdGVLZXkoJ3BiX3NlYXJjaCcsIHsgcXVlcnk6IHBhcmFtcy5xdWVyeSwgdHlwZTogcGFyYW1zLnR5cGUsIGxpbWl0OiBwYXJhbXMubGltaXQgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZS53cmFwKGNhY2hlS2V5LCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSA9IFtdO1xuICAgICAgY29uc3QgcXVlcnlMb3dlciA9IHBhcmFtcy5xdWVyeS50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgbGltaXQgPSBwYXJhbXMubGltaXQgfHwgNTA7XG5cbiAgICAgIC8vIFNlYXJjaCBmZWF0dXJlc1xuICAgICAgaWYgKCFwYXJhbXMudHlwZSB8fCBwYXJhbXMudHlwZSA9PT0gJ2ZlYXR1cmUnKSB7XG4gICAgICAgIGNvbnN0IGZlYXR1cmVzID0gYXdhaXQgdGhpcy5zZWFyY2hGZWF0dXJlcyhxdWVyeUxvd2VyLCBsaW1pdCk7XG4gICAgICAgIHJlc3VsdHMucHVzaChcbiAgICAgICAgICAuLi5mZWF0dXJlcy5tYXAoKGYpID0+ICh7XG4gICAgICAgICAgICB0eXBlOiAnZmVhdHVyZScgYXMgY29uc3QsXG4gICAgICAgICAgICBpZDogZi5pZCxcbiAgICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBmLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgbGlua3M6IGYubGlua3MsXG4gICAgICAgICAgfSkpXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlYXJjaCBwcm9kdWN0c1xuICAgICAgaWYgKCFwYXJhbXMudHlwZSB8fCBwYXJhbXMudHlwZSA9PT0gJ3Byb2R1Y3QnKSB7XG4gICAgICAgIGNvbnN0IHByb2R1Y3RzID0gYXdhaXQgdGhpcy5saXN0UHJvZHVjdHMoeyBsaW1pdDogMTAwIH0pO1xuICAgICAgICBjb25zdCBtYXRjaGluZ1Byb2R1Y3RzID0gcHJvZHVjdHNcbiAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgKHApID0+XG4gICAgICAgICAgICAgIHAubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeUxvd2VyKSB8fFxuICAgICAgICAgICAgICBwLmRlc2NyaXB0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5TG93ZXIpXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zbGljZSgwLCBsaW1pdCk7XG5cbiAgICAgICAgcmVzdWx0cy5wdXNoKFxuICAgICAgICAgIC4uLm1hdGNoaW5nUHJvZHVjdHMubWFwKChwKSA9PiAoe1xuICAgICAgICAgICAgdHlwZTogJ3Byb2R1Y3QnIGFzIGNvbnN0LFxuICAgICAgICAgICAgaWQ6IHAuaWQsXG4gICAgICAgICAgICBuYW1lOiBwLm5hbWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogcC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIGxpbmtzOiBwLmxpbmtzLFxuICAgICAgICAgIH0pKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZWFyY2ggY29tcG9uZW50c1xuICAgICAgaWYgKCFwYXJhbXMudHlwZSB8fCBwYXJhbXMudHlwZSA9PT0gJ2NvbXBvbmVudCcpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50cyA9IGF3YWl0IHRoaXMubGlzdENvbXBvbmVudHMoeyBsaW1pdDogMTAwIH0pO1xuICAgICAgICBjb25zdCBtYXRjaGluZ0NvbXBvbmVudHMgPSBjb21wb25lbnRzXG4gICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgIChjKSA9PlxuICAgICAgICAgICAgICBjLm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnlMb3dlcikgfHxcbiAgICAgICAgICAgICAgYy5kZXNjcmlwdGlvbj8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeUxvd2VyKVxuICAgICAgICAgIClcbiAgICAgICAgICAuc2xpY2UoMCwgbGltaXQpO1xuXG4gICAgICAgIHJlc3VsdHMucHVzaChcbiAgICAgICAgICAuLi5tYXRjaGluZ0NvbXBvbmVudHMubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgdHlwZTogJ2NvbXBvbmVudCcgYXMgY29uc3QsXG4gICAgICAgICAgICBpZDogYy5pZCxcbiAgICAgICAgICAgIG5hbWU6IGMubmFtZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgbGlua3M6IGMubGlua3MsXG4gICAgICAgICAgfSkpXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlYXJjaCBub3Rlc1xuICAgICAgaWYgKCFwYXJhbXMudHlwZSB8fCBwYXJhbXMudHlwZSA9PT0gJ25vdGUnKSB7XG4gICAgICAgIGNvbnN0IG5vdGVzID0gYXdhaXQgdGhpcy5saXN0Tm90ZXMoeyBsaW1pdDogMTAwIH0pO1xuICAgICAgICBjb25zdCBtYXRjaGluZ05vdGVzID0gbm90ZXNcbiAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgKG4pID0+XG4gICAgICAgICAgICAgIG4udGl0bGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnlMb3dlcikgfHxcbiAgICAgICAgICAgICAgbi5jb250ZW50Py50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5TG93ZXIpXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zbGljZSgwLCBsaW1pdCk7XG5cbiAgICAgICAgcmVzdWx0cy5wdXNoKFxuICAgICAgICAgIC4uLm1hdGNoaW5nTm90ZXMubWFwKChuKSA9PiAoe1xuICAgICAgICAgICAgdHlwZTogJ25vdGUnIGFzIGNvbnN0LFxuICAgICAgICAgICAgaWQ6IG4uaWQsXG4gICAgICAgICAgICB0aXRsZTogbi50aXRsZSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IG4uY29udGVudD8uc3Vic3RyaW5nKDAsIDIwMCksXG4gICAgICAgICAgICBsaW5rczogbi5saW5rcyxcbiAgICAgICAgICB9KSlcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdHMuc2xpY2UoMCwgbGltaXQpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gVXRpbGl0eSBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoZSBBUEkgdG9rZW4gYnkgbWFraW5nIGEgdGVzdCByZXF1ZXN0XG4gICAqL1xuICBhc3luYyB2YWxpZGF0ZVRva2VuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmdldEN1cnJlbnRVc2VyKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgYWxsIGNhY2hlZCBkYXRhXG4gICAqL1xuICBjbGVhckNhY2hlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FjaGUuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY2FjaGUgc3RhdGlzdGljc1xuICAgKi9cbiAgZ2V0Q2FjaGVTdGF0cygpOiB7IHNpemU6IG51bWJlcjsgbWF4OiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUuc3RhdHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcmF0ZSBsaW1pdGVyIHN0YXRpc3RpY3NcbiAgICovXG4gIGdldFJhdGVMaW1pdGVyU3RhdHMoKTogeyB0b2tlbnM6IG51bWJlcjsgbWF4VG9rZW5zOiBudW1iZXI7IHdhaXRUaW1lOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIHRoaXMucmF0ZUxpbWl0ZXIuc3RhdHMoKTtcbiAgfVxufVxuIl19
|
|
378
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvYXBpLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sS0FBd0QsTUFBTSxPQUFPLENBQUM7QUFxQjdFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsR0FDbEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkUsTUFBTSxnQkFBZ0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN4RCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFFdEIsTUFBTSxPQUFPLGtCQUFrQjtJQUNyQixNQUFNLENBQWdCO0lBQ3RCLEtBQUssQ0FBVztJQUNoQixXQUFXLENBQWM7SUFDekIsT0FBTyxDQUFTO0lBRXhCLFlBQVksTUFBb0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLGdCQUFnQixDQUFDO1FBRXJELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFO2dCQUNQLGVBQWUsRUFBRSxVQUFVLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQzVDLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLFdBQVcsRUFBRSxHQUFHO2FBQ2pCO1lBQ0QsT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztZQUNwQixHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsZUFBZSxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUk7U0FDNUMsQ0FBQyxDQUFDO1FB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SUFDTCxDQUFDO0lBRUQsK0NBQStDO0lBQy9DLGtCQUFrQjtJQUNsQiwrQ0FBK0M7SUFFL0M7O09BRUc7SUFDSCxLQUFLLENBQUMsYUFBYTtRQUNqQixJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm9kdWN0Qm9hcmQgQVBJIENsaWVudFxuICovXG5cbmltcG9ydCBheGlvcywgeyBBeGlvc0luc3RhbmNlLCBBeGlvc0Vycm9yLCBBeGlvc1JlcXVlc3RDb25maWcgfSBmcm9tICdheGlvcyc7XG5pbXBvcnQge1xuICBGZWF0dXJlLFxuICBQcm9kdWN0LFxuICBDb21wb25lbnQsXG4gIE5vdGUsXG4gIFVzZXIsXG4gIEN1cnJlbnRVc2VyLFxuICBTZWFyY2hSZXN1bHQsXG4gIFBhZ2luYXRlZFJlc3BvbnNlLFxuICBDcmVhdGVGZWF0dXJlUGFyYW1zLFxuICBVcGRhdGVGZWF0dXJlUGFyYW1zLFxuICBMaXN0RmVhdHVyZXNQYXJhbXMsXG4gIExpc3RQcm9kdWN0c1BhcmFtcyxcbiAgQ3JlYXRlTm90ZVBhcmFtcyxcbiAgTGlzdE5vdGVzUGFyYW1zLFxuICBMaXN0VXNlcnNQYXJhbXMsXG4gIFNlYXJjaFBhcmFtcyxcbiAgUGx1Z2luQ29uZmlnLFxuICBQcm9kdWN0SGllcmFyY2h5LFxufSBmcm9tICcuL3R5cGVzLmpzJztcbmltcG9ydCB7XG4gIHBhcnNlQXBpRXJyb3IsXG4gIGlzUmV0cnlhYmxlRXJyb3IsXG4gIGdldFJldHJ5RGVsYXksXG4gIFByb2R1Y3RCb2FyZEVycm9yLFxufSBmcm9tICcuL2Vycm9ycy5qcyc7XG5pbXBvcnQgeyBBcGlDYWNoZSwgZ2V0Q2FjaGUgfSBmcm9tICcuLi91dGlscy9jYWNoZS5qcyc7XG5pbXBvcnQgeyBSYXRlTGltaXRlciwgZ2V0UmF0ZUxpbWl0ZXIgfSBmcm9tICcuLi91dGlscy9yYXRlLWxpbWl0ZXIuanMnO1xuXG5jb25zdCBERUZBVUxUX0JBU0VfVVJMID0gJ2h0dHBzOi8vYXBpLnByb2R1Y3Rib2FyZC5jb20nO1xuY29uc3QgTUFYX1JFVFJJRVMgPSAzO1xuXG5leHBvcnQgY2xhc3MgUHJvZHVjdEJvYXJkQ2xpZW50IHtcbiAgcHJpdmF0ZSBjbGllbnQ6IEF4aW9zSW5zdGFuY2U7XG4gIHByaXZhdGUgY2FjaGU6IEFwaUNhY2hlO1xuICBwcml2YXRlIHJhdGVMaW1pdGVyOiBSYXRlTGltaXRlcjtcbiAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBQbHVnaW5Db25maWcpIHtcbiAgICB0aGlzLmJhc2VVcmwgPSBjb25maWcuYXBpQmFzZVVybCB8fCBERUZBVUxUX0JBU0VfVVJMO1xuXG4gICAgdGhpcy5jbGllbnQgPSBheGlvcy5jcmVhdGUoe1xuICAgICAgYmFzZVVSTDogdGhpcy5iYXNlVXJsLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQXV0aG9yaXphdGlvbic6IGBCZWFyZXIgJHtjb25maWcuYXBpVG9rZW59YCxcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgJ1gtVmVyc2lvbic6ICcxJyxcbiAgICAgIH0sXG4gICAgICB0aW1lb3V0OiAzMDAwMCxcbiAgICB9KTtcblxuICAgIHRoaXMuY2FjaGUgPSBnZXRDYWNoZSh7XG4gICAgICB0dGw6IChjb25maWcuY2FjaGVUdGxTZWNvbmRzIHx8IDMwMCkgKiAxMDAwLFxuICAgIH0pO1xuXG4gICAgdGhpcy5yYXRlTGltaXRlciA9IGdldFJhdGVMaW1pdGVyKHtcbiAgICAgIG1heFRva2VuczogY29uZmlnLnJhdGVMaW1pdFBlck1pbnV0ZSB8fCAxMDAsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNldHVwSW50ZXJjZXB0b3JzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwSW50ZXJjZXB0b3JzKCk6IHZvaWQge1xuICAgIC8vIFJlc3BvbnNlIGludGVyY2VwdG9yIGZvciBlcnJvciBoYW5kbGluZ1xuICAgIHRoaXMuY2xpZW50LmludGVyY2VwdG9ycy5yZXNwb25zZS51c2UoXG4gICAgICAocmVzcG9uc2UpID0+IHJlc3BvbnNlLFxuICAgICAgKGVycm9yOiBBeGlvc0Vycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvci5yZXNwb25zZSkge1xuICAgICAgICAgIGNvbnN0IHsgc3RhdHVzLCBkYXRhLCBoZWFkZXJzIH0gPSBlcnJvci5yZXNwb25zZTtcbiAgICAgICAgICB0aHJvdyBwYXJzZUFwaUVycm9yKFxuICAgICAgICAgICAgc3RhdHVzLFxuICAgICAgICAgICAgZGF0YSBhcyB7IGNvZGU/OiBzdHJpbmc7IG1lc3NhZ2U/OiBzdHJpbmc7IGRldGFpbHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9LFxuICAgICAgICAgICAgaGVhZGVyc1sncmV0cnktYWZ0ZXInXSBhcyBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBQcm9kdWN0Qm9hcmRFcnJvcihcbiAgICAgICAgICBlcnJvci5tZXNzYWdlIHx8ICdOZXR3b3JrIGVycm9yJyxcbiAgICAgICAgICAnTkVUV09SS19FUlJPUicsXG4gICAgICAgICAgMFxuICAgICAgICApO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBhIHJlcXVlc3Qgd2l0aCByZXRyeSBsb2dpYyBhbmQgcmF0ZSBsaW1pdGluZ1xuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyByZXF1ZXN0PFQ+KFxuICAgIGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnLFxuICAgIHJldHJ5Q291bnQgPSAwXG4gICk6IFByb21pc2U8VD4ge1xuICAgIGF3YWl0IHRoaXMucmF0ZUxpbWl0ZXIuYWNxdWlyZSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucmVxdWVzdDxUPihjb25maWcpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChpc1JldHJ5YWJsZUVycm9yKGVycm9yKSAmJiByZXRyeUNvdW50IDwgTUFYX1JFVFJJRVMpIHtcbiAgICAgICAgY29uc3QgZGVsYXkgPSBnZXRSZXRyeURlbGF5KGVycm9yLCByZXRyeUNvdW50KTtcbiAgICAgICAgYXdhaXQgdGhpcy5zbGVlcChkZWxheSk7XG4gICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3Q8VD4oY29uZmlnLCByZXRyeUNvdW50ICsgMSk7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNsZWVwKG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYWdpbmF0ZSB0aHJvdWdoIGFsbCByZXN1bHRzXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHBhZ2luYXRlPFQ+KFxuICAgIGVuZHBvaW50OiBzdHJpbmcsXG4gICAgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9LFxuICAgIG1heEl0ZW1zPzogbnVtYmVyXG4gICk6IFByb21pc2U8VFtdPiB7XG4gICAgY29uc3QgcmVzdWx0czogVFtdID0gW107XG4gICAgbGV0IGN1cnNvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGxpbWl0ID0gTWF0aC5taW4ocGFyYW1zLmxpbWl0IGFzIG51bWJlciB8fCAxMDAsIDEwMCk7XG5cbiAgICBkbyB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdDxQYWdpbmF0ZWRSZXNwb25zZTxUPj4oe1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICB1cmw6IGVuZHBvaW50LFxuICAgICAgICBwYXJhbXM6IHsgLi4ucGFyYW1zLCBsaW1pdCwgcGFnZUN1cnNvcjogY3Vyc29yIH0sXG4gICAgICB9KTtcblxuICAgICAgcmVzdWx0cy5wdXNoKC4uLnJlc3BvbnNlLmRhdGEpO1xuXG4gICAgICBpZiAobWF4SXRlbXMgJiYgcmVzdWx0cy5sZW5ndGggPj0gbWF4SXRlbXMpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdHMuc2xpY2UoMCwgbWF4SXRlbXMpO1xuICAgICAgfVxuXG4gICAgICBjdXJzb3IgPSByZXNwb25zZS5saW5rcz8ubmV4dFxuICAgICAgICA/IG5ldyBVUkwocmVzcG9uc2UubGlua3MubmV4dCkuc2VhcmNoUGFyYW1zLmdldCgncGFnZUN1cnNvcicpIHx8IHVuZGVmaW5lZFxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9IHdoaWxlIChjdXJzb3IpO1xuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBGZWF0dXJlIE1ldGhvZHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBhc3luYyBjcmVhdGVGZWF0dXJlKHBhcmFtczogQ3JlYXRlRmVhdHVyZVBhcmFtcyk6IFByb21pc2U8RmVhdHVyZT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucmVxdWVzdDx7IGRhdGE6IEZlYXR1cmUgfT4oe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICB1cmw6ICcvZmVhdHVyZXMnLFxuICAgICAgZGF0YTogeyBkYXRhOiBwYXJhbXMgfSxcbiAgICB9KTtcblxuICAgIC8vIEludmFsaWRhdGUgZmVhdHVyZSBsaXN0IGNhY2hlc1xuICAgIHRoaXMuY2FjaGUuaW52YWxpZGF0ZVBhdHRlcm4oJ3BiX2ZlYXR1cmVfbGlzdDonKTtcbiAgICB0aGlzLmNhY2hlLmludmFsaWRhdGVQYXR0ZXJuKCdwYl9mZWF0dXJlX3NlYXJjaDonKTtcblxuICAgIHJldHVybiByZXN1bHQuZGF0YTtcbiAgfVxuXG4gIGFzeW5jIGxpc3RGZWF0dXJlcyhwYXJhbXM6IExpc3RGZWF0dXJlc1BhcmFtcyA9IHt9KTogUHJvbWlzZTxGZWF0dXJlW10+IHtcbiAgICBjb25zdCBjYWNoZUtleSA9IEFwaUNhY2hlLmdlbmVyYXRlS2V5KCdwYl9mZWF0dXJlX2xpc3QnLCBwYXJhbXMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pO1xuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGUud3JhcChjYWNoZUtleSwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcXVlcnlQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cbiAgICAgIGlmIChwYXJhbXMucHJvZHVjdElkKSBxdWVyeVBhcmFtc1sncHJvZHVjdC5pZCddID0gcGFyYW1zLnByb2R1Y3RJZDtcbiAgICAgIGlmIChwYXJhbXMuY29tcG9uZW50SWQpIHF1ZXJ5UGFyYW1zWydjb21wb25lbnQuaWQnXSA9IHBhcmFtcy5jb21wb25lbnRJZDtcbiAgICAgIGlmIChwYXJhbXMuc3RhdHVzKSBxdWVyeVBhcmFtcy5zdGF0dXMgPSBwYXJhbXMuc3RhdHVzO1xuICAgICAgaWYgKHBhcmFtcy5vd25lcklkKSBxdWVyeVBhcmFtc1snb3duZXIuaWQnXSA9IHBhcmFtcy5vd25lcklkO1xuXG4gICAgICByZXR1cm4gdGhpcy5wYWdpbmF0ZTxGZWF0dXJlPignL2ZlYXR1cmVzJywgcXVlcnlQYXJhbXMsIHBhcmFtcy5saW1pdCk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBnZXRGZWF0dXJlKGlkOiBzdHJpbmcpOiBQcm9taXNlPEZlYXR1cmU+IHtcbiAgICBjb25zdCBjYWNoZUtleSA9IEFwaUNhY2hlLmdlbmVyYXRlS2V5KCdwYl9mZWF0dXJlX2dldCcsIHsgaWQgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZS53cmFwKGNhY2hlS2V5LCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnJlcXVlc3Q8eyBkYXRhOiBGZWF0dXJlIH0+KHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgdXJsOiBgL2ZlYXR1cmVzLyR7aWR9YCxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlRmVhdHVyZShpZDogc3RyaW5nLCBwYXJhbXM6IFVwZGF0ZUZlYXR1cmVQYXJhbXMpOiBQcm9taXNlPEZlYXR1cmU+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnJlcXVlc3Q8eyBkYXRhOiBGZWF0dXJlIH0+KHtcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIHVybDogYC9mZWF0dXJlcy8ke2lkfWAsXG4gICAgICBkYXRhOiB7IGRhdGE6IHBhcmFtcyB9LFxuICAgIH0pO1xuXG4gICAgLy8gSW52YWxpZGF0ZSBjYWNoZXNcbiAgICB0aGlzLmNhY2hlLmRlbGV0ZShBcGlDYWNoZS5nZW5lcmF0ZUtleSgncGJfZmVhdHVyZV9nZXQnLCB7IGlkIH0pKTtcbiAgICB0aGlzLmNhY2hlLmludmFsaWRhdGVQYXR0ZXJuKCdwYl9mZWF0dXJlX2xpc3Q6Jyk7XG4gICAgdGhpcy5jYWNoZS5pbnZhbGlkYXRlUGF0dGVybigncGJfZmVhdHVyZV9zZWFyY2g6Jyk7XG5cbiAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gIH1cblxuICBhc3luYyBkZWxldGVGZWF0dXJlKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnJlcXVlc3Q8dm9pZD4oe1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIHVybDogYC9mZWF0dXJlcy8ke2lkfWAsXG4gICAgfSk7XG5cbiAgICAvLyBJbnZhbGlkYXRlIGNhY2hlc1xuICAgIHRoaXMuY2FjaGUuZGVsZXRlKEFwaUNhY2hlLmdlbmVyYXRlS2V5KCdwYl9mZWF0dXJlX2dldCcsIHsgaWQgfSkpO1xuICAgIHRoaXMuY2FjaGUuaW52YWxpZGF0ZVBhdHRlcm4oJ3BiX2ZlYXR1cmVfbGlzdDonKTtcbiAgICB0aGlzLmNhY2hlLmludmFsaWRhdGVQYXR0ZXJuKCdwYl9mZWF0dXJlX3NlYXJjaDonKTtcbiAgfVxuXG4gIGFzeW5jIHNlYXJjaEZlYXR1cmVzKHF1ZXJ5OiBzdHJpbmcsIGxpbWl0ID0gNTApOiBQcm9taXNlPEZlYXR1cmVbXT4ge1xuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBjYWNoZUtleSA9IEFwaUNhY2hlLmdlbmVyYXRlS2V5KCdwYl9mZWF0dXJlX3NlYXJjaCcsIHsgcXVlcnksIGxpbWl0IH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGUud3JhcChjYWNoZUtleSwgYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gUHJvZHVjdEJvYXJkIGRvZXNuJ3QgaGF2ZSBhIGRlZGljYXRlZCBzZWFyY2ggZW5kcG9pbnQgZm9yIGZlYXR1cmVzXG4gICAgICAvLyBXZSdsbCBsaXN0IGFsbCBhbmQgZmlsdGVyIGNsaWVudC1zaWRlXG4gICAgICBjb25zdCBmZWF0dXJlcyA9IGF3YWl0IHRoaXMubGlzdEZlYXR1cmVzKHsgbGltaXQ6IDUwMCB9KTtcbiAgICAgIGNvbnN0IHF1ZXJ5TG93ZXIgPSBxdWVyeS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICByZXR1cm4gZmVhdHVyZXNcbiAgICAgICAgLmZpbHRlcigoZikgPT4ge1xuICAgICAgICAgIGNvbnN0IG5hbWVNYXRjaCA9IGYubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeUxvd2VyKTtcbiAgICAgICAgICBjb25zdCBkZXNjTWF0Y2ggPSBmLmRlc2NyaXB0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5TG93ZXIpO1xuICAgICAgICAgIHJldHVybiBuYW1lTWF0Y2ggfHwgZGVzY01hdGNoO1xuICAgICAgICB9KVxuICAgICAgICAuc2xpY2UoMCwgbGltaXQpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUHJvZHVjdCBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgYXN5bmMgbGlzdFByb2R1Y3RzKHBhcmFtczogTGlzdFByb2R1Y3RzUGFyYW1zID0ge30pOiBQcm9taXNlPFByb2R1Y3RbXT4ge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gQXBpQ2FjaGUuZ2VuZXJhdGVLZXkoJ3BiX3Byb2R1Y3RfbGlzdCcsIHBhcmFtcyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZS53cmFwKGNhY2hlS2V5LCBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5wYWdpbmF0ZTxQcm9kdWN0PignL3Byb2R1Y3RzJywge30sIHBhcmFtcy5saW1pdCk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBnZXRQcm9kdWN0KGlkOiBzdHJpbmcpOiBQcm9taXNlPFByb2R1Y3Q+IHtcbiAgICBjb25zdCBjYWNoZUtleSA9IEFwaUNhY2hlLmdlbmVyYXRlS2V5KCdwYl9wcm9kdWN0X2dldCcsIHsgaWQgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZS53cmFwKGNhY2hlS2V5LCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnJlcXVlc3Q8eyBkYXRhOiBQcm9kdWN0IH0+KHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgdXJsOiBgL3Byb2R1Y3RzLyR7aWR9YCxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbGlzdENvbXBvbmVudHMocGFyYW1zOiB7IHByb2R1Y3RJZD86IHN0cmluZzsgbGltaXQ/OiBudW1iZXIgfSA9IHt9KTogUHJvbWlzZTxDb21wb25lbnRbXT4ge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gQXBpQ2FjaGUuZ2VuZXJhdGVLZXkoJ3BiX2NvbXBvbmVudF9saXN0JywgcGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlLndyYXAoY2FjaGVLZXksIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICAgICAgaWYgKHBhcmFtcy5wcm9kdWN0SWQpIHF1ZXJ5UGFyYW1zWydwcm9kdWN0LmlkJ10gPSBwYXJhbXMucHJvZHVjdElkO1xuXG4gICAgICByZXR1cm4gdGhpcy5wYWdpbmF0ZTxDb21wb25lbnQ+KCcvY29tcG9uZW50cycsIHF1ZXJ5UGFyYW1zLCBwYXJhbXMubGltaXQpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0UHJvZHVjdEhpZXJhcmNoeSgpOiBQcm9taXNlPFByb2R1Y3RIaWVyYXJjaHk+IHtcbiAgICBjb25zdCBjYWNoZUtleSA9IEFwaUNhY2hlLmdlbmVyYXRlS2V5KCdwYl9wcm9kdWN0X2hpZXJhcmNoeScsIHt9KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlLndyYXAoY2FjaGVLZXksIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IFtwcm9kdWN0cywgY29tcG9uZW50c10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIHRoaXMubGlzdFByb2R1Y3RzKHsgbGltaXQ6IDUwMCB9KSxcbiAgICAgICAgdGhpcy5saXN0Q29tcG9uZW50cyh7IGxpbWl0OiA1MDAgfSksXG4gICAgICBdKTtcblxuICAgICAgcmV0dXJuIHsgcHJvZHVjdHMsIGNvbXBvbmVudHMgfTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIE5vdGUgTWV0aG9kc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIGFzeW5jIGNyZWF0ZU5vdGUocGFyYW1zOiBDcmVhdGVOb3RlUGFyYW1zKTogUHJvbWlzZTxOb3RlPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5yZXF1ZXN0PHsgZGF0YTogTm90ZSB9Pih7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogJy9ub3RlcycsXG4gICAgICBkYXRhOiB7IGRhdGE6IHBhcmFtcyB9LFxuICAgIH0pO1xuXG4gICAgLy8gSW52YWxpZGF0ZSBub3RlIGxpc3QgY2FjaGVzXG4gICAgdGhpcy5jYWNoZS5pbnZhbGlkYXRlUGF0dGVybigncGJfbm90ZV9saXN0OicpO1xuXG4gICAgcmV0dXJuIHJlc3VsdC5kYXRhO1xuICB9XG5cbiAgYXN5bmMgbGlzdE5vdGVzKHBhcmFtczogTGlzdE5vdGVzUGFyYW1zID0ge30pOiBQcm9taXNlPE5vdGVbXT4ge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gQXBpQ2FjaGUuZ2VuZXJhdGVLZXkoJ3BiX25vdGVfbGlzdCcsIHBhcmFtcyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZS53cmFwKGNhY2hlS2V5LCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBxdWVyeVBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgICAgIGlmIChwYXJhbXMuY3JlYXRlZEZyb20pIHF1ZXJ5UGFyYW1zLmNyZWF0ZWRGcm9tID0gcGFyYW1zLmNyZWF0ZWRGcm9tO1xuICAgICAgaWYgKHBhcmFtcy5jcmVhdGVkVG8pIHF1ZXJ5UGFyYW1zLmNyZWF0ZWRUbyA9IHBhcmFtcy5jcmVhdGVkVG87XG5cbiAgICAgIHJldHVybiB0aGlzLnBhZ2luYXRlPE5vdGU+KCcvbm90ZXMnLCBxdWVyeVBhcmFtcywgcGFyYW1zLmxpbWl0KTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldE5vdGUoaWQ6IHN0cmluZyk6IFByb21pc2U8Tm90ZT4ge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gQXBpQ2FjaGUuZ2VuZXJhdGVLZXkoJ3BiX25vdGVfZ2V0JywgeyBpZCB9KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlLndyYXAoY2FjaGVLZXksIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucmVxdWVzdDx7IGRhdGE6IE5vdGUgfT4oe1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICB1cmw6IGAvbm90ZXMvJHtpZH1gLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBhdHRhY2hOb3RlVG9GZWF0dXJlKG5vdGVJZDogc3RyaW5nLCBmZWF0dXJlSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucmVxdWVzdDx2b2lkPih7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHVybDogYC9ub3Rlcy8ke25vdGVJZH0vY29ubmVjdGlvbnNgLFxuICAgICAgZGF0YToge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmVhdHVyZTogeyBpZDogZmVhdHVyZUlkIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gSW52YWxpZGF0ZSBjYWNoZXNcbiAgICB0aGlzLmNhY2hlLmRlbGV0ZShBcGlDYWNoZS5nZW5lcmF0ZUtleSgncGJfbm90ZV9nZXQnLCB7IGlkOiBub3RlSWQgfSkpO1xuICAgIHRoaXMuY2FjaGUuZGVsZXRlKEFwaUNhY2hlLmdlbmVyYXRlS2V5KCdwYl9mZWF0dXJlX2dldCcsIHsgaWQ6IGZlYXR1cmVJZCB9KSk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBVc2VyIE1ldGhvZHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBhc3luYyBnZXRDdXJyZW50VXNlcigpOiBQcm9taXNlPEN1cnJlbnRVc2VyPiB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBBcGlDYWNoZS5nZW5lcmF0ZUtleSgncGJfdXNlcl9jdXJyZW50Jywge30pO1xuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGUud3JhcChjYWNoZUtleSwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5yZXF1ZXN0PHsgZGF0YTogQ3VycmVudFVzZXIgfT4oe1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICB1cmw6ICcvdXNlcnMvbWUnLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsaXN0VXNlcnMocGFyYW1zOiBMaXN0VXNlcnNQYXJhbXMgPSB7fSk6IFByb21pc2U8VXNlcltdPiB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBBcGlDYWNoZS5nZW5lcmF0ZUtleSgncGJfdXNlcl9saXN0JywgcGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlLndyYXAoY2FjaGVLZXksIGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2luYXRlPFVzZXI+KCcvdXNlcnMnLCB7fSwgcGFyYW1zLmxpbWl0KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNlYXJjaCBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgYXN5bmMgc2VhcmNoKHBhcmFtczogU2VhcmNoUGFyYW1zKTogUHJvbWlzZTxTZWFyY2hSZXN1bHRbXT4ge1xuICAgIGlmICghcGFyYW1zLnF1ZXJ5KSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgY2FjaGVLZXkgPSBBcGlDYWNoZS5nZW5lcmF0ZUtleSgncGJfc2VhcmNoJywgeyBxdWVyeTogcGFyYW1zLnF1ZXJ5LCB0eXBlOiBwYXJhbXMudHlwZSwgbGltaXQ6IHBhcmFtcy5saW1pdCB9KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlLndyYXAoY2FjaGVLZXksIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdID0gW107XG4gICAgICBjb25zdCBxdWVyeUxvd2VyID0gcGFyYW1zLnF1ZXJ5LnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBsaW1pdCA9IHBhcmFtcy5saW1pdCB8fCA1MDtcblxuICAgICAgLy8gU2VhcmNoIGZlYXR1cmVzXG4gICAgICBpZiAoIXBhcmFtcy50eXBlIHx8IHBhcmFtcy50eXBlID09PSAnZmVhdHVyZScpIHtcbiAgICAgICAgY29uc3QgZmVhdHVyZXMgPSBhd2FpdCB0aGlzLnNlYXJjaEZlYXR1cmVzKHF1ZXJ5TG93ZXIsIGxpbWl0KTtcbiAgICAgICAgcmVzdWx0cy5wdXNoKFxuICAgICAgICAgIC4uLmZlYXR1cmVzLm1hcCgoZikgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6ICdmZWF0dXJlJyBhcyBjb25zdCxcbiAgICAgICAgICAgIGlkOiBmLmlkLFxuICAgICAgICAgICAgbmFtZTogZi5uYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGYuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICBsaW5rczogZi5saW5rcyxcbiAgICAgICAgICB9KSlcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VhcmNoIHByb2R1Y3RzXG4gICAgICBpZiAoIXBhcmFtcy50eXBlIHx8IHBhcmFtcy50eXBlID09PSAncHJvZHVjdCcpIHtcbiAgICAgICAgY29uc3QgcHJvZHVjdHMgPSBhd2FpdCB0aGlzLmxpc3RQcm9kdWN0cyh7IGxpbWl0OiAxMDAgfSk7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nUHJvZHVjdHMgPSBwcm9kdWN0c1xuICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAocCkgPT5cbiAgICAgICAgICAgICAgcC5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5TG93ZXIpIHx8XG4gICAgICAgICAgICAgIHAuZGVzY3JpcHRpb24/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnlMb3dlcilcbiAgICAgICAgICApXG4gICAgICAgICAgLnNsaWNlKDAsIGxpbWl0KTtcblxuICAgICAgICByZXN1bHRzLnB1c2goXG4gICAgICAgICAgLi4ubWF0Y2hpbmdQcm9kdWN0cy5tYXAoKHApID0+ICh7XG4gICAgICAgICAgICB0eXBlOiAncHJvZHVjdCcgYXMgY29uc3QsXG4gICAgICAgICAgICBpZDogcC5pZCxcbiAgICAgICAgICAgIG5hbWU6IHAubmFtZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBwLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgbGlua3M6IHAubGlua3MsXG4gICAgICAgICAgfSkpXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlYXJjaCBjb21wb25lbnRzXG4gICAgICBpZiAoIXBhcmFtcy50eXBlIHx8IHBhcmFtcy50eXBlID09PSAnY29tcG9uZW50Jykge1xuICAgICAgICBjb25zdCBjb21wb25lbnRzID0gYXdhaXQgdGhpcy5saXN0Q29tcG9uZW50cyh7IGxpbWl0OiAxMDAgfSk7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nQ29tcG9uZW50cyA9IGNvbXBvbmVudHNcbiAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgKGMpID0+XG4gICAgICAgICAgICAgIGMubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeUxvd2VyKSB8fFxuICAgICAgICAgICAgICBjLmRlc2NyaXB0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5TG93ZXIpXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zbGljZSgwLCBsaW1pdCk7XG5cbiAgICAgICAgcmVzdWx0cy5wdXNoKFxuICAgICAgICAgIC4uLm1hdGNoaW5nQ29tcG9uZW50cy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICB0eXBlOiAnY29tcG9uZW50JyBhcyBjb25zdCxcbiAgICAgICAgICAgIGlkOiBjLmlkLFxuICAgICAgICAgICAgbmFtZTogYy5uYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICBsaW5rczogYy5saW5rcyxcbiAgICAgICAgICB9KSlcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VhcmNoIG5vdGVzXG4gICAgICBpZiAoIXBhcmFtcy50eXBlIHx8IHBhcmFtcy50eXBlID09PSAnbm90ZScpIHtcbiAgICAgICAgY29uc3Qgbm90ZXMgPSBhd2FpdCB0aGlzLmxpc3ROb3Rlcyh7IGxpbWl0OiAxMDAgfSk7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nTm90ZXMgPSBub3Rlc1xuICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAobikgPT5cbiAgICAgICAgICAgICAgbi50aXRsZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeUxvd2VyKSB8fFxuICAgICAgICAgICAgICBuLmNvbnRlbnQ/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnlMb3dlcilcbiAgICAgICAgICApXG4gICAgICAgICAgLnNsaWNlKDAsIGxpbWl0KTtcblxuICAgICAgICByZXN1bHRzLnB1c2goXG4gICAgICAgICAgLi4ubWF0Y2hpbmdOb3Rlcy5tYXAoKG4pID0+ICh7XG4gICAgICAgICAgICB0eXBlOiAnbm90ZScgYXMgY29uc3QsXG4gICAgICAgICAgICBpZDogbi5pZCxcbiAgICAgICAgICAgIHRpdGxlOiBuLnRpdGxlLFxuICAgICAgICAgICAgY29udGVudDogbi5jb250ZW50Py5zdWJzdHJpbmcoMCwgMjAwKSxcbiAgICAgICAgICAgIGxpbmtzOiBuLmxpbmtzLFxuICAgICAgICAgIH0pKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0cy5zbGljZSgwLCBsaW1pdCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBVdGlsaXR5IE1ldGhvZHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogVmFsaWRhdGUgdGhlIEFQSSB0b2tlbiBieSBtYWtpbmcgYSB0ZXN0IHJlcXVlc3RcbiAgICovXG4gIGFzeW5jIHZhbGlkYXRlVG9rZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZ2V0Q3VycmVudFVzZXIoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciBhbGwgY2FjaGVkIGRhdGFcbiAgICovXG4gIGNsZWFyQ2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5jYWNoZS5jbGVhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjYWNoZSBzdGF0aXN0aWNzXG4gICAqL1xuICBnZXRDYWNoZVN0YXRzKCk6IHsgc2l6ZTogbnVtYmVyOyBtYXg6IG51bWJlciB9IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZS5zdGF0cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCByYXRlIGxpbWl0ZXIgc3RhdGlzdGljc1xuICAgKi9cbiAgZ2V0UmF0ZUxpbWl0ZXJTdGF0cygpOiB7IHRva2VuczogbnVtYmVyOyBtYXhUb2tlbnM6IG51bWJlcjsgd2FpdFRpbWU6IG51bWJlciB9IHtcbiAgICByZXR1cm4gdGhpcy5yYXRlTGltaXRlci5zdGF0cygpO1xuICB9XG59XG4iXX0=
|
package/dist/client/types.d.ts
CHANGED
|
@@ -240,7 +240,7 @@ export interface ToolDefinition {
|
|
|
240
240
|
properties: Record<string, ParameterSchema>;
|
|
241
241
|
required?: string[];
|
|
242
242
|
};
|
|
243
|
-
|
|
243
|
+
execute: (params: Record<string, unknown>) => Promise<unknown>;
|
|
244
244
|
}
|
|
245
245
|
export interface ParameterSchema {
|
|
246
246
|
type: 'string' | 'number' | 'boolean' | 'array' | 'object';
|
package/dist/client/types.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* ProductBoard API Type Definitions
|
|
3
3
|
*/
|
|
4
4
|
export {};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm9kdWN0Qm9hcmQgQVBJIFR5cGUgRGVmaW5pdGlvbnNcbiAqL1xuXG4vLyBCYXNlIHR5cGVzXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRlZFJlc3BvbnNlPFQ+IHtcbiAgZGF0YTogVFtdO1xuICBsaW5rcz86IHtcbiAgICBuZXh0Pzogc3RyaW5nO1xuICAgIHByZXY/OiBzdHJpbmc7XG4gIH07XG4gIHRvdGFsUmVzdWx0cz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGlFcnJvciB7XG4gIGNvZGU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBkZXRhaWxzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbi8vIEZlYXR1cmUgdHlwZXNcbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHN0YXR1cz86IEZlYXR1cmVTdGF0dXM7XG4gIHBhcmVudD86IHtcbiAgICBmZWF0dXJlPzogeyBpZDogc3RyaW5nIH07XG4gICAgcHJvZHVjdD86IHsgaWQ6IHN0cmluZyB9O1xuICAgIGNvbXBvbmVudD86IHsgaWQ6IHN0cmluZyB9O1xuICB9O1xuICBvd25lcj86IHsgZW1haWw6IHN0cmluZyB9O1xuICB0aW1lZnJhbWU/OiB7IHN0YXJ0RGF0ZT86IHN0cmluZzsgZW5kRGF0ZT86IHN0cmluZyB9O1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGxpbmtzPzoge1xuICAgIHNlbGY6IHN0cmluZztcbiAgICBodG1sOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIEZlYXR1cmVTdGF0dXMgPVxuICB8ICduZXcnXG4gIHwgJ2luLXByb2dyZXNzJ1xuICB8ICdzaGlwcGVkJ1xuICB8ICdhcmNoaXZlZCdcbiAgfCAncG9zdHBvbmVkJ1xuICB8ICdjYW5kaWRhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUZlYXR1cmVQYXJhbXMge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBzdGF0dXM/OiBGZWF0dXJlU3RhdHVzO1xuICBwYXJlbnQ/OiB7XG4gICAgcHJvZHVjdD86IHsgaWQ6IHN0cmluZyB9O1xuICAgIGNvbXBvbmVudD86IHsgaWQ6IHN0cmluZyB9O1xuICAgIGZlYXR1cmU/OiB7IGlkOiBzdHJpbmcgfTtcbiAgfTtcbiAgb3duZXI/OiB7IGVtYWlsOiBzdHJpbmcgfTtcbiAgdGltZWZyYW1lPzogeyBzdGFydERhdGU/OiBzdHJpbmc7IGVuZERhdGU/OiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVGZWF0dXJlUGFyYW1zIHtcbiAgbmFtZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHN0YXR1cz86IEZlYXR1cmVTdGF0dXM7XG4gIHBhcmVudD86IHtcbiAgICBwcm9kdWN0PzogeyBpZDogc3RyaW5nIH07XG4gICAgY29tcG9uZW50PzogeyBpZDogc3RyaW5nIH07XG4gICAgZmVhdHVyZT86IHsgaWQ6IHN0cmluZyB9O1xuICB9O1xuICBvd25lcj86IHsgZW1haWw6IHN0cmluZyB9O1xuICB0aW1lZnJhbWU/OiB7IHN0YXJ0RGF0ZT86IHN0cmluZzsgZW5kRGF0ZT86IHN0cmluZyB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RGZWF0dXJlc1BhcmFtcyB7XG4gIHByb2R1Y3RJZD86IHN0cmluZztcbiAgY29tcG9uZW50SWQ/OiBzdHJpbmc7XG4gIHN0YXR1cz86IEZlYXR1cmVTdGF0dXM7XG4gIG93bmVySWQ/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBjdXJzb3I/OiBzdHJpbmc7XG59XG5cbi8vIFByb2R1Y3QgdHlwZXNcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdCB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbiAgbGlua3M/OiB7XG4gICAgc2VsZjogc3RyaW5nO1xuICAgIGh0bWw6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnQge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBwYXJlbnQ/OiB7XG4gICAgcHJvZHVjdD86IHsgaWQ6IHN0cmluZyB9O1xuICAgIGNvbXBvbmVudD86IHsgaWQ6IHN0cmluZyB9O1xuICB9O1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGxpbmtzPzoge1xuICAgIHNlbGY6IHN0cmluZztcbiAgICBodG1sOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEhpZXJhcmNoeSB7XG4gIHByb2R1Y3RzOiBQcm9kdWN0W107XG4gIGNvbXBvbmVudHM6IENvbXBvbmVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQcm9kdWN0c1BhcmFtcyB7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBjdXJzb3I/OiBzdHJpbmc7XG59XG5cbi8vIE5vdGUgdHlwZXNcbmV4cG9ydCBpbnRlcmZhY2UgTm90ZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIGRpc3BsYXlVcmw/OiBzdHJpbmc7XG4gIHNvdXJjZT86IHtcbiAgICBvcmlnaW4/OiBzdHJpbmc7XG4gICAgcmVjb3JkX2lkPzogc3RyaW5nO1xuICB9O1xuICB1c2VyPzoge1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgfTtcbiAgY29tcGFueT86IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICB9O1xuICB0YWdzPzogc3RyaW5nW107XG4gIGZlYXR1cmVzPzogQXJyYXk8eyBpZDogc3RyaW5nIH0+O1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGxpbmtzPzoge1xuICAgIHNlbGY6IHN0cmluZztcbiAgICBodG1sOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTm90ZVBhcmFtcyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIGRpc3BsYXlVcmw/OiBzdHJpbmc7XG4gIHNvdXJjZT86IHtcbiAgICBvcmlnaW4/OiBzdHJpbmc7XG4gICAgcmVjb3JkX2lkPzogc3RyaW5nO1xuICB9O1xuICB1c2VyPzoge1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgfTtcbiAgY29tcGFueT86IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICB9O1xuICB0YWdzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE5vdGVzUGFyYW1zIHtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIGN1cnNvcj86IHN0cmluZztcbiAgY3JlYXRlZEZyb20/OiBzdHJpbmc7XG4gIGNyZWF0ZWRUbz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdHRhY2hOb3RlUGFyYW1zIHtcbiAgbm90ZUlkOiBzdHJpbmc7XG4gIGZlYXR1cmVJZDogc3RyaW5nO1xufVxuXG4vLyBVc2VyIHR5cGVzXG5leHBvcnQgaW50ZXJmYWNlIFVzZXIge1xuICBpZDogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nO1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVudFVzZXIgZXh0ZW5kcyBVc2VyIHtcbiAgd29ya3NwYWNlSWQ/OiBzdHJpbmc7XG4gIHdvcmtzcGFjZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFVzZXJzUGFyYW1zIHtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIGN1cnNvcj86IHN0cmluZztcbn1cblxuLy8gU2VhcmNoIHR5cGVzXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFBhcmFtcyB7XG4gIHF1ZXJ5OiBzdHJpbmc7XG4gIHR5cGU/OiAnZmVhdHVyZScgfCAnbm90ZScgfCAncHJvZHVjdCcgfCAnY29tcG9uZW50JztcbiAgbGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0IHtcbiAgdHlwZTogJ2ZlYXR1cmUnIHwgJ25vdGUnIHwgJ3Byb2R1Y3QnIHwgJ2NvbXBvbmVudCc7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjb250ZW50Pzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgc2NvcmU/OiBudW1iZXI7XG4gIGxpbmtzPzoge1xuICAgIHNlbGY6IHN0cmluZztcbiAgICBodG1sOiBzdHJpbmc7XG4gIH07XG59XG5cbi8vIFBsdWdpbiBjb25maWd1cmF0aW9uXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbkNvbmZpZyB7XG4gIGFwaVRva2VuOiBzdHJpbmc7XG4gIGFwaUJhc2VVcmw/
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm9kdWN0Qm9hcmQgQVBJIFR5cGUgRGVmaW5pdGlvbnNcbiAqL1xuXG4vLyBCYXNlIHR5cGVzXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRlZFJlc3BvbnNlPFQ+IHtcbiAgZGF0YTogVFtdO1xuICBsaW5rcz86IHtcbiAgICBuZXh0Pzogc3RyaW5nO1xuICAgIHByZXY/OiBzdHJpbmc7XG4gIH07XG4gIHRvdGFsUmVzdWx0cz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGlFcnJvciB7XG4gIGNvZGU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBkZXRhaWxzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbi8vIEZlYXR1cmUgdHlwZXNcbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHN0YXR1cz86IEZlYXR1cmVTdGF0dXM7XG4gIHBhcmVudD86IHtcbiAgICBmZWF0dXJlPzogeyBpZDogc3RyaW5nIH07XG4gICAgcHJvZHVjdD86IHsgaWQ6IHN0cmluZyB9O1xuICAgIGNvbXBvbmVudD86IHsgaWQ6IHN0cmluZyB9O1xuICB9O1xuICBvd25lcj86IHsgZW1haWw6IHN0cmluZyB9O1xuICB0aW1lZnJhbWU/OiB7IHN0YXJ0RGF0ZT86IHN0cmluZzsgZW5kRGF0ZT86IHN0cmluZyB9O1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGxpbmtzPzoge1xuICAgIHNlbGY6IHN0cmluZztcbiAgICBodG1sOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIEZlYXR1cmVTdGF0dXMgPVxuICB8ICduZXcnXG4gIHwgJ2luLXByb2dyZXNzJ1xuICB8ICdzaGlwcGVkJ1xuICB8ICdhcmNoaXZlZCdcbiAgfCAncG9zdHBvbmVkJ1xuICB8ICdjYW5kaWRhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUZlYXR1cmVQYXJhbXMge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBzdGF0dXM/OiBGZWF0dXJlU3RhdHVzO1xuICBwYXJlbnQ/OiB7XG4gICAgcHJvZHVjdD86IHsgaWQ6IHN0cmluZyB9O1xuICAgIGNvbXBvbmVudD86IHsgaWQ6IHN0cmluZyB9O1xuICAgIGZlYXR1cmU/OiB7IGlkOiBzdHJpbmcgfTtcbiAgfTtcbiAgb3duZXI/OiB7IGVtYWlsOiBzdHJpbmcgfTtcbiAgdGltZWZyYW1lPzogeyBzdGFydERhdGU/OiBzdHJpbmc7IGVuZERhdGU/OiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVGZWF0dXJlUGFyYW1zIHtcbiAgbmFtZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHN0YXR1cz86IEZlYXR1cmVTdGF0dXM7XG4gIHBhcmVudD86IHtcbiAgICBwcm9kdWN0PzogeyBpZDogc3RyaW5nIH07XG4gICAgY29tcG9uZW50PzogeyBpZDogc3RyaW5nIH07XG4gICAgZmVhdHVyZT86IHsgaWQ6IHN0cmluZyB9O1xuICB9O1xuICBvd25lcj86IHsgZW1haWw6IHN0cmluZyB9O1xuICB0aW1lZnJhbWU/OiB7IHN0YXJ0RGF0ZT86IHN0cmluZzsgZW5kRGF0ZT86IHN0cmluZyB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RGZWF0dXJlc1BhcmFtcyB7XG4gIHByb2R1Y3RJZD86IHN0cmluZztcbiAgY29tcG9uZW50SWQ/OiBzdHJpbmc7XG4gIHN0YXR1cz86IEZlYXR1cmVTdGF0dXM7XG4gIG93bmVySWQ/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBjdXJzb3I/OiBzdHJpbmc7XG59XG5cbi8vIFByb2R1Y3QgdHlwZXNcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdCB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbiAgbGlua3M/OiB7XG4gICAgc2VsZjogc3RyaW5nO1xuICAgIGh0bWw6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnQge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBwYXJlbnQ/OiB7XG4gICAgcHJvZHVjdD86IHsgaWQ6IHN0cmluZyB9O1xuICAgIGNvbXBvbmVudD86IHsgaWQ6IHN0cmluZyB9O1xuICB9O1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGxpbmtzPzoge1xuICAgIHNlbGY6IHN0cmluZztcbiAgICBodG1sOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEhpZXJhcmNoeSB7XG4gIHByb2R1Y3RzOiBQcm9kdWN0W107XG4gIGNvbXBvbmVudHM6IENvbXBvbmVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQcm9kdWN0c1BhcmFtcyB7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBjdXJzb3I/OiBzdHJpbmc7XG59XG5cbi8vIE5vdGUgdHlwZXNcbmV4cG9ydCBpbnRlcmZhY2UgTm90ZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIGRpc3BsYXlVcmw/OiBzdHJpbmc7XG4gIHNvdXJjZT86IHtcbiAgICBvcmlnaW4/OiBzdHJpbmc7XG4gICAgcmVjb3JkX2lkPzogc3RyaW5nO1xuICB9O1xuICB1c2VyPzoge1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgfTtcbiAgY29tcGFueT86IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICB9O1xuICB0YWdzPzogc3RyaW5nW107XG4gIGZlYXR1cmVzPzogQXJyYXk8eyBpZDogc3RyaW5nIH0+O1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGxpbmtzPzoge1xuICAgIHNlbGY6IHN0cmluZztcbiAgICBodG1sOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTm90ZVBhcmFtcyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIGRpc3BsYXlVcmw/OiBzdHJpbmc7XG4gIHNvdXJjZT86IHtcbiAgICBvcmlnaW4/OiBzdHJpbmc7XG4gICAgcmVjb3JkX2lkPzogc3RyaW5nO1xuICB9O1xuICB1c2VyPzoge1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgfTtcbiAgY29tcGFueT86IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICB9O1xuICB0YWdzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE5vdGVzUGFyYW1zIHtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIGN1cnNvcj86IHN0cmluZztcbiAgY3JlYXRlZEZyb20/OiBzdHJpbmc7XG4gIGNyZWF0ZWRUbz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdHRhY2hOb3RlUGFyYW1zIHtcbiAgbm90ZUlkOiBzdHJpbmc7XG4gIGZlYXR1cmVJZDogc3RyaW5nO1xufVxuXG4vLyBVc2VyIHR5cGVzXG5leHBvcnQgaW50ZXJmYWNlIFVzZXIge1xuICBpZDogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nO1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVudFVzZXIgZXh0ZW5kcyBVc2VyIHtcbiAgd29ya3NwYWNlSWQ/OiBzdHJpbmc7XG4gIHdvcmtzcGFjZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFVzZXJzUGFyYW1zIHtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIGN1cnNvcj86IHN0cmluZztcbn1cblxuLy8gU2VhcmNoIHR5cGVzXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFBhcmFtcyB7XG4gIHF1ZXJ5OiBzdHJpbmc7XG4gIHR5cGU/OiAnZmVhdHVyZScgfCAnbm90ZScgfCAncHJvZHVjdCcgfCAnY29tcG9uZW50JztcbiAgbGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0IHtcbiAgdHlwZTogJ2ZlYXR1cmUnIHwgJ25vdGUnIHwgJ3Byb2R1Y3QnIHwgJ2NvbXBvbmVudCc7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjb250ZW50Pzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgc2NvcmU/OiBudW1iZXI7XG4gIGxpbmtzPzoge1xuICAgIHNlbGY6IHN0cmluZztcbiAgICBodG1sOiBzdHJpbmc7XG4gIH07XG59XG5cbi8vIFBsdWdpbiBjb25maWd1cmF0aW9uXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbkNvbmZpZyB7XG4gIGFwaVRva2VuOiBzdHJpbmc7XG4gIGFwaUJhc2VVcmw/OiBzdHJpbmc7XG4gIGNhY2hlVHRsU2Vjb25kcz86IG51bWJlcjtcbiAgcmF0ZUxpbWl0UGVyTWludXRlPzogbnVtYmVyO1xufVxuXG4vLyBPcGVuQ2xhdyBQbHVnaW4gQVBJIHR5cGVzXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xEZWZpbml0aW9uIHtcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBwYXJhbWV0ZXJzOiB7XG4gICAgdHlwZTogJ29iamVjdCc7XG4gICAgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgUGFyYW1ldGVyU2NoZW1hPjtcbiAgICByZXF1aXJlZD86IHN0cmluZ1tdO1xuICB9O1xuICBleGVjdXRlOiAocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gUHJvbWlzZTx1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJhbWV0ZXJTY2hlbWEge1xuICB0eXBlOiAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2Jvb2xlYW4nIHwgJ2FycmF5JyB8ICdvYmplY3QnO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZW51bT86IHN0cmluZ1tdO1xuICBkZWZhdWx0PzogdW5rbm93bjtcbiAgaXRlbXM/OiBQYXJhbWV0ZXJTY2hlbWE7XG4gIHByb3BlcnRpZXM/OiBSZWNvcmQ8c3RyaW5nLCBQYXJhbWV0ZXJTY2hlbWE+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbkFQSSB7XG4gIGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47ICAvLyBGdWxsIE9wZW5DbGF3IGNvbmZpZ1xuICBwbHVnaW5Db25maWc/OiBQbHVnaW5Db25maWc7ICAgICAgLy8gUGx1Z2luLXNwZWNpZmljIGNvbmZpZyAocHJlZmVycmVkKVxuICByZWdpc3RlclRvb2w6ICh0b29sOiBUb29sRGVmaW5pdGlvbikgPT4gdm9pZDtcbiAgbG9nPzoge1xuICAgIGluZm86IChtZXNzYWdlOiBzdHJpbmcsIGRhdGE/OiB1bmtub3duKSA9PiB2b2lkO1xuICAgIHdhcm46IChtZXNzYWdlOiBzdHJpbmcsIGRhdGE/OiB1bmtub3duKSA9PiB2b2lkO1xuICAgIGVycm9yOiAobWVzc2FnZTogc3RyaW5nLCBkYXRhPzogdW5rbm93bikgPT4gdm9pZDtcbiAgICBkZWJ1ZzogKG1lc3NhZ2U6IHN0cmluZywgZGF0YT86IHVua25vd24pID0+IHZvaWQ7XG4gIH07XG59XG4iXX0=
|
package/dist/tools/features.js
CHANGED
|
@@ -51,7 +51,7 @@ export function createFeatureTools(client) {
|
|
|
51
51
|
},
|
|
52
52
|
required: ['name'],
|
|
53
53
|
},
|
|
54
|
-
|
|
54
|
+
execute: async (params) => {
|
|
55
55
|
const createParams = {
|
|
56
56
|
name: params.name,
|
|
57
57
|
description: params.description,
|
|
@@ -121,7 +121,7 @@ export function createFeatureTools(client) {
|
|
|
121
121
|
},
|
|
122
122
|
},
|
|
123
123
|
},
|
|
124
|
-
|
|
124
|
+
execute: async (params) => {
|
|
125
125
|
const listParams = {
|
|
126
126
|
productId: params.productId,
|
|
127
127
|
componentId: params.componentId,
|
|
@@ -157,7 +157,7 @@ export function createFeatureTools(client) {
|
|
|
157
157
|
},
|
|
158
158
|
required: ['id'],
|
|
159
159
|
},
|
|
160
|
-
|
|
160
|
+
execute: async (params) => {
|
|
161
161
|
const feature = await client.getFeature(params.id);
|
|
162
162
|
return {
|
|
163
163
|
id: feature.id,
|
|
@@ -220,7 +220,7 @@ export function createFeatureTools(client) {
|
|
|
220
220
|
},
|
|
221
221
|
required: ['id'],
|
|
222
222
|
},
|
|
223
|
-
|
|
223
|
+
execute: async (params) => {
|
|
224
224
|
const updateParams = {};
|
|
225
225
|
if (params.name)
|
|
226
226
|
updateParams.name = params.name;
|
|
@@ -270,7 +270,7 @@ export function createFeatureTools(client) {
|
|
|
270
270
|
},
|
|
271
271
|
required: ['id'],
|
|
272
272
|
},
|
|
273
|
-
|
|
273
|
+
execute: async (params) => {
|
|
274
274
|
await client.deleteFeature(params.id);
|
|
275
275
|
return {
|
|
276
276
|
success: true,
|
|
@@ -297,7 +297,7 @@ export function createFeatureTools(client) {
|
|
|
297
297
|
},
|
|
298
298
|
required: ['query'],
|
|
299
299
|
},
|
|
300
|
-
|
|
300
|
+
execute: async (params) => {
|
|
301
301
|
const features = await client.searchFeatures(params.query, params.limit || 20);
|
|
302
302
|
return {
|
|
303
303
|
count: features.length,
|
|
@@ -313,4 +313,4 @@ export function createFeatureTools(client) {
|
|
|
313
313
|
},
|
|
314
314
|
];
|
|
315
315
|
}
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvZmVhdHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFVSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQTBCO0lBQzNELE9BQU87UUFDTCxvQkFBb0I7UUFDcEI7WUFDRSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLFdBQVcsRUFDVCxpSUFBaUk7WUFDbkksVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLFVBQVUsRUFBRTtvQkFDVixJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLGdDQUFnQztxQkFDOUM7b0JBQ0QsV0FBVyxFQUFFO3dCQUNYLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSxxREFBcUQ7cUJBQ25FO29CQUNELE1BQU0sRUFBRTt3QkFDTixJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsZ0JBQWdCO3dCQUM3QixJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztxQkFDOUU7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSxvREFBb0Q7cUJBQ2xFO29CQUNELFdBQVcsRUFBRTt3QkFDWCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsc0RBQXNEO3FCQUNwRTtvQkFDRCxlQUFlLEVBQUU7d0JBQ2YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLDZDQUE2QztxQkFDM0Q7b0JBQ0QsVUFBVSxFQUFFO3dCQUNWLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSw0QkFBNEI7cUJBQzFDO29CQUNELFNBQVMsRUFBRTt3QkFD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LENBQUM7Z0JBQ0YsT0FBTztvQkFDTCxLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU07b0JBQ3RCLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUM3QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7d0JBQ1IsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO3dCQUNaLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTt3QkFDaEIsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQzt3QkFDMUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSTtxQkFDbkIsQ0FBQyxDQUFDO2lCQUNKLENBQUM7WUFDSixDQUFDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvZHVjdEJvYXJkIEZlYXR1cmUgTWFuYWdlbWVudCBUb29sc1xuICovXG5cbmltcG9ydCB7IFByb2R1Y3RCb2FyZENsaWVudCB9IGZyb20gJy4uL2NsaWVudC9hcGktY2xpZW50LmpzJztcbmltcG9ydCB7XG4gIFRvb2xEZWZpbml0aW9uLFxuICBDcmVhdGVGZWF0dXJlUGFyYW1zLFxuICBVcGRhdGVGZWF0dXJlUGFyYW1zLFxuICBMaXN0RmVhdHVyZXNQYXJhbXMsXG4gIEZlYXR1cmVTdGF0dXMsXG59IGZyb20gJy4uL2NsaWVudC90eXBlcy5qcyc7XG5pbXBvcnQgeyBjbGVhblRleHQgfSBmcm9tICcuLi91dGlscy9zYW5pdGl6ZS5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGZWF0dXJlVG9vbHMoY2xpZW50OiBQcm9kdWN0Qm9hcmRDbGllbnQpOiBUb29sRGVmaW5pdGlvbltdIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBwYl9mZWF0dXJlX2NyZWF0ZVxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9mZWF0dXJlX2NyZWF0ZScsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0NyZWF0ZSBhIG5ldyBmZWF0dXJlIGluIFByb2R1Y3RCb2FyZC4gRmVhdHVyZXMgcmVwcmVzZW50IHByb2R1Y3QgZnVuY3Rpb25hbGl0eSwgdXNlciBzdG9yaWVzLCBvciBpdGVtcyBpbiB5b3VyIHByb2R1Y3QgYmFja2xvZy4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBmZWF0dXJlIChyZXF1aXJlZCknLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdEZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiB0aGUgZmVhdHVyZSAoc3VwcG9ydHMgSFRNTCknLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3RhdHVzOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmVhdHVyZSBzdGF0dXMnLFxuICAgICAgICAgICAgZW51bTogWyduZXcnLCAnaW4tcHJvZ3Jlc3MnLCAnc2hpcHBlZCcsICdhcmNoaXZlZCcsICdwb3N0cG9uZWQnLCAnY2FuZGlkYXRlJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwcm9kdWN0SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJRCBvZiB0aGUgcGFyZW50IHByb2R1Y3QgdG8gYXNzaWduIHRoaXMgZmVhdHVyZSB0bycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21wb25lbnRJZDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lEIG9mIHRoZSBwYXJlbnQgY29tcG9uZW50IHRvIGFzc2lnbiB0aGlzIGZlYXR1cmUgdG8nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGFyZW50RmVhdHVyZUlkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSUQgb2YgdGhlIHBhcmVudCBmZWF0dXJlIChmb3Igc3ViLWZlYXR1cmVzKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvd25lckVtYWlsOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRW1haWwgb2YgdGhlIGZlYXR1cmUgb3duZXInLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3RhcnREYXRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnUGxhbm5lZCBzdGFydCBkYXRlIChJU08gODYwMSBmb3JtYXQpJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVuZERhdGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdQbGFubmVkIGVuZCBkYXRlIChJU08gODYwMSBmb3JtYXQpJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICByZXF1aXJlZDogWyduYW1lJ10sXG4gICAgICB9LFxuICAgICAgaGFuZGxlcjogYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgICBjb25zdCBjcmVhdGVQYXJhbXM6IENyZWF0ZUZlYXR1cmVQYXJhbXMgPSB7XG4gICAgICAgICAgbmFtZTogcGFyYW1zLm5hbWUgYXMgc3RyaW5nLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBwYXJhbXMuZGVzY3JpcHRpb24gYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIHN0YXR1czogcGFyYW1zLnN0YXR1cyBhcyBGZWF0dXJlU3RhdHVzIHwgdW5kZWZpbmVkLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIEJ1aWxkIHBhcmVudCByZWZlcmVuY2VcbiAgICAgICAgaWYgKHBhcmFtcy5wcm9kdWN0SWQgfHwgcGFyYW1zLmNvbXBvbmVudElkIHx8IHBhcmFtcy5wYXJlbnRGZWF0dXJlSWQpIHtcbiAgICAgICAgICBjcmVhdGVQYXJhbXMucGFyZW50ID0ge307XG4gICAgICAgICAgaWYgKHBhcmFtcy5wcm9kdWN0SWQpIGNyZWF0ZVBhcmFtcy5wYXJlbnQucHJvZHVjdCA9IHsgaWQ6IHBhcmFtcy5wcm9kdWN0SWQgYXMgc3RyaW5nIH07XG4gICAgICAgICAgaWYgKHBhcmFtcy5jb21wb25lbnRJZCkgY3JlYXRlUGFyYW1zLnBhcmVudC5jb21wb25lbnQgPSB7IGlkOiBwYXJhbXMuY29tcG9uZW50SWQgYXMgc3RyaW5nIH07XG4gICAgICAgICAgaWYgKHBhcmFtcy5wYXJlbnRGZWF0dXJlSWQpIGNyZWF0ZVBhcmFtcy5wYXJlbnQuZmVhdHVyZSA9IHsgaWQ6IHBhcmFtcy5wYXJlbnRGZWF0dXJlSWQgYXMgc3RyaW5nIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgb3duZXJcbiAgICAgICAgaWYgKHBhcmFtcy5vd25lckVtYWlsKSB7XG4gICAgICAgICAgY3JlYXRlUGFyYW1zLm93bmVyID0geyBlbWFpbDogcGFyYW1zLm93bmVyRW1haWwgYXMgc3RyaW5nIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdGltZWZyYW1lXG4gICAgICAgIGlmIChwYXJhbXMuc3RhcnREYXRlIHx8IHBhcmFtcy5lbmREYXRlKSB7XG4gICAgICAgICAgY3JlYXRlUGFyYW1zLnRpbWVmcmFtZSA9IHtcbiAgICAgICAgICAgIHN0YXJ0RGF0ZTogcGFyYW1zLnN0YXJ0RGF0ZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICBlbmREYXRlOiBwYXJhbXMuZW5kRGF0ZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZlYXR1cmUgPSBhd2FpdCBjbGllbnQuY3JlYXRlRmVhdHVyZShjcmVhdGVQYXJhbXMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgZmVhdHVyZToge1xuICAgICAgICAgICAgaWQ6IGZlYXR1cmUuaWQsXG4gICAgICAgICAgICBuYW1lOiBmZWF0dXJlLm5hbWUsXG4gICAgICAgICAgICBzdGF0dXM6IGZlYXR1cmUuc3RhdHVzLFxuICAgICAgICAgICAgdXJsOiBmZWF0dXJlLmxpbmtzPy5odG1sLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9mZWF0dXJlX2xpc3RcbiAgICB7XG4gICAgICBuYW1lOiAncGJfZmVhdHVyZV9saXN0JyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnTGlzdCBmZWF0dXJlcyBpbiBQcm9kdWN0Qm9hcmQgd2l0aCBvcHRpb25hbCBmaWx0ZXJzLiBSZXR1cm5zIGZlYXR1cmVzIGZyb20geW91ciBwcm9kdWN0IGJhY2tsb2cuJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBwcm9kdWN0SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgcHJvZHVjdCBJRCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21wb25lbnRJZDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0ZpbHRlciBieSBjb21wb25lbnQgSUQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3RhdHVzOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmlsdGVyIGJ5IHN0YXR1cycsXG4gICAgICAgICAgICBlbnVtOiBbJ25ldycsICdpbi1wcm9ncmVzcycsICdzaGlwcGVkJywgJ2FyY2hpdmVkJywgJ3Bvc3Rwb25lZCcsICdjYW5kaWRhdGUnXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG93bmVySWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgb3duZXIgSUQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbGltaXQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdNYXhpbXVtIG51bWJlciBvZiBmZWF0dXJlcyB0byByZXR1cm4gKGRlZmF1bHQ6IDUwLCBtYXg6IDUwMCknLFxuICAgICAgICAgICAgZGVmYXVsdDogNTAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBoYW5kbGVyOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3RQYXJhbXM6IExpc3RGZWF0dXJlc1BhcmFtcyA9IHtcbiAgICAgICAgICBwcm9kdWN0SWQ6IHBhcmFtcy5wcm9kdWN0SWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIGNvbXBvbmVudElkOiBwYXJhbXMuY29tcG9uZW50SWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIHN0YXR1czogcGFyYW1zLnN0YXR1cyBhcyBGZWF0dXJlU3RhdHVzIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIG93bmVySWQ6IHBhcmFtcy5vd25lcklkIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICBsaW1pdDogTWF0aC5taW4ocGFyYW1zLmxpbWl0IGFzIG51bWJlciB8fCA1MCwgNTAwKSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBmZWF0dXJlcyA9IGF3YWl0IGNsaWVudC5saXN0RmVhdHVyZXMobGlzdFBhcmFtcyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY291bnQ6IGZlYXR1cmVzLmxlbmd0aCxcbiAgICAgICAgICBmZWF0dXJlczogZmVhdHVyZXMubWFwKChmKSA9PiAoe1xuICAgICAgICAgICAgaWQ6IGYuaWQsXG4gICAgICAgICAgICBuYW1lOiBmLm5hbWUsXG4gICAgICAgICAgICBzdGF0dXM6IGYuc3RhdHVzLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGNsZWFuVGV4dChmLmRlc2NyaXB0aW9uLCAyMDApLFxuICAgICAgICAgICAgb3duZXI6IGYub3duZXI/LmVtYWlsLFxuICAgICAgICAgICAgdXJsOiBmLmxpbmtzPy5odG1sLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIC8vIHBiX2ZlYXR1cmVfZ2V0XG4gICAge1xuICAgICAgbmFtZTogJ3BiX2ZlYXR1cmVfZ2V0JyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnR2V0IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgZmVhdHVyZSBieSBJRC4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmVhdHVyZSBJRCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsnaWQnXSxcbiAgICAgIH0sXG4gICAgICBoYW5kbGVyOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGZlYXR1cmUgPSBhd2FpdCBjbGllbnQuZ2V0RmVhdHVyZShwYXJhbXMuaWQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpZDogZmVhdHVyZS5pZCxcbiAgICAgICAgICBuYW1lOiBmZWF0dXJlLm5hbWUsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGZlYXR1cmUuZGVzY3JpcHRpb24sXG4gICAgICAgICAgc3RhdHVzOiBmZWF0dXJlLnN0YXR1cyxcbiAgICAgICAgICBvd25lcjogZmVhdHVyZS5vd25lcj8uZW1haWwsXG4gICAgICAgICAgcGFyZW50OiBmZWF0dXJlLnBhcmVudCxcbiAgICAgICAgICB0aW1lZnJhbWU6IGZlYXR1cmUudGltZWZyYW1lLFxuICAgICAgICAgIGNyZWF0ZWRBdDogZmVhdHVyZS5jcmVhdGVkQXQsXG4gICAgICAgICAgdXBkYXRlZEF0OiBmZWF0dXJlLnVwZGF0ZWRBdCxcbiAgICAgICAgICB1cmw6IGZlYXR1cmUubGlua3M/Lmh0bWwsXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9mZWF0dXJlX3VwZGF0ZVxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9mZWF0dXJlX3VwZGF0ZScsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ1VwZGF0ZSBhbiBleGlzdGluZyBmZWF0dXJlIGluIFByb2R1Y3RCb2FyZC4gT25seSBwcm92aWRlZCBmaWVsZHMgd2lsbCBiZSB1cGRhdGVkLicsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdGZWF0dXJlIElEIHRvIHVwZGF0ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTmV3IG5hbWUgZm9yIHRoZSBmZWF0dXJlJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTmV3IGRlc2NyaXB0aW9uIChzdXBwb3J0cyBIVE1MKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdGF0dXM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOZXcgc3RhdHVzJyxcbiAgICAgICAgICAgIGVudW06IFsnbmV3JywgJ2luLXByb2dyZXNzJywgJ3NoaXBwZWQnLCAnYXJjaGl2ZWQnLCAncG9zdHBvbmVkJywgJ2NhbmRpZGF0ZSddLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcHJvZHVjdElkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTW92ZSB0byBhIGRpZmZlcmVudCBwcm9kdWN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbXBvbmVudElkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTW92ZSB0byBhIGRpZmZlcmVudCBjb21wb25lbnQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3duZXJFbWFpbDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ05ldyBvd25lciBlbWFpbCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdGFydERhdGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOZXcgc3RhcnQgZGF0ZSAoSVNPIDg2MDEpJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVuZERhdGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOZXcgZW5kIGRhdGUgKElTTyA4NjAxKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsnaWQnXSxcbiAgICAgIH0sXG4gICAgICBoYW5kbGVyOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVBhcmFtczogVXBkYXRlRmVhdHVyZVBhcmFtcyA9IHt9O1xuXG4gICAgICAgIGlmIChwYXJhbXMubmFtZSkgdXBkYXRlUGFyYW1zLm5hbWUgPSBwYXJhbXMubmFtZSBhcyBzdHJpbmc7XG4gICAgICAgIGlmIChwYXJhbXMuZGVzY3JpcHRpb24pIHVwZGF0ZVBhcmFtcy5kZXNjcmlwdGlvbiA9IHBhcmFtcy5kZXNjcmlwdGlvbiBhcyBzdHJpbmc7XG4gICAgICAgIGlmIChwYXJhbXMuc3RhdHVzKSB1cGRhdGVQYXJhbXMuc3RhdHVzID0gcGFyYW1zLnN0YXR1cyBhcyBGZWF0dXJlU3RhdHVzO1xuXG4gICAgICAgIGlmIChwYXJhbXMucHJvZHVjdElkIHx8IHBhcmFtcy5jb21wb25lbnRJZCkge1xuICAgICAgICAgIHVwZGF0ZVBhcmFtcy5wYXJlbnQgPSB7fTtcbiAgICAgICAgICBpZiAocGFyYW1zLnByb2R1Y3RJZCkgdXBkYXRlUGFyYW1zLnBhcmVudC5wcm9kdWN0ID0geyBpZDogcGFyYW1zLnByb2R1Y3RJZCBhcyBzdHJpbmcgfTtcbiAgICAgICAgICBpZiAocGFyYW1zLmNvbXBvbmVudElkKSB1cGRhdGVQYXJhbXMucGFyZW50LmNvbXBvbmVudCA9IHsgaWQ6IHBhcmFtcy5jb21wb25lbnRJZCBhcyBzdHJpbmcgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJhbXMub3duZXJFbWFpbCkge1xuICAgICAgICAgIHVwZGF0ZVBhcmFtcy5vd25lciA9IHsgZW1haWw6IHBhcmFtcy5vd25lckVtYWlsIGFzIHN0cmluZyB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcmFtcy5zdGFydERhdGUgfHwgcGFyYW1zLmVuZERhdGUpIHtcbiAgICAgICAgICB1cGRhdGVQYXJhbXMudGltZWZyYW1lID0ge1xuICAgICAgICAgICAgc3RhcnREYXRlOiBwYXJhbXMuc3RhcnREYXRlIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGVuZERhdGU6IHBhcmFtcy5lbmREYXRlIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmVhdHVyZSA9IGF3YWl0IGNsaWVudC51cGRhdGVGZWF0dXJlKHBhcmFtcy5pZCBhcyBzdHJpbmcsIHVwZGF0ZVBhcmFtcyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgICBmZWF0dXJlOiB7XG4gICAgICAgICAgICBpZDogZmVhdHVyZS5pZCxcbiAgICAgICAgICAgIG5hbWU6IGZlYXR1cmUubmFtZSxcbiAgICAgICAgICAgIHN0YXR1czogZmVhdHVyZS5zdGF0dXMsXG4gICAgICAgICAgICB1cmw6IGZlYXR1cmUubGlua3M/Lmh0bWwsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIC8vIHBiX2ZlYXR1cmVfZGVsZXRlXG4gICAge1xuICAgICAgbmFtZTogJ3BiX2ZlYXR1cmVfZGVsZXRlJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnQXJjaGl2ZS9kZWxldGUgYSBmZWF0dXJlIGZyb20gUHJvZHVjdEJvYXJkLiBUaGlzIGFjdGlvbiBjYW4gYmUgdW5kb25lIGluIFByb2R1Y3RCb2FyZC4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmVhdHVyZSBJRCB0byBkZWxldGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmVkOiBbJ2lkJ10sXG4gICAgICB9LFxuICAgICAgaGFuZGxlcjogYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgICBhd2FpdCBjbGllbnQuZGVsZXRlRmVhdHVyZShwYXJhbXMuaWQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICAgIG1lc3NhZ2U6IGBGZWF0dXJlICR7cGFyYW1zLmlkfSBoYXMgYmVlbiBhcmNoaXZlZGAsXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9mZWF0dXJlX3NlYXJjaFxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9mZWF0dXJlX3NlYXJjaCcsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ1NlYXJjaCBmb3IgZmVhdHVyZXMgYnkgbmFtZSBvciBkZXNjcmlwdGlvbi4gUmV0dXJucyBtYXRjaGluZyBmZWF0dXJlcyBvcmRlcmVkIGJ5IHJlbGV2YW5jZS4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VhcmNoIHF1ZXJ5IChzZWFyY2hlcyBuYW1lIGFuZCBkZXNjcmlwdGlvbiknLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbGltaXQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdNYXhpbXVtIHJlc3VsdHMgdG8gcmV0dXJuIChkZWZhdWx0OiAyMCknLFxuICAgICAgICAgICAgZGVmYXVsdDogMjAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsncXVlcnknXSxcbiAgICAgIH0sXG4gICAgICBoYW5kbGVyOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGZlYXR1cmVzID0gYXdhaXQgY2xpZW50LnNlYXJjaEZlYXR1cmVzKFxuICAgICAgICAgIHBhcmFtcy5xdWVyeSBhcyBzdHJpbmcsXG4gICAgICAgICAgcGFyYW1zLmxpbWl0IGFzIG51bWJlciB8fCAyMFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvdW50OiBmZWF0dXJlcy5sZW5ndGgsXG4gICAgICAgICAgZmVhdHVyZXM6IGZlYXR1cmVzLm1hcCgoZikgPT4gKHtcbiAgICAgICAgICAgIGlkOiBmLmlkLFxuICAgICAgICAgICAgbmFtZTogZi5uYW1lLFxuICAgICAgICAgICAgc3RhdHVzOiBmLnN0YXR1cyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjbGVhblRleHQoZi5kZXNjcmlwdGlvbiwgMjAwKSxcbiAgICAgICAgICAgIHVybDogZi5saW5rcz8uaHRtbCxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG4gIF07XG59XG4iXX0=
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvZmVhdHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFVSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQTBCO0lBQzNELE9BQU87UUFDTCxvQkFBb0I7UUFDcEI7WUFDRSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLFdBQVcsRUFDVCxpSUFBaUk7WUFDbkksVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLFVBQVUsRUFBRTtvQkFDVixJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLGdDQUFnQztxQkFDOUM7b0JBQ0QsV0FBVyxFQUFFO3dCQUNYLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSxxREFBcUQ7cUJBQ25FO29CQUNELE1BQU0sRUFBRTt3QkFDTixJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsZ0JBQWdCO3dCQUM3QixJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztxQkFDOUU7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSxvREFBb0Q7cUJBQ2xFO29CQUNELFdBQVcsRUFBRTt3QkFDWCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsc0RBQXNEO3FCQUNwRTtvQkFDRCxlQUFlLEVBQUU7d0JBQ2YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLDZDQUE2QztxQkFDM0Q7b0JBQ0QsVUFBVSxFQUFFO3dCQUNWLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSw0QkFBNEI7cUJBQzFDO29CQUNELFNBQVMsRUFBRTt3QkFDVCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsc0NBQXNDO3FCQUNwRDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLG9DQUFvQztxQkFDbEQ7aUJBQ0Y7Z0JBQ0QsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO2FBQ25CO1lBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxZQUFZLEdBQXdCO29CQUN4QyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQWM7b0JBQzNCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBaUM7b0JBQ3JELE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBbUM7aUJBQ25ELENBQUM7Z0JBRUYseUJBQXlCO2dCQUN6QixJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ3JFLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO29CQUN6QixJQUFJLE1BQU0sQ0FBQyxTQUFTO3dCQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxTQUFtQixFQUFFLENBQUM7b0JBQ3ZGLElBQUksTUFBTSxDQUFDLFdBQVc7d0JBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLFdBQXFCLEVBQUUsQ0FBQztvQkFDN0YsSUFBSSxNQUFNLENBQUMsZUFBZTt3QkFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsZUFBeUIsRUFBRSxDQUFDO2dCQUNyRyxDQUFDO2dCQUVELFlBQVk7Z0JBQ1osSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3RCLFlBQVksQ0FBQyxLQUFLLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQW9CLEVBQUUsQ0FBQztnQkFDOUQsQ0FBQztnQkFFRCxnQkFBZ0I7Z0JBQ2hCLElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3ZDLFlBQVksQ0FBQyxTQUFTLEdBQUc7d0JBQ3ZCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBK0I7d0JBQ2pELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBNkI7cUJBQzlDLENBQUM7Z0JBQ0osQ0FBQztnQkFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3pELE9BQU87b0JBQ0wsT0FBTyxFQUFFLElBQUk7b0JBQ2IsT0FBTyxFQUFFO3dCQUNQLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTt3QkFDZCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7d0JBQ2xCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTt3QkFDdEIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSTtxQkFDekI7aUJBQ0YsQ0FBQztZQUNKLENBQUM7U0FDRjtRQUVELGtCQUFrQjtRQUNsQjtZQUNFLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsV0FBVyxFQUNULGtHQUFrRztZQUNwRyxVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsVUFBVSxFQUFFO29CQUNWLFNBQVMsRUFBRTt3QkFDVCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsc0JBQXNCO3FCQUNwQztvQkFDRCxXQUFXLEVBQUU7d0JBQ1gsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLHdCQUF3QjtxQkFDdEM7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSxrQkFBa0I7d0JBQy9CLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO3FCQUM5RTtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLG9CQUFvQjtxQkFDbEM7b0JBQ0QsS0FBSyxFQUFFO3dCQUNMLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSw4REFBOEQ7d0JBQzNFLE9BQU8sRUFBRSxFQUFFO3FCQUNaO2lCQUNGO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUN4QixNQUFNLFVBQVUsR0FBdUI7b0JBQ3JDLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBK0I7b0JBQ2pELFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBaUM7b0JBQ3JELE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBbUM7b0JBQ2xELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBNkI7b0JBQzdDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFlLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQztpQkFDbkQsQ0FBQztnQkFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZELE9BQU87b0JBQ0wsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNO29CQUN0QixRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDN0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO3dCQUNSLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTt3QkFDWixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU07d0JBQ2hCLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUM7d0JBQzFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUs7d0JBQ3JCLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUk7cUJBQ25CLENBQUMsQ0FBQztpQkFDSixDQUFDO1lBQ0osQ0FBQztTQUNGO1FBRUQsaUJBQWlCO1FBQ2pCO1lBQ0UsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixXQUFXLEVBQ1QsMERBQTBEO1lBQzVELFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsUUFBUTtnQkFDZCxVQUFVLEVBQUU7b0JBQ1YsRUFBRSxFQUFFO3dCQUNGLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSxZQUFZO3FCQUMxQjtpQkFDRjtnQkFDRCxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUM7YUFDakI7WUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUN4QixNQUFNLE9BQU8sR0FBRyxNQUFNLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQVksQ0FBQyxDQUFDO2dCQUM3RCxPQUFPO29CQUNMLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTtvQkFDZCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7b0JBQ2xCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztvQkFDaEMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO29CQUN0QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLO29CQUMzQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07b0JBQ3RCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztvQkFDNUIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO29CQUM1QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7b0JBQzVCLEdBQUcsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUk7aUJBQ3pCLENBQUM7WUFDSixDQUFDO1NBQ0Y7UUFFRCxvQkFBb0I7UUFDcEI7WUFDRSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLFdBQVcsRUFDVCxtRkFBbUY7WUFDckYsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLFVBQVUsRUFBRTtvQkFDVixFQUFFLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLHNCQUFzQjtxQkFDcEM7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSwwQkFBMEI7cUJBQ3hDO29CQUNELFdBQVcsRUFBRTt3QkFDWCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsaUNBQWlDO3FCQUMvQztvQkFDRCxNQUFNLEVBQUU7d0JBQ04sSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLFlBQVk7d0JBQ3pCLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO3FCQUM5RTtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLDZCQUE2QjtxQkFDM0M7b0JBQ0QsV0FBVyxFQUFFO3dCQUNYLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSwrQkFBK0I7cUJBQzdDO29CQUNELFVBQVUsRUFBRTt3QkFDVixJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsaUJBQWlCO3FCQUMvQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLDJCQUEyQjtxQkFDekM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSx5QkFBeUI7cUJBQ3ZDO2lCQUNGO2dCQUNELFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQzthQUNqQjtZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sWUFBWSxHQUF3QixFQUFFLENBQUM7Z0JBRTdDLElBQUksTUFBTSxDQUFDLElBQUk7b0JBQUUsWUFBWSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBYyxDQUFDO2dCQUMzRCxJQUFJLE1BQU0sQ0FBQyxXQUFXO29CQUFFLFlBQVksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQXFCLENBQUM7Z0JBQ2hGLElBQUksTUFBTSxDQUFDLE1BQU07b0JBQUUsWUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBdUIsQ0FBQztnQkFFeEUsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDM0MsWUFBWSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7b0JBQ3pCLElBQUksTUFBTSxDQUFDLFNBQVM7d0JBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLFNBQW1CLEVBQUUsQ0FBQztvQkFDdkYsSUFBSSxNQUFNLENBQUMsV0FBVzt3QkFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsV0FBcUIsRUFBRSxDQUFDO2dCQUMvRixDQUFDO2dCQUVELElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUN0QixZQUFZLENBQUMsS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFvQixFQUFFLENBQUM7Z0JBQzlELENBQUM7Z0JBRUQsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDdkMsWUFBWSxDQUFDLFNBQVMsR0FBRzt3QkFDdkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUErQjt3QkFDakQsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUE2QjtxQkFDOUMsQ0FBQztnQkFDSixDQUFDO2dCQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUM5RSxPQUFPO29CQUNMLE9BQU8sRUFBRSxJQUFJO29CQUNiLE9BQU8sRUFBRTt3QkFDUCxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7d0JBQ2QsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO3dCQUNsQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07d0JBQ3RCLEdBQUcsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUk7cUJBQ3pCO2lCQUNGLENBQUM7WUFDSixDQUFDO1NBQ0Y7UUFFRCxvQkFBb0I7UUFDcEI7WUFDRSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLFdBQVcsRUFDVCx3RkFBd0Y7WUFDMUYsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLFVBQVUsRUFBRTtvQkFDVixFQUFFLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLHNCQUFzQjtxQkFDcEM7aUJBQ0Y7Z0JBQ0QsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDO2FBQ2pCO1lBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFZLENBQUMsQ0FBQztnQkFDaEQsT0FBTztvQkFDTCxPQUFPLEVBQUUsSUFBSTtvQkFDYixPQUFPLEVBQUUsV0FBVyxNQUFNLENBQUMsRUFBRSxvQkFBb0I7aUJBQ2xELENBQUM7WUFDSixDQUFDO1NBQ0Y7UUFFRCxvQkFBb0I7UUFDcEI7WUFDRSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLFdBQVcsRUFDVCw2RkFBNkY7WUFDL0YsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLDhDQUE4QztxQkFDNUQ7b0JBQ0QsS0FBSyxFQUFFO3dCQUNMLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSx5Q0FBeUM7d0JBQ3RELE9BQU8sRUFBRSxFQUFFO3FCQUNaO2lCQUNGO2dCQUNELFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUNwQjtZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLGNBQWMsQ0FDMUMsTUFBTSxDQUFDLEtBQWUsRUFDdEIsTUFBTSxDQUFDLEtBQWUsSUFBSSxFQUFFLENBQzdCLENBQUM7Z0JBQ0YsT0FBTztvQkFDTCxLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU07b0JBQ3RCLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUM3QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7d0JBQ1IsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO3dCQUNaLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTt3QkFDaEIsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQzt3QkFDMUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSTtxQkFDbkIsQ0FBQyxDQUFDO2lCQUNKLENBQUM7WUFDSixDQUFDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvZHVjdEJvYXJkIEZlYXR1cmUgTWFuYWdlbWVudCBUb29sc1xuICovXG5cbmltcG9ydCB7IFByb2R1Y3RCb2FyZENsaWVudCB9IGZyb20gJy4uL2NsaWVudC9hcGktY2xpZW50LmpzJztcbmltcG9ydCB7XG4gIFRvb2xEZWZpbml0aW9uLFxuICBDcmVhdGVGZWF0dXJlUGFyYW1zLFxuICBVcGRhdGVGZWF0dXJlUGFyYW1zLFxuICBMaXN0RmVhdHVyZXNQYXJhbXMsXG4gIEZlYXR1cmVTdGF0dXMsXG59IGZyb20gJy4uL2NsaWVudC90eXBlcy5qcyc7XG5pbXBvcnQgeyBjbGVhblRleHQgfSBmcm9tICcuLi91dGlscy9zYW5pdGl6ZS5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGZWF0dXJlVG9vbHMoY2xpZW50OiBQcm9kdWN0Qm9hcmRDbGllbnQpOiBUb29sRGVmaW5pdGlvbltdIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBwYl9mZWF0dXJlX2NyZWF0ZVxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9mZWF0dXJlX2NyZWF0ZScsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0NyZWF0ZSBhIG5ldyBmZWF0dXJlIGluIFByb2R1Y3RCb2FyZC4gRmVhdHVyZXMgcmVwcmVzZW50IHByb2R1Y3QgZnVuY3Rpb25hbGl0eSwgdXNlciBzdG9yaWVzLCBvciBpdGVtcyBpbiB5b3VyIHByb2R1Y3QgYmFja2xvZy4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBmZWF0dXJlIChyZXF1aXJlZCknLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdEZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiB0aGUgZmVhdHVyZSAoc3VwcG9ydHMgSFRNTCknLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3RhdHVzOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmVhdHVyZSBzdGF0dXMnLFxuICAgICAgICAgICAgZW51bTogWyduZXcnLCAnaW4tcHJvZ3Jlc3MnLCAnc2hpcHBlZCcsICdhcmNoaXZlZCcsICdwb3N0cG9uZWQnLCAnY2FuZGlkYXRlJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwcm9kdWN0SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJRCBvZiB0aGUgcGFyZW50IHByb2R1Y3QgdG8gYXNzaWduIHRoaXMgZmVhdHVyZSB0bycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21wb25lbnRJZDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0lEIG9mIHRoZSBwYXJlbnQgY29tcG9uZW50IHRvIGFzc2lnbiB0aGlzIGZlYXR1cmUgdG8nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGFyZW50RmVhdHVyZUlkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSUQgb2YgdGhlIHBhcmVudCBmZWF0dXJlIChmb3Igc3ViLWZlYXR1cmVzKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvd25lckVtYWlsOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRW1haWwgb2YgdGhlIGZlYXR1cmUgb3duZXInLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3RhcnREYXRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnUGxhbm5lZCBzdGFydCBkYXRlIChJU08gODYwMSBmb3JtYXQpJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVuZERhdGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdQbGFubmVkIGVuZCBkYXRlIChJU08gODYwMSBmb3JtYXQpJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICByZXF1aXJlZDogWyduYW1lJ10sXG4gICAgICB9LFxuICAgICAgZXhlY3V0ZTogYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgICBjb25zdCBjcmVhdGVQYXJhbXM6IENyZWF0ZUZlYXR1cmVQYXJhbXMgPSB7XG4gICAgICAgICAgbmFtZTogcGFyYW1zLm5hbWUgYXMgc3RyaW5nLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBwYXJhbXMuZGVzY3JpcHRpb24gYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIHN0YXR1czogcGFyYW1zLnN0YXR1cyBhcyBGZWF0dXJlU3RhdHVzIHwgdW5kZWZpbmVkLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIEJ1aWxkIHBhcmVudCByZWZlcmVuY2VcbiAgICAgICAgaWYgKHBhcmFtcy5wcm9kdWN0SWQgfHwgcGFyYW1zLmNvbXBvbmVudElkIHx8IHBhcmFtcy5wYXJlbnRGZWF0dXJlSWQpIHtcbiAgICAgICAgICBjcmVhdGVQYXJhbXMucGFyZW50ID0ge307XG4gICAgICAgICAgaWYgKHBhcmFtcy5wcm9kdWN0SWQpIGNyZWF0ZVBhcmFtcy5wYXJlbnQucHJvZHVjdCA9IHsgaWQ6IHBhcmFtcy5wcm9kdWN0SWQgYXMgc3RyaW5nIH07XG4gICAgICAgICAgaWYgKHBhcmFtcy5jb21wb25lbnRJZCkgY3JlYXRlUGFyYW1zLnBhcmVudC5jb21wb25lbnQgPSB7IGlkOiBwYXJhbXMuY29tcG9uZW50SWQgYXMgc3RyaW5nIH07XG4gICAgICAgICAgaWYgKHBhcmFtcy5wYXJlbnRGZWF0dXJlSWQpIGNyZWF0ZVBhcmFtcy5wYXJlbnQuZmVhdHVyZSA9IHsgaWQ6IHBhcmFtcy5wYXJlbnRGZWF0dXJlSWQgYXMgc3RyaW5nIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgb3duZXJcbiAgICAgICAgaWYgKHBhcmFtcy5vd25lckVtYWlsKSB7XG4gICAgICAgICAgY3JlYXRlUGFyYW1zLm93bmVyID0geyBlbWFpbDogcGFyYW1zLm93bmVyRW1haWwgYXMgc3RyaW5nIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdGltZWZyYW1lXG4gICAgICAgIGlmIChwYXJhbXMuc3RhcnREYXRlIHx8IHBhcmFtcy5lbmREYXRlKSB7XG4gICAgICAgICAgY3JlYXRlUGFyYW1zLnRpbWVmcmFtZSA9IHtcbiAgICAgICAgICAgIHN0YXJ0RGF0ZTogcGFyYW1zLnN0YXJ0RGF0ZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICBlbmREYXRlOiBwYXJhbXMuZW5kRGF0ZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZlYXR1cmUgPSBhd2FpdCBjbGllbnQuY3JlYXRlRmVhdHVyZShjcmVhdGVQYXJhbXMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgZmVhdHVyZToge1xuICAgICAgICAgICAgaWQ6IGZlYXR1cmUuaWQsXG4gICAgICAgICAgICBuYW1lOiBmZWF0dXJlLm5hbWUsXG4gICAgICAgICAgICBzdGF0dXM6IGZlYXR1cmUuc3RhdHVzLFxuICAgICAgICAgICAgdXJsOiBmZWF0dXJlLmxpbmtzPy5odG1sLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9mZWF0dXJlX2xpc3RcbiAgICB7XG4gICAgICBuYW1lOiAncGJfZmVhdHVyZV9saXN0JyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnTGlzdCBmZWF0dXJlcyBpbiBQcm9kdWN0Qm9hcmQgd2l0aCBvcHRpb25hbCBmaWx0ZXJzLiBSZXR1cm5zIGZlYXR1cmVzIGZyb20geW91ciBwcm9kdWN0IGJhY2tsb2cuJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBwcm9kdWN0SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgcHJvZHVjdCBJRCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21wb25lbnRJZDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0ZpbHRlciBieSBjb21wb25lbnQgSUQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3RhdHVzOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmlsdGVyIGJ5IHN0YXR1cycsXG4gICAgICAgICAgICBlbnVtOiBbJ25ldycsICdpbi1wcm9ncmVzcycsICdzaGlwcGVkJywgJ2FyY2hpdmVkJywgJ3Bvc3Rwb25lZCcsICdjYW5kaWRhdGUnXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG93bmVySWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgb3duZXIgSUQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbGltaXQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdNYXhpbXVtIG51bWJlciBvZiBmZWF0dXJlcyB0byByZXR1cm4gKGRlZmF1bHQ6IDUwLCBtYXg6IDUwMCknLFxuICAgICAgICAgICAgZGVmYXVsdDogNTAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBleGVjdXRlOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3RQYXJhbXM6IExpc3RGZWF0dXJlc1BhcmFtcyA9IHtcbiAgICAgICAgICBwcm9kdWN0SWQ6IHBhcmFtcy5wcm9kdWN0SWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIGNvbXBvbmVudElkOiBwYXJhbXMuY29tcG9uZW50SWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIHN0YXR1czogcGFyYW1zLnN0YXR1cyBhcyBGZWF0dXJlU3RhdHVzIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIG93bmVySWQ6IHBhcmFtcy5vd25lcklkIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICBsaW1pdDogTWF0aC5taW4ocGFyYW1zLmxpbWl0IGFzIG51bWJlciB8fCA1MCwgNTAwKSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBmZWF0dXJlcyA9IGF3YWl0IGNsaWVudC5saXN0RmVhdHVyZXMobGlzdFBhcmFtcyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY291bnQ6IGZlYXR1cmVzLmxlbmd0aCxcbiAgICAgICAgICBmZWF0dXJlczogZmVhdHVyZXMubWFwKChmKSA9PiAoe1xuICAgICAgICAgICAgaWQ6IGYuaWQsXG4gICAgICAgICAgICBuYW1lOiBmLm5hbWUsXG4gICAgICAgICAgICBzdGF0dXM6IGYuc3RhdHVzLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGNsZWFuVGV4dChmLmRlc2NyaXB0aW9uLCAyMDApLFxuICAgICAgICAgICAgb3duZXI6IGYub3duZXI/LmVtYWlsLFxuICAgICAgICAgICAgdXJsOiBmLmxpbmtzPy5odG1sLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIC8vIHBiX2ZlYXR1cmVfZ2V0XG4gICAge1xuICAgICAgbmFtZTogJ3BiX2ZlYXR1cmVfZ2V0JyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnR2V0IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgZmVhdHVyZSBieSBJRC4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmVhdHVyZSBJRCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsnaWQnXSxcbiAgICAgIH0sXG4gICAgICBleGVjdXRlOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGZlYXR1cmUgPSBhd2FpdCBjbGllbnQuZ2V0RmVhdHVyZShwYXJhbXMuaWQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpZDogZmVhdHVyZS5pZCxcbiAgICAgICAgICBuYW1lOiBmZWF0dXJlLm5hbWUsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGZlYXR1cmUuZGVzY3JpcHRpb24sXG4gICAgICAgICAgc3RhdHVzOiBmZWF0dXJlLnN0YXR1cyxcbiAgICAgICAgICBvd25lcjogZmVhdHVyZS5vd25lcj8uZW1haWwsXG4gICAgICAgICAgcGFyZW50OiBmZWF0dXJlLnBhcmVudCxcbiAgICAgICAgICB0aW1lZnJhbWU6IGZlYXR1cmUudGltZWZyYW1lLFxuICAgICAgICAgIGNyZWF0ZWRBdDogZmVhdHVyZS5jcmVhdGVkQXQsXG4gICAgICAgICAgdXBkYXRlZEF0OiBmZWF0dXJlLnVwZGF0ZWRBdCxcbiAgICAgICAgICB1cmw6IGZlYXR1cmUubGlua3M/Lmh0bWwsXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9mZWF0dXJlX3VwZGF0ZVxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9mZWF0dXJlX3VwZGF0ZScsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ1VwZGF0ZSBhbiBleGlzdGluZyBmZWF0dXJlIGluIFByb2R1Y3RCb2FyZC4gT25seSBwcm92aWRlZCBmaWVsZHMgd2lsbCBiZSB1cGRhdGVkLicsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdGZWF0dXJlIElEIHRvIHVwZGF0ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTmV3IG5hbWUgZm9yIHRoZSBmZWF0dXJlJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTmV3IGRlc2NyaXB0aW9uIChzdXBwb3J0cyBIVE1MKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdGF0dXM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOZXcgc3RhdHVzJyxcbiAgICAgICAgICAgIGVudW06IFsnbmV3JywgJ2luLXByb2dyZXNzJywgJ3NoaXBwZWQnLCAnYXJjaGl2ZWQnLCAncG9zdHBvbmVkJywgJ2NhbmRpZGF0ZSddLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcHJvZHVjdElkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTW92ZSB0byBhIGRpZmZlcmVudCBwcm9kdWN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbXBvbmVudElkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTW92ZSB0byBhIGRpZmZlcmVudCBjb21wb25lbnQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3duZXJFbWFpbDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ05ldyBvd25lciBlbWFpbCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdGFydERhdGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOZXcgc3RhcnQgZGF0ZSAoSVNPIDg2MDEpJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVuZERhdGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOZXcgZW5kIGRhdGUgKElTTyA4NjAxKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsnaWQnXSxcbiAgICAgIH0sXG4gICAgICBleGVjdXRlOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVBhcmFtczogVXBkYXRlRmVhdHVyZVBhcmFtcyA9IHt9O1xuXG4gICAgICAgIGlmIChwYXJhbXMubmFtZSkgdXBkYXRlUGFyYW1zLm5hbWUgPSBwYXJhbXMubmFtZSBhcyBzdHJpbmc7XG4gICAgICAgIGlmIChwYXJhbXMuZGVzY3JpcHRpb24pIHVwZGF0ZVBhcmFtcy5kZXNjcmlwdGlvbiA9IHBhcmFtcy5kZXNjcmlwdGlvbiBhcyBzdHJpbmc7XG4gICAgICAgIGlmIChwYXJhbXMuc3RhdHVzKSB1cGRhdGVQYXJhbXMuc3RhdHVzID0gcGFyYW1zLnN0YXR1cyBhcyBGZWF0dXJlU3RhdHVzO1xuXG4gICAgICAgIGlmIChwYXJhbXMucHJvZHVjdElkIHx8IHBhcmFtcy5jb21wb25lbnRJZCkge1xuICAgICAgICAgIHVwZGF0ZVBhcmFtcy5wYXJlbnQgPSB7fTtcbiAgICAgICAgICBpZiAocGFyYW1zLnByb2R1Y3RJZCkgdXBkYXRlUGFyYW1zLnBhcmVudC5wcm9kdWN0ID0geyBpZDogcGFyYW1zLnByb2R1Y3RJZCBhcyBzdHJpbmcgfTtcbiAgICAgICAgICBpZiAocGFyYW1zLmNvbXBvbmVudElkKSB1cGRhdGVQYXJhbXMucGFyZW50LmNvbXBvbmVudCA9IHsgaWQ6IHBhcmFtcy5jb21wb25lbnRJZCBhcyBzdHJpbmcgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJhbXMub3duZXJFbWFpbCkge1xuICAgICAgICAgIHVwZGF0ZVBhcmFtcy5vd25lciA9IHsgZW1haWw6IHBhcmFtcy5vd25lckVtYWlsIGFzIHN0cmluZyB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcmFtcy5zdGFydERhdGUgfHwgcGFyYW1zLmVuZERhdGUpIHtcbiAgICAgICAgICB1cGRhdGVQYXJhbXMudGltZWZyYW1lID0ge1xuICAgICAgICAgICAgc3RhcnREYXRlOiBwYXJhbXMuc3RhcnREYXRlIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGVuZERhdGU6IHBhcmFtcy5lbmREYXRlIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmVhdHVyZSA9IGF3YWl0IGNsaWVudC51cGRhdGVGZWF0dXJlKHBhcmFtcy5pZCBhcyBzdHJpbmcsIHVwZGF0ZVBhcmFtcyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgICBmZWF0dXJlOiB7XG4gICAgICAgICAgICBpZDogZmVhdHVyZS5pZCxcbiAgICAgICAgICAgIG5hbWU6IGZlYXR1cmUubmFtZSxcbiAgICAgICAgICAgIHN0YXR1czogZmVhdHVyZS5zdGF0dXMsXG4gICAgICAgICAgICB1cmw6IGZlYXR1cmUubGlua3M/Lmh0bWwsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIC8vIHBiX2ZlYXR1cmVfZGVsZXRlXG4gICAge1xuICAgICAgbmFtZTogJ3BiX2ZlYXR1cmVfZGVsZXRlJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnQXJjaGl2ZS9kZWxldGUgYSBmZWF0dXJlIGZyb20gUHJvZHVjdEJvYXJkLiBUaGlzIGFjdGlvbiBjYW4gYmUgdW5kb25lIGluIFByb2R1Y3RCb2FyZC4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmVhdHVyZSBJRCB0byBkZWxldGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmVkOiBbJ2lkJ10sXG4gICAgICB9LFxuICAgICAgZXhlY3V0ZTogYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgICBhd2FpdCBjbGllbnQuZGVsZXRlRmVhdHVyZShwYXJhbXMuaWQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICAgIG1lc3NhZ2U6IGBGZWF0dXJlICR7cGFyYW1zLmlkfSBoYXMgYmVlbiBhcmNoaXZlZGAsXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9mZWF0dXJlX3NlYXJjaFxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9mZWF0dXJlX3NlYXJjaCcsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ1NlYXJjaCBmb3IgZmVhdHVyZXMgYnkgbmFtZSBvciBkZXNjcmlwdGlvbi4gUmV0dXJucyBtYXRjaGluZyBmZWF0dXJlcyBvcmRlcmVkIGJ5IHJlbGV2YW5jZS4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2VhcmNoIHF1ZXJ5IChzZWFyY2hlcyBuYW1lIGFuZCBkZXNjcmlwdGlvbiknLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbGltaXQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdNYXhpbXVtIHJlc3VsdHMgdG8gcmV0dXJuIChkZWZhdWx0OiAyMCknLFxuICAgICAgICAgICAgZGVmYXVsdDogMjAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsncXVlcnknXSxcbiAgICAgIH0sXG4gICAgICBleGVjdXRlOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGZlYXR1cmVzID0gYXdhaXQgY2xpZW50LnNlYXJjaEZlYXR1cmVzKFxuICAgICAgICAgIHBhcmFtcy5xdWVyeSBhcyBzdHJpbmcsXG4gICAgICAgICAgcGFyYW1zLmxpbWl0IGFzIG51bWJlciB8fCAyMFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvdW50OiBmZWF0dXJlcy5sZW5ndGgsXG4gICAgICAgICAgZmVhdHVyZXM6IGZlYXR1cmVzLm1hcCgoZikgPT4gKHtcbiAgICAgICAgICAgIGlkOiBmLmlkLFxuICAgICAgICAgICAgbmFtZTogZi5uYW1lLFxuICAgICAgICAgICAgc3RhdHVzOiBmLnN0YXR1cyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjbGVhblRleHQoZi5kZXNjcmlwdGlvbiwgMjAwKSxcbiAgICAgICAgICAgIHVybDogZi5saW5rcz8uaHRtbCxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG4gIF07XG59XG4iXX0=
|
package/dist/tools/notes.js
CHANGED
|
@@ -55,7 +55,7 @@ export function createNoteTools(client) {
|
|
|
55
55
|
},
|
|
56
56
|
required: ['content'],
|
|
57
57
|
},
|
|
58
|
-
|
|
58
|
+
execute: async (params) => {
|
|
59
59
|
const createParams = {
|
|
60
60
|
content: params.content,
|
|
61
61
|
title: params.title,
|
|
@@ -120,7 +120,7 @@ export function createNoteTools(client) {
|
|
|
120
120
|
},
|
|
121
121
|
},
|
|
122
122
|
},
|
|
123
|
-
|
|
123
|
+
execute: async (params) => {
|
|
124
124
|
const listParams = {
|
|
125
125
|
limit: params.limit || 50,
|
|
126
126
|
createdFrom: params.createdFrom,
|
|
@@ -161,7 +161,7 @@ export function createNoteTools(client) {
|
|
|
161
161
|
},
|
|
162
162
|
required: ['noteId', 'featureId'],
|
|
163
163
|
},
|
|
164
|
-
|
|
164
|
+
execute: async (params) => {
|
|
165
165
|
await client.attachNoteToFeature(params.noteId, params.featureId);
|
|
166
166
|
return {
|
|
167
167
|
success: true,
|
|
@@ -171,4 +171,4 @@ export function createNoteTools(client) {
|
|
|
171
171
|
},
|
|
172
172
|
];
|
|
173
173
|
}
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvbm90ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFJSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUEwQjtJQUN4RCxPQUFPO1FBQ0wsaUJBQWlCO1FBQ2pCO1lBQ0UsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixXQUFXLEVBQ1Qsc0pBQXNKO1lBQ3hKLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsUUFBUTtnQkFDZCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxFQUFFO3dCQUNQLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSwwREFBMEQ7cUJBQ3hFO29CQUNELEtBQUssRUFBRTt3QkFDTCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsNkJBQTZCO3FCQUMzQztvQkFDRCxVQUFVLEVBQUU7d0JBQ1YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLGtFQUFrRTtxQkFDaEY7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSxpRUFBaUU7cUJBQy9FO29CQUNELGNBQWMsRUFBRTt3QkFDZCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsZ0NBQWdDO3FCQUM5QztvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLDZDQUE2QztxQkFDM0Q7b0JBQ0QsUUFBUSxFQUFFO3dCQUNSLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSw0Q0FBNEM7cUJBQzFEO29CQUNELFdBQVcsRUFBRTt3QkFDWCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsa0RBQWtEO3FCQUNoRTtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsSUFBSSxFQUFFLFFBQVE7d0JBQ2Qs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Q0QsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQzthQUNsQztZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sTUFBTSxDQUFDLG1CQUFtQixDQUM5QixNQUFNLENBQUMsTUFBZ0IsRUFDdkIsTUFBTSxDQUFDLFNBQW1CLENBQzNCLENBQUM7Z0JBQ0YsT0FBTztvQkFDTCxPQUFPLEVBQUUsSUFBSTtvQkFDYixPQUFPLEVBQUUsUUFBUSxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtpQkFDbEYsQ0FBQztZQUNKLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm9kdWN0Qm9hcmQgTm90ZS9GZWVkYmFjayBNYW5hZ2VtZW50IFRvb2xzXG4gKi9cblxuaW1wb3J0IHsgUHJvZHVjdEJvYXJkQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50L2FwaS1jbGllbnQuanMnO1xuaW1wb3J0IHsgVG9vbERlZmluaXRpb24sIENyZWF0ZU5vdGVQYXJhbXMsIExpc3ROb3Rlc1BhcmFtcyB9IGZyb20gJy4uL2NsaWVudC90eXBlcy5qcyc7XG5pbXBvcnQgeyBjbGVhblRleHQgfSBmcm9tICcuLi91dGlscy9zYW5pdGl6ZS5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOb3RlVG9vbHMoY2xpZW50OiBQcm9kdWN0Qm9hcmRDbGllbnQpOiBUb29sRGVmaW5pdGlvbltdIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBwYl9ub3RlX2NyZWF0ZVxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9ub3RlX2NyZWF0ZScsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0NyZWF0ZSBhIGN1c3RvbWVyIGZlZWRiYWNrIG5vdGUgaW4gUHJvZHVjdEJvYXJkLiBOb3RlcyBjYXB0dXJlIGN1c3RvbWVyIGluc2lnaHRzLCBmZWF0dXJlIHJlcXVlc3RzLCBvciB1c2VyIGZlZWRiYWNrIHRoYXQgY2FuIGJlIGxpbmtlZCB0byBmZWF0dXJlcy4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgbm90ZSBjb250ZW50L2ZlZWRiYWNrIHRleHQgKHJlcXVpcmVkLCBzdXBwb3J0cyBIVE1MKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGlvbmFsIHRpdGxlIGZvciB0aGUgbm90ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkaXNwbGF5VXJsOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVVJMIHRvIHRoZSBvcmlnaW5hbCBzb3VyY2UgKGUuZy4sIHN1cHBvcnQgdGlja2V0LCBTbGFjayBtZXNzYWdlKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzb3VyY2VPcmlnaW46IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdPcmlnaW4gc3lzdGVtIGlkZW50aWZpZXIgKGUuZy4sIFwiemVuZGVza1wiLCBcImludGVyY29tXCIsIFwic2xhY2tcIiknLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc291cmNlUmVjb3JkSWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdSZWNvcmQgSUQgaW4gdGhlIG9yaWdpbiBzeXN0ZW0nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdXNlckVtYWlsOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRW1haWwgb2YgdGhlIHVzZXIgd2hvIHByb3ZpZGVkIHRoZSBmZWVkYmFjaycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB1c2VyTmFtZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIHVzZXIgd2hvIHByb3ZpZGVkIHRoZSBmZWVkYmFjaycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21wYW55TmFtZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0NvbXBhbnkvb3JnYW5pemF0aW9uIG5hbWUgb2YgdGhlIGZlZWRiYWNrIHNvdXJjZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21wYW55SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdFeHRlcm5hbCBjb21wYW55IElEJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRhZ3M6IHtcbiAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0FycmF5IG9mIHRhZ3MgdG8gY2F0ZWdvcml6ZSB0aGUgbm90ZScsXG4gICAgICAgICAgICBpdGVtczogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmVkOiBbJ2NvbnRlbnQnXSxcbiAgICAgIH0sXG4gICAgICBoYW5kbGVyOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZVBhcmFtczogQ3JlYXRlTm90ZVBhcmFtcyA9IHtcbiAgICAgICAgICBjb250ZW50OiBwYXJhbXMuY29udGVudCBhcyBzdHJpbmcsXG4gICAgICAgICAgdGl0bGU6IHBhcmFtcy50aXRsZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgZGlzcGxheVVybDogcGFyYW1zLmRpc3BsYXlVcmwgYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIHRhZ3M6IHBhcmFtcy50YWdzIGFzIHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFNldCBzb3VyY2UgaWYgcHJvdmlkZWRcbiAgICAgICAgaWYgKHBhcmFtcy5zb3VyY2VPcmlnaW4gfHwgcGFyYW1zLnNvdXJjZVJlY29yZElkKSB7XG4gICAgICAgICAgY3JlYXRlUGFyYW1zLnNvdXJjZSA9IHtcbiAgICAgICAgICAgIG9yaWdpbjogcGFyYW1zLnNvdXJjZU9yaWdpbiBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICByZWNvcmRfaWQ6IHBhcmFtcy5zb3VyY2VSZWNvcmRJZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCB1c2VyIGlmIHByb3ZpZGVkXG4gICAgICAgIGlmIChwYXJhbXMudXNlckVtYWlsKSB7XG4gICAgICAgICAgY3JlYXRlUGFyYW1zLnVzZXIgPSB7XG4gICAgICAgICAgICBlbWFpbDogcGFyYW1zLnVzZXJFbWFpbCBhcyBzdHJpbmcsXG4gICAgICAgICAgICBuYW1lOiBwYXJhbXMudXNlck5hbWUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgY29tcGFueSBpZiBwcm92aWRlZFxuICAgICAgICBpZiAocGFyYW1zLmNvbXBhbnlOYW1lIHx8IHBhcmFtcy5jb21wYW55SWQpIHtcbiAgICAgICAgICBjcmVhdGVQYXJhbXMuY29tcGFueSA9IHtcbiAgICAgICAgICAgIG5hbWU6IHBhcmFtcy5jb21wYW55TmFtZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICBpZDogcGFyYW1zLmNvbXBhbnlJZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5vdGUgPSBhd2FpdCBjbGllbnQuY3JlYXRlTm90ZShjcmVhdGVQYXJhbXMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgbm90ZToge1xuICAgICAgICAgICAgaWQ6IG5vdGUuaWQsXG4gICAgICAgICAgICB0aXRsZTogbm90ZS50aXRsZSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNsZWFuVGV4dChub3RlLmNvbnRlbnQsIDIwMCksXG4gICAgICAgICAgICB1c2VyOiBub3RlLnVzZXI/LmVtYWlsLFxuICAgICAgICAgICAgY29tcGFueTogbm90ZS5jb21wYW55Py5uYW1lLFxuICAgICAgICAgICAgdGFnczogbm90ZS50YWdzLFxuICAgICAgICAgICAgdXJsOiBub3RlLmxpbmtzPy5odG1sLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9ub3RlX2xpc3RcbiAgICB7XG4gICAgICBuYW1lOiAncGJfbm90ZV9saXN0JyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnTGlzdCBjdXN0b21lciBmZWVkYmFjayBub3RlcyBpbiBQcm9kdWN0Qm9hcmQuIENhbiBmaWx0ZXIgYnkgZGF0ZSByYW5nZS4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGxpbWl0OiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTWF4aW11bSBudW1iZXIgb2Ygbm90ZXMgdG8gcmV0dXJuIChkZWZhdWx0OiA1MCknLFxuICAgICAgICAgICAgZGVmYXVsdDogNTAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjcmVhdGVkRnJvbToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0ZpbHRlciBub3RlcyBjcmVhdGVkIG9uIG9yIGFmdGVyIHRoaXMgZGF0ZSAoSVNPIDg2MDEpJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNyZWF0ZWRUbzoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0ZpbHRlciBub3RlcyBjcmVhdGVkIG9uIG9yIGJlZm9yZSB0aGlzIGRhdGUgKElTTyA4NjAxKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBoYW5kbGVyOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3RQYXJhbXM6IExpc3ROb3Rlc1BhcmFtcyA9IHtcbiAgICAgICAgICBsaW1pdDogcGFyYW1zLmxpbWl0IGFzIG51bWJlciB8fCA1MCxcbiAgICAgICAgICBjcmVhdGVkRnJvbTogcGFyYW1zLmNyZWF0ZWRGcm9tIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICBjcmVhdGVkVG86IHBhcmFtcy5jcmVhdGVkVG8gYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IG5vdGVzID0gYXdhaXQgY2xpZW50Lmxpc3ROb3RlcyhsaXN0UGFyYW1zKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb3VudDogbm90ZXMubGVuZ3RoLFxuICAgICAgICAgIG5vdGVzOiBub3Rlcy5tYXAoKG4pID0+ICh7XG4gICAgICAgICAgICBpZDogbi5pZCxcbiAgICAgICAgICAgIHRpdGxlOiBuLnRpdGxlLFxuICAgICAgICAgICAgY29udGVudDogY2xlYW5UZXh0KG4uY29udGVudCwgMjAwKSxcbiAgICAgICAgICAgIHVzZXI6IG4udXNlcj8uZW1haWwsXG4gICAgICAgICAgICBjb21wYW55OiBuLmNvbXBhbnk/Lm5hbWUsXG4gICAgICAgICAgICB0YWdzOiBuLnRhZ3MsXG4gICAgICAgICAgICBmZWF0dXJlQ291bnQ6IG4uZmVhdHVyZXM/Lmxlbmd0aCB8fCAwLFxuICAgICAgICAgICAgY3JlYXRlZEF0OiBuLmNyZWF0ZWRBdCxcbiAgICAgICAgICAgIHVybDogbi5saW5rcz8uaHRtbCxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9ub3RlX2F0dGFjaFxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9ub3RlX2F0dGFjaCcsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0F0dGFjaCBhIG5vdGUgdG8gYSBmZWF0dXJlLiBUaGlzIGxpbmtzIGN1c3RvbWVyIGZlZWRiYWNrIHRvIGEgc3BlY2lmaWMgZmVhdHVyZSBmb3IgaW5zaWdodHMgYWdncmVnYXRpb24uJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBub3RlSWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJRCBvZiB0aGUgbm90ZSB0byBhdHRhY2gnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmVhdHVyZUlkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSUQgb2YgdGhlIGZlYXR1cmUgdG8gYXR0YWNoIHRoZSBub3RlIHRvJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICByZXF1aXJlZDogWydub3RlSWQnLCAnZmVhdHVyZUlkJ10sXG4gICAgICB9LFxuICAgICAgaGFuZGxlcjogYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgICBhd2FpdCBjbGllbnQuYXR0YWNoTm90ZVRvRmVhdHVyZShcbiAgICAgICAgICBwYXJhbXMubm90ZUlkIGFzIHN0cmluZyxcbiAgICAgICAgICBwYXJhbXMuZmVhdHVyZUlkIGFzIHN0cmluZ1xuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgbWVzc2FnZTogYE5vdGUgJHtwYXJhbXMubm90ZUlkfSBoYXMgYmVlbiBhdHRhY2hlZCB0byBmZWF0dXJlICR7cGFyYW1zLmZlYXR1cmVJZH1gLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICB9LFxuICBdO1xufVxuIl19
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvbm90ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFJSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUEwQjtJQUN4RCxPQUFPO1FBQ0wsaUJBQWlCO1FBQ2pCO1lBQ0UsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixXQUFXLEVBQ1Qsc0pBQXNKO1lBQ3hKLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsUUFBUTtnQkFDZCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxFQUFFO3dCQUNQLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSwwREFBMEQ7cUJBQ3hFO29CQUNELEtBQUssRUFBRTt3QkFDTCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsNkJBQTZCO3FCQUMzQztvQkFDRCxVQUFVLEVBQUU7d0JBQ1YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLGtFQUFrRTtxQkFDaEY7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSxpRUFBaUU7cUJBQy9FO29CQUNELGNBQWMsRUFBRTt3QkFDZCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsZ0NBQWdDO3FCQUM5QztvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLDZDQUE2QztxQkFDM0Q7b0JBQ0QsUUFBUSxFQUFFO3dCQUNSLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSw0Q0FBNEM7cUJBQzFEO29CQUNELFdBQVcsRUFBRTt3QkFDWCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsa0RBQWtEO3FCQUNoRTtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsSUFBSSxFQUFFLFFBQVE7d0JBQ2Qs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Q0QsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQzthQUNsQztZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sTUFBTSxDQUFDLG1CQUFtQixDQUM5QixNQUFNLENBQUMsTUFBZ0IsRUFDdkIsTUFBTSxDQUFDLFNBQW1CLENBQzNCLENBQUM7Z0JBQ0YsT0FBTztvQkFDTCxPQUFPLEVBQUUsSUFBSTtvQkFDYixPQUFPLEVBQUUsUUFBUSxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtpQkFDbEYsQ0FBQztZQUNKLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm9kdWN0Qm9hcmQgTm90ZS9GZWVkYmFjayBNYW5hZ2VtZW50IFRvb2xzXG4gKi9cblxuaW1wb3J0IHsgUHJvZHVjdEJvYXJkQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50L2FwaS1jbGllbnQuanMnO1xuaW1wb3J0IHsgVG9vbERlZmluaXRpb24sIENyZWF0ZU5vdGVQYXJhbXMsIExpc3ROb3Rlc1BhcmFtcyB9IGZyb20gJy4uL2NsaWVudC90eXBlcy5qcyc7XG5pbXBvcnQgeyBjbGVhblRleHQgfSBmcm9tICcuLi91dGlscy9zYW5pdGl6ZS5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOb3RlVG9vbHMoY2xpZW50OiBQcm9kdWN0Qm9hcmRDbGllbnQpOiBUb29sRGVmaW5pdGlvbltdIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBwYl9ub3RlX2NyZWF0ZVxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9ub3RlX2NyZWF0ZScsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0NyZWF0ZSBhIGN1c3RvbWVyIGZlZWRiYWNrIG5vdGUgaW4gUHJvZHVjdEJvYXJkLiBOb3RlcyBjYXB0dXJlIGN1c3RvbWVyIGluc2lnaHRzLCBmZWF0dXJlIHJlcXVlc3RzLCBvciB1c2VyIGZlZWRiYWNrIHRoYXQgY2FuIGJlIGxpbmtlZCB0byBmZWF0dXJlcy4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgbm90ZSBjb250ZW50L2ZlZWRiYWNrIHRleHQgKHJlcXVpcmVkLCBzdXBwb3J0cyBIVE1MKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGlvbmFsIHRpdGxlIGZvciB0aGUgbm90ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkaXNwbGF5VXJsOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVVJMIHRvIHRoZSBvcmlnaW5hbCBzb3VyY2UgKGUuZy4sIHN1cHBvcnQgdGlja2V0LCBTbGFjayBtZXNzYWdlKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzb3VyY2VPcmlnaW46IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdPcmlnaW4gc3lzdGVtIGlkZW50aWZpZXIgKGUuZy4sIFwiemVuZGVza1wiLCBcImludGVyY29tXCIsIFwic2xhY2tcIiknLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc291cmNlUmVjb3JkSWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdSZWNvcmQgSUQgaW4gdGhlIG9yaWdpbiBzeXN0ZW0nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdXNlckVtYWlsOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRW1haWwgb2YgdGhlIHVzZXIgd2hvIHByb3ZpZGVkIHRoZSBmZWVkYmFjaycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB1c2VyTmFtZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIHVzZXIgd2hvIHByb3ZpZGVkIHRoZSBmZWVkYmFjaycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21wYW55TmFtZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0NvbXBhbnkvb3JnYW5pemF0aW9uIG5hbWUgb2YgdGhlIGZlZWRiYWNrIHNvdXJjZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21wYW55SWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdFeHRlcm5hbCBjb21wYW55IElEJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRhZ3M6IHtcbiAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0FycmF5IG9mIHRhZ3MgdG8gY2F0ZWdvcml6ZSB0aGUgbm90ZScsXG4gICAgICAgICAgICBpdGVtczogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmVkOiBbJ2NvbnRlbnQnXSxcbiAgICAgIH0sXG4gICAgICBleGVjdXRlOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZVBhcmFtczogQ3JlYXRlTm90ZVBhcmFtcyA9IHtcbiAgICAgICAgICBjb250ZW50OiBwYXJhbXMuY29udGVudCBhcyBzdHJpbmcsXG4gICAgICAgICAgdGl0bGU6IHBhcmFtcy50aXRsZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgZGlzcGxheVVybDogcGFyYW1zLmRpc3BsYXlVcmwgYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIHRhZ3M6IHBhcmFtcy50YWdzIGFzIHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFNldCBzb3VyY2UgaWYgcHJvdmlkZWRcbiAgICAgICAgaWYgKHBhcmFtcy5zb3VyY2VPcmlnaW4gfHwgcGFyYW1zLnNvdXJjZVJlY29yZElkKSB7XG4gICAgICAgICAgY3JlYXRlUGFyYW1zLnNvdXJjZSA9IHtcbiAgICAgICAgICAgIG9yaWdpbjogcGFyYW1zLnNvdXJjZU9yaWdpbiBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICByZWNvcmRfaWQ6IHBhcmFtcy5zb3VyY2VSZWNvcmRJZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCB1c2VyIGlmIHByb3ZpZGVkXG4gICAgICAgIGlmIChwYXJhbXMudXNlckVtYWlsKSB7XG4gICAgICAgICAgY3JlYXRlUGFyYW1zLnVzZXIgPSB7XG4gICAgICAgICAgICBlbWFpbDogcGFyYW1zLnVzZXJFbWFpbCBhcyBzdHJpbmcsXG4gICAgICAgICAgICBuYW1lOiBwYXJhbXMudXNlck5hbWUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgY29tcGFueSBpZiBwcm92aWRlZFxuICAgICAgICBpZiAocGFyYW1zLmNvbXBhbnlOYW1lIHx8IHBhcmFtcy5jb21wYW55SWQpIHtcbiAgICAgICAgICBjcmVhdGVQYXJhbXMuY29tcGFueSA9IHtcbiAgICAgICAgICAgIG5hbWU6IHBhcmFtcy5jb21wYW55TmFtZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICBpZDogcGFyYW1zLmNvbXBhbnlJZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5vdGUgPSBhd2FpdCBjbGllbnQuY3JlYXRlTm90ZShjcmVhdGVQYXJhbXMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgbm90ZToge1xuICAgICAgICAgICAgaWQ6IG5vdGUuaWQsXG4gICAgICAgICAgICB0aXRsZTogbm90ZS50aXRsZSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNsZWFuVGV4dChub3RlLmNvbnRlbnQsIDIwMCksXG4gICAgICAgICAgICB1c2VyOiBub3RlLnVzZXI/LmVtYWlsLFxuICAgICAgICAgICAgY29tcGFueTogbm90ZS5jb21wYW55Py5uYW1lLFxuICAgICAgICAgICAgdGFnczogbm90ZS50YWdzLFxuICAgICAgICAgICAgdXJsOiBub3RlLmxpbmtzPy5odG1sLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9ub3RlX2xpc3RcbiAgICB7XG4gICAgICBuYW1lOiAncGJfbm90ZV9saXN0JyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnTGlzdCBjdXN0b21lciBmZWVkYmFjayBub3RlcyBpbiBQcm9kdWN0Qm9hcmQuIENhbiBmaWx0ZXIgYnkgZGF0ZSByYW5nZS4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGxpbWl0OiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTWF4aW11bSBudW1iZXIgb2Ygbm90ZXMgdG8gcmV0dXJuIChkZWZhdWx0OiA1MCknLFxuICAgICAgICAgICAgZGVmYXVsdDogNTAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjcmVhdGVkRnJvbToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0ZpbHRlciBub3RlcyBjcmVhdGVkIG9uIG9yIGFmdGVyIHRoaXMgZGF0ZSAoSVNPIDg2MDEpJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNyZWF0ZWRUbzoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0ZpbHRlciBub3RlcyBjcmVhdGVkIG9uIG9yIGJlZm9yZSB0aGlzIGRhdGUgKElTTyA4NjAxKScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBleGVjdXRlOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3RQYXJhbXM6IExpc3ROb3Rlc1BhcmFtcyA9IHtcbiAgICAgICAgICBsaW1pdDogcGFyYW1zLmxpbWl0IGFzIG51bWJlciB8fCA1MCxcbiAgICAgICAgICBjcmVhdGVkRnJvbTogcGFyYW1zLmNyZWF0ZWRGcm9tIGFzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICBjcmVhdGVkVG86IHBhcmFtcy5jcmVhdGVkVG8gYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IG5vdGVzID0gYXdhaXQgY2xpZW50Lmxpc3ROb3RlcyhsaXN0UGFyYW1zKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb3VudDogbm90ZXMubGVuZ3RoLFxuICAgICAgICAgIG5vdGVzOiBub3Rlcy5tYXAoKG4pID0+ICh7XG4gICAgICAgICAgICBpZDogbi5pZCxcbiAgICAgICAgICAgIHRpdGxlOiBuLnRpdGxlLFxuICAgICAgICAgICAgY29udGVudDogY2xlYW5UZXh0KG4uY29udGVudCwgMjAwKSxcbiAgICAgICAgICAgIHVzZXI6IG4udXNlcj8uZW1haWwsXG4gICAgICAgICAgICBjb21wYW55OiBuLmNvbXBhbnk/Lm5hbWUsXG4gICAgICAgICAgICB0YWdzOiBuLnRhZ3MsXG4gICAgICAgICAgICBmZWF0dXJlQ291bnQ6IG4uZmVhdHVyZXM/Lmxlbmd0aCB8fCAwLFxuICAgICAgICAgICAgY3JlYXRlZEF0OiBuLmNyZWF0ZWRBdCxcbiAgICAgICAgICAgIHVybDogbi5saW5rcz8uaHRtbCxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9ub3RlX2F0dGFjaFxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9ub3RlX2F0dGFjaCcsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0F0dGFjaCBhIG5vdGUgdG8gYSBmZWF0dXJlLiBUaGlzIGxpbmtzIGN1c3RvbWVyIGZlZWRiYWNrIHRvIGEgc3BlY2lmaWMgZmVhdHVyZSBmb3IgaW5zaWdodHMgYWdncmVnYXRpb24uJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBub3RlSWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJRCBvZiB0aGUgbm90ZSB0byBhdHRhY2gnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmVhdHVyZUlkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSUQgb2YgdGhlIGZlYXR1cmUgdG8gYXR0YWNoIHRoZSBub3RlIHRvJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICByZXF1aXJlZDogWydub3RlSWQnLCAnZmVhdHVyZUlkJ10sXG4gICAgICB9LFxuICAgICAgZXhlY3V0ZTogYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgICBhd2FpdCBjbGllbnQuYXR0YWNoTm90ZVRvRmVhdHVyZShcbiAgICAgICAgICBwYXJhbXMubm90ZUlkIGFzIHN0cmluZyxcbiAgICAgICAgICBwYXJhbXMuZmVhdHVyZUlkIGFzIHN0cmluZ1xuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgbWVzc2FnZTogYE5vdGUgJHtwYXJhbXMubm90ZUlkfSBoYXMgYmVlbiBhdHRhY2hlZCB0byBmZWF0dXJlICR7cGFyYW1zLmZlYXR1cmVJZH1gLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICB9LFxuICBdO1xufVxuIl19
|
package/dist/tools/products.js
CHANGED
|
@@ -18,7 +18,7 @@ export function createProductTools(client) {
|
|
|
18
18
|
},
|
|
19
19
|
},
|
|
20
20
|
},
|
|
21
|
-
|
|
21
|
+
execute: async (params) => {
|
|
22
22
|
const products = await client.listProducts({
|
|
23
23
|
limit: params.limit || 50,
|
|
24
24
|
});
|
|
@@ -53,7 +53,7 @@ export function createProductTools(client) {
|
|
|
53
53
|
},
|
|
54
54
|
required: ['id'],
|
|
55
55
|
},
|
|
56
|
-
|
|
56
|
+
execute: async (params) => {
|
|
57
57
|
const product = await client.getProduct(params.id);
|
|
58
58
|
const result = {
|
|
59
59
|
id: product.id,
|
|
@@ -87,7 +87,7 @@ export function createProductTools(client) {
|
|
|
87
87
|
type: 'object',
|
|
88
88
|
properties: {},
|
|
89
89
|
},
|
|
90
|
-
|
|
90
|
+
execute: async () => {
|
|
91
91
|
const hierarchy = await client.getProductHierarchy();
|
|
92
92
|
// Build tree structure
|
|
93
93
|
const productMap = new Map();
|
|
@@ -143,4 +143,4 @@ export function createProductTools(client) {
|
|
|
143
143
|
},
|
|
144
144
|
];
|
|
145
145
|
}
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvcHJvZHVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFJSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQTBCO0lBQzNELE9BQU87UUFDTCxrQkFBa0I7UUFDbEI7WUFDRSxJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLFdBQVcsRUFDVCw2R0FBNkc7WUFDL0csVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLG9EQUFvRDt3QkFDakUsT0FBTyxFQUFFLEVBQUU7cUJBQ1o7aUJBQ0Y7YUFDRjtZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLFlBQVksQ0FBQztvQkFDekMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFlLElBQUksRUFBRTtpQkFDcEMsQ0FBQyxDQUFDO2dCQUNILE9BQU87b0JBQ0wsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNO29CQUN0QixRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDN0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO3dCQUNSLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTt3QkFDWixXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDO3dCQUMxQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVM7d0JBQ3RCLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUk7cUJBQ25CLENBQUMsQ0FBQztpQkFDSixD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Q0FBQztnQ0FDeEIsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dDQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTs2QkFDaEIsQ0FBQyxDQUFDO3dCQUNMLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE9BQU87b0JBQ0wsWUFBWSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTTtvQkFDdkMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTTtvQkFDM0MsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2lCQUMzQyxDQUFDO1lBQ0osQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFByb2R1Y3RCb2FyZCBQcm9kdWN0IE1hbmFnZW1lbnQgVG9vbHNcbiAqL1xuXG5pbXBvcnQgeyBQcm9kdWN0Qm9hcmRDbGllbnQgfSBmcm9tICcuLi9jbGllbnQvYXBpLWNsaWVudC5qcyc7XG5pbXBvcnQgeyBUb29sRGVmaW5pdGlvbiB9IGZyb20gJy4uL2NsaWVudC90eXBlcy5qcyc7XG5pbXBvcnQgeyBjbGVhblRleHQgfSBmcm9tICcuLi91dGlscy9zYW5pdGl6ZS5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9kdWN0VG9vbHMoY2xpZW50OiBQcm9kdWN0Qm9hcmRDbGllbnQpOiBUb29sRGVmaW5pdGlvbltdIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBwYl9wcm9kdWN0X2xpc3RcbiAgICB7XG4gICAgICBuYW1lOiAncGJfcHJvZHVjdF9saXN0JyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnTGlzdCBhbGwgcHJvZHVjdHMgaW4gdGhlIFByb2R1Y3RCb2FyZCB3b3Jrc3BhY2UuIFByb2R1Y3RzIGFyZSB0b3AtbGV2ZWwgY29udGFpbmVycyBmb3Igb3JnYW5pemluZyBmZWF0dXJlcy4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGxpbWl0OiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTWF4aW11bSBudW1iZXIgb2YgcHJvZHVjdHMgdG8gcmV0dXJuIChkZWZhdWx0OiA1MCknLFxuICAgICAgICAgICAgZGVmYXVsdDogNTAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBoYW5kbGVyOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb2R1Y3RzID0gYXdhaXQgY2xpZW50Lmxpc3RQcm9kdWN0cyh7XG4gICAgICAgICAgbGltaXQ6IHBhcmFtcy5saW1pdCBhcyBudW1iZXIgfHwgNTAsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvdW50OiBwcm9kdWN0cy5sZW5ndGgsXG4gICAgICAgICAgcHJvZHVjdHM6IHByb2R1Y3RzLm1hcCgocCkgPT4gKHtcbiAgICAgICAgICAgIGlkOiBwLmlkLFxuICAgICAgICAgICAgbmFtZTogcC5uYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGNsZWFuVGV4dChwLmRlc2NyaXB0aW9uLCAyMDApLFxuICAgICAgICAgICAgY3JlYXRlZEF0OiBwLmNyZWF0ZWRBdCxcbiAgICAgICAgICAgIHVybDogcC5saW5rcz8uaHRtbCxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9wcm9kdWN0X2dldFxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9wcm9kdWN0X2dldCcsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0dldCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIHByb2R1Y3QgYnkgSUQsIGluY2x1ZGluZyBpdHMgY29tcG9uZW50cy4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnUHJvZHVjdCBJRCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpbmNsdWRlQ29tcG9uZW50czoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJbmNsdWRlIHRoZSBsaXN0IG9mIGNvbXBvbmVudHMgdW5kZXIgdGhpcyBwcm9kdWN0JyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsnaWQnXSxcbiAgICAgIH0sXG4gICAgICBoYW5kbGVyOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb2R1Y3QgPSBhd2FpdCBjbGllbnQuZ2V0UHJvZHVjdChwYXJhbXMuaWQgYXMgc3RyaW5nKTtcblxuICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgICAgIGlkOiBwcm9kdWN0LmlkLFxuICAgICAgICAgIG5hbWU6IHByb2R1Y3QubmFtZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogcHJvZHVjdC5kZXNjcmlwdGlvbixcbiAgICAgICAgICBjcmVhdGVkQXQ6IHByb2R1Y3QuY3JlYXRlZEF0LFxuICAgICAgICAgIHVwZGF0ZWRBdDogcHJvZHVjdC51cGRhdGVkQXQsXG4gICAgICAgICAgdXJsOiBwcm9kdWN0LmxpbmtzPy5odG1sLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIE9wdGlvbmFsbHkgaW5jbHVkZSBjb21wb25lbnRzXG4gICAgICAgIGlmIChwYXJhbXMuaW5jbHVkZUNvbXBvbmVudHMgIT09IGZhbHNlKSB7XG4gICAgICAgICAgY29uc3QgY29tcG9uZW50cyA9IGF3YWl0IGNsaWVudC5saXN0Q29tcG9uZW50cyh7XG4gICAgICAgICAgICBwcm9kdWN0SWQ6IHByb2R1Y3QuaWQsXG4gICAgICAgICAgICBsaW1pdDogMTAwLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJlc3VsdC5jb21wb25lbnRzID0gY29tcG9uZW50cy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICBpZDogYy5pZCxcbiAgICAgICAgICAgIG5hbWU6IGMubmFtZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjbGVhblRleHQoYy5kZXNjcmlwdGlvbiwgMjAwKSxcbiAgICAgICAgICB9KSk7XG4gICAgICAgICAgcmVzdWx0LmNvbXBvbmVudENvdW50ID0gY29tcG9uZW50cy5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSxcbiAgICB9LFxuXG4gICAgLy8gcGJfcHJvZHVjdF9oaWVyYXJjaHlcbiAgICB7XG4gICAgICBuYW1lOiAncGJfcHJvZHVjdF9oaWVyYXJjaHknLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdHZXQgdGhlIGNvbXBsZXRlIHByb2R1Y3QgaGllcmFyY2h5IGluY2x1ZGluZyBhbGwgcHJvZHVjdHMgYW5kIHRoZWlyIGNvbXBvbmVudHMuIFVzZWZ1bCBmb3IgdW5kZXJzdGFuZGluZyB0aGUgd29ya3NwYWNlIHN0cnVjdHVyZS4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge30sXG4gICAgICB9LFxuICAgICAgaGFuZGxlcjogYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBoaWVyYXJjaHkgPSBhd2FpdCBjbGllbnQuZ2V0UHJvZHVjdEhpZXJhcmNoeSgpO1xuXG4gICAgICAgIC8vIEJ1aWxkIHRyZWUgc3RydWN0dXJlXG4gICAgICAgIGNvbnN0IHByb2R1Y3RNYXAgPSBuZXcgTWFwPHN0cmluZywge1xuICAgICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgICAgIGNvbXBvbmVudHM6IEFycmF5PHtcbiAgICAgICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgICAgICAgIHN1YmNvbXBvbmVudHM6IEFycmF5PHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+O1xuICAgICAgICAgIH0+O1xuICAgICAgICB9PigpO1xuXG4gICAgICAgIC8vIEluaXRpYWxpemUgcHJvZHVjdHNcbiAgICAgICAgZm9yIChjb25zdCBwcm9kdWN0IG9mIGhpZXJhcmNoeS5wcm9kdWN0cykge1xuICAgICAgICAgIHByb2R1Y3RNYXAuc2V0KHByb2R1Y3QuaWQsIHtcbiAgICAgICAgICAgIGlkOiBwcm9kdWN0LmlkLFxuICAgICAgICAgICAgbmFtZTogcHJvZHVjdC5uYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGNsZWFuVGV4dChwcm9kdWN0LmRlc2NyaXB0aW9uLCAyMDApLFxuICAgICAgICAgICAgY29tcG9uZW50czogW10sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCdWlsZCBjb21wb25lbnQgdHJlZSAoY29tcG9uZW50cyBjYW4gYmUgbmVzdGVkKVxuICAgICAgICBjb25zdCBjb21wb25lbnRNYXAgPSBuZXcgTWFwPHN0cmluZywgdHlwZW9mIGhpZXJhcmNoeS5jb21wb25lbnRzWzBdICYgeyBzdWJjb21wb25lbnRzOiBBcnJheTx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9PiB9PigpO1xuXG4gICAgICAgIGZvciAoY29uc3QgY29tcG9uZW50IG9mIGhpZXJhcmNoeS5jb21wb25lbnRzKSB7XG4gICAgICAgICAgY29tcG9uZW50TWFwLnNldChjb21wb25lbnQuaWQsIHtcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudCxcbiAgICAgICAgICAgIHN1YmNvbXBvbmVudHM6IFtdLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXNzaWduIGNvbXBvbmVudHMgdG8gcGFyZW50c1xuICAgICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBoaWVyYXJjaHkuY29tcG9uZW50cykge1xuICAgICAgICAgIGNvbnN0IGNvbXAgPSBjb21wb25lbnRNYXAuZ2V0KGNvbXBvbmVudC5pZCkhO1xuXG4gICAgICAgICAgaWYgKGNvbXBvbmVudC5wYXJlbnQ/LnByb2R1Y3Q/LmlkKSB7XG4gICAgICAgICAgICAvLyBUb3AtbGV2ZWwgY29tcG9uZW50IHVuZGVyIGEgcHJvZHVjdFxuICAgICAgICAgICAgY29uc3QgcHJvZHVjdCA9IHByb2R1Y3RNYXAuZ2V0KGNvbXBvbmVudC5wYXJlbnQucHJvZHVjdC5pZCk7XG4gICAgICAgICAgICBpZiAocHJvZHVjdCkge1xuICAgICAgICAgICAgICBwcm9kdWN0LmNvbXBvbmVudHMucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6IGNvbXAuaWQsXG4gICAgICAgICAgICAgICAgbmFtZTogY29tcC5uYW1lLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjbGVhblRleHQoY29tcC5kZXNjcmlwdGlvbiwgMjAwKSxcbiAgICAgICAgICAgICAgICBzdWJjb21wb25lbnRzOiBjb21wLnN1YmNvbXBvbmVudHMsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoY29tcG9uZW50LnBhcmVudD8uY29tcG9uZW50Py5pZCkge1xuICAgICAgICAgICAgLy8gTmVzdGVkIGNvbXBvbmVudFxuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gY29tcG9uZW50TWFwLmdldChjb21wb25lbnQucGFyZW50LmNvbXBvbmVudC5pZCk7XG4gICAgICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICAgIHBhcmVudC5zdWJjb21wb25lbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBjb21wLmlkLFxuICAgICAgICAgICAgICAgIG5hbWU6IGNvbXAubmFtZSxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9kdWN0Q291bnQ6IGhpZXJhcmNoeS5wcm9kdWN0cy5sZW5ndGgsXG4gICAgICAgICAgY29tcG9uZW50Q291bnQ6IGhpZXJhcmNoeS5jb21wb25lbnRzLmxlbmd0aCxcbiAgICAgICAgICBoaWVyYXJjaHk6IEFycmF5LmZyb20ocHJvZHVjdE1hcC52YWx1ZXMoKSksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG4gIF07XG59XG4iXX0=
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvcHJvZHVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFJSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQTBCO0lBQzNELE9BQU87UUFDTCxrQkFBa0I7UUFDbEI7WUFDRSxJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLFdBQVcsRUFDVCw2R0FBNkc7WUFDL0csVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLG9EQUFvRDt3QkFDakUsT0FBTyxFQUFFLEVBQUU7cUJBQ1o7aUJBQ0Y7YUFDRjtZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLFlBQVksQ0FBQztvQkFDekMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFlLElBQUksRUFBRTtpQkFDcEMsQ0FBQyxDQUFDO2dCQUNILE9BQU87b0JBQ0wsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNO29CQUN0QixRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDN0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO3dCQUNSLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTt3QkFDWixXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDO3dCQUMxQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVM7d0JBQ3RCLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUk7cUJBQ25CLENBQUMsQ0FBQztpQkFDSixD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Q0FBQztnQ0FDeEIsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dDQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTs2QkFDaEIsQ0FBQyxDQUFDO3dCQUNMLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE9BQU87b0JBQ0wsWUFBWSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTTtvQkFDdkMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTTtvQkFDM0MsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2lCQUMzQyxDQUFDO1lBQ0osQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFByb2R1Y3RCb2FyZCBQcm9kdWN0IE1hbmFnZW1lbnQgVG9vbHNcbiAqL1xuXG5pbXBvcnQgeyBQcm9kdWN0Qm9hcmRDbGllbnQgfSBmcm9tICcuLi9jbGllbnQvYXBpLWNsaWVudC5qcyc7XG5pbXBvcnQgeyBUb29sRGVmaW5pdGlvbiB9IGZyb20gJy4uL2NsaWVudC90eXBlcy5qcyc7XG5pbXBvcnQgeyBjbGVhblRleHQgfSBmcm9tICcuLi91dGlscy9zYW5pdGl6ZS5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9kdWN0VG9vbHMoY2xpZW50OiBQcm9kdWN0Qm9hcmRDbGllbnQpOiBUb29sRGVmaW5pdGlvbltdIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBwYl9wcm9kdWN0X2xpc3RcbiAgICB7XG4gICAgICBuYW1lOiAncGJfcHJvZHVjdF9saXN0JyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnTGlzdCBhbGwgcHJvZHVjdHMgaW4gdGhlIFByb2R1Y3RCb2FyZCB3b3Jrc3BhY2UuIFByb2R1Y3RzIGFyZSB0b3AtbGV2ZWwgY29udGFpbmVycyBmb3Igb3JnYW5pemluZyBmZWF0dXJlcy4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGxpbWl0OiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTWF4aW11bSBudW1iZXIgb2YgcHJvZHVjdHMgdG8gcmV0dXJuIChkZWZhdWx0OiA1MCknLFxuICAgICAgICAgICAgZGVmYXVsdDogNTAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBleGVjdXRlOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb2R1Y3RzID0gYXdhaXQgY2xpZW50Lmxpc3RQcm9kdWN0cyh7XG4gICAgICAgICAgbGltaXQ6IHBhcmFtcy5saW1pdCBhcyBudW1iZXIgfHwgNTAsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvdW50OiBwcm9kdWN0cy5sZW5ndGgsXG4gICAgICAgICAgcHJvZHVjdHM6IHByb2R1Y3RzLm1hcCgocCkgPT4gKHtcbiAgICAgICAgICAgIGlkOiBwLmlkLFxuICAgICAgICAgICAgbmFtZTogcC5uYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGNsZWFuVGV4dChwLmRlc2NyaXB0aW9uLCAyMDApLFxuICAgICAgICAgICAgY3JlYXRlZEF0OiBwLmNyZWF0ZWRBdCxcbiAgICAgICAgICAgIHVybDogcC5saW5rcz8uaHRtbCxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBwYl9wcm9kdWN0X2dldFxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl9wcm9kdWN0X2dldCcsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0dldCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIHByb2R1Y3QgYnkgSUQsIGluY2x1ZGluZyBpdHMgY29tcG9uZW50cy4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnUHJvZHVjdCBJRCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpbmNsdWRlQ29tcG9uZW50czoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdJbmNsdWRlIHRoZSBsaXN0IG9mIGNvbXBvbmVudHMgdW5kZXIgdGhpcyBwcm9kdWN0JyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsnaWQnXSxcbiAgICAgIH0sXG4gICAgICBleGVjdXRlOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb2R1Y3QgPSBhd2FpdCBjbGllbnQuZ2V0UHJvZHVjdChwYXJhbXMuaWQgYXMgc3RyaW5nKTtcblxuICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgICAgIGlkOiBwcm9kdWN0LmlkLFxuICAgICAgICAgIG5hbWU6IHByb2R1Y3QubmFtZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogcHJvZHVjdC5kZXNjcmlwdGlvbixcbiAgICAgICAgICBjcmVhdGVkQXQ6IHByb2R1Y3QuY3JlYXRlZEF0LFxuICAgICAgICAgIHVwZGF0ZWRBdDogcHJvZHVjdC51cGRhdGVkQXQsXG4gICAgICAgICAgdXJsOiBwcm9kdWN0LmxpbmtzPy5odG1sLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIE9wdGlvbmFsbHkgaW5jbHVkZSBjb21wb25lbnRzXG4gICAgICAgIGlmIChwYXJhbXMuaW5jbHVkZUNvbXBvbmVudHMgIT09IGZhbHNlKSB7XG4gICAgICAgICAgY29uc3QgY29tcG9uZW50cyA9IGF3YWl0IGNsaWVudC5saXN0Q29tcG9uZW50cyh7XG4gICAgICAgICAgICBwcm9kdWN0SWQ6IHByb2R1Y3QuaWQsXG4gICAgICAgICAgICBsaW1pdDogMTAwLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJlc3VsdC5jb21wb25lbnRzID0gY29tcG9uZW50cy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICBpZDogYy5pZCxcbiAgICAgICAgICAgIG5hbWU6IGMubmFtZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjbGVhblRleHQoYy5kZXNjcmlwdGlvbiwgMjAwKSxcbiAgICAgICAgICB9KSk7XG4gICAgICAgICAgcmVzdWx0LmNvbXBvbmVudENvdW50ID0gY29tcG9uZW50cy5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSxcbiAgICB9LFxuXG4gICAgLy8gcGJfcHJvZHVjdF9oaWVyYXJjaHlcbiAgICB7XG4gICAgICBuYW1lOiAncGJfcHJvZHVjdF9oaWVyYXJjaHknLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdHZXQgdGhlIGNvbXBsZXRlIHByb2R1Y3QgaGllcmFyY2h5IGluY2x1ZGluZyBhbGwgcHJvZHVjdHMgYW5kIHRoZWlyIGNvbXBvbmVudHMuIFVzZWZ1bCBmb3IgdW5kZXJzdGFuZGluZyB0aGUgd29ya3NwYWNlIHN0cnVjdHVyZS4nLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge30sXG4gICAgICB9LFxuICAgICAgZXhlY3V0ZTogYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBoaWVyYXJjaHkgPSBhd2FpdCBjbGllbnQuZ2V0UHJvZHVjdEhpZXJhcmNoeSgpO1xuXG4gICAgICAgIC8vIEJ1aWxkIHRyZWUgc3RydWN0dXJlXG4gICAgICAgIGNvbnN0IHByb2R1Y3RNYXAgPSBuZXcgTWFwPHN0cmluZywge1xuICAgICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgICAgIGNvbXBvbmVudHM6IEFycmF5PHtcbiAgICAgICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgICAgICAgIHN1YmNvbXBvbmVudHM6IEFycmF5PHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+O1xuICAgICAgICAgIH0+O1xuICAgICAgICB9PigpO1xuXG4gICAgICAgIC8vIEluaXRpYWxpemUgcHJvZHVjdHNcbiAgICAgICAgZm9yIChjb25zdCBwcm9kdWN0IG9mIGhpZXJhcmNoeS5wcm9kdWN0cykge1xuICAgICAgICAgIHByb2R1Y3RNYXAuc2V0KHByb2R1Y3QuaWQsIHtcbiAgICAgICAgICAgIGlkOiBwcm9kdWN0LmlkLFxuICAgICAgICAgICAgbmFtZTogcHJvZHVjdC5uYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGNsZWFuVGV4dChwcm9kdWN0LmRlc2NyaXB0aW9uLCAyMDApLFxuICAgICAgICAgICAgY29tcG9uZW50czogW10sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCdWlsZCBjb21wb25lbnQgdHJlZSAoY29tcG9uZW50cyBjYW4gYmUgbmVzdGVkKVxuICAgICAgICBjb25zdCBjb21wb25lbnRNYXAgPSBuZXcgTWFwPHN0cmluZywgdHlwZW9mIGhpZXJhcmNoeS5jb21wb25lbnRzWzBdICYgeyBzdWJjb21wb25lbnRzOiBBcnJheTx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9PiB9PigpO1xuXG4gICAgICAgIGZvciAoY29uc3QgY29tcG9uZW50IG9mIGhpZXJhcmNoeS5jb21wb25lbnRzKSB7XG4gICAgICAgICAgY29tcG9uZW50TWFwLnNldChjb21wb25lbnQuaWQsIHtcbiAgICAgICAgICAgIC4uLmNvbXBvbmVudCxcbiAgICAgICAgICAgIHN1YmNvbXBvbmVudHM6IFtdLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXNzaWduIGNvbXBvbmVudHMgdG8gcGFyZW50c1xuICAgICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBoaWVyYXJjaHkuY29tcG9uZW50cykge1xuICAgICAgICAgIGNvbnN0IGNvbXAgPSBjb21wb25lbnRNYXAuZ2V0KGNvbXBvbmVudC5pZCkhO1xuXG4gICAgICAgICAgaWYgKGNvbXBvbmVudC5wYXJlbnQ/LnByb2R1Y3Q/LmlkKSB7XG4gICAgICAgICAgICAvLyBUb3AtbGV2ZWwgY29tcG9uZW50IHVuZGVyIGEgcHJvZHVjdFxuICAgICAgICAgICAgY29uc3QgcHJvZHVjdCA9IHByb2R1Y3RNYXAuZ2V0KGNvbXBvbmVudC5wYXJlbnQucHJvZHVjdC5pZCk7XG4gICAgICAgICAgICBpZiAocHJvZHVjdCkge1xuICAgICAgICAgICAgICBwcm9kdWN0LmNvbXBvbmVudHMucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6IGNvbXAuaWQsXG4gICAgICAgICAgICAgICAgbmFtZTogY29tcC5uYW1lLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjbGVhblRleHQoY29tcC5kZXNjcmlwdGlvbiwgMjAwKSxcbiAgICAgICAgICAgICAgICBzdWJjb21wb25lbnRzOiBjb21wLnN1YmNvbXBvbmVudHMsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoY29tcG9uZW50LnBhcmVudD8uY29tcG9uZW50Py5pZCkge1xuICAgICAgICAgICAgLy8gTmVzdGVkIGNvbXBvbmVudFxuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gY29tcG9uZW50TWFwLmdldChjb21wb25lbnQucGFyZW50LmNvbXBvbmVudC5pZCk7XG4gICAgICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICAgIHBhcmVudC5zdWJjb21wb25lbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBjb21wLmlkLFxuICAgICAgICAgICAgICAgIG5hbWU6IGNvbXAubmFtZSxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9kdWN0Q291bnQ6IGhpZXJhcmNoeS5wcm9kdWN0cy5sZW5ndGgsXG4gICAgICAgICAgY29tcG9uZW50Q291bnQ6IGhpZXJhcmNoeS5jb21wb25lbnRzLmxlbmd0aCxcbiAgICAgICAgICBoaWVyYXJjaHk6IEFycmF5LmZyb20ocHJvZHVjdE1hcC52YWx1ZXMoKSksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0sXG4gIF07XG59XG4iXX0=
|
package/dist/tools/search.js
CHANGED
|
@@ -27,7 +27,7 @@ export function createSearchTools(client) {
|
|
|
27
27
|
},
|
|
28
28
|
required: ['query'],
|
|
29
29
|
},
|
|
30
|
-
|
|
30
|
+
execute: async (params) => {
|
|
31
31
|
const searchParams = {
|
|
32
32
|
query: params.query,
|
|
33
33
|
type: params.type,
|
|
@@ -67,7 +67,7 @@ export function createSearchTools(client) {
|
|
|
67
67
|
type: 'object',
|
|
68
68
|
properties: {},
|
|
69
69
|
},
|
|
70
|
-
|
|
70
|
+
execute: async () => {
|
|
71
71
|
const user = await client.getCurrentUser();
|
|
72
72
|
return {
|
|
73
73
|
id: user.id,
|
|
@@ -93,7 +93,7 @@ export function createSearchTools(client) {
|
|
|
93
93
|
},
|
|
94
94
|
},
|
|
95
95
|
},
|
|
96
|
-
|
|
96
|
+
execute: async (params) => {
|
|
97
97
|
const users = await client.listUsers({
|
|
98
98
|
limit: params.limit || 100,
|
|
99
99
|
});
|
|
@@ -110,4 +110,4 @@ export function createSearchTools(client) {
|
|
|
110
110
|
},
|
|
111
111
|
];
|
|
112
112
|
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rvb2xzL3NlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUtILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUEwQjtJQUMxRCxPQUFPO1FBQ0wsWUFBWTtRQUNaO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsV0FBVyxFQUNULG1IQUFtSDtZQUNySCxVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsVUFBVSxFQUFFO29CQUNWLEtBQUssRUFBRTt3QkFDTCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsbUJBQW1CO3FCQUNqQztvQkFDRCxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLCtCQUErQjt3QkFDNUMsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDO3FCQUNsRDtvQkFDRCxLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLHlDQUF5Qzt3QkFDdEQsT0FBTyxFQUFFLEVBQUU7cUJBQ1o7aUJBQ0Y7Z0JBQ0QsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDO2FBQ3BCO1lBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxZQUFZLEdBQWlCO29CQUNqQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQWU7b0JBQzdCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBZ0U7b0JBQzdFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBZSxJQUFJLEVBQUU7aUJBQ3BDLENBQUM7Z0JBRUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUVsRCx3QkFBd0I7Z0JBQ3hCLE1BQU0sT0FBTyxHQUE4QjtvQkFDekMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLEVBQUU7b0JBQ2QsS0FBSyxFQUFFLEVBQUU7aUJBQ1YsQ0FBQztnQkFFRixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUM3QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztvQkFDOUIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQzs0QkFDaEIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFOzRCQUNiLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLOzRCQUNqQyxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsT0FBTzs0QkFDakQsR0FBRyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSTt5QkFDeEIsQ0FBQyxDQUFDO29CQUNMLENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxPQUFPO29CQUNMLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTTtvQkFDMUIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO29CQUNuQixPQUFPLEVBQUUsT0FBTztpQkFDakIsQ0FBQztZQUNKLENBQUM7U0FDRjtRQUVELGtCQUFrQjtRQUNsQjtZQUNFLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsV0FBVyxFQUNULHNGQUFzRjtZQUN4RixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsVUFBVSxFQUFFLEVBQUU7YUFDZjtZQUNELE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDbEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQzNDLE9BQU87b0JBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO29CQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztvQkFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7b0JBQzdCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtpQkFDbEMsQ0FBQztZQUNKLENBQUM7U0FDRjtRQUVELGVBQWU7UUFDZjtZQUNFLElBQUksRUFBRSxjQUFjO1lBQ3BCLFdBQVcsRUFDVCxtR0FBbUc7WUFDckcsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLGtEQUFrRDt3QkFDL0QsT0FBTyxFQUFFLEdBQUc7cUJBQ2I7aUJBQ0Y7YUFDRjtZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sS0FBSyxHQUFHLE1BQU0sTUFBTSxDQUFDLFNBQVMsQ0FBQztvQkFDbkMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFlLElBQUksR0FBRztpQkFDckMsQ0FBQyxDQUFDO2dCQUNILE9BQU87b0JBQ0wsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNO29CQUNuQixLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDdkIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO3dCQUNSLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSzt3QkFDZCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7d0JBQ1osSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO3FCQUNiLENBQUMsQ0FBQztpQkFDSixDQUFDO1lBQ0osQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFByb2R1Y3RCb2FyZCBTZWFyY2ggYW5kIFVzZXIgVG9vbHNcbiAqL1xuXG5pbXBvcnQgeyBQcm9kdWN0Qm9hcmRDbGllbnQgfSBmcm9tICcuLi9jbGllbnQvYXBpLWNsaWVudC5qcyc7XG5pbXBvcnQgeyBUb29sRGVmaW5pdGlvbiwgU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi4vY2xpZW50L3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlYXJjaFRvb2xzKGNsaWVudDogUHJvZHVjdEJvYXJkQ2xpZW50KTogVG9vbERlZmluaXRpb25bXSB7XG4gIHJldHVybiBbXG4gICAgLy8gcGJfc2VhcmNoXG4gICAge1xuICAgICAgbmFtZTogJ3BiX3NlYXJjaCcsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0dsb2JhbCBzZWFyY2ggYWNyb3NzIFByb2R1Y3RCb2FyZC4gU2VhcmNoZXMgZmVhdHVyZXMsIHByb2R1Y3RzLCBjb21wb25lbnRzLCBhbmQgbm90ZXMgYnkgbmFtZSwgdGl0bGUsIG9yIGNvbnRlbnQuJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1NlYXJjaCBxdWVyeSB0ZXh0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdMaW1pdCBzZWFyY2ggdG8gc3BlY2lmaWMgdHlwZScsXG4gICAgICAgICAgICBlbnVtOiBbJ2ZlYXR1cmUnLCAncHJvZHVjdCcsICdjb21wb25lbnQnLCAnbm90ZSddLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbGltaXQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdNYXhpbXVtIHJlc3VsdHMgdG8gcmV0dXJuIChkZWZhdWx0OiAyNSknLFxuICAgICAgICAgICAgZGVmYXVsdDogMjUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZWQ6IFsncXVlcnknXSxcbiAgICAgIH0sXG4gICAgICBleGVjdXRlOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlYXJjaFBhcmFtczogU2VhcmNoUGFyYW1zID0ge1xuICAgICAgICAgIHF1ZXJ5OiBwYXJhbXMucXVlcnkgYXMgc3RyaW5nLFxuICAgICAgICAgIHR5cGU6IHBhcmFtcy50eXBlIGFzICdmZWF0dXJlJyB8ICdub3RlJyB8ICdwcm9kdWN0JyB8ICdjb21wb25lbnQnIHwgdW5kZWZpbmVkLFxuICAgICAgICAgIGxpbWl0OiBwYXJhbXMubGltaXQgYXMgbnVtYmVyIHx8IDI1LFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBjbGllbnQuc2VhcmNoKHNlYXJjaFBhcmFtcyk7XG5cbiAgICAgICAgLy8gR3JvdXAgcmVzdWx0cyBieSB0eXBlXG4gICAgICAgIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd25bXT4gPSB7XG4gICAgICAgICAgZmVhdHVyZXM6IFtdLFxuICAgICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgICBjb21wb25lbnRzOiBbXSxcbiAgICAgICAgICBub3RlczogW10sXG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzdWx0cykge1xuICAgICAgICAgIGNvbnN0IGtleSA9IHJlc3VsdC50eXBlICsgJ3MnO1xuICAgICAgICAgIGlmIChncm91cGVkW2tleV0pIHtcbiAgICAgICAgICAgIGdyb3VwZWRba2V5XS5wdXNoKHtcbiAgICAgICAgICAgICAgaWQ6IHJlc3VsdC5pZCxcbiAgICAgICAgICAgICAgbmFtZTogcmVzdWx0Lm5hbWUgfHwgcmVzdWx0LnRpdGxlLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogcmVzdWx0LmRlc2NyaXB0aW9uIHx8IHJlc3VsdC5jb250ZW50LFxuICAgICAgICAgICAgICB1cmw6IHJlc3VsdC5saW5rcz8uaHRtbCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdG90YWxDb3VudDogcmVzdWx0cy5sZW5ndGgsXG4gICAgICAgICAgcXVlcnk6IHBhcmFtcy5xdWVyeSxcbiAgICAgICAgICByZXN1bHRzOiBncm91cGVkLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICB9LFxuXG4gICAgLy8gcGJfdXNlcl9jdXJyZW50XG4gICAge1xuICAgICAgbmFtZTogJ3BiX3VzZXJfY3VycmVudCcsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0dldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudGx5IGF1dGhlbnRpY2F0ZWQgdXNlciwgaW5jbHVkaW5nIHdvcmtzcGFjZSBkZXRhaWxzLicsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7fSxcbiAgICAgIH0sXG4gICAgICBleGVjdXRlOiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBjbGllbnQuZ2V0Q3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpZDogdXNlci5pZCxcbiAgICAgICAgICBlbWFpbDogdXNlci5lbWFpbCxcbiAgICAgICAgICBuYW1lOiB1c2VyLm5hbWUsXG4gICAgICAgICAgcm9sZTogdXNlci5yb2xlLFxuICAgICAgICAgIHdvcmtzcGFjZUlkOiB1c2VyLndvcmtzcGFjZUlkLFxuICAgICAgICAgIHdvcmtzcGFjZU5hbWU6IHVzZXIud29ya3NwYWNlTmFtZSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIC8vIHBiX3VzZXJfbGlzdFxuICAgIHtcbiAgICAgIG5hbWU6ICdwYl91c2VyX2xpc3QnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdMaXN0IGFsbCB1c2VycyBpbiB0aGUgUHJvZHVjdEJvYXJkIHdvcmtzcGFjZS4gVXNlZnVsIGZvciBmaW5kaW5nIHVzZXIgSURzIGZvciBhc3NpZ25pbmcgZmVhdHVyZXMuJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBsaW1pdDoge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ01heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHJldHVybiAoZGVmYXVsdDogMTAwKScsXG4gICAgICAgICAgICBkZWZhdWx0OiAxMDAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBleGVjdXRlOiBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXJzID0gYXdhaXQgY2xpZW50Lmxpc3RVc2Vycyh7XG4gICAgICAgICAgbGltaXQ6IHBhcmFtcy5saW1pdCBhcyBudW1iZXIgfHwgMTAwLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb3VudDogdXNlcnMubGVuZ3RoLFxuICAgICAgICAgIHVzZXJzOiB1c2Vycy5tYXAoKHUpID0+ICh7XG4gICAgICAgICAgICBpZDogdS5pZCxcbiAgICAgICAgICAgIGVtYWlsOiB1LmVtYWlsLFxuICAgICAgICAgICAgbmFtZTogdS5uYW1lLFxuICAgICAgICAgICAgcm9sZTogdS5yb2xlLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==
|