@vendasta/social-posts 5.51.0 → 5.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/esm2020/lib/_internal/enums/image-generation.enum.mjs +2 -1
  2. package/esm2020/lib/_internal/enums/index.mjs +2 -2
  3. package/esm2020/lib/_internal/enums/social-content.enum.mjs +20 -1
  4. package/esm2020/lib/_internal/index.mjs +2 -1
  5. package/esm2020/lib/_internal/interfaces/annotations.interface.mjs +1 -1
  6. package/esm2020/lib/_internal/interfaces/api-v2.interface.mjs +1 -1
  7. package/esm2020/lib/_internal/interfaces/drafts-api.interface.mjs +1 -1
  8. package/esm2020/lib/_internal/interfaces/drafts.interface.mjs +1 -1
  9. package/esm2020/lib/_internal/interfaces/image-generation.interface.mjs +1 -1
  10. package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
  11. package/esm2020/lib/_internal/interfaces/social-comment.interface.mjs +8 -0
  12. package/esm2020/lib/_internal/interfaces/social-comments.interface.mjs +2 -0
  13. package/esm2020/lib/_internal/interfaces/social-content.interface.mjs +1 -1
  14. package/esm2020/lib/_internal/interfaces/social-post-v2.interface.mjs +1 -1
  15. package/esm2020/lib/_internal/interfaces/social-posts.interface.mjs +1 -1
  16. package/esm2020/lib/_internal/interfaces/wordpress-plugin.interface.mjs +1 -7
  17. package/esm2020/lib/_internal/objects/annotations.mjs +7 -1
  18. package/esm2020/lib/_internal/objects/api-v2.mjs +345 -1
  19. package/esm2020/lib/_internal/objects/chat-bot-v2.mjs +1 -1
  20. package/esm2020/lib/_internal/objects/drafts-api.mjs +7 -1
  21. package/esm2020/lib/_internal/objects/drafts.mjs +7 -1
  22. package/esm2020/lib/_internal/objects/image-generation.mjs +4 -1
  23. package/esm2020/lib/_internal/objects/index.mjs +5 -3
  24. package/esm2020/lib/_internal/objects/social-comment.mjs +54 -0
  25. package/esm2020/lib/_internal/objects/social-comments.mjs +134 -0
  26. package/esm2020/lib/_internal/objects/social-content.mjs +454 -1
  27. package/esm2020/lib/_internal/objects/social-post-v2.mjs +7 -1
  28. package/esm2020/lib/_internal/objects/social-posts.mjs +7 -1
  29. package/esm2020/lib/_internal/objects/wordpress-plugin.mjs +23 -1
  30. package/esm2020/lib/_internal/social-comments.api.service.mjs +45 -0
  31. package/esm2020/lib/_internal/social-content.api.service.mjs +17 -2
  32. package/esm2020/lib/_internal/social-posts-v2.api.service.mjs +7 -2
  33. package/esm2020/lib/social-post-v2.service.mjs +6 -2
  34. package/fesm2015/vendasta-social-posts.mjs +1351 -232
  35. package/fesm2015/vendasta-social-posts.mjs.map +1 -1
  36. package/fesm2020/vendasta-social-posts.mjs +1351 -232
  37. package/fesm2020/vendasta-social-posts.mjs.map +1 -1
  38. package/lib/_internal/enums/image-generation.enum.d.ts +2 -1
  39. package/lib/_internal/enums/index.d.ts +1 -1
  40. package/lib/_internal/enums/social-content.enum.d.ts +16 -0
  41. package/lib/_internal/index.d.ts +1 -0
  42. package/lib/_internal/interfaces/annotations.interface.d.ts +2 -0
  43. package/lib/_internal/interfaces/api-v2.interface.d.ts +69 -0
  44. package/lib/_internal/interfaces/drafts-api.interface.d.ts +2 -0
  45. package/lib/_internal/interfaces/drafts.interface.d.ts +2 -0
  46. package/lib/_internal/interfaces/image-generation.interface.d.ts +1 -0
  47. package/lib/_internal/interfaces/index.d.ts +4 -2
  48. package/lib/_internal/interfaces/social-comment.interface.d.ts +10 -0
  49. package/lib/_internal/interfaces/social-comments.interface.d.ts +25 -0
  50. package/lib/_internal/interfaces/social-content.interface.d.ts +75 -0
  51. package/lib/_internal/interfaces/social-post-v2.interface.d.ts +2 -0
  52. package/lib/_internal/interfaces/social-posts.interface.d.ts +2 -0
  53. package/lib/_internal/interfaces/wordpress-plugin.interface.d.ts +6 -0
  54. package/lib/_internal/objects/annotations.d.ts +2 -0
  55. package/lib/_internal/objects/api-v2.d.ts +99 -0
  56. package/lib/_internal/objects/drafts-api.d.ts +2 -0
  57. package/lib/_internal/objects/drafts.d.ts +2 -0
  58. package/lib/_internal/objects/image-generation.d.ts +1 -0
  59. package/lib/_internal/objects/index.d.ts +4 -2
  60. package/lib/_internal/objects/social-comment.d.ts +15 -0
  61. package/lib/_internal/objects/social-comments.d.ts +39 -0
  62. package/lib/_internal/objects/social-content.d.ts +120 -0
  63. package/lib/_internal/objects/social-post-v2.d.ts +2 -0
  64. package/lib/_internal/objects/social-posts.d.ts +2 -0
  65. package/lib/_internal/objects/wordpress-plugin.d.ts +6 -0
  66. package/lib/_internal/social-comments.api.service.d.ts +14 -0
  67. package/lib/_internal/social-content.api.service.d.ts +5 -2
  68. package/lib/_internal/social-posts-v2.api.service.d.ts +3 -2
  69. package/lib/social-post-v2.service.d.ts +2 -1
  70. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { MetadataV2 } from './social-post-v2';
1
2
  export function enumStringToValue(enumRef, value) {
2
3
  if (typeof value === 'number') {
3
4
  return value;
@@ -136,6 +137,9 @@ export class BlogPost {
136
137
  if (proto.deleted) {
137
138
  m.deleted = new Date(proto.deleted);
138
139
  }
140
+ if (proto.metadata) {
141
+ m.metadata = proto.metadata.map(MetadataV2.fromProto);
142
+ }
139
143
  return m;
140
144
  }
141
145
  constructor(kwargs) {
@@ -218,6 +222,15 @@ export class BlogPost {
218
222
  if (typeof this.deleted !== 'undefined' && this.deleted !== null) {
219
223
  toReturn['deleted'] = 'toApiJson' in this.deleted ? this.deleted.toApiJson() : this.deleted;
220
224
  }
225
+ if (typeof this.metadata !== 'undefined' && this.metadata !== null) {
226
+ toReturn['metadata'] = 'toApiJson' in this.metadata ? this.metadata.toApiJson() : this.metadata;
227
+ }
228
+ if (typeof this.createdBy !== 'undefined') {
229
+ toReturn['createdBy'] = this.createdBy;
230
+ }
231
+ if (typeof this.updatedBy !== 'undefined') {
232
+ toReturn['updatedBy'] = this.updatedBy;
233
+ }
221
234
  return toReturn;
222
235
  }
223
236
  }
@@ -436,6 +449,9 @@ export class PublishPostRequest {
436
449
  if (proto.postDateTime) {
437
450
  m.postDateTime = new Date(proto.postDateTime);
438
451
  }
452
+ if (proto.metadata) {
453
+ m.metadata = proto.metadata.map(MetadataV2.fromProto);
454
+ }
439
455
  return m;
440
456
  }
441
457
  constructor(kwargs) {
@@ -494,6 +510,12 @@ export class PublishPostRequest {
494
510
  if (typeof this.internalPostId !== 'undefined') {
495
511
  toReturn['internalPostId'] = this.internalPostId;
496
512
  }
513
+ if (typeof this.metadata !== 'undefined' && this.metadata !== null) {
514
+ toReturn['metadata'] = 'toApiJson' in this.metadata ? this.metadata.toApiJson() : this.metadata;
515
+ }
516
+ if (typeof this.createdBy !== 'undefined') {
517
+ toReturn['createdBy'] = this.createdBy;
518
+ }
497
519
  return toReturn;
498
520
  }
499
521
  }
@@ -618,4 +640,4 @@ export class UpdateBlogPostRequest {
618
640
  return toReturn;
619
641
  }
620
642
  }
621
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yZHByZXNzLXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NvY2lhbF9wb3N0c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy93b3JkcHJlc3MtcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sT0FBTyxNQUFNO0lBSWYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDckIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FBQztRQUM5QyxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQTBCO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQUM7UUFDL0QsSUFBSSxPQUFPLElBQUksQ0FBQyxJ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Q0o7QUFFRCxNQUFNLE9BQU8scUJBQXFCO0lBRzlCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDcEMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FBQztRQUN0RSxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQXlDO1FBQ2pELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFFBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7U0FBQztRQUMvSyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIEF1dGhvciBpbXBsZW1lbnRzIGkuQXV0aG9ySW50ZXJmYWNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEF1dGhvciB7XG4gICAgICAgIGxldCBtID0gbmV3IEF1dGhvcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pZCkge20uaWQgPSBwYXJzZUludChwcm90by5pZCwgMTApO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BdXRob3JJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbmFtZSddID0gdGhpcy5uYW1lO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEF1dGhvcnNSZXF1ZXN0IGltcGxlbWVudHMgaS5BdXRob3JzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgYnVzaW5lc3NJZDogc3RyaW5nO1xuICAgIHNvY2lhbFNlcnZpY2VJZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQXV0aG9yc1JlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBBdXRob3JzUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXV0aG9yc1JlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idXNpbmVzc0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydidXNpbmVzc0lkJ10gPSB0aGlzLmJ1c2luZXNzSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc29jaWFsU2VydmljZUlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzb2NpYWxTZXJ2aWNlSWQnXSA9IHRoaXMuc29jaWFsU2VydmljZUlkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEF1dGhvcnNSZXNwb25zZSBpbXBsZW1lbnRzIGkuQXV0aG9yc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBhdXRob3JzOiBBdXRob3JbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEF1dGhvcnNSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IEF1dGhvcnNSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5hdXRob3JzKSB7bS5hdXRob3JzID0gcHJvdG8uYXV0aG9ycy5tYXAoQXV0aG9yLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkF1dGhvcnNSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1dGhvcnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYXV0aG9ycyAhPT0gbnVsbCkge3RvUmV0dXJuWydhdXRob3JzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmF1dGhvcnMgPyAodGhpcy5hdXRob3JzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmF1dGhvcnM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQmxvZ0ltYWdlIGltcGxlbWVudHMgaS5CbG9nSW1hZ2VJbnRlcmZhY2Uge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBwdWJsaWNVcmw6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEJsb2dJbWFnZSB7XG4gICAgICAgIGxldCBtID0gbmV3IEJsb2dJbWFnZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQmxvZ0ltYWdlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGF0aCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGF0aCddID0gdGhpcy5wYXRoO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnB1YmxpY1VybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncHVibGljVXJsJ10gPSB0aGlzLnB1YmxpY1VybDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBCbG9nUG9zdCBpbXBsZW1lbnRzIGkuQmxvZ1Bvc3RJbnRlcmZhY2Uge1xuICAgIGludGVybmFsUG9zdElkOiBzdHJpbmc7XG4gICAgc29jaWFsU2VydmljZUlkOiBzdHJpbmc7XG4gICAgYnVzaW5lc3NJZDogc3RyaW5nO1xuICAgIHBhcnRuZXJJZDogc3RyaW5nO1xuICAgIHBvc3RJZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIGltYWdlczogTWVkaWFQcm9wZXJ0eVtdO1xuICAgIHZpZGVvOiBNZWRpYVByb3BlcnR5W107XG4gICAgcGVybWFsaW5rOiBzdHJpbmc7XG4gICAgc2l0ZVR5cGU6IHN0cmluZztcbiAgICBhdXRob3I6IEF1dGhvcjtcbiAgICBjYXRlZ29yaWVzOiBDYXRlZ29yeVtdO1xuICAgIHRhZ3M6IHN0cmluZ1tdO1xuICAgIGVycm9yOiBzdHJpbmc7XG4gICAgcG9zdERhdGVUaW1lOiBEYXRlO1xuICAgIHBvc3RlZERhdGVUaW1lOiBEYXRlO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIHVzZXJOYW1lOiBzdHJpbmc7XG4gICAgcGFnZVZpZXdzOiBudW1iZXI7XG4gICAgY29tbWVudHNDb3VudDogbnVtYmVyO1xuICAgIGNyZWF0ZWQ6IERhdGU7XG4gICAgdXBkYXRlZDogRGF0ZTtcbiAgICBkZWxldGVkOiBEYXRlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQmxvZ1Bvc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBCbG9nUG9zdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pbWFnZXMpIHttLmltYWdlcyA9IHByb3RvLmltYWdlcy5tYXAoTWVkaWFQcm9wZXJ0eS5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnZpZGVvKSB7bS52aWRlbyA9IHByb3RvLnZpZGVvLm1hcChNZWRpYVByb3BlcnR5LmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8uYXV0aG9yKSB7bS5hdXRob3IgPSBBdXRob3IuZnJvbVByb3RvKHByb3RvLmF1dGhvcik7fVxuICAgICAgICBpZiAocHJvdG8uY2F0ZWdvcmllcykge20uY2F0ZWdvcmllcyA9IHByb3RvLmNhdGVnb3JpZXMubWFwKENhdGVnb3J5LmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8ucG9zdERhdGVUaW1lKSB7bS5wb3N0RGF0ZVRpbWUgPSBuZXcgRGF0ZShwcm90by5wb3N0RGF0ZVRpbWUpO31cbiAgICAgICAgaWYgKHByb3RvLnBvc3RlZERhdGVUaW1lKSB7bS5wb3N0ZWREYXRlVGltZSA9IG5ldyBEYXRlKHByb3RvLnBvc3RlZERhdGVUaW1lKTt9XG4gICAgICAgIGlmIChwcm90by5wYWdlVmlld3MpIHttLnBhZ2VWaWV3cyA9IHBhcnNlSW50KHByb3RvLnBhZ2VWaWV3cywgMTApO31cbiAgICAgICAgaWYgKHByb3RvLmNvbW1lbnRzQ291bnQpIHttLmNvbW1lbnRzQ291bnQgPSBwYXJzZUludChwcm90by5jb21tZW50c0NvdW50LCAxMCk7fVxuICAgICAgICBpZiAocHJvdG8uY3JlYXRlZCkge20uY3JlYXRlZCA9IG5ldyBEYXRlKHByb3RvLmNyZWF0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLnVwZGF0ZWQpIHttLnVwZGF0ZWQgPSBuZXcgRGF0ZShwcm90by51cGRhdGVkKTt9XG4gICAgICAgIGlmIChwcm90by5kZWxldGVkKSB7bS5kZWxldGVkID0gbmV3IERhdGUocHJvdG8uZGVsZXRlZCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkJsb2dQb3N0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW50ZXJuYWxQb3N0SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ludGVybmFsUG9zdElkJ10gPSB0aGlzLmludGVybmFsUG9zdElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNvY2lhbFNlcnZpY2VJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc29jaWFsU2VydmljZUlkJ10gPSB0aGlzLnNvY2lhbFNlcnZpY2VJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idXNpbmVzc0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydidXNpbmVzc0lkJ10gPSB0aGlzLmJ1c2luZXNzSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFydG5lcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0bmVySWQnXSA9IHRoaXMucGFydG5lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncG9zdElkJ10gPSB0aGlzLnBvc3RJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50aXRsZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndGl0bGUnXSA9IHRoaXMudGl0bGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udGVudCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY29udGVudCddID0gdGhpcy5jb250ZW50O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmltYWdlcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5pbWFnZXMgIT09IG51bGwpIHt0b1JldHVyblsnaW1hZ2VzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmltYWdlcyA/ICh0aGlzLmltYWdlcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5pbWFnZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmlkZW8gIT09ICd1bmRlZmluZWQnICYmIHRoaXMudmlkZW8gIT09IG51bGwpIHt0b1JldHVyblsndmlkZW8nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudmlkZW8gPyAodGhpcy52aWRlbyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy52aWRlbzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wZXJtYWxpbmsgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Blcm1hbGluayddID0gdGhpcy5wZXJtYWxpbms7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2l0ZVR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NpdGVUeXBlJ10gPSB0aGlzLnNpdGVUeXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1dGhvciAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hdXRob3IgIT09IG51bGwpIHt0b1JldHVyblsnYXV0aG9yJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmF1dGhvciA/ICh0aGlzLmF1dGhvciBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hdXRob3I7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2F0ZWdvcmllcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jYXRlZ29yaWVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NhdGVnb3JpZXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY2F0ZWdvcmllcyA/ICh0aGlzLmNhdGVnb3JpZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY2F0ZWdvcmllczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50YWdzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0YWdzJ10gPSB0aGlzLnRhZ3M7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZXJyb3IgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Vycm9yJ10gPSB0aGlzLmVycm9yO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3REYXRlVGltZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wb3N0RGF0ZVRpbWUgIT09IG51bGwpIHt0b1JldHVyblsncG9zdERhdGVUaW1lJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnBvc3REYXRlVGltZSA/ICh0aGlzLnBvc3REYXRlVGltZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wb3N0RGF0ZVRpbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucG9zdGVkRGF0ZVRpbWUgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucG9zdGVkRGF0ZVRpbWUgIT09IG51bGwpIHt0b1JldHVyblsncG9zdGVkRGF0ZVRpbWUnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucG9zdGVkRGF0ZVRpbWUgPyAodGhpcy5wb3N0ZWREYXRlVGltZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wb3N0ZWREYXRlVGltZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJJZCddID0gdGhpcy51c2VySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXNlck5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJOYW1lJ10gPSB0aGlzLnVzZXJOYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhZ2VWaWV3cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFnZVZpZXdzJ10gPSB0aGlzLnBhZ2VWaWV3czt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb21tZW50c0NvdW50ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb21tZW50c0NvdW50J10gPSB0aGlzLmNvbW1lbnRzQ291bnQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3JlYXRlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jcmVhdGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NyZWF0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY3JlYXRlZCA/ICh0aGlzLmNyZWF0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY3JlYXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51cGRhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnVwZGF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsndXBkYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy51cGRhdGVkID8gKHRoaXMudXBkYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy51cGRhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlbGV0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZGVsZXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWydkZWxldGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmRlbGV0ZWQgPyAodGhpcy5kZWxldGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmRlbGV0ZWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQmxvZ1ZpZGVvIGltcGxlbWVudHMgaS5CbG9nVmlkZW9JbnRlcmZhY2Uge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBwdWJsaWNVcmw6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEJsb2dWaWRlbyB7XG4gICAgICAgIGxldCBtID0gbmV3IEJsb2dWaWRlbygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQmxvZ1ZpZGVvSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGF0aCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGF0aCddID0gdGhpcy5wYXRoO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnB1YmxpY1VybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncHVibGljVXJsJ10gPSB0aGlzLnB1YmxpY1VybDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeSBpbXBsZW1lbnRzIGkuQ2F0ZWdvcnlJbnRlcmZhY2Uge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ2F0ZWdvcnkge1xuICAgICAgICBsZXQgbSA9IG5ldyBDYXRlZ29yeSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pZCkge20uaWQgPSBwYXJzZUludChwcm90by5pZCwgMTApO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DYXRlZ29yeUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lJ10gPSB0aGlzLm5hbWU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlSZXF1ZXN0IGltcGxlbWVudHMgaS5DYXRlZ29yeVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHNvY2lhbFNlcnZpY2VJZDogc3RyaW5nO1xuICAgIGJ1c2luZXNzSWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENhdGVnb3J5UmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IENhdGVnb3J5UmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ2F0ZWdvcnlSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc29jaWFsU2VydmljZUlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzb2NpYWxTZXJ2aWNlSWQnXSA9IHRoaXMuc29jaWFsU2VydmljZUlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJ1c2luZXNzSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2J1c2luZXNzSWQnXSA9IHRoaXMuYnVzaW5lc3NJZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeVJlc3BvbnNlIGltcGxlbWVudHMgaS5DYXRlZ29yeVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjYXRlZ29yaWVzOiBDYXRlZ29yeVtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ2F0ZWdvcnlSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IENhdGVnb3J5UmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uY2F0ZWdvcmllcykge20uY2F0ZWdvcmllcyA9IHByb3RvLmNhdGVnb3JpZXMubWFwKENhdGVnb3J5LmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNhdGVnb3J5UmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jYXRlZ29yaWVzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNhdGVnb3JpZXMgIT09IG51bGwpIHt0b1JldHVyblsnY2F0ZWdvcmllcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jYXRlZ29yaWVzID8gKHRoaXMuY2F0ZWdvcmllcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jYXRlZ29yaWVzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIERlbGV0ZUJsb2dQb3N0UmVxdWVzdCBpbXBsZW1lbnRzIGkuRGVsZXRlQmxvZ1Bvc3RSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBidXNpbmVzc0lkOiBzdHJpbmc7XG4gICAgaW50ZXJuYWxQb3N0SWQ6IHN0cmluZztcbiAgICBwYXJlbnRQb3N0SWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IERlbGV0ZUJsb2dQb3N0UmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IERlbGV0ZUJsb2dQb3N0UmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRGVsZXRlQmxvZ1Bvc3RSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYnVzaW5lc3NJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYnVzaW5lc3NJZCddID0gdGhpcy5idXNpbmVzc0lkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmludGVybmFsUG9zdElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpbnRlcm5hbFBvc3RJZCddID0gdGhpcy5pbnRlcm5hbFBvc3RJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXJlbnRQb3N0SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BhcmVudFBvc3RJZCddID0gdGhpcy5wYXJlbnRQb3N0SWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgR2V0TXVsdGlCbG9nUG9zdHNSZXF1ZXN0IGltcGxlbWVudHMgaS5HZXRNdWx0aUJsb2dQb3N0c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHBhcnRuZXJJZDogc3RyaW5nO1xuICAgIGJ1c2luZXNzSWQ6IHN0cmluZztcbiAgICBzb2NpYWxTZXJ2aWNlSWQ6IHN0cmluZztcbiAgICBibG9nUG9zdElkOiBzdHJpbmdbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdldE11bHRpQmxvZ1Bvc3RzUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IEdldE11bHRpQmxvZ1Bvc3RzUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0TXVsdGlCbG9nUG9zdHNSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFydG5lcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0bmVySWQnXSA9IHRoaXMucGFydG5lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJ1c2luZXNzSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2J1c2luZXNzSWQnXSA9IHRoaXMuYnVzaW5lc3NJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zb2NpYWxTZXJ2aWNlSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NvY2lhbFNlcnZpY2VJZCddID0gdGhpcy5zb2NpYWxTZXJ2aWNlSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYmxvZ1Bvc3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYmxvZ1Bvc3RJZCddID0gdGhpcy5ibG9nUG9zdElkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdldE11bHRpQmxvZ1Bvc3RzUmVzcG9uc2UgaW1wbGVtZW50cyBpLkdldE11bHRpQmxvZ1Bvc3RzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGJsb2dQb3N0czogQmxvZ1Bvc3RbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdldE11bHRpQmxvZ1Bvc3RzUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBHZXRNdWx0aUJsb2dQb3N0c1Jlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmJsb2dQb3N0cykge20uYmxvZ1Bvc3RzID0gcHJvdG8uYmxvZ1Bvc3RzLm1hcChCbG9nUG9zdC5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5HZXRNdWx0aUJsb2dQb3N0c1Jlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYmxvZ1Bvc3RzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmJsb2dQb3N0cyAhPT0gbnVsbCkge3RvUmV0dXJuWydibG9nUG9zdHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYmxvZ1Bvc3RzID8gKHRoaXMuYmxvZ1Bvc3RzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmJsb2dQb3N0czt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNZWRpYVByb3BlcnR5IGltcGxlbWVudHMgaS5NZWRpYVByb3BlcnR5SW50ZXJmYWNlIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgcHVibGljVXJsOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBNZWRpYVByb3BlcnR5IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTWVkaWFQcm9wZXJ0eSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTWVkaWFQcm9wZXJ0eUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhdGggIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BhdGgnXSA9IHRoaXMucGF0aDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wdWJsaWNVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3B1YmxpY1VybCddID0gdGhpcy5wdWJsaWNVcmw7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHVibGlzaFBvc3RSZXF1ZXN0IGltcGxlbWVudHMgaS5QdWJsaXNoUG9zdFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGJ1c2luZXNzSWQ6IHN0cmluZztcbiAgICBzb2NpYWxTZXJ2aWNlSWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICBpbWFnZXM6IEJsb2dJbWFnZVtdO1xuICAgIHZpZGVvczogQmxvZ1ZpZGVvW107XG4gICAgc2l0ZVR5cGU6IHN0cmluZztcbiAgICBhdXRob3I6IEF1dGhvcjtcbiAgICBjYXRlZ29yaWVzOiBDYXRlZ29yeVtdO1xuICAgIHRhZ3M6IHN0cmluZ1tdO1xuICAgIHBvc3RUYWdzOiBzdHJpbmdbXTtcbiAgICBwb3N0RGF0ZVRpbWU6IERhdGU7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgdXNlck5hbWU6IHN0cmluZztcbiAgICBwYXJ0bmVySWQ6IHN0cmluZztcbiAgICBpbnRlcm5hbFBvc3RJZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUHVibGlzaFBvc3RSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUHVibGlzaFBvc3RSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmltYWdlcykge20uaW1hZ2VzID0gcHJvdG8uaW1hZ2VzLm1hcChCbG9nSW1hZ2UuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by52aWRlb3MpIHttLnZpZGVvcyA9IHByb3RvLnZpZGVvcy5tYXAoQmxvZ1ZpZGVvLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8uYXV0aG9yKSB7bS5hdXRob3IgPSBBdXRob3IuZnJvbVByb3RvKHByb3RvLmF1dGhvcik7fVxuICAgICAgICBpZiAocHJvdG8uY2F0ZWdvcmllcykge20uY2F0ZWdvcmllcyA9IHByb3RvLmNhdGVnb3JpZXMubWFwKENhdGVnb3J5LmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8ucG9zdERhdGVUaW1lKSB7bS5wb3N0RGF0ZVRpbWUgPSBuZXcgRGF0ZShwcm90by5wb3N0RGF0ZVRpbWUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5QdWJsaXNoUG9zdFJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idXNpbmVzc0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydidXNpbmVzc0lkJ10gPSB0aGlzLmJ1c2luZXNzSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc29jaWFsU2VydmljZUlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzb2NpYWxTZXJ2aWNlSWQnXSA9IHRoaXMuc29jaWFsU2VydmljZUlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpdGxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aXRsZSddID0gdGhpcy50aXRsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb250ZW50ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb250ZW50J10gPSB0aGlzLmNvbnRlbnQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW1hZ2VzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmltYWdlcyAhPT0gbnVsbCkge3RvUmV0dXJuWydpbWFnZXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuaW1hZ2VzID8gKHRoaXMuaW1hZ2VzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmltYWdlczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52aWRlb3MgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudmlkZW9zICE9PSBudWxsKSB7dG9SZXR1cm5bJ3ZpZGVvcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy52aWRlb3MgPyAodGhpcy52aWRlb3MgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudmlkZW9zO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNpdGVUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzaXRlVHlwZSddID0gdGhpcy5zaXRlVHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdXRob3IgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYXV0aG9yICE9PSBudWxsKSB7dG9SZXR1cm5bJ2F1dGhvciddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5hdXRob3IgPyAodGhpcy5hdXRob3IgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuYXV0aG9yO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhdGVnb3JpZXMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY2F0ZWdvcmllcyAhPT0gbnVsbCkge3RvUmV0dXJuWydjYXRlZ29yaWVzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNhdGVnb3JpZXMgPyAodGhpcy5jYXRlZ29yaWVzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNhdGVnb3JpZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGFncyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndGFncyddID0gdGhpcy50YWdzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3RUYWdzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwb3N0VGFncyddID0gdGhpcy5wb3N0VGFnczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wb3N0RGF0ZVRpbWUgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucG9zdERhdGVUaW1lICE9PSBudWxsKSB7dG9SZXR1cm5bJ3Bvc3REYXRlVGltZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wb3N0RGF0ZVRpbWUgPyAodGhpcy5wb3N0RGF0ZVRpbWUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucG9zdERhdGVUaW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVzZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndXNlcklkJ10gPSB0aGlzLnVzZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VyTmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndXNlck5hbWUnXSA9IHRoaXMudXNlck5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFydG5lcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0bmVySWQnXSA9IHRoaXMucGFydG5lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmludGVybmFsUG9zdElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpbnRlcm5hbFBvc3RJZCddID0gdGhpcy5pbnRlcm5hbFBvc3RJZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQdWJsaXNoUG9zdFJlc3BvbnNlIGltcGxlbWVudHMgaS5QdWJsaXNoUG9zdFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBpbnRlcm5hbFBvc3RJZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUHVibGlzaFBvc3RSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFB1Ymxpc2hQb3N0UmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlB1Ymxpc2hQb3N0UmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbnRlcm5hbFBvc3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaW50ZXJuYWxQb3N0SWQnXSA9IHRoaXMuaW50ZXJuYWxQb3N0SWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVwb3N0QmxvZ1Bvc3RSZXF1ZXN0IGltcGxlbWVudHMgaS5SZXBvc3RCbG9nUG9zdFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGJsb2dQb3N0SWQ6IHN0cmluZztcbiAgICBhY2NvdW50R3JvdXBJZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUmVwb3N0QmxvZ1Bvc3RSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUmVwb3N0QmxvZ1Bvc3RSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5SZXBvc3RCbG9nUG9zdFJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5ibG9nUG9zdElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydibG9nUG9zdElkJ10gPSB0aGlzLmJsb2dQb3N0SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWNjb3VudEdyb3VwSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FjY291bnRHcm91cElkJ10gPSB0aGlzLmFjY291bnRHcm91cElkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0YXR1c1JlcXVlc3QgaW1wbGVtZW50cyBpLlN0YXR1c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGJ1c2luZXNzSWQ6IHN0cmluZztcbiAgICBhcGlLZXk6IHN0cmluZztcbiAgICBzaXRlVXJsOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBTdGF0dXNSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU3RhdHVzUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuU3RhdHVzUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJ1c2luZXNzSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2J1c2luZXNzSWQnXSA9IHRoaXMuYnVzaW5lc3NJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hcGlLZXkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FwaUtleSddID0gdGhpcy5hcGlLZXk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2l0ZVVybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc2l0ZVVybCddID0gdGhpcy5zaXRlVXJsO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0YXR1c1Jlc3BvbnNlIGltcGxlbWVudHMgaS5TdGF0dXNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgc3RhdHVzOiBib29sZWFuO1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBsb2dvOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU3RhdHVzUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBTdGF0dXNSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuU3RhdHVzUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdGF0dXMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N0YXR1cyddID0gdGhpcy5zdGF0dXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmVyc2lvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndmVyc2lvbiddID0gdGhpcy52ZXJzaW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmxvZ28gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2xvZ28nXSA9IHRoaXMubG9nbzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lJ10gPSB0aGlzLm5hbWU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVXBkYXRlQmxvZ1Bvc3RSZXF1ZXN0IGltcGxlbWVudHMgaS5VcGRhdGVCbG9nUG9zdFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGJsb2dQb3N0OiBCbG9nUG9zdDtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFVwZGF0ZUJsb2dQb3N0UmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFVwZGF0ZUJsb2dQb3N0UmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5ibG9nUG9zdCkge20uYmxvZ1Bvc3QgPSBCbG9nUG9zdC5mcm9tUHJvdG8ocHJvdG8uYmxvZ1Bvc3QpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5VcGRhdGVCbG9nUG9zdFJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5ibG9nUG9zdCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5ibG9nUG9zdCAhPT0gbnVsbCkge3RvUmV0dXJuWydibG9nUG9zdCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5ibG9nUG9zdCA/ICh0aGlzLmJsb2dQb3N0IGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmJsb2dQb3N0O31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
643
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yZHByZXNzLXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NvY2lhbF9wb3N0c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy93b3JkcHJlc3MtcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUc5QyxNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sTUFBTTtJQUlmLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFBQyxDQUFDLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQUM7UUFDOUMsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUEwQjtRQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFD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LElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLE1BQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUFDO1FBQ25LLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLE1BQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUFDO1FBQ25LLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQUM7UUFDakYsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsTUFBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQUM7UUFDbkssSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsVUFBa0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUFD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QUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQUM7UUFDckUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLHFCQUFxQjtJQUc5QixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ3BDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFBQyxDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQUM7UUFDdEUsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUF5QztRQUNqRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxRQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQUM7UUFDL0ssT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWV0YWRhdGFWMiB9IGZyb20gJy4vc29jaWFsLXBvc3QtdjInO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtU3RyaW5nVG9WYWx1ZTxFPihlbnVtUmVmOiBhbnksIHZhbHVlOiBzdHJpbmcpOiBFIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGVudW1SZWZbdmFsdWVdO1xufVxuXG5leHBvcnQgY2xhc3MgQXV0aG9yIGltcGxlbWVudHMgaS5BdXRob3JJbnRlcmZhY2Uge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQXV0aG9yIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQXV0aG9yKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmlkKSB7bS5pZCA9IHBhcnNlSW50KHByb3RvLmlkLCAxMCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkF1dGhvckludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lJ10gPSB0aGlzLm5hbWU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXV0aG9yc1JlcXVlc3QgaW1wbGVtZW50cyBpLkF1dGhvcnNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBidXNpbmVzc0lkOiBzdHJpbmc7XG4gICAgc29jaWFsU2VydmljZUlkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBdXRob3JzUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IEF1dGhvcnNSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BdXRob3JzUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJ1c2luZXNzSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2J1c2luZXNzSWQnXSA9IHRoaXMuYnVzaW5lc3NJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zb2NpYWxTZXJ2aWNlSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NvY2lhbFNlcnZpY2VJZCddID0gdGhpcy5zb2NpYWxTZXJ2aWNlSWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXV0aG9yc1Jlc3BvbnNlIGltcGxlbWVudHMgaS5BdXRob3JzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGF1dGhvcnM6IEF1dGhvcltdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQXV0aG9yc1Jlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQXV0aG9yc1Jlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmF1dGhvcnMpIHttLmF1dGhvcnMgPSBwcm90by5hdXRob3JzLm1hcChBdXRob3IuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXV0aG9yc1Jlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV0aG9ycyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hdXRob3JzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2F1dGhvcnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXV0aG9ycyA/ICh0aGlzLmF1dGhvcnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuYXV0aG9yczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBCbG9nSW1hZ2UgaW1wbGVtZW50cyBpLkJsb2dJbWFnZUludGVyZmFjZSB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHB1YmxpY1VybDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQmxvZ0ltYWdlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQmxvZ0ltYWdlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5CbG9nSW1hZ2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXRoICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXRoJ10gPSB0aGlzLnBhdGg7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHVibGljVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwdWJsaWNVcmwnXSA9IHRoaXMucHVibGljVXJsO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEJsb2dQb3N0IGltcGxlbWVudHMgaS5CbG9nUG9zdEludGVyZmFjZSB7XG4gICAgaW50ZXJuYWxQb3N0SWQ6IHN0cmluZztcbiAgICBzb2NpYWxTZXJ2aWNlSWQ6IHN0cmluZztcbiAgICBidXNpbmVzc0lkOiBzdHJpbmc7XG4gICAgcGFydG5lcklkOiBzdHJpbmc7XG4gICAgcG9zdElkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgaW1hZ2VzOiBNZWRpYVByb3BlcnR5W107XG4gICAgdmlkZW86IE1lZGlhUHJvcGVydHlbXTtcbiAgICBwZXJtYWxpbms6IHN0cmluZztcbiAgICBzaXRlVHlwZTogc3RyaW5nO1xuICAgIGF1dGhvcjogQXV0aG9yO1xuICAgIGNhdGVnb3JpZXM6IENhdGVnb3J5W107XG4gICAgdGFnczogc3RyaW5nW107XG4gICAgZXJyb3I6IHN0cmluZztcbiAgICBwb3N0RGF0ZVRpbWU6IERhdGU7XG4gICAgcG9zdGVkRGF0ZVRpbWU6IERhdGU7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgdXNlck5hbWU6IHN0cmluZztcbiAgICBwYWdlVmlld3M6IG51bWJlcjtcbiAgICBjb21tZW50c0NvdW50OiBudW1iZXI7XG4gICAgY3JlYXRlZDogRGF0ZTtcbiAgICB1cGRhdGVkOiBEYXRlO1xuICAgIGRlbGV0ZWQ6IERhdGU7XG4gICAgbWV0YWRhdGE6IE1ldGFkYXRhVjJbXTtcbiAgICBjcmVhdGVkQnk6IHN0cmluZztcbiAgICB1cGRhdGVkQnk6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEJsb2dQb3N0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQmxvZ1Bvc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uaW1hZ2VzKSB7bS5pbWFnZXMgPSBwcm90by5pbWFnZXMubWFwKE1lZGlhUHJvcGVydHkuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by52aWRlbykge20udmlkZW8gPSBwcm90by52aWRlby5tYXAoTWVkaWFQcm9wZXJ0eS5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLmF1dGhvcikge20uYXV0aG9yID0gQXV0aG9yLmZyb21Qcm90byhwcm90by5hdXRob3IpO31cbiAgICAgICAgaWYgKHByb3RvLmNhdGVnb3JpZXMpIHttLmNhdGVnb3JpZXMgPSBwcm90by5jYXRlZ29yaWVzLm1hcChDYXRlZ29yeS5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnBvc3REYXRlVGltZSkge20ucG9zdERhdGVUaW1lID0gbmV3IERhdGUocHJvdG8ucG9zdERhdGVUaW1lKTt9XG4gICAgICAgIGlmIChwcm90by5wb3N0ZWREYXRlVGltZSkge20ucG9zdGVkRGF0ZVRpbWUgPSBuZXcgRGF0ZShwcm90by5wb3N0ZWREYXRlVGltZSk7fVxuICAgICAgICBpZiAocHJvdG8ucGFnZVZpZXdzKSB7bS5wYWdlVmlld3MgPSBwYXJzZUludChwcm90by5wYWdlVmlld3MsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by5jb21tZW50c0NvdW50KSB7bS5jb21tZW50c0NvdW50ID0gcGFyc2VJbnQocHJvdG8uY29tbWVudHNDb3VudCwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLmNyZWF0ZWQpIHttLmNyZWF0ZWQgPSBuZXcgRGF0ZShwcm90by5jcmVhdGVkKTt9XG4gICAgICAgIGlmIChwcm90by51cGRhdGVkKSB7bS51cGRhdGVkID0gbmV3IERhdGUocHJvdG8udXBkYXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8uZGVsZXRlZCkge20uZGVsZXRlZCA9IG5ldyBEYXRlKHByb3RvLmRlbGV0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLm1ldGFkYXRhKSB7bS5tZXRhZGF0YSA9IHByb3RvLm1ldGFkYXRhLm1hcChNZXRhZGF0YVYyLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkJsb2dQb3N0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW50ZXJuYWxQb3N0SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ludGVybmFsUG9zdElkJ10gPSB0aGlzLmludGVybmFsUG9zdElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNvY2lhbFNlcnZpY2VJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc29jaWFsU2VydmljZUlkJ10gPSB0aGlzLnNvY2lhbFNlcnZpY2VJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idXNpbmVzc0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydidXNpbmVzc0lkJ10gPSB0aGlzLmJ1c2luZXNzSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFydG5lcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0bmVySWQnXSA9IHRoaXMucGFydG5lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncG9zdElkJ10gPSB0aGlzLnBvc3RJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50aXRsZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndGl0bGUnXSA9IHRoaXMudGl0bGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udGVudCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY29udGVudCddID0gdGhpcy5jb250ZW50O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmltYWdlcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5pbWFnZXMgIT09IG51bGwpIHt0b1JldHVyblsnaW1hZ2VzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmltYWdlcyA/ICh0aGlzLmltYWdlcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5pbWFnZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmlkZW8gIT09ICd1bmRlZmluZWQnICYmIHRoaXMudmlkZW8gIT09IG51bGwpIHt0b1JldHVyblsndmlkZW8nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudmlkZW8gPyAodGhpcy52aWRlbyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy52aWRlbzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wZXJtYWxpbmsgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Blcm1hbGluayddID0gdGhpcy5wZXJtYWxpbms7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2l0ZVR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NpdGVUeXBlJ10gPSB0aGlzLnNpdGVUeXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1dGhvciAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hdXRob3IgIT09IG51bGwpIHt0b1JldHVyblsnYXV0aG9yJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmF1dGhvciA/ICh0aGlzLmF1dGhvciBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hdXRob3I7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2F0ZWdvcmllcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jYXRlZ29yaWVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NhdGVnb3JpZXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY2F0ZWdvcmllcyA/ICh0aGlzLmNhdGVnb3JpZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY2F0ZWdvcmllczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50YWdzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0YWdzJ10gPSB0aGlzLnRhZ3M7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZXJyb3IgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Vycm9yJ10gPSB0aGlzLmVycm9yO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3REYXRlVGltZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wb3N0RGF0ZVRpbWUgIT09IG51bGwpIHt0b1JldHVyblsncG9zdERhdGVUaW1lJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnBvc3REYXRlVGltZSA/ICh0aGlzLnBvc3REYXRlVGltZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wb3N0RGF0ZVRpbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucG9zdGVkRGF0ZVRpbWUgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucG9zdGVkRGF0ZVRpbWUgIT09IG51bGwpIHt0b1JldHVyblsncG9zdGVkRGF0ZVRpbWUnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucG9zdGVkRGF0ZVRpbWUgPyAodGhpcy5wb3N0ZWREYXRlVGltZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wb3N0ZWREYXRlVGltZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJJZCddID0gdGhpcy51c2VySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXNlck5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJOYW1lJ10gPSB0aGlzLnVzZXJOYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhZ2VWaWV3cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFnZVZpZXdzJ10gPSB0aGlzLnBhZ2VWaWV3czt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb21tZW50c0NvdW50ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb21tZW50c0NvdW50J10gPSB0aGlzLmNvbW1lbnRzQ291bnQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3JlYXRlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jcmVhdGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NyZWF0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY3JlYXRlZCA/ICh0aGlzLmNyZWF0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY3JlYXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51cGRhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnVwZGF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsndXBkYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy51cGRhdGVkID8gKHRoaXMudXBkYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy51cGRhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlbGV0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZGVsZXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWydkZWxldGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmRlbGV0ZWQgPyAodGhpcy5kZWxldGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmRlbGV0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWV0YWRhdGEgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubWV0YWRhdGEgIT09IG51bGwpIHt0b1JldHVyblsnbWV0YWRhdGEnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubWV0YWRhdGEgPyAodGhpcy5tZXRhZGF0YSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5tZXRhZGF0YTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdGVkQnkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NyZWF0ZWRCeSddID0gdGhpcy5jcmVhdGVkQnk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXBkYXRlZEJ5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1cGRhdGVkQnknXSA9IHRoaXMudXBkYXRlZEJ5O31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEJsb2dWaWRlbyBpbXBsZW1lbnRzIGkuQmxvZ1ZpZGVvSW50ZXJmYWNlIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgcHVibGljVXJsOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBCbG9nVmlkZW8ge1xuICAgICAgICBsZXQgbSA9IG5ldyBCbG9nVmlkZW8oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkJsb2dWaWRlb0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhdGggIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BhdGgnXSA9IHRoaXMucGF0aDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wdWJsaWNVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3B1YmxpY1VybCddID0gdGhpcy5wdWJsaWNVcmw7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnkgaW1wbGVtZW50cyBpLkNhdGVnb3J5SW50ZXJmYWNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENhdGVnb3J5IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ2F0ZWdvcnkoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uaWQpIHttLmlkID0gcGFyc2VJbnQocHJvdG8uaWQsIDEwKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ2F0ZWdvcnlJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbmFtZSddID0gdGhpcy5uYW1lO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhdGVnb3J5UmVxdWVzdCBpbXBsZW1lbnRzIGkuQ2F0ZWdvcnlSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBzb2NpYWxTZXJ2aWNlSWQ6IHN0cmluZztcbiAgICBidXNpbmVzc0lkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDYXRlZ29yeVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBDYXRlZ29yeVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNhdGVnb3J5UmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNvY2lhbFNlcnZpY2VJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc29jaWFsU2VydmljZUlkJ10gPSB0aGlzLnNvY2lhbFNlcnZpY2VJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idXNpbmVzc0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydidXNpbmVzc0lkJ10gPSB0aGlzLmJ1c2luZXNzSWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlSZXNwb25zZSBpbXBsZW1lbnRzIGkuQ2F0ZWdvcnlSZXNwb25zZUludGVyZmFjZSB7XG4gICAgY2F0ZWdvcmllczogQ2F0ZWdvcnlbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENhdGVnb3J5UmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBDYXRlZ29yeVJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmNhdGVnb3JpZXMpIHttLmNhdGVnb3JpZXMgPSBwcm90by5jYXRlZ29yaWVzLm1hcChDYXRlZ29yeS5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DYXRlZ29yeVJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2F0ZWdvcmllcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jYXRlZ29yaWVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NhdGVnb3JpZXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY2F0ZWdvcmllcyA/ICh0aGlzLmNhdGVnb3JpZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY2F0ZWdvcmllczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVCbG9nUG9zdFJlcXVlc3QgaW1wbGVtZW50cyBpLkRlbGV0ZUJsb2dQb3N0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgYnVzaW5lc3NJZDogc3RyaW5nO1xuICAgIGludGVybmFsUG9zdElkOiBzdHJpbmc7XG4gICAgcGFyZW50UG9zdElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBEZWxldGVCbG9nUG9zdFJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBEZWxldGVCbG9nUG9zdFJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkRlbGV0ZUJsb2dQb3N0UmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJ1c2luZXNzSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2J1c2luZXNzSWQnXSA9IHRoaXMuYnVzaW5lc3NJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbnRlcm5hbFBvc3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaW50ZXJuYWxQb3N0SWQnXSA9IHRoaXMuaW50ZXJuYWxQb3N0SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFyZW50UG9zdElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJlbnRQb3N0SWQnXSA9IHRoaXMucGFyZW50UG9zdElkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdldE11bHRpQmxvZ1Bvc3RzUmVxdWVzdCBpbXBsZW1lbnRzIGkuR2V0TXVsdGlCbG9nUG9zdHNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBwYXJ0bmVySWQ6IHN0cmluZztcbiAgICBidXNpbmVzc0lkOiBzdHJpbmc7XG4gICAgc29jaWFsU2VydmljZUlkOiBzdHJpbmc7XG4gICAgYmxvZ1Bvc3RJZDogc3RyaW5nW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBHZXRNdWx0aUJsb2dQb3N0c1JlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBHZXRNdWx0aUJsb2dQb3N0c1JlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkdldE11bHRpQmxvZ1Bvc3RzUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhcnRuZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFydG5lcklkJ10gPSB0aGlzLnBhcnRuZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idXNpbmVzc0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydidXNpbmVzc0lkJ10gPSB0aGlzLmJ1c2luZXNzSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc29jaWFsU2VydmljZUlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzb2NpYWxTZXJ2aWNlSWQnXSA9IHRoaXMuc29jaWFsU2VydmljZUlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJsb2dQb3N0SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Jsb2dQb3N0SWQnXSA9IHRoaXMuYmxvZ1Bvc3RJZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRNdWx0aUJsb2dQb3N0c1Jlc3BvbnNlIGltcGxlbWVudHMgaS5HZXRNdWx0aUJsb2dQb3N0c1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBibG9nUG9zdHM6IEJsb2dQb3N0W107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBHZXRNdWx0aUJsb2dQb3N0c1Jlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgR2V0TXVsdGlCbG9nUG9zdHNSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5ibG9nUG9zdHMpIHttLmJsb2dQb3N0cyA9IHByb3RvLmJsb2dQb3N0cy5tYXAoQmxvZ1Bvc3QuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0TXVsdGlCbG9nUG9zdHNSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJsb2dQb3N0cyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5ibG9nUG9zdHMgIT09IG51bGwpIHt0b1JldHVyblsnYmxvZ1Bvc3RzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmJsb2dQb3N0cyA/ICh0aGlzLmJsb2dQb3N0cyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5ibG9nUG9zdHM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWVkaWFQcm9wZXJ0eSBpbXBsZW1lbnRzIGkuTWVkaWFQcm9wZXJ0eUludGVyZmFjZSB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHB1YmxpY1VybDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTWVkaWFQcm9wZXJ0eSB7XG4gICAgICAgIGxldCBtID0gbmV3IE1lZGlhUHJvcGVydHkoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLk1lZGlhUHJvcGVydHlJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXRoICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXRoJ10gPSB0aGlzLnBhdGg7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHVibGljVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwdWJsaWNVcmwnXSA9IHRoaXMucHVibGljVXJsO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFB1Ymxpc2hQb3N0UmVxdWVzdCBpbXBsZW1lbnRzIGkuUHVibGlzaFBvc3RSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBidXNpbmVzc0lkOiBzdHJpbmc7XG4gICAgc29jaWFsU2VydmljZUlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgaW1hZ2VzOiBCbG9nSW1hZ2VbXTtcbiAgICB2aWRlb3M6IEJsb2dWaWRlb1tdO1xuICAgIHNpdGVUeXBlOiBzdHJpbmc7XG4gICAgYXV0aG9yOiBBdXRob3I7XG4gICAgY2F0ZWdvcmllczogQ2F0ZWdvcnlbXTtcbiAgICB0YWdzOiBzdHJpbmdbXTtcbiAgICBwb3N0VGFnczogc3RyaW5nW107XG4gICAgcG9zdERhdGVUaW1lOiBEYXRlO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIHVzZXJOYW1lOiBzdHJpbmc7XG4gICAgcGFydG5lcklkOiBzdHJpbmc7XG4gICAgaW50ZXJuYWxQb3N0SWQ6IHN0cmluZztcbiAgICBtZXRhZGF0YTogTWV0YWRhdGFWMltdO1xuICAgIGNyZWF0ZWRCeTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUHVibGlzaFBvc3RSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUHVibGlzaFBvc3RSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmltYWdlcykge20uaW1hZ2VzID0gcHJvdG8uaW1hZ2VzLm1hcChCbG9nSW1hZ2UuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by52aWRlb3MpIHttLnZpZGVvcyA9IHByb3RvLnZpZGVvcy5tYXAoQmxvZ1ZpZGVvLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8uYXV0aG9yKSB7bS5hdXRob3IgPSBBdXRob3IuZnJvbVByb3RvKHByb3RvLmF1dGhvcik7fVxuICAgICAgICBpZiAocHJvdG8uY2F0ZWdvcmllcykge20uY2F0ZWdvcmllcyA9IHByb3RvLmNhdGVnb3JpZXMubWFwKENhdGVnb3J5LmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8ucG9zdERhdGVUaW1lKSB7bS5wb3N0RGF0ZVRpbWUgPSBuZXcgRGF0ZShwcm90by5wb3N0RGF0ZVRpbWUpO31cbiAgICAgICAgaWYgKHByb3RvLm1ldGFkYXRhKSB7bS5tZXRhZGF0YSA9IHByb3RvLm1ldGFkYXRhLm1hcChNZXRhZGF0YVYyLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlB1Ymxpc2hQb3N0UmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJ1c2luZXNzSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2J1c2luZXNzSWQnXSA9IHRoaXMuYnVzaW5lc3NJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zb2NpYWxTZXJ2aWNlSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NvY2lhbFNlcnZpY2VJZCddID0gdGhpcy5zb2NpYWxTZXJ2aWNlSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGl0bGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RpdGxlJ10gPSB0aGlzLnRpdGxlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbnRlbnQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NvbnRlbnQnXSA9IHRoaXMuY29udGVudDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbWFnZXMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuaW1hZ2VzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2ltYWdlcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5pbWFnZXMgPyAodGhpcy5pbWFnZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuaW1hZ2VzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZpZGVvcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy52aWRlb3MgIT09IG51bGwpIHt0b1JldHVyblsndmlkZW9zJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnZpZGVvcyA/ICh0aGlzLnZpZGVvcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy52aWRlb3M7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2l0ZVR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NpdGVUeXBlJ10gPSB0aGlzLnNpdGVUeXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1dGhvciAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hdXRob3IgIT09IG51bGwpIHt0b1JldHVyblsnYXV0aG9yJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmF1dGhvciA/ICh0aGlzLmF1dGhvciBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hdXRob3I7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2F0ZWdvcmllcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jYXRlZ29yaWVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NhdGVnb3JpZXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY2F0ZWdvcmllcyA/ICh0aGlzLmNhdGVnb3JpZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY2F0ZWdvcmllczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50YWdzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0YWdzJ10gPSB0aGlzLnRhZ3M7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucG9zdFRhZ3MgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Bvc3RUYWdzJ10gPSB0aGlzLnBvc3RUYWdzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3REYXRlVGltZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wb3N0RGF0ZVRpbWUgIT09IG51bGwpIHt0b1JldHVyblsncG9zdERhdGVUaW1lJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnBvc3REYXRlVGltZSA/ICh0aGlzLnBvc3REYXRlVGltZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wb3N0RGF0ZVRpbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXNlcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1c2VySWQnXSA9IHRoaXMudXNlcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVzZXJOYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1c2VyTmFtZSddID0gdGhpcy51c2VyTmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXJ0bmVySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BhcnRuZXJJZCddID0gdGhpcy5wYXJ0bmVySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW50ZXJuYWxQb3N0SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ludGVybmFsUG9zdElkJ10gPSB0aGlzLmludGVybmFsUG9zdElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1ldGFkYXRhICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm1ldGFkYXRhICE9PSBudWxsKSB7dG9SZXR1cm5bJ21ldGFkYXRhJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm1ldGFkYXRhID8gKHRoaXMubWV0YWRhdGEgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubWV0YWRhdGE7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3JlYXRlZEJ5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjcmVhdGVkQnknXSA9IHRoaXMuY3JlYXRlZEJ5O31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFB1Ymxpc2hQb3N0UmVzcG9uc2UgaW1wbGVtZW50cyBpLlB1Ymxpc2hQb3N0UmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGludGVybmFsUG9zdElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBQdWJsaXNoUG9zdFJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUHVibGlzaFBvc3RSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUHVibGlzaFBvc3RSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmludGVybmFsUG9zdElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpbnRlcm5hbFBvc3RJZCddID0gdGhpcy5pbnRlcm5hbFBvc3RJZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXBvc3RCbG9nUG9zdFJlcXVlc3QgaW1wbGVtZW50cyBpLlJlcG9zdEJsb2dQb3N0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgYmxvZ1Bvc3RJZDogc3RyaW5nO1xuICAgIGFjY291bnRHcm91cElkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBSZXBvc3RCbG9nUG9zdFJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBSZXBvc3RCbG9nUG9zdFJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlJlcG9zdEJsb2dQb3N0UmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJsb2dQb3N0SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Jsb2dQb3N0SWQnXSA9IHRoaXMuYmxvZ1Bvc3RJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hY2NvdW50R3JvdXBJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYWNjb3VudEdyb3VwSWQnXSA9IHRoaXMuYWNjb3VudEdyb3VwSWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3RhdHVzUmVxdWVzdCBpbXBsZW1lbnRzIGkuU3RhdHVzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgYnVzaW5lc3NJZDogc3RyaW5nO1xuICAgIGFwaUtleTogc3RyaW5nO1xuICAgIHNpdGVVcmw6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFN0YXR1c1JlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBTdGF0dXNSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5TdGF0dXNSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYnVzaW5lc3NJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYnVzaW5lc3NJZCddID0gdGhpcy5idXNpbmVzc0lkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFwaUtleSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYXBpS2V5J10gPSB0aGlzLmFwaUtleTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zaXRlVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzaXRlVXJsJ10gPSB0aGlzLnNpdGVVcmw7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3RhdHVzUmVzcG9uc2UgaW1wbGVtZW50cyBpLlN0YXR1c1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBzdGF0dXM6IGJvb2xlYW47XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIGxvZ286IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBTdGF0dXNSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFN0YXR1c1Jlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5TdGF0dXNSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN0YXR1cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3RhdHVzJ10gPSB0aGlzLnN0YXR1czt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52ZXJzaW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2ZXJzaW9uJ10gPSB0aGlzLnZlcnNpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubG9nbyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbG9nbyddID0gdGhpcy5sb2dvO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25hbWUnXSA9IHRoaXMubmFtZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVCbG9nUG9zdFJlcXVlc3QgaW1wbGVtZW50cyBpLlVwZGF0ZUJsb2dQb3N0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgYmxvZ1Bvc3Q6IEJsb2dQb3N0O1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVXBkYXRlQmxvZ1Bvc3RSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVXBkYXRlQmxvZ1Bvc3RSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmJsb2dQb3N0KSB7bS5ibG9nUG9zdCA9IEJsb2dQb3N0LmZyb21Qcm90byhwcm90by5ibG9nUG9zdCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlVwZGF0ZUJsb2dQb3N0UmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJsb2dQb3N0ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmJsb2dQb3N0ICE9PSBudWxsKSB7dG9SZXR1cm5bJ2Jsb2dQb3N0J10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmJsb2dQb3N0ID8gKHRoaXMuYmxvZ1Bvc3QgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuYmxvZ1Bvc3Q7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=
@@ -0,0 +1,45 @@
1
+ // *********************************
2
+ // Code generated by sdkgen
3
+ // DO NOT EDIT!.
4
+ //
5
+ // API Service.
6
+ // *********************************
7
+ import { Injectable } from '@angular/core';
8
+ import { ListCommentsRequest, ListCommentsResponse, PostReplyRequest, PostReplyResponse, } from './objects/';
9
+ import { HttpHeaders, HttpClient } from '@angular/common/http';
10
+ import { inject } from '@angular/core';
11
+ import { HostService } from '../_generated/host.service';
12
+ import { map } from 'rxjs/operators';
13
+ import * as i0 from "@angular/core";
14
+ export class SocialCommentsApiService {
15
+ constructor() {
16
+ this.hostService = inject(HostService);
17
+ this.http = inject(HttpClient);
18
+ this._host = this.hostService.hostWithScheme;
19
+ }
20
+ apiOptions() {
21
+ return {
22
+ headers: new HttpHeaders({
23
+ 'Content-Type': 'application/json'
24
+ }),
25
+ withCredentials: true
26
+ };
27
+ }
28
+ listComments(r) {
29
+ const request = (r.toApiJson) ? r : new ListCommentsRequest(r);
30
+ return this.http.post(this._host + "/socialposts.v2.SocialComments/ListComments", request.toApiJson(), this.apiOptions())
31
+ .pipe(map(resp => ListCommentsResponse.fromProto(resp)));
32
+ }
33
+ postReply(r) {
34
+ const request = (r.toApiJson) ? r : new PostReplyRequest(r);
35
+ return this.http.post(this._host + "/socialposts.v2.SocialComments/PostReply", request.toApiJson(), this.apiOptions())
36
+ .pipe(map(resp => PostReplyResponse.fromProto(resp)));
37
+ }
38
+ }
39
+ SocialCommentsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocialCommentsApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
40
+ SocialCommentsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocialCommentsApiService, providedIn: 'root' });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocialCommentsApiService, decorators: [{
42
+ type: Injectable,
43
+ args: [{ providedIn: 'root' }]
44
+ }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLWNvbW1lbnRzLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc29jaWFsX3Bvc3RzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9zb2NpYWwtY29tbWVudHMuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0MsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ3hCLE1BQU0sWUFBWSxDQUFDO0FBT3BCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUduQyxNQUFNLE9BQU8sd0JBQXdCO0lBRHJDO1FBRXFCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0tBMEJuRDtJQXhCVyxVQUFVO1FBQ2QsT0FBTztZQUNILE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDckIsY0FBYyxFQUFFLGtCQUFrQjthQUNyQyxDQUFDO1lBQ0YsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBcUQ7UUFDOUQsTUFBTSxPQUFPLEdBQUcsQ0FBdUIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBdUIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWdDLElBQUksQ0FBQyxLQUFLLEdBQUcsNkNBQTZDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNuSixJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3BELENBQUM7SUFDVixDQUFDO0lBQ0QsU0FBUyxDQUFDLENBQStDO1FBQ3JELE1BQU0sT0FBTyxHQUFHLENBQW9CLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQW9CLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUE2QixJQUFJLENBQUMsS0FBSyxHQUFHLDBDQUEwQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDN0ksSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNqRCxDQUFDO0lBQ1YsQ0FBQzs7c0hBM0JRLHdCQUF3QjswSEFBeEIsd0JBQXdCLGNBRFosTUFBTTs0RkFDbEIsd0JBQXdCO2tCQURwQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gQVBJIFNlcnZpY2UuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgICAgICBMaXN0Q29tbWVudHNSZXF1ZXN0LFxuICAgICAgICBMaXN0Q29tbWVudHNSZXNwb25zZSxcbiAgICAgICAgUG9zdFJlcGx5UmVxdWVzdCxcbiAgICAgICAgUG9zdFJlcGx5UmVzcG9uc2UsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgTGlzdENvbW1lbnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdENvbW1lbnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFBvc3RSZXBseVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFBvc3RSZXBseVJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2ludGVyZmFjZXMvJztcbmltcG9ydCB7SHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIb3N0U2VydmljZX0gZnJvbSAnLi4vX2dlbmVyYXRlZC9ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFNvY2lhbENvbW1lbnRzQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0U2VydmljZSA9IGluamVjdChIb3N0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbGlzdENvbW1lbnRzKHI6IExpc3RDb21tZW50c1JlcXVlc3QgfCBMaXN0Q29tbWVudHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0Q29tbWVudHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdENvbW1lbnRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0Q29tbWVudHNSZXF1ZXN0PnIpIDogbmV3IExpc3RDb21tZW50c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0Q29tbWVudHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL3NvY2lhbHBvc3RzLnYyLlNvY2lhbENvbW1lbnRzL0xpc3RDb21tZW50c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RDb21tZW50c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHBvc3RSZXBseShyOiBQb3N0UmVwbHlSZXF1ZXN0IHwgUG9zdFJlcGx5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8UG9zdFJlcGx5UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFBvc3RSZXBseVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8UG9zdFJlcGx5UmVxdWVzdD5yKSA6IG5ldyBQb3N0UmVwbHlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UG9zdFJlcGx5UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9zb2NpYWxwb3N0cy52Mi5Tb2NpYWxDb21tZW50cy9Qb3N0UmVwbHlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBQb3N0UmVwbHlSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
@@ -5,7 +5,7 @@
5
5
  // API Service.
6
6
  // *********************************
7
7
  import { Injectable } from '@angular/core';
8
- import { CreateContentRequest, CreateContentResponse, } from './objects/';
8
+ import { CreateContentRequest, CreateContentResponse, DeleteContentRequest, DeleteContentResponse, ListContentRequest, ListContentResponse, UpdateContentRequest, UpdateContentResponse, } from './objects/';
9
9
  import { HttpHeaders, HttpClient } from '@angular/common/http';
10
10
  import { inject } from '@angular/core';
11
11
  import { HostService } from '../_generated/host.service';
@@ -30,6 +30,21 @@ export class SocialContentApiService {
30
30
  return this.http.post(this._host + "/socialposts.v1.SocialContent/Create", request.toApiJson(), this.apiOptions())
31
31
  .pipe(map(resp => CreateContentResponse.fromProto(resp)));
32
32
  }
33
+ listPosts(r) {
34
+ const request = (r.toApiJson) ? r : new ListContentRequest(r);
35
+ return this.http.post(this._host + "/socialposts.v1.SocialContent/ListPosts", request.toApiJson(), this.apiOptions())
36
+ .pipe(map(resp => ListContentResponse.fromProto(resp)));
37
+ }
38
+ update(r) {
39
+ const request = (r.toApiJson) ? r : new UpdateContentRequest(r);
40
+ return this.http.post(this._host + "/socialposts.v1.SocialContent/Update", request.toApiJson(), this.apiOptions())
41
+ .pipe(map(resp => UpdateContentResponse.fromProto(resp)));
42
+ }
43
+ delete(r) {
44
+ const request = (r.toApiJson) ? r : new DeleteContentRequest(r);
45
+ return this.http.post(this._host + "/socialposts.v1.SocialContent/Delete", request.toApiJson(), this.apiOptions())
46
+ .pipe(map(resp => DeleteContentResponse.fromProto(resp)));
47
+ }
33
48
  }
34
49
  SocialContentApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocialContentApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
50
  SocialContentApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocialContentApiService, providedIn: 'root' });
@@ -37,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
37
52
  type: Injectable,
38
53
  args: [{ providedIn: 'root' }]
39
54
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLWNvbnRlbnQuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zb2NpYWxfcG9zdHNfc2RrL3NyYy9saWIvX2ludGVybmFsL3NvY2lhbC1jb250ZW50LmFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixlQUFlO0FBQ2Ysb0NBQW9DO0FBQ3BDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNDLG9CQUFvQixFQUNwQixxQkFBcUIsR0FDNUIsTUFBTSxZQUFZLENBQUM7QUFLcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBR25DLE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFcUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7S0FtQm5EO0lBakJXLFVBQVU7UUFDZCxPQUFPO1lBQ0gsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2FBQ3JDLENBQUM7WUFDRixlQUFlLEVBQUUsSUFBSTtTQUN4QixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxDQUF1RDtRQUMxRCxNQUFNLE9BQU8sR0FBRyxDQUF3QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUF3QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBaUMsSUFBSSxDQUFDLEtBQUssR0FBRyxzQ0FBc0MsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzdJLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDckQsQ0FBQztJQUNWLENBQUM7O3FIQXBCUSx1QkFBdUI7eUhBQXZCLHVCQUF1QixjQURYLE1BQU07NEZBQ2xCLHVCQUF1QjtrQkFEbkMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQ3JlYXRlQ29udGVudFJlcXVlc3QsXG4gICAgICAgIENyZWF0ZUNvbnRlbnRSZXNwb25zZSxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBDcmVhdGVDb250ZW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQ29udGVudFJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2ludGVyZmFjZXMvJztcbmltcG9ydCB7SHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIb3N0U2VydmljZX0gZnJvbSAnLi4vX2dlbmVyYXRlZC9ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFNvY2lhbENvbnRlbnRBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RTZXJ2aWNlID0gaW5qZWN0KEhvc3RTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjcmVhdGUocjogQ3JlYXRlQ29udGVudFJlcXVlc3QgfCBDcmVhdGVDb250ZW50UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlQ29udGVudFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVDb250ZW50UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVDb250ZW50UmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVDb250ZW50UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUNvbnRlbnRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL3NvY2lhbHBvc3RzLnYxLlNvY2lhbENvbnRlbnQvQ3JlYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlQ29udGVudFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIFxufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLWNvbnRlbnQuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zb2NpYWxfcG9zdHNfc2RrL3NyYy9saWIvX2ludGVybmFsL3NvY2lhbC1jb250ZW50LmFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixlQUFlO0FBQ2Ysb0NBQW9DO0FBQ3BDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNDLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixxQkFBcUIsR0FDNUIsTUFBTSxZQUFZLENBQUM7QUFXcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBR25DLE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFcUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7S0F3Q25EO0lBdENXLFVBQVU7UUFDZCxPQUFPO1lBQ0gsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2FBQ3JDLENBQUM7WUFDRixlQUFlLEVBQUUsSUFBSTtTQUN4QixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxDQUF1RDtRQUMxRCxNQUFNLE9BQU8sR0FBRyxDQUF3QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUF3QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBaUMsSUFBSSxDQUFDLEtBQUssR0FBRyxzQ0FBc0MsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzdJLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDckQsQ0FBQztJQUNWLENBQUM7SUFDRCxTQUFTLENBQUMsQ0FBbUQ7UUFDekQsTUFBTSxPQUFPLEdBQUcsQ0FBc0IsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBc0IsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQStCLElBQUksQ0FBQyxLQUFLLEdBQUcseUNBQXlDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUM5SSxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ25ELENBQUM7SUFDVixDQUFDO0lBQ0QsTUFBTSxDQUFDLENBQXVEO1FBQzFELE1BQU0sT0FBTyxHQUFHLENBQXdCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQXdCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFpQyxJQUFJLENBQUMsS0FBSyxHQUFHLHNDQUFzQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDN0ksSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNyRCxDQUFDO0lBQ1YsQ0FBQztJQUNELE1BQU0sQ0FBQyxDQUF1RDtRQUMxRCxNQUFNLE9BQU8sR0FBRyxDQUF3QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUF3QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBaUMsSUFBSSxDQUFDLEtBQUssR0FBRyxzQ0FBc0MsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzdJLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDckQsQ0FBQztJQUNWLENBQUM7O3FIQXpDUSx1QkFBdUI7eUhBQXZCLHVCQUF1QixjQURYLE1BQU07NEZBQ2xCLHVCQUF1QjtrQkFEbkMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQ3JlYXRlQ29udGVudFJlcXVlc3QsXG4gICAgICAgIENyZWF0ZUNvbnRlbnRSZXNwb25zZSxcbiAgICAgICAgRGVsZXRlQ29udGVudFJlcXVlc3QsXG4gICAgICAgIERlbGV0ZUNvbnRlbnRSZXNwb25zZSxcbiAgICAgICAgTGlzdENvbnRlbnRSZXF1ZXN0LFxuICAgICAgICBMaXN0Q29udGVudFJlc3BvbnNlLFxuICAgICAgICBVcGRhdGVDb250ZW50UmVxdWVzdCxcbiAgICAgICAgVXBkYXRlQ29udGVudFJlc3BvbnNlLFxufSBmcm9tICcuL29iamVjdHMvJztcbmltcG9ydCB7XG4gICAgICAgIENyZWF0ZUNvbnRlbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVDb250ZW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZUNvbnRlbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVDb250ZW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RDb250ZW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdENvbnRlbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlQ29udGVudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZUNvbnRlbnRSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBTb2NpYWxDb250ZW50QXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0U2VydmljZSA9IGluamVjdChIb3N0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY3JlYXRlKHI6IENyZWF0ZUNvbnRlbnRSZXF1ZXN0IHwgQ3JlYXRlQ29udGVudFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZUNvbnRlbnRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlQ29udGVudFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlQ29udGVudFJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlQ29udGVudFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVDb250ZW50UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9zb2NpYWxwb3N0cy52MS5Tb2NpYWxDb250ZW50L0NyZWF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZUNvbnRlbnRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0UG9zdHMocjogTGlzdENvbnRlbnRSZXF1ZXN0IHwgTGlzdENvbnRlbnRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0Q29udGVudFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0Q29udGVudFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdENvbnRlbnRSZXF1ZXN0PnIpIDogbmV3IExpc3RDb250ZW50UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RDb250ZW50UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9zb2NpYWxwb3N0cy52MS5Tb2NpYWxDb250ZW50L0xpc3RQb3N0c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RDb250ZW50UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlKHI6IFVwZGF0ZUNvbnRlbnRSZXF1ZXN0IHwgVXBkYXRlQ29udGVudFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFVwZGF0ZUNvbnRlbnRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlQ29udGVudFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlQ29udGVudFJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlQ29udGVudFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVDb250ZW50UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9zb2NpYWxwb3N0cy52MS5Tb2NpYWxDb250ZW50L1VwZGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFVwZGF0ZUNvbnRlbnRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkZWxldGUocjogRGVsZXRlQ29udGVudFJlcXVlc3QgfCBEZWxldGVDb250ZW50UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8RGVsZXRlQ29udGVudFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVDb250ZW50UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVDb250ZW50UmVxdWVzdD5yKSA6IG5ldyBEZWxldGVDb250ZW50UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PERlbGV0ZUNvbnRlbnRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL3NvY2lhbHBvc3RzLnYxLlNvY2lhbENvbnRlbnQvRGVsZXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gRGVsZXRlQ29udGVudFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIFxufVxuIl19
@@ -5,7 +5,7 @@
5
5
  // API Service.
6
6
  // *********************************
7
7
  import { Injectable } from '@angular/core';
8
- import { CreateImageRequest, CreateImageResponse, GetMediaMetadataFromURLRequest, GetMediaMetadataFromURLResponse, GetXSubscriptionTypeRequest, GetXSubscriptionTypeResponse, ImageBlob, ImageUrl, ListPostableSocialServiceRequest, ListPostableSocialServiceResponse, RepostSocialPostRequest, SocialPostRequest, SocialPostResponse, UpdateSocialPostRequest, UpdateSocialPostResponse, } from './objects/';
8
+ import { CreateImageRequest, CreateImageResponse, GetMediaMetadataFromURLRequest, GetMediaMetadataFromURLResponse, GetXSubscriptionTypeRequest, GetXSubscriptionTypeResponse, ImageBlob, ImageUrl, ListPostableSocialServiceRequest, ListPostableSocialServiceResponse, ListSocialConnectionsByBusinessesRequest, ListSocialConnectionsByBusinessesResponse, RepostSocialPostRequest, SocialPostRequest, SocialPostResponse, UpdateSocialPostRequest, UpdateSocialPostResponse, } from './objects/';
9
9
  import { HttpHeaders, HttpClient } from '@angular/common/http';
10
10
  import { inject } from '@angular/core';
11
11
  import { HostService } from '../_generated/host.service';
@@ -69,6 +69,11 @@ export class SocialPostsV2ApiService {
69
69
  return this.http.post(this._host + "/socialposts.v2.SocialPostsV2/GetXSubscriptionType", request.toApiJson(), this.apiOptions())
70
70
  .pipe(map(resp => GetXSubscriptionTypeResponse.fromProto(resp)));
71
71
  }
72
+ listSocialConnectionsByBusinesses(r) {
73
+ const request = (r.toApiJson) ? r : new ListSocialConnectionsByBusinessesRequest(r);
74
+ return this.http.post(this._host + "/socialposts.v2.SocialPostsV2/ListSocialConnectionsByBusinesses", request.toApiJson(), this.apiOptions())
75
+ .pipe(map(resp => ListSocialConnectionsByBusinessesResponse.fromProto(resp)));
76
+ }
72
77
  }
73
78
  SocialPostsV2ApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocialPostsV2ApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
74
79
  SocialPostsV2ApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocialPostsV2ApiService, providedIn: 'root' });
@@ -76,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
76
81
  type: Injectable,
77
82
  args: [{ providedIn: 'root' }]
78
83
  }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLXBvc3RzLXYyLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc29jaWFsX3Bvc3RzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9zb2NpYWwtcG9zdHMtdjIuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0Msa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQiw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsU0FBUyxFQUNULFFBQVEsRUFDUixnQ0FBZ0MsRUFDaEMsaUNBQWlDLEVBQ2pDLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2Qix3QkFBd0IsR0FDL0IsTUFBTSxZQUFZLENBQUM7QUFrQnBCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUduQyxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRXFCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0tBd0VuRDtJQXRFVyxVQUFVO1FBQ2QsT0FBTztZQUNILE9BQU8sRUFB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QUE4QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTJDLElBQUksQ0FBQyxLQUFLLEdBQUcsdURBQXVELEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN4SyxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsK0JBQStCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQy9ELENBQUM7SUFDVixDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsQ0FBcUU7UUFDdEYsTUFBTSxPQUFPLEdBQUcsQ0FBK0IsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBK0IsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXdDLElBQUksQ0FBQyxLQUFLLEdBQUcsb0RBQW9ELEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNsSyxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsNEJBQTRCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzVELENBQUM7SUFDVixDQUFDOztxSEF6RVEsdUJBQXVCO3lIQUF2Qix1QkFBdUIsY0FEWCxNQUFNOzRGQUNsQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBBUEkgU2VydmljZS5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgICAgIENyZWF0ZUltYWdlUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlSW1hZ2VSZXNwb25zZSxcbiAgICAgICAgR2V0TWVkaWFNZXRhZGF0YUZyb21VUkxSZXF1ZXN0LFxuICAgICAgICBHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlc3BvbnNlLFxuICAgICAgICBHZXRYU3Vic2NyaXB0aW9uVHlwZVJlcXVlc3QsXG4gICAgICAgIEdldFhTdWJzY3JpcHRpb25UeXBlUmVzcG9uc2UsXG4gICAgICAgIEltYWdlQmxvYixcbiAgICAgICAgSW1hZ2VVcmwsXG4gICAgICAgIExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0LFxuICAgICAgICBMaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlUmVzcG9uc2UsXG4gICAgICAgIFJlcG9zdFNvY2lhbFBvc3RSZXF1ZXN0LFxuICAgICAgICBTb2NpYWxQb3N0UmVxdWVzdCxcbiAgICAgICAgU29jaWFsUG9zdFJlc3BvbnNlLFxuICAgICAgICBVcGRhdGVTb2NpYWxQb3N0UmVxdWVzdCxcbiAgICAgICAgVXBkYXRlU29jaWFsUG9zdFJlc3BvbnNlLFxufSBmcm9tICcuL29iamVjdHMvJztcbmltcG9ydCB7XG4gICAgICAgIENyZWF0ZUltYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlSW1hZ2VSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TWVkaWFNZXRhZGF0YUZyb21VUkxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRYU3Vic2NyaXB0aW9uVHlwZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFhTdWJzY3JpcHRpb25UeXBlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEltYWdlQmxvYkludGVyZmFjZSxcbiAgICAgICAgSW1hZ2VVcmxJbnRlcmZhY2UsXG4gICAgICAgIExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFJlcG9zdFNvY2lhbFBvc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTb2NpYWxQb3N0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU29jaWFsUG9zdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVTb2NpYWxQb3N0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlU29jaWFsUG9zdFJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2ludGVyZmFjZXMvJztcbmltcG9ydCB7SHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIb3N0U2VydmljZX0gZnJvbSAnLi4vX2dlbmVyYXRlZC9ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFNvY2lhbFBvc3RzVjJBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RTZXJ2aWNlID0gaW5qZWN0KEhvc3RTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzY2hlZHVsZVNvY2lhbFBvc3RzKHI6IFNvY2lhbFBvc3RSZXF1ZXN0IHwgU29jaWFsUG9zdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFNvY2lhbFBvc3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U29jaWFsUG9zdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U29jaWFsUG9zdFJlcXVlc3Q+cikgOiBuZXcgU29jaWFsUG9zdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTb2NpYWxQb3N0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9zb2NpYWxwb3N0cy52Mi5Tb2NpYWxQb3N0c1YyL1NjaGVkdWxlU29jaWFsUG9zdHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBTb2NpYWxQb3N0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlU29jaWFsUG9zdHMocjogVXBkYXRlU29jaWFsUG9zdFJlcXVlc3QgfCBVcGRhdGVTb2NpYWxQb3N0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBkYXRlU29jaWFsUG9zdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVTb2NpYWxQb3N0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVTb2NpYWxQb3N0UmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVTb2NpYWxQb3N0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFVwZGF0ZVNvY2lhbFBvc3RSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL3NvY2lhbHBvc3RzLnYyLlNvY2lhbFBvc3RzVjIvVXBkYXRlU29jaWFsUG9zdHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBVcGRhdGVTb2NpYWxQb3N0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlSW1hZ2VzKHI6IENyZWF0ZUltYWdlUmVxdWVzdCB8IENyZWF0ZUltYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlSW1hZ2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlSW1hZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZUltYWdlUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVJbWFnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVJbWFnZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvc29jaWFscG9zdHMudjIuU29jaWFsUG9zdHNWMi9DcmVhdGVJbWFnZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVJbWFnZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldEltYWdlQnlVcmwocjogSW1hZ2VVcmwgfCBJbWFnZVVybEludGVyZmFjZSk6IE9ic2VydmFibGU8SW1hZ2VCbG9iPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxJbWFnZVVybD5yKS50b0FwaUpzb24pID8gKDxJbWFnZVVybD5yKSA6IG5ldyBJbWFnZVVybChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEltYWdlQmxvYkludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL3NvY2lhbHBvc3RzLnYyLlNvY2lhbFBvc3RzVjIvR2V0SW1hZ2VCeVVybFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEltYWdlQmxvYi5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZW5lcmF0ZVZhcmlhdGlvbnMocjogSW1hZ2VVcmwgfCBJbWFnZVVybEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlSW1hZ2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SW1hZ2VVcmw+cikudG9BcGlKc29uKSA/ICg8SW1hZ2VVcmw+cikgOiBuZXcgSW1hZ2VVcmwocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVJbWFnZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvc29jaWFscG9zdHMudjIuU29jaWFsUG9zdHNWMi9HZW5lcmF0ZVZhcmlhdGlvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVJbWFnZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHJlcG9zdFNvY2lhbFBvc3QocjogUmVwb3N0U29jaWFsUG9zdFJlcXVlc3QgfCBSZXBvc3RTb2NpYWxQb3N0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxSZXBvc3RTb2NpYWxQb3N0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxSZXBvc3RTb2NpYWxQb3N0UmVxdWVzdD5yKSA6IG5ldyBSZXBvc3RTb2NpYWxQb3N0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9zb2NpYWxwb3N0cy52Mi5Tb2NpYWxQb3N0c1YyL1JlcG9zdFNvY2lhbFBvc3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VzKHI6IExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0IHwgTGlzdFBvc3RhYmxlU29jaWFsU2VydmljZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFBvc3RhYmxlU29jaWFsU2VydmljZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFBvc3RhYmxlU29jaWFsU2VydmljZVJlcXVlc3Q+cikgOiBuZXcgTGlzdFBvc3RhYmxlU29jaWFsU2VydmljZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9zb2NpYWxwb3N0cy52Mi5Tb2NpYWxQb3N0c1YyL0xpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFBvc3RhYmxlU29jaWFsU2VydmljZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE1lZGlhTWV0YWRhdGFGcm9tVXJsKHI6IEdldE1lZGlhTWV0YWRhdGFGcm9tVVJMUmVxdWVzdCB8IEdldE1lZGlhTWV0YWRhdGFGcm9tVVJMUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TWVkaWFNZXRhZGF0YUZyb21VUkxSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TWVkaWFNZXRhZGF0YUZyb21VUkxSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE1lZGlhTWV0YWRhdGFGcm9tVVJMUmVxdWVzdD5yKSA6IG5ldyBHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvc29jaWFscG9zdHMudjIuU29jaWFsUG9zdHNWMi9HZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE1lZGlhTWV0YWRhdGFGcm9tVVJMUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0WFN1YnNjcmlwdGlvblR5cGUocjogR2V0WFN1YnNjcmlwdGlvblR5cGVSZXF1ZXN0IHwgR2V0WFN1YnNjcmlwdGlvblR5cGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRYU3Vic2NyaXB0aW9uVHlwZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRYU3Vic2NyaXB0aW9uVHlwZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0WFN1YnNjcmlwdGlvblR5cGVSZXF1ZXN0PnIpIDogbmV3IEdldFhTdWJzY3JpcHRpb25UeXBlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFhTdWJzY3JpcHRpb25UeXBlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9zb2NpYWxwb3N0cy52Mi5Tb2NpYWxQb3N0c1YyL0dldFhTdWJzY3JpcHRpb25UeXBlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0WFN1YnNjcmlwdGlvblR5cGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLXBvc3RzLXYyLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc29jaWFsX3Bvc3RzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9zb2NpYWwtcG9zdHMtdjIuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0Msa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQiw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsU0FBUyxFQUNULFFBQVEsRUFDUixnQ0FBZ0MsRUFDaEMsaUNBQWlDLEVBQ2pDLHdDQUF3QyxFQUN4Qyx5Q0FBeUMsRUFDekMsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixHQUMvQixNQUFNLFlBQVksQ0FBQztBQW9CcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBR25DLE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFcUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7S0ErRW5EO0lBN0VXLFVBQVU7UUFDZCxPQUFPO1lBQ0gsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2FBQ3JDLENBQUM7WUFDRixlQUFlLEVBQUUsSUFBSTtTQUN4QixDQUFDO0lBQ04sQ0FBQztJQUVELG1CQUFtQixDQUFDLENBQWlEO1FBQ2pFLE1BQU0sT0FBTyxHQUFHLENBQXFCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQXFCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUE4QixJQUFJLENBQUMsS0FBSyxHQUFHLG1EQUFtRCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDdkosSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNsRCxDQUFDO0lBQ1YsQ0FBQztJQUNELGlCQUFpQixDQUFDLENBQTZEO1FBQzNFLE1BQU0sT0FBTyxHQUFHLENBQTJCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQTJCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFvQyxJQUFJLENBQUMsS0FBSyxHQUFHLGlEQUFpRCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDM0osSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN4RCxDQUFDO0lBQ1YsQ0FBQztJQUNELFlBQVksQ0FBQyxDQUFtRDtRQUM1RCxNQUFNLE9BQU8sR0FBRyxDQUFzQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFzQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBK0IsSUFBSSxDQUFDLEtBQUssR0FBRyw0Q0FBNEMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2pKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDbkQsQ0FBQztJQUNWLENBQUM7SUFDRCxhQUFhLENBQUMsQ0FBK0I7UUFDekMsTUFBTSxPQUFPLEdBQUcsQ0FBWSxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFZLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBcUIsSUFBSSxDQUFDLEtBQUssR0FBRyw2Q0FBNkMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3hJLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3pDLENBQUM7SUFDVixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsQ0FBK0I7UUFDOUMsTUFBTSxPQUFPLEdBQUcsQ0FBWSxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFZLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBK0IsSUFBSSxDQUFDLEtBQUssR0FBRyxrREFBa0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3ZKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDbkQsQ0FBQztJQUNWLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxDQUE2RDtRQUMxRSxNQUFNLE9BQU8sR0FBRyxDQUEyQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUEyQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLGdEQUFnRCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQ2pLLENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxDQUErRTtRQUN0RyxNQUFNLE9BQU8sR0FBRyxDQUFvQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFvQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNkMsSUFBSSxDQUFDLEtBQUssR0FBRywwREFBMEQsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzdLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDakUsQ0FBQztJQUNWLENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxDQUEyRTtRQUMvRixNQUFNLE9BQU8sR0FBRyxDQUFrQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFrQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksOEJBQThCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMkMsSUFBSSxDQUFDLEtBQUssR0FBRyx1REFBdUQsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3hLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDL0QsQ0FBQztJQUNWLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxDQUFxRTtRQUN0RixNQUFNLE9BQU8sR0FBRyxDQUErQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUErQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0MsSUFBSSxDQUFDLEtBQUssR0FBRyxvREFBb0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2xLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDNUQsQ0FBQztJQUNWLENBQUM7SUFDRCxpQ0FBaUMsQ0FBQyxDQUErRjtRQUM3SCxNQUFNLE9BQU8sR0FBRyxDQUE0QyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE0QyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksd0NBQXdDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBcUQsSUFBSSxDQUFDLEtBQUssR0FBRyxpRUFBaUUsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzVMLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekUsQ0FBQztJQUNWLENBQUM7O3FIQWhGUSx1QkFBdUI7eUhBQXZCLHVCQUF1QixjQURYLE1BQU07NEZBQ2xCLHVCQUF1QjtrQkFEbkMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQ3JlYXRlSW1hZ2VSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVJbWFnZVJlc3BvbnNlLFxuICAgICAgICBHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlcXVlc3QsXG4gICAgICAgIEdldE1lZGlhTWV0YWRhdGFGcm9tVVJMUmVzcG9uc2UsXG4gICAgICAgIEdldFhTdWJzY3JpcHRpb25UeXBlUmVxdWVzdCxcbiAgICAgICAgR2V0WFN1YnNjcmlwdGlvblR5cGVSZXNwb25zZSxcbiAgICAgICAgSW1hZ2VCbG9iLFxuICAgICAgICBJbWFnZVVybCxcbiAgICAgICAgTGlzdFBvc3RhYmxlU29jaWFsU2VydmljZVJlcXVlc3QsXG4gICAgICAgIExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXNwb25zZSxcbiAgICAgICAgTGlzdFNvY2lhbENvbm5lY3Rpb25zQnlCdXNpbmVzc2VzUmVxdWVzdCxcbiAgICAgICAgTGlzdFNvY2lhbENvbm5lY3Rpb25zQnlCdXNpbmVzc2VzUmVzcG9uc2UsXG4gICAgICAgIFJlcG9zdFNvY2lhbFBvc3RSZXF1ZXN0LFxuICAgICAgICBTb2NpYWxQb3N0UmVxdWVzdCxcbiAgICAgICAgU29jaWFsUG9zdFJlc3BvbnNlLFxuICAgICAgICBVcGRhdGVTb2NpYWxQb3N0UmVxdWVzdCxcbiAgICAgICAgVXBkYXRlU29jaWFsUG9zdFJlc3BvbnNlLFxufSBmcm9tICcuL29iamVjdHMvJztcbmltcG9ydCB7XG4gICAgICAgIENyZWF0ZUltYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlSW1hZ2VSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TWVkaWFNZXRhZGF0YUZyb21VUkxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRYU3Vic2NyaXB0aW9uVHlwZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFhTdWJzY3JpcHRpb25UeXBlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEltYWdlQmxvYkludGVyZmFjZSxcbiAgICAgICAgSW1hZ2VVcmxJbnRlcmZhY2UsXG4gICAgICAgIExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RTb2NpYWxDb25uZWN0aW9uc0J5QnVzaW5lc3Nlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RTb2NpYWxDb25uZWN0aW9uc0J5QnVzaW5lc3Nlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBSZXBvc3RTb2NpYWxQb3N0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU29jaWFsUG9zdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNvY2lhbFBvc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlU29jaWFsUG9zdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZVNvY2lhbFBvc3RSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBTb2NpYWxQb3N0c1YyQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0U2VydmljZSA9IGluamVjdChIb3N0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc2NoZWR1bGVTb2NpYWxQb3N0cyhyOiBTb2NpYWxQb3N0UmVxdWVzdCB8IFNvY2lhbFBvc3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTb2NpYWxQb3N0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNvY2lhbFBvc3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNvY2lhbFBvc3RSZXF1ZXN0PnIpIDogbmV3IFNvY2lhbFBvc3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U29jaWFsUG9zdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvc29jaWFscG9zdHMudjIuU29jaWFsUG9zdHNWMi9TY2hlZHVsZVNvY2lhbFBvc3RzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gU29jaWFsUG9zdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZVNvY2lhbFBvc3RzKHI6IFVwZGF0ZVNvY2lhbFBvc3RSZXF1ZXN0IHwgVXBkYXRlU29jaWFsUG9zdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFVwZGF0ZVNvY2lhbFBvc3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlU29jaWFsUG9zdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlU29jaWFsUG9zdFJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlU29jaWFsUG9zdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVTb2NpYWxQb3N0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9zb2NpYWxwb3N0cy52Mi5Tb2NpYWxQb3N0c1YyL1VwZGF0ZVNvY2lhbFBvc3RzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlU29jaWFsUG9zdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZUltYWdlcyhyOiBDcmVhdGVJbWFnZVJlcXVlc3QgfCBDcmVhdGVJbWFnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZUltYWdlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZUltYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVJbWFnZVJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlSW1hZ2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlSW1hZ2VSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL3NvY2lhbHBvc3RzLnYyLlNvY2lhbFBvc3RzVjIvQ3JlYXRlSW1hZ2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlSW1hZ2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRJbWFnZUJ5VXJsKHI6IEltYWdlVXJsIHwgSW1hZ2VVcmxJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEltYWdlQmxvYj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SW1hZ2VVcmw+cikudG9BcGlKc29uKSA/ICg8SW1hZ2VVcmw+cikgOiBuZXcgSW1hZ2VVcmwocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJbWFnZUJsb2JJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9zb2NpYWxwb3N0cy52Mi5Tb2NpYWxQb3N0c1YyL0dldEltYWdlQnlVcmxcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBJbWFnZUJsb2IuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2VuZXJhdGVWYXJpYXRpb25zKHI6IEltYWdlVXJsIHwgSW1hZ2VVcmxJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZUltYWdlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEltYWdlVXJsPnIpLnRvQXBpSnNvbikgPyAoPEltYWdlVXJsPnIpIDogbmV3IEltYWdlVXJsKHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlSW1hZ2VSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL3NvY2lhbHBvc3RzLnYyLlNvY2lhbFBvc3RzVjIvR2VuZXJhdGVWYXJpYXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlSW1hZ2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICByZXBvc3RTb2NpYWxQb3N0KHI6IFJlcG9zdFNvY2lhbFBvc3RSZXF1ZXN0IHwgUmVwb3N0U29jaWFsUG9zdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8UmVwb3N0U29jaWFsUG9zdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8UmVwb3N0U29jaWFsUG9zdFJlcXVlc3Q+cikgOiBuZXcgUmVwb3N0U29jaWFsUG9zdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvc29jaWFscG9zdHMudjIuU29jaWFsUG9zdHNWMi9SZXBvc3RTb2NpYWxQb3N0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlcyhyOiBMaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlUmVxdWVzdCB8IExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0PnIpIDogbmV3IExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFBvc3RhYmxlU29jaWFsU2VydmljZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvc29jaWFscG9zdHMudjIuU29jaWFsUG9zdHNWMi9MaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNZWRpYU1ldGFkYXRhRnJvbVVybChyOiBHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlcXVlc3QgfCBHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE1lZGlhTWV0YWRhdGFGcm9tVVJMUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE1lZGlhTWV0YWRhdGFGcm9tVVJMUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlcXVlc3Q+cikgOiBuZXcgR2V0TWVkaWFNZXRhZGF0YUZyb21VUkxSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TWVkaWFNZXRhZGF0YUZyb21VUkxSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL3NvY2lhbHBvc3RzLnYyLlNvY2lhbFBvc3RzVjIvR2V0TWVkaWFNZXRhZGF0YUZyb21VUkxcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFhTdWJzY3JpcHRpb25UeXBlKHI6IEdldFhTdWJzY3JpcHRpb25UeXBlUmVxdWVzdCB8IEdldFhTdWJzY3JpcHRpb25UeXBlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0WFN1YnNjcmlwdGlvblR5cGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0WFN1YnNjcmlwdGlvblR5cGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFhTdWJzY3JpcHRpb25UeXBlUmVxdWVzdD5yKSA6IG5ldyBHZXRYU3Vic2NyaXB0aW9uVHlwZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRYU3Vic2NyaXB0aW9uVHlwZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvc29jaWFscG9zdHMudjIuU29jaWFsUG9zdHNWMi9HZXRYU3Vic2NyaXB0aW9uVHlwZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFhTdWJzY3JpcHRpb25UeXBlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdFNvY2lhbENvbm5lY3Rpb25zQnlCdXNpbmVzc2VzKHI6IExpc3RTb2NpYWxDb25uZWN0aW9uc0J5QnVzaW5lc3Nlc1JlcXVlc3QgfCBMaXN0U29jaWFsQ29ubmVjdGlvbnNCeUJ1c2luZXNzZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0U29jaWFsQ29ubmVjdGlvbnNCeUJ1c2luZXNzZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFNvY2lhbENvbm5lY3Rpb25zQnlCdXNpbmVzc2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0U29jaWFsQ29ubmVjdGlvbnNCeUJ1c2luZXNzZXNSZXF1ZXN0PnIpIDogbmV3IExpc3RTb2NpYWxDb25uZWN0aW9uc0J5QnVzaW5lc3Nlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0U29jaWFsQ29ubmVjdGlvbnNCeUJ1c2luZXNzZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL3NvY2lhbHBvc3RzLnYyLlNvY2lhbFBvc3RzVjIvTGlzdFNvY2lhbENvbm5lY3Rpb25zQnlCdXNpbmVzc2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFNvY2lhbENvbm5lY3Rpb25zQnlCdXNpbmVzc2VzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgXG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { GetMediaMetadataFromURLRequest, ImageUrl, ListPostableSocialServiceRequest, RepostSocialPostRequest } from './_internal/objects/api-v2';
2
+ import { GetMediaMetadataFromURLRequest, ImageUrl, ListPostableSocialServiceRequest, ListSocialConnectionsByBusinessesRequest, RepostSocialPostRequest } from './_internal/objects/api-v2';
3
3
  import { SocialPostsV2ApiService } from './_internal/social-posts-v2.api.service';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./_internal/social-posts-v2.api.service";
@@ -36,6 +36,10 @@ export class SocialPostsV2Service {
36
36
  getXSubscriptionType(req) {
37
37
  return this.socialpostV2ApiService.getXSubscriptionType(req);
38
38
  }
39
+ listSocialConnectionsByBusinesses(accountGroupIds) {
40
+ const req = new ListSocialConnectionsByBusinessesRequest({ accountGroupIds });
41
+ return this.socialpostV2ApiService.listSocialConnectionsByBusinesses(req);
42
+ }
39
43
  }
40
44
  SocialPostsV2Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocialPostsV2Service, deps: [{ token: i1.SocialPostsV2ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
41
45
  SocialPostsV2Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocialPostsV2Service, providedIn: 'root' });
@@ -43,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
43
47
  type: Injectable,
44
48
  args: [{ providedIn: 'root' }]
45
49
  }], ctorParameters: function () { return [{ type: i1.SocialPostsV2ApiService }]; } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLXBvc3QtdjIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvY2lhbF9wb3N0c19zZGsvc3JjL2xpYi9zb2NpYWwtcG9zdC12Mi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUVrQiw4QkFBOEIsRUFJbkQsUUFBUSxFQUFFLGdDQUFnQyxFQUMxQyx1QkFBdUIsRUFFMUIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBU2xGLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsWUFBb0Isc0JBQThDO1FBQTlDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7SUFDbEUsQ0FBQztJQUVELG9CQUFvQixDQUFDLFVBQXNDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3RFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUM7UUFDekMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxhQUFhLENBQUMsR0FBVTtRQUNwQixNQUFNLFVBQVUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFBO1FBQzFDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsR0FBVTtRQUN6QixNQUFNLFVBQVUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFBO1FBQzFDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxZQUFvQixFQUFFLFVBQWtCO1FBQ3JELE1BQU0sYUFBYSxHQUFHLElBQUksdUJBQXVCLENBQUMsRUFBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO1FBQzVHLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxVQUFrQjtRQUN6QyxNQUFNLGdDQUFnQyxHQUFHLElBQUksZ0NBQWdDLENBQUMsRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztRQUN4RyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQywwQkFBMEIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxHQUFXO1FBQy9CLE1BQU0sVUFBVSxHQUFHLElBQUksOEJBQThCLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBZ0M7UUFDL0MsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQzs7a0hBdkNNLG9CQUFvQjtzSEFBcEIsb0JBQW9CLGNBRlAsTUFBTTs0RkFFbkIsb0JBQW9CO2tCQUZoQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIENyZWF0ZUltYWdlUmVxdWVzdCxcbiAgICBDcmVhdGVJbWFnZVJlc3BvbnNlLCBHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlcXVlc3QsIEdldE1lZGlhTWV0YWRhdGFGcm9tVVJMUmVzcG9uc2UsXG4gICAgR2V0WFN1YnNjcmlwdGlvblR5cGVSZXF1ZXN0LFxuICAgIEdldFhTdWJzY3JpcHRpb25UeXBlUmVzcG9uc2UsXG4gICAgSW1hZ2VCbG9iLFxuICAgIEltYWdlVXJsLCBMaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlUmVxdWVzdCwgTGlzdFBvc3RhYmxlU29jaWFsU2VydmljZVJlc3BvbnNlLFxuICAgIFJlcG9zdFNvY2lhbFBvc3RSZXF1ZXN0LFxuICAgIFNvY2lhbFBvc3RSZXNwb25zZVxufSBmcm9tICcuL19pbnRlcm5hbC9vYmplY3RzL2FwaS12Mic7XG5pbXBvcnQgeyBTb2NpYWxQb3N0c1YyQXBpU2VydmljZSB9IGZyb20gJy4vX2ludGVybmFsL3NvY2lhbC1wb3N0cy12Mi5hcGkuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIENyZWF0ZUltYWdlUmVxdWVzdEludGVyZmFjZSwgTGlzdFBvc3RhYmxlU29jaWFsU2VydmljZVJlcXVlc3RJbnRlcmZhY2UsIExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXNwb25zZUludGVyZmFjZSxcbiAgICBNZXRhZGF0YVYySW50ZXJmYWNlLCBTb2NpYWxQb3N0UmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9faW50ZXJuYWwvaW50ZXJmYWNlcydcbmltcG9ydCB7SHR0cFJlc3BvbnNlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcblxuZXhwb3J0IGNsYXNzIFNvY2lhbFBvc3RzVjJTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNvY2lhbHBvc3RWMkFwaVNlcnZpY2U6U29jaWFsUG9zdHNWMkFwaVNlcnZpY2UgICkge1xuICAgIH1cblxuICAgIHNjaGVkdWxlU29jaWFsUG9zdFYyKHNvY2lhbFBvc3Q6IFNvY2lhbFBvc3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTb2NpYWxQb3N0UmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc29jaWFscG9zdFYyQXBpU2VydmljZS5zY2hlZHVsZVNvY2lhbFBvc3RzKHNvY2lhbFBvc3QpXG4gICAgfVxuXG4gICAgY3JlYXRlSW1hZ2UoaW1hZ2U6Q3JlYXRlSW1hZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVJbWFnZVJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvY2lhbHBvc3RWMkFwaVNlcnZpY2UuY3JlYXRlSW1hZ2VzKGltYWdlKTtcbiAgICB9XG5cbiAgICBnZXRJbWFnZUJ5VXJsKHVybDpzdHJpbmcpOk9ic2VydmFibGU8SW1hZ2VCbG9iPiB7XG4gICAgICAgIGNvbnN0IHVybFJlcXVlc3QgPSBuZXcgSW1hZ2VVcmwoe3VybDp1cmx9KVxuICAgICAgICByZXR1cm4gdGhpcy5zb2NpYWxwb3N0VjJBcGlTZXJ2aWNlLmdldEltYWdlQnlVcmwodXJsUmVxdWVzdCk7XG4gICAgfVxuXG4gICAgZ2VuZXJhdGVWYXJpYXRpb25zKHVybDpzdHJpbmcpOiBPYnNlcnZhYmxlPENyZWF0ZUltYWdlUmVzcG9uc2U+ICB7XG4gICAgICAgIGNvbnN0IHVybFJlcXVlc3QgPSBuZXcgSW1hZ2VVcmwoe3VybDp1cmx9KVxuICAgICAgICByZXR1cm4gdGhpcy5zb2NpYWxwb3N0VjJBcGlTZXJ2aWNlLmdlbmVyYXRlVmFyaWF0aW9ucyh1cmxSZXF1ZXN0KTtcbiAgICB9XG5cbiAgICByZXBvc3RTb2NpYWxQb3N0KHNvY2lhbFBvc3RJZDogc3RyaW5nLCBidXNpbmVzc0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXBvc3RSZXF1ZXN0ID0gbmV3IFJlcG9zdFNvY2lhbFBvc3RSZXF1ZXN0KHtzb2NpYWxQb3N0SWQ6IHNvY2lhbFBvc3RJZCwgYWNjb3VudEdyb3VwSWQ6IGJ1c2luZXNzSWR9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc29jaWFscG9zdFYyQXBpU2VydmljZS5yZXBvc3RTb2NpYWxQb3N0KHJlcG9zdFJlcXVlc3QpO1xuICAgIH1cblxuICAgIGxpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VzKGJ1c2luZXNzSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TGlzdFBvc3RhYmxlU29jaWFsU2VydmljZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IGxpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0ID0gbmV3IExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0KHtidXNpbmVzc0lkOiBidXNpbmVzc0lkfSk7XG4gICAgICAgIHJldHVybiB0aGlzLnNvY2lhbHBvc3RWMkFwaVNlcnZpY2UubGlzdFBvc3RhYmxlU29jaWFsU2VydmljZXMobGlzdFBvc3RhYmxlU29jaWFsU2VydmljZVJlcXVlc3QpO1xuICAgIH1cblxuICAgIGdldE1lZGlhTWV0YWRhdGFGcm9tVXJsKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxHZXRNZWRpYU1ldGFkYXRhRnJvbVVSTFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHVybFJlcXVlc3QgPSBuZXcgR2V0TWVkaWFNZXRhZGF0YUZyb21VUkxSZXF1ZXN0KHt1cmw6IHVybH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5zb2NpYWxwb3N0VjJBcGlTZXJ2aWNlLmdldE1lZGlhTWV0YWRhdGFGcm9tVXJsKHVybFJlcXVlc3QpO1xuICAgIH1cblxuICAgIGdldFhTdWJzY3JpcHRpb25UeXBlKHJlcTogR2V0WFN1YnNjcmlwdGlvblR5cGVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxHZXRYU3Vic2NyaXB0aW9uVHlwZVJlc3BvbnNlPiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc29jaWFscG9zdFYyQXBpU2VydmljZS5nZXRYU3Vic2NyaXB0aW9uVHlwZShyZXEpO1xuICAgICAgfVxuXG59XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLXBvc3QtdjIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvY2lhbF9wb3N0c19zZGsvc3JjL2xpYi9zb2NpYWwtcG9zdC12Mi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUVrQiw4QkFBOEIsRUFJbkQsUUFBUSxFQUFFLGdDQUFnQyxFQUMxQyx3Q0FBd0MsRUFFeEMsdUJBQXVCLEVBRTFCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQVNsRixNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO0lBQ2xFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxVQUFzQztRQUN2RCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN0RSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWlDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQVU7UUFDcEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxRQUFRLENBQUMsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQTtRQUMxQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQVU7UUFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxRQUFRLENBQUMsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQTtRQUMxQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsWUFBb0IsRUFBRSxVQUFrQjtRQUNyRCxNQUFNLGFBQWEsR0FBRyxJQUFJLHVCQUF1QixDQUFDLEVBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztRQUM1RyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsMEJBQTBCLENBQUMsVUFBa0I7UUFDekMsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLGdDQUFnQyxDQUFDLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7UUFDeEcsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsMEJBQTBCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsR0FBVztRQUMvQixNQUFNLFVBQVUsR0FBRyxJQUFJLDhCQUE4QixDQUFDLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7UUFDbEUsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQWdDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFSCxpQ0FBaUMsQ0FBQyxlQUF5QjtRQUN2RCxNQUFNLEdBQUcsR0FBRyxJQUFJLHdDQUF3QyxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUM5RSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxpQ0FBaUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDOztrSEE1Q1Esb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGUCxNQUFNOzRGQUVuQixvQkFBb0I7a0JBRmhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgQ3JlYXRlSW1hZ2VSZXF1ZXN0LFxuICAgIENyZWF0ZUltYWdlUmVzcG9uc2UsIEdldE1lZGlhTWV0YWRhdGFGcm9tVVJMUmVxdWVzdCwgR2V0TWVkaWFNZXRhZGF0YUZyb21VUkxSZXNwb25zZSxcbiAgICBHZXRYU3Vic2NyaXB0aW9uVHlwZVJlcXVlc3QsXG4gICAgR2V0WFN1YnNjcmlwdGlvblR5cGVSZXNwb25zZSxcbiAgICBJbWFnZUJsb2IsXG4gICAgSW1hZ2VVcmwsIExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0LCBMaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlUmVzcG9uc2UsXG4gICAgTGlzdFNvY2lhbENvbm5lY3Rpb25zQnlCdXNpbmVzc2VzUmVxdWVzdCxcbiAgICBMaXN0U29jaWFsQ29ubmVjdGlvbnNCeUJ1c2luZXNzZXNSZXNwb25zZSxcbiAgICBSZXBvc3RTb2NpYWxQb3N0UmVxdWVzdCxcbiAgICBTb2NpYWxQb3N0UmVzcG9uc2Vcbn0gZnJvbSAnLi9faW50ZXJuYWwvb2JqZWN0cy9hcGktdjInO1xuaW1wb3J0IHsgU29jaWFsUG9zdHNWMkFwaVNlcnZpY2UgfSBmcm9tICcuL19pbnRlcm5hbC9zb2NpYWwtcG9zdHMtdjIuYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBDcmVhdGVJbWFnZVJlcXVlc3RJbnRlcmZhY2UsIExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlLCBMaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTWV0YWRhdGFWMkludGVyZmFjZSwgU29jaWFsUG9zdFJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vX2ludGVybmFsL2ludGVyZmFjZXMnXG5pbXBvcnQge0h0dHBSZXNwb25zZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5cbmV4cG9ydCBjbGFzcyBTb2NpYWxQb3N0c1YyU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzb2NpYWxwb3N0VjJBcGlTZXJ2aWNlOlNvY2lhbFBvc3RzVjJBcGlTZXJ2aWNlICApIHtcbiAgICB9XG5cbiAgICBzY2hlZHVsZVNvY2lhbFBvc3RWMihzb2NpYWxQb3N0OiBTb2NpYWxQb3N0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8U29jaWFsUG9zdFJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvY2lhbHBvc3RWMkFwaVNlcnZpY2Uuc2NoZWR1bGVTb2NpYWxQb3N0cyhzb2NpYWxQb3N0KVxuICAgIH1cblxuICAgIGNyZWF0ZUltYWdlKGltYWdlOkNyZWF0ZUltYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlSW1hZ2VSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zb2NpYWxwb3N0VjJBcGlTZXJ2aWNlLmNyZWF0ZUltYWdlcyhpbWFnZSk7XG4gICAgfVxuXG4gICAgZ2V0SW1hZ2VCeVVybCh1cmw6c3RyaW5nKTpPYnNlcnZhYmxlPEltYWdlQmxvYj4ge1xuICAgICAgICBjb25zdCB1cmxSZXF1ZXN0ID0gbmV3IEltYWdlVXJsKHt1cmw6dXJsfSlcbiAgICAgICAgcmV0dXJuIHRoaXMuc29jaWFscG9zdFYyQXBpU2VydmljZS5nZXRJbWFnZUJ5VXJsKHVybFJlcXVlc3QpO1xuICAgIH1cblxuICAgIGdlbmVyYXRlVmFyaWF0aW9ucyh1cmw6c3RyaW5nKTogT2JzZXJ2YWJsZTxDcmVhdGVJbWFnZVJlc3BvbnNlPiAge1xuICAgICAgICBjb25zdCB1cmxSZXF1ZXN0ID0gbmV3IEltYWdlVXJsKHt1cmw6dXJsfSlcbiAgICAgICAgcmV0dXJuIHRoaXMuc29jaWFscG9zdFYyQXBpU2VydmljZS5nZW5lcmF0ZVZhcmlhdGlvbnModXJsUmVxdWVzdCk7XG4gICAgfVxuXG4gICAgcmVwb3N0U29jaWFsUG9zdChzb2NpYWxQb3N0SWQ6IHN0cmluZywgYnVzaW5lc3NJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVwb3N0UmVxdWVzdCA9IG5ldyBSZXBvc3RTb2NpYWxQb3N0UmVxdWVzdCh7c29jaWFsUG9zdElkOiBzb2NpYWxQb3N0SWQsIGFjY291bnRHcm91cElkOiBidXNpbmVzc0lkfSk7XG4gICAgICAgIHJldHVybiB0aGlzLnNvY2lhbHBvc3RWMkFwaVNlcnZpY2UucmVwb3N0U29jaWFsUG9zdChyZXBvc3RSZXF1ZXN0KTtcbiAgICB9XG5cbiAgICBsaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlcyhidXNpbmVzc0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPExpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCBsaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlUmVxdWVzdCA9IG5ldyBMaXN0UG9zdGFibGVTb2NpYWxTZXJ2aWNlUmVxdWVzdCh7YnVzaW5lc3NJZDogYnVzaW5lc3NJZH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5zb2NpYWxwb3N0VjJBcGlTZXJ2aWNlLmxpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VzKGxpc3RQb3N0YWJsZVNvY2lhbFNlcnZpY2VSZXF1ZXN0KTtcbiAgICB9XG5cbiAgICBnZXRNZWRpYU1ldGFkYXRhRnJvbVVybCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8R2V0TWVkaWFNZXRhZGF0YUZyb21VUkxSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCB1cmxSZXF1ZXN0ID0gbmV3IEdldE1lZGlhTWV0YWRhdGFGcm9tVVJMUmVxdWVzdCh7dXJsOiB1cmx9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc29jaWFscG9zdFYyQXBpU2VydmljZS5nZXRNZWRpYU1ldGFkYXRhRnJvbVVybCh1cmxSZXF1ZXN0KTtcbiAgICB9XG5cbiAgICBnZXRYU3Vic2NyaXB0aW9uVHlwZShyZXE6IEdldFhTdWJzY3JpcHRpb25UeXBlUmVxdWVzdCk6IE9ic2VydmFibGU8R2V0WFN1YnNjcmlwdGlvblR5cGVSZXNwb25zZT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLnNvY2lhbHBvc3RWMkFwaVNlcnZpY2UuZ2V0WFN1YnNjcmlwdGlvblR5cGUocmVxKTtcbiAgICAgIH1cblxuICAgIGxpc3RTb2NpYWxDb25uZWN0aW9uc0J5QnVzaW5lc3NlcyhhY2NvdW50R3JvdXBJZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxMaXN0U29jaWFsQ29ubmVjdGlvbnNCeUJ1c2luZXNzZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXEgPSBuZXcgTGlzdFNvY2lhbENvbm5lY3Rpb25zQnlCdXNpbmVzc2VzUmVxdWVzdCh7IGFjY291bnRHcm91cElkcyB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc29jaWFscG9zdFYyQXBpU2VydmljZS5saXN0U29jaWFsQ29ubmVjdGlvbnNCeUJ1c2luZXNzZXMocmVxKTtcbiAgICB9XG5cbn1cbiJdfQ==