@vendasta/billing 14.5.0 → 14.6.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.
@@ -5,4 +5,4 @@
5
5
  // Interfaces.
6
6
  // *********************************
7
7
  export {};
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0YWlsLWN1c3RvbWVyLWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYmlsbGluZ19zZGsvc3JjL2xpYi9faW50ZXJuYWwvaW50ZXJmYWNlcy9yZXRhaWwtY3VzdG9tZXItY29uZmlndXJhdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGNBQWM7QUFDZCxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSB7XG4gICAgY3VzdG9tZXJJZD86IHN0cmluZztcbiAgICBtZXJjaGFudElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb25maWd1cmF0aW9uPzogUmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvbkludGVyZmFjZSB7XG4gICAgY3VzdG9tZXJJZD86IHN0cmluZztcbiAgICBtZXJjaGFudElkPzogc3RyaW5nO1xuICAgIGludm9pY2VEYXk/OiBudW1iZXI7XG4gICAgbmV4dEludm9pY2VEYXRlPzogRGF0ZTtcbiAgICBhdXRvUG9zdD86IGJvb2xlYW47XG4gICAgY29sbGVjdGlvbk1ldGhvZD86IHN0cmluZztcbiAgICBuZXREPzogbnVtYmVyO1xuICAgIGF1dG9HZW5lcmF0ZT86IGJvb2xlYW47XG4gICAgY29udGFjdElkPzogc3RyaW5nO1xuICAgIHVzZVRlbXBsYXRlSW52b2ljZT86IGJvb2xlYW47XG4gICAgbWVtbz86IHN0cmluZztcbiAgICBhZGRpdGlvbmFsQ29udGFjdElkcz86IHN0cmluZ1tdO1xuICAgIGF1dG9HZW5lcmF0ZVJldGFpbFN1YnNjcmlwdGlvbnM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VydFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGN1c3RvbWVySWQ/OiBzdHJpbmc7XG4gICAgbWVyY2hhbnRJZD86IHN0cmluZztcbiAgICBpbnZvaWNlRGF5PzogbnVtYmVyO1xuICAgIGF1dG9Qb3N0PzogYm9vbGVhbjtcbiAgICBuZXREPzogbnVtYmVyO1xuICAgIGF1dG9HZW5lcmF0ZT86IGJvb2xlYW47XG4gICAgY29udGFjdElkPzogc3RyaW5nO1xuICAgIGNvbGxlY3Rpb25NZXRob2Q/OiBzdHJpbmc7XG4gICAgdXNlVGVtcGxhdGVJbnZvaWNlPzogYm9vbGVhbjtcbiAgICBtZW1vPzogc3RyaW5nO1xuICAgIGFkZGl0aW9uYWxDb250YWN0SWRzPzogc3RyaW5nW107XG4gICAgYXV0b0dlbmVyYXRlUmV0YWlsU3Vic2NyaXB0aW9ucz86IGJvb2xlYW47XG59XG5cbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0YWlsLWN1c3RvbWVyLWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYmlsbGluZ19zZGsvc3JjL2xpYi9faW50ZXJuYWwvaW50ZXJmYWNlcy9yZXRhaWwtY3VzdG9tZXItY29uZmlndXJhdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGNBQWM7QUFDZCxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSB7XG4gICAgY3VzdG9tZXJJZD86IHN0cmluZztcbiAgICBtZXJjaGFudElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb25maWd1cmF0aW9uPzogUmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvbkludGVyZmFjZSB7XG4gICAgY3VzdG9tZXJJZD86IHN0cmluZztcbiAgICBtZXJjaGFudElkPzogc3RyaW5nO1xuICAgIGludm9pY2VEYXk/OiBudW1iZXI7XG4gICAgbmV4dEludm9pY2VEYXRlPzogRGF0ZTtcbiAgICBhdXRvUG9zdD86IGJvb2xlYW47XG4gICAgY29sbGVjdGlvbk1ldGhvZD86IHN0cmluZztcbiAgICBuZXREPzogbnVtYmVyO1xuICAgIGF1dG9HZW5lcmF0ZT86IGJvb2xlYW47XG4gICAgY29udGFjdElkPzogc3RyaW5nO1xuICAgIHVzZVRlbXBsYXRlSW52b2ljZT86IGJvb2xlYW47XG4gICAgbWVtbz86IHN0cmluZztcbiAgICBhZGRpdGlvbmFsQ29udGFjdElkcz86IHN0cmluZ1tdO1xuICAgIGF1dG9HZW5lcmF0ZVJldGFpbFN1YnNjcmlwdGlvbnM/OiBib29sZWFuO1xuICAgIHBheW1lbnRNZXRob2RUeXBlcz86IGUuUGF5bWVudE1ldGhvZFR5cGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcHNlcnRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjdXN0b21lcklkPzogc3RyaW5nO1xuICAgIG1lcmNoYW50SWQ/OiBzdHJpbmc7XG4gICAgaW52b2ljZURheT86IG51bWJlcjtcbiAgICBhdXRvUG9zdD86IGJvb2xlYW47XG4gICAgbmV0RD86IG51bWJlcjtcbiAgICBhdXRvR2VuZXJhdGU/OiBib29sZWFuO1xuICAgIGNvbnRhY3RJZD86IHN0cmluZztcbiAgICBjb2xsZWN0aW9uTWV0aG9kPzogc3RyaW5nO1xuICAgIHVzZVRlbXBsYXRlSW52b2ljZT86IGJvb2xlYW47XG4gICAgbWVtbz86IHN0cmluZztcbiAgICBhZGRpdGlvbmFsQ29udGFjdElkcz86IHN0cmluZ1tdO1xuICAgIGF1dG9HZW5lcmF0ZVJldGFpbFN1YnNjcmlwdGlvbnM/OiBib29sZWFuO1xuICAgIHBheW1lbnRNZXRob2RUeXBlcz86IGUuUGF5bWVudE1ldGhvZFR5cGVbXTtcbn1cblxuIl19
@@ -5,4 +5,4 @@
5
5
  // Interfaces.
6
6
  // *********************************
7
7
  export {};
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXByZXNldC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9pbnRlcmZhY2VzL3N1YnNjcmlwdGlvbi1wcmVzZXQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixjQUFjO0FBQ2Qsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBJbnRlcmZhY2VzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgcHJlc2V0cz86IFN1YnNjcmlwdGlvblByZXNldEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHN1YnNjcmlwdGlvbklkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvblByZXNldEludGVyZmFjZSB7XG4gICAgc3Vic2NyaXB0aW9uSWQ/OiBzdHJpbmc7XG4gICAgYXV0b0JpbGxhYmxlPzogYm9vbGVhbjtcbiAgICBzYWxlc09yZGVySWQ/OiBzdHJpbmc7XG4gICAgcGF5bWVudEludGVudElkPzogc3RyaW5nO1xuICAgIG1lcmNoYW50SWQ/OiBzdHJpbmc7XG59XG5cbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXByZXNldC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9pbnRlcmZhY2VzL3N1YnNjcmlwdGlvbi1wcmVzZXQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixjQUFjO0FBQ2Qsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBJbnRlcmZhY2VzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgcHJlc2V0cz86IFN1YnNjcmlwdGlvblByZXNldEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHN1YnNjcmlwdGlvbklkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvblByZXNldEludGVyZmFjZSB7XG4gICAgc3Vic2NyaXB0aW9uSWQ/OiBzdHJpbmc7XG4gICAgYXV0b0JpbGxhYmxlPzogYm9vbGVhbjtcbiAgICBzYWxlc09yZGVySWQ/OiBzdHJpbmc7XG4gICAgcGF5bWVudEludGVudElkPzogc3RyaW5nO1xuICAgIG1lcmNoYW50SWQ/OiBzdHJpbmc7XG4gICAgYmlsbGluZ1N0YXJ0PzogRGF0ZTtcbiAgICByZW5ld2FsU3RhcnQ/OiBEYXRlO1xuICAgIGV4cGlyeT86IERhdGU7XG59XG5cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import * as e from '../enums';
1
2
  export function enumStringToValue(enumRef, value) {
2
3
  if (typeof value === 'number') {
3
4
  return value;
@@ -63,6 +64,9 @@ export class RetailCustomerConfiguration {
63
64
  if (proto.netD) {
64
65
  m.netD = parseInt(proto.netD, 10);
65
66
  }
67
+ if (proto.paymentMethodTypes) {
68
+ m.paymentMethodTypes = proto.paymentMethodTypes.map((v) => enumStringToValue(e.PaymentMethodType, v));
69
+ }
66
70
  return m;
67
71
  }
68
72
  constructor(kwargs) {
@@ -112,6 +116,9 @@ export class RetailCustomerConfiguration {
112
116
  if (typeof this.autoGenerateRetailSubscriptions !== 'undefined') {
113
117
  toReturn['autoGenerateRetailSubscriptions'] = this.autoGenerateRetailSubscriptions;
114
118
  }
119
+ if (typeof this.paymentMethodTypes !== 'undefined') {
120
+ toReturn['paymentMethodTypes'] = this.paymentMethodTypes;
121
+ }
115
122
  return toReturn;
116
123
  }
117
124
  }
@@ -125,6 +132,9 @@ export class UpsertRetailCustomerConfigurationRequest {
125
132
  if (proto.netD) {
126
133
  m.netD = parseInt(proto.netD, 10);
127
134
  }
135
+ if (proto.paymentMethodTypes) {
136
+ m.paymentMethodTypes = proto.paymentMethodTypes.map((v) => enumStringToValue(e.PaymentMethodType, v));
137
+ }
128
138
  return m;
129
139
  }
130
140
  constructor(kwargs) {
@@ -171,7 +181,10 @@ export class UpsertRetailCustomerConfigurationRequest {
171
181
  if (typeof this.autoGenerateRetailSubscriptions !== 'undefined') {
172
182
  toReturn['autoGenerateRetailSubscriptions'] = this.autoGenerateRetailSubscriptions;
173
183
  }
184
+ if (typeof this.paymentMethodTypes !== 'undefined') {
185
+ toReturn['paymentMethodTypes'] = this.paymentMethodTypes;
186
+ }
174
187
  return toReturn;
175
188
  }
176
189
  }
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0YWlsLWN1c3RvbWVyLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL3JldGFpbC1jdXN0b21lci1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sT0FBTyxxQ0FBcUM7SUFJOUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUkscUNBQXFDLEVBQUUsQ0FBQztRQUNwRCxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUF5RDtRQUNqRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUFDO1FBQ3ZGLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQUM7UUFDdkYs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S0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7U0FBQztRQUNySCxJQUFJLE9BQU8sSUFBSSxDQUFDLCtCQUErQixLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxpQ0FBaUMsQ0FBQyxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQztTQUFDO1FBQ3RKLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtU3RyaW5nVG9WYWx1ZTxFPihlbnVtUmVmOiBhbnksIHZhbHVlOiBzdHJpbmcpOiBFIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGVudW1SZWZbdmFsdWVdO1xufVxuXG5leHBvcnQgY2xhc3MgR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdCBpbXBsZW1lbnRzIGkuR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSB7XG4gICAgY3VzdG9tZXJJZDogc3RyaW5nO1xuICAgIG1lcmNoYW50SWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBHZXRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5HZXRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3VzdG9tZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3VzdG9tZXJJZCddID0gdGhpcy5jdXN0b21lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lcmNoYW50SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lcmNoYW50SWQnXSA9IHRoaXMubWVyY2hhbnRJZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXNwb25zZSBpbXBsZW1lbnRzIGkuR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbmZpZ3VyYXRpb246IFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uY29uZmlndXJhdGlvbikge20uY29uZmlndXJhdGlvbiA9IFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvbi5mcm9tUHJvdG8ocHJvdG8uY29uZmlndXJhdGlvbik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlndXJhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jb25maWd1cmF0aW9uICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NvbmZpZ3VyYXRpb24nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY29uZmlndXJhdGlvbiA/ICh0aGlzLmNvbmZpZ3VyYXRpb24gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY29uZmlndXJhdGlvbjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb24gaW1wbGVtZW50cyBpLlJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvbkludGVyZmFjZSB7XG4gICAgY3VzdG9tZXJJZDogc3RyaW5nO1xuICAgIG1lcmNoYW50SWQ6IHN0cmluZztcbiAgICBpbnZvaWNlRGF5OiBudW1iZXI7XG4gICAgbmV4dEludm9pY2VEYXRlOiBEYXRlO1xuICAgIGF1dG9Qb3N0OiBib29sZWFuO1xuICAgIGNvbGxlY3Rpb25NZXRob2Q6IHN0cmluZztcbiAgICBuZXREOiBudW1iZXI7XG4gICAgYXV0b0dlbmVyYXRlOiBib29sZWFuO1xuICAgIGNvbnRhY3RJZDogc3RyaW5nO1xuICAgIHVzZVRlbXBsYXRlSW52b2ljZTogYm9vbGVhbjtcbiAgICBtZW1vOiBzdHJpbmc7XG4gICAgYWRkaXRpb25hbENvbnRhY3RJZHM6IHN0cmluZ1tdO1xuICAgIGF1dG9HZW5lcmF0ZVJldGFpbFN1YnNjcmlwdGlvbnM6IGJvb2xlYW47XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb24ge1xuICAgICAgICBsZXQgbSA9IG5ldyBSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb24oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uaW52b2ljZURheSkge20uaW52b2ljZURheSA9IHBhcnNlSW50KHByb3RvLmludm9pY2VEYXksIDEwKTt9XG4gICAgICAgIGlmIChwcm90by5uZXh0SW52b2ljZURhdGUpIHttLm5leHRJbnZvaWNlRGF0ZSA9IG5ldyBEYXRlKHByb3RvLm5leHRJbnZvaWNlRGF0ZSk7fVxuICAgICAgICBpZiAocHJvdG8ubmV0RCkge20ubmV0RCA9IHBhcnNlSW50KHByb3RvLm5ldEQsIDEwKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3VzdG9tZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3VzdG9tZXJJZCddID0gdGhpcy5jdXN0b21lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lcmNoYW50SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lcmNoYW50SWQnXSA9IHRoaXMubWVyY2hhbnRJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbnZvaWNlRGF5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpbnZvaWNlRGF5J10gPSB0aGlzLmludm9pY2VEYXk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmV4dEludm9pY2VEYXRlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5leHRJbnZvaWNlRGF0ZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduZXh0SW52b2ljZURhdGUnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmV4dEludm9pY2VEYXRlID8gKHRoaXMubmV4dEludm9pY2VEYXRlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5leHRJbnZvaWNlRGF0ZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdXRvUG9zdCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYXV0b1Bvc3QnXSA9IHRoaXMuYXV0b1Bvc3Q7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29sbGVjdGlvbk1ldGhvZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY29sbGVjdGlvbk1ldGhvZCddID0gdGhpcy5jb2xsZWN0aW9uTWV0aG9kO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5ldEQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25ldEQnXSA9IHRoaXMubmV0RDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdXRvR2VuZXJhdGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F1dG9HZW5lcmF0ZSddID0gdGhpcy5hdXRvR2VuZXJhdGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udGFjdElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb250YWN0SWQnXSA9IHRoaXMuY29udGFjdElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVzZVRlbXBsYXRlSW52b2ljZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndXNlVGVtcGxhdGVJbnZvaWNlJ10gPSB0aGlzLnVzZVRlbXBsYXRlSW52b2ljZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZW1vICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZW1vJ10gPSB0aGlzLm1lbW87fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWRkaXRpb25hbENvbnRhY3RJZHMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FkZGl0aW9uYWxDb250YWN0SWRzJ10gPSB0aGlzLmFkZGl0aW9uYWxDb250YWN0SWRzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1dG9HZW5lcmF0ZVJldGFpbFN1YnNjcmlwdGlvbnMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F1dG9HZW5lcmF0ZVJldGFpbFN1YnNjcmlwdGlvbnMnXSA9IHRoaXMuYXV0b0dlbmVyYXRlUmV0YWlsU3Vic2NyaXB0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVcHNlcnRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0IGltcGxlbWVudHMgaS5VcHNlcnRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjdXN0b21lcklkOiBzdHJpbmc7XG4gICAgbWVyY2hhbnRJZDogc3RyaW5nO1xuICAgIGludm9pY2VEYXk6IG51bWJlcjtcbiAgICBhdXRvUG9zdDogYm9vbGVhbjtcbiAgICBuZXREOiBudW1iZXI7XG4gICAgYXV0b0dlbmVyYXRlOiBib29sZWFuO1xuICAgIGNvbnRhY3RJZDogc3RyaW5nO1xuICAgIGNvbGxlY3Rpb25NZXRob2Q6IHN0cmluZztcbiAgICB1c2VUZW1wbGF0ZUludm9pY2U6IGJvb2xlYW47XG4gICAgbWVtbzogc3RyaW5nO1xuICAgIGFkZGl0aW9uYWxDb250YWN0SWRzOiBzdHJpbmdbXTtcbiAgICBhdXRvR2VuZXJhdGVSZXRhaWxTdWJzY3JpcHRpb25zOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVXBzZXJ0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFVwc2VydFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uaW52b2ljZURheSkge20uaW52b2ljZURheSA9IHBhcnNlSW50KHByb3RvLmludm9pY2VEYXksIDEwKTt9XG4gICAgICAgIGlmIChwcm90by5uZXREKSB7bS5uZXREID0gcGFyc2VJbnQocHJvdG8ubmV0RCwgMTApO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5VcHNlcnRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3VzdG9tZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3VzdG9tZXJJZCddID0gdGhpcy5jdXN0b21lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lcmNoYW50SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lcmNoYW50SWQnXSA9IHRoaXMubWVyY2hhbnRJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbnZvaWNlRGF5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpbnZvaWNlRGF5J10gPSB0aGlzLmludm9pY2VEYXk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV0b1Bvc3QgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F1dG9Qb3N0J10gPSB0aGlzLmF1dG9Qb3N0O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5ldEQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25ldEQnXSA9IHRoaXMubmV0RDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdXRvR2VuZXJhdGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F1dG9HZW5lcmF0ZSddID0gdGhpcy5hdXRvR2VuZXJhdGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udGFjdElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb250YWN0SWQnXSA9IHRoaXMuY29udGFjdElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbGxlY3Rpb25NZXRob2QgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NvbGxlY3Rpb25NZXRob2QnXSA9IHRoaXMuY29sbGVjdGlvbk1ldGhvZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VUZW1wbGF0ZUludm9pY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZVRlbXBsYXRlSW52b2ljZSddID0gdGhpcy51c2VUZW1wbGF0ZUludm9pY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVtbyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVtbyddID0gdGhpcy5tZW1vO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFkZGl0aW9uYWxDb250YWN0SWRzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhZGRpdGlvbmFsQ29udGFjdElkcyddID0gdGhpcy5hZGRpdGlvbmFsQ29udGFjdElkczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdXRvR2VuZXJhdGVSZXRhaWxTdWJzY3JpcHRpb25zICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdXRvR2VuZXJhdGVSZXRhaWxTdWJzY3JpcHRpb25zJ10gPSB0aGlzLmF1dG9HZW5lcmF0ZVJldGFpbFN1YnNjcmlwdGlvbnM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0YWlsLWN1c3RvbWVyLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL3JldGFpbC1jdXN0b21lci1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTlCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sT0FBTyxxQ0FBcUM7SUFJOUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUkscUNBQXFDLEVBQUUsQ0FBQztRQUNwRCxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUF5RDtRQUNqRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUFDO1FBQ3ZGLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMs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QUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUFDO1FBQzdGLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQUM7UUFDcEYsSUFBSSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FBQztRQUN6RyxJQUFJLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztTQUFDO1FBQy9HLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQUM7UUFDckUsSUFBSSxPQUFPLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7U0FBQztRQUNySCxJQUFJLE9BQU8sSUFBSSxDQUFDLCtCQUErQixLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxpQ0FBaUMsQ0FBQyxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQztTQUFDO1FBQ3RKLElBQUksT0FBTyxJQUFJLENBQUMsa0JBQWtCLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQUM7UUFDL0csT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0IGltcGxlbWVudHMgaS5HZXRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjdXN0b21lcklkOiBzdHJpbmc7XG4gICAgbWVyY2hhbnRJZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IEdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jdXN0b21lcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjdXN0b21lcklkJ10gPSB0aGlzLmN1c3RvbWVySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVyY2hhbnRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVyY2hhbnRJZCddID0gdGhpcy5tZXJjaGFudElkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlc3BvbnNlIGltcGxlbWVudHMgaS5HZXRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29uZmlndXJhdGlvbjogUmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBHZXRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5jb25maWd1cmF0aW9uKSB7bS5jb25maWd1cmF0aW9uID0gUmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uLmZyb21Qcm90byhwcm90by5jb25maWd1cmF0aW9uKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWd1cmF0aW9uICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNvbmZpZ3VyYXRpb24gIT09IG51bGwpIHt0b1JldHVyblsnY29uZmlndXJhdGlvbiddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jb25maWd1cmF0aW9uID8gKHRoaXMuY29uZmlndXJhdGlvbiBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jb25maWd1cmF0aW9uO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvbiBpbXBsZW1lbnRzIGkuUmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uSW50ZXJmYWNlIHtcbiAgICBjdXN0b21lcklkOiBzdHJpbmc7XG4gICAgbWVyY2hhbnRJZDogc3RyaW5nO1xuICAgIGludm9pY2VEYXk6IG51bWJlcjtcbiAgICBuZXh0SW52b2ljZURhdGU6IERhdGU7XG4gICAgYXV0b1Bvc3Q6IGJvb2xlYW47XG4gICAgY29sbGVjdGlvbk1ldGhvZDogc3RyaW5nO1xuICAgIG5ldEQ6IG51bWJlcjtcbiAgICBhdXRvR2VuZXJhdGU6IGJvb2xlYW47XG4gICAgY29udGFjdElkOiBzdHJpbmc7XG4gICAgdXNlVGVtcGxhdGVJbnZvaWNlOiBib29sZWFuO1xuICAgIG1lbW86IHN0cmluZztcbiAgICBhZGRpdGlvbmFsQ29udGFjdElkczogc3RyaW5nW107XG4gICAgYXV0b0dlbmVyYXRlUmV0YWlsU3Vic2NyaXB0aW9uczogYm9vbGVhbjtcbiAgICBwYXltZW50TWV0aG9kVHlwZXM6IGUuUGF5bWVudE1ldGhvZFR5cGVbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvbiB7XG4gICAgICAgIGxldCBtID0gbmV3IFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvbigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pbnZvaWNlRGF5KSB7bS5pbnZvaWNlRGF5ID0gcGFyc2VJbnQocHJvdG8uaW52b2ljZURheSwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLm5leHRJbnZvaWNlRGF0ZSkge20ubmV4dEludm9pY2VEYXRlID0gbmV3IERhdGUocHJvdG8ubmV4dEludm9pY2VEYXRlKTt9XG4gICAgICAgIGlmIChwcm90by5uZXREKSB7bS5uZXREID0gcGFyc2VJbnQocHJvdG8ubmV0RCwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLnBheW1lbnRNZXRob2RUeXBlcykge20ucGF5bWVudE1ldGhvZFR5cGVzID0gcHJvdG8ucGF5bWVudE1ldGhvZFR5cGVzLm1hcCgodjogc3RyaW5nKSA9PiBlbnVtU3RyaW5nVG9WYWx1ZTxlLlBheW1lbnRNZXRob2RUeXBlPihlLlBheW1lbnRNZXRob2RUeXBlLCB2KSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvbkludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmN1c3RvbWVySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2N1c3RvbWVySWQnXSA9IHRoaXMuY3VzdG9tZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZXJjaGFudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZXJjaGFudElkJ10gPSB0aGlzLm1lcmNoYW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW52b2ljZURheSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaW52b2ljZURheSddID0gdGhpcy5pbnZvaWNlRGF5O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5leHRJbnZvaWNlRGF0ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uZXh0SW52b2ljZURhdGUgIT09IG51bGwpIHt0b1JldHVyblsnbmV4dEludm9pY2VEYXRlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5leHRJbnZvaWNlRGF0ZSA/ICh0aGlzLm5leHRJbnZvaWNlRGF0ZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uZXh0SW52b2ljZURhdGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV0b1Bvc3QgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F1dG9Qb3N0J10gPSB0aGlzLmF1dG9Qb3N0O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbGxlY3Rpb25NZXRob2QgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NvbGxlY3Rpb25NZXRob2QnXSA9IHRoaXMuY29sbGVjdGlvbk1ldGhvZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uZXREICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduZXREJ10gPSB0aGlzLm5ldEQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV0b0dlbmVyYXRlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdXRvR2VuZXJhdGUnXSA9IHRoaXMuYXV0b0dlbmVyYXRlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbnRhY3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY29udGFjdElkJ10gPSB0aGlzLmNvbnRhY3RJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VUZW1wbGF0ZUludm9pY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZVRlbXBsYXRlSW52b2ljZSddID0gdGhpcy51c2VUZW1wbGF0ZUludm9pY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVtbyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVtbyddID0gdGhpcy5tZW1vO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFkZGl0aW9uYWxDb250YWN0SWRzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhZGRpdGlvbmFsQ29udGFjdElkcyddID0gdGhpcy5hZGRpdGlvbmFsQ29udGFjdElkczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdXRvR2VuZXJhdGVSZXRhaWxTdWJzY3JpcHRpb25zICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdXRvR2VuZXJhdGVSZXRhaWxTdWJzY3JpcHRpb25zJ10gPSB0aGlzLmF1dG9HZW5lcmF0ZVJldGFpbFN1YnNjcmlwdGlvbnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGF5bWVudE1ldGhvZFR5cGVzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXltZW50TWV0aG9kVHlwZXMnXSA9IHRoaXMucGF5bWVudE1ldGhvZFR5cGVzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVwc2VydFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3QgaW1wbGVtZW50cyBpLlVwc2VydFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGN1c3RvbWVySWQ6IHN0cmluZztcbiAgICBtZXJjaGFudElkOiBzdHJpbmc7XG4gICAgaW52b2ljZURheTogbnVtYmVyO1xuICAgIGF1dG9Qb3N0OiBib29sZWFuO1xuICAgIG5ldEQ6IG51bWJlcjtcbiAgICBhdXRvR2VuZXJhdGU6IGJvb2xlYW47XG4gICAgY29udGFjdElkOiBzdHJpbmc7XG4gICAgY29sbGVjdGlvbk1ldGhvZDogc3RyaW5nO1xuICAgIHVzZVRlbXBsYXRlSW52b2ljZTogYm9vbGVhbjtcbiAgICBtZW1vOiBzdHJpbmc7XG4gICAgYWRkaXRpb25hbENvbnRhY3RJZHM6IHN0cmluZ1tdO1xuICAgIGF1dG9HZW5lcmF0ZVJldGFpbFN1YnNjcmlwdGlvbnM6IGJvb2xlYW47XG4gICAgcGF5bWVudE1ldGhvZFR5cGVzOiBlLlBheW1lbnRNZXRob2RUeXBlW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBVcHNlcnRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVXBzZXJ0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pbnZvaWNlRGF5KSB7bS5pbnZvaWNlRGF5ID0gcGFyc2VJbnQocHJvdG8uaW52b2ljZURheSwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLm5ldEQpIHttLm5ldEQgPSBwYXJzZUludChwcm90by5uZXRELCAxMCk7fVxuICAgICAgICBpZiAocHJvdG8ucGF5bWVudE1ldGhvZFR5cGVzKSB7bS5wYXltZW50TWV0aG9kVHlwZXMgPSBwcm90by5wYXltZW50TWV0aG9kVHlwZXMubWFwKCh2OiBzdHJpbmcpID0+IGVudW1TdHJpbmdUb1ZhbHVlPGUuUGF5bWVudE1ldGhvZFR5cGU+KGUuUGF5bWVudE1ldGhvZFR5cGUsIHYpKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVXBzZXJ0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmN1c3RvbWVySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2N1c3RvbWVySWQnXSA9IHRoaXMuY3VzdG9tZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZXJjaGFudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZXJjaGFudElkJ10gPSB0aGlzLm1lcmNoYW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW52b2ljZURheSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaW52b2ljZURheSddID0gdGhpcy5pbnZvaWNlRGF5O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1dG9Qb3N0ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdXRvUG9zdCddID0gdGhpcy5hdXRvUG9zdDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uZXREICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduZXREJ10gPSB0aGlzLm5ldEQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV0b0dlbmVyYXRlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdXRvR2VuZXJhdGUnXSA9IHRoaXMuYXV0b0dlbmVyYXRlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbnRhY3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY29udGFjdElkJ10gPSB0aGlzLmNvbnRhY3RJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb2xsZWN0aW9uTWV0aG9kICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb2xsZWN0aW9uTWV0aG9kJ10gPSB0aGlzLmNvbGxlY3Rpb25NZXRob2Q7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXNlVGVtcGxhdGVJbnZvaWNlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1c2VUZW1wbGF0ZUludm9pY2UnXSA9IHRoaXMudXNlVGVtcGxhdGVJbnZvaWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lbW8gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lbW8nXSA9IHRoaXMubWVtbzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hZGRpdGlvbmFsQ29udGFjdElkcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYWRkaXRpb25hbENvbnRhY3RJZHMnXSA9IHRoaXMuYWRkaXRpb25hbENvbnRhY3RJZHM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV0b0dlbmVyYXRlUmV0YWlsU3Vic2NyaXB0aW9ucyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYXV0b0dlbmVyYXRlUmV0YWlsU3Vic2NyaXB0aW9ucyddID0gdGhpcy5hdXRvR2VuZXJhdGVSZXRhaWxTdWJzY3JpcHRpb25zO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBheW1lbnRNZXRob2RUeXBlcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGF5bWVudE1ldGhvZFR5cGVzJ10gPSB0aGlzLnBheW1lbnRNZXRob2RUeXBlczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbiJdfQ==
@@ -51,6 +51,15 @@ export class SubscriptionPreset {
51
51
  static fromProto(proto) {
52
52
  let m = new SubscriptionPreset();
53
53
  m = Object.assign(m, proto);
54
+ if (proto.billingStart) {
55
+ m.billingStart = new Date(proto.billingStart);
56
+ }
57
+ if (proto.renewalStart) {
58
+ m.renewalStart = new Date(proto.renewalStart);
59
+ }
60
+ if (proto.expiry) {
61
+ m.expiry = new Date(proto.expiry);
62
+ }
54
63
  return m;
55
64
  }
56
65
  constructor(kwargs) {
@@ -76,7 +85,16 @@ export class SubscriptionPreset {
76
85
  if (typeof this.merchantId !== 'undefined') {
77
86
  toReturn['merchantId'] = this.merchantId;
78
87
  }
88
+ if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {
89
+ toReturn['billingStart'] = 'toApiJson' in this.billingStart ? this.billingStart.toApiJson() : this.billingStart;
90
+ }
91
+ if (typeof this.renewalStart !== 'undefined' && this.renewalStart !== null) {
92
+ toReturn['renewalStart'] = 'toApiJson' in this.renewalStart ? this.renewalStart.toApiJson() : this.renewalStart;
93
+ }
94
+ if (typeof this.expiry !== 'undefined' && this.expiry !== null) {
95
+ toReturn['expiry'] = 'toApiJson' in this.expiry ? this.expiry.toApiJson() : this.expiry;
96
+ }
79
97
  return toReturn;
80
98
  }
81
99
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXByZXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2JpbGxpbmdfc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvc3Vic2NyaXB0aW9uLXByZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8saUNBQWlDO0lBRzFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLGlDQUFpQyxFQUFFLENBQUM7UUFDaEQsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FBQztRQUNqRixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQXFEO1FBQzdELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLE9BQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUFDO1FBQ3pLLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxrQ0FBa0M7SUFHM0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksa0NBQWtDLEVBQUUsQ0FBQztRQUNqRCxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUFzRDtRQUM5RCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1NBQUM7UUFDdEcsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtJQU8zQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ2pDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQXNDO1FBQzlDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FBQztRQUNuRyxJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUFDO1FBQzdGLElBQUksT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQUM7UUFDN0YsSUFBSSxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUFDO1FBQ3RHLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQUM7UUFDdkYsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBSZXBsYWNlU3Vic2NyaXB0aW9uUHJlc2V0c1JlcXVlc3QgaW1wbGVtZW50cyBpLlJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgcHJlc2V0czogU3Vic2NyaXB0aW9uUHJlc2V0W107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBSZXBsYWNlU3Vic2NyaXB0aW9uUHJlc2V0c1JlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBSZXBsYWNlU3Vic2NyaXB0aW9uUHJlc2V0c1JlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ucHJlc2V0cykge20ucHJlc2V0cyA9IHByb3RvLnByZXNldHMubWFwKFN1YnNjcmlwdGlvblByZXNldC5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5SZXBsYWNlU3Vic2NyaXB0aW9uUHJlc2V0c1JlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcmVzZXRzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnByZXNldHMgIT09IG51bGwpIHt0b1JldHVyblsncHJlc2V0cyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wcmVzZXRzID8gKHRoaXMucHJlc2V0cyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wcmVzZXRzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVzcG9uc2UgaW1wbGVtZW50cyBpLlJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHN1YnNjcmlwdGlvbklkczogc3RyaW5nW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBSZXBsYWNlU3Vic2NyaXB0aW9uUHJlc2V0c1Jlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUmVwbGFjZVN1YnNjcmlwdGlvblByZXNldHNSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUmVwbGFjZVN1YnNjcmlwdGlvblByZXNldHNSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN1YnNjcmlwdGlvbklkcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3Vic2NyaXB0aW9uSWRzJ10gPSB0aGlzLnN1YnNjcmlwdGlvbklkczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb25QcmVzZXQgaW1wbGVtZW50cyBpLlN1YnNjcmlwdGlvblByZXNldEludGVyZmFjZSB7XG4gICAgc3Vic2NyaXB0aW9uSWQ6IHN0cmluZztcbiAgICBhdXRvQmlsbGFibGU6IGJvb2xlYW47XG4gICAgc2FsZXNPcmRlcklkOiBzdHJpbmc7XG4gICAgcGF5bWVudEludGVudElkOiBzdHJpbmc7XG4gICAgbWVyY2hhbnRJZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU3Vic2NyaXB0aW9uUHJlc2V0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU3Vic2NyaXB0aW9uUHJlc2V0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5TdWJzY3JpcHRpb25QcmVzZXRJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdWJzY3JpcHRpb25JZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3Vic2NyaXB0aW9uSWQnXSA9IHRoaXMuc3Vic2NyaXB0aW9uSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV0b0JpbGxhYmxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdXRvQmlsbGFibGUnXSA9IHRoaXMuYXV0b0JpbGxhYmxlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNhbGVzT3JkZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc2FsZXNPcmRlcklkJ10gPSB0aGlzLnNhbGVzT3JkZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXltZW50SW50ZW50SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BheW1lbnRJbnRlbnRJZCddID0gdGhpcy5wYXltZW50SW50ZW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVyY2hhbnRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVyY2hhbnRJZCddID0gdGhpcy5tZXJjaGFudElkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLXByZXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2JpbGxpbmdfc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvc3Vic2NyaXB0aW9uLXByZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8saUNBQWlDO0lBRzFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLGlDQUFpQyxFQUFFLENBQUM7UUFDaEQsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FBQztRQUNqRixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQXFEO1FBQzdELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxXQUFX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LElBQUksQ0FBQyxZQUFZLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsWUFBb0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUFDO1FBQ3ZNLElBQUksT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFlBQW9CLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7U0FBQztRQUN2TSxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxNQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FBQztRQUNuSyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIFJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVxdWVzdCBpbXBsZW1lbnRzIGkuUmVwbGFjZVN1YnNjcmlwdGlvblByZXNldHNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBwcmVzZXRzOiBTdWJzY3JpcHRpb25QcmVzZXRbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5wcmVzZXRzKSB7bS5wcmVzZXRzID0gcHJvdG8ucHJlc2V0cy5tYXAoU3Vic2NyaXB0aW9uUHJlc2V0LmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByZXNldHMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucHJlc2V0cyAhPT0gbnVsbCkge3RvUmV0dXJuWydwcmVzZXRzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnByZXNldHMgPyAodGhpcy5wcmVzZXRzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnByZXNldHM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVwbGFjZVN1YnNjcmlwdGlvblByZXNldHNSZXNwb25zZSBpbXBsZW1lbnRzIGkuUmVwbGFjZVN1YnNjcmlwdGlvblByZXNldHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgc3Vic2NyaXB0aW9uSWRzOiBzdHJpbmdbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFJlcGxhY2VTdWJzY3JpcHRpb25QcmVzZXRzUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBSZXBsYWNlU3Vic2NyaXB0aW9uUHJlc2V0c1Jlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5SZXBsYWNlU3Vic2NyaXB0aW9uUHJlc2V0c1Jlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc3Vic2NyaXB0aW9uSWRzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzdWJzY3JpcHRpb25JZHMnXSA9IHRoaXMuc3Vic2NyaXB0aW9uSWRzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN1YnNjcmlwdGlvblByZXNldCBpbXBsZW1lbnRzIGkuU3Vic2NyaXB0aW9uUHJlc2V0SW50ZXJmYWNlIHtcbiAgICBzdWJzY3JpcHRpb25JZDogc3RyaW5nO1xuICAgIGF1dG9CaWxsYWJsZTogYm9vbGVhbjtcbiAgICBzYWxlc09yZGVySWQ6IHN0cmluZztcbiAgICBwYXltZW50SW50ZW50SWQ6IHN0cmluZztcbiAgICBtZXJjaGFudElkOiBzdHJpbmc7XG4gICAgYmlsbGluZ1N0YXJ0OiBEYXRlO1xuICAgIHJlbmV3YWxTdGFydDogRGF0ZTtcbiAgICBleHBpcnk6IERhdGU7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBTdWJzY3JpcHRpb25QcmVzZXQge1xuICAgICAgICBsZXQgbSA9IG5ldyBTdWJzY3JpcHRpb25QcmVzZXQoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uYmlsbGluZ1N0YXJ0KSB7bS5iaWxsaW5nU3RhcnQgPSBuZXcgRGF0ZShwcm90by5iaWxsaW5nU3RhcnQpO31cbiAgICAgICAgaWYgKHByb3RvLnJlbmV3YWxTdGFydCkge20ucmVuZXdhbFN0YXJ0ID0gbmV3IERhdGUocHJvdG8ucmVuZXdhbFN0YXJ0KTt9XG4gICAgICAgIGlmIChwcm90by5leHBpcnkpIHttLmV4cGlyeSA9IG5ldyBEYXRlKHByb3RvLmV4cGlyeSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlN1YnNjcmlwdGlvblByZXNldEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN1YnNjcmlwdGlvbklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzdWJzY3JpcHRpb25JZCddID0gdGhpcy5zdWJzY3JpcHRpb25JZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdXRvQmlsbGFibGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F1dG9CaWxsYWJsZSddID0gdGhpcy5hdXRvQmlsbGFibGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2FsZXNPcmRlcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzYWxlc09yZGVySWQnXSA9IHRoaXMuc2FsZXNPcmRlcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBheW1lbnRJbnRlbnRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGF5bWVudEludGVudElkJ10gPSB0aGlzLnBheW1lbnRJbnRlbnRJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZXJjaGFudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZXJjaGFudElkJ10gPSB0aGlzLm1lcmNoYW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYmlsbGluZ1N0YXJ0ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmJpbGxpbmdTdGFydCAhPT0gbnVsbCkge3RvUmV0dXJuWydiaWxsaW5nU3RhcnQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYmlsbGluZ1N0YXJ0ID8gKHRoaXMuYmlsbGluZ1N0YXJ0IGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmJpbGxpbmdTdGFydDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZW5ld2FsU3RhcnQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucmVuZXdhbFN0YXJ0ICE9PSBudWxsKSB7dG9SZXR1cm5bJ3JlbmV3YWxTdGFydCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5yZW5ld2FsU3RhcnQgPyAodGhpcy5yZW5ld2FsU3RhcnQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucmVuZXdhbFN0YXJ0O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmV4cGlyeSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5leHBpcnkgIT09IG51bGwpIHt0b1JldHVyblsnZXhwaXJ5J10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmV4cGlyeSA/ICh0aGlzLmV4cGlyeSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5leHBpcnk7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=
@@ -13030,6 +13030,9 @@ class RetailCustomerConfiguration {
13030
13030
  if (proto.netD) {
13031
13031
  m.netD = parseInt(proto.netD, 10);
13032
13032
  }
13033
+ if (proto.paymentMethodTypes) {
13034
+ m.paymentMethodTypes = proto.paymentMethodTypes.map((v) => enumStringToValue$7(PaymentMethodType, v));
13035
+ }
13033
13036
  return m;
13034
13037
  }
13035
13038
  constructor(kwargs) {
@@ -13079,6 +13082,9 @@ class RetailCustomerConfiguration {
13079
13082
  if (typeof this.autoGenerateRetailSubscriptions !== 'undefined') {
13080
13083
  toReturn['autoGenerateRetailSubscriptions'] = this.autoGenerateRetailSubscriptions;
13081
13084
  }
13085
+ if (typeof this.paymentMethodTypes !== 'undefined') {
13086
+ toReturn['paymentMethodTypes'] = this.paymentMethodTypes;
13087
+ }
13082
13088
  return toReturn;
13083
13089
  }
13084
13090
  }
@@ -13092,6 +13098,9 @@ class UpsertRetailCustomerConfigurationRequest {
13092
13098
  if (proto.netD) {
13093
13099
  m.netD = parseInt(proto.netD, 10);
13094
13100
  }
13101
+ if (proto.paymentMethodTypes) {
13102
+ m.paymentMethodTypes = proto.paymentMethodTypes.map((v) => enumStringToValue$7(PaymentMethodType, v));
13103
+ }
13095
13104
  return m;
13096
13105
  }
13097
13106
  constructor(kwargs) {
@@ -13138,6 +13147,9 @@ class UpsertRetailCustomerConfigurationRequest {
13138
13147
  if (typeof this.autoGenerateRetailSubscriptions !== 'undefined') {
13139
13148
  toReturn['autoGenerateRetailSubscriptions'] = this.autoGenerateRetailSubscriptions;
13140
13149
  }
13150
+ if (typeof this.paymentMethodTypes !== 'undefined') {
13151
+ toReturn['paymentMethodTypes'] = this.paymentMethodTypes;
13152
+ }
13141
13153
  return toReturn;
13142
13154
  }
13143
13155
  }
@@ -14203,6 +14215,15 @@ class SubscriptionPreset {
14203
14215
  static fromProto(proto) {
14204
14216
  let m = new SubscriptionPreset();
14205
14217
  m = Object.assign(m, proto);
14218
+ if (proto.billingStart) {
14219
+ m.billingStart = new Date(proto.billingStart);
14220
+ }
14221
+ if (proto.renewalStart) {
14222
+ m.renewalStart = new Date(proto.renewalStart);
14223
+ }
14224
+ if (proto.expiry) {
14225
+ m.expiry = new Date(proto.expiry);
14226
+ }
14206
14227
  return m;
14207
14228
  }
14208
14229
  constructor(kwargs) {
@@ -14228,6 +14249,15 @@ class SubscriptionPreset {
14228
14249
  if (typeof this.merchantId !== 'undefined') {
14229
14250
  toReturn['merchantId'] = this.merchantId;
14230
14251
  }
14252
+ if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {
14253
+ toReturn['billingStart'] = 'toApiJson' in this.billingStart ? this.billingStart.toApiJson() : this.billingStart;
14254
+ }
14255
+ if (typeof this.renewalStart !== 'undefined' && this.renewalStart !== null) {
14256
+ toReturn['renewalStart'] = 'toApiJson' in this.renewalStart ? this.renewalStart.toApiJson() : this.renewalStart;
14257
+ }
14258
+ if (typeof this.expiry !== 'undefined' && this.expiry !== null) {
14259
+ toReturn['expiry'] = 'toApiJson' in this.expiry ? this.expiry.toApiJson() : this.expiry;
14260
+ }
14231
14261
  return toReturn;
14232
14262
  }
14233
14263
  }