@data-client/rest 0.7.6 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/index.js +18 -76
  2. package/dist/index.umd.min.js +1 -1
  3. package/dist/next.js +0 -566
  4. package/legacy/NetworkError.js +2 -2
  5. package/legacy/RestEndpoint.js +16 -17
  6. package/legacy/RestEndpointTypes.js +1 -1
  7. package/legacy/createResource.js +2 -2
  8. package/legacy/hookifyResource.js +2 -2
  9. package/legacy/index.js +1 -2
  10. package/legacy/next/index.js +2 -4
  11. package/legacy/resourceTypes.js +1 -1
  12. package/lib/NetworkError.d.ts +1 -1
  13. package/lib/NetworkError.js +2 -2
  14. package/lib/RestEndpoint.d.ts +1 -1
  15. package/lib/RestEndpoint.js +16 -17
  16. package/lib/RestEndpointTypes.d.ts +15 -15
  17. package/lib/RestEndpointTypes.d.ts.map +1 -1
  18. package/lib/RestEndpointTypes.js +1 -1
  19. package/lib/createResource.d.ts +1 -1
  20. package/lib/createResource.js +2 -2
  21. package/lib/hookifyResource.d.ts +1 -1
  22. package/lib/hookifyResource.js +2 -2
  23. package/lib/index.d.ts +0 -1
  24. package/lib/index.d.ts.map +1 -1
  25. package/lib/index.js +1 -2
  26. package/lib/next/index.d.ts +0 -5
  27. package/lib/next/index.d.ts.map +1 -1
  28. package/lib/next/index.js +2 -4
  29. package/lib/resourceTypes.d.ts +13 -13
  30. package/lib/resourceTypes.d.ts.map +1 -1
  31. package/lib/resourceTypes.js +1 -1
  32. package/package.json +2 -2
  33. package/src/NetworkError.ts +1 -1
  34. package/src/RestEndpoint.d.ts +1 -1
  35. package/src/RestEndpoint.js +14 -13
  36. package/src/RestEndpointTypes.ts +15 -15
  37. package/src/__tests__/Resource.test.ts +10 -8
  38. package/src/__tests__/RestEndpoint.ts +55 -13
  39. package/src/__tests__/__snapshots__/RestEndpoint.ts.snap +9 -1
  40. package/src/__tests__/createResource.test.ts +16 -16
  41. package/src/__tests__/hookifyResource.ts +9 -9
  42. package/src/createResource.ts +1 -1
  43. package/src/hookifyResource.ts +1 -1
  44. package/src/index.ts +0 -1
  45. package/src/next/index.ts +0 -5
  46. package/src/resourceTypes.ts +13 -13
  47. package/ts4.0/NetworkError.d.ts +1 -1
  48. package/ts4.0/RestEndpoint.d.ts +1 -1
  49. package/ts4.0/RestEndpointTypes.d.ts +15 -15
  50. package/ts4.0/createResource.d.ts +1 -1
  51. package/ts4.0/hookifyResource.d.ts +1 -1
  52. package/ts4.0/index.d.ts +0 -1
  53. package/ts4.0/next/index.d.ts +0 -5
  54. package/ts4.0/resourceTypes.d.ts +13 -13
  55. package/ts4.1/NetworkError.d.ts +1 -1
  56. package/ts4.1/RestEndpoint.d.ts +1 -1
  57. package/ts4.1/RestEndpointTypes.d.ts +15 -15
  58. package/ts4.1/createResource.d.ts +1 -1
  59. package/ts4.1/hookifyResource.d.ts +1 -1
  60. package/ts4.1/index.d.ts +0 -1
  61. package/ts4.1/next/index.d.ts +0 -5
  62. package/ts4.1/resourceTypes.d.ts +13 -13
  63. package/legacy/getArrayPath.js +0 -19
  64. package/legacy/paginationUpdate.js +0 -36
  65. package/lib/getArrayPath.d.ts +0 -3
  66. package/lib/getArrayPath.d.ts.map +0 -1
  67. package/lib/getArrayPath.js +0 -19
  68. package/lib/paginationUpdate.d.ts +0 -8
  69. package/lib/paginationUpdate.d.ts.map +0 -1
  70. package/lib/paginationUpdate.js +0 -40
  71. package/src/__tests__/getArrayPath.test.ts +0 -30
  72. package/src/getArrayPath.ts +0 -20
  73. package/src/paginationUpdate.ts +0 -49
  74. package/ts4.0/getArrayPath.d.ts +0 -3
  75. package/ts4.0/paginationUpdate.d.ts +0 -10
  76. package/ts4.1/getArrayPath.d.ts +0 -3
  77. package/ts4.1/paginationUpdate.d.ts +0 -10
@@ -6,13 +6,12 @@ import extractCollection from './extractCollection.js';
6
6
  import mapCollection from './mapCollection.js';
7
7
  import NetworkError from './NetworkError.js';
8
8
  import { createPaginationSchema } from './paginatedCollections.js';
9
- import paginationUpdate from './paginationUpdate.js';
10
9
  import paramsToString from './paramsToString.js';
11
10
  import { getUrlBase, getUrlTokens, isPojo } from './RestHelpers.js';
12
11
 
13
12
  /** Simplifies endpoint definitions that follow REST patterns
14
13
  *
15
- * @see https://resthooks.io/rest/api/RestEndpoint
14
+ * @see https://dataclient.io/rest/api/RestEndpoint
16
15
  */
17
16
  var _hasBody = /*#__PURE__*/_classPrivateFieldLooseKey("hasBody");
18
17
  export default class RestEndpoint extends Endpoint {
@@ -129,7 +128,7 @@ export default class RestEndpoint extends Endpoint {
129
128
  See https://www.rfc-editor.org/rfc/rfc4627 for information on JSON responses
130
129
 
131
130
  Using parsed JSON.
132
- If text content was expected see https://resthooks.io/rest/api/RestEndpoint#parseResponse`;
131
+ If text content was expected see https://dataclient.io/rest/api/RestEndpoint#parseResponse`;
133
132
  }
134
133
  } else {
135
134
  error.message = `Unexpected html response for schema ${this.schema}
@@ -190,17 +189,14 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
190
189
  return createPaginationSchema(removeCursor, collection);
191
190
  };
192
191
  const newSchema = mapCollection(this.schema, createPaginatedSchema);
193
- if (found) {
194
- const sup = this;
195
- return this.extend({
196
- schema: newSchema,
197
- key(...args) {
198
- return sup.key.call(this, ...removeCursor(...args));
199
- }
200
- });
201
- }
192
+ if (!found) throw new Error('Missing Collection');
193
+ const sup = this;
202
194
  return this.extend({
203
- update: paginationUpdate(this, removeCursor)
195
+ schema: newSchema,
196
+ key(...args) {
197
+ return sup.key.call(this, ...removeCursor(...args));
198
+ },
199
+ name: this.name + '.getPage'
204
200
  });
205
201
  }
206
202
  get getPage() {
@@ -209,19 +205,22 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
209
205
  get push() {
210
206
  return this.extend({
211
207
  method: 'POST',
212
- schema: extractCollection(this.schema, s => s.push)
208
+ schema: extractCollection(this.schema, s => s.push),
209
+ name: this.name + '.create'
213
210
  });
214
211
  }
215
212
  get unshift() {
216
213
  return this.extend({
217
214
  method: 'POST',
218
- schema: extractCollection(this.schema, s => s.unshift)
215
+ schema: extractCollection(this.schema, s => s.unshift),
216
+ name: this.name + '.create'
219
217
  });
220
218
  }
221
219
  get assign() {
222
220
  return this.extend({
223
221
  method: 'POST',
224
- schema: extractCollection(this.schema, s => s.assign)
222
+ schema: extractCollection(this.schema, s => s.assign),
223
+ name: this.name + '.create'
225
224
  });
226
225
  }
227
226
  }
@@ -232,4 +231,4 @@ const tryParse = input => {
232
231
  return undefined;
233
232
  }
234
233
  };
235
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsImNyZWF0ZVBhZ2luYXRpb25TY2hlbWEiLCJwYWdpbmF0aW9uVXBkYXRlIiwicGFyYW1zVG9TdHJpbmciLCJnZXRVcmxCYXNlIiwiZ2V0VXJsVG9rZW5zIiwiaXNQb2pvIiwiX2hhc0JvZHkiLCJfY2xhc3NQcml2YXRlRmllbGRMb29zZUtleSIsIlJlc3RFbmRwb2ludCIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsIl9vcHRpb25zJGZldGNoIiwiZmV0Y2giLCJhcmdzIiwidXJsUGFyYW1zIiwiX2NsYXNzUHJpdmF0ZUZpZWxkTG9vc2VCYXNlIiwibGVuZ3RoIiwiYm9keSIsInVuZGVmaW5lZCIsImZldGNoUmVzcG9uc2UiLCJ1cmwiLCJnZXRSZXF1ZXN0SW5pdCIsInRoZW4iLCJyZXNwb25zZSIsInBhcnNlUmVzcG9uc2UiLCJyZXMiLCJwcm9jZXNzIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ3cml0YWJsZSIsInZhbHVlIiwic2lkZUVmZmVjdCIsIm1ldGhvZCIsInVybFByZWZpeCIsImluY2x1ZGVzIiwiZ2V0IiwiX19uYW1lIiwicGF0aCIsImtleSIsInVybEJhc2UiLCJ0b2tlbnMiLCJzZWFyY2hQYXJhbXMiLCJrZXlzIiwiZm9yRWFjaCIsImsiLCJoYXMiLCJnZXRIZWFkZXJzIiwiaGVhZGVycyIsImJvZHlJc1Bvam8iLCJKU09OIiwic3RyaW5naWZ5IiwiaW5pdCIsInJlcXVlc3RJbml0Iiwic2lnbmFsIiwiaW5wdXQiLCJvayIsImNhdGNoIiwiZXJyb3IiLCJUeXBlRXJyb3IiLCJzdGF0dXMiLCJfcmVzcG9uc2UkaGVhZGVycyRnZXQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRleHQiLCJzY2hlbWEiLCJwcm90b3R5cGUiLCJtZXNzYWdlIiwiZW52IiwiTk9ERV9FTlYiLCJfcmVzcG9uc2UkaGVhZGVycyRnZXQyIiwic3RhcnRzV2l0aCIsInRyeVBhcnNlIiwic3Vic3RyaW5nIiwianNvbiIsImVycm9yUG9saWN5IiwicGF0aFJlZ2V4IiwidGVzdEtleSIsInByZWZpeCIsImxhc3RRdWVzdGlvbiIsImxhc3RJbmRleE9mIiwidGVzdCIsImV4dGVuZCIsIkUiLCJhc3NpZ24iLCJwYWdpbmF0ZWQiLCJyZW1vdmVDdXJzb3IiLCJmaWVsZE5hbWUiLCJwYXJhbXMiLCJmb3VuZCIsImNyZWF0ZVBhZ2luYXRlZFNjaGVtYSIsImNvbGxlY3Rpb24iLCJuZXdTY2hlbWEiLCJzdXAiLCJjYWxsIiwidXBkYXRlIiwiZ2V0UGFnZSIsInBhZ2luYXRpb25GaWVsZCIsInB1c2giLCJzIiwidW5zaGlmdCIsInBhcnNlIiwiZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9SZXN0RW5kcG9pbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5kcG9pbnQgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHsgcGF0aFRvUmVnZXhwIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuXG5pbXBvcnQgZXh0cmFjdENvbGxlY3Rpb24gZnJvbSAnLi9leHRyYWN0Q29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgbWFwQ29sbGVjdGlvbiBmcm9tICcuL21hcENvbGxlY3Rpb24uanMnO1xuaW1wb3J0IE5ldHdvcmtFcnJvciBmcm9tICcuL05ldHdvcmtFcnJvci5qcyc7XG5pbXBvcnQgeyBjcmVhdGVQYWdpbmF0aW9uU2NoZW1hIH0gZnJvbSAnLi9wYWdpbmF0ZWRDb2xsZWN0aW9ucy5qcyc7XG5pbXBvcnQgcGFnaW5hdGlvblVwZGF0ZSBmcm9tICcuL3BhZ2luYXRpb25VcGRhdGUuanMnO1xuaW1wb3J0IHBhcmFtc1RvU3RyaW5nIGZyb20gJy4vcGFyYW1zVG9TdHJpbmcuanMnO1xuaW1wb3J0IHsgZ2V0VXJsQmFzZSwgZ2V0VXJsVG9rZW5zLCBpc1Bvam8gfSBmcm9tICcuL1Jlc3RIZWxwZXJzLmpzJztcblxuLyoqIFNpbXBsaWZpZXMgZW5kcG9pbnQgZGVmaW5pdGlvbnMgdGhhdCBmb2xsb3cgUkVTVCBwYXR0ZXJuc1xuICpcbiAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlc3RFbmRwb2ludCBleHRlbmRzIEVuZHBvaW50IHtcbiAgI2hhc0JvZHk7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICBzdXBlcihcbiAgICAgIG9wdGlvbnMuZmV0Y2ggPz9cbiAgICAgICAgYXN5bmMgZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgICBjb25zdCB1cmxQYXJhbXMgPVxuICAgICAgICAgICAgdGhpcy4jaGFzQm9keSAmJiBhcmdzLmxlbmd0aCA8IDIgPyB7fSA6IGFyZ3NbMF0gfHwge307XG4gICAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuI2hhc0JvZHkgPyBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hSZXNwb25zZShcbiAgICAgICAgICAgIHRoaXMudXJsKHVybFBhcmFtcyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdldFJlcXVlc3RJbml0KGJvZHkpLFxuICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHRoaXMucGFyc2VSZXNwb25zZShyZXNwb25zZSkpXG4gICAgICAgICAgICAudGhlbihyZXMgPT4gdGhpcy5wcm9jZXNzKHJlcywgLi4uYXJncykpO1xuICAgICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICAgIC8vIHdlIHdhbnQgdG8gdXNlIHRoZSBwcm90b3R5cGUgY2hhaW4gaGVyZVxuICAgIGlmIChcbiAgICAgICEoJ3NpZGVFZmZlY3QnIGluIHRoaXMpIHx8XG4gICAgICAoJ21ldGhvZCcgaW4gb3B0aW9ucyAmJiAhKCdzaWRlRWZmZWN0JyBpbiBvcHRpb25zKSlcbiAgICApIHtcbiAgICAgIHRoaXMuc2lkZUVmZmVjdCA9XG4gICAgICAgIG9wdGlvbnMubWV0aG9kID09PSAnR0VUJyB8fCBvcHRpb25zLm1ldGhvZCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICA6IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLm1ldGhvZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1ldGhvZCA9IHRoaXMuc2lkZUVmZmVjdCA/ICdQT1NUJyA6ICdHRVQnO1xuICAgIH1cbiAgICBpZiAodGhpcy51cmxQcmVmaXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy51cmxQcmVmaXggPSAnJztcbiAgICB9XG4gICAgdGhpcy4jaGFzQm9keSA9XG4gICAgICAoISgnYm9keScgaW4gdGhpcykgfHwgdGhpcy5ib2R5ICE9PSB1bmRlZmluZWQpICYmXG4gICAgICAhWydHRVQnLCAnREVMRVRFJ10uaW5jbHVkZXModGhpcy5tZXRob2QpO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICduYW1lJywge1xuICAgICAgZ2V0KCkge1xuICAgICAgICAvLyB1c2luZyAnaW4nIHRvIGVuc3VyZSBpbmhlcml0YW5jZSBsb29rdXBcbiAgICAgICAgaWYgKCdfX25hbWUnIGluIHRoaXMpIHJldHVybiB0aGlzLl9fbmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXMudXJsUHJlZml4ICsgdGhpcy5wYXRoO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGtleSguLi5hcmdzKSB7XG4gICAgcmV0dXJuIGAke3RoaXMubWV0aG9kfSAke3RoaXMudXJsKFxuICAgICAgdGhpcy4jaGFzQm9keSAmJiBhcmdzLmxlbmd0aCA8IDIgPyB7fSA6IGFyZ3NbMF0gfHwge30sXG4gICAgKX1gO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgdXJsICovXG4gIHVybCh1cmxQYXJhbXMgPSB7fSkge1xuICAgIGNvbnN0IHVybEJhc2UgPSBnZXRVcmxCYXNlKHRoaXMucGF0aCkodXJsUGFyYW1zKTtcbiAgICBjb25zdCB0b2tlbnMgPSBnZXRVcmxUb2tlbnModGhpcy5wYXRoKTtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSB7fTtcbiAgICBPYmplY3Qua2V5cyh1cmxQYXJhbXMpLmZvckVhY2goayA9PiB7XG4gICAgICBpZiAoIXRva2Vucy5oYXMoaykpIHtcbiAgICAgICAgc2VhcmNoUGFyYW1zW2tdID0gdXJsUGFyYW1zW2tdO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChPYmplY3Qua2V5cyhzZWFyY2hQYXJhbXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMudXJsUHJlZml4fSR7dXJsQmFzZX0/JHtwYXJhbXNUb1N0cmluZyhzZWFyY2hQYXJhbXMpfWA7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9YDtcbiAgfVxuXG4gIGdldEhlYWRlcnMoaGVhZGVycykge1xuICAgIHJldHVybiBoZWFkZXJzO1xuICB9XG5cbiAgLyoqIEluaXQgb3B0aW9ucyBmb3IgZmV0Y2ggLSBydW4gYXQgZmV0Y2ggKi9cbiAgYXN5bmMgZ2V0UmVxdWVzdEluaXQoYm9keSkge1xuICAgIGNvbnN0IGJvZHlJc1Bvam8gPSBpc1Bvam8oYm9keSk7XG4gICAgaWYgKGJvZHlJc1Bvam8pIHtcbiAgICAgIGJvZHkgPSBKU09OLnN0cmluZ2lmeShib2R5KTtcbiAgICB9XG4gICAgY29uc3QgaW5pdCA9IHtcbiAgICAgIC4uLnRoaXMucmVxdWVzdEluaXQsXG4gICAgICBtZXRob2Q6IHRoaXMubWV0aG9kLFxuICAgICAgc2lnbmFsOiB0aGlzLnNpZ25hbCxcbiAgICAgIGJvZHksXG4gICAgfTtcbiAgICBpZiAoIWJvZHkgfHwgYm9keUlzUG9qbykge1xuICAgICAgaW5pdC5oZWFkZXJzID0ge1xuICAgICAgICAvLyBkZWZhdWx0IHRvIGFwcGxpY2F0aW9uL2pzb24gYnV0IGFsbG93IHVzZXIgZXhwbGljaXQgb3ZlcnJpZGVzXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIC4uLmluaXQuaGVhZGVycyxcbiAgICAgIH07XG4gICAgfVxuICAgIGluaXQuaGVhZGVycyA9IGF3YWl0IHRoaXMuZ2V0SGVhZGVycyhpbml0LmhlYWRlcnMpO1xuICAgIHJldHVybiBpbml0O1xuICB9XG5cbiAgLyoqIFBlcmZvcm0gbmV0d29yayByZXF1ZXN0IGFuZCByZXNvbHZlIHdpdGggSFRUUCBSZXNwb25zZSAqL1xuICBmZXRjaFJlc3BvbnNlKGlucHV0LCBpbml0KSB7XG4gICAgcmV0dXJuIGZldGNoKGlucHV0LCBpbml0KVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IE5ldHdvcmtFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgIC8vIGVuc3VyZSBDT1JTLCBuZXR3b3JrIGRvd24sIGFuZCBwYXJzZSBlcnJvcnMgYXJlIHN0aWxsIGNhdWdodCBieSBOZXR3b3JrRXJyb3JCb3VuZGFyeVxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHtcbiAgICAgICAgICBlcnJvci5zdGF0dXMgPSA1MDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgfVxuXG4gIHBhcnNlUmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgICAvLyB0aGlzIHNob3VsZCBub3QgaGF2ZSBhbnkgY29udGVudCB0byByZWFkXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xuICAgIGlmICghcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnanNvbicpKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpLnRoZW4odGV4dCA9PiB7XG4gICAgICAgIC8vIHN0cmluZyBvciAnbm90IHNldCcgc2NoZW1hLCBhcmUgdmFsaWRcbiAgICAgICAgLy8gd2hlbiBvdmVycmlkaW5nIHByb2Nlc3MgdGhleSBtaWdodCBoYW5kbGUgb3RoZXIgY2FzZXMsIHNvIHdlIGRvbid0IHdhbnQgdG8gYmxvY2sgb24gb3VyIGxvZ2ljXG4gICAgICAgIGlmIChcbiAgICAgICAgICBbJ3N0cmluZycsICd1bmRlZmluZWQnXS5pbmNsdWRlcyh0eXBlb2YgdGhpcy5zY2hlbWEpIHx8XG4gICAgICAgICAgdGhpcy5zY2hlbWEgPT09IG51bGwgfHxcbiAgICAgICAgICB0aGlzLnByb2Nlc3MgIT09IFJlc3RFbmRwb2ludC5wcm90b3R5cGUucHJvY2Vzc1xuICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIHRleHQ7XG5cbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgTmV0d29ya0Vycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgZXJyb3Iuc3RhdHVzID0gNDA0O1xuICAgICAgICBlcnJvci5tZXNzYWdlID0gYFVuZXhwZWN0ZWQgdGV4dCByZXNwb25zZSBmb3Igc2NoZW1hICR7dGhpcy5zY2hlbWF9YDtcbiAgICAgICAgLy8gY3VzdG9tIGRldi1vbmx5IG1lc3NhZ2VzIGZvciBtb3JlIGRldGFpbGVkIGNhdXNlXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnaHRtbCcpIHx8XG4gICAgICAgICAgICAgIHRleHQuc3RhcnRzV2l0aCgnPCFkb2N0eXBlIGh0bWw+JylcbiAgICAgICAgICAgIClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGlmICh0cnlQYXJzZSh0ZXh0KSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgXCJjb250ZW50LXR5cGVcIiBoZWFkZXIgZG9lcyBub3QgaW5jbHVkZSBcImpzb25cIiwgYnV0IEpTT04gcmVzcG9uc2UgZm91bmQuXG5TZWUgaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzQ2MjcgZm9yIGluZm9ybWF0aW9uIG9uIEpTT04gcmVzcG9uc2VzXG5cblVzaW5nIHBhcnNlZCBKU09OLlxuSWYgdGV4dCBjb250ZW50IHdhcyBleHBlY3RlZCBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I3BhcnNlUmVzcG9uc2VgO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gYFVuZXhwZWN0ZWQgaHRtbCByZXNwb25zZSBmb3Igc2NoZW1hICR7dGhpcy5zY2hlbWF9XG5UaGlzIGxpa2VseSBtZWFucyBubyBBUEkgZW5kcG9pbnQgd2FzIGNvbmZpZ3VyZWQgZm9yIHRoaXMgcmVxdWVzdCwgcmVzdWx0aW5nIGluIGFuIEhUTUwgZmFsbGJhY2suXG5cblJlc3BvbnNlIChmaXJzdCAzMDAgY2hhcmFjdGVycyk6ICR7dGV4dC5zdWJzdHJpbmcoMCwgMzAwKX1gO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpLmNhdGNoKGVycm9yID0+IHtcbiAgICAgIGVycm9yLnN0YXR1cyA9IDQwMDtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvY2Vzcyh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGVycm9yUG9saWN5KGVycm9yKSB7XG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cyA+PSA1MDAgPyAnc29mdCcgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgcGF0aFJlZ2V4KCkge1xuICAgIHJldHVybiBwYXRoVG9SZWdleHAodGhpcy5wYXRoKTtcbiAgfVxuXG4gIHRlc3RLZXkoa2V5KSB7XG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5tZXRob2QgKyAnICcgKyB0aGlzLnVybFByZWZpeDtcbiAgICBpZiAoIWtleS5zdGFydHNXaXRoKHByZWZpeCkpIHJldHVybiBmYWxzZTtcbiAgICBsZXQgbGFzdFF1ZXN0aW9uID0ga2V5Lmxhc3RJbmRleE9mKCc/Jyk7XG4gICAgaWYgKGxhc3RRdWVzdGlvbiA9PT0gLTEpIGxhc3RRdWVzdGlvbiA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdGhpcy5wYXRoUmVnZXgudGVzdChrZXkuc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgsIGxhc3RRdWVzdGlvbikpO1xuICB9XG5cbiAgZXh0ZW5kKG9wdGlvbnMpIHtcbiAgICAvLyBtYWtlIGEgY29uc3RydWN0b3IvcHJvdG90eXBlIGJhc2VkIG9mZiB0aGlzXG4gICAgLy8gZXh0ZW5kIGZyb20gaXQgYW5kIGluaXQgd2l0aCBvcHRpb25zIHNlbnRcbiAgICBjbGFzcyBFIGV4dGVuZHMgdGhpcy5jb25zdHJ1Y3RvciB7fVxuXG4gICAgT2JqZWN0LmFzc2lnbihFLnByb3RvdHlwZSwgdGhpcyk7XG5cbiAgICByZXR1cm4gbmV3IEUoXG4gICAgICAvLyAgZmV0Y2ggZ2V0IG92ZXJyaWRkZW4gYnkgZnVuY3Rpb24gcHJvdG90eXBlLCBzbyB3ZSBtdXN0IHNldCBpdCBleHBsaWNpdGx5IGV2ZXJ5IHRpbWVcbiAgICAgIHsgZmV0Y2g6IHRoaXMuZmV0Y2gsIC4uLm9wdGlvbnMgfSxcbiAgICApO1xuICB9XG5cbiAgcGFnaW5hdGVkKHJlbW92ZUN1cnNvcikge1xuICAgIGlmICh0eXBlb2YgcmVtb3ZlQ3Vyc29yID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZmllbGROYW1lID0gcmVtb3ZlQ3Vyc29yO1xuICAgICAgcmVtb3ZlQ3Vyc29yID0gKHsgLi4ucGFyYW1zIH0pID0+IHtcbiAgICAgICAgZGVsZXRlIHBhcmFtc1tmaWVsZE5hbWVdO1xuICAgICAgICByZXR1cm4gW3BhcmFtc107XG4gICAgICB9O1xuICAgIH1cbiAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICBjb25zdCBjcmVhdGVQYWdpbmF0ZWRTY2hlbWEgPSBjb2xsZWN0aW9uID0+IHtcbiAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgIHJldHVybiBjcmVhdGVQYWdpbmF0aW9uU2NoZW1hKHJlbW92ZUN1cnNvciwgY29sbGVjdGlvbik7XG4gICAgfTtcbiAgICBjb25zdCBuZXdTY2hlbWEgPSBtYXBDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBjcmVhdGVQYWdpbmF0ZWRTY2hlbWEpO1xuICAgIGlmIChmb3VuZCkge1xuICAgICAgY29uc3Qgc3VwID0gdGhpcztcblxuICAgICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgICAgc2NoZW1hOiBuZXdTY2hlbWEsXG4gICAgICAgIGtleSguLi5hcmdzKSB7XG4gICAgICAgICAgcmV0dXJuIHN1cC5rZXkuY2FsbCh0aGlzLCAuLi5yZW1vdmVDdXJzb3IoLi4uYXJncykpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHsgdXBkYXRlOiBwYWdpbmF0aW9uVXBkYXRlKHRoaXMsIHJlbW92ZUN1cnNvcikgfSk7XG4gIH1cblxuICBnZXQgZ2V0UGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYWdpbmF0ZWQodGhpcy5wYWdpbmF0aW9uRmllbGQpO1xuICB9XG5cbiAgZ2V0IHB1c2goKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLnB1c2gpLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHVuc2hpZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLnVuc2hpZnQpLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGFzc2lnbigpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMuYXNzaWduKSxcbiAgICB9KTtcbiAgfVxufVxuXG5jb25zdCB0cnlQYXJzZSA9IGlucHV0ID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShpbnB1dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFFBQVEsUUFBUSx1QkFBdUI7QUFDaEQsU0FBU0MsWUFBWSxRQUFRLGdCQUFnQjtBQUU3QyxPQUFPQyxpQkFBaUIsTUFBTSx3QkFBd0I7QUFDdEQsT0FBT0MsYUFBYSxNQUFNLG9CQUFvQjtBQUM5QyxPQUFPQyxZQUFZLE1BQU0sbUJBQW1CO0FBQzVDLFNBQVNDLHNCQUFzQixRQUFRLDJCQUEyQjtBQUNsRSxPQUFPQyxnQkFBZ0IsTUFBTSx1QkFBdUI7QUFDcEQsT0FBT0MsY0FBYyxNQUFNLHFCQUFxQjtBQUNoRCxTQUFTQyxVQUFVLEVBQUVDLFlBQVksRUFBRUMsTUFBTSxRQUFRLGtCQUFrQjs7QUFFbkU7QUFDQTtBQUNBO0FBQ0E7QUFIQSxJQUFBQyxRQUFBLGdCQUFBQywwQkFBQTtBQUlBLGVBQWUsTUFBTUMsWUFBWSxTQUFTYixRQUFRLENBQUM7RUFFakRjLFdBQVdBLENBQUNDLE9BQU8sRUFBRTtJQUFBLElBQUFDLGNBQUE7SUFDbkIsS0FBSyxFQUFBQSxjQUFBLEdBQ0hELE9BQU8sQ0FBQ0UsS0FBSyxZQUFBRCxjQUFBLEdBQ1gsZ0JBQWdC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
234
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsImNyZWF0ZVBhZ2luYXRpb25TY2hlbWEiLCJwYXJhbXNUb1N0cmluZyIsImdldFVybEJhc2UiLCJnZXRVcmxUb2tlbnMiLCJpc1Bvam8iLCJfaGFzQm9keSIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlS2V5IiwiUmVzdEVuZHBvaW50IiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiX29wdGlvbnMkZmV0Y2giLCJmZXRjaCIsImFyZ3MiLCJ1cmxQYXJhbXMiLCJfY2xhc3NQcml2YXRlRmllbGRMb29zZUJhc2UiLCJsZW5ndGgiLCJib2R5IiwidW5kZWZpbmVkIiwiZmV0Y2hSZXNwb25zZSIsInVybCIsImdldFJlcXVlc3RJbml0IiwidGhlbiIsInJlc3BvbnNlIiwicGFyc2VSZXNwb25zZSIsInJlcyIsInByb2Nlc3MiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIndyaXRhYmxlIiwidmFsdWUiLCJzaWRlRWZmZWN0IiwibWV0aG9kIiwidXJsUHJlZml4IiwiaW5jbHVkZXMiLCJnZXQiLCJfX25hbWUiLCJwYXRoIiwia2V5IiwidXJsQmFzZSIsInRva2VucyIsInNlYXJjaFBhcmFtcyIsImtleXMiLCJmb3JFYWNoIiwiayIsImhhcyIsImdldEhlYWRlcnMiLCJoZWFkZXJzIiwiYm9keUlzUG9qbyIsIkpTT04iLCJzdHJpbmdpZnkiLCJpbml0IiwicmVxdWVzdEluaXQiLCJzaWduYWwiLCJpbnB1dCIsIm9rIiwiY2F0Y2giLCJlcnJvciIsIlR5cGVFcnJvciIsInN0YXR1cyIsIl9yZXNwb25zZSRoZWFkZXJzJGdldCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGV4dCIsInNjaGVtYSIsInByb3RvdHlwZSIsIm1lc3NhZ2UiLCJlbnYiLCJOT0RFX0VOViIsIl9yZXNwb25zZSRoZWFkZXJzJGdldDIiLCJzdGFydHNXaXRoIiwidHJ5UGFyc2UiLCJzdWJzdHJpbmciLCJqc29uIiwiZXJyb3JQb2xpY3kiLCJwYXRoUmVnZXgiLCJ0ZXN0S2V5IiwicHJlZml4IiwibGFzdFF1ZXN0aW9uIiwibGFzdEluZGV4T2YiLCJ0ZXN0IiwiZXh0ZW5kIiwiRSIsImFzc2lnbiIsInBhZ2luYXRlZCIsInJlbW92ZUN1cnNvciIsImZpZWxkTmFtZSIsInBhcmFtcyIsImZvdW5kIiwiY3JlYXRlUGFnaW5hdGVkU2NoZW1hIiwiY29sbGVjdGlvbiIsIm5ld1NjaGVtYSIsIkVycm9yIiwic3VwIiwiY2FsbCIsIm5hbWUiLCJnZXRQYWdlIiwicGFnaW5hdGlvbkZpZWxkIiwicHVzaCIsInMiLCJ1bnNoaWZ0IiwicGFyc2UiLCJlIl0sInNvdXJjZXMiOlsiLi4vc3JjL1Jlc3RFbmRwb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmRwb2ludCB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgeyBwYXRoVG9SZWdleHAgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCBleHRyYWN0Q29sbGVjdGlvbiBmcm9tICcuL2V4dHJhY3RDb2xsZWN0aW9uLmpzJztcbmltcG9ydCBtYXBDb2xsZWN0aW9uIGZyb20gJy4vbWFwQ29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgTmV0d29ya0Vycm9yIGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmltcG9ydCB7IGNyZWF0ZVBhZ2luYXRpb25TY2hlbWEgfSBmcm9tICcuL3BhZ2luYXRlZENvbGxlY3Rpb25zLmpzJztcbmltcG9ydCBwYXJhbXNUb1N0cmluZyBmcm9tICcuL3BhcmFtc1RvU3RyaW5nLmpzJztcbmltcG9ydCB7IGdldFVybEJhc2UsIGdldFVybFRva2VucywgaXNQb2pvIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbi8qKiBTaW1wbGlmaWVzIGVuZHBvaW50IGRlZmluaXRpb25zIHRoYXQgZm9sbG93IFJFU1QgcGF0dGVybnNcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVzdEVuZHBvaW50IGV4dGVuZHMgRW5kcG9pbnQge1xuICAjaGFzQm9keTtcbiAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgIHN1cGVyKFxuICAgICAgb3B0aW9ucy5mZXRjaCA/P1xuICAgICAgICBhc3luYyBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgIGNvbnN0IHVybFBhcmFtcyA9XG4gICAgICAgICAgICB0aGlzLiNoYXNCb2R5ICYmIGFyZ3MubGVuZ3RoIDwgMiA/IHt9IDogYXJnc1swXSB8fCB7fTtcbiAgICAgICAgICBjb25zdCBib2R5ID0gdGhpcy4jaGFzQm9keSA/IGFyZ3NbYXJncy5sZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFJlc3BvbnNlKFxuICAgICAgICAgICAgdGhpcy51cmwodXJsUGFyYW1zKSxcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UmVxdWVzdEluaXQoYm9keSksXG4gICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gdGhpcy5wYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSlcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB0aGlzLnByb2Nlc3MocmVzLCAuLi5hcmdzKSk7XG4gICAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgLy8gd2Ugd2FudCB0byB1c2UgdGhlIHByb3RvdHlwZSBjaGFpbiBoZXJlXG4gICAgaWYgKFxuICAgICAgISgnc2lkZUVmZmVjdCcgaW4gdGhpcykgfHxcbiAgICAgICgnbWV0aG9kJyBpbiBvcHRpb25zICYmICEoJ3NpZGVFZmZlY3QnIGluIG9wdGlvbnMpKVxuICAgICkge1xuICAgICAgdGhpcy5zaWRlRWZmZWN0ID1cbiAgICAgICAgb3B0aW9ucy5tZXRob2QgPT09ICdHRVQnIHx8IG9wdGlvbnMubWV0aG9kID09PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgIDogdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWV0aG9kID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubWV0aG9kID0gdGhpcy5zaWRlRWZmZWN0ID8gJ1BPU1QnIDogJ0dFVCc7XG4gICAgfVxuICAgIGlmICh0aGlzLnVybFByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnVybFByZWZpeCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLiNoYXNCb2R5ID1cbiAgICAgICghKCdib2R5JyBpbiB0aGlzKSB8fCB0aGlzLmJvZHkgIT09IHVuZGVmaW5lZCkgJiZcbiAgICAgICFbJ0dFVCcsICdERUxFVEUnXS5pbmNsdWRlcyh0aGlzLm1ldGhvZCk7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ25hbWUnLCB7XG4gICAgICBnZXQoKSB7XG4gICAgICAgIC8vIHVzaW5nICdpbicgdG8gZW5zdXJlIGluaGVyaXRhbmNlIGxvb2t1cFxuICAgICAgICBpZiAoJ19fbmFtZScgaW4gdGhpcykgcmV0dXJuIHRoaXMuX19uYW1lO1xuICAgICAgICByZXR1cm4gdGhpcy51cmxQcmVmaXggKyB0aGlzLnBhdGg7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAga2V5KC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5tZXRob2R9ICR7dGhpcy51cmwoXG4gICAgICB0aGlzLiNoYXNCb2R5ICYmIGFyZ3MubGVuZ3RoIDwgMiA/IHt9IDogYXJnc1swXSB8fCB7fSxcbiAgICApfWA7XG4gIH1cblxuICAvKiogR2V0IHRoZSB1cmwgKi9cbiAgdXJsKHVybFBhcmFtcyA9IHt9KSB7XG4gICAgY29uc3QgdXJsQmFzZSA9IGdldFVybEJhc2UodGhpcy5wYXRoKSh1cmxQYXJhbXMpO1xuICAgIGNvbnN0IHRva2VucyA9IGdldFVybFRva2Vucyh0aGlzLnBhdGgpO1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHt9O1xuICAgIE9iamVjdC5rZXlzKHVybFBhcmFtcykuZm9yRWFjaChrID0+IHtcbiAgICAgIGlmICghdG9rZW5zLmhhcyhrKSkge1xuICAgICAgICBzZWFyY2hQYXJhbXNba10gPSB1cmxQYXJhbXNba107XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKE9iamVjdC5rZXlzKHNlYXJjaFBhcmFtcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy51cmxQcmVmaXh9JHt1cmxCYXNlfT8ke3BhcmFtc1RvU3RyaW5nKHNlYXJjaFBhcmFtcyl9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMudXJsUHJlZml4fSR7dXJsQmFzZX1gO1xuICB9XG5cbiAgZ2V0SGVhZGVycyhoZWFkZXJzKSB7XG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH1cblxuICAvKiogSW5pdCBvcHRpb25zIGZvciBmZXRjaCAtIHJ1biBhdCBmZXRjaCAqL1xuICBhc3luYyBnZXRSZXF1ZXN0SW5pdChib2R5KSB7XG4gICAgY29uc3QgYm9keUlzUG9qbyA9IGlzUG9qbyhib2R5KTtcbiAgICBpZiAoYm9keUlzUG9qbykge1xuICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KGJvZHkpO1xuICAgIH1cbiAgICBjb25zdCBpbml0ID0ge1xuICAgICAgLi4udGhpcy5yZXF1ZXN0SW5pdCxcbiAgICAgIG1ldGhvZDogdGhpcy5tZXRob2QsXG4gICAgICBzaWduYWw6IHRoaXMuc2lnbmFsLFxuICAgICAgYm9keSxcbiAgICB9O1xuICAgIGlmICghYm9keSB8fCBib2R5SXNQb2pvKSB7XG4gICAgICBpbml0LmhlYWRlcnMgPSB7XG4gICAgICAgIC8vIGRlZmF1bHQgdG8gYXBwbGljYXRpb24vanNvbiBidXQgYWxsb3cgdXNlciBleHBsaWNpdCBvdmVycmlkZXNcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgLi4uaW5pdC5oZWFkZXJzLFxuICAgICAgfTtcbiAgICB9XG4gICAgaW5pdC5oZWFkZXJzID0gYXdhaXQgdGhpcy5nZXRIZWFkZXJzKGluaXQuaGVhZGVycyk7XG4gICAgcmV0dXJuIGluaXQ7XG4gIH1cblxuICAvKiogUGVyZm9ybSBuZXR3b3JrIHJlcXVlc3QgYW5kIHJlc29sdmUgd2l0aCBIVFRQIFJlc3BvbnNlICovXG4gIGZldGNoUmVzcG9uc2UoaW5wdXQsIGluaXQpIHtcbiAgICByZXR1cm4gZmV0Y2goaW5wdXQsIGluaXQpXG4gICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgTmV0d29ya0Vycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgLy8gZW5zdXJlIENPUlMsIG5ldHdvcmsgZG93biwgYW5kIHBhcnNlIGVycm9ycyBhcmUgc3RpbGwgY2F1Z2h0IGJ5IE5ldHdvcmtFcnJvckJvdW5kYXJ5XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFR5cGVFcnJvcikge1xuICAgICAgICAgIGVycm9yLnN0YXR1cyA9IDUwMDtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICB9XG5cbiAgcGFyc2VSZXNwb25zZShyZXNwb25zZSkge1xuICAgIC8vIHRoaXMgc2hvdWxkIG5vdCBoYXZlIGFueSBjb250ZW50IHRvIHJlYWRcbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgaWYgKCFyZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdqc29uJykpIHtcbiAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCkudGhlbih0ZXh0ID0+IHtcbiAgICAgICAgLy8gc3RyaW5nIG9yICdub3Qgc2V0JyBzY2hlbWEsIGFyZSB2YWxpZFxuICAgICAgICAvLyB3aGVuIG92ZXJyaWRpbmcgcHJvY2VzcyB0aGV5IG1pZ2h0IGhhbmRsZSBvdGhlciBjYXNlcywgc28gd2UgZG9uJ3Qgd2FudCB0byBibG9jayBvbiBvdXIgbG9naWNcbiAgICAgICAgaWYgKFxuICAgICAgICAgIFsnc3RyaW5nJywgJ3VuZGVmaW5lZCddLmluY2x1ZGVzKHR5cGVvZiB0aGlzLnNjaGVtYSkgfHxcbiAgICAgICAgICB0aGlzLnNjaGVtYSA9PT0gbnVsbCB8fFxuICAgICAgICAgIHRoaXMucHJvY2VzcyAhPT0gUmVzdEVuZHBvaW50LnByb3RvdHlwZS5wcm9jZXNzXG4gICAgICAgIClcbiAgICAgICAgICByZXR1cm4gdGV4dDtcblxuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBOZXR3b3JrRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICBlcnJvci5zdGF0dXMgPSA0MDQ7XG4gICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgVW5leHBlY3RlZCB0ZXh0IHJlc3BvbnNlIGZvciBzY2hlbWEgJHt0aGlzLnNjaGVtYX1gO1xuICAgICAgICAvLyBjdXN0b20gZGV2LW9ubHkgbWVzc2FnZXMgZm9yIG1vcmUgZGV0YWlsZWQgY2F1c2VcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhKFxuICAgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdodG1sJykgfHxcbiAgICAgICAgICAgICAgdGV4dC5zdGFydHNXaXRoKCc8IWRvY3R5cGUgaHRtbD4nKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgaWYgKHRyeVBhcnNlKHRleHQpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBcImNvbnRlbnQtdHlwZVwiIGhlYWRlciBkb2VzIG5vdCBpbmNsdWRlIFwianNvblwiLCBidXQgSlNPTiByZXNwb25zZSBmb3VuZC5cblNlZSBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNDYyNyBmb3IgaW5mb3JtYXRpb24gb24gSlNPTiByZXNwb25zZXNcblxuVXNpbmcgcGFyc2VkIEpTT04uXG5JZiB0ZXh0IGNvbnRlbnQgd2FzIGV4cGVjdGVkIHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I3BhcnNlUmVzcG9uc2VgO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gYFVuZXhwZWN0ZWQgaHRtbCByZXNwb25zZSBmb3Igc2NoZW1hICR7dGhpcy5zY2hlbWF9XG5UaGlzIGxpa2VseSBtZWFucyBubyBBUEkgZW5kcG9pbnQgd2FzIGNvbmZpZ3VyZWQgZm9yIHRoaXMgcmVxdWVzdCwgcmVzdWx0aW5nIGluIGFuIEhUTUwgZmFsbGJhY2suXG5cblJlc3BvbnNlIChmaXJzdCAzMDAgY2hhcmFjdGVycyk6ICR7dGV4dC5zdWJzdHJpbmcoMCwgMzAwKX1gO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpLmNhdGNoKGVycm9yID0+IHtcbiAgICAgIGVycm9yLnN0YXR1cyA9IDQwMDtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvY2Vzcyh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGVycm9yUG9saWN5KGVycm9yKSB7XG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cyA+PSA1MDAgPyAnc29mdCcgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgcGF0aFJlZ2V4KCkge1xuICAgIHJldHVybiBwYXRoVG9SZWdleHAodGhpcy5wYXRoKTtcbiAgfVxuXG4gIHRlc3RLZXkoa2V5KSB7XG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5tZXRob2QgKyAnICcgKyB0aGlzLnVybFByZWZpeDtcbiAgICBpZiAoIWtleS5zdGFydHNXaXRoKHByZWZpeCkpIHJldHVybiBmYWxzZTtcbiAgICBsZXQgbGFzdFF1ZXN0aW9uID0ga2V5Lmxhc3RJbmRleE9mKCc/Jyk7XG4gICAgaWYgKGxhc3RRdWVzdGlvbiA9PT0gLTEpIGxhc3RRdWVzdGlvbiA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdGhpcy5wYXRoUmVnZXgudGVzdChrZXkuc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgsIGxhc3RRdWVzdGlvbikpO1xuICB9XG5cbiAgZXh0ZW5kKG9wdGlvbnMpIHtcbiAgICAvLyBtYWtlIGEgY29uc3RydWN0b3IvcHJvdG90eXBlIGJhc2VkIG9mZiB0aGlzXG4gICAgLy8gZXh0ZW5kIGZyb20gaXQgYW5kIGluaXQgd2l0aCBvcHRpb25zIHNlbnRcbiAgICBjbGFzcyBFIGV4dGVuZHMgdGhpcy5jb25zdHJ1Y3RvciB7fVxuXG4gICAgT2JqZWN0LmFzc2lnbihFLnByb3RvdHlwZSwgdGhpcyk7XG5cbiAgICByZXR1cm4gbmV3IEUoXG4gICAgICAvLyAgZmV0Y2ggZ2V0IG92ZXJyaWRkZW4gYnkgZnVuY3Rpb24gcHJvdG90eXBlLCBzbyB3ZSBtdXN0IHNldCBpdCBleHBsaWNpdGx5IGV2ZXJ5IHRpbWVcbiAgICAgIHsgZmV0Y2g6IHRoaXMuZmV0Y2gsIC4uLm9wdGlvbnMgfSxcbiAgICApO1xuICB9XG5cbiAgcGFnaW5hdGVkKHJlbW92ZUN1cnNvcikge1xuICAgIGlmICh0eXBlb2YgcmVtb3ZlQ3Vyc29yID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZmllbGROYW1lID0gcmVtb3ZlQ3Vyc29yO1xuICAgICAgcmVtb3ZlQ3Vyc29yID0gKHsgLi4ucGFyYW1zIH0pID0+IHtcbiAgICAgICAgZGVsZXRlIHBhcmFtc1tmaWVsZE5hbWVdO1xuICAgICAgICByZXR1cm4gW3BhcmFtc107XG4gICAgICB9O1xuICAgIH1cbiAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICBjb25zdCBjcmVhdGVQYWdpbmF0ZWRTY2hlbWEgPSBjb2xsZWN0aW9uID0+IHtcbiAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgIHJldHVybiBjcmVhdGVQYWdpbmF0aW9uU2NoZW1hKHJlbW92ZUN1cnNvciwgY29sbGVjdGlvbik7XG4gICAgfTtcbiAgICBjb25zdCBuZXdTY2hlbWEgPSBtYXBDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBjcmVhdGVQYWdpbmF0ZWRTY2hlbWEpO1xuXG4gICAgaWYgKCFmb3VuZCkgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIENvbGxlY3Rpb24nKTtcbiAgICBjb25zdCBzdXAgPSB0aGlzO1xuXG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIHNjaGVtYTogbmV3U2NoZW1hLFxuICAgICAga2V5KC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIHN1cC5rZXkuY2FsbCh0aGlzLCAuLi5yZW1vdmVDdXJzb3IoLi4uYXJncykpO1xuICAgICAgfSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSArICcuZ2V0UGFnZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgZ2V0UGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYWdpbmF0ZWQodGhpcy5wYWdpbmF0aW9uRmllbGQpO1xuICB9XG5cbiAgZ2V0IHB1c2goKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLnB1c2gpLFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5jcmVhdGUnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHVuc2hpZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLnVuc2hpZnQpLFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5jcmVhdGUnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGFzc2lnbigpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMuYXNzaWduKSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSArICcuY3JlYXRlJyxcbiAgICB9KTtcbiAgfVxufVxuXG5jb25zdCB0cnlQYXJzZSA9IGlucHV0ID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShpbnB1dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFFBQVEsUUFBUSx1QkFBdUI7QUFDaEQsU0FBU0MsWUFBWSxRQUFRLGdCQUFnQjtBQUU3QyxPQUFPQyxpQkFBaUIsTUFBTSx3QkFBd0I7QUFDdEQsT0FBT0MsYUFBYSxNQUFNLG9CQUFvQjtBQUM5QyxPQUFPQyxZQUFZLE1BQU0sbUJBQW1CO0FBQzVDLFNBQVNDLHNCQUFzQixRQUFRLDJCQUEyQjtBQUNsRSxPQUFPQyxjQUFjLE1BQU0scUJBQXFCO0FBQ2hELFNBQVNDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLFFBQVEsa0JBQWtCOztBQUVuRTtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBQUFDLFFBQUEsZ0JBQUFDLDBCQUFBO0FBSUEsZUFBZSxNQUFNQyxZQUFZLFNBQVNaLFFBQVEsQ0FBQztFQUVqRGEsV0FBV0EsQ0FBQ0MsT0FBTyxFQUFFO0lBQUEsSUFBQUMsY0FBQTtJQUNuQixLQUFLLEVBQUFBLGNBQUEsR0FDSEQsT0FBTyxDQUFDRSxLQUFLLFlBQUFELGNBQUEsR0FDWCxnQkFBZ0IsR0FBR0UsSUFB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
@@ -11,37 +11,37 @@ export interface RestInstanceBase<F extends FetchFunction = FetchFunction, S ext
11
11
  } = {
12
12
  path: string;
13
13
  }> extends EndpointInstanceInterface<F, S, M> {
14
- /** @see https://resthooks.io/rest/api/RestEndpoint#body */
14
+ /** @see https://dataclient.io/rest/api/RestEndpoint#body */
15
15
  readonly body?: 'body' extends keyof O ? O['body'] : any;
16
- /** @see https://resthooks.io/rest/api/RestEndpoint#searchParams */
16
+ /** @see https://dataclient.io/rest/api/RestEndpoint#searchParams */
17
17
  readonly searchParams?: 'searchParams' extends keyof O ? O['searchParams'] : unknown;
18
18
  /** Pattern to construct url based on Url Parameters
19
- * @see https://resthooks.io/rest/api/RestEndpoint#path
19
+ * @see https://dataclient.io/rest/api/RestEndpoint#path
20
20
  */
21
21
  readonly path: O['path'];
22
22
  /** Prepended to all urls
23
- * @see https://resthooks.io/rest/api/RestEndpoint#urlPrefix
23
+ * @see https://dataclient.io/rest/api/RestEndpoint#urlPrefix
24
24
  */
25
25
  readonly urlPrefix: string;
26
26
  readonly requestInit: RequestInit;
27
- /** @see https://resthooks.io/rest/api/RestEndpoint#method */
27
+ /** @see https://dataclient.io/rest/api/RestEndpoint#method */
28
28
  readonly method: (O & {
29
29
  method: string;
30
30
  })['method'];
31
31
  readonly signal: AbortSignal | undefined;
32
32
  readonly paginationField?: string;
33
33
  url(...args: Parameters<F>): string;
34
- /** @see https://resthooks.io/rest/api/RestEndpoint#getRequestInit */
34
+ /** @see https://dataclient.io/rest/api/RestEndpoint#getRequestInit */
35
35
  getRequestInit(this: any, body?: RequestInit['body'] | Record<string, unknown>): Promise<RequestInit> | RequestInit;
36
- /** @see https://resthooks.io/rest/api/RestEndpoint#getHeaders */
36
+ /** @see https://dataclient.io/rest/api/RestEndpoint#getHeaders */
37
37
  getHeaders(headers: HeadersInit): Promise<HeadersInit> | HeadersInit;
38
- /** @see https://resthooks.io/rest/api/RestEndpoint#fetchResponse */
38
+ /** @see https://dataclient.io/rest/api/RestEndpoint#fetchResponse */
39
39
  fetchResponse(input: RequestInfo, init: RequestInit): Promise<Response>;
40
- /** @see https://resthooks.io/rest/api/RestEndpoint#parseResponse */
40
+ /** @see https://dataclient.io/rest/api/RestEndpoint#parseResponse */
41
41
  parseResponse(response: Response): Promise<any>;
42
- /** @see https://resthooks.io/rest/api/RestEndpoint#process */
42
+ /** @see https://dataclient.io/rest/api/RestEndpoint#process */
43
43
  process(value: any, ...args: Parameters<F>): ResolveType<F>;
44
- /** @see https://resthooks.io/rest/api/RestEndpoint#testKey */
44
+ /** @see https://dataclient.io/rest/api/RestEndpoint#testKey */
45
45
  testKey(key: string): boolean;
46
46
  /** Creates a child endpoint that inherits from this while overriding provided `options`.
47
47
  * @see https://dataclient.io/rest/api/RestEndpoint#extend
@@ -132,11 +132,11 @@ export type RestExtendedEndpoint<O extends PartialRestGenerics, E extends RestIn
132
132
  paginationField: E['getPage']['paginationField'];
133
133
  } : unknown), RestInstance<(...args: Parameters<E>) => O['process'] extends {} ? Promise<ReturnType<O['process']>> : ReturnType<E>, 'schema' extends keyof O ? O['schema'] : E['schema'], 'method' extends keyof O ? MethodToSide<O['method']> : E['sideEffect']>> & Omit<O, KeyofRestEndpoint> & Omit<E, KeyofRestEndpoint | keyof O>;
134
134
  export interface PartialRestGenerics {
135
- /** @see https://resthooks.io/rest/api/RestEndpoint#path */
135
+ /** @see https://dataclient.io/rest/api/RestEndpoint#path */
136
136
  readonly path?: string;
137
- /** @see https://resthooks.io/rest/api/RestEndpoint#schema */
137
+ /** @see https://dataclient.io/rest/api/RestEndpoint#schema */
138
138
  readonly schema?: Schema | undefined;
139
- /** @see https://resthooks.io/rest/api/RestEndpoint#method */
139
+ /** @see https://dataclient.io/rest/api/RestEndpoint#method */
140
140
  readonly method?: string;
141
141
  /** Only used for types */
142
142
  /** @see https://dataclient.io/rest/api/RestEndpoint#body */
@@ -146,7 +146,7 @@ export interface PartialRestGenerics {
146
146
  searchParams?: any;
147
147
  /** @see https://dataclient.io/rest/api/RestEndpoint#paginationfield */
148
148
  readonly paginationField?: string;
149
- /** @see https://resthooks.io/rest/api/RestEndpoint#process */
149
+ /** @see https://dataclient.io/rest/api/RestEndpoint#process */
150
150
  process?(value: any, ...args: any): any;
151
151
  }
152
152
  export interface RestGenerics extends PartialRestGenerics {
@@ -1 +1 @@
1
- {"version":3,"file":"RestEndpointTypes.d.ts","sourceRoot":"","sources":["../src/RestEndpointTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RestEndpointTypes.d.ts","sourceRoot":"","sources":["../src/RestEndpointTypes.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL1Jlc3RFbmRwb2ludFR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXMgKi9cbmltcG9ydCB0eXBlIHtcbiAgRW5kcG9pbnRFeHRyYU9wdGlvbnMsXG4gIEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsXG4gIFNjaGVtYSxcbiAgRmV0Y2hGdW5jdGlvbixcbiAgUmVzb2x2ZVR5cGUsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCB0eXBlIHsgRXh0cmFjdENvbGxlY3Rpb24gfSBmcm9tICcuL2V4dHJhY3RDb2xsZWN0aW9uLmpzJztcbmltcG9ydCB7XG4gIE9wdGlvbnNUb0JvZHlBcmd1bWVudCxcbiAgT3B0aW9uc1RvRnVuY3Rpb24sXG59IGZyb20gJy4vT3B0aW9uc1RvRnVuY3Rpb24uanMnO1xuaW1wb3J0IHsgUGF0aEFyZ3MgfSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5pbXBvcnQgeyBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSAnLi9SZXN0RW5kcG9pbnRUeXBlSGVscC5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdEluc3RhbmNlQmFzZTxcbiAgRiBleHRlbmRzIEZldGNoRnVuY3Rpb24gPSBGZXRjaEZ1bmN0aW9uLFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkID0gYW55LFxuICBNIGV4dGVuZHMgdHJ1ZSB8IHVuZGVmaW5lZCA9IHRydWUgfCB1bmRlZmluZWQsXG4gIE8gZXh0ZW5kcyB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIGJvZHk/OiBhbnk7XG4gICAgc2VhcmNoUGFyYW1zPzogYW55O1xuICAgIG1ldGhvZD86IHN0cmluZztcbiAgfSA9IHsgcGF0aDogc3RyaW5nIH0sXG4+IGV4dGVuZHMgRW5kcG9pbnRJbnN0YW5jZUludGVyZmFjZTxGLCBTLCBNPiB7XG4gIC8qKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNib2R5ICovXG4gIHJlYWRvbmx5IGJvZHk/OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPID8gT1snYm9keSddIDogYW55O1xuICAvKiogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjc2VhcmNoUGFyYW1zICovXG4gIHJlYWRvbmx5IHNlYXJjaFBhcmFtcz86ICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgID8gT1snc2VhcmNoUGFyYW1zJ11cbiAgICA6IC8vIHVua25vd24gaXMgaWRlbnRpdHkgd2l0aCAnJicgdHlwZSBvcGVyYXRvclxuICAgICAgdW5rbm93bjtcblxuICAvKiogUGF0dGVybiB0byBjb25zdHJ1Y3QgdXJsIGJhc2VkIG9uIFVybCBQYXJhbWV0ZXJzXG4gICAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I3BhdGhcbiAgICovXG4gIHJlYWRvbmx5IHBhdGg6IE9bJ3BhdGgnXTtcbiAgLyoqIFByZXBlbmRlZCB0byBhbGwgdXJsc1xuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCN1cmxQcmVmaXhcbiAgICovXG4gIHJlYWRvbmx5IHVybFByZWZpeDogc3RyaW5nO1xuICByZWFkb25seSByZXF1ZXN0SW5pdDogUmVxdWVzdEluaXQ7XG4gIC8qKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNtZXRob2QgKi9cbiAgcmVhZG9ubHkgbWV0aG9kOiAoTyAmIHsgbWV0aG9kOiBzdHJpbmcgfSlbJ21ldGhvZCddO1xuICByZWFkb25seSBzaWduYWw6IEFib3J0U2lnbmFsIHwgdW5kZWZpbmVkO1xuICByZWFkb25seSBwYWdpbmF0aW9uRmllbGQ/OiBzdHJpbmc7XG5cbiAgLyogZmV0Y2ggbGlmZWN5Y2xlcyAqL1xuICAvKiBiZWZvcmUtZmV0Y2ggKi9cbiAgdXJsKC4uLmFyZ3M6IFBhcmFtZXRlcnM8Rj4pOiBzdHJpbmc7XG4gIC8qKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNnZXRSZXF1ZXN0SW5pdCAqL1xuICBnZXRSZXF1ZXN0SW5pdChcbiAgICB0aGlzOiBhbnksXG4gICAgYm9keT86IFJlcXVlc3RJbml0Wydib2R5J10gfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgKTogUHJvbWlzZTxSZXF1ZXN0SW5pdD4gfCBSZXF1ZXN0SW5pdDtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I2dldEhlYWRlcnMgKi9cbiAgZ2V0SGVhZGVycyhoZWFkZXJzOiBIZWFkZXJzSW5pdCk6IFByb21pc2U8SGVhZGVyc0luaXQ+IHwgSGVhZGVyc0luaXQ7XG4gIC8qIGFmdGVyLWZldGNoICovXG4gIC8qKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNmZXRjaFJlc3BvbnNlICovXG4gIGZldGNoUmVzcG9uc2UoaW5wdXQ6IFJlcXVlc3RJbmZvLCBpbml0OiBSZXF1ZXN0SW5pdCk6IFByb21pc2U8UmVzcG9uc2U+O1xuICAvKiogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjcGFyc2VSZXNwb25zZSAqL1xuICBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlOiBSZXNwb25zZSk6IFByb21pc2U8YW55PjtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I3Byb2Nlc3MgKi9cbiAgcHJvY2Vzcyh2YWx1ZTogYW55LCAuLi5hcmdzOiBQYXJhbWV0ZXJzPEY+KTogUmVzb2x2ZVR5cGU8Rj47XG5cbiAgLyogdXRpbGl0aWVzICovXG4gIC8qKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCN0ZXN0S2V5ICovXG4gIHRlc3RLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuO1xuXG4gIC8qIGV4dGVuZGVycyAqL1xuICAvLyBUT0RPOiBmaWd1cmUgb3V0IGJldHRlciB3YXkgdGhhbiB3cmFwcGluZyB3aG9sZSBvcHRpb25zIGluIFJlYWRvbmx5PD4gKyBtYWtpbmcgTyBleHRlbmQgZnJvbSB7fVxuICAvLyAgICAgICB0aGlzIGlzIGp1c3QgYSBoYWNrIHRvIGhhbmRsZSB3aGVuIG5vIG1lbWJlcnMgb2YgUGFydGlhbFJlc3RHZW5lcmljcyBhcmUgcHJlc2VudFxuICAvLyAgICAgICBOb3RlOiBVc2luZyBvdmVybG9hZGluZyAobGlrZSBwYWdpbmF0ZWQgZGlkKSBzdHJ1Z2dsZXMgYmVjYXVzZSB0eXBlc2NyaXB0IGRvZXMgbm90IGhhdmUgYSBjbGVhciB3YXkgb2YgZGlzdGluZ3Vpc2hpbmcgb25lXG4gIC8vICAgICAgIHNob3VsZCBiZSB1c2VkIGZyb20gdGhlIG90aGVyIChkdWUgdG8gc2FtZSBwcm9ibGVtIHdpdGggZXZlcnkgbWVtYmVyIGJlaW5nIHBhcnRpYWwpXG4gIC8qKiBDcmVhdGVzIGEgY2hpbGQgZW5kcG9pbnQgdGhhdCBpbmhlcml0cyBmcm9tIHRoaXMgd2hpbGUgb3ZlcnJpZGluZyBwcm92aWRlZCBgb3B0aW9uc2AuXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNleHRlbmRcbiAgICovXG4gIGV4dGVuZDxcbiAgICBFIGV4dGVuZHMgUmVzdEluc3RhbmNlQmFzZSxcbiAgICBFeHRlbmRPcHRpb25zIGV4dGVuZHMgUGFydGlhbFJlc3RHZW5lcmljcyB8IHt9LFxuICA+KFxuICAgIHRoaXM6IEUsXG4gICAgb3B0aW9uczogUmVhZG9ubHk8XG4gICAgICBSZXN0RW5kcG9pbnRFeHRlbmRPcHRpb25zPEV4dGVuZE9wdGlvbnMsIEUsIEY+ICYgRXh0ZW5kT3B0aW9uc1xuICAgID4sXG4gICk6IFJlc3RFeHRlbmRlZEVuZHBvaW50PEV4dGVuZE9wdGlvbnMsIEU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3RJbnN0YW5jZTxcbiAgRiBleHRlbmRzIEZldGNoRnVuY3Rpb24gPSBGZXRjaEZ1bmN0aW9uLFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkID0gYW55LFxuICBNIGV4dGVuZHMgdHJ1ZSB8IHVuZGVmaW5lZCA9IHRydWUgfCB1bmRlZmluZWQsXG4gIE8gZXh0ZW5kcyB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIGJvZHk/OiBhbnk7XG4gICAgc2VhcmNoUGFyYW1zPzogYW55O1xuICAgIG1ldGhvZD86IHN0cmluZztcbiAgICBwYWdpbmF0aW9uRmllbGQ/OiBzdHJpbmc7XG4gIH0gPSB7IHBhdGg6IHN0cmluZyB9LFxuPiBleHRlbmRzIFJlc3RJbnN0YW5jZUJhc2U8RiwgUywgTSwgTz4ge1xuICAvKiogQ3JlYXRlcyBhbiBFbmRwb2ludCB0byBhcHBlbmQgdGhlIG5leHQgcGFnZSBleHRlbmRpbmcgYSBsaXN0IGZvciBwYWdpbmF0aW9uXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwYWdpbmF0ZWRcbiAgICovXG4gIHBhZ2luYXRlZDxcbiAgICBFIGV4dGVuZHMgUmVzdEluc3RhbmNlQmFzZTxGZXRjaEZ1bmN0aW9uLCBhbnksIHVuZGVmaW5lZD4sXG4gICAgQSBleHRlbmRzIGFueVtdLFxuICA+KFxuICAgIHRoaXM6IEUsXG4gICAgcmVtb3ZlQ3Vyc29yOiAoLi4uYXJnczogQSkgPT4gcmVhZG9ubHkgWy4uLlBhcmFtZXRlcnM8RT5dLFxuICApOiBQYWdpbmF0aW9uRW5kcG9pbnQ8RSwgQT47XG4gIHBhZ2luYXRlZDxcbiAgICBFIGV4dGVuZHMgUmVzdEluc3RhbmNlQmFzZTxGZXRjaEZ1bmN0aW9uLCBhbnksIHVuZGVmaW5lZD4sXG4gICAgQyBleHRlbmRzIHN0cmluZyxcbiAgPihcbiAgICB0aGlzOiBFLFxuICAgIGN1cnNvckZpZWxkOiBDLFxuICApOiBQYWdpbmF0aW9uRmllbGRFbmRwb2ludDxFLCBDPjtcbiAgLyoqIEVuZHBvaW50IHRvIGFwcGVuZCB0aGUgbmV4dCBwYWdlIGV4dGVuZGluZyBhIGxpc3QgZm9yIHBhZ2luYXRpb25cbiAgICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I2dldFBhZ2VcbiAgICovXG4gIGdldFBhZ2U6ICdwYWdpbmF0aW9uRmllbGQnIGV4dGVuZHMga2V5b2YgT1xuICAgID8gT1sncGFnaW5hdGlvbkZpZWxkJ10gZXh0ZW5kcyBzdHJpbmdcbiAgICAgID8gUGFnaW5hdGlvbkZpZWxkRW5kcG9pbnQ8XG4gICAgICAgICAgRiAmIHsgc2NoZW1hOiBTOyBzaWRlRWZmZWN0OiBNIH0gJiBPLFxuICAgICAgICAgIE9bJ3BhZ2luYXRpb25GaWVsZCddXG4gICAgICAgID5cbiAgICAgIDogdW5kZWZpbmVkXG4gICAgOiB1bmRlZmluZWQ7XG4gIC8qKiBFbmRwb2ludCB0aGF0IHB1c2hlcyAocGxhY2UgYXQgZW5kKSBhIG5ld2x5IGNyZWF0ZWQgZW50aXR5IHRvIHRoaXMgQ29sbGVjdGlvblxuICAgKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjcHVzaFxuICAgKi9cbiAgcHVzaDogQWRkRW5kcG9pbnQ8XG4gICAgRixcbiAgICBFeHRyYWN0Q29sbGVjdGlvbjxTPlsncHVzaCddLFxuICAgIEV4Y2x1ZGU8TywgJ2JvZHknIHwgJ21ldGhvZCc+ICYge1xuICAgICAgYm9keTpcbiAgICAgICAgfCBPcHRpb25zVG9BZGRlckJvZHlBcmd1bWVudDxPPlxuICAgICAgICB8IE9wdGlvbnNUb0FkZGVyQm9keUFyZ3VtZW50PE8+W11cbiAgICAgICAgfCBGb3JtRGF0YTtcbiAgICB9XG4gID47XG4gIC8qKiBFbmRwb2ludCB0aGF0IHVuc2hpZnRzIChwbGFjZSBhdCBzdGFydCkgYSBuZXdseSBjcmVhdGVkIGVudGl0eSB0byB0aGlzIENvbGxlY3Rpb25cbiAgICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I3Vuc2hpZnRcbiAgICovXG4gIHVuc2hpZnQ6IEFkZEVuZHBvaW50PFxuICAgIEYsXG4gICAgRXh0cmFjdENvbGxlY3Rpb248Uz5bJ3Vuc2hpZnQnXSxcbiAgICBFeGNsdWRlPE8sICdib2R5JyB8ICdtZXRob2QnPiAmIHtcbiAgICAgIGJvZHk6XG4gICAgICAgIHwgT3B0aW9uc1RvQWRkZXJCb2R5QXJndW1lbnQ8Tz5cbiAgICAgICAgfCBPcHRpb25zVG9BZGRlckJvZHlBcmd1bWVudDxPPltdXG4gICAgICAgIHwgRm9ybURhdGE7XG4gICAgfVxuICA+O1xuICAvKiogRW5kcG9pbnQgdGhhdCBhc3NpZ25zIG5ld2x5IGNyZWF0ZWQgZW50aXRpZXMgdG8gdGhlaXIgcmVzcGVjdGl2ZSBrZXlzIGluIHRoaXMgQ29sbGVjdGlvblxuICAgKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjYXNzaWduXG4gICAqL1xuICBhc3NpZ246IEFkZEVuZHBvaW50PFxuICAgIEYsXG4gICAgRXh0cmFjdENvbGxlY3Rpb248Uz4sXG4gICAgRXhjbHVkZTxPLCAnYm9keScgfCAnbWV0aG9kJz4gJiB7XG4gICAgICBib2R5OiBSZWNvcmQ8c3RyaW5nLCBPcHRpb25zVG9BZGRlckJvZHlBcmd1bWVudDxPPj4gfCBGb3JtRGF0YTtcbiAgICB9XG4gID47XG59XG5cbmV4cG9ydCB0eXBlIFJlc3RFbmRwb2ludEV4dGVuZE9wdGlvbnM8XG4gIE8gZXh0ZW5kcyBQYXJ0aWFsUmVzdEdlbmVyaWNzLFxuICBFIGV4dGVuZHMgeyBib2R5PzogYW55OyBwYXRoPzogc3RyaW5nOyBzY2hlbWE/OiBTY2hlbWE7IG1ldGhvZD86IHN0cmluZyB9LFxuICBGIGV4dGVuZHMgRmV0Y2hGdW5jdGlvbixcbj4gPSBSZXN0RW5kcG9pbnRPcHRpb25zPFxuICBPcHRpb25zVG9GdW5jdGlvbjxPLCBFLCBGPixcbiAgJ3NjaGVtYScgZXh0ZW5kcyBrZXlvZiBPXG4gICAgPyBFeHRyYWN0PE9bJ3NjaGVtYSddLCBTY2hlbWEgfCB1bmRlZmluZWQ+XG4gICAgOiBFWydzY2hlbWEnXVxuPiAmXG4gIFBhcnRpYWw8XG4gICAgT21pdDxcbiAgICAgIEUsXG4gICAgICBLZXlvZlJlc3RFbmRwb2ludCB8IGtleW9mIFBhcnRpYWxSZXN0R2VuZXJpY3MgfCBrZXlvZiBSZXN0RW5kcG9pbnRPcHRpb25zXG4gICAgPlxuICA+O1xuXG50eXBlIE9wdGlvbnNUb1Jlc3RFbmRwb2ludDxcbiAgTyBleHRlbmRzIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIEUgZXh0ZW5kcyBSZXN0SW5zdGFuY2VCYXNlICYgeyBib2R5PzogYW55OyBwYWdpbmF0aW9uRmllbGQ/OiBzdHJpbmcgfSxcbiAgRiBleHRlbmRzIEZldGNoRnVuY3Rpb24sXG4+ID0gJ3BhdGgnIGV4dGVuZHMga2V5b2YgT1xuICA/IFJlc3RUeXBlPFxuICAgICAgJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgID8gT1snc2VhcmNoUGFyYW1zJ10gZXh0ZW5kcyB1bmRlZmluZWRcbiAgICAgICAgICA/IFBhdGhBcmdzPEV4Y2x1ZGU8T1sncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICAgIDogT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPE9bJ3BhdGgnXSwgdW5kZWZpbmVkPj5cbiAgICAgICAgOiBQYXRoQXJnczxFeGNsdWRlPE9bJ3BhdGgnXSwgdW5kZWZpbmVkPj4sXG4gICAgICBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gICAgICAgICdib2R5JyBleHRlbmRzIGtleW9mIE8gPyBPIDogRSxcbiAgICAgICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gT1snbWV0aG9kJ10gOiBFWydtZXRob2QnXVxuICAgICAgPixcbiAgICAgICdzY2hlbWEnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ3NjaGVtYSddIDogRVsnc2NoZW1hJ10sXG4gICAgICAnbWV0aG9kJyBleHRlbmRzIGtleW9mIE8gPyBNZXRob2RUb1NpZGU8T1snbWV0aG9kJ10+IDogRVsnc2lkZUVmZmVjdCddLFxuICAgICAgT1sncHJvY2VzcyddIGV4dGVuZHMge30gPyBSZXR1cm5UeXBlPE9bJ3Byb2Nlc3MnXT4gOiBSZXNvbHZlVHlwZTxGPixcbiAgICAgIHtcbiAgICAgICAgcGF0aDogRXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD47XG4gICAgICAgIGJvZHk6ICdib2R5JyBleHRlbmRzIGtleW9mIE8gPyBPWydib2R5J10gOiBFWydib2R5J107XG4gICAgICAgIHNlYXJjaFBhcmFtczogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXVxuICAgICAgICAgIDogRVsnc2VhcmNoUGFyYW1zJ107XG4gICAgICAgIG1ldGhvZDogJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gT1snbWV0aG9kJ10gOiBFWydtZXRob2QnXTtcbiAgICAgICAgcGFnaW5hdGlvbkZpZWxkOiAncGFnaW5hdGlvbkZpZWxkJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgICA/IE9bJ3BhZ2luYXRpb25GaWVsZCddXG4gICAgICAgICAgOiBFWydwYWdpbmF0aW9uRmllbGQnXTtcbiAgICAgIH1cbiAgICA+XG4gIDogJ2JvZHknIGV4dGVuZHMga2V5b2YgT1xuICA/IFJlc3RUeXBlPFxuICAgICAgJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgID8gT1snc2VhcmNoUGFyYW1zJ10gZXh0ZW5kcyB1bmRlZmluZWRcbiAgICAgICAgICA/IFBhdGhBcmdzPEV4Y2x1ZGU8T1sncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICAgIDogT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPEVbJ3BhdGgnXSwgdW5kZWZpbmVkPj5cbiAgICAgICAgOiBQYXRoQXJnczxFeGNsdWRlPEVbJ3BhdGgnXSwgdW5kZWZpbmVkPj4sXG4gICAgICBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gICAgICAgIE8sXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ11cbiAgICAgID4sXG4gICAgICAnc2NoZW1hJyBleHRlbmRzIGtleW9mIE8gPyBPWydzY2hlbWEnXSA6IEVbJ3NjaGVtYSddLFxuICAgICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gTWV0aG9kVG9TaWRlPE9bJ21ldGhvZCddPiA6IEVbJ3NpZGVFZmZlY3QnXSxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj4sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IEVbJ3BhdGgnXTtcbiAgICAgICAgYm9keTogT1snYm9keSddO1xuICAgICAgICBzZWFyY2hQYXJhbXM6ICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1snc2VhcmNoUGFyYW1zJ11cbiAgICAgICAgICA6IEVbJ3NlYXJjaFBhcmFtcyddO1xuICAgICAgICBtZXRob2Q6ICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ107XG4gICAgICAgIHBhZ2luYXRpb25GaWVsZDogJ3BhZ2luYXRpb25GaWVsZCcgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBPWydwYWdpbmF0aW9uRmllbGQnXVxuICAgICAgICAgIDogRXh0cmFjdDxFWydwYWdpbmF0aW9uRmllbGQnXSwgc3RyaW5nPjtcbiAgICAgIH1cbiAgICA+XG4gIDogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gID8gUmVzdFR5cGU8XG4gICAgICBPWydzZWFyY2hQYXJhbXMnXSBleHRlbmRzIHVuZGVmaW5lZFxuICAgICAgICA/IFBhdGhBcmdzPEV4Y2x1ZGU8T1sncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8RXhjbHVkZTxFWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgICAgT3B0aW9uc1RvQm9keUFyZ3VtZW50PFxuICAgICAgICBFLFxuICAgICAgICAnbWV0aG9kJyBleHRlbmRzIGtleW9mIE8gPyBPWydtZXRob2QnXSA6IEVbJ21ldGhvZCddXG4gICAgICA+LFxuICAgICAgJ3NjaGVtYScgZXh0ZW5kcyBrZXlvZiBPID8gT1snc2NoZW1hJ10gOiBFWydzY2hlbWEnXSxcbiAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE1ldGhvZFRvU2lkZTxPWydtZXRob2QnXT4gOiBFWydzaWRlRWZmZWN0J10sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+LFxuICAgICAge1xuICAgICAgICBwYXRoOiBFWydwYXRoJ107XG4gICAgICAgIGJvZHk6IEVbJ2JvZHknXTtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiBPWydzZWFyY2hQYXJhbXMnXTtcbiAgICAgICAgbWV0aG9kOiAnbWV0aG9kJyBleHRlbmRzIGtleW9mIE8gPyBPWydtZXRob2QnXSA6IEVbJ21ldGhvZCddO1xuICAgICAgICBwYWdpbmF0aW9uRmllbGQ6ICdwYWdpbmF0aW9uRmllbGQnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1sncGFnaW5hdGlvbkZpZWxkJ11cbiAgICAgICAgICA6IEV4dHJhY3Q8RVsncGFnaW5hdGlvbkZpZWxkJ10sIHN0cmluZz47XG4gICAgICB9XG4gICAgPlxuICA6IFJlc3RJbnN0YW5jZTxcbiAgICAgIEYsXG4gICAgICAnc2NoZW1hJyBleHRlbmRzIGtleW9mIE8gPyBPWydzY2hlbWEnXSA6IEVbJ3NjaGVtYSddLFxuICAgICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gTWV0aG9kVG9TaWRlPE9bJ21ldGhvZCddPiA6IEVbJ3NpZGVFZmZlY3QnXSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ3BhdGgnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gRXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD5cbiAgICAgICAgICA6IEVbJ3BhdGgnXTtcbiAgICAgICAgYm9keTogJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/IE9bJ2JvZHknXSA6IEVbJ2JvZHknXTtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddXG4gICAgICAgICAgOiBFWydzZWFyY2hQYXJhbXMnXTtcbiAgICAgICAgbWV0aG9kOiAnbWV0aG9kJyBleHRlbmRzIGtleW9mIE8gPyBPWydtZXRob2QnXSA6IEVbJ21ldGhvZCddO1xuICAgICAgICBwYWdpbmF0aW9uRmllbGQ6ICdwYWdpbmF0aW9uRmllbGQnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1sncGFnaW5hdGlvbkZpZWxkJ11cbiAgICAgICAgICA6IEVbJ3BhZ2luYXRpb25GaWVsZCddO1xuICAgICAgfVxuICAgID47XG5cbmV4cG9ydCB0eXBlIFJlc3RFeHRlbmRlZEVuZHBvaW50PFxuICBPIGV4dGVuZHMgUGFydGlhbFJlc3RHZW5lcmljcyxcbiAgRSBleHRlbmRzIFJlc3RJbnN0YW5jZUJhc2UgJiB7IGdldFBhZ2U/OiB1bmtub3duIH0sXG4+ID0gT3B0aW9uc1RvUmVzdEVuZHBvaW50PFxuICBPLFxuICBFICZcbiAgICAoRSBleHRlbmRzIHsgZ2V0UGFnZTogeyBwYWdpbmF0aW9uRmllbGQ6IHN0cmluZyB9IH1cbiAgICAgID8geyBwYWdpbmF0aW9uRmllbGQ6IEVbJ2dldFBhZ2UnXVsncGFnaW5hdGlvbkZpZWxkJ10gfVxuICAgICAgOiB1bmtub3duKSxcbiAgUmVzdEluc3RhbmNlPFxuICAgIChcbiAgICAgIC4uLmFyZ3M6IFBhcmFtZXRlcnM8RT5cbiAgICApID0+IE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9XG4gICAgICA/IFByb21pc2U8UmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+PlxuICAgICAgOiBSZXR1cm5UeXBlPEU+LFxuICAgICdzY2hlbWEnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ3NjaGVtYSddIDogRVsnc2NoZW1hJ10sXG4gICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gTWV0aG9kVG9TaWRlPE9bJ21ldGhvZCddPiA6IEVbJ3NpZGVFZmZlY3QnXVxuICA+XG4+ICZcbiAgT21pdDxPLCBLZXlvZlJlc3RFbmRwb2ludD4gJlxuICBPbWl0PEUsIEtleW9mUmVzdEVuZHBvaW50IHwga2V5b2YgTz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbFJlc3RHZW5lcmljcyB7XG4gIC8qKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwYXRoICovXG4gIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG4gIC8qKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNzY2hlbWEgKi9cbiAgcmVhZG9ubHkgc2NoZW1hPzogU2NoZW1hIHwgdW5kZWZpbmVkO1xuICAvKiogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjbWV0aG9kICovXG4gIHJlYWRvbmx5IG1ldGhvZD86IHN0cmluZztcbiAgLyoqIE9ubHkgdXNlZCBmb3IgdHlwZXMgKi9cbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNib2R5ICovXG4gIGJvZHk/OiBhbnk7XG4gIC8qKiBPbmx5IHVzZWQgZm9yIHR5cGVzICovXG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjc2VhcmNoUGFyYW1zICovXG4gIHNlYXJjaFBhcmFtcz86IGFueTtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwYWdpbmF0aW9uZmllbGQgKi9cbiAgcmVhZG9ubHkgcGFnaW5hdGlvbkZpZWxkPzogc3RyaW5nO1xuICAvKiogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjcHJvY2VzcyAqL1xuICBwcm9jZXNzPyh2YWx1ZTogYW55LCAuLi5hcmdzOiBhbnkpOiBhbnk7XG59XG5leHBvcnQgaW50ZXJmYWNlIFJlc3RHZW5lcmljcyBleHRlbmRzIFBhcnRpYWxSZXN0R2VuZXJpY3Mge1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25FbmRwb2ludDxcbiAgRSBleHRlbmRzIEZldGNoRnVuY3Rpb24gJiBSZXN0R2VuZXJpY3MgJiB7IHNpZGVFZmZlY3Q/OiB0cnVlIHwgdW5kZWZpbmVkIH0sXG4gIEEgZXh0ZW5kcyBhbnlbXSxcbj4gPSBSZXN0SW5zdGFuY2VCYXNlPFxuICBQYXJhbUZldGNoTm9Cb2R5PEFbMF0sIFJlc29sdmVUeXBlPEU+PixcbiAgRVsnc2NoZW1hJ10sXG4gIEVbJ3NpZGVFZmZlY3QnXSxcbiAgUGljazxFLCAncGF0aCcgfCAnc2VhcmNoUGFyYW1zJyB8ICdib2R5Jz4gJiB7XG4gICAgc2VhcmNoUGFyYW1zOiBPbWl0PEFbMF0sIGtleW9mIFBhdGhBcmdzPEVbJ3BhdGgnXT4+O1xuICB9XG4+O1xuZXhwb3J0IHR5cGUgUGFnaW5hdGlvbkZpZWxkRW5kcG9pbnQ8XG4gIEUgZXh0ZW5kcyBGZXRjaEZ1bmN0aW9uICYgUmVzdEdlbmVyaWNzICYgeyBzaWRlRWZmZWN0PzogdHJ1ZSB8IHVuZGVmaW5lZCB9LFxuICBDIGV4dGVuZHMgc3RyaW5nLFxuPiA9IFJlc3RJbnN0YW5jZUJhc2U8XG4gIFBhcmFtRmV0Y2hOb0JvZHk8XG4gICAgeyBbSyBpbiBDXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB9ICYgRVsnc2VhcmNoUGFyYW1zJ10gJlxuICAgICAgUGF0aEFyZ3M8RXhjbHVkZTxFWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgIFJlc29sdmVUeXBlPEU+XG4gID4sXG4gIEVbJ3NjaGVtYSddLFxuICBFWydzaWRlRWZmZWN0J10sXG4gIFBpY2s8RSwgJ3BhdGgnIHwgJ3NlYXJjaFBhcmFtcycgfCAnYm9keSc+ICYge1xuICAgIHNlYXJjaFBhcmFtczogeyBbSyBpbiBDXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB9ICYgRVsnc2VhcmNoUGFyYW1zJ107XG4gIH1cbj4gJiB7IHBhZ2luYXRpb25GaWVsZDogQyB9O1xuZXhwb3J0IHR5cGUgQWRkRW5kcG9pbnQ8XG4gIEYgZXh0ZW5kcyBGZXRjaEZ1bmN0aW9uID0gRmV0Y2hGdW5jdGlvbixcbiAgUyBleHRlbmRzIFNjaGVtYSB8IHVuZGVmaW5lZCA9IGFueSxcbiAgTyBleHRlbmRzIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgYm9keTogYW55O1xuICAgIHNlYXJjaFBhcmFtcz86IGFueTtcbiAgfSA9IHsgcGF0aDogc3RyaW5nOyBib2R5OiBhbnkgfSxcbj4gPSBSZXN0SW5zdGFuY2VCYXNlPFxuICBSZXN0RmV0Y2g8XG4gICAgJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddIGV4dGVuZHMgdW5kZWZpbmVkXG4gICAgICAgID8gUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgIDogT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPE9bJ3BhdGgnXSwgdW5kZWZpbmVkPj5cbiAgICAgIDogUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgIE9bJ2JvZHknXSxcbiAgICBSZXNvbHZlVHlwZTxGPlxuICA+LFxuICBTLFxuICB0cnVlLFxuICBPbWl0PE8sICdtZXRob2QnPiAmIHsgbWV0aG9kOiAnUE9TVCcgfVxuPjtcblxudHlwZSBPcHRpb25zQm9keURlZmF1bHQ8TyBleHRlbmRzIFJlc3RHZW5lcmljcz4gPSAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gID8gT1xuICA6IE9bJ21ldGhvZCddIGV4dGVuZHMgJ1BPU1QnIHwgJ1BVVCcgfCAnUEFUQ0gnXG4gID8gTyAmIHsgYm9keTogYW55IH1cbiAgOiBPICYgeyBib2R5OiB1bmRlZmluZWQgfTtcblxudHlwZSBPcHRpb25zVG9BZGRlckJvZHlBcmd1bWVudDxPIGV4dGVuZHMgeyBib2R5PzogYW55IH0+ID1cbiAgJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/IE9bJ2JvZHknXSA6IGFueTtcblxuZXhwb3J0IGludGVyZmFjZSBSZXN0RW5kcG9pbnRPcHRpb25zPFxuICBGIGV4dGVuZHMgRmV0Y2hGdW5jdGlvbiA9IEZldGNoRnVuY3Rpb24sXG4gIFMgZXh0ZW5kcyBTY2hlbWEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4+IGV4dGVuZHMgRW5kcG9pbnRFeHRyYU9wdGlvbnM8Rj4ge1xuICB1cmxQcmVmaXg/OiBzdHJpbmc7XG4gIHJlcXVlc3RJbml0PzogUmVxdWVzdEluaXQ7XG4gIGdldEhlYWRlcnM/KGhlYWRlcnM6IEhlYWRlcnNJbml0KTogUHJvbWlzZTxIZWFkZXJzSW5pdD4gfCBIZWFkZXJzSW5pdDtcbiAgZ2V0UmVxdWVzdEluaXQ/KGJvZHk6IGFueSk6IFByb21pc2U8UmVxdWVzdEluaXQ+IHwgUmVxdWVzdEluaXQ7XG4gIGZldGNoUmVzcG9uc2U/KGlucHV0OiBSZXF1ZXN0SW5mbywgaW5pdDogUmVxdWVzdEluaXQpOiBQcm9taXNlPGFueT47XG4gIHBhcnNlUmVzcG9uc2U/KHJlc3BvbnNlOiBSZXNwb25zZSk6IFByb21pc2U8YW55PjtcblxuICBzaWRlRWZmZWN0PzogdHJ1ZSB8IHVuZGVmaW5lZDtcbiAgbmFtZT86IHN0cmluZztcbiAgc2lnbmFsPzogQWJvcnRTaWduYWw7XG4gIGZldGNoPzogRjtcbiAga2V5PyguLi5hcmdzOiBQYXJhbWV0ZXJzPEY+KTogc3RyaW5nO1xuICB1cmw/KC4uLmFyZ3M6IFBhcmFtZXRlcnM8Rj4pOiBzdHJpbmc7XG4gIHVwZGF0ZT86IEVuZHBvaW50VXBkYXRlRnVuY3Rpb248RiwgUz47XG59XG5cbmV4cG9ydCB0eXBlIFJlc3RFbmRwb2ludENvbnN0cnVjdG9yT3B0aW9uczxPIGV4dGVuZHMgUmVzdEdlbmVyaWNzID0gYW55PiA9XG4gIFJlc3RFbmRwb2ludE9wdGlvbnM8XG4gICAgUmVzdEZldGNoPFxuICAgICAgJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgID8gT1snc2VhcmNoUGFyYW1zJ10gZXh0ZW5kcyB1bmRlZmluZWRcbiAgICAgICAgICA/IFBhdGhBcmdzPE9bJ3BhdGgnXT5cbiAgICAgICAgICA6IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8T1sncGF0aCddPlxuICAgICAgICA6IFBhdGhBcmdzPE9bJ3BhdGgnXT4sXG4gICAgICBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gICAgICAgIE8sXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1snbWV0aG9kJ11cbiAgICAgICAgICA6IE8gZXh0ZW5kcyB7IHNpZGVFZmZlY3Q6IHRydWUgfVxuICAgICAgICAgID8gJ1BPU1QnXG4gICAgICAgICAgOiAnR0VUJ1xuICAgICAgPixcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9XG4gICAgICAgID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+XG4gICAgICAgIDogYW55IC8qRGVub3JtYWxpemU8T1snc2NoZW1hJ10+Ki9cbiAgICA+LFxuICAgIE9bJ3NjaGVtYSddXG4gID47XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdEVuZHBvaW50Q29uc3RydWN0b3Ige1xuICBuZXcgPE8gZXh0ZW5kcyBSZXN0R2VuZXJpY3MgPSBhbnk+KHtcbiAgICBtZXRob2QsXG4gICAgc2lkZUVmZmVjdCxcbiAgICBuYW1lLFxuICAgIC4uLm9wdGlvbnNcbiAgfTogUmVzdEVuZHBvaW50Q29uc3RydWN0b3JPcHRpb25zPE8+ICYgUmVhZG9ubHk8Tz4pOiBSZXN0SW5zdGFuY2U8XG4gICAgUmVzdEZldGNoPFxuICAgICAgJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgID8gT1snc2VhcmNoUGFyYW1zJ10gZXh0ZW5kcyB1bmRlZmluZWRcbiAgICAgICAgICA/IFBhdGhBcmdzPE9bJ3BhdGgnXT5cbiAgICAgICAgICA6IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8T1sncGF0aCddPlxuICAgICAgICA6IFBhdGhBcmdzPE9bJ3BhdGgnXT4sXG4gICAgICBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gICAgICAgIE8sXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1snbWV0aG9kJ11cbiAgICAgICAgICA6IE8gZXh0ZW5kcyB7IHNpZGVFZmZlY3Q6IHRydWUgfVxuICAgICAgICAgID8gJ1BPU1QnXG4gICAgICAgICAgOiAnR0VUJ1xuICAgICAgPixcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9XG4gICAgICAgID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+XG4gICAgICAgIDogYW55IC8qRGVub3JtYWxpemU8T1snc2NoZW1hJ10+Ki9cbiAgICA+LFxuICAgICdzY2hlbWEnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ3NjaGVtYSddIDogdW5kZWZpbmVkLFxuICAgICdzaWRlRWZmZWN0JyBleHRlbmRzIGtleW9mIE9cbiAgICAgID8gRXh0cmFjdDxPWydzaWRlRWZmZWN0J10sIHVuZGVmaW5lZCB8IHRydWU+XG4gICAgICA6IE1ldGhvZFRvU2lkZTxPWydtZXRob2QnXT4sXG4gICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICA/IE9cbiAgICAgIDogTyAmIHtcbiAgICAgICAgICBtZXRob2Q6IE8gZXh0ZW5kcyB7IHNpZGVFZmZlY3Q6IHRydWUgfSA/ICdQT1NUJyA6ICdHRVQnO1xuICAgICAgICB9XG4gID47XG4gIHJlYWRvbmx5IHByb3RvdHlwZTogUmVzdEluc3RhbmNlQmFzZTtcbn1cblxuZXhwb3J0IHR5cGUgTWV0aG9kVG9TaWRlPE0+ID0gTSBleHRlbmRzIHN0cmluZ1xuICA/IE0gZXh0ZW5kcyAnR0VUJ1xuICAgID8gdW5kZWZpbmVkXG4gICAgOiB0cnVlXG4gIDogdW5kZWZpbmVkO1xuXG4vKiogUmVzdEVuZHBvaW50IHR5cGVzIHNpbXBsaWZpZWQgKi9cbmV4cG9ydCB0eXBlIFJlc3RUeXBlPFxuICBVcmxQYXJhbXMgPSBhbnksXG4gIEJvZHkgPSBhbnksXG4gIFMgZXh0ZW5kcyBTY2hlbWEgfCB1bmRlZmluZWQgPSBTY2hlbWEgfCB1bmRlZmluZWQsXG4gIE0gZXh0ZW5kcyB0cnVlIHwgdW5kZWZpbmVkID0gdHJ1ZSB8IHVuZGVmaW5lZCxcbiAgUiA9IGFueSxcbiAgTyBleHRlbmRzIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgYm9keT86IGFueTtcbiAgICBzZWFyY2hQYXJhbXM/OiBhbnk7XG4gICAgcGFnaW5hdGlvbkZpZWxkPzogc3RyaW5nO1xuICB9ID0geyBwYXRoOiBzdHJpbmc7IHBhZ2luYXRpb25GaWVsZDogc3RyaW5nIH0sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4+ID0gSWZUeXBlU2NyaXB0TG9vc2VOdWxsPFxuICBSZXN0SW5zdGFuY2U8XG4gICAga2V5b2YgVXJsUGFyYW1zIGV4dGVuZHMgbmV2ZXJcbiAgICAgID8gKHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsIGJvZHk/OiBCb2R5KSA9PiBQcm9taXNlPFI+XG4gICAgICA6IC8vIGV2ZW4gd2l0aCBsb29zZSBudWxsLCB0aGlzIHdpbGwgb25seSBiZSB0cnVlIHdoZW4gYWxsIG1lbWJlcnMgYXJlIG9wdGlvbmFsXG4gICAgICB7fSBleHRlbmRzIFVybFBhcmFtc1xuICAgICAgP1xuICAgICAgICAgIHwgKCh0aGlzOiBFbmRwb2ludEluc3RhbmNlSW50ZXJmYWNlLCBib2R5PzogQm9keSkgPT4gUHJvbWlzZTxSPilcbiAgICAgICAgICB8ICgoXG4gICAgICAgICAgICAgIHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsXG4gICAgICAgICAgICAgIHBhcmFtczogVXJsUGFyYW1zLFxuICAgICAgICAgICAgICBib2R5PzogQm9keSxcbiAgICAgICAgICAgICkgPT4gUHJvbWlzZTxSPilcbiAgICAgIDogKFxuICAgICAgICAgIHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsXG4gICAgICAgICAgcGFyYW1zOiBVcmxQYXJhbXMsXG4gICAgICAgICAgYm9keT86IEJvZHksXG4gICAgICAgICkgPT4gUHJvbWlzZTxSPixcbiAgICBTLFxuICAgIE0sXG4gICAgT1xuICA+LFxuICBCb2R5IGV4dGVuZHMge31cbiAgICA/IFJlc3RUeXBlV2l0aEJvZHk8VXJsUGFyYW1zLCBTLCBNLCBCb2R5LCBSLCBPPlxuICAgIDogUmVzdFR5cGVOb0JvZHk8VXJsUGFyYW1zLCBTLCBNLCBSLCBPPlxuPjtcblxuZXhwb3J0IHR5cGUgUmVzdFR5cGVXaXRoQm9keTxcbiAgVXJsUGFyYW1zID0gYW55LFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkID0gU2NoZW1hIHwgdW5kZWZpbmVkLFxuICBNIGV4dGVuZHMgdHJ1ZSB8IHVuZGVmaW5lZCA9IHRydWUgfCB1bmRlZmluZWQsXG4gIEJvZHkgPSBhbnksXG4gIFIgPSBhbnkgLypEZW5vcm1hbGl6ZTxTPiovLFxuICBPIGV4dGVuZHMge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBib2R5PzogYW55O1xuICAgIHNlYXJjaFBhcmFtcz86IGFueTtcbiAgfSA9IHsgcGF0aDogc3RyaW5nOyBib2R5OiBhbnkgfSxcbj4gPSBSZXN0SW5zdGFuY2U8UGFyYW1GZXRjaFdpdGhCb2R5PFVybFBhcmFtcywgQm9keSwgUj4sIFMsIE0sIE8+O1xuXG5leHBvcnQgdHlwZSBSZXN0VHlwZU5vQm9keTxcbiAgVXJsUGFyYW1zID0gYW55LFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkID0gU2NoZW1hIHwgdW5kZWZpbmVkLFxuICBNIGV4dGVuZHMgdHJ1ZSB8IHVuZGVmaW5lZCA9IHRydWUgfCB1bmRlZmluZWQsXG4gIFIgPSBhbnkgLypEZW5vcm1hbGl6ZTxTPiovLFxuICBPIGV4dGVuZHMge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBib2R5PzogdW5kZWZpbmVkO1xuICAgIHNlYXJjaFBhcmFtcz86IGFueTtcbiAgfSA9IHsgcGF0aDogc3RyaW5nOyBib2R5OiB1bmRlZmluZWQgfSxcbj4gPSBSZXN0SW5zdGFuY2U8UGFyYW1GZXRjaE5vQm9keTxVcmxQYXJhbXMsIFI+LCBTLCBNLCBPPjtcblxuLyoqIFNpbXBsZSBwYXJhbWV0ZXJzLCBhbmQgYm9keSBmZXRjaCBmdW5jdGlvbnMgKi9cbmV4cG9ydCB0eXBlIFJlc3RGZXRjaDxcbiAgVXJsUGFyYW1zLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICBCb2R5ID0ge30sXG4gIFJlc29sdmUgPSBhbnksXG4+ID0gSWZUeXBlU2NyaXB0TG9vc2VOdWxsPFxuICB8IFBhcmFtRmV0Y2hOb0JvZHk8VXJsUGFyYW1zLCBSZXNvbHZlPlxuICB8IFBhcmFtRmV0Y2hXaXRoQm9keTxVcmxQYXJhbXMsIEJvZHksIFJlc29sdmU+LFxuICBCb2R5IGV4dGVuZHMge31cbiAgICA/IFBhcmFtRmV0Y2hXaXRoQm9keTxVcmxQYXJhbXMsIEJvZHksIFJlc29sdmU+XG4gICAgOiBQYXJhbUZldGNoTm9Cb2R5PFVybFBhcmFtcywgUmVzb2x2ZT5cbj47XG5cbmV4cG9ydCB0eXBlIFBhcmFtRmV0Y2hXaXRoQm9keTxQLCBCID0ge30sIFIgPSBhbnk+ID1cbiAgLy8gd2UgbXVzdCBhbHdheXMgYWxsb3cgdW5kZWZpbmVkIGluIGEgdW5pb24gYW5kIGdpdmUgaXQgYSB0eXBlIHdpdGhvdXQgcGFyYW1zXG4gIFAgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/ICh0aGlzOiBFbmRwb2ludEluc3RhbmNlSW50ZXJmYWNlLCBib2R5OiBCKSA9PiBQcm9taXNlPFI+XG4gICAgOiAvLyBldmVuIHdpdGggbG9vc2UgbnVsbCwgdGhpcyB3aWxsIG9ubHkgYmUgdHJ1ZSB3aGVuIGFsbCBtZW1iZXJzIGFyZSBvcHRpb25hbFxuICAgIHt9IGV4dGVuZHMgUFxuICAgID8gLy8gdGhpcyBzYWZlbHkgaGFuZGxlcyBQYXRoQXJncyB3aXRoIG5vIG1lbWJlcnMgdGhhdCByZXN1bHRzIGluIGEgc2ltcGxlIGB1bmtub3duYCB0eXBlXG4gICAgICBrZXlvZiBQIGV4dGVuZHMgbmV2ZXJcbiAgICAgID8gKHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsIGJvZHk6IEIpID0+IFByb21pc2U8Uj5cbiAgICAgIDpcbiAgICAgICAgICB8ICgoXG4gICAgICAgICAgICAgIHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsXG4gICAgICAgICAgICAgIHBhcmFtczogUCxcbiAgICAgICAgICAgICAgYm9keTogQixcbiAgICAgICAgICAgICkgPT4gUHJvbWlzZTxSPilcbiAgICAgICAgICB8ICgodGhpczogRW5kcG9pbnRJbnN0YW5jZUludGVyZmFjZSwgYm9keTogQikgPT4gUHJvbWlzZTxSPilcbiAgICA6ICh0aGlzOiBFbmRwb2ludEluc3RhbmNlSW50ZXJmYWNlLCBwYXJhbXM6IFAsIGJvZHk6IEIpID0+IFByb21pc2U8Uj47XG5cbmV4cG9ydCB0eXBlIFBhcmFtRmV0Y2hOb0JvZHk8UCwgUiA9IGFueT4gPVxuICAvLyB3ZSBtdXN0IGFsd2F5cyBhbGxvdyB1bmRlZmluZWQgaW4gYSB1bmlvbiBhbmQgZ2l2ZSBpdCBhIHR5cGUgd2l0aG91dCBwYXJhbXNcbiAgUCBleHRlbmRzIHVuZGVmaW5lZFxuICAgID8gKHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UpID0+IFByb21pc2U8Uj5cbiAgICA6IC8vIGV2ZW4gd2l0aCBsb29zZSBudWxsLCB0aGlzIHdpbGwgb25seSBiZSB0cnVlIHdoZW4gYWxsIG1lbWJlcnMgYXJlIG9wdGlvbmFsXG4gICAge30gZXh0ZW5kcyBQXG4gICAgPyAvLyB0aGlzIHNhZmVseSBoYW5kbGVzIFBhdGhBcmdzIHdpdGggbm8gbWVtYmVycyB0aGF0IHJlc3VsdHMgaW4gYSBzaW1wbGUgYHVua25vd25gIHR5cGVcbiAgICAgIGtleW9mIFAgZXh0ZW5kcyBuZXZlclxuICAgICAgPyAodGhpczogRW5kcG9pbnRJbnN0YW5jZUludGVyZmFjZSkgPT4gUHJvbWlzZTxSPlxuICAgICAgOlxuICAgICAgICAgIHwgKCh0aGlzOiBFbmRwb2ludEluc3RhbmNlSW50ZXJmYWNlLCBwYXJhbXM6IFApID0+IFByb21pc2U8Uj4pXG4gICAgICAgICAgfCAoKHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UpID0+IFByb21pc2U8Uj4pXG4gICAgOiAodGhpczogRW5kcG9pbnRJbnN0YW5jZUludGVyZmFjZSwgcGFyYW1zOiBQKSA9PiBQcm9taXNlPFI+O1xuXG50eXBlIElmVHlwZVNjcmlwdExvb3NlTnVsbDxZLCBOPiA9IDEgfCB1bmRlZmluZWQgZXh0ZW5kcyAxID8gWSA6IE47XG5cbmV4cG9ydCB0eXBlIEtleW9mUmVzdEVuZHBvaW50ID0ga2V5b2YgUmVzdEluc3RhbmNlO1xuXG5leHBvcnQgdHlwZSBGcm9tRmFsbEJhY2s8SyBleHRlbmRzIGtleW9mIEUsIE8sIEU+ID0gSyBleHRlbmRzIGtleW9mIE9cbiAgPyBPW0tdXG4gIDogRVtLXTtcblxuZXhwb3J0IHR5cGUgRmV0Y2hNdXRhdGU8XG4gIEEgZXh0ZW5kcyByZWFkb25seSBhbnlbXSA9ICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIHwgW2FueSwge31dXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICB8IFt7fV0sXG4gIFIgPSBhbnksXG4+ID0gKHRoaXM6IFJlc3RJbnN0YW5jZSwgLi4uYXJnczogQSkgPT4gUHJvbWlzZTxSPjtcblxuZXhwb3J0IHR5cGUgRmV0Y2hHZXQ8QSBleHRlbmRzIHJlYWRvbmx5IGFueVtdID0gW2FueV0sIFIgPSBhbnk+ID0gKFxuICB0aGlzOiBSZXN0SW5zdGFuY2UsXG4gIC4uLmFyZ3M6IEFcbikgPT4gUHJvbWlzZTxSPjtcblxuZXhwb3J0IHR5cGUgRGVmYXVsdHM8TywgRD4gPSB7XG4gIFtLIGluIGtleW9mIE8gfCBrZXlvZiBEXTogSyBleHRlbmRzIGtleW9mIE9cbiAgICA/IEV4Y2x1ZGU8T1tLXSwgdW5kZWZpbmVkPlxuICAgIDogRFtFeHRyYWN0PEssIGtleW9mIEQ+XTtcbn07XG5cbmV4cG9ydCB0eXBlIEdldEVuZHBvaW50PFxuICBPIGV4dGVuZHMge1xuICAgIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgICByZWFkb25seSBzY2hlbWE6IFNjaGVtYTtcbiAgICAvKiogT25seSB1c2VkIGZvciB0eXBlcyAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaFBhcmFtcz86IGFueTtcbiAgICByZWFkb25seSBwYWdpbmF0aW9uRmllbGQ/OiBzdHJpbmc7XG4gIH0gPSB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHNjaGVtYTogU2NoZW1hO1xuICB9LFxuPiA9IFJlc3RUeXBlTm9Cb2R5PFxuICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE9bJ3NlYXJjaFBhcmFtcyddIGV4dGVuZHMgdW5kZWZpbmVkXG4gICAgICA/IFBhdGhBcmdzPE9bJ3BhdGgnXT5cbiAgICAgIDogT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxPWydwYXRoJ10+XG4gICAgOiBQYXRoQXJnczxPWydwYXRoJ10+LFxuICBPWydzY2hlbWEnXSxcbiAgdW5kZWZpbmVkLFxuICBhbnksXG4gIE8gJiB7IG1ldGhvZDogJ0dFVCcgfVxuPjtcblxuZXhwb3J0IHR5cGUgTXV0YXRlRW5kcG9pbnQ8XG4gIE8gZXh0ZW5kcyB7XG4gICAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHNjaGVtYTogU2NoZW1hO1xuICAgIC8qKiBPbmx5IHVzZWQgZm9yIHR5cGVzICovXG4gICAgcmVhZG9ubHkgc2VhcmNoUGFyYW1zPzogYW55O1xuICAgIC8qKiBPbmx5IHVzZWQgZm9yIHR5cGVzICovXG4gICAgcmVhZG9ubHkgYm9keT86IGFueTtcbiAgfSA9IHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgYm9keTogYW55O1xuICAgIHNjaGVtYTogU2NoZW1hO1xuICB9LFxuPiA9IFJlc3RUeXBlV2l0aEJvZHk8XG4gICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgID8gT1snc2VhcmNoUGFyYW1zJ10gZXh0ZW5kcyB1bmRlZmluZWRcbiAgICAgID8gUGF0aEFyZ3M8T1sncGF0aCddPlxuICAgICAgOiBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPE9bJ3BhdGgnXT5cbiAgICA6IFBhdGhBcmdzPE9bJ3BhdGgnXT4sXG4gIE9bJ3NjaGVtYSddLFxuICB0cnVlLFxuICBPWydib2R5J10sXG4gIGFueSxcbiAgTyAmIHsgYm9keTogYW55OyBtZXRob2Q6ICdQT1NUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnIH1cbj47XG4iXSwibWFwcGluZ3MiOiIifQ==
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL1Jlc3RFbmRwb2ludFR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXMgKi9cbmltcG9ydCB0eXBlIHtcbiAgRW5kcG9pbnRFeHRyYU9wdGlvbnMsXG4gIEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsXG4gIFNjaGVtYSxcbiAgRmV0Y2hGdW5jdGlvbixcbiAgUmVzb2x2ZVR5cGUsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCB0eXBlIHsgRXh0cmFjdENvbGxlY3Rpb24gfSBmcm9tICcuL2V4dHJhY3RDb2xsZWN0aW9uLmpzJztcbmltcG9ydCB7XG4gIE9wdGlvbnNUb0JvZHlBcmd1bWVudCxcbiAgT3B0aW9uc1RvRnVuY3Rpb24sXG59IGZyb20gJy4vT3B0aW9uc1RvRnVuY3Rpb24uanMnO1xuaW1wb3J0IHsgUGF0aEFyZ3MgfSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5pbXBvcnQgeyBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSAnLi9SZXN0RW5kcG9pbnRUeXBlSGVscC5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdEluc3RhbmNlQmFzZTxcbiAgRiBleHRlbmRzIEZldGNoRnVuY3Rpb24gPSBGZXRjaEZ1bmN0aW9uLFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkID0gYW55LFxuICBNIGV4dGVuZHMgdHJ1ZSB8IHVuZGVmaW5lZCA9IHRydWUgfCB1bmRlZmluZWQsXG4gIE8gZXh0ZW5kcyB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIGJvZHk/OiBhbnk7XG4gICAgc2VhcmNoUGFyYW1zPzogYW55O1xuICAgIG1ldGhvZD86IHN0cmluZztcbiAgfSA9IHsgcGF0aDogc3RyaW5nIH0sXG4+IGV4dGVuZHMgRW5kcG9pbnRJbnN0YW5jZUludGVyZmFjZTxGLCBTLCBNPiB7XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjYm9keSAqL1xuICByZWFkb25seSBib2R5PzogJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/IE9bJ2JvZHknXSA6IGFueTtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNzZWFyY2hQYXJhbXMgKi9cbiAgcmVhZG9ubHkgc2VhcmNoUGFyYW1zPzogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgPyBPWydzZWFyY2hQYXJhbXMnXVxuICAgIDogLy8gdW5rbm93biBpcyBpZGVudGl0eSB3aXRoICcmJyB0eXBlIG9wZXJhdG9yXG4gICAgICB1bmtub3duO1xuXG4gIC8qKiBQYXR0ZXJuIHRvIGNvbnN0cnVjdCB1cmwgYmFzZWQgb24gVXJsIFBhcmFtZXRlcnNcbiAgICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I3BhdGhcbiAgICovXG4gIHJlYWRvbmx5IHBhdGg6IE9bJ3BhdGgnXTtcbiAgLyoqIFByZXBlbmRlZCB0byBhbGwgdXJsc1xuICAgKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjdXJsUHJlZml4XG4gICAqL1xuICByZWFkb25seSB1cmxQcmVmaXg6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVxdWVzdEluaXQ6IFJlcXVlc3RJbml0O1xuICAvKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I21ldGhvZCAqL1xuICByZWFkb25seSBtZXRob2Q6IChPICYgeyBtZXRob2Q6IHN0cmluZyB9KVsnbWV0aG9kJ107XG4gIHJlYWRvbmx5IHNpZ25hbDogQWJvcnRTaWduYWwgfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5IHBhZ2luYXRpb25GaWVsZD86IHN0cmluZztcblxuICAvKiBmZXRjaCBsaWZlY3ljbGVzICovXG4gIC8qIGJlZm9yZS1mZXRjaCAqL1xuICB1cmwoLi4uYXJnczogUGFyYW1ldGVyczxGPik6IHN0cmluZztcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNnZXRSZXF1ZXN0SW5pdCAqL1xuICBnZXRSZXF1ZXN0SW5pdChcbiAgICB0aGlzOiBhbnksXG4gICAgYm9keT86IFJlcXVlc3RJbml0Wydib2R5J10gfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgKTogUHJvbWlzZTxSZXF1ZXN0SW5pdD4gfCBSZXF1ZXN0SW5pdDtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNnZXRIZWFkZXJzICovXG4gIGdldEhlYWRlcnMoaGVhZGVyczogSGVhZGVyc0luaXQpOiBQcm9taXNlPEhlYWRlcnNJbml0PiB8IEhlYWRlcnNJbml0O1xuICAvKiBhZnRlci1mZXRjaCAqL1xuICAvKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I2ZldGNoUmVzcG9uc2UgKi9cbiAgZmV0Y2hSZXNwb25zZShpbnB1dDogUmVxdWVzdEluZm8sIGluaXQ6IFJlcXVlc3RJbml0KTogUHJvbWlzZTxSZXNwb25zZT47XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjcGFyc2VSZXNwb25zZSAqL1xuICBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlOiBSZXNwb25zZSk6IFByb21pc2U8YW55PjtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwcm9jZXNzICovXG4gIHByb2Nlc3ModmFsdWU6IGFueSwgLi4uYXJnczogUGFyYW1ldGVyczxGPik6IFJlc29sdmVUeXBlPEY+O1xuXG4gIC8qIHV0aWxpdGllcyAqL1xuICAvKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I3Rlc3RLZXkgKi9cbiAgdGVzdEtleShrZXk6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyogZXh0ZW5kZXJzICovXG4gIC8vIFRPRE86IGZpZ3VyZSBvdXQgYmV0dGVyIHdheSB0aGFuIHdyYXBwaW5nIHdob2xlIG9wdGlvbnMgaW4gUmVhZG9ubHk8PiArIG1ha2luZyBPIGV4dGVuZCBmcm9tIHt9XG4gIC8vICAgICAgIHRoaXMgaXMganVzdCBhIGhhY2sgdG8gaGFuZGxlIHdoZW4gbm8gbWVtYmVycyBvZiBQYXJ0aWFsUmVzdEdlbmVyaWNzIGFyZSBwcmVzZW50XG4gIC8vICAgICAgIE5vdGU6IFVzaW5nIG92ZXJsb2FkaW5nIChsaWtlIHBhZ2luYXRlZCBkaWQpIHN0cnVnZ2xlcyBiZWNhdXNlIHR5cGVzY3JpcHQgZG9lcyBub3QgaGF2ZSBhIGNsZWFyIHdheSBvZiBkaXN0aW5ndWlzaGluZyBvbmVcbiAgLy8gICAgICAgc2hvdWxkIGJlIHVzZWQgZnJvbSB0aGUgb3RoZXIgKGR1ZSB0byBzYW1lIHByb2JsZW0gd2l0aCBldmVyeSBtZW1iZXIgYmVpbmcgcGFydGlhbClcbiAgLyoqIENyZWF0ZXMgYSBjaGlsZCBlbmRwb2ludCB0aGF0IGluaGVyaXRzIGZyb20gdGhpcyB3aGlsZSBvdmVycmlkaW5nIHByb3ZpZGVkIGBvcHRpb25zYC5cbiAgICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I2V4dGVuZFxuICAgKi9cbiAgZXh0ZW5kPFxuICAgIEUgZXh0ZW5kcyBSZXN0SW5zdGFuY2VCYXNlLFxuICAgIEV4dGVuZE9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsUmVzdEdlbmVyaWNzIHwge30sXG4gID4oXG4gICAgdGhpczogRSxcbiAgICBvcHRpb25zOiBSZWFkb25seTxcbiAgICAgIFJlc3RFbmRwb2ludEV4dGVuZE9wdGlvbnM8RXh0ZW5kT3B0aW9ucywgRSwgRj4gJiBFeHRlbmRPcHRpb25zXG4gICAgPixcbiAgKTogUmVzdEV4dGVuZGVkRW5kcG9pbnQ8RXh0ZW5kT3B0aW9ucywgRT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdEluc3RhbmNlPFxuICBGIGV4dGVuZHMgRmV0Y2hGdW5jdGlvbiA9IEZldGNoRnVuY3Rpb24sXG4gIFMgZXh0ZW5kcyBTY2hlbWEgfCB1bmRlZmluZWQgPSBhbnksXG4gIE0gZXh0ZW5kcyB0cnVlIHwgdW5kZWZpbmVkID0gdHJ1ZSB8IHVuZGVmaW5lZCxcbiAgTyBleHRlbmRzIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgYm9keT86IGFueTtcbiAgICBzZWFyY2hQYXJhbXM/OiBhbnk7XG4gICAgbWV0aG9kPzogc3RyaW5nO1xuICAgIHBhZ2luYXRpb25GaWVsZD86IHN0cmluZztcbiAgfSA9IHsgcGF0aDogc3RyaW5nIH0sXG4+IGV4dGVuZHMgUmVzdEluc3RhbmNlQmFzZTxGLCBTLCBNLCBPPiB7XG4gIC8qKiBDcmVhdGVzIGFuIEVuZHBvaW50IHRvIGFwcGVuZCB0aGUgbmV4dCBwYWdlIGV4dGVuZGluZyBhIGxpc3QgZm9yIHBhZ2luYXRpb25cbiAgICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I3BhZ2luYXRlZFxuICAgKi9cbiAgcGFnaW5hdGVkPFxuICAgIEUgZXh0ZW5kcyBSZXN0SW5zdGFuY2VCYXNlPEZldGNoRnVuY3Rpb24sIGFueSwgdW5kZWZpbmVkPixcbiAgICBBIGV4dGVuZHMgYW55W10sXG4gID4oXG4gICAgdGhpczogRSxcbiAgICByZW1vdmVDdXJzb3I6ICguLi5hcmdzOiBBKSA9PiByZWFkb25seSBbLi4uUGFyYW1ldGVyczxFPl0sXG4gICk6IFBhZ2luYXRpb25FbmRwb2ludDxFLCBBPjtcbiAgcGFnaW5hdGVkPFxuICAgIEUgZXh0ZW5kcyBSZXN0SW5zdGFuY2VCYXNlPEZldGNoRnVuY3Rpb24sIGFueSwgdW5kZWZpbmVkPixcbiAgICBDIGV4dGVuZHMgc3RyaW5nLFxuICA+KFxuICAgIHRoaXM6IEUsXG4gICAgY3Vyc29yRmllbGQ6IEMsXG4gICk6IFBhZ2luYXRpb25GaWVsZEVuZHBvaW50PEUsIEM+O1xuICAvKiogRW5kcG9pbnQgdG8gYXBwZW5kIHRoZSBuZXh0IHBhZ2UgZXh0ZW5kaW5nIGEgbGlzdCBmb3IgcGFnaW5hdGlvblxuICAgKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjZ2V0UGFnZVxuICAgKi9cbiAgZ2V0UGFnZTogJ3BhZ2luYXRpb25GaWVsZCcgZXh0ZW5kcyBrZXlvZiBPXG4gICAgPyBPWydwYWdpbmF0aW9uRmllbGQnXSBleHRlbmRzIHN0cmluZ1xuICAgICAgPyBQYWdpbmF0aW9uRmllbGRFbmRwb2ludDxcbiAgICAgICAgICBGICYgeyBzY2hlbWE6IFM7IHNpZGVFZmZlY3Q6IE0gfSAmIE8sXG4gICAgICAgICAgT1sncGFnaW5hdGlvbkZpZWxkJ11cbiAgICAgICAgPlxuICAgICAgOiB1bmRlZmluZWRcbiAgICA6IHVuZGVmaW5lZDtcbiAgLyoqIEVuZHBvaW50IHRoYXQgcHVzaGVzIChwbGFjZSBhdCBlbmQpIGEgbmV3bHkgY3JlYXRlZCBlbnRpdHkgdG8gdGhpcyBDb2xsZWN0aW9uXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwdXNoXG4gICAqL1xuICBwdXNoOiBBZGRFbmRwb2ludDxcbiAgICBGLFxuICAgIEV4dHJhY3RDb2xsZWN0aW9uPFM+WydwdXNoJ10sXG4gICAgRXhjbHVkZTxPLCAnYm9keScgfCAnbWV0aG9kJz4gJiB7XG4gICAgICBib2R5OlxuICAgICAgICB8IE9wdGlvbnNUb0FkZGVyQm9keUFyZ3VtZW50PE8+XG4gICAgICAgIHwgT3B0aW9uc1RvQWRkZXJCb2R5QXJndW1lbnQ8Tz5bXVxuICAgICAgICB8IEZvcm1EYXRhO1xuICAgIH1cbiAgPjtcbiAgLyoqIEVuZHBvaW50IHRoYXQgdW5zaGlmdHMgKHBsYWNlIGF0IHN0YXJ0KSBhIG5ld2x5IGNyZWF0ZWQgZW50aXR5IHRvIHRoaXMgQ29sbGVjdGlvblxuICAgKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjdW5zaGlmdFxuICAgKi9cbiAgdW5zaGlmdDogQWRkRW5kcG9pbnQ8XG4gICAgRixcbiAgICBFeHRyYWN0Q29sbGVjdGlvbjxTPlsndW5zaGlmdCddLFxuICAgIEV4Y2x1ZGU8TywgJ2JvZHknIHwgJ21ldGhvZCc+ICYge1xuICAgICAgYm9keTpcbiAgICAgICAgfCBPcHRpb25zVG9BZGRlckJvZHlBcmd1bWVudDxPPlxuICAgICAgICB8IE9wdGlvbnNUb0FkZGVyQm9keUFyZ3VtZW50PE8+W11cbiAgICAgICAgfCBGb3JtRGF0YTtcbiAgICB9XG4gID47XG4gIC8qKiBFbmRwb2ludCB0aGF0IGFzc2lnbnMgbmV3bHkgY3JlYXRlZCBlbnRpdGllcyB0byB0aGVpciByZXNwZWN0aXZlIGtleXMgaW4gdGhpcyBDb2xsZWN0aW9uXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNhc3NpZ25cbiAgICovXG4gIGFzc2lnbjogQWRkRW5kcG9pbnQ8XG4gICAgRixcbiAgICBFeHRyYWN0Q29sbGVjdGlvbjxTPixcbiAgICBFeGNsdWRlPE8sICdib2R5JyB8ICdtZXRob2QnPiAmIHtcbiAgICAgIGJvZHk6IFJlY29yZDxzdHJpbmcsIE9wdGlvbnNUb0FkZGVyQm9keUFyZ3VtZW50PE8+PiB8IEZvcm1EYXRhO1xuICAgIH1cbiAgPjtcbn1cblxuZXhwb3J0IHR5cGUgUmVzdEVuZHBvaW50RXh0ZW5kT3B0aW9uczxcbiAgTyBleHRlbmRzIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIEUgZXh0ZW5kcyB7IGJvZHk/OiBhbnk7IHBhdGg/OiBzdHJpbmc7IHNjaGVtYT86IFNjaGVtYTsgbWV0aG9kPzogc3RyaW5nIH0sXG4gIEYgZXh0ZW5kcyBGZXRjaEZ1bmN0aW9uLFxuPiA9IFJlc3RFbmRwb2ludE9wdGlvbnM8XG4gIE9wdGlvbnNUb0Z1bmN0aW9uPE8sIEUsIEY+LFxuICAnc2NoZW1hJyBleHRlbmRzIGtleW9mIE9cbiAgICA/IEV4dHJhY3Q8T1snc2NoZW1hJ10sIFNjaGVtYSB8IHVuZGVmaW5lZD5cbiAgICA6IEVbJ3NjaGVtYSddXG4+ICZcbiAgUGFydGlhbDxcbiAgICBPbWl0PFxuICAgICAgRSxcbiAgICAgIEtleW9mUmVzdEVuZHBvaW50IHwga2V5b2YgUGFydGlhbFJlc3RHZW5lcmljcyB8IGtleW9mIFJlc3RFbmRwb2ludE9wdGlvbnNcbiAgICA+XG4gID47XG5cbnR5cGUgT3B0aW9uc1RvUmVzdEVuZHBvaW50PFxuICBPIGV4dGVuZHMgUGFydGlhbFJlc3RHZW5lcmljcyxcbiAgRSBleHRlbmRzIFJlc3RJbnN0YW5jZUJhc2UgJiB7IGJvZHk/OiBhbnk7IHBhZ2luYXRpb25GaWVsZD86IHN0cmluZyB9LFxuICBGIGV4dGVuZHMgRmV0Y2hGdW5jdGlvbixcbj4gPSAncGF0aCcgZXh0ZW5kcyBrZXlvZiBPXG4gID8gUmVzdFR5cGU8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSBleHRlbmRzIHVuZGVmaW5lZFxuICAgICAgICAgID8gUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgICAgOiBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8T1sncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8T1sncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgIE9wdGlvbnNUb0JvZHlBcmd1bWVudDxcbiAgICAgICAgJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/IE8gOiBFLFxuICAgICAgICAnbWV0aG9kJyBleHRlbmRzIGtleW9mIE8gPyBPWydtZXRob2QnXSA6IEVbJ21ldGhvZCddXG4gICAgICA+LFxuICAgICAgJ3NjaGVtYScgZXh0ZW5kcyBrZXlvZiBPID8gT1snc2NoZW1hJ10gOiBFWydzY2hlbWEnXSxcbiAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE1ldGhvZFRvU2lkZTxPWydtZXRob2QnXT4gOiBFWydzaWRlRWZmZWN0J10sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+LFxuICAgICAge1xuICAgICAgICBwYXRoOiBFeGNsdWRlPE9bJ3BhdGgnXSwgdW5kZWZpbmVkPjtcbiAgICAgICAgYm9keTogJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/IE9bJ2JvZHknXSA6IEVbJ2JvZHknXTtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddXG4gICAgICAgICAgOiBFWydzZWFyY2hQYXJhbXMnXTtcbiAgICAgICAgbWV0aG9kOiAnbWV0aG9kJyBleHRlbmRzIGtleW9mIE8gPyBPWydtZXRob2QnXSA6IEVbJ21ldGhvZCddO1xuICAgICAgICBwYWdpbmF0aW9uRmllbGQ6ICdwYWdpbmF0aW9uRmllbGQnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1sncGFnaW5hdGlvbkZpZWxkJ11cbiAgICAgICAgICA6IEVbJ3BhZ2luYXRpb25GaWVsZCddO1xuICAgICAgfVxuICAgID5cbiAgOiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gID8gUmVzdFR5cGU8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSBleHRlbmRzIHVuZGVmaW5lZFxuICAgICAgICAgID8gUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgICAgOiBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgIE9wdGlvbnNUb0JvZHlBcmd1bWVudDxcbiAgICAgICAgTyxcbiAgICAgICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gT1snbWV0aG9kJ10gOiBFWydtZXRob2QnXVxuICAgICAgPixcbiAgICAgICdzY2hlbWEnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ3NjaGVtYSddIDogRVsnc2NoZW1hJ10sXG4gICAgICAnbWV0aG9kJyBleHRlbmRzIGtleW9mIE8gPyBNZXRob2RUb1NpZGU8T1snbWV0aG9kJ10+IDogRVsnc2lkZUVmZmVjdCddLFxuICAgICAgT1sncHJvY2VzcyddIGV4dGVuZHMge30gPyBSZXR1cm5UeXBlPE9bJ3Byb2Nlc3MnXT4gOiBSZXNvbHZlVHlwZTxGPixcbiAgICAgIHtcbiAgICAgICAgcGF0aDogRVsncGF0aCddO1xuICAgICAgICBib2R5OiBPWydib2R5J107XG4gICAgICAgIHNlYXJjaFBhcmFtczogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXVxuICAgICAgICAgIDogRVsnc2VhcmNoUGFyYW1zJ107XG4gICAgICAgIG1ldGhvZDogJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gT1snbWV0aG9kJ10gOiBFWydtZXRob2QnXTtcbiAgICAgICAgcGFnaW5hdGlvbkZpZWxkOiAncGFnaW5hdGlvbkZpZWxkJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgICA/IE9bJ3BhZ2luYXRpb25GaWVsZCddXG4gICAgICAgICAgOiBFeHRyYWN0PEVbJ3BhZ2luYXRpb25GaWVsZCddLCBzdHJpbmc+O1xuICAgICAgfVxuICAgID5cbiAgOiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0VHlwZTxcbiAgICAgIE9bJ3NlYXJjaFBhcmFtcyddIGV4dGVuZHMgdW5kZWZpbmVkXG4gICAgICAgID8gUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgIDogT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPEVbJ3BhdGgnXSwgdW5kZWZpbmVkPj4sXG4gICAgICBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gICAgICAgIEUsXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ11cbiAgICAgID4sXG4gICAgICAnc2NoZW1hJyBleHRlbmRzIGtleW9mIE8gPyBPWydzY2hlbWEnXSA6IEVbJ3NjaGVtYSddLFxuICAgICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPID8gTWV0aG9kVG9TaWRlPE9bJ21ldGhvZCddPiA6IEVbJ3NpZGVFZmZlY3QnXSxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj4sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IEVbJ3BhdGgnXTtcbiAgICAgICAgYm9keTogRVsnYm9keSddO1xuICAgICAgICBzZWFyY2hQYXJhbXM6IE9bJ3NlYXJjaFBhcmFtcyddO1xuICAgICAgICBtZXRob2Q6ICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ107XG4gICAgICAgIHBhZ2luYXRpb25GaWVsZDogJ3BhZ2luYXRpb25GaWVsZCcgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBPWydwYWdpbmF0aW9uRmllbGQnXVxuICAgICAgICAgIDogRXh0cmFjdDxFWydwYWdpbmF0aW9uRmllbGQnXSwgc3RyaW5nPjtcbiAgICAgIH1cbiAgICA+XG4gIDogUmVzdEluc3RhbmNlPFxuICAgICAgRixcbiAgICAgICdzY2hlbWEnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ3NjaGVtYSddIDogRVsnc2NoZW1hJ10sXG4gICAgICAnbWV0aG9kJyBleHRlbmRzIGtleW9mIE8gPyBNZXRob2RUb1NpZGU8T1snbWV0aG9kJ10+IDogRVsnc2lkZUVmZmVjdCddLFxuICAgICAge1xuICAgICAgICBwYXRoOiAncGF0aCcgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBFeGNsdWRlPE9bJ3BhdGgnXSwgdW5kZWZpbmVkPlxuICAgICAgICAgIDogRVsncGF0aCddO1xuICAgICAgICBib2R5OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPID8gT1snYm9keSddIDogRVsnYm9keSddO1xuICAgICAgICBzZWFyY2hQYXJhbXM6ICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1snc2VhcmNoUGFyYW1zJ11cbiAgICAgICAgICA6IEVbJ3NlYXJjaFBhcmFtcyddO1xuICAgICAgICBtZXRob2Q6ICdtZXRob2QnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ21ldGhvZCddIDogRVsnbWV0aG9kJ107XG4gICAgICAgIHBhZ2luYXRpb25GaWVsZDogJ3BhZ2luYXRpb25GaWVsZCcgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBPWydwYWdpbmF0aW9uRmllbGQnXVxuICAgICAgICAgIDogRVsncGFnaW5hdGlvbkZpZWxkJ107XG4gICAgICB9XG4gICAgPjtcblxuZXhwb3J0IHR5cGUgUmVzdEV4dGVuZGVkRW5kcG9pbnQ8XG4gIE8gZXh0ZW5kcyBQYXJ0aWFsUmVzdEdlbmVyaWNzLFxuICBFIGV4dGVuZHMgUmVzdEluc3RhbmNlQmFzZSAmIHsgZ2V0UGFnZT86IHVua25vd24gfSxcbj4gPSBPcHRpb25zVG9SZXN0RW5kcG9pbnQ8XG4gIE8sXG4gIEUgJlxuICAgIChFIGV4dGVuZHMgeyBnZXRQYWdlOiB7IHBhZ2luYXRpb25GaWVsZDogc3RyaW5nIH0gfVxuICAgICAgPyB7IHBhZ2luYXRpb25GaWVsZDogRVsnZ2V0UGFnZSddWydwYWdpbmF0aW9uRmllbGQnXSB9XG4gICAgICA6IHVua25vd24pLFxuICBSZXN0SW5zdGFuY2U8XG4gICAgKFxuICAgICAgLi4uYXJnczogUGFyYW1ldGVyczxFPlxuICAgICkgPT4gT1sncHJvY2VzcyddIGV4dGVuZHMge31cbiAgICAgID8gUHJvbWlzZTxSZXR1cm5UeXBlPE9bJ3Byb2Nlc3MnXT4+XG4gICAgICA6IFJldHVyblR5cGU8RT4sXG4gICAgJ3NjaGVtYScgZXh0ZW5kcyBrZXlvZiBPID8gT1snc2NoZW1hJ10gOiBFWydzY2hlbWEnXSxcbiAgICAnbWV0aG9kJyBleHRlbmRzIGtleW9mIE8gPyBNZXRob2RUb1NpZGU8T1snbWV0aG9kJ10+IDogRVsnc2lkZUVmZmVjdCddXG4gID5cbj4gJlxuICBPbWl0PE8sIEtleW9mUmVzdEVuZHBvaW50PiAmXG4gIE9taXQ8RSwgS2V5b2ZSZXN0RW5kcG9pbnQgfCBrZXlvZiBPPjtcblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWFsUmVzdEdlbmVyaWNzIHtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwYXRoICovXG4gIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjc2NoZW1hICovXG4gIHJlYWRvbmx5IHNjaGVtYT86IFNjaGVtYSB8IHVuZGVmaW5lZDtcbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNtZXRob2QgKi9cbiAgcmVhZG9ubHkgbWV0aG9kPzogc3RyaW5nO1xuICAvKiogT25seSB1c2VkIGZvciB0eXBlcyAqL1xuICAvKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I2JvZHkgKi9cbiAgYm9keT86IGFueTtcbiAgLyoqIE9ubHkgdXNlZCBmb3IgdHlwZXMgKi9cbiAgLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNzZWFyY2hQYXJhbXMgKi9cbiAgc2VhcmNoUGFyYW1zPzogYW55O1xuICAvKiogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I3BhZ2luYXRpb25maWVsZCAqL1xuICByZWFkb25seSBwYWdpbmF0aW9uRmllbGQ/OiBzdHJpbmc7XG4gIC8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjcHJvY2VzcyAqL1xuICBwcm9jZXNzPyh2YWx1ZTogYW55LCAuLi5hcmdzOiBhbnkpOiBhbnk7XG59XG5leHBvcnQgaW50ZXJmYWNlIFJlc3RHZW5lcmljcyBleHRlbmRzIFBhcnRpYWxSZXN0R2VuZXJpY3Mge1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25FbmRwb2ludDxcbiAgRSBleHRlbmRzIEZldGNoRnVuY3Rpb24gJiBSZXN0R2VuZXJpY3MgJiB7IHNpZGVFZmZlY3Q/OiB0cnVlIHwgdW5kZWZpbmVkIH0sXG4gIEEgZXh0ZW5kcyBhbnlbXSxcbj4gPSBSZXN0SW5zdGFuY2VCYXNlPFxuICBQYXJhbUZldGNoTm9Cb2R5PEFbMF0sIFJlc29sdmVUeXBlPEU+PixcbiAgRVsnc2NoZW1hJ10sXG4gIEVbJ3NpZGVFZmZlY3QnXSxcbiAgUGljazxFLCAncGF0aCcgfCAnc2VhcmNoUGFyYW1zJyB8ICdib2R5Jz4gJiB7XG4gICAgc2VhcmNoUGFyYW1zOiBPbWl0PEFbMF0sIGtleW9mIFBhdGhBcmdzPEVbJ3BhdGgnXT4+O1xuICB9XG4+O1xuZXhwb3J0IHR5cGUgUGFnaW5hdGlvbkZpZWxkRW5kcG9pbnQ8XG4gIEUgZXh0ZW5kcyBGZXRjaEZ1bmN0aW9uICYgUmVzdEdlbmVyaWNzICYgeyBzaWRlRWZmZWN0PzogdHJ1ZSB8IHVuZGVmaW5lZCB9LFxuICBDIGV4dGVuZHMgc3RyaW5nLFxuPiA9IFJlc3RJbnN0YW5jZUJhc2U8XG4gIFBhcmFtRmV0Y2hOb0JvZHk8XG4gICAgeyBbSyBpbiBDXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB9ICYgRVsnc2VhcmNoUGFyYW1zJ10gJlxuICAgICAgUGF0aEFyZ3M8RXhjbHVkZTxFWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgIFJlc29sdmVUeXBlPEU+XG4gID4sXG4gIEVbJ3NjaGVtYSddLFxuICBFWydzaWRlRWZmZWN0J10sXG4gIFBpY2s8RSwgJ3BhdGgnIHwgJ3NlYXJjaFBhcmFtcycgfCAnYm9keSc+ICYge1xuICAgIHNlYXJjaFBhcmFtczogeyBbSyBpbiBDXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB9ICYgRVsnc2VhcmNoUGFyYW1zJ107XG4gIH1cbj4gJiB7IHBhZ2luYXRpb25GaWVsZDogQyB9O1xuZXhwb3J0IHR5cGUgQWRkRW5kcG9pbnQ8XG4gIEYgZXh0ZW5kcyBGZXRjaEZ1bmN0aW9uID0gRmV0Y2hGdW5jdGlvbixcbiAgUyBleHRlbmRzIFNjaGVtYSB8IHVuZGVmaW5lZCA9IGFueSxcbiAgTyBleHRlbmRzIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgYm9keTogYW55O1xuICAgIHNlYXJjaFBhcmFtcz86IGFueTtcbiAgfSA9IHsgcGF0aDogc3RyaW5nOyBib2R5OiBhbnkgfSxcbj4gPSBSZXN0SW5zdGFuY2VCYXNlPFxuICBSZXN0RmV0Y2g8XG4gICAgJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddIGV4dGVuZHMgdW5kZWZpbmVkXG4gICAgICAgID8gUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgIDogT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPE9bJ3BhdGgnXSwgdW5kZWZpbmVkPj5cbiAgICAgIDogUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgIE9bJ2JvZHknXSxcbiAgICBSZXNvbHZlVHlwZTxGPlxuICA+LFxuICBTLFxuICB0cnVlLFxuICBPbWl0PE8sICdtZXRob2QnPiAmIHsgbWV0aG9kOiAnUE9TVCcgfVxuPjtcblxudHlwZSBPcHRpb25zQm9keURlZmF1bHQ8TyBleHRlbmRzIFJlc3RHZW5lcmljcz4gPSAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gID8gT1xuICA6IE9bJ21ldGhvZCddIGV4dGVuZHMgJ1BPU1QnIHwgJ1BVVCcgfCAnUEFUQ0gnXG4gID8gTyAmIHsgYm9keTogYW55IH1cbiAgOiBPICYgeyBib2R5OiB1bmRlZmluZWQgfTtcblxudHlwZSBPcHRpb25zVG9BZGRlckJvZHlBcmd1bWVudDxPIGV4dGVuZHMgeyBib2R5PzogYW55IH0+ID1cbiAgJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/IE9bJ2JvZHknXSA6IGFueTtcblxuZXhwb3J0IGludGVyZmFjZSBSZXN0RW5kcG9pbnRPcHRpb25zPFxuICBGIGV4dGVuZHMgRmV0Y2hGdW5jdGlvbiA9IEZldGNoRnVuY3Rpb24sXG4gIFMgZXh0ZW5kcyBTY2hlbWEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4+IGV4dGVuZHMgRW5kcG9pbnRFeHRyYU9wdGlvbnM8Rj4ge1xuICB1cmxQcmVmaXg/OiBzdHJpbmc7XG4gIHJlcXVlc3RJbml0PzogUmVxdWVzdEluaXQ7XG4gIGdldEhlYWRlcnM/KGhlYWRlcnM6IEhlYWRlcnNJbml0KTogUHJvbWlzZTxIZWFkZXJzSW5pdD4gfCBIZWFkZXJzSW5pdDtcbiAgZ2V0UmVxdWVzdEluaXQ/KGJvZHk6IGFueSk6IFByb21pc2U8UmVxdWVzdEluaXQ+IHwgUmVxdWVzdEluaXQ7XG4gIGZldGNoUmVzcG9uc2U/KGlucHV0OiBSZXF1ZXN0SW5mbywgaW5pdDogUmVxdWVzdEluaXQpOiBQcm9taXNlPGFueT47XG4gIHBhcnNlUmVzcG9uc2U/KHJlc3BvbnNlOiBSZXNwb25zZSk6IFByb21pc2U8YW55PjtcblxuICBzaWRlRWZmZWN0PzogdHJ1ZSB8IHVuZGVmaW5lZDtcbiAgbmFtZT86IHN0cmluZztcbiAgc2lnbmFsPzogQWJvcnRTaWduYWw7XG4gIGZldGNoPzogRjtcbiAga2V5PyguLi5hcmdzOiBQYXJhbWV0ZXJzPEY+KTogc3RyaW5nO1xuICB1cmw/KC4uLmFyZ3M6IFBhcmFtZXRlcnM8Rj4pOiBzdHJpbmc7XG4gIHVwZGF0ZT86IEVuZHBvaW50VXBkYXRlRnVuY3Rpb248RiwgUz47XG59XG5cbmV4cG9ydCB0eXBlIFJlc3RFbmRwb2ludENvbnN0cnVjdG9yT3B0aW9uczxPIGV4dGVuZHMgUmVzdEdlbmVyaWNzID0gYW55PiA9XG4gIFJlc3RFbmRwb2ludE9wdGlvbnM8XG4gICAgUmVzdEZldGNoPFxuICAgICAgJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgID8gT1snc2VhcmNoUGFyYW1zJ10gZXh0ZW5kcyB1bmRlZmluZWRcbiAgICAgICAgICA/IFBhdGhBcmdzPE9bJ3BhdGgnXT5cbiAgICAgICAgICA6IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8T1sncGF0aCddPlxuICAgICAgICA6IFBhdGhBcmdzPE9bJ3BhdGgnXT4sXG4gICAgICBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gICAgICAgIE8sXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1snbWV0aG9kJ11cbiAgICAgICAgICA6IE8gZXh0ZW5kcyB7IHNpZGVFZmZlY3Q6IHRydWUgfVxuICAgICAgICAgID8gJ1BPU1QnXG4gICAgICAgICAgOiAnR0VUJ1xuICAgICAgPixcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9XG4gICAgICAgID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+XG4gICAgICAgIDogYW55IC8qRGVub3JtYWxpemU8T1snc2NoZW1hJ10+Ki9cbiAgICA+LFxuICAgIE9bJ3NjaGVtYSddXG4gID47XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdEVuZHBvaW50Q29uc3RydWN0b3Ige1xuICBuZXcgPE8gZXh0ZW5kcyBSZXN0R2VuZXJpY3MgPSBhbnk+KHtcbiAgICBtZXRob2QsXG4gICAgc2lkZUVmZmVjdCxcbiAgICBuYW1lLFxuICAgIC4uLm9wdGlvbnNcbiAgfTogUmVzdEVuZHBvaW50Q29uc3RydWN0b3JPcHRpb25zPE8+ICYgUmVhZG9ubHk8Tz4pOiBSZXN0SW5zdGFuY2U8XG4gICAgUmVzdEZldGNoPFxuICAgICAgJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgID8gT1snc2VhcmNoUGFyYW1zJ10gZXh0ZW5kcyB1bmRlZmluZWRcbiAgICAgICAgICA/IFBhdGhBcmdzPE9bJ3BhdGgnXT5cbiAgICAgICAgICA6IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8T1sncGF0aCddPlxuICAgICAgICA6IFBhdGhBcmdzPE9bJ3BhdGgnXT4sXG4gICAgICBPcHRpb25zVG9Cb2R5QXJndW1lbnQ8XG4gICAgICAgIE8sXG4gICAgICAgICdtZXRob2QnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1snbWV0aG9kJ11cbiAgICAgICAgICA6IE8gZXh0ZW5kcyB7IHNpZGVFZmZlY3Q6IHRydWUgfVxuICAgICAgICAgID8gJ1BPU1QnXG4gICAgICAgICAgOiAnR0VUJ1xuICAgICAgPixcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9XG4gICAgICAgID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+XG4gICAgICAgIDogYW55IC8qRGVub3JtYWxpemU8T1snc2NoZW1hJ10+Ki9cbiAgICA+LFxuICAgICdzY2hlbWEnIGV4dGVuZHMga2V5b2YgTyA/IE9bJ3NjaGVtYSddIDogdW5kZWZpbmVkLFxuICAgICdzaWRlRWZmZWN0JyBleHRlbmRzIGtleW9mIE9cbiAgICAgID8gRXh0cmFjdDxPWydzaWRlRWZmZWN0J10sIHVuZGVmaW5lZCB8IHRydWU+XG4gICAgICA6IE1ldGhvZFRvU2lkZTxPWydtZXRob2QnXT4sXG4gICAgJ21ldGhvZCcgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICA/IE9cbiAgICAgIDogTyAmIHtcbiAgICAgICAgICBtZXRob2Q6IE8gZXh0ZW5kcyB7IHNpZGVFZmZlY3Q6IHRydWUgfSA/ICdQT1NUJyA6ICdHRVQnO1xuICAgICAgICB9XG4gID47XG4gIHJlYWRvbmx5IHByb3RvdHlwZTogUmVzdEluc3RhbmNlQmFzZTtcbn1cblxuZXhwb3J0IHR5cGUgTWV0aG9kVG9TaWRlPE0+ID0gTSBleHRlbmRzIHN0cmluZ1xuICA/IE0gZXh0ZW5kcyAnR0VUJ1xuICAgID8gdW5kZWZpbmVkXG4gICAgOiB0cnVlXG4gIDogdW5kZWZpbmVkO1xuXG4vKiogUmVzdEVuZHBvaW50IHR5cGVzIHNpbXBsaWZpZWQgKi9cbmV4cG9ydCB0eXBlIFJlc3RUeXBlPFxuICBVcmxQYXJhbXMgPSBhbnksXG4gIEJvZHkgPSBhbnksXG4gIFMgZXh0ZW5kcyBTY2hlbWEgfCB1bmRlZmluZWQgPSBTY2hlbWEgfCB1bmRlZmluZWQsXG4gIE0gZXh0ZW5kcyB0cnVlIHwgdW5kZWZpbmVkID0gdHJ1ZSB8IHVuZGVmaW5lZCxcbiAgUiA9IGFueSxcbiAgTyBleHRlbmRzIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgYm9keT86IGFueTtcbiAgICBzZWFyY2hQYXJhbXM/OiBhbnk7XG4gICAgcGFnaW5hdGlvbkZpZWxkPzogc3RyaW5nO1xuICB9ID0geyBwYXRoOiBzdHJpbmc7IHBhZ2luYXRpb25GaWVsZDogc3RyaW5nIH0sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4+ID0gSWZUeXBlU2NyaXB0TG9vc2VOdWxsPFxuICBSZXN0SW5zdGFuY2U8XG4gICAga2V5b2YgVXJsUGFyYW1zIGV4dGVuZHMgbmV2ZXJcbiAgICAgID8gKHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsIGJvZHk/OiBCb2R5KSA9PiBQcm9taXNlPFI+XG4gICAgICA6IC8vIGV2ZW4gd2l0aCBsb29zZSBudWxsLCB0aGlzIHdpbGwgb25seSBiZSB0cnVlIHdoZW4gYWxsIG1lbWJlcnMgYXJlIG9wdGlvbmFsXG4gICAgICB7fSBleHRlbmRzIFVybFBhcmFtc1xuICAgICAgP1xuICAgICAgICAgIHwgKCh0aGlzOiBFbmRwb2ludEluc3RhbmNlSW50ZXJmYWNlLCBib2R5PzogQm9keSkgPT4gUHJvbWlzZTxSPilcbiAgICAgICAgICB8ICgoXG4gICAgICAgICAgICAgIHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsXG4gICAgICAgICAgICAgIHBhcmFtczogVXJsUGFyYW1zLFxuICAgICAgICAgICAgICBib2R5PzogQm9keSxcbiAgICAgICAgICAgICkgPT4gUHJvbWlzZTxSPilcbiAgICAgIDogKFxuICAgICAgICAgIHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsXG4gICAgICAgICAgcGFyYW1zOiBVcmxQYXJhbXMsXG4gICAgICAgICAgYm9keT86IEJvZHksXG4gICAgICAgICkgPT4gUHJvbWlzZTxSPixcbiAgICBTLFxuICAgIE0sXG4gICAgT1xuICA+LFxuICBCb2R5IGV4dGVuZHMge31cbiAgICA/IFJlc3RUeXBlV2l0aEJvZHk8VXJsUGFyYW1zLCBTLCBNLCBCb2R5LCBSLCBPPlxuICAgIDogUmVzdFR5cGVOb0JvZHk8VXJsUGFyYW1zLCBTLCBNLCBSLCBPPlxuPjtcblxuZXhwb3J0IHR5cGUgUmVzdFR5cGVXaXRoQm9keTxcbiAgVXJsUGFyYW1zID0gYW55LFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkID0gU2NoZW1hIHwgdW5kZWZpbmVkLFxuICBNIGV4dGVuZHMgdHJ1ZSB8IHVuZGVmaW5lZCA9IHRydWUgfCB1bmRlZmluZWQsXG4gIEJvZHkgPSBhbnksXG4gIFIgPSBhbnkgLypEZW5vcm1hbGl6ZTxTPiovLFxuICBPIGV4dGVuZHMge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBib2R5PzogYW55O1xuICAgIHNlYXJjaFBhcmFtcz86IGFueTtcbiAgfSA9IHsgcGF0aDogc3RyaW5nOyBib2R5OiBhbnkgfSxcbj4gPSBSZXN0SW5zdGFuY2U8UGFyYW1GZXRjaFdpdGhCb2R5PFVybFBhcmFtcywgQm9keSwgUj4sIFMsIE0sIE8+O1xuXG5leHBvcnQgdHlwZSBSZXN0VHlwZU5vQm9keTxcbiAgVXJsUGFyYW1zID0gYW55LFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkID0gU2NoZW1hIHwgdW5kZWZpbmVkLFxuICBNIGV4dGVuZHMgdHJ1ZSB8IHVuZGVmaW5lZCA9IHRydWUgfCB1bmRlZmluZWQsXG4gIFIgPSBhbnkgLypEZW5vcm1hbGl6ZTxTPiovLFxuICBPIGV4dGVuZHMge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBib2R5PzogdW5kZWZpbmVkO1xuICAgIHNlYXJjaFBhcmFtcz86IGFueTtcbiAgfSA9IHsgcGF0aDogc3RyaW5nOyBib2R5OiB1bmRlZmluZWQgfSxcbj4gPSBSZXN0SW5zdGFuY2U8UGFyYW1GZXRjaE5vQm9keTxVcmxQYXJhbXMsIFI+LCBTLCBNLCBPPjtcblxuLyoqIFNpbXBsZSBwYXJhbWV0ZXJzLCBhbmQgYm9keSBmZXRjaCBmdW5jdGlvbnMgKi9cbmV4cG9ydCB0eXBlIFJlc3RGZXRjaDxcbiAgVXJsUGFyYW1zLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICBCb2R5ID0ge30sXG4gIFJlc29sdmUgPSBhbnksXG4+ID0gSWZUeXBlU2NyaXB0TG9vc2VOdWxsPFxuICB8IFBhcmFtRmV0Y2hOb0JvZHk8VXJsUGFyYW1zLCBSZXNvbHZlPlxuICB8IFBhcmFtRmV0Y2hXaXRoQm9keTxVcmxQYXJhbXMsIEJvZHksIFJlc29sdmU+LFxuICBCb2R5IGV4dGVuZHMge31cbiAgICA/IFBhcmFtRmV0Y2hXaXRoQm9keTxVcmxQYXJhbXMsIEJvZHksIFJlc29sdmU+XG4gICAgOiBQYXJhbUZldGNoTm9Cb2R5PFVybFBhcmFtcywgUmVzb2x2ZT5cbj47XG5cbmV4cG9ydCB0eXBlIFBhcmFtRmV0Y2hXaXRoQm9keTxQLCBCID0ge30sIFIgPSBhbnk+ID1cbiAgLy8gd2UgbXVzdCBhbHdheXMgYWxsb3cgdW5kZWZpbmVkIGluIGEgdW5pb24gYW5kIGdpdmUgaXQgYSB0eXBlIHdpdGhvdXQgcGFyYW1zXG4gIFAgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/ICh0aGlzOiBFbmRwb2ludEluc3RhbmNlSW50ZXJmYWNlLCBib2R5OiBCKSA9PiBQcm9taXNlPFI+XG4gICAgOiAvLyBldmVuIHdpdGggbG9vc2UgbnVsbCwgdGhpcyB3aWxsIG9ubHkgYmUgdHJ1ZSB3aGVuIGFsbCBtZW1iZXJzIGFyZSBvcHRpb25hbFxuICAgIHt9IGV4dGVuZHMgUFxuICAgID8gLy8gdGhpcyBzYWZlbHkgaGFuZGxlcyBQYXRoQXJncyB3aXRoIG5vIG1lbWJlcnMgdGhhdCByZXN1bHRzIGluIGEgc2ltcGxlIGB1bmtub3duYCB0eXBlXG4gICAgICBrZXlvZiBQIGV4dGVuZHMgbmV2ZXJcbiAgICAgID8gKHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsIGJvZHk6IEIpID0+IFByb21pc2U8Uj5cbiAgICAgIDpcbiAgICAgICAgICB8ICgoXG4gICAgICAgICAgICAgIHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UsXG4gICAgICAgICAgICAgIHBhcmFtczogUCxcbiAgICAgICAgICAgICAgYm9keTogQixcbiAgICAgICAgICAgICkgPT4gUHJvbWlzZTxSPilcbiAgICAgICAgICB8ICgodGhpczogRW5kcG9pbnRJbnN0YW5jZUludGVyZmFjZSwgYm9keTogQikgPT4gUHJvbWlzZTxSPilcbiAgICA6ICh0aGlzOiBFbmRwb2ludEluc3RhbmNlSW50ZXJmYWNlLCBwYXJhbXM6IFAsIGJvZHk6IEIpID0+IFByb21pc2U8Uj47XG5cbmV4cG9ydCB0eXBlIFBhcmFtRmV0Y2hOb0JvZHk8UCwgUiA9IGFueT4gPVxuICAvLyB3ZSBtdXN0IGFsd2F5cyBhbGxvdyB1bmRlZmluZWQgaW4gYSB1bmlvbiBhbmQgZ2l2ZSBpdCBhIHR5cGUgd2l0aG91dCBwYXJhbXNcbiAgUCBleHRlbmRzIHVuZGVmaW5lZFxuICAgID8gKHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UpID0+IFByb21pc2U8Uj5cbiAgICA6IC8vIGV2ZW4gd2l0aCBsb29zZSBudWxsLCB0aGlzIHdpbGwgb25seSBiZSB0cnVlIHdoZW4gYWxsIG1lbWJlcnMgYXJlIG9wdGlvbmFsXG4gICAge30gZXh0ZW5kcyBQXG4gICAgPyAvLyB0aGlzIHNhZmVseSBoYW5kbGVzIFBhdGhBcmdzIHdpdGggbm8gbWVtYmVycyB0aGF0IHJlc3VsdHMgaW4gYSBzaW1wbGUgYHVua25vd25gIHR5cGVcbiAgICAgIGtleW9mIFAgZXh0ZW5kcyBuZXZlclxuICAgICAgPyAodGhpczogRW5kcG9pbnRJbnN0YW5jZUludGVyZmFjZSkgPT4gUHJvbWlzZTxSPlxuICAgICAgOlxuICAgICAgICAgIHwgKCh0aGlzOiBFbmRwb2ludEluc3RhbmNlSW50ZXJmYWNlLCBwYXJhbXM6IFApID0+IFByb21pc2U8Uj4pXG4gICAgICAgICAgfCAoKHRoaXM6IEVuZHBvaW50SW5zdGFuY2VJbnRlcmZhY2UpID0+IFByb21pc2U8Uj4pXG4gICAgOiAodGhpczogRW5kcG9pbnRJbnN0YW5jZUludGVyZmFjZSwgcGFyYW1zOiBQKSA9PiBQcm9taXNlPFI+O1xuXG50eXBlIElmVHlwZVNjcmlwdExvb3NlTnVsbDxZLCBOPiA9IDEgfCB1bmRlZmluZWQgZXh0ZW5kcyAxID8gWSA6IE47XG5cbmV4cG9ydCB0eXBlIEtleW9mUmVzdEVuZHBvaW50ID0ga2V5b2YgUmVzdEluc3RhbmNlO1xuXG5leHBvcnQgdHlwZSBGcm9tRmFsbEJhY2s8SyBleHRlbmRzIGtleW9mIEUsIE8sIEU+ID0gSyBleHRlbmRzIGtleW9mIE9cbiAgPyBPW0tdXG4gIDogRVtLXTtcblxuZXhwb3J0IHR5cGUgRmV0Y2hNdXRhdGU8XG4gIEEgZXh0ZW5kcyByZWFkb25seSBhbnlbXSA9ICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIHwgW2FueSwge31dXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICB8IFt7fV0sXG4gIFIgPSBhbnksXG4+ID0gKHRoaXM6IFJlc3RJbnN0YW5jZSwgLi4uYXJnczogQSkgPT4gUHJvbWlzZTxSPjtcblxuZXhwb3J0IHR5cGUgRmV0Y2hHZXQ8QSBleHRlbmRzIHJlYWRvbmx5IGFueVtdID0gW2FueV0sIFIgPSBhbnk+ID0gKFxuICB0aGlzOiBSZXN0SW5zdGFuY2UsXG4gIC4uLmFyZ3M6IEFcbikgPT4gUHJvbWlzZTxSPjtcblxuZXhwb3J0IHR5cGUgRGVmYXVsdHM8TywgRD4gPSB7XG4gIFtLIGluIGtleW9mIE8gfCBrZXlvZiBEXTogSyBleHRlbmRzIGtleW9mIE9cbiAgICA/IEV4Y2x1ZGU8T1tLXSwgdW5kZWZpbmVkPlxuICAgIDogRFtFeHRyYWN0PEssIGtleW9mIEQ+XTtcbn07XG5cbmV4cG9ydCB0eXBlIEdldEVuZHBvaW50PFxuICBPIGV4dGVuZHMge1xuICAgIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgICByZWFkb25seSBzY2hlbWE6IFNjaGVtYTtcbiAgICAvKiogT25seSB1c2VkIGZvciB0eXBlcyAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaFBhcmFtcz86IGFueTtcbiAgICByZWFkb25seSBwYWdpbmF0aW9uRmllbGQ/OiBzdHJpbmc7XG4gIH0gPSB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHNjaGVtYTogU2NoZW1hO1xuICB9LFxuPiA9IFJlc3RUeXBlTm9Cb2R5PFxuICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE9bJ3NlYXJjaFBhcmFtcyddIGV4dGVuZHMgdW5kZWZpbmVkXG4gICAgICA/IFBhdGhBcmdzPE9bJ3BhdGgnXT5cbiAgICAgIDogT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxPWydwYXRoJ10+XG4gICAgOiBQYXRoQXJnczxPWydwYXRoJ10+LFxuICBPWydzY2hlbWEnXSxcbiAgdW5kZWZpbmVkLFxuICBhbnksXG4gIE8gJiB7IG1ldGhvZDogJ0dFVCcgfVxuPjtcblxuZXhwb3J0IHR5cGUgTXV0YXRlRW5kcG9pbnQ8XG4gIE8gZXh0ZW5kcyB7XG4gICAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHNjaGVtYTogU2NoZW1hO1xuICAgIC8qKiBPbmx5IHVzZWQgZm9yIHR5cGVzICovXG4gICAgcmVhZG9ubHkgc2VhcmNoUGFyYW1zPzogYW55O1xuICAgIC8qKiBPbmx5IHVzZWQgZm9yIHR5cGVzICovXG4gICAgcmVhZG9ubHkgYm9keT86IGFueTtcbiAgfSA9IHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgYm9keTogYW55O1xuICAgIHNjaGVtYTogU2NoZW1hO1xuICB9LFxuPiA9IFJlc3RUeXBlV2l0aEJvZHk8XG4gICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgID8gT1snc2VhcmNoUGFyYW1zJ10gZXh0ZW5kcyB1bmRlZmluZWRcbiAgICAgID8gUGF0aEFyZ3M8T1sncGF0aCddPlxuICAgICAgOiBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPE9bJ3BhdGgnXT5cbiAgICA6IFBhdGhBcmdzPE9bJ3BhdGgnXT4sXG4gIE9bJ3NjaGVtYSddLFxuICB0cnVlLFxuICBPWydib2R5J10sXG4gIGFueSxcbiAgTyAmIHsgYm9keTogYW55OyBtZXRob2Q6ICdQT1NUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnIH1cbj47XG4iXSwibWFwcGluZ3MiOiIifQ==
@@ -1,7 +1,7 @@
1
1
  import { ResourceGenerics, ResourceOptions, Resource } from './resourceTypes.js';
2
2
  /** Creates collection of Endpoints for common operations on a given data/schema.
3
3
  *
4
- * @see https://resthooks.io/rest/api/createResource
4
+ * @see https://dataclient.io/rest/api/createResource
5
5
  */
6
6
  export default function createResource<O extends ResourceGenerics>({ path, schema, Endpoint, Collection, optimistic, paginationField, ...extraOptions }: Readonly<O> & ResourceOptions): Resource<O>;
7
7
  //# sourceMappingURL=createResource.d.ts.map
@@ -8,7 +8,7 @@ const {
8
8
 
9
9
  /** Creates collection of Endpoints for common operations on a given data/schema.
10
10
  *
11
- * @see https://resthooks.io/rest/api/createResource
11
+ * @see https://dataclient.io/rest/api/createResource
12
12
  */
13
13
  export default function createResource({
14
14
  path,
@@ -142,4 +142,4 @@ function optimisticDelete(snap, params) {
142
142
  function ensurePojo(body) {
143
143
  return body instanceof FormData ? Object.fromEntries(body.entries()) : body;
144
144
  }
145
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBYm9ydE9wdGltaXN0aWMiLCJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiQmFzZUNvbGxlY3Rpb24iLCJjcmVhdGVSZXNvdXJjZSIsInBhdGgiLCJFbmRwb2ludCIsIm9wdGltaXN0aWMiLCJwYWdpbmF0aW9uRmllbGQiLCJleHRyYU9wdGlvbnMiLCJzaG9ydGVuZWRQYXRoIiwiZ2V0TmFtZSIsIm5hbWUiLCJleHRlbmRNZW1iZXIiLCJleHRlbmRlZCIsImtleSIsIm9wdGlvbnMiLCJleHRlbmQiLCJleHRyYU11dGF0ZU9wdGlvbnMiLCJleHRyYVBhcnRpYWxPcHRpb25zIiwiZ2V0IiwiZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlIiwib3B0aW1pc3RpY1VwZGF0ZSIsIm9wdGltaXN0aWNQYXJ0aWFsIiwiZ2V0TGlzdCIsInJldCIsImNyZWF0ZSIsInB1c2giLCJ1cGRhdGUiLCJtZXRob2QiLCJwYXJ0aWFsVXBkYXRlIiwiZGVsZXRlIiwicHJvY2VzcyIsInJlcyIsInBhcmFtcyIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJvcHRpbWlzdGljRGVsZXRlIiwidW5kZWZpbmVkIiwiYXJncyIsIm92ZXJyaWRlcyIsInNuYXAiLCJib2R5IiwiZW5zdXJlUG9qbyIsImdldEVuZHBvaW50IiwiZGF0YSIsImdldFJlc3BvbnNlIiwiRm9ybURhdGEiLCJmcm9tRW50cmllcyIsImVudHJpZXMiXSwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlUmVzb3VyY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJvcnRPcHRpbWlzdGljLFxuICBTbmFwc2hvdEludGVyZmFjZSxcbiAgc2NoZW1hLFxufSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZVBhdGggfSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5pbXBvcnQge1xuICBSZXNvdXJjZUdlbmVyaWNzLFxuICBSZXNvdXJjZU9wdGlvbnMsXG4gIFJlc291cmNlLFxuICBSZXNvdXJjZUludGVyZmFjZSxcbn0gZnJvbSAnLi9yZXNvdXJjZVR5cGVzLmpzJztcbmltcG9ydCBSZXN0RW5kcG9pbnQsIHtcbiAgR2V0RW5kcG9pbnQsXG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RFbmRwb2ludE9wdGlvbnMsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgSW52YWxpZGF0ZSwgQ29sbGVjdGlvbjogQmFzZUNvbGxlY3Rpb24gfSA9IHNjaGVtYTtcblxuLyoqIENyZWF0ZXMgY29sbGVjdGlvbiBvZiBFbmRwb2ludHMgZm9yIGNvbW1vbiBvcGVyYXRpb25zIG9uIGEgZ2l2ZW4gZGF0YS9zY2hlbWEuXG4gKlxuICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVSZXNvdXJjZTxPIGV4dGVuZHMgUmVzb3VyY2VHZW5lcmljcz4oe1xuICBwYXRoLFxuICBzY2hlbWEsXG4gIEVuZHBvaW50ID0gUmVzdEVuZHBvaW50LFxuICBDb2xsZWN0aW9uID0gQmFzZUNvbGxlY3Rpb24sXG4gIG9wdGltaXN0aWMsXG4gIHBhZ2luYXRpb25GaWVsZCxcbiAgLi4uZXh0cmFPcHRpb25zXG59OiBSZWFkb25seTxPPiAmIFJlc291cmNlT3B0aW9ucyk6IFJlc291cmNlPE8+IHtcbiAgY29uc3Qgc2hvcnRlbmVkUGF0aCA9IHNob3J0ZW5QYXRoKHBhdGgpO1xuICBjb25zdCBnZXROYW1lID0gKG5hbWU6IHN0cmluZykgPT4gYCR7KHNjaGVtYSBhcyBhbnkpPy5uYW1lfS4ke25hbWV9YDtcbiAgLy8gdGhpcyBhY2NvdW50cyBmb3IgZGVyaXZhdGl2ZSBlbmRwb2ludHNcbiAgZnVuY3Rpb24gZXh0ZW5kTWVtYmVyKGV4dGVuZGVkOiBhbnksIGtleTogc3RyaW5nLCBvcHRpb25zOiBhbnkpIHtcbiAgICBleHRlbmRlZFtrZXldID0gZXh0ZW5kZWRba2V5XS5leHRlbmQob3B0aW9ucyk7XG4gIH1cblxuICBjb25zdCBleHRyYU11dGF0ZU9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBleHRyYVBhcnRpYWxPcHRpb25zID0geyAuLi5leHRyYU9wdGlvbnMgfTtcbiAgY29uc3QgZ2V0OiBHZXRFbmRwb2ludDx7IHBhdGg6IE9bJ3BhdGgnXTsgc2NoZW1hOiBPWydzY2hlbWEnXSB9PiA9XG4gICAgbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBuYW1lOiBnZXROYW1lKCdnZXQnKSxcbiAgICB9KSBhcyBhbnk7XG4gIGlmIChvcHRpbWlzdGljKSB7XG4gICAgKGV4dHJhTXV0YXRlT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNVcGRhdGU7XG4gICAgKGV4dHJhUGFydGlhbE9wdGlvbnMgYXMgYW55KS5nZXRPcHRpbWlzdGljUmVzcG9uc2UgPSBvcHRpbWlzdGljUGFydGlhbChcbiAgICAgIGdldCBhcyBhbnksXG4gICAgKTtcbiAgfVxuICBjb25zdCBnZXRMaXN0ID0gbmV3IEVuZHBvaW50KHtcbiAgICAuLi5leHRyYU11dGF0ZU9wdGlvbnMsXG4gICAgcGFnaW5hdGlvbkZpZWxkOiBwYWdpbmF0aW9uRmllbGQgYXMgc3RyaW5nLFxuICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgc2NoZW1hOiBuZXcgQ29sbGVjdGlvbihbc2NoZW1hIGFzIGFueV0pLFxuICAgIG5hbWU6IGdldE5hbWUoJ2dldExpc3QnKSxcbiAgfSk7XG4gIGNvbnN0IHJldCA9IHtcbiAgICBnZXQsXG4gICAgZ2V0TGlzdCxcbiAgICAvLyBUT0RPKGRlcHJlY2F0ZWQpOiByZW1vdmUgdGhpcyBvbmNlIHdlIHJlbW92ZSBjcmVhdGVzXG4gICAgY3JlYXRlOiBnZXRMaXN0LnB1c2guZXh0ZW5kKHsgbmFtZTogZ2V0TmFtZSgnY3JlYXRlJykgfSksXG4gICAgdXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCd1cGRhdGUnKSxcbiAgICB9KSxcbiAgICBwYXJ0aWFsVXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFQYXJ0aWFsT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCdwYXJ0aWFsVXBkYXRlJyksXG4gICAgfSksXG4gICAgZGVsZXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYTogKHNjaGVtYSBhcyBhbnkpLnByb2Nlc3MgPyBuZXcgSW52YWxpZGF0ZShzY2hlbWEgYXMgYW55KSA6IHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBuYW1lOiBnZXROYW1lKCdkZWxldGUnKSxcbiAgICAgIHByb2Nlc3MocmVzOiBhbnksIHBhcmFtczogYW55KSB7XG4gICAgICAgIHJldHVybiByZXMgJiYgT2JqZWN0LmtleXMocmVzKS5sZW5ndGggPyByZXMgOiBwYXJhbXM7XG4gICAgICB9LFxuICAgICAgZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlOiBvcHRpbWlzdGljID8gKG9wdGltaXN0aWNEZWxldGUgYXMgYW55KSA6IHVuZGVmaW5lZCxcbiAgICB9KSxcbiAgICBleHRlbmQoXG4gICAgICAuLi5hcmdzOlxuICAgICAgICB8IFtzdHJpbmcsIFJlc3RFbmRwb2ludE9wdGlvbnMgJiBQYXJ0aWFsUmVzdEdlbmVyaWNzXVxuICAgICAgICB8IFtSZXN0RW5kcG9pbnRPcHRpb25zICYgUGFydGlhbFJlc3RHZW5lcmljc11cbiAgICAgICAgfCBbXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgIGJhc2VSZXNvdXJjZTogUmVzb3VyY2VJbnRlcmZhY2UsXG4gICAgICAgICAgICApID0+IFJlY29yZDxzdHJpbmcsIFJlc3RJbnN0YW5jZUJhc2U+LFxuICAgICAgICAgIF1cbiAgICApIHtcbiAgICAgIGlmICh0eXBlb2YgYXJnc1swXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgW2tleSwgb3B0aW9uc10gPSBhcmdzO1xuICAgICAgICBpZiAoa2V5IGluIHRoaXMpIHtcbiAgICAgICAgICBjb25zdCBleHRlbmRlZCA9IHsgLi4udGhpcyB9O1xuICAgICAgICAgIGV4dGVuZE1lbWJlcihleHRlbmRlZCwga2V5LCBvcHRpb25zKTtcbiAgICAgICAgICByZXR1cm4gZXh0ZW5kZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnRoaXMsXG4gICAgICAgICAgICBba2V5XTogdGhpcy5nZXQuZXh0ZW5kKG9wdGlvbnMpLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgZXh0ZW5kZWQgPSBhcmdzWzBdKHRoaXMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnRoaXMsXG4gICAgICAgICAgLi4uZXh0ZW5kZWQsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBjb25zdCBvdmVycmlkZXMgPSBhcmdzWzBdO1xuICAgICAgY29uc3QgZXh0ZW5kZWQgPSB7IC4uLnRoaXMgfTtcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIG92ZXJyaWRlcykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZXh0ZW5kTWVtYmVyKGV4dGVuZGVkLCBrZXksIG92ZXJyaWRlc1trZXldKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBleHRlbmRlZDtcbiAgICB9LFxuICB9IGFzIGFueTtcbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gb3B0aW1pc3RpY1VwZGF0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICByZXR1cm4ge1xuICAgIC4uLnBhcmFtcyxcbiAgICAuLi5lbnN1cmVQb2pvKGJvZHkpLFxuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY1BhcnRpYWwoXG4gIGdldEVuZHBvaW50OiBHZXRFbmRwb2ludDx7IHBhdGg6IFJlc291cmNlUGF0aDsgc2NoZW1hOiBhbnkgfT4sXG4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gc25hcC5nZXRSZXNwb25zZShnZXRFbmRwb2ludCwgcGFyYW1zKSBhcyB7IGRhdGE6IGFueSB9O1xuICAgIGlmICghZGF0YSkgdGhyb3cgbmV3IEFib3J0T3B0aW1pc3RpYygpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICAuLi5kYXRhLFxuICAgICAgLy8gZXZlbiB0aG8gd2UgZG9uJ3QgYWx3YXlzIGhhdmUgdHdvIGFyZ3VtZW50cywgdGhlIGV4dHJhIG9uZSB3aWxsIHNpbXBseSBiZSB1bmRlZmluZWQgd2hpY2ggc3ByZWFkcyBmaW5lXG4gICAgICAuLi5lbnN1cmVQb2pvKGJvZHkpLFxuICAgIH07XG4gIH07XG59XG5mdW5jdGlvbiBvcHRpbWlzdGljRGVsZXRlKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSkge1xuICByZXR1cm4gcGFyYW1zO1xufVxuZnVuY3Rpb24gZW5zdXJlUG9qbyhib2R5OiBhbnkpIHtcbiAgcmV0dXJuIGJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YVxuICAgID8gT2JqZWN0LmZyb21FbnRyaWVzKChib2R5IGFzIGFueSkuZW50cmllcygpKVxuICAgIDogYm9keTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FDRUEsZUFBZSxFQUVmQyxNQUFNLFFBQ0QsdUJBQXVCO0FBUzlCLE9BQU9DLFlBQVksTUFLWixtQkFBbUI7QUFDMUIsU0FBU0MsV0FBVyxRQUFRLGtCQUFrQjtBQUU5QyxNQUFNO0VBQUVDLFVBQVU7RUFBRUMsVUFBVSxFQUFFQztBQUFlLENBQUMsR0FBR0wsTUFBTTs7QUFFekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVNNLGNBQWNBLENBQTZCO0VBQ2pFQyxJQUFJO0VBQ0pQLE1BQU07RUFDTlEsUUFBUSxHQUFHUCxZQUFZO0VBQ3ZCRyxVQUFVLEdBQUdDLGNBQWM7RUFDM0JJLFVBQVU7RUFDVkMsZUFBZTtFQUNmLEdBQUdDO0FBQzBCLENBQUMsRUFBZTtFQUM3QyxNQUFNQyxhQUFhLEdBQUdWLFdBQVcsQ0FBQ0ssSUFBSSxDQUFDO0VBQ3ZDLE1BQU1NLE9BQU8sR0FBSUMsSUFBWSxJQUFNLEdBQUdkLE1BQU0sb0JBQU5BLE1BQU0sQ0FBVWMsSUFBSyxJQUFHQSxJQUFLLEVBQUM7RUFDcEU7RUFDQSxTQUFTQyxZQUFZQSxDQUFDQyxRQUFhLEVBQUVDLEdBQVcsRUFBRUMsT0FBWSxFQUFFO0lBQzlERixRQUFRLENBQUNDLEdBQUcsQ0FBQyxHQUFHRCxRQUFRLENBQUNDLEdBQUcsQ0FBQyxDQUFDRSxNQUFNLENBQUNELE9BQU8sQ0FBQztFQUMvQztFQUVBLE1BQU1FLGtCQUFrQixHQUFHO0lBQUUsR0FBR1Q7RUFBYSxDQUFDO0VBQzlDLE1BQU1VLG1CQUFtQixHQUFHO0lBQUUsR0FBR1Y7RUFBYSxDQUFDO0VBQy9DLE1BQU1XLEdBQTBELEdBQzlELElBQUlk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
145
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBYm9ydE9wdGltaXN0aWMiLCJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiQmFzZUNvbGxlY3Rpb24iLCJjcmVhdGVSZXNvdXJjZSIsInBhdGgiLCJFbmRwb2ludCIsIm9wdGltaXN0aWMiLCJwYWdpbmF0aW9uRmllbGQiLCJleHRyYU9wdGlvbnMiLCJzaG9ydGVuZWRQYXRoIiwiZ2V0TmFtZSIsIm5hbWUiLCJleHRlbmRNZW1iZXIiLCJleHRlbmRlZCIsImtleSIsIm9wdGlvbnMiLCJleHRlbmQiLCJleHRyYU11dGF0ZU9wdGlvbnMiLCJleHRyYVBhcnRpYWxPcHRpb25zIiwiZ2V0IiwiZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlIiwib3B0aW1pc3RpY1VwZGF0ZSIsIm9wdGltaXN0aWNQYXJ0aWFsIiwiZ2V0TGlzdCIsInJldCIsImNyZWF0ZSIsInB1c2giLCJ1cGRhdGUiLCJtZXRob2QiLCJwYXJ0aWFsVXBkYXRlIiwiZGVsZXRlIiwicHJvY2VzcyIsInJlcyIsInBhcmFtcyIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJvcHRpbWlzdGljRGVsZXRlIiwidW5kZWZpbmVkIiwiYXJncyIsIm92ZXJyaWRlcyIsInNuYXAiLCJib2R5IiwiZW5zdXJlUG9qbyIsImdldEVuZHBvaW50IiwiZGF0YSIsImdldFJlc3BvbnNlIiwiRm9ybURhdGEiLCJmcm9tRW50cmllcyIsImVudHJpZXMiXSwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlUmVzb3VyY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJvcnRPcHRpbWlzdGljLFxuICBTbmFwc2hvdEludGVyZmFjZSxcbiAgc2NoZW1hLFxufSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZVBhdGggfSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5pbXBvcnQge1xuICBSZXNvdXJjZUdlbmVyaWNzLFxuICBSZXNvdXJjZU9wdGlvbnMsXG4gIFJlc291cmNlLFxuICBSZXNvdXJjZUludGVyZmFjZSxcbn0gZnJvbSAnLi9yZXNvdXJjZVR5cGVzLmpzJztcbmltcG9ydCBSZXN0RW5kcG9pbnQsIHtcbiAgR2V0RW5kcG9pbnQsXG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RFbmRwb2ludE9wdGlvbnMsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgSW52YWxpZGF0ZSwgQ29sbGVjdGlvbjogQmFzZUNvbGxlY3Rpb24gfSA9IHNjaGVtYTtcblxuLyoqIENyZWF0ZXMgY29sbGVjdGlvbiBvZiBFbmRwb2ludHMgZm9yIGNvbW1vbiBvcGVyYXRpb25zIG9uIGEgZ2l2ZW4gZGF0YS9zY2hlbWEuXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzb3VyY2U8TyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3M+KHtcbiAgcGF0aCxcbiAgc2NoZW1hLFxuICBFbmRwb2ludCA9IFJlc3RFbmRwb2ludCxcbiAgQ29sbGVjdGlvbiA9IEJhc2VDb2xsZWN0aW9uLFxuICBvcHRpbWlzdGljLFxuICBwYWdpbmF0aW9uRmllbGQsXG4gIC4uLmV4dHJhT3B0aW9uc1xufTogUmVhZG9ubHk8Tz4gJiBSZXNvdXJjZU9wdGlvbnMpOiBSZXNvdXJjZTxPPiB7XG4gIGNvbnN0IHNob3J0ZW5lZFBhdGggPSBzaG9ydGVuUGF0aChwYXRoKTtcbiAgY29uc3QgZ2V0TmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IGAkeyhzY2hlbWEgYXMgYW55KT8ubmFtZX0uJHtuYW1lfWA7XG4gIC8vIHRoaXMgYWNjb3VudHMgZm9yIGRlcml2YXRpdmUgZW5kcG9pbnRzXG4gIGZ1bmN0aW9uIGV4dGVuZE1lbWJlcihleHRlbmRlZDogYW55LCBrZXk6IHN0cmluZywgb3B0aW9uczogYW55KSB7XG4gICAgZXh0ZW5kZWRba2V5XSA9IGV4dGVuZGVkW2tleV0uZXh0ZW5kKG9wdGlvbnMpO1xuICB9XG5cbiAgY29uc3QgZXh0cmFNdXRhdGVPcHRpb25zID0geyAuLi5leHRyYU9wdGlvbnMgfTtcbiAgY29uc3QgZXh0cmFQYXJ0aWFsT3B0aW9ucyA9IHsgLi4uZXh0cmFPcHRpb25zIH07XG4gIGNvbnN0IGdldDogR2V0RW5kcG9pbnQ8eyBwYXRoOiBPWydwYXRoJ107IHNjaGVtYTogT1snc2NoZW1hJ10gfT4gPVxuICAgIG5ldyBFbmRwb2ludCh7XG4gICAgICAuLi5leHRyYU9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbmFtZTogZ2V0TmFtZSgnZ2V0JyksXG4gICAgfSkgYXMgYW55O1xuICBpZiAob3B0aW1pc3RpYykge1xuICAgIChleHRyYU11dGF0ZU9wdGlvbnMgYXMgYW55KS5nZXRPcHRpbWlzdGljUmVzcG9uc2UgPSBvcHRpbWlzdGljVXBkYXRlO1xuICAgIChleHRyYVBhcnRpYWxPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1BhcnRpYWwoXG4gICAgICBnZXQgYXMgYW55LFxuICAgICk7XG4gIH1cbiAgY29uc3QgZ2V0TGlzdCA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgIHBhZ2luYXRpb25GaWVsZDogcGFnaW5hdGlvbkZpZWxkIGFzIHN0cmluZyxcbiAgICBwYXRoOiBzaG9ydGVuZWRQYXRoLFxuICAgIHNjaGVtYTogbmV3IENvbGxlY3Rpb24oW3NjaGVtYSBhcyBhbnldKSxcbiAgICBuYW1lOiBnZXROYW1lKCdnZXRMaXN0JyksXG4gIH0pO1xuICBjb25zdCByZXQgPSB7XG4gICAgZ2V0LFxuICAgIGdldExpc3QsXG4gICAgLy8gVE9ETyhkZXByZWNhdGVkKTogcmVtb3ZlIHRoaXMgb25jZSB3ZSByZW1vdmUgY3JlYXRlc1xuICAgIGNyZWF0ZTogZ2V0TGlzdC5wdXNoLmV4dGVuZCh7IG5hbWU6IGdldE5hbWUoJ2NyZWF0ZScpIH0pLFxuICAgIHVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgndXBkYXRlJyksXG4gICAgfSksXG4gICAgcGFydGlhbFVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhUGFydGlhbE9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgncGFydGlhbFVwZGF0ZScpLFxuICAgIH0pLFxuICAgIGRlbGV0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWE6IChzY2hlbWEgYXMgYW55KS5wcm9jZXNzID8gbmV3IEludmFsaWRhdGUoc2NoZW1hIGFzIGFueSkgOiBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgnZGVsZXRlJyksXG4gICAgICBwcm9jZXNzKHJlczogYW55LCBwYXJhbXM6IGFueSkge1xuICAgICAgICByZXR1cm4gcmVzICYmIE9iamVjdC5rZXlzKHJlcykubGVuZ3RoID8gcmVzIDogcGFyYW1zO1xuICAgICAgfSxcbiAgICAgIGdldE9wdGltaXN0aWNSZXNwb25zZTogb3B0aW1pc3RpYyA/IChvcHRpbWlzdGljRGVsZXRlIGFzIGFueSkgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgZXh0ZW5kKFxuICAgICAgLi4uYXJnczpcbiAgICAgICAgfCBbc3RyaW5nLCBSZXN0RW5kcG9pbnRPcHRpb25zICYgUGFydGlhbFJlc3RHZW5lcmljc11cbiAgICAgICAgfCBbUmVzdEVuZHBvaW50T3B0aW9ucyAmIFBhcnRpYWxSZXN0R2VuZXJpY3NdXG4gICAgICAgIHwgW1xuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICBiYXNlUmVzb3VyY2U6IFJlc291cmNlSW50ZXJmYWNlLFxuICAgICAgICAgICAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBSZXN0SW5zdGFuY2VCYXNlPixcbiAgICAgICAgICBdXG4gICAgKSB7XG4gICAgICBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIG9wdGlvbnNdID0gYXJncztcbiAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgY29uc3QgZXh0ZW5kZWQgPSB7IC4uLnRoaXMgfTtcbiAgICAgICAgICBleHRlbmRNZW1iZXIoZXh0ZW5kZWQsIGtleSwgb3B0aW9ucyk7XG4gICAgICAgICAgcmV0dXJuIGV4dGVuZGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgICAgW2tleV06IHRoaXMuZ2V0LmV4dGVuZChvcHRpb25zKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmdzWzBdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IGV4dGVuZGVkID0gYXJnc1swXSh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgIC4uLmV4dGVuZGVkLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gYXJnc1swXTtcbiAgICAgIGNvbnN0IGV4dGVuZGVkID0geyAuLi50aGlzIH07XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBvdmVycmlkZXMpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGV4dGVuZE1lbWJlcihleHRlbmRlZCwga2V5LCBvdmVycmlkZXNba2V5XSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXh0ZW5kZWQ7XG4gICAgfSxcbiAgfSBhcyBhbnk7XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIG9wdGltaXN0aWNVcGRhdGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wYXJhbXMsXG4gICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNQYXJ0aWFsKFxuICBnZXRFbmRwb2ludDogR2V0RW5kcG9pbnQ8eyBwYXRoOiBSZXNvdXJjZVBhdGg7IHNjaGVtYTogYW55IH0+LFxuKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IHNuYXAuZ2V0UmVzcG9uc2UoZ2V0RW5kcG9pbnQsIHBhcmFtcykgYXMgeyBkYXRhOiBhbnkgfTtcbiAgICBpZiAoIWRhdGEpIHRocm93IG5ldyBBYm9ydE9wdGltaXN0aWMoKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgLi4uZGF0YSxcbiAgICAgIC8vIGV2ZW4gdGhvIHdlIGRvbid0IGFsd2F5cyBoYXZlIHR3byBhcmd1bWVudHMsIHRoZSBleHRyYSBvbmUgd2lsbCBzaW1wbHkgYmUgdW5kZWZpbmVkIHdoaWNoIHNwcmVhZHMgZmluZVxuICAgICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgICB9O1xuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY0RlbGV0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnkpIHtcbiAgcmV0dXJuIHBhcmFtcztcbn1cbmZ1bmN0aW9uIGVuc3VyZVBvam8oYm9keTogYW55KSB7XG4gIHJldHVybiBib2R5IGluc3RhbmNlb2YgRm9ybURhdGFcbiAgICA/IE9iamVjdC5mcm9tRW50cmllcygoYm9keSBhcyBhbnkpLmVudHJpZXMoKSlcbiAgICA6IGJvZHk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLGVBQWUsRUFFZkMsTUFBTSxRQUNELHVCQUF1QjtBQVM5QixPQUFPQyxZQUFZLE1BS1osbUJBQW1CO0FBQzFCLFNBQVNDLFdBQVcsUUFBUSxrQkFBa0I7QUFFOUMsTUFBTTtFQUFFQyxVQUFVO0VBQUVDLFVBQVUsRUFBRUM7QUFBZSxDQUFDLEdBQUdMLE1BQU07O0FBRXpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTTSxjQUFjQSxDQUE2QjtFQUNqRUMsSUFBSTtFQUNKUCxNQUFNO0VBQ05RLFFBQVEsR0FBR1AsWUFBWTtFQUN2QkcsVUFBVSxHQUFHQyxjQUFjO0VBQzNCSSxVQUFVO0VBQ1ZDLGVBQWU7RUFDZixHQUFHQztBQUMwQixDQUFDLEVBQWU7RUFDN0MsTUFBTUMsYUFBYSxHQUFHVixXQUFXLENBQUNLLElBQUksQ0FBQztFQUN2QyxNQUFNTSxPQUFPLEdBQUlDLElBQVksSUFBTSxHQUFHZCxNQUFNLG9CQUFOQSxNQUFNLENBQVVjLElBQUssSUFBR0EsSUFBSyxFQUFDO0VBQ3BFO0VBQ0EsU0FBU0MsWUFBWUEsQ0FBQ0MsUUFBYSxFQUFFQyxHQUFXLEVBQUVDLE9BQVksRUFBRTtJQUM5REYsUUFBUSxDQUFDQyxHQUFHLENBQUMsR0FBR0QsUUFBUSxDQUFDQyxHQUFHLENBQUMsQ0FBQ0UsTUFBTSxDQUFDRCxPQUFPLENBQUM7RUFDL0M7RUFFQSxNQUFNRSxrQkFBa0IsR0FBRztJQUFFLEdBQUdUO0VBQWEsQ0FBQztFQUM5QyxNQUFNVSxtQkFBbUIsR0FBRztJQUFFLEdBQUdWO0VBQWEsQ0FBQztFQUMvQyxNQUFNVyxHQUEwRCxHQUM5RCxJQUFJ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
@@ -5,7 +5,7 @@ export interface HookableEndpointInterface extends EndpointInterface {
5
5
  /** Turns a collection of Endpoints (Resource) into a collection of hooks.
6
6
  * This is useful for Endpoints that need hooks to prepare their fetch requests.
7
7
  *
8
- * @see https://resthooks.io/rest/api/hookifyResource
8
+ * @see https://dataclient.io/rest/api/hookifyResource
9
9
  */
10
10
  export default function hookifyResource<R extends {}>(resource: R, useRequestInit: () => RequestInit): HookResource<R>;
11
11
  export type HookResource<R extends {}> = {