@vendasta/ai-assistants 0.62.0 → 0.64.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 (37) hide show
  1. package/esm2020/lib/_internal/connection.api.service.mjs +6 -2
  2. package/esm2020/lib/_internal/function.api.service.mjs +12 -2
  3. package/esm2020/lib/_internal/goal.api.service.mjs +7 -2
  4. package/esm2020/lib/_internal/interfaces/api.interface.mjs +1 -1
  5. package/esm2020/lib/_internal/interfaces/assistant.interface.mjs +1 -1
  6. package/esm2020/lib/_internal/interfaces/function.interface.mjs +1 -1
  7. package/esm2020/lib/_internal/interfaces/goal.interface.mjs +1 -1
  8. package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
  9. package/esm2020/lib/_internal/interfaces/prompt.interface.mjs +1 -1
  10. package/esm2020/lib/_internal/objects/api.mjs +131 -102
  11. package/esm2020/lib/_internal/objects/assistant.mjs +36 -1
  12. package/esm2020/lib/_internal/objects/function.mjs +111 -1
  13. package/esm2020/lib/_internal/objects/goal.mjs +44 -1
  14. package/esm2020/lib/_internal/objects/index.mjs +6 -6
  15. package/esm2020/lib/_internal/objects/prompt.mjs +50 -1
  16. package/esm2020/lib/_internal/prompt-module.api.service.mjs +7 -2
  17. package/fesm2015/vendasta-ai-assistants.mjs +392 -102
  18. package/fesm2015/vendasta-ai-assistants.mjs.map +1 -1
  19. package/fesm2020/vendasta-ai-assistants.mjs +392 -102
  20. package/fesm2020/vendasta-ai-assistants.mjs.map +1 -1
  21. package/lib/_internal/connection.api.service.d.ts +3 -2
  22. package/lib/_internal/function.api.service.d.ts +4 -2
  23. package/lib/_internal/goal.api.service.d.ts +3 -2
  24. package/lib/_internal/interfaces/api.interface.d.ts +24 -20
  25. package/lib/_internal/interfaces/assistant.interface.d.ts +6 -0
  26. package/lib/_internal/interfaces/function.interface.d.ts +16 -0
  27. package/lib/_internal/interfaces/goal.interface.d.ts +6 -0
  28. package/lib/_internal/interfaces/index.d.ts +5 -5
  29. package/lib/_internal/interfaces/prompt.interface.d.ts +8 -0
  30. package/lib/_internal/objects/api.d.ts +42 -35
  31. package/lib/_internal/objects/assistant.d.ts +9 -0
  32. package/lib/_internal/objects/function.d.ts +28 -0
  33. package/lib/_internal/objects/goal.d.ts +12 -0
  34. package/lib/_internal/objects/index.d.ts +5 -5
  35. package/lib/_internal/objects/prompt.d.ts +14 -0
  36. package/lib/_internal/prompt-module.api.service.d.ts +3 -2
  37. package/package.json +1 -1
@@ -118,6 +118,49 @@ export class GoalKey {
118
118
  return toReturn;
119
119
  }
120
120
  }
121
+ export class SerializeGoalRequest {
122
+ static fromProto(proto) {
123
+ let m = new SerializeGoalRequest();
124
+ m = Object.assign(m, proto);
125
+ if (proto.goal) {
126
+ m.goal = Goal.fromProto(proto.goal);
127
+ }
128
+ return m;
129
+ }
130
+ constructor(kwargs) {
131
+ if (!kwargs) {
132
+ return;
133
+ }
134
+ Object.assign(this, kwargs);
135
+ }
136
+ toApiJson() {
137
+ const toReturn = {};
138
+ if (typeof this.goal !== 'undefined' && this.goal !== null) {
139
+ toReturn['goal'] = 'toApiJson' in this.goal ? this.goal.toApiJson() : this.goal;
140
+ }
141
+ return toReturn;
142
+ }
143
+ }
144
+ export class SerializeGoalResponse {
145
+ static fromProto(proto) {
146
+ let m = new SerializeGoalResponse();
147
+ m = Object.assign(m, proto);
148
+ return m;
149
+ }
150
+ constructor(kwargs) {
151
+ if (!kwargs) {
152
+ return;
153
+ }
154
+ Object.assign(this, kwargs);
155
+ }
156
+ toApiJson() {
157
+ const toReturn = {};
158
+ if (typeof this.file !== 'undefined') {
159
+ toReturn['file'] = this.file;
160
+ }
161
+ return toReturn;
162
+ }
163
+ }
121
164
  export class ValidateGoalsRequest {
122
165
  static fromProto(proto) {
123
166
  let m = new ValidateGoalsRequest();
@@ -199,4 +242,4 @@ export class ValidateGoalsResponseValidationResult {
199
242
  return toReturn;
200
243
  }
201
244
  }
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2FpX2Fzc2lzdGFudHNfc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvZ29hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTlCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sT0FBTyxJQUFJO0lBZ0JiLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25CLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQUM7UUFDMUUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBYSxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUFDO1FBQ2pGLElBQUksS0FBSyxDQUFD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QUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQUM7UUFDN0YsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ29uc3RyYWludCB9IGZyb20gJy4vY29uc3RyYWludHMnO1xuaW1wb3J0IHsgRnVuY3Rpb24gfSBmcm9tICcuL2Z1bmN0aW9uJztcbmltcG9ydCB7IE5hbWVzcGFjZSB9IGZyb20gJy4vbmFtZXNwYWNlJztcbmltcG9ydCB7IFByb21wdE1vZHVsZSB9IGZyb20gJy4vcHJvbXB0JztcbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIEdvYWwgaW1wbGVtZW50cyBpLkdvYWxJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBOYW1lc3BhY2U7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgdHlwZTogZS5Hb2FsVHlwZTtcbiAgICBwcm9tcHRNb2R1bGVzOiBQcm9tcHRNb2R1bGVbXTtcbiAgICBmdW5jdGlvbnM6IEZ1bmN0aW9uW107XG4gICAgdXBkYXRlZEJ5OiBzdHJpbmc7XG4gICAgdXBkYXRlZDogRGF0ZTtcbiAgICBzdXBwb3J0ZWRDaGFubmVsczogZS5Hb2FsQ2hhbm5lbFtdO1xuICAgIG1hbmFnZWQ6IGJvb2xlYW47XG4gICAgb3ZlcnJpZGVPZjogR29hbEtleTtcbiAgICBjb25zdHJhaW50czogQ29uc3RyYWludFtdO1xuICAgIHNvdXJjZVBhdGg6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdvYWwge1xuICAgICAgICBsZXQgbSA9IG5ldyBHb2FsKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZSkge20ubmFtZXNwYWNlID0gTmFtZXNwYWNlLmZyb21Qcm90byhwcm90by5uYW1lc3BhY2UpO31cbiAgICAgICAgaWYgKHByb3RvLnR5cGUpIHttLnR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkdvYWxUeXBlPihlLkdvYWxUeXBlLCBwcm90by50eXBlKTt9XG4gICAgICAgIGlmIChwcm90by5wcm9tcHRNb2R1bGVzKSB7bS5wcm9tcHRNb2R1bGVzID0gcHJvdG8ucHJvbXB0TW9kdWxlcy5tYXAoUHJvbXB0TW9kdWxlLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8uZnVuY3Rpb25zKSB7bS5mdW5jdGlvbnMgPSBwcm90by5mdW5jdGlvbnMubWFwKEZ1bmN0aW9uLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8udXBkYXRlZCkge20udXBkYXRlZCA9IG5ldyBEYXRlKHByb3RvLnVwZGF0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLnN1cHBvcnRlZENoYW5uZWxzKSB7bS5zdXBwb3J0ZWRDaGFubmVscyA9IHByb3RvLnN1cHBvcnRlZENoYW5uZWxzLm1hcCgodjogc3RyaW5nKSA9PiBlbnVtU3RyaW5nVG9WYWx1ZTxlLkdvYWxDaGFubmVsPihlLkdvYWxDaGFubmVsLCB2KSk7fVxuICAgICAgICBpZiAocHJvdG8ub3ZlcnJpZGVPZikge20ub3ZlcnJpZGVPZiA9IEdvYWxLZXkuZnJvbVByb3RvKHByb3RvLm92ZXJyaWRlT2YpO31cbiAgICAgICAgaWYgKHByb3RvLmNvbnN0cmFpbnRzKSB7bS5jb25zdHJhaW50cyA9IHByb3RvLmNvbnN0cmFpbnRzLm1hcChDb25zdHJhaW50LmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkdvYWxJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlID8gKHRoaXMubmFtZXNwYWNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lJ10gPSB0aGlzLm5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVzY3JpcHRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rlc2NyaXB0aW9uJ10gPSB0aGlzLmRlc2NyaXB0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3R5cGUnXSA9IHRoaXMudHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9tcHRNb2R1bGVzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnByb21wdE1vZHVsZXMgIT09IG51bGwpIHt0b1JldHVyblsncHJvbXB0TW9kdWxlcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wcm9tcHRNb2R1bGVzID8gKHRoaXMucHJvbXB0TW9kdWxlcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wcm9tcHRNb2R1bGVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZ1bmN0aW9ucyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5mdW5jdGlvbnMgIT09IG51bGwpIHt0b1JldHVyblsnZnVuY3Rpb25zJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZ1bmN0aW9ucyA/ICh0aGlzLmZ1bmN0aW9ucyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5mdW5jdGlvbnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXBkYXRlZEJ5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1cGRhdGVkQnknXSA9IHRoaXMudXBkYXRlZEJ5O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVwZGF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudXBkYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWyd1cGRhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnVwZGF0ZWQgPyAodGhpcy51cGRhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnVwZGF0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc3VwcG9ydGVkQ2hhbm5lbHMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N1cHBvcnRlZENoYW5uZWxzJ10gPSB0aGlzLnN1cHBvcnRlZENoYW5uZWxzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1hbmFnZWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21hbmFnZWQnXSA9IHRoaXMubWFuYWdlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vdmVycmlkZU9mICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm92ZXJyaWRlT2YgIT09IG51bGwpIHt0b1JldHVyblsnb3ZlcnJpZGVPZiddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5vdmVycmlkZU9mID8gKHRoaXMub3ZlcnJpZGVPZiBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5vdmVycmlkZU9mO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbnN0cmFpbnRzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNvbnN0cmFpbnRzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NvbnN0cmFpbnRzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNvbnN0cmFpbnRzID8gKHRoaXMuY29uc3RyYWludHMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY29uc3RyYWludHM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc291cmNlUGF0aCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc291cmNlUGF0aCddID0gdGhpcy5zb3VyY2VQYXRoO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdvYWxLZXkgaW1wbGVtZW50cyBpLkdvYWxLZXlJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBOYW1lc3BhY2U7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBHb2FsS2V5IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgR29hbEtleSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR29hbEtleUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubmFtZXNwYWNlICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2UgPyAodGhpcy5uYW1lc3BhY2UgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRlR29hbHNSZXF1ZXN0IGltcGxlbWVudHMgaS5WYWxpZGF0ZUdvYWxzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZ29hbHM6IEdvYWxbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFZhbGlkYXRlR29hbHNSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVmFsaWRhdGVHb2Fsc1JlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZ29hbHMpIHttLmdvYWxzID0gcHJvdG8uZ29hbHMubWFwKEdvYWwuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVmFsaWRhdGVHb2Fsc1JlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5nb2FscyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5nb2FscyAhPT0gbnVsbCkge3RvUmV0dXJuWydnb2FscyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5nb2FscyA/ICh0aGlzLmdvYWxzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmdvYWxzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRlR29hbHNSZXNwb25zZSBpbXBsZW1lbnRzIGkuVmFsaWRhdGVHb2Fsc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICByZXN1bHRzOiBWYWxpZGF0ZUdvYWxzUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0W107XG4gICAgYWxsVmFsaWQ6IGJvb2xlYW47XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBWYWxpZGF0ZUdvYWxzUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBWYWxpZGF0ZUdvYWxzUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ucmVzdWx0cykge20ucmVzdWx0cyA9IHByb3RvLnJlc3VsdHMubWFwKFZhbGlkYXRlR29hbHNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHQuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVmFsaWRhdGVHb2Fsc1Jlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucmVzdWx0cyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5yZXN1bHRzICE9PSBudWxsKSB7dG9SZXR1cm5bJ3Jlc3VsdHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucmVzdWx0cyA/ICh0aGlzLnJlc3VsdHMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucmVzdWx0czt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hbGxWYWxpZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYWxsVmFsaWQnXSA9IHRoaXMuYWxsVmFsaWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVmFsaWRhdGVHb2Fsc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdCBpbXBsZW1lbnRzIGkuVmFsaWRhdGVHb2Fsc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdEludGVyZmFjZSB7XG4gICAgZ29hbElkOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBOYW1lc3BhY2U7XG4gICAgaXNWYWxpZDogYm9vbGVhbjtcbiAgICBlcnJvck1lc3NhZ2U6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFZhbGlkYXRlR29hbHNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHQge1xuICAgICAgICBsZXQgbSA9IG5ldyBWYWxpZGF0ZUdvYWxzUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZSkge20ubmFtZXNwYWNlID0gTmFtZXNwYWNlLmZyb21Qcm90byhwcm90by5uYW1lc3BhY2UpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5WYWxpZGF0ZUdvYWxzUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZ29hbElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydnb2FsSWQnXSA9IHRoaXMuZ29hbElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXNWYWxpZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaXNWYWxpZCddID0gdGhpcy5pc1ZhbGlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVycm9yTWVzc2FnZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZXJyb3JNZXNzYWdlJ10gPSB0aGlzLmVycm9yTWVzc2FnZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbiJdfQ==
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2FpX2Fzc2lzdGFudHNfc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvZ29hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTlCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sT0FBTyxJQUFJO0lBZ0JiLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25CLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQUM7UUFDMUUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBYSxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUFDO1FBQ2pGLElBQUksS0FBSyxDQUFD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QUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsU0FBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUFDO1FBQ3JMLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQUM7UUFDOUUsSUFBSSxPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FBQztRQUM3RixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb25zdHJhaW50IH0gZnJvbSAnLi9jb25zdHJhaW50cyc7XG5pbXBvcnQgeyBGdW5jdGlvbiB9IGZyb20gJy4vZnVuY3Rpb24nO1xuaW1wb3J0IHsgTmFtZXNwYWNlIH0gZnJvbSAnLi9uYW1lc3BhY2UnO1xuaW1wb3J0IHsgUHJvbXB0TW9kdWxlIH0gZnJvbSAnLi9wcm9tcHQnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtU3RyaW5nVG9WYWx1ZTxFPihlbnVtUmVmOiBhbnksIHZhbHVlOiBzdHJpbmcpOiBFIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGVudW1SZWZbdmFsdWVdO1xufVxuXG5leHBvcnQgY2xhc3MgR29hbCBpbXBsZW1lbnRzIGkuR29hbEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICB0eXBlOiBlLkdvYWxUeXBlO1xuICAgIHByb21wdE1vZHVsZXM6IFByb21wdE1vZHVsZVtdO1xuICAgIGZ1bmN0aW9uczogRnVuY3Rpb25bXTtcbiAgICB1cGRhdGVkQnk6IHN0cmluZztcbiAgICB1cGRhdGVkOiBEYXRlO1xuICAgIHN1cHBvcnRlZENoYW5uZWxzOiBlLkdvYWxDaGFubmVsW107XG4gICAgbWFuYWdlZDogYm9vbGVhbjtcbiAgICBvdmVycmlkZU9mOiBHb2FsS2V5O1xuICAgIGNvbnN0cmFpbnRzOiBDb25zdHJhaW50W107XG4gICAgc291cmNlUGF0aDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogR29hbCB7XG4gICAgICAgIGxldCBtID0gbmV3IEdvYWwoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubmFtZXNwYWNlKSB7bS5uYW1lc3BhY2UgPSBOYW1lc3BhY2UuZnJvbVByb3RvKHByb3RvLm5hbWVzcGFjZSk7fVxuICAgICAgICBpZiAocHJvdG8udHlwZSkge20udHlwZSA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuR29hbFR5cGU+KGUuR29hbFR5cGUsIHByb3RvLnR5cGUpO31cbiAgICAgICAgaWYgKHByb3RvLnByb21wdE1vZHVsZXMpIHttLnByb21wdE1vZHVsZXMgPSBwcm90by5wcm9tcHRNb2R1bGVzLm1hcChQcm9tcHRNb2R1bGUuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5mdW5jdGlvbnMpIHttLmZ1bmN0aW9ucyA9IHByb3RvLmZ1bmN0aW9ucy5tYXAoRnVuY3Rpb24uZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by51cGRhdGVkKSB7bS51cGRhdGVkID0gbmV3IERhdGUocHJvdG8udXBkYXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8uc3VwcG9ydGVkQ2hhbm5lbHMpIHttLnN1cHBvcnRlZENoYW5uZWxzID0gcHJvdG8uc3VwcG9ydGVkQ2hhbm5lbHMubWFwKCh2OiBzdHJpbmcpID0+IGVudW1TdHJpbmdUb1ZhbHVlPGUuR29hbENoYW5uZWw+KGUuR29hbENoYW5uZWwsIHYpKTt9XG4gICAgICAgIGlmIChwcm90by5vdmVycmlkZU9mKSB7bS5vdmVycmlkZU9mID0gR29hbEtleS5mcm9tUHJvdG8ocHJvdG8ub3ZlcnJpZGVPZik7fVxuICAgICAgICBpZiAocHJvdG8uY29uc3RyYWludHMpIHttLmNvbnN0cmFpbnRzID0gcHJvdG8uY29uc3RyYWludHMubWFwKENvbnN0cmFpbnQuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR29hbEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubmFtZXNwYWNlICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2UgPyAodGhpcy5uYW1lc3BhY2UgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25hbWUnXSA9IHRoaXMubmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZXNjcmlwdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGVzY3JpcHRpb24nXSA9IHRoaXMuZGVzY3JpcHRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndHlwZSddID0gdGhpcy50eXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb21wdE1vZHVsZXMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucHJvbXB0TW9kdWxlcyAhPT0gbnVsbCkge3RvUmV0dXJuWydwcm9tcHRNb2R1bGVzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnByb21wdE1vZHVsZXMgPyAodGhpcy5wcm9tcHRNb2R1bGVzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnByb21wdE1vZHVsZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZnVuY3Rpb25zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmZ1bmN0aW9ucyAhPT0gbnVsbCkge3RvUmV0dXJuWydmdW5jdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZnVuY3Rpb25zID8gKHRoaXMuZnVuY3Rpb25zIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZ1bmN0aW9uczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51cGRhdGVkQnkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VwZGF0ZWRCeSddID0gdGhpcy51cGRhdGVkQnk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXBkYXRlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy51cGRhdGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ3VwZGF0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudXBkYXRlZCA/ICh0aGlzLnVwZGF0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudXBkYXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdXBwb3J0ZWRDaGFubmVscyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3VwcG9ydGVkQ2hhbm5lbHMnXSA9IHRoaXMuc3VwcG9ydGVkQ2hhbm5lbHM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWFuYWdlZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWFuYWdlZCddID0gdGhpcy5tYW5hZ2VkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm92ZXJyaWRlT2YgIT09ICd1bmRlZmluZWQnICYmIHRoaXMub3ZlcnJpZGVPZiAhPT0gbnVsbCkge3RvUmV0dXJuWydvdmVycmlkZU9mJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm92ZXJyaWRlT2YgPyAodGhpcy5vdmVycmlkZU9mIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm92ZXJyaWRlT2Y7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uc3RyYWludHMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY29uc3RyYWludHMgIT09IG51bGwpIHt0b1JldHVyblsnY29uc3RyYWludHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY29uc3RyYWludHMgPyAodGhpcy5jb25zdHJhaW50cyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jb25zdHJhaW50czt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zb3VyY2VQYXRoICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzb3VyY2VQYXRoJ10gPSB0aGlzLnNvdXJjZVBhdGg7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgR29hbEtleSBpbXBsZW1lbnRzIGkuR29hbEtleUludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdvYWxLZXkge1xuICAgICAgICBsZXQgbSA9IG5ldyBHb2FsS2V5KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZSkge20ubmFtZXNwYWNlID0gTmFtZXNwYWNlLmZyb21Qcm90byhwcm90by5uYW1lc3BhY2UpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Hb2FsS2V5SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2VyaWFsaXplR29hbFJlcXVlc3QgaW1wbGVtZW50cyBpLlNlcmlhbGl6ZUdvYWxSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBnb2FsOiBHb2FsO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU2VyaWFsaXplR29hbFJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBTZXJpYWxpemVHb2FsUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5nb2FsKSB7bS5nb2FsID0gR29hbC5mcm9tUHJvdG8ocHJvdG8uZ29hbCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlNlcmlhbGl6ZUdvYWxSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZ29hbCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5nb2FsICE9PSBudWxsKSB7dG9SZXR1cm5bJ2dvYWwnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZ29hbCA/ICh0aGlzLmdvYWwgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZ29hbDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTZXJpYWxpemVHb2FsUmVzcG9uc2UgaW1wbGVtZW50cyBpLlNlcmlhbGl6ZUdvYWxSZXNwb25zZUludGVyZmFjZSB7XG4gICAgZmlsZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU2VyaWFsaXplR29hbFJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU2VyaWFsaXplR29hbFJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5TZXJpYWxpemVHb2FsUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaWxlJ10gPSB0aGlzLmZpbGU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVmFsaWRhdGVHb2Fsc1JlcXVlc3QgaW1wbGVtZW50cyBpLlZhbGlkYXRlR29hbHNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBnb2FsczogR29hbFtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVmFsaWRhdGVHb2Fsc1JlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBWYWxpZGF0ZUdvYWxzUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5nb2Fscykge20uZ29hbHMgPSBwcm90by5nb2Fscy5tYXAoR29hbC5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5WYWxpZGF0ZUdvYWxzUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmdvYWxzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmdvYWxzICE9PSBudWxsKSB7dG9SZXR1cm5bJ2dvYWxzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmdvYWxzID8gKHRoaXMuZ29hbHMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZ29hbHM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVmFsaWRhdGVHb2Fsc1Jlc3BvbnNlIGltcGxlbWVudHMgaS5WYWxpZGF0ZUdvYWxzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHJlc3VsdHM6IFZhbGlkYXRlR29hbHNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHRbXTtcbiAgICBhbGxWYWxpZDogYm9vbGVhbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFZhbGlkYXRlR29hbHNSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFZhbGlkYXRlR29hbHNSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5yZXN1bHRzKSB7bS5yZXN1bHRzID0gcHJvdG8ucmVzdWx0cy5tYXAoVmFsaWRhdGVHb2Fsc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdC5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5WYWxpZGF0ZUdvYWxzUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZXN1bHRzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnJlc3VsdHMgIT09IG51bGwpIHt0b1JldHVyblsncmVzdWx0cyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5yZXN1bHRzID8gKHRoaXMucmVzdWx0cyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5yZXN1bHRzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFsbFZhbGlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhbGxWYWxpZCddID0gdGhpcy5hbGxWYWxpZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBWYWxpZGF0ZUdvYWxzUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0IGltcGxlbWVudHMgaS5WYWxpZGF0ZUdvYWxzUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0SW50ZXJmYWNlIHtcbiAgICBnb2FsSWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcbiAgICBpc1ZhbGlkOiBib29sZWFuO1xuICAgIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVmFsaWRhdGVHb2Fsc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFZhbGlkYXRlR29hbHNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHQoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubmFtZXNwYWNlKSB7bS5uYW1lc3BhY2UgPSBOYW1lc3BhY2UuZnJvbVByb3RvKHByb3RvLm5hbWVzcGFjZSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlZhbGlkYXRlR29hbHNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHRJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5nb2FsSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2dvYWxJZCddID0gdGhpcy5nb2FsSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlID8gKHRoaXMubmFtZXNwYWNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pc1ZhbGlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpc1ZhbGlkJ10gPSB0aGlzLmlzVmFsaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZXJyb3JNZXNzYWdlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydlcnJvck1lc3NhZ2UnXSA9IHRoaXMuZXJyb3JNZXNzYWdlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
@@ -7,16 +7,16 @@
7
7
  export { NamespaceAccountGroupNamespace, NamespaceGlobalNamespace, Namespace, NamespacePartnerNamespace, NamespaceSystemNamespace, } from './namespace';
8
8
  export { Constraint, ConstraintFilter, Scope, } from './constraints';
9
9
  export { PagedRequestOptions, PagedResponseMetadata, } from './paging';
10
- export { FunctionAuthStrategyConnectedIntegrationAuthStrategy, CreateMCPFromIntegrationRequest, DeleteMCPRequest, ListMCPsRequestFilters, Function, FunctionAuthStrategy, FunctionHeader, FunctionKey, FunctionParameter, FunctionAuthStrategyImpersonationAuthStrategy, ListMCPToolsRequest, ListMCPToolsResponse, ListMCPsRequest, ListMCPsResponse, MCP, FunctionAuthStrategyPlatformManagedFunctionAuthStrategy, FunctionAuthStrategyUnspecifiedFunctionAuthStrategy, UpsertMCPRequest, ValidateFunctionsRequest, ValidateFunctionsResponse, ValidateMCPsRequest, ValidateMCPsResponse, ValidateFunctionsResponseValidationResult, ValidateMCPsResponseValidationResult, } from './function';
11
- export { PromptModule, PromptModuleKey, PromptModuleVersion, } from './prompt';
12
- export { Goal, GoalKey, ValidateGoalsRequest, ValidateGoalsResponse, ValidateGoalsResponseValidationResult, } from './goal';
10
+ export { FunctionAuthStrategyConnectedIntegrationAuthStrategy, CreateMCPFromIntegrationRequest, DeleteMCPRequest, ListMCPsRequestFilters, Function, FunctionAuthStrategy, FunctionHeader, FunctionKey, FunctionParameter, FunctionAuthStrategyImpersonationAuthStrategy, ListMCPToolsRequest, ListMCPToolsResponse, ListMCPsRequest, ListMCPsResponse, MCP, FunctionAuthStrategyPlatformManagedFunctionAuthStrategy, SerializeFunctionRequest, SerializeFunctionResponse, SerializeMCPRequest, SerializeMCPResponse, FunctionAuthStrategyUnspecifiedFunctionAuthStrategy, UpsertMCPRequest, ValidateFunctionsRequest, ValidateFunctionsResponse, ValidateMCPsRequest, ValidateMCPsResponse, ValidateFunctionsResponseValidationResult, ValidateMCPsResponseValidationResult, } from './function';
11
+ export { PromptModule, PromptModuleKey, PromptModuleVersion, SerializePromptModuleRequest, SerializePromptModuleResponse, } from './prompt';
12
+ export { Goal, GoalKey, SerializeGoalRequest, SerializeGoalResponse, ValidateGoalsRequest, ValidateGoalsResponse, ValidateGoalsResponseValidationResult, } from './goal';
13
13
  export { KeyValuePair, } from './common';
14
14
  export { Model, } from './model';
15
- export { Assistant, AssistantKey, Config, ConfigurableGoal, DeepgramConfig, ElevenLabsConfig, ConfigInboxConfig, ModelConfig, OpenAIConfig, OpenAIRealtimeConfig, TemplateVariable, OpenAIRealtimeConfigTurnDetection, ConfigVoiceConfig, } from './assistant';
15
+ export { Assistant, AssistantKey, Config, ConfigurableGoal, DeepgramConfig, ElevenLabsConfig, ConfigInboxConfig, ModelConfig, OpenAIConfig, OpenAIRealtimeConfig, TemplateVariable, OpenAIRealtimeConfigTurnDetection, Validator, ConfigVoiceConfig, } from './assistant';
16
16
  export { Connection, ConnectionKey, } from './connection';
17
17
  export { ChatAnswerFunctionExecutionJob, ChatAnswerFunctionExecutionJobResult, ChatContent, ChatMessage, ChatUserInfo, ContextInfo, ImageContent, } from './answer';
18
18
  export { CancelTestRunRequest, TestResultCitation, DeleteTestCasesRequest, GetTestRunRequest, GetTestRunResponse, ListTestCasesByAssistantRequest, ListTestCasesByAssistantResponse, ListTestRunsByAssistantRequest, ListTestRunsByAssistantResponse, RunTestsRequest, RunTestsResponse, SortOptions, TestCase, TestResult, TestRun, UpsertTestCasesRequest, } from './integration-tests';
19
19
  export { Access, MCPOptions, } from './annotations';
20
20
  export { FieldMask, } from './field-mask';
21
- export { BuildDefaultAssistantRequest, BuildDefaultAssistantResponse, SetAssistantConnectionsRequestConnectionState, CreateAssistantRequest, CreateAssistantResponse, CreateGoalRequest, CreateGoalResponse, CreatePromptModuleRequest, CreatePromptModuleResponse, CreatePromptModuleVersionRequest, DeleteAssistantRequest, DeleteConnectionRequest, DeleteFunctionRequest, DeleteGoalRequest, DeletePromptModuleRequest, DeployPromptModuleRequest, ExecuteFunctionRequest, ExecuteFunctionResponse, ListFunctionRequestFilters, ListGoalsRequestFilters, ListAssistantRequestFilters, ListAllAssistantsAssociatedToConnectionRequestFilters, ListPromptModuleRequestFilters, ListConnectionsRequestFilters, ListAvailableModelsRequestFilters, GenerateChatAnswerRequest, GenerateChatAnswerResponse, GetAssistantRequest, GetAssistantResponse, GetChatAnswerFunctionExecutionJobRequest, GetChatAnswerFunctionExecutionJobResponse, GetConnectionRequest, GetConnectionResponse, GetDeployedPromptModuleVersionRequest, GetDeployedPromptModuleVersionResponse, GetFunctionRequest, GetFunctionResponse, GetGoalRequest, GetGoalResponse, GetHydratedDeployedPromptModuleVersionRequest, GetHydratedDeployedPromptModuleVersionResponse, GetMultiAssistantRequest, GetMultiAssistantResponse, GetMultiFunctionRequest, GetMultiFunctionResponse, GetMultiGoalRequest, GetMultiGoalResponse, GetMultiHydratedDeployedPromptModuleVersionRequest, GetMultiHydratedDeployedPromptModuleVersionResponse, GetPromptModuleRequest, GetPromptModuleResponse, GetPromptModuleVersionRequest, GetPromptModuleVersionResponse, GoalsDisabledForAccountGroupRequest, GoalsDisabledForAccountGroupResponse, ListAllAssistantsAssociatedToConnectionRequest, ListAllAssistantsAssociatedToConnectionResponse, ListAssistantRequest, ListAssistantResponse, ListAvailableModelsRequest, ListAvailableModelsResponse, ListConnectionsRequest, ListConnectionsResponse, ListFunctionRequest, ListFunctionResponse, ListGoalsRequest, ListGoalsResponse, ListPromptModuleRequest, ListPromptModuleResponse, ListPromptModuleVersionsRequest, ListPromptModuleVersionsResponse, ListTemplateVariablesRequest, ListTemplateVariablesResponse, UpsertAssistantRequestOptions, GetMultiAssistantRequestOptions, CreatePromptModuleVersionRequestOptions, CreateAssistantRequestOptions, GetAssistantRequestOptions, GenerateChatAnswerRequestOptions, ExecuteFunctionRequestOptions, SetAssistantConnectionsRequest, ListGoalsRequestSortOptions, UpdateAssistantRequest, UpdateGoalRequest, UpdatePromptModuleRequest, UpsertAssistantRequest, UpsertAssistantResponse, UpsertConnectionRequest, UpsertFunctionRequest, UpsertGoalRequest, ValidatePromptModuleRequest, ValidatePromptModuleResponse, ValidatePromptModuleVersionsRequest, ValidatePromptModuleVersionsResponse, ValidatePromptModulesRequest, ValidatePromptModulesResponse, ValidatePromptModulesResponseValidationResult, ValidatePromptModuleVersionsResponseValidationResult, ValidationResult, ValidationViolation, } from './api';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixpQkFBaUI7QUFDakIsb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCx5QkFBeUIsRUFDekIsd0JBQXdCLEdBQzNCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHFCQUFxQixHQUN4QixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gsb0RBQW9ELEVBQ3BELCtCQUErQixFQUMvQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsNkNBQTZDLEVBQzdDLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixHQUFHLEVBQ0gsdURBQXVELEVBQ3ZELG1EQUFtRCxFQUNuRCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHlDQUF5QyxFQUN6QyxvQ0FBb0MsR0FDdkMsTUFBTSxZQUFZLENBQUM7QUFFcEIsT0FBTyxFQUNILFlBQVksRUFDWixlQUFlLEVBQ2YsbUJBQW1CLEdBQ3RCLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFDSCxJQUFJLEVBQ0osT0FBTyxFQUNQLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIscUNB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aEMsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5QiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3Qiw2Q0FBNkMsRUFDN0Msb0RBQW9ELEVBQ3BELGdCQUFnQixFQUNoQixtQkFBbUIsR0FDdEIsTUFBTSxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgTmFtZXNwYWNlQWNjb3VudEdyb3VwTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZUdsb2JhbE5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2UsXG4gICAgTmFtZXNwYWNlUGFydG5lck5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2VTeXN0ZW1OYW1lc3BhY2UsXG59IGZyb20gJy4vbmFtZXNwYWNlJztcblxuZXhwb3J0IHtcbiAgICBDb25zdHJhaW50LFxuICAgIENvbnN0cmFpbnRGaWx0ZXIsXG4gICAgU2NvcGUsXG59IGZyb20gJy4vY29uc3RyYWludHMnO1xuXG5leHBvcnQge1xuICAgIFBhZ2VkUmVxdWVzdE9wdGlvbnMsXG4gICAgUGFnZWRSZXNwb25zZU1ldGFkYXRhLFxufSBmcm9tICcuL3BhZ2luZyc7XG5cbmV4cG9ydCB7XG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lDb25uZWN0ZWRJbnRlZ3JhdGlvbkF1dGhTdHJhdGVneSxcbiAgICBDcmVhdGVNQ1BGcm9tSW50ZWdyYXRpb25SZXF1ZXN0LFxuICAgIERlbGV0ZU1DUFJlcXVlc3QsXG4gICAgTGlzdE1DUHNSZXF1ZXN0RmlsdGVycyxcbiAgICBGdW5jdGlvbixcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneSxcbiAgICBGdW5jdGlvbkhlYWRlcixcbiAgICBGdW5jdGlvbktleSxcbiAgICBGdW5jdGlvblBhcmFtZXRlcixcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneUltcGVyc29uYXRpb25BdXRoU3RyYXRlZ3ksXG4gICAgTGlzdE1DUFRvb2xzUmVxdWVzdCxcbiAgICBMaXN0TUNQVG9vbHNSZXNwb25zZSxcbiAgICBMaXN0TUNQc1JlcXVlc3QsXG4gICAgTGlzdE1DUHNSZXNwb25zZSxcbiAgICBNQ1AsXG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lQbGF0Zm9ybU1hbmFnZWRGdW5jdGlvbkF1dGhTdHJhdGVneSxcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneVVuc3BlY2lmaWVkRnVuY3Rpb25BdXRoU3RyYXRlZ3ksXG4gICAgVXBzZXJ0TUNQUmVxdWVzdCxcbiAgICBWYWxpZGF0ZUZ1bmN0aW9uc1JlcXVlc3QsXG4gICAgVmFsaWRhdGVGdW5jdGlvbnNSZXNwb25zZSxcbiAgICBWYWxpZGF0ZU1DUHNSZXF1ZXN0LFxuICAgIFZhbGlkYXRlTUNQc1Jlc3BvbnNlLFxuICAgIFZhbGlkYXRlRnVuY3Rpb25zUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0LFxuICAgIFZhbGlkYXRlTUNQc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdCxcbn0gZnJvbSAnLi9mdW5jdGlvbic7XG5cbmV4cG9ydCB7XG4gICAgUHJvbXB0TW9kdWxlLFxuICAgIFByb21wdE1vZHVsZUtleSxcbiAgICBQcm9tcHRNb2R1bGVWZXJzaW9uLFxufSBmcm9tICcuL3Byb21wdCc7XG5cbmV4cG9ydCB7XG4gICAgR29hbCxcbiAgICBHb2FsS2V5LFxuICAgIFZhbGlkYXRlR29hbHNSZXF1ZXN0LFxuICAgIFZhbGlkYXRlR29hbHNSZXNwb25zZSxcbiAgICBWYWxpZGF0ZUdvYWxzUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0LFxufSBmcm9tICcuL2dvYWwnO1xuXG5leHBvcnQge1xuICAgIEtleVZhbHVlUGFpcixcbn0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQge1xuICAgIE1vZGVsLFxufSBmcm9tICcuL21vZGVsJztcblxuZXhwb3J0IHtcbiAgICBBc3Npc3RhbnQsXG4gICAgQXNzaXN0YW50S2V5LFxuICAgIENvbmZpZyxcbiAgICBDb25maWd1cmFibGVHb2FsLFxuICAgIERlZXBncmFtQ29uZmlnLFxuICAgIEVsZXZlbkxhYnNDb25maWcsXG4gICAgQ29uZmlnSW5ib3hDb25maWcsXG4gICAgTW9kZWxDb25maWcsXG4gICAgT3BlbkFJQ29uZmlnLFxuICAgIE9wZW5BSVJlYWx0aW1lQ29uZmlnLFxuICAgIFRlbXBsYXRlVmFyaWFibGUsXG4gICAgT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uLFxuICAgIENvbmZpZ1ZvaWNlQ29uZmlnLFxufSBmcm9tICcuL2Fzc2lzdGFudCc7XG5cbmV4cG9ydCB7XG4gICAgQ29ubmVjdGlvbixcbiAgICBDb25uZWN0aW9uS2V5LFxufSBmcm9tICcuL2Nvbm5lY3Rpb24nO1xuXG5leHBvcnQge1xuICAgIENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYixcbiAgICBDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JSZXN1bHQsXG4gICAgQ2hhdENvbnRlbnQsXG4gICAgQ2hhdE1lc3NhZ2UsXG4gICAgQ2hhdFVzZXJJbmZvLFxuICAgIENvbnRleHRJbmZvLFxuICAgIEltYWdlQ29udGVudCxcbn0gZnJvbSAnLi9hbnN3ZXInO1xuXG5leHBvcnQge1xuICAgIENhbmNlbFRlc3RSdW5SZXF1ZXN0LFxuICAgIFRlc3RSZXN1bHRDaXRhdGlvbixcbiAgICBEZWxldGVUZXN0Q2FzZXNSZXF1ZXN0LFxuICAgIEdldFRlc3RSdW5SZXF1ZXN0LFxuICAgIEdldFRlc3RSdW5SZXNwb25zZSxcbiAgICBMaXN0VGVzdENhc2VzQnlBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIExpc3RUZXN0Q2FzZXNCeUFzc2lzdGFudFJlc3BvbnNlLFxuICAgIExpc3RUZXN0UnVuc0J5QXNzaXN0YW50UmVxdWVzdCxcbiAgICBMaXN0VGVzdFJ1bnNCeUFzc2lzdGFudFJlc3BvbnNlLFxuICAgIFJ1blRlc3RzUmVxdWVzdCxcbiAgICBSdW5UZXN0c1Jlc3BvbnNlLFxuICAgIFNvcnRPcHRpb25zLFxuICAgIFRlc3RDYXNlLFxuICAgIFRlc3RSZXN1bHQsXG4gICAgVGVzdFJ1bixcbiAgICBVcHNlcnRUZXN0Q2FzZXNSZXF1ZXN0LFxufSBmcm9tICcuL2ludGVncmF0aW9uLXRlc3RzJztcblxuZXhwb3J0IHtcbiAgICBBY2Nlc3MsXG4gICAgTUNQT3B0aW9ucyxcbn0gZnJvbSAnLi9hbm5vdGF0aW9ucyc7XG5cbmV4cG9ydCB7XG4gICAgRmllbGRNYXNrLFxufSBmcm9tICcuL2ZpZWxkLW1hc2snO1xuXG5leHBvcnQge1xuICAgIEJ1aWxkRGVmYXVsdEFzc2lzdGFudFJlcXVlc3QsXG4gICAgQnVpbGREZWZhdWx0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgU2V0QXNzaXN0YW50Q29ubmVjdGlvbnNSZXF1ZXN0Q29ubmVjdGlvblN0YXRlLFxuICAgIENyZWF0ZUFzc2lzdGFudFJlcXVlc3QsXG4gICAgQ3JlYXRlQXNzaXN0YW50UmVzcG9uc2UsXG4gICAgQ3JlYXRlR29hbFJlcXVlc3QsXG4gICAgQ3JlYXRlR29hbFJlc3BvbnNlLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2UsXG4gICAgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgRGVsZXRlQXNzaXN0YW50UmVxdWVzdCxcbiAgICBEZWxldGVDb25uZWN0aW9uUmVxdWVzdCxcbiAgICBEZWxldGVGdW5jdGlvblJlcXVlc3QsXG4gICAgRGVsZXRlR29hbFJlcXVlc3QsXG4gICAgRGVsZXRlUHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIEV4ZWN1dGVGdW5jdGlvblJlcXVlc3QsXG4gICAgRXhlY3V0ZUZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgTGlzdEZ1bmN0aW9uUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEdvYWxzUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEFzc2lzdGFudFJlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RBbGxBc3Npc3RhbnRzQXNzb2NpYXRlZFRvQ29ubmVjdGlvblJlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0Q29ubmVjdGlvbnNSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0QXZhaWxhYmxlTW9kZWxzUmVxdWVzdEZpbHRlcnMsXG4gICAgR2VuZXJhdGVDaGF0QW5zd2VyUmVxdWVzdCxcbiAgICBHZW5lcmF0ZUNoYXRBbnN3ZXJSZXNwb25zZSxcbiAgICBHZXRBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIEdldEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIEdldENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYlJlcXVlc3QsXG4gICAgR2V0Q2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iUmVzcG9uc2UsXG4gICAgR2V0Q29ubmVjdGlvblJlcXVlc3QsXG4gICAgR2V0Q29ubmVjdGlvblJlc3BvbnNlLFxuICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0RnVuY3Rpb25SZXF1ZXN0LFxuICAgIEdldEZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgR2V0R29hbFJlcXVlc3QsXG4gICAgR2V0R29hbFJlc3BvbnNlLFxuICAgIEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgIEdldE11bHRpQXNzaXN0YW50UmVxdWVzdCxcbiAgICBHZXRNdWx0aUFzc2lzdGFudFJlc3BvbnNlLFxuICAgIEdldE11bHRpRnVuY3Rpb25SZXF1ZXN0LFxuICAgIEdldE11bHRpRnVuY3Rpb25SZXNwb25zZSxcbiAgICBHZXRNdWx0aUdvYWxSZXF1ZXN0LFxuICAgIEdldE11bHRpR29hbFJlc3BvbnNlLFxuICAgIEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIEdldFByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgIEdldFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIEdldFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICBHb2Fsc0Rpc2FibGVkRm9yQWNjb3VudEdyb3VwUmVxdWVzdCxcbiAgICBHb2Fsc0Rpc2FibGVkRm9yQWNjb3VudEdyb3VwUmVzcG9uc2UsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVxdWVzdCxcbiAgICBMaXN0QWxsQXNzaXN0YW50c0Fzc29jaWF0ZWRUb0Nvbm5lY3Rpb25SZXNwb25zZSxcbiAgICBMaXN0QXNzaXN0YW50UmVxdWVzdCxcbiAgICBMaXN0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgTGlzdEF2YWlsYWJsZU1vZGVsc1JlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJsZU1vZGVsc1Jlc3BvbnNlLFxuICAgIExpc3RDb25uZWN0aW9uc1JlcXVlc3QsXG4gICAgTGlzdENvbm5lY3Rpb25zUmVzcG9uc2UsXG4gICAgTGlzdEZ1bmN0aW9uUmVxdWVzdCxcbiAgICBMaXN0RnVuY3Rpb25SZXNwb25zZSxcbiAgICBMaXN0R29hbHNSZXF1ZXN0LFxuICAgIExpc3RHb2Fsc1Jlc3BvbnNlLFxuICAgIExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1Jlc3BvbnNlLFxuICAgIExpc3RUZW1wbGF0ZVZhcmlhYmxlc1JlcXVlc3QsXG4gICAgTGlzdFRlbXBsYXRlVmFyaWFibGVzUmVzcG9uc2UsXG4gICAgVXBzZXJ0QXNzaXN0YW50UmVxdWVzdE9wdGlvbnMsXG4gICAgR2V0TXVsdGlBc3Npc3RhbnRSZXF1ZXN0T3B0aW9ucyxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdE9wdGlvbnMsXG4gICAgQ3JlYXRlQXNzaXN0YW50UmVxdWVzdE9wdGlvbnMsXG4gICAgR2V0QXNzaXN0YW50UmVxdWVzdE9wdGlvbnMsXG4gICAgR2VuZXJhdGVDaGF0QW5zd2VyUmVxdWVzdE9wdGlvbnMsXG4gICAgRXhlY3V0ZUZ1bmN0aW9uUmVxdWVzdE9wdGlvbnMsXG4gICAgU2V0QXNzaXN0YW50Q29ubmVjdGlvbnNSZXF1ZXN0LFxuICAgIExpc3RHb2Fsc1JlcXVlc3RTb3J0T3B0aW9ucyxcbiAgICBVcGRhdGVBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIFVwZGF0ZUdvYWxSZXF1ZXN0LFxuICAgIFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgVXBzZXJ0QXNzaXN0YW50UmVxdWVzdCxcbiAgICBVcHNlcnRBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBVcHNlcnRDb25uZWN0aW9uUmVxdWVzdCxcbiAgICBVcHNlcnRGdW5jdGlvblJlcXVlc3QsXG4gICAgVXBzZXJ0R29hbFJlcXVlc3QsXG4gICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2UsXG4gICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3QsXG4gICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1Jlc3BvbnNlLFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlc1JlcXVlc3QsXG4gICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVzcG9uc2UsXG4gICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0LFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHQsXG4gICAgVmFsaWRhdGlvblJlc3VsdCxcbiAgICBWYWxpZGF0aW9uVmlvbGF0aW9uLFxufSBmcm9tICcuL2FwaSc7XG5cbiJdfQ==
21
+ export { BuildDefaultAssistantRequest, BuildDefaultAssistantResponse, SetAssistantConnectionsRequestConnectionState, CreateAssistantRequest, CreateAssistantResponse, CreateGoalRequest, CreateGoalResponse, CreatePromptModuleRequest, CreatePromptModuleResponse, CreatePromptModuleVersionRequest, DeleteAssistantRequest, DeleteConnectionRequest, DeleteFunctionRequest, DeleteGoalRequest, DeletePromptModuleRequest, DeployPromptModuleRequest, ExecuteFunctionRequest, ExecuteFunctionResponse, ListGoalsRequestFilters, ListAssistantRequestFilters, ListFunctionRequestFilters, ListAvailableModelsRequestFilters, ListAllAssistantsAssociatedToConnectionRequestFilters, ListPromptModuleRequestFilters, ListConnectionsRequestFilters, GenerateChatAnswerRequest, GenerateChatAnswerResponse, GetAssistantRequest, GetAssistantResponse, GetChatAnswerFunctionExecutionJobRequest, GetChatAnswerFunctionExecutionJobResponse, GetConnectionRequest, GetConnectionResponse, GetDeployedPromptModuleVersionRequest, GetDeployedPromptModuleVersionResponse, GetFunctionRequest, GetFunctionResponse, GetGoalRequest, GetGoalResponse, GetHydratedDeployedPromptModuleVersionRequest, GetHydratedDeployedPromptModuleVersionResponse, GetMultiAssistantRequest, GetMultiAssistantResponse, GetMultiFunctionRequest, GetMultiFunctionResponse, GetMultiGoalRequest, GetMultiGoalResponse, GetMultiHydratedDeployedPromptModuleVersionRequest, GetMultiHydratedDeployedPromptModuleVersionResponse, GetPromptModuleRequest, GetPromptModuleResponse, GetPromptModuleVersionRequest, GetPromptModuleVersionResponse, GoalsDisabledForAccountGroupRequest, GoalsDisabledForAccountGroupResponse, ListAllAssistantsAssociatedToConnectionRequest, ListAllAssistantsAssociatedToConnectionResponse, ListAssistantRequest, ListAssistantResponse, ListAvailableModelsRequest, ListAvailableModelsResponse, ListConnectionsRequest, ListConnectionsResponse, ListFunctionRequest, ListFunctionResponse, ListGoalsRequest, ListGoalsResponse, ListPromptModuleRequest, ListPromptModuleResponse, ListPromptModuleVersionsRequest, ListPromptModuleVersionsResponse, ListTemplateVariablesRequest, ListTemplateVariablesResponse, GenerateChatAnswerRequestOptions, GetMultiAssistantRequestOptions, UpsertAssistantRequestOptions, GetAssistantRequestOptions, CreateAssistantRequestOptions, ExecuteFunctionRequestOptions, CreatePromptModuleVersionRequestOptions, SetAssistantConnectionsRequest, SetConnectionAssistantRequest, ListGoalsRequestSortOptions, UpdateAssistantRequest, UpdateGoalRequest, UpdatePromptModuleRequest, UpsertAssistantRequest, UpsertAssistantResponse, UpsertConnectionRequest, UpsertFunctionRequest, UpsertGoalRequest, ValidatePromptModuleRequest, ValidatePromptModuleResponse, ValidatePromptModuleVersionsRequest, ValidatePromptModuleVersionsResponse, ValidatePromptModulesRequest, ValidatePromptModulesResponse, ValidatePromptModulesResponseValidationResult, ValidatePromptModuleVersionsResponseValidationResult, ValidationResult, ValidationViolation, } from './api';
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixpQkFBaUI7QUFDakIsb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCx5QkFBeUIsRUFDekIsd0JBQXdCLEdBQzNCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHFCQUFxQixHQUN4QixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gsb0RBQW9ELEVBQ3BELCtCQUErQixFQUMvQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsNkNBQTZDLEVBQzdDLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixHQUFHLEVBQ0gsdURBQXVELEVBQ3ZELHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixtREFBbUQsRUFDbkQsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQix5Q0FBeUMsRUFDekMsb0NBQW9DLEdBQ3ZDLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFDSCxZQUFZLEVBQ1osZUFBZSxFQUNmLG1CQUFtQixFQUNuQiw0QkFBNEIsRUFDNUIsNkJBQTZCLEdBQ2hDLE1B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Z0NBQWdDLEVBQ2hDLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsZ0NBQWdDLEVBQ2hDLCtCQUErQixFQUMvQiw2QkFBNkIsRUFDN0IsMEJBQTBCLEVBQzFCLDZCQUE2QixFQUM3Qiw2QkFBNkIsRUFDN0IsdUNBQXVDLEVBQ3ZDLDhCQUE4QixFQUM5Qiw2QkFBNkIsRUFDN0IsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsMkJBQTJCLEVBQzNCLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsNkNBQTZDLEVBQzdDLG9EQUFvRCxFQUNwRCxnQkFBZ0IsRUFDaEIsbUJBQW1CLEdBQ3RCLE1BQU0sT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzIEluZGV4LlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5leHBvcnQge1xuICAgIE5hbWVzcGFjZUFjY291bnRHcm91cE5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2VHbG9iYWxOYW1lc3BhY2UsXG4gICAgTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZVBhcnRuZXJOYW1lc3BhY2UsXG4gICAgTmFtZXNwYWNlU3lzdGVtTmFtZXNwYWNlLFxufSBmcm9tICcuL25hbWVzcGFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ29uc3RyYWludCxcbiAgICBDb25zdHJhaW50RmlsdGVyLFxuICAgIFNjb3BlLFxufSBmcm9tICcuL2NvbnN0cmFpbnRzJztcblxuZXhwb3J0IHtcbiAgICBQYWdlZFJlcXVlc3RPcHRpb25zLFxuICAgIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YSxcbn0gZnJvbSAnLi9wYWdpbmcnO1xuXG5leHBvcnQge1xuICAgIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5Q29ubmVjdGVkSW50ZWdyYXRpb25BdXRoU3RyYXRlZ3ksXG4gICAgQ3JlYXRlTUNQRnJvbUludGVncmF0aW9uUmVxdWVzdCxcbiAgICBEZWxldGVNQ1BSZXF1ZXN0LFxuICAgIExpc3RNQ1BzUmVxdWVzdEZpbHRlcnMsXG4gICAgRnVuY3Rpb24sXG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3ksXG4gICAgRnVuY3Rpb25IZWFkZXIsXG4gICAgRnVuY3Rpb25LZXksXG4gICAgRnVuY3Rpb25QYXJhbWV0ZXIsXG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lJbXBlcnNvbmF0aW9uQXV0aFN0cmF0ZWd5LFxuICAgIExpc3RNQ1BUb29sc1JlcXVlc3QsXG4gICAgTGlzdE1DUFRvb2xzUmVzcG9uc2UsXG4gICAgTGlzdE1DUHNSZXF1ZXN0LFxuICAgIExpc3RNQ1BzUmVzcG9uc2UsXG4gICAgTUNQLFxuICAgIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5UGxhdGZvcm1NYW5hZ2VkRnVuY3Rpb25BdXRoU3RyYXRlZ3ksXG4gICAgU2VyaWFsaXplRnVuY3Rpb25SZXF1ZXN0LFxuICAgIFNlcmlhbGl6ZUZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgU2VyaWFsaXplTUNQUmVxdWVzdCxcbiAgICBTZXJpYWxpemVNQ1BSZXNwb25zZSxcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneVVuc3BlY2lmaWVkRnVuY3Rpb25BdXRoU3RyYXRlZ3ksXG4gICAgVXBzZXJ0TUNQUmVxdWVzdCxcbiAgICBWYWxpZGF0ZUZ1bmN0aW9uc1JlcXVlc3QsXG4gICAgVmFsaWRhdGVGdW5jdGlvbnNSZXNwb25zZSxcbiAgICBWYWxpZGF0ZU1DUHNSZXF1ZXN0LFxuICAgIFZhbGlkYXRlTUNQc1Jlc3BvbnNlLFxuICAgIFZhbGlkYXRlRnVuY3Rpb25zUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0LFxuICAgIFZhbGlkYXRlTUNQc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdCxcbn0gZnJvbSAnLi9mdW5jdGlvbic7XG5cbmV4cG9ydCB7XG4gICAgUHJvbXB0TW9kdWxlLFxuICAgIFByb21wdE1vZHVsZUtleSxcbiAgICBQcm9tcHRNb2R1bGVWZXJzaW9uLFxuICAgIFNlcmlhbGl6ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgU2VyaWFsaXplUHJvbXB0TW9kdWxlUmVzcG9uc2UsXG59IGZyb20gJy4vcHJvbXB0JztcblxuZXhwb3J0IHtcbiAgICBHb2FsLFxuICAgIEdvYWxLZXksXG4gICAgU2VyaWFsaXplR29hbFJlcXVlc3QsXG4gICAgU2VyaWFsaXplR29hbFJlc3BvbnNlLFxuICAgIFZhbGlkYXRlR29hbHNSZXF1ZXN0LFxuICAgIFZhbGlkYXRlR29hbHNSZXNwb25zZSxcbiAgICBWYWxpZGF0ZUdvYWxzUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0LFxufSBmcm9tICcuL2dvYWwnO1xuXG5leHBvcnQge1xuICAgIEtleVZhbHVlUGFpcixcbn0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQge1xuICAgIE1vZGVsLFxufSBmcm9tICcuL21vZGVsJztcblxuZXhwb3J0IHtcbiAgICBBc3Npc3RhbnQsXG4gICAgQXNzaXN0YW50S2V5LFxuICAgIENvbmZpZyxcbiAgICBDb25maWd1cmFibGVHb2FsLFxuICAgIERlZXBncmFtQ29uZmlnLFxuICAgIEVsZXZlbkxhYnNDb25maWcsXG4gICAgQ29uZmlnSW5ib3hDb25maWcsXG4gICAgTW9kZWxDb25maWcsXG4gICAgT3BlbkFJQ29uZmlnLFxuICAgIE9wZW5BSVJlYWx0aW1lQ29uZmlnLFxuICAgIFRlbXBsYXRlVmFyaWFibGUsXG4gICAgT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uLFxuICAgIFZhbGlkYXRvcixcbiAgICBDb25maWdWb2ljZUNvbmZpZyxcbn0gZnJvbSAnLi9hc3Npc3RhbnQnO1xuXG5leHBvcnQge1xuICAgIENvbm5lY3Rpb24sXG4gICAgQ29ubmVjdGlvbktleSxcbn0gZnJvbSAnLi9jb25uZWN0aW9uJztcblxuZXhwb3J0IHtcbiAgICBDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2IsXG4gICAgQ2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iUmVzdWx0LFxuICAgIENoYXRDb250ZW50LFxuICAgIENoYXRNZXNzYWdlLFxuICAgIENoYXRVc2VySW5mbyxcbiAgICBDb250ZXh0SW5mbyxcbiAgICBJbWFnZUNvbnRlbnQsXG59IGZyb20gJy4vYW5zd2VyJztcblxuZXhwb3J0IHtcbiAgICBDYW5jZWxUZXN0UnVuUmVxdWVzdCxcbiAgICBUZXN0UmVzdWx0Q2l0YXRpb24sXG4gICAgRGVsZXRlVGVzdENhc2VzUmVxdWVzdCxcbiAgICBHZXRUZXN0UnVuUmVxdWVzdCxcbiAgICBHZXRUZXN0UnVuUmVzcG9uc2UsXG4gICAgTGlzdFRlc3RDYXNlc0J5QXNzaXN0YW50UmVxdWVzdCxcbiAgICBMaXN0VGVzdENhc2VzQnlBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBMaXN0VGVzdFJ1bnNCeUFzc2lzdGFudFJlcXVlc3QsXG4gICAgTGlzdFRlc3RSdW5zQnlBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBSdW5UZXN0c1JlcXVlc3QsXG4gICAgUnVuVGVzdHNSZXNwb25zZSxcbiAgICBTb3J0T3B0aW9ucyxcbiAgICBUZXN0Q2FzZSxcbiAgICBUZXN0UmVzdWx0LFxuICAgIFRlc3RSdW4sXG4gICAgVXBzZXJ0VGVzdENhc2VzUmVxdWVzdCxcbn0gZnJvbSAnLi9pbnRlZ3JhdGlvbi10ZXN0cyc7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzLFxuICAgIE1DUE9wdGlvbnMsXG59IGZyb20gJy4vYW5ub3RhdGlvbnMnO1xuXG5leHBvcnQge1xuICAgIEZpZWxkTWFzayxcbn0gZnJvbSAnLi9maWVsZC1tYXNrJztcblxuZXhwb3J0IHtcbiAgICBCdWlsZERlZmF1bHRBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIEJ1aWxkRGVmYXVsdEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIFNldEFzc2lzdGFudENvbm5lY3Rpb25zUmVxdWVzdENvbm5lY3Rpb25TdGF0ZSxcbiAgICBDcmVhdGVBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIENyZWF0ZUFzc2lzdGFudFJlc3BvbnNlLFxuICAgIENyZWF0ZUdvYWxSZXF1ZXN0LFxuICAgIENyZWF0ZUdvYWxSZXNwb25zZSxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIERlbGV0ZUFzc2lzdGFudFJlcXVlc3QsXG4gICAgRGVsZXRlQ29ubmVjdGlvblJlcXVlc3QsXG4gICAgRGVsZXRlRnVuY3Rpb25SZXF1ZXN0LFxuICAgIERlbGV0ZUdvYWxSZXF1ZXN0LFxuICAgIERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgRGVwbG95UHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBFeGVjdXRlRnVuY3Rpb25SZXF1ZXN0LFxuICAgIEV4ZWN1dGVGdW5jdGlvblJlc3BvbnNlLFxuICAgIExpc3RHb2Fsc1JlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RBc3Npc3RhbnRSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0RnVuY3Rpb25SZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0QXZhaWxhYmxlTW9kZWxzUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RDb25uZWN0aW9uc1JlcXVlc3RGaWx0ZXJzLFxuICAgIEdlbmVyYXRlQ2hhdEFuc3dlclJlcXVlc3QsXG4gICAgR2VuZXJhdGVDaGF0QW5zd2VyUmVzcG9uc2UsXG4gICAgR2V0QXNzaXN0YW50UmVxdWVzdCxcbiAgICBHZXRBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBHZXRDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JSZXF1ZXN0LFxuICAgIEdldENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYlJlc3BvbnNlLFxuICAgIEdldENvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIEdldENvbm5lY3Rpb25SZXNwb25zZSxcbiAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgIEdldEZ1bmN0aW9uUmVxdWVzdCxcbiAgICBHZXRGdW5jdGlvblJlc3BvbnNlLFxuICAgIEdldEdvYWxSZXF1ZXN0LFxuICAgIEdldEdvYWxSZXNwb25zZSxcbiAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRNdWx0aUFzc2lzdGFudFJlcXVlc3QsXG4gICAgR2V0TXVsdGlBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBHZXRNdWx0aUZ1bmN0aW9uUmVxdWVzdCxcbiAgICBHZXRNdWx0aUZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlHb2FsUmVxdWVzdCxcbiAgICBHZXRNdWx0aUdvYWxSZXNwb25zZSxcbiAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0UHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBHZXRQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgR29hbHNEaXNhYmxlZEZvckFjY291bnRHcm91cFJlcXVlc3QsXG4gICAgR29hbHNEaXNhYmxlZEZvckFjY291bnRHcm91cFJlc3BvbnNlLFxuICAgIExpc3RBbGxBc3Npc3RhbnRzQXNzb2NpYXRlZFRvQ29ubmVjdGlvblJlcXVlc3QsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVzcG9uc2UsXG4gICAgTGlzdEFzc2lzdGFudFJlcXVlc3QsXG4gICAgTGlzdEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIExpc3RBdmFpbGFibGVNb2RlbHNSZXF1ZXN0LFxuICAgIExpc3RBdmFpbGFibGVNb2RlbHNSZXNwb25zZSxcbiAgICBMaXN0Q29ubmVjdGlvbnNSZXF1ZXN0LFxuICAgIExpc3RDb25uZWN0aW9uc1Jlc3BvbnNlLFxuICAgIExpc3RGdW5jdGlvblJlcXVlc3QsXG4gICAgTGlzdEZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgTGlzdEdvYWxzUmVxdWVzdCxcbiAgICBMaXN0R29hbHNSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBMaXN0UHJvbXB0TW9kdWxlUmVzcG9uc2UsXG4gICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdCxcbiAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZSxcbiAgICBMaXN0VGVtcGxhdGVWYXJpYWJsZXNSZXF1ZXN0LFxuICAgIExpc3RUZW1wbGF0ZVZhcmlhYmxlc1Jlc3BvbnNlLFxuICAgIEdlbmVyYXRlQ2hhdEFuc3dlclJlcXVlc3RPcHRpb25zLFxuICAgIEdldE11bHRpQXNzaXN0YW50UmVxdWVzdE9wdGlvbnMsXG4gICAgVXBzZXJ0QXNzaXN0YW50UmVxdWVzdE9wdGlvbnMsXG4gICAgR2V0QXNzaXN0YW50UmVxdWVzdE9wdGlvbnMsXG4gICAgQ3JlYXRlQXNzaXN0YW50UmVxdWVzdE9wdGlvbnMsXG4gICAgRXhlY3V0ZUZ1bmN0aW9uUmVxdWVzdE9wdGlvbnMsXG4gICAgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RPcHRpb25zLFxuICAgIFNldEFzc2lzdGFudENvbm5lY3Rpb25zUmVxdWVzdCxcbiAgICBTZXRDb25uZWN0aW9uQXNzaXN0YW50UmVxdWVzdCxcbiAgICBMaXN0R29hbHNSZXF1ZXN0U29ydE9wdGlvbnMsXG4gICAgVXBkYXRlQXNzaXN0YW50UmVxdWVzdCxcbiAgICBVcGRhdGVHb2FsUmVxdWVzdCxcbiAgICBVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIFVwc2VydEFzc2lzdGFudFJlcXVlc3QsXG4gICAgVXBzZXJ0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgVXBzZXJ0Q29ubmVjdGlvblJlcXVlc3QsXG4gICAgVXBzZXJ0RnVuY3Rpb25SZXF1ZXN0LFxuICAgIFVwc2VydEdvYWxSZXF1ZXN0LFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0LFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZSxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZXNSZXF1ZXN0LFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlc1Jlc3BvbnNlLFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdCxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0LFxuICAgIFZhbGlkYXRpb25SZXN1bHQsXG4gICAgVmFsaWRhdGlvblZpb2xhdGlvbixcbn0gZnJvbSAnLi9hcGknO1xuXG4iXX0=
@@ -128,4 +128,53 @@ export class PromptModuleVersion {
128
128
  return toReturn;
129
129
  }
130
130
  }
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYWlfYXNzaXN0YW50c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9wcm9tcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd4QyxNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQVlyQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQzFFLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQUM7UUFDekQsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FBQztRQUM1RCxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQWdDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFD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QUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQUM7UUFDekssT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTmFtZXNwYWNlIH0gZnJvbSAnLi9uYW1lc3BhY2UnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtU3RyaW5nVG9WYWx1ZTxFPihlbnVtUmVmOiBhbnksIHZhbHVlOiBzdHJpbmcpOiBFIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGVudW1SZWZbdmFsdWVdO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvbXB0TW9kdWxlIGltcGxlbWVudHMgaS5Qcm9tcHRNb2R1bGVJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBOYW1lc3BhY2U7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgZGVwbG95ZWRWZXJzaW9uOiBzdHJpbmc7XG4gICAgZGVwbG95ZWRCeTogc3RyaW5nO1xuICAgIHVwZGF0ZWQ6IERhdGU7XG4gICAgZGVwbG95ZWQ6IERhdGU7XG4gICAgbWFuYWdlZDogYm9vbGVhbjtcbiAgICBzb3VyY2VQYXRoOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBQcm9tcHRNb2R1bGUge1xuICAgICAgICBsZXQgbSA9IG5ldyBQcm9tcHRNb2R1bGUoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubmFtZXNwYWNlKSB7bS5uYW1lc3BhY2UgPSBOYW1lc3BhY2UuZnJvbVByb3RvKHByb3RvLm5hbWVzcGFjZSk7fVxuICAgICAgICBpZiAocHJvdG8udXBkYXRlZCkge20udXBkYXRlZCA9IG5ldyBEYXRlKHByb3RvLnVwZGF0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLmRlcGxveWVkKSB7bS5kZXBsb3llZCA9IG5ldyBEYXRlKHByb3RvLmRlcGxveWVkKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUHJvbXB0TW9kdWxlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbmFtZSddID0gdGhpcy5uYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc2NyaXB0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZXNjcmlwdGlvbiddID0gdGhpcy5kZXNjcmlwdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZXBsb3llZFZlcnNpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2RlcGxveWVkVmVyc2lvbiddID0gdGhpcy5kZXBsb3llZFZlcnNpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVwbG95ZWRCeSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGVwbG95ZWRCeSddID0gdGhpcy5kZXBsb3llZEJ5O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVwZGF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudXBkYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWyd1cGRhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnVwZGF0ZWQgPyAodGhpcy51cGRhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnVwZGF0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVwbG95ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZGVwbG95ZWQgIT09IG51bGwpIHt0b1JldHVyblsnZGVwbG95ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZGVwbG95ZWQgPyAodGhpcy5kZXBsb3llZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5kZXBsb3llZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tYW5hZ2VkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtYW5hZ2VkJ10gPSB0aGlzLm1hbmFnZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc291cmNlUGF0aCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc291cmNlUGF0aCddID0gdGhpcy5zb3VyY2VQYXRoO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb21wdE1vZHVsZUtleSBpbXBsZW1lbnRzIGkuUHJvbXB0TW9kdWxlS2V5SW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUHJvbXB0TW9kdWxlS2V5IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUHJvbXB0TW9kdWxlS2V5KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZSkge20ubmFtZXNwYWNlID0gTmFtZXNwYWNlLmZyb21Qcm90byhwcm90by5uYW1lc3BhY2UpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Qcm9tcHRNb2R1bGVLZXlJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlID8gKHRoaXMubmFtZXNwYWNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9tcHRNb2R1bGVWZXJzaW9uIGltcGxlbWVudHMgaS5Qcm9tcHRNb2R1bGVWZXJzaW9uSW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgY3JlYXRlZEJ5OiBzdHJpbmc7XG4gICAgY3JlYXRlZDogRGF0ZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFByb21wdE1vZHVsZVZlcnNpb24ge1xuICAgICAgICBsZXQgbSA9IG5ldyBQcm9tcHRNb2R1bGVWZXJzaW9uKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZSkge20ubmFtZXNwYWNlID0gTmFtZXNwYWNlLmZyb21Qcm90byhwcm90by5uYW1lc3BhY2UpO31cbiAgICAgICAgaWYgKHByb3RvLmNyZWF0ZWQpIHttLmNyZWF0ZWQgPSBuZXcgRGF0ZShwcm90by5jcmVhdGVkKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUHJvbXB0TW9kdWxlVmVyc2lvbkludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubmFtZXNwYWNlICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2UgPyAodGhpcy5uYW1lc3BhY2UgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZlcnNpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZlcnNpb24nXSA9IHRoaXMudmVyc2lvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb250ZW50ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb250ZW50J10gPSB0aGlzLmNvbnRlbnQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3JlYXRlZEJ5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjcmVhdGVkQnknXSA9IHRoaXMuY3JlYXRlZEJ5O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNyZWF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY3JlYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWydjcmVhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNyZWF0ZWQgPyAodGhpcy5jcmVhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNyZWF0ZWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=
131
+ export class SerializePromptModuleRequest {
132
+ static fromProto(proto) {
133
+ let m = new SerializePromptModuleRequest();
134
+ m = Object.assign(m, proto);
135
+ if (proto.promptModule) {
136
+ m.promptModule = PromptModule.fromProto(proto.promptModule);
137
+ }
138
+ return m;
139
+ }
140
+ constructor(kwargs) {
141
+ if (!kwargs) {
142
+ return;
143
+ }
144
+ Object.assign(this, kwargs);
145
+ }
146
+ toApiJson() {
147
+ const toReturn = {};
148
+ if (typeof this.promptModule !== 'undefined' && this.promptModule !== null) {
149
+ toReturn['promptModule'] = 'toApiJson' in this.promptModule ? this.promptModule.toApiJson() : this.promptModule;
150
+ }
151
+ if (typeof this.content !== 'undefined') {
152
+ toReturn['content'] = this.content;
153
+ }
154
+ return toReturn;
155
+ }
156
+ }
157
+ export class SerializePromptModuleResponse {
158
+ static fromProto(proto) {
159
+ let m = new SerializePromptModuleResponse();
160
+ m = Object.assign(m, proto);
161
+ return m;
162
+ }
163
+ constructor(kwargs) {
164
+ if (!kwargs) {
165
+ return;
166
+ }
167
+ Object.assign(this, kwargs);
168
+ }
169
+ toApiJson() {
170
+ const toReturn = {};
171
+ if (typeof this.promptModuleFile !== 'undefined') {
172
+ toReturn['promptModuleFile'] = this.promptModuleFile;
173
+ }
174
+ if (typeof this.contentFile !== 'undefined') {
175
+ toReturn['contentFile'] = this.contentFile;
176
+ }
177
+ return toReturn;
178
+ }
179
+ }
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYWlfYXNzaXN0YW50c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9wcm9tcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd4QyxNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQVlyQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQzFFLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQUM7UUFDekQsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FBQztRQUM1RCxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQWdDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFD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LFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sNkJBQTZCO0lBSXRDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLDZCQUE2QixFQUFFLENBQUM7UUFDNUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBaUQ7UUFDekQsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FBQztRQUN6RyxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUFDO1FBQzFGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5hbWVzcGFjZSB9IGZyb20gJy4vbmFtZXNwYWNlJztcbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb21wdE1vZHVsZSBpbXBsZW1lbnRzIGkuUHJvbXB0TW9kdWxlSW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGRlcGxveWVkVmVyc2lvbjogc3RyaW5nO1xuICAgIGRlcGxveWVkQnk6IHN0cmluZztcbiAgICB1cGRhdGVkOiBEYXRlO1xuICAgIGRlcGxveWVkOiBEYXRlO1xuICAgIG1hbmFnZWQ6IGJvb2xlYW47XG4gICAgc291cmNlUGF0aDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUHJvbXB0TW9kdWxlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUHJvbXB0TW9kdWxlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZSkge20ubmFtZXNwYWNlID0gTmFtZXNwYWNlLmZyb21Qcm90byhwcm90by5uYW1lc3BhY2UpO31cbiAgICAgICAgaWYgKHByb3RvLnVwZGF0ZWQpIHttLnVwZGF0ZWQgPSBuZXcgRGF0ZShwcm90by51cGRhdGVkKTt9XG4gICAgICAgIGlmIChwcm90by5kZXBsb3llZCkge20uZGVwbG95ZWQgPSBuZXcgRGF0ZShwcm90by5kZXBsb3llZCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlByb21wdE1vZHVsZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubmFtZXNwYWNlICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2UgPyAodGhpcy5uYW1lc3BhY2UgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25hbWUnXSA9IHRoaXMubmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZXNjcmlwdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGVzY3JpcHRpb24nXSA9IHRoaXMuZGVzY3JpcHRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVwbG95ZWRWZXJzaW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZXBsb3llZFZlcnNpb24nXSA9IHRoaXMuZGVwbG95ZWRWZXJzaW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlcGxveWVkQnkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2RlcGxveWVkQnknXSA9IHRoaXMuZGVwbG95ZWRCeTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51cGRhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnVwZGF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsndXBkYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy51cGRhdGVkID8gKHRoaXMudXBkYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy51cGRhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlcGxveWVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmRlcGxveWVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ2RlcGxveWVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmRlcGxveWVkID8gKHRoaXMuZGVwbG95ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZGVwbG95ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWFuYWdlZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWFuYWdlZCddID0gdGhpcy5tYW5hZ2VkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNvdXJjZVBhdGggIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NvdXJjZVBhdGgnXSA9IHRoaXMuc291cmNlUGF0aDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9tcHRNb2R1bGVLZXkgaW1wbGVtZW50cyBpLlByb21wdE1vZHVsZUtleUludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFByb21wdE1vZHVsZUtleSB7XG4gICAgICAgIGxldCBtID0gbmV3IFByb21wdE1vZHVsZUtleSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUHJvbXB0TW9kdWxlS2V5SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHJvbXB0TW9kdWxlVmVyc2lvbiBpbXBsZW1lbnRzIGkuUHJvbXB0TW9kdWxlVmVyc2lvbkludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcbiAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIGNyZWF0ZWRCeTogc3RyaW5nO1xuICAgIGNyZWF0ZWQ6IERhdGU7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBQcm9tcHRNb2R1bGVWZXJzaW9uIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUHJvbXB0TW9kdWxlVmVyc2lvbigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIGlmIChwcm90by5jcmVhdGVkKSB7bS5jcmVhdGVkID0gbmV3IERhdGUocHJvdG8uY3JlYXRlZCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlByb21wdE1vZHVsZVZlcnNpb25JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlID8gKHRoaXMubmFtZXNwYWNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52ZXJzaW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2ZXJzaW9uJ10gPSB0aGlzLnZlcnNpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udGVudCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY29udGVudCddID0gdGhpcy5jb250ZW50O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNyZWF0ZWRCeSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3JlYXRlZEJ5J10gPSB0aGlzLmNyZWF0ZWRCeTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNyZWF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsnY3JlYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVhdGVkID8gKHRoaXMuY3JlYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVhdGVkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNlcmlhbGl6ZVByb21wdE1vZHVsZVJlcXVlc3QgaW1wbGVtZW50cyBpLlNlcmlhbGl6ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHByb21wdE1vZHVsZTogUHJvbXB0TW9kdWxlO1xuICAgIGNvbnRlbnQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFNlcmlhbGl6ZVByb21wdE1vZHVsZVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBTZXJpYWxpemVQcm9tcHRNb2R1bGVSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnByb21wdE1vZHVsZSkge20ucHJvbXB0TW9kdWxlID0gUHJvbXB0TW9kdWxlLmZyb21Qcm90byhwcm90by5wcm9tcHRNb2R1bGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5TZXJpYWxpemVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJvbXB0TW9kdWxlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnByb21wdE1vZHVsZSAhPT0gbnVsbCkge3RvUmV0dXJuWydwcm9tcHRNb2R1bGUnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucHJvbXB0TW9kdWxlID8gKHRoaXMucHJvbXB0TW9kdWxlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnByb21wdE1vZHVsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb250ZW50ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb250ZW50J10gPSB0aGlzLmNvbnRlbnQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2VyaWFsaXplUHJvbXB0TW9kdWxlUmVzcG9uc2UgaW1wbGVtZW50cyBpLlNlcmlhbGl6ZVByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBwcm9tcHRNb2R1bGVGaWxlOiBzdHJpbmc7XG4gICAgY29udGVudEZpbGU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFNlcmlhbGl6ZVByb21wdE1vZHVsZVJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU2VyaWFsaXplUHJvbXB0TW9kdWxlUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlNlcmlhbGl6ZVByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJvbXB0TW9kdWxlRmlsZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncHJvbXB0TW9kdWxlRmlsZSddID0gdGhpcy5wcm9tcHRNb2R1bGVGaWxlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbnRlbnRGaWxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb250ZW50RmlsZSddID0gdGhpcy5jb250ZW50RmlsZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbiJdfQ==
@@ -5,7 +5,7 @@
5
5
  // API Service.
6
6
  // *********************************
7
7
  import { Injectable } from '@angular/core';
8
- import { CreatePromptModuleRequest, CreatePromptModuleResponse, CreatePromptModuleVersionRequest, DeletePromptModuleRequest, DeployPromptModuleRequest, GetDeployedPromptModuleVersionRequest, GetDeployedPromptModuleVersionResponse, GetHydratedDeployedPromptModuleVersionRequest, GetHydratedDeployedPromptModuleVersionResponse, GetMultiHydratedDeployedPromptModuleVersionRequest, GetMultiHydratedDeployedPromptModuleVersionResponse, GetPromptModuleRequest, GetPromptModuleResponse, GetPromptModuleVersionRequest, GetPromptModuleVersionResponse, ListPromptModuleRequest, ListPromptModuleResponse, ListPromptModuleVersionsRequest, ListPromptModuleVersionsResponse, UpdatePromptModuleRequest, ValidatePromptModuleRequest, ValidatePromptModuleResponse, ValidatePromptModuleVersionsRequest, ValidatePromptModuleVersionsResponse, ValidatePromptModulesRequest, ValidatePromptModulesResponse, } from './objects/';
8
+ import { CreatePromptModuleRequest, CreatePromptModuleResponse, CreatePromptModuleVersionRequest, DeletePromptModuleRequest, DeployPromptModuleRequest, GetDeployedPromptModuleVersionRequest, GetDeployedPromptModuleVersionResponse, GetHydratedDeployedPromptModuleVersionRequest, GetHydratedDeployedPromptModuleVersionResponse, GetMultiHydratedDeployedPromptModuleVersionRequest, GetMultiHydratedDeployedPromptModuleVersionResponse, GetPromptModuleRequest, GetPromptModuleResponse, GetPromptModuleVersionRequest, GetPromptModuleVersionResponse, ListPromptModuleRequest, ListPromptModuleResponse, ListPromptModuleVersionsRequest, ListPromptModuleVersionsResponse, SerializePromptModuleRequest, SerializePromptModuleResponse, UpdatePromptModuleRequest, ValidatePromptModuleRequest, ValidatePromptModuleResponse, ValidatePromptModuleVersionsRequest, ValidatePromptModuleVersionsResponse, ValidatePromptModulesRequest, ValidatePromptModulesResponse, } 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';
@@ -96,6 +96,11 @@ export class PromptModuleApiService {
96
96
  return this.http.post(this._host + "/ai_assistants.v1alpha1.PromptModuleService/ValidatePromptModuleVersions", request.toApiJson(), this.apiOptions())
97
97
  .pipe(map(resp => ValidatePromptModuleVersionsResponse.fromProto(resp)));
98
98
  }
99
+ serializePromptModule(r) {
100
+ const request = (r.toApiJson) ? r : new SerializePromptModuleRequest(r);
101
+ return this.http.post(this._host + "/ai_assistants.v1alpha1.PromptModuleService/SerializePromptModule", request.toApiJson(), this.apiOptions())
102
+ .pipe(map(resp => SerializePromptModuleResponse.fromProto(resp)));
103
+ }
99
104
  }
100
105
  PromptModuleApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PromptModuleApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
101
106
  PromptModuleApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PromptModuleApiService, providedIn: 'root' });
@@ -103,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
103
108
  type: Injectable,
104
109
  args: [{ providedIn: 'root' }]
105
110
  }] });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LW1vZHVsZS5hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FpX2Fzc2lzdGFudHNfc2RrL3NyYy9saWIvX2ludGVybmFsL3Byb21wdC1tb2R1bGUuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0MseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixnQ0FBZ0MsRUFDaEMseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixxQ0FBcUMsRUFDckMsc0NBQXNDLEVBQ3RDLDZDQUE2QyxFQUM3Qyw4Q0FBOEMsRUFDOUMsa0RBQWtELEVBQ2xELG1EQUFtRCxFQUNuRCxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMsNEJBQTRCLEVBQzVCLDZCQUE2QixHQUNwQyxNQUFNLFlBQVksQ0FBQztBQTZCcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBR25DLE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFcUIsZ0JBQVcsR0FBRyxNQUFNLENB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Q0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDcEUsQ0FBQztJQUNWLENBQUM7O29IQTFHUSxzQkFBc0I7d0hBQXRCLHNCQUFzQixjQURWLE1BQU07NEZBQ2xCLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgICAgICBEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgICAgICBEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgICAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgICAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICAgICAgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgICAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICAgICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgICAgIExpc3RQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdCxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2UsXG4gICAgICAgIFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3QsXG4gICAgICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZSxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVxdWVzdCxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVzcG9uc2UsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUHJvbXB0TW9kdWxlQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0U2VydmljZSA9IGluamVjdChIb3N0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY3JlYXRlKHI6IENyZWF0ZVByb21wdE1vZHVsZVJlcXVlc3QgfCBDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVQcm9tcHRNb2R1bGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVByb21wdE1vZHVsZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9DcmVhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVQcm9tcHRNb2R1bGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVWZXJzaW9uKHI6IENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0IHwgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0NyZWF0ZVZlcnNpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGdldChyOiBHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0IHwgR2V0UHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0UHJvbXB0TW9kdWxlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFByb21wdE1vZHVsZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0UHJvbXB0TW9kdWxlUmVxdWVzdD5yKSA6IG5ldyBHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0UHJvbXB0TW9kdWxlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvR2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0UHJvbXB0TW9kdWxlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0VmVyc2lvbihyOiBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCB8IEdldFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpIDogbmV3IEdldFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0dldFZlcnNpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0RGVwbG95ZWRWZXJzaW9uKHI6IEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QgfCBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpIDogbmV3IEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9HZXREZXBsb3llZFZlcnNpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRIeWRyYXRlZERlcGxveWVkVmVyc2lvbihyOiBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QgfCBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikgOiBuZXcgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9HZXRIeWRyYXRlZERlcGxveWVkVmVyc2lvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlIeWRyYXRlZERlcGxveWVkVmVyc2lvbihyOiBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCB8IEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0dldE11bHRpSHlkcmF0ZWREZXBsb3llZFZlcnNpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlKHI6IFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3QgfCBVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9VcGRhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGRlcGxveShyOiBEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0IHwgRGVwbG95UHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlcGxveVByb21wdE1vZHVsZVJlcXVlc3Q+cikgOiBuZXcgRGVwbG95UHJvbXB0TW9kdWxlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvRGVwbG95XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsaXN0KHI6IExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0IHwgTGlzdFByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RQcm9tcHRNb2R1bGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFByb21wdE1vZHVsZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFByb21wdE1vZHVsZVJlcXVlc3Q+cikgOiBuZXcgTGlzdFByb21wdE1vZHVsZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UHJvbXB0TW9kdWxlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvTGlzdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RQcm9tcHRNb2R1bGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0VmVyc2lvbnMocjogTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdCB8IExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3Q+cikgOiBuZXcgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0xpc3RWZXJzaW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGRlbGV0ZShyOiBEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0IHwgRGVsZXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlUHJvbXB0TW9kdWxlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvRGVsZXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICB2YWxpZGF0ZShyOiBWYWxpZGF0ZVByb21wdE1vZHVsZVJlcXVlc3QgfCBWYWxpZGF0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxWYWxpZGF0ZVByb21wdE1vZHVsZVJlcXVlc3Q+cikgOiBuZXcgVmFsaWRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VmFsaWRhdGVQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9WYWxpZGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdmFsaWRhdGVQcm9tcHRNb2R1bGVzKHI6IFZhbGlkYXRlUHJvbXB0TW9kdWxlc1JlcXVlc3QgfCBWYWxpZGF0ZVByb21wdE1vZHVsZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxWYWxpZGF0ZVByb21wdE1vZHVsZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxWYWxpZGF0ZVByb21wdE1vZHVsZXNSZXF1ZXN0PnIpIDogbmV3IFZhbGlkYXRlUHJvbXB0TW9kdWxlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxWYWxpZGF0ZVByb21wdE1vZHVsZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9WYWxpZGF0ZVByb21wdE1vZHVsZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBWYWxpZGF0ZVByb21wdE1vZHVsZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB2YWxpZGF0ZVByb21wdE1vZHVsZVZlcnNpb25zKHI6IFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0IHwgVmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3Q+cikgOiBuZXcgVmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxWYWxpZGF0ZVByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvVmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LW1vZHVsZS5hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FpX2Fzc2lzdGFudHNfc2RrL3NyYy9saWIvX2ludGVybmFsL3Byb21wdC1tb2R1bGUuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0MseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixnQ0FBZ0MsRUFDaEMseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixxQ0FBcUMsRUFDckMsc0NBQXNDLEVBQ3RDLDZDQUE2QyxFQUM3Qyw4Q0FBOEMsRUFDOUMsa0RBQWtELEVBQ2xELG1EQUFtRCxFQUNuRCxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IseUJBQXlCLEVBQ3pCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsbUNBQW1DLEVBQ25DLG9DQUFvQyxFQUNwQyw0QkFBNEIsRUFDNUIsNkJBQTZCLEdBQ3BDLE1BQU0sWUFBWSxDQUFDO0FBK0JwQixPQUFPLEVBQUMsV0FBVyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHbkMsTUFBTSxPQUFPLHNCQUFzQjtJQURu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VUFBVSxFQUFFLENBQUM7YUFDaE0sSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNwRSxDQUFDO0lBQ1YsQ0FBQztJQUNELHFCQUFxQixDQUFDLENBQXVFO1FBQ3pGLE1BQU0sT0FBTyxHQUFHLENBQWdDLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQWdDLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4SSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF5QyxJQUFJLENBQUMsS0FBSyxHQUFHLG1FQUFtRSxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDbEwsSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLDZCQUE2QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUM3RCxDQUFDO0lBQ1YsQ0FBQzs7b0hBakhRLHNCQUFzQjt3SEFBdEIsc0JBQXNCLGNBRFYsTUFBTTs0RkFDbEIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gQVBJIFNlcnZpY2UuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgICAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgICAgIERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgICAgIERlcGxveVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgICAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgICAgIEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICAgICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0LFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZSxcbiAgICAgICAgU2VyaWFsaXplUHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICAgICAgU2VyaWFsaXplUHJvbXB0TW9kdWxlUmVzcG9uc2UsXG4gICAgICAgIFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3QsXG4gICAgICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZSxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVxdWVzdCxcbiAgICAgICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVzcG9uc2UsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFNlcmlhbGl6ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNlcmlhbGl6ZVByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBWYWxpZGF0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBWYWxpZGF0ZVByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlc1Jlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2ludGVyZmFjZXMvJztcbmltcG9ydCB7SHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIb3N0U2VydmljZX0gZnJvbSAnLi4vX2dlbmVyYXRlZC9ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFByb21wdE1vZHVsZUFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdFNlcnZpY2UgPSBpbmplY3QoSG9zdFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNyZWF0ZShyOiBDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0IHwgQ3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVByb21wdE1vZHVsZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvQ3JlYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlVmVyc2lvbihyOiBDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCB8IENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9DcmVhdGVWZXJzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXQocjogR2V0UHJvbXB0TW9kdWxlUmVxdWVzdCB8IEdldFByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFByb21wdE1vZHVsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFByb21wdE1vZHVsZVJlcXVlc3Q+cikgOiBuZXcgR2V0UHJvbXB0TW9kdWxlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0dldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFByb21wdE1vZHVsZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFZlcnNpb24ocjogR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QgfCBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKSA6IG5ldyBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9HZXRWZXJzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldERlcGxveWVkVmVyc2lvbihyOiBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0IHwgR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKSA6IG5ldyBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvR2V0RGVwbG95ZWRWZXJzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0SHlkcmF0ZWREZXBsb3llZFZlcnNpb24ocjogR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0IHwgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpIDogbmV3IEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvR2V0SHlkcmF0ZWREZXBsb3llZFZlcnNpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpSHlkcmF0ZWREZXBsb3llZFZlcnNpb24ocjogR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QgfCBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9HZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRWZXJzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZShyOiBVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0IHwgVXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvVXBkYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZXBsb3kocjogRGVwbG95UHJvbXB0TW9kdWxlUmVxdWVzdCB8IERlcGxveVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVwbG95UHJvbXB0TW9kdWxlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IERlcGxveVByb21wdE1vZHVsZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0RlcGxveVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdChyOiBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdCB8IExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0UHJvbXB0TW9kdWxlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0xpc3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0UHJvbXB0TW9kdWxlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdFZlcnNpb25zKHI6IExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3QgfCBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0PnIpIDogbmV3IExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9MaXN0VmVyc2lvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkZWxldGUocjogRGVsZXRlUHJvbXB0TW9kdWxlUmVxdWVzdCB8IERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlUHJvbXB0TW9kdWxlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0RlbGV0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgdmFsaWRhdGUocjogVmFsaWRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0IHwgVmFsaWRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxWYWxpZGF0ZVByb21wdE1vZHVsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxWYWxpZGF0ZVByb21wdE1vZHVsZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VmFsaWRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvVmFsaWRhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBWYWxpZGF0ZVByb21wdE1vZHVsZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHZhbGlkYXRlUHJvbXB0TW9kdWxlcyhyOiBWYWxpZGF0ZVByb21wdE1vZHVsZXNSZXF1ZXN0IHwgVmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFZhbGlkYXRlUHJvbXB0TW9kdWxlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVxdWVzdD5yKSA6IG5ldyBWYWxpZGF0ZVByb21wdE1vZHVsZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvVmFsaWRhdGVQcm9tcHRNb2R1bGVzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9ucyhyOiBWYWxpZGF0ZVByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdCB8IFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxWYWxpZGF0ZVByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0PnIpIDogbmV3IFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL1ZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBWYWxpZGF0ZVByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgc2VyaWFsaXplUHJvbXB0TW9kdWxlKHI6IFNlcmlhbGl6ZVByb21wdE1vZHVsZVJlcXVlc3QgfCBTZXJpYWxpemVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTZXJpYWxpemVQcm9tcHRNb2R1bGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2VyaWFsaXplUHJvbXB0TW9kdWxlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZXJpYWxpemVQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IFNlcmlhbGl6ZVByb21wdE1vZHVsZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTZXJpYWxpemVQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9TZXJpYWxpemVQcm9tcHRNb2R1bGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBTZXJpYWxpemVQcm9tcHRNb2R1bGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==