@uengage.io/platform-sdk 2.3.0 → 2.5.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.
@@ -1,2 +1,2 @@
1
1
  export { upsell, createUpsellClient, UpsellApiError, type UpsellClient, type UpsellClientOptions, type UpsellEnv, } from './client';
2
- export type { Cart, CartItem, Channel, KnownLayout, LadderRung, Layout, Placement, PlacementDeleteInput, PlacementDisplay, PlacementRecord, PlacementScope, PlacementUpsertInput, PlacementsQuery, ReasonCode, StrategyParams, SuggestionsInput, SuggestionsResult, Tenant, Touchpoint, UpsellEvent, UpsellEventType, UpsellEventsInput, UpsellItem, UpsellStrategy, } from './schema';
2
+ export type { Cart, CartItem, Channel, ItemSource, KnownLayout, LadderRung, Layout, Placement, PlacementDeleteInput, PlacementDisplay, PlacementRecord, PlacementScope, PlacementUpsertInput, PlacementsQuery, ReasonCode, StrategyParams, SuggestionsInput, SuggestionsResult, Tenant, Touchpoint, UpsellEvent, UpsellEventType, UpsellEventsInput, UpsellItem, UpsellStrategy, UpsellVariant, } from './schema';
@@ -5,4 +5,4 @@ var client_1 = require("./client");
5
5
  Object.defineProperty(exports, "upsell", { enumerable: true, get: function () { return client_1.upsell; } });
6
6
  Object.defineProperty(exports, "createUpsellClient", { enumerable: true, get: function () { return client_1.createUpsellClient; } });
7
7
  Object.defineProperty(exports, "UpsellApiError", { enumerable: true, get: function () { return client_1.UpsellApiError; } });
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXBzZWxsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQU9rQjtBQU5oQixnR0FBQSxNQUFNLE9BQUE7QUFDTiw0R0FBQSxrQkFBa0IsT0FBQTtBQUNsQix3R0FBQSxjQUFjLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICB1cHNlbGwsXG4gIGNyZWF0ZVVwc2VsbENsaWVudCxcbiAgVXBzZWxsQXBpRXJyb3IsXG4gIHR5cGUgVXBzZWxsQ2xpZW50LFxuICB0eXBlIFVwc2VsbENsaWVudE9wdGlvbnMsXG4gIHR5cGUgVXBzZWxsRW52LFxufSBmcm9tICcuL2NsaWVudCc7XG5leHBvcnQgdHlwZSB7XG4gIENhcnQsXG4gIENhcnRJdGVtLFxuICBDaGFubmVsLFxuICBLbm93bkxheW91dCxcbiAgTGFkZGVyUnVuZyxcbiAgTGF5b3V0LFxuICBQbGFjZW1lbnQsXG4gIFBsYWNlbWVudERlbGV0ZUlucHV0LFxuICBQbGFjZW1lbnREaXNwbGF5LFxuICBQbGFjZW1lbnRSZWNvcmQsXG4gIFBsYWNlbWVudFNjb3BlLFxuICBQbGFjZW1lbnRVcHNlcnRJbnB1dCxcbiAgUGxhY2VtZW50c1F1ZXJ5LFxuICBSZWFzb25Db2RlLFxuICBTdHJhdGVneVBhcmFtcyxcbiAgU3VnZ2VzdGlvbnNJbnB1dCxcbiAgU3VnZ2VzdGlvbnNSZXN1bHQsXG4gIFRlbmFudCxcbiAgVG91Y2hwb2ludCxcbiAgVXBzZWxsRXZlbnQsXG4gIFVwc2VsbEV2ZW50VHlwZSxcbiAgVXBzZWxsRXZlbnRzSW5wdXQsXG4gIFVwc2VsbEl0ZW0sXG4gIFVwc2VsbFN0cmF0ZWd5LFxufSBmcm9tICcuL3NjaGVtYSc7XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXBzZWxsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQU9rQjtBQU5oQixnR0FBQSxNQUFNLE9BQUE7QUFDTiw0R0FBQSxrQkFBa0IsT0FBQTtBQUNsQix3R0FBQSxjQUFjLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICB1cHNlbGwsXG4gIGNyZWF0ZVVwc2VsbENsaWVudCxcbiAgVXBzZWxsQXBpRXJyb3IsXG4gIHR5cGUgVXBzZWxsQ2xpZW50LFxuICB0eXBlIFVwc2VsbENsaWVudE9wdGlvbnMsXG4gIHR5cGUgVXBzZWxsRW52LFxufSBmcm9tICcuL2NsaWVudCc7XG5leHBvcnQgdHlwZSB7XG4gIENhcnQsXG4gIENhcnRJdGVtLFxuICBDaGFubmVsLFxuICBJdGVtU291cmNlLFxuICBLbm93bkxheW91dCxcbiAgTGFkZGVyUnVuZyxcbiAgTGF5b3V0LFxuICBQbGFjZW1lbnQsXG4gIFBsYWNlbWVudERlbGV0ZUlucHV0LFxuICBQbGFjZW1lbnREaXNwbGF5LFxuICBQbGFjZW1lbnRSZWNvcmQsXG4gIFBsYWNlbWVudFNjb3BlLFxuICBQbGFjZW1lbnRVcHNlcnRJbnB1dCxcbiAgUGxhY2VtZW50c1F1ZXJ5LFxuICBSZWFzb25Db2RlLFxuICBTdHJhdGVneVBhcmFtcyxcbiAgU3VnZ2VzdGlvbnNJbnB1dCxcbiAgU3VnZ2VzdGlvbnNSZXN1bHQsXG4gIFRlbmFudCxcbiAgVG91Y2hwb2ludCxcbiAgVXBzZWxsRXZlbnQsXG4gIFVwc2VsbEV2ZW50VHlwZSxcbiAgVXBzZWxsRXZlbnRzSW5wdXQsXG4gIFVwc2VsbEl0ZW0sXG4gIFVwc2VsbFN0cmF0ZWd5LFxuICBVcHNlbGxWYXJpYW50LFxufSBmcm9tICcuL3NjaGVtYSc7XG4iXX0=
@@ -23,9 +23,28 @@ export type KnownLayout = 'carousel_2up' | 'horizontal_carousel' | 'grid_2xn_mod
23
23
  export type Layout = KnownLayout | (string & {});
24
24
  /** Why an item was recommended. Channels render these in customer language. */
25
25
  export type ReasonCode = 'popular_now' | 'completes_meal' | 'often_ordered_together' | 'your_usual' | 'chefs_pick';
26
+ /**
27
+ * Which layer produced an item.
28
+ *
29
+ * Separate from `reasonCode` on purpose: `reasonCode` is customer-facing
30
+ * copy the channel renders ("Popular right now"), so overloading it with
31
+ * provenance would change the customer's visible label whenever the
32
+ * source changed.
33
+ *
34
+ * algorithm — scored by the engine, priority pins included
35
+ * merchant_list — the merchant's own list replaced the algorithm
36
+ * fallback — topped up from the backup list, safety rules only
37
+ */
38
+ export type ItemSource = 'algorithm' | 'merchant_list' | 'fallback';
26
39
  /** Which rung of the resolution ladder answered the request. */
27
40
  export type LadderRung = 'full_engine' | 'band_relaxation' | 'popularity_floor' | 'backup_suggestions' | 'empty_degraded';
28
- export type UpsellStrategy = 'menu-order-popularity' | 'legacy-catalog-sample';
41
+ export type UpsellStrategy = 'menu-order-popularity' | 'legacy-catalog-sample'
42
+ /**
43
+ * The merchant's own list replaces the algorithm at this placement.
44
+ * Requires `strategyParams.merchantListItemSlugs`; an empty list falls
45
+ * back to `menu-order-popularity` rather than serving nothing.
46
+ */
47
+ | 'merchant-list';
29
48
  export interface PlacementDisplay {
30
49
  title: string;
31
50
  /** Requested count. Touchpoint policy may cap it lower — see `meta.maxItems`. */
@@ -82,6 +101,21 @@ export interface SuggestionsInput {
82
101
  sessionId?: string;
83
102
  };
84
103
  }
104
+ /**
105
+ * One choosable size of an item with variants — what a picker lists.
106
+ *
107
+ * `itemId` here is what goes into the cart line once the customer
108
+ * chooses. Report it back to `/events` as `variantItemId`, keeping the
109
+ * event's own `itemId` as the DISH — otherwise the `added` event never
110
+ * joins to the `shown` that preceded it.
111
+ */
112
+ export interface UpsellVariant {
113
+ itemId: number;
114
+ itemName: string;
115
+ itemSlug: string | null;
116
+ /** Selling price of THIS size (INR). */
117
+ price: number;
118
+ }
85
119
  export interface UpsellItem {
86
120
  itemId: number;
87
121
  itemName: string;
@@ -95,7 +129,33 @@ export interface UpsellItem {
95
129
  /** Raw legacy `vegNonvegBoth` flag, passed through untranslated. */
96
130
  veg: number | null;
97
131
  brandId: number | null;
132
+ /**
133
+ * True when `price` is a FROM price and the customer must choose a
134
+ * size before this can be added. Open your size picker over
135
+ * `variants` instead of adding `itemId` to the cart — `itemId` is the
136
+ * dish, which carries no price of its own and is not orderable.
137
+ *
138
+ * Only ever true on a channel + touchpoint the platform has opened
139
+ * for variant pickers, so a surface that cannot render one never sees
140
+ * it set and needs no code for it.
141
+ *
142
+ * Optional for the same reason as `source` below: an SDK is routinely
143
+ * newer than the deployment it talks to.
144
+ */
145
+ hasVariants?: boolean;
146
+ /** The choosable sizes, in the merchant's order. Empty unless `hasVariants`. */
147
+ variants?: UpsellVariant[];
98
148
  reasonCode: ReasonCode;
149
+ /**
150
+ * Which layer produced this item.
151
+ *
152
+ * Optional on purpose, and it stays optional. The service always sets
153
+ * it, but an SDK is routinely newer than the deployment it talks to —
154
+ * typing it as required would let TypeScript promise a string that is
155
+ * `undefined` at runtime against any service older than the release
156
+ * that added it. Narrow it yourself if you have pinned both.
157
+ */
158
+ source?: ItemSource;
99
159
  }
100
160
  export interface SuggestionsResult {
101
161
  placement: string;
@@ -105,12 +165,39 @@ export interface SuggestionsResult {
105
165
  enabled: boolean;
106
166
  strategy: UpsellStrategy;
107
167
  configVersion: string;
108
- /** Which ladder rung produced these items. */
168
+ /**
169
+ * The step that PRIMARILY answered — the first one to contribute.
170
+ *
171
+ * Since the ladder became a fill loop, several steps can contribute
172
+ * to one response; `rung` names the one that answered first, so a
173
+ * healthy card that merely topped up its last slot does not read as
174
+ * fully degraded. Read `steps` for how far down it went.
175
+ */
109
176
  rung: LadderRung;
177
+ /**
178
+ * Every step that contributed at least one item, in the order they
179
+ * ran. Optional for the same reason as `UpsellItem.source`: an older
180
+ * service does not send it.
181
+ */
182
+ steps?: LadderRung[];
110
183
  /** Effective cap applied: min(display.maxItems, touchpoint policy). */
111
184
  maxItems: number;
112
185
  /** How long the client may reuse this response, in seconds. */
186
+ /** Seconds this response may be reused. ZERO means do not reuse it. */
113
187
  ttlSeconds: number;
188
+ /**
189
+ * True when this customer's own order history shaped the ranking, so
190
+ * the response belongs to ONE person.
191
+ *
192
+ * `ttlSeconds` is 0 whenever this is set, so a client that caches on
193
+ * the TTL is already correct. Read this only if you want to cache
194
+ * per customer instead of not caching — in which case the customer
195
+ * MUST be part of your cache key.
196
+ *
197
+ * Optional for the same reason as `source`: an SDK is routinely
198
+ * newer than the deployment it talks to.
199
+ */
200
+ personalised?: boolean;
114
201
  /** True when the candidate source failed and the service degraded to empty. */
115
202
  degraded?: boolean;
116
203
  };
@@ -124,8 +211,25 @@ export interface StrategyParams {
124
211
  neverSuggestItemSlugs?: string[];
125
212
  /** "My Priority Items" — occupy reserved slots ahead of scored items. */
126
213
  priorityItemSlugs?: string[];
127
- /** "Backup Suggestions" — 2-6 items, served when everything else is empty. */
214
+ /**
215
+ * "Backup Suggestions" — up to 6 items. Skips the price band (the band
216
+ * is usually what emptied the pool) but still respects stock, cart,
217
+ * exclusions, diet and `maxPrice`. It TOPS UP a short list rather than
218
+ * only firing when everything else returned nothing, so one scored
219
+ * item plus two backup items is a valid response.
220
+ */
128
221
  backupItemSlugs?: string[];
222
+ /**
223
+ * The merchant's own list for this placement, up to 12 items. Only read
224
+ * when `strategy` is `merchant-list`.
225
+ *
226
+ * Distinct from `includedItemSlugs`, which is a FILTER over the whole
227
+ * menu — items still get ranked by the strategy and still report as
228
+ * `source: 'algorithm'`. This REPLACES the pool, rotates within it so a
229
+ * 10-item list on a 3-slot card shows all ten over time, and reports as
230
+ * `source: 'merchant_list'`.
231
+ */
232
+ merchantListItemSlugs?: string[];
129
233
  excludeCartItems?: boolean;
130
234
  maxPrice?: number;
131
235
  }
@@ -187,7 +291,25 @@ export interface PlacementsQuery {
187
291
  export type UpsellEventType = 'shown' | 'added' | 'ignored';
188
292
  export interface UpsellEvent {
189
293
  type: UpsellEventType;
294
+ /**
295
+ * Echo the item's `source`. This is what makes "is my list performing
296
+ * better than your algorithm?" answerable — attach rate is only
297
+ * comparable by layer if the layer is recorded on the event.
298
+ */
299
+ source?: ItemSource;
300
+ /**
301
+ * ALWAYS the id the suggestion was served under. For an item with
302
+ * `hasVariants` that is the DISH, not the size the customer chose —
303
+ * sending the size id leaves this event unjoinable to the `shown`
304
+ * that preceded it, so attach rate for every picker card reads zero.
305
+ */
190
306
  itemId: number;
307
+ /**
308
+ * Which size was chosen, when `itemId` is an item with variants.
309
+ * Answers whether a "from 145" card sells Regulars or Larges, which
310
+ * cannot be recovered later from a dataset that never carried it.
311
+ */
312
+ variantItemId?: number;
191
313
  reasonCode?: ReasonCode;
192
314
  /** ISO-8601. Defaults to server receive time when omitted. */
193
315
  occurredAt?: string;
@@ -9,4 +9,4 @@
9
9
  * admin methods.
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Vwc2VsbC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7OztHQVFHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUeXBlIHN1cmZhY2UgZm9yIHRoZSBwbGF0Zm9ybSBVcHNlbGwgQVBJLlxuICpcbiAqIFR3byBjb25zdW1lci1mYWNpbmcgY2FsbHM6IGBwbGFjZW1lbnRzKC4uLilgICh3aGljaCB1cHNlbGwgc3VyZmFjZXMgYVxuICogY2hhbm5lbCBzaG91bGQgcmVuZGVyIGZvciBhIHRlbmFudCkgYW5kIGBzdWdnZXN0KC4uLilgIChpdGVtcyBmb3Igb25lXG4gKiBwbGFjZW1lbnQgZ2l2ZW4gdGhlIGxpdmUgY2FydCkuIGByZXBvcnRFdmVudHMoLi4uKWAgZmVlZHMgYXR0YWNoLXJhdGVcbiAqIHRlbGVtZXRyeS4gUGxhY2VtZW50IGNvbmZpZyBpcyBtYW5hZ2VkIHZpYSB0aGUgc2VydmljZS1hY3Rvci1vbmx5XG4gKiBhZG1pbiBtZXRob2RzLlxuICovXG5cbmV4cG9ydCB0eXBlIENoYW5uZWwgPSAnbW9iaWxlX2FwcCcgfCAna2lvc2snIHwgJ3doaXRlbGFiZWxfd2ViJyB8ICd3aGF0c2FwcCcgfCAndm9pY2UnO1xuXG4vKipcbiAqIEEgbW9tZW50IGluIHRoZSBjdXN0b21lciBqb3VybmV5IOKAlCB0aGUgdW5pdCBvZiBwbGF0Zm9ybSBwb2xpY3lcbiAqIChwcmljZSBiYW5kLCBtYXggaXRlbXMsIGFuZCBsYXRlciB0aGUgc2lnbmFsIHdlaWdodCBwcm9maWxlKS4gQVxuICogcGxhY2VtZW50IGlzIGEgY2hhbm5lbCdzIGpvdXJuZXkgbGFiZWwgcG9pbnRpbmcgYXQgb25lIG9mIHRoZXNlLlxuICovXG5leHBvcnQgdHlwZSBUb3VjaHBvaW50ID1cbiAgfCAnaG9tZSdcbiAgfCAnbWVudV9icm93c2luZydcbiAgfCAnbWVudV9jb21wb3NpbmcnXG4gIHwgJ3NlYXJjaF9ub19yZXN1bHQnXG4gIHwgJ2NhcnQnXG4gIHwgJ3ByZV9jaGVja291dCdcbiAgfCAncG9zdF9vcmRlcic7XG5cbi8qKlxuICogUmVuZGVyaW5nIGhpbnQsIG93bmVkIGJ5IHRoZSBjaGFubmVsIGZyb250ZW5kIOKAlCB0aGUgcGxhdGZvcm0gbmV2ZXJcbiAqIGludGVycHJldHMgaXQuIEtub3duIHZhbHVlcyBhcmUgbGlzdGVkIGZvciBlZGl0b3IgY29tcGxldGlvbiwgYnV0IGFueVxuICogbG93ZXJjYXNlIGlkZW50aWZpZXIgaXMgdmFsaWQgc28gbmV3IGxheW91dHMgbmVlZCBubyBTREsgcmVsZWFzZS5cbiAqL1xuZXhwb3J0IHR5cGUgS25vd25MYXlvdXQgPVxuICB8ICdjYXJvdXNlbF8ydXAnXG4gIHwgJ2hvcml6b250YWxfY2Fyb3VzZWwnXG4gIHwgJ2dyaWRfMnhuX21vZGFsJ1xuICB8ICdjYXJvdXNlbF8xdXAnXG4gIHwgJ3ZlcnRpY2FsX2xpc3QnXG4gIHwgJ2dyaWRfM3huJ1xuICB8ICdjb21wYWN0X2xpc3QnXG4gIHwgJ2hlcm9fYmFubmVyJztcblxuZXhwb3J0IHR5cGUgTGF5b3V0ID0gS25vd25MYXlvdXQgfCAoc3RyaW5nICYge30pO1xuXG4vKiogV2h5IGFuIGl0ZW0gd2FzIHJlY29tbWVuZGVkLiBDaGFubmVscyByZW5kZXIgdGhlc2UgaW4gY3VzdG9tZXIgbGFuZ3VhZ2UuICovXG5leHBvcnQgdHlwZSBSZWFzb25Db2RlID1cbiAgfCAncG9wdWxhcl9ub3cnXG4gIHwgJ2NvbXBsZXRlc19tZWFsJ1xuICB8ICdvZnRlbl9vcmRlcmVkX3RvZ2V0aGVyJ1xuICB8ICd5b3VyX3VzdWFsJ1xuICB8ICdjaGVmc19waWNrJztcblxuLyoqIFdoaWNoIHJ1bmcgb2YgdGhlIHJlc29sdXRpb24gbGFkZGVyIGFuc3dlcmVkIHRoZSByZXF1ZXN0LiAqL1xuZXhwb3J0IHR5cGUgTGFkZGVyUnVuZyA9XG4gIHwgJ2Z1bGxfZW5naW5lJ1xuICB8ICdiYW5kX3JlbGF4YXRpb24nXG4gIHwgJ3BvcHVsYXJpdHlfZmxvb3InXG4gIHwgJ2JhY2t1cF9zdWdnZXN0aW9ucydcbiAgfCAnZW1wdHlfZGVncmFkZWQnO1xuXG5leHBvcnQgdHlwZSBVcHNlbGxTdHJhdGVneSA9ICdtZW51LW9yZGVyLXBvcHVsYXJpdHknIHwgJ2xlZ2FjeS1jYXRhbG9nLXNhbXBsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50RGlzcGxheSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIC8qKiBSZXF1ZXN0ZWQgY291bnQuIFRvdWNocG9pbnQgcG9saWN5IG1heSBjYXAgaXQgbG93ZXIg4oCUIHNlZSBgbWV0YS5tYXhJdGVtc2AuICovXG4gIG1heEl0ZW1zOiBudW1iZXI7XG4gIGxheW91dDogTGF5b3V0O1xufVxuXG4vKiogUmVzb2x2ZWQgcHVibGljIHBsYWNlbWVudCAoYnVzaW5lc3Mgb3ZlcnJpZGUgPiBicmFuZCA+IHBsYXRmb3JtIGRlZmF1bHQpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbGFjZW1lbnQge1xuICBrZXk6IHN0cmluZztcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAgdG91Y2hwb2ludDogVG91Y2hwb2ludDtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgZGlzcGxheTogUGxhY2VtZW50RGlzcGxheTtcbiAgY29uZmlnVmVyc2lvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlbmFudCB7XG4gIHBhcmVudElkOiBudW1iZXI7XG4gIGJ1c2luZXNzSWQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0SXRlbSB7XG4gIGl0ZW1JZDogbnVtYmVyO1xuICBxdHk6IG51bWJlcjtcbiAgdW5pdFByaWNlOiBudW1iZXI7XG4gIC8qKiBPcHRpb25hbDsgbGV0cyB0aGUgZGlldGFyeSBnYXRlIGFuZCBjYXRlZ29yeSBuby1yZXBlYXQgc2VlIGNhcnQgY29udGVudHMuICovXG4gIGl0ZW1TbHVnPzogc3RyaW5nO1xuICBzZWN0aW9uTmFtZT86IHN0cmluZztcbiAgLyoqIExlZ2FjeSB2ZWdOb252ZWdCb3RoIGZsYWc6IDEgdmVnLCAyIG5vbi12ZWcsIDMgYm90aC9lZ2cuICovXG4gIHZlZz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0IHtcbiAgaXRlbXM6IENhcnRJdGVtW107XG4gIHN1YnRvdGFsOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbnNJbnB1dCB7XG4gIGNoYW5uZWw6IENoYW5uZWw7XG4gIHBsYWNlbWVudDogc3RyaW5nO1xuICB0ZW5hbnQ6IFRlbmFudDtcbiAgY29udGV4dDoge1xuICAgIGNhcnQ6IENhcnQ7XG4gICAgZnVsZmlsbWVudE1vZGU/OiAnZGVsaXZlcnknIHwgJ3BpY2t1cCcgfCAnZGluZV9pbic7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWw7IHVudXNlZCBieSB0aGUgdjEgc2NvcmVycy4gSW4gdGhlIGNvbnRyYWN0IGZyb20gZGF5IG9uZVxuICAgICAqIHNvIHBlcnNvbmFsaXphdGlvbiBsYW5kcyB3aXRob3V0IGEgYnJlYWsuIGBpZGAgTVVTVCBiZSB0aGUgb3BhcXVlXG4gICAgICogcGxhdGZvcm0gY3VzdG9tZXIgaWQsIG5ldmVyIGEgbW9iaWxlIG51bWJlci5cbiAgICAgKi9cbiAgICBjdXN0b21lcj86IHsgaWQ6IHN0cmluZyB9O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsOyBub3QgeWV0IGFjdGVkIG9uLiBJbXByZXNzaW9uIGZhdGlndWUgaXMgc2Vzc2lvbi1zY29wZWRcbiAgICAgKiBhbmQgc2hhcmVkIGFjcm9zcyB0b3VjaHBvaW50cyDigJQgc2VuZCBpdCBub3cgc28gY2hhbm5lbHNcbiAgICAgKiBpbnN0cnVtZW50IG9uY2UgcmF0aGVyIHRoYW4gdHdpY2UuXG4gICAgICovXG4gICAgc2Vzc2lvbklkPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VsbEl0ZW0ge1xuICBpdGVtSWQ6IG51bWJlcjtcbiAgaXRlbU5hbWU6IHN0cmluZztcbiAgaXRlbVNsdWc6IHN0cmluZyB8IG51bGw7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBzZWN0aW9uSWQ6IG51bWJlciB8IG51bGw7XG4gIHNlY3Rpb25OYW1lOiBzdHJpbmcgfCBudWxsO1xuICAvKiogU2VsbGluZyBwcmljZSAoSU5SKS4gKi9cbiAgcHJpY2U6IG51bWJlcjtcbiAgaW1hZ2U6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBSYXcgbGVnYWN5IGB2ZWdOb252ZWdCb3RoYCBmbGFnLCBwYXNzZWQgdGhyb3VnaCB1bnRyYW5zbGF0ZWQuICovXG4gIHZlZzogbnVtYmVyIHwgbnVsbDtcbiAgYnJhbmRJZDogbnVtYmVyIHwgbnVsbDtcbiAgcmVhc29uQ29kZTogUmVhc29uQ29kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0aW9uc1Jlc3VsdCB7XG4gIHBsYWNlbWVudDogc3RyaW5nO1xuICB0b3VjaHBvaW50OiBUb3VjaHBvaW50O1xuICBpdGVtczogVXBzZWxsSXRlbVtdO1xuICBtZXRhOiB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBzdHJhdGVneTogVXBzZWxsU3RyYXRlZ3k7XG4gICAgY29uZmlnVmVyc2lvbjogc3RyaW5nO1xuICAgIC8qKiBXaGljaCBsYWRkZXIgcnVuZyBwcm9kdWNlZCB0aGVzZSBpdGVtcy4gKi9cbiAgICBydW5nOiBMYWRkZXJSdW5nO1xuICAgIC8qKiBFZmZlY3RpdmUgY2FwIGFwcGxpZWQ6IG1pbihkaXNwbGF5Lm1heEl0ZW1zLCB0b3VjaHBvaW50IHBvbGljeSkuICovXG4gICAgbWF4SXRlbXM6IG51bWJlcjtcbiAgICAvKiogSG93IGxvbmcgdGhlIGNsaWVudCBtYXkgcmV1c2UgdGhpcyByZXNwb25zZSwgaW4gc2Vjb25kcy4gKi9cbiAgICB0dGxTZWNvbmRzOiBudW1iZXI7XG4gICAgLyoqIFRydWUgd2hlbiB0aGUgY2FuZGlkYXRlIHNvdXJjZSBmYWlsZWQgYW5kIHRoZSBzZXJ2aWNlIGRlZ3JhZGVkIHRvIGVtcHR5LiAqL1xuICAgIGRlZ3JhZGVkPzogYm9vbGVhbjtcbiAgfTtcbn1cblxuLyoqIE1lcmNoYW50LWNvbnRyb2xsZWQgc2VsZWN0aW9uIGlucHV0cy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RyYXRlZ3lQYXJhbXMge1xuICBpbmNsdWRlZEl0ZW1TbHVncz86IHN0cmluZ1tdO1xuICBpbmNsdWRlZFNlY3Rpb25zPzogc3RyaW5nW107XG4gIGV4Y2x1ZGVkU2VjdGlvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIFwiTmV2ZXIgU3VnZ2VzdCBUaGVzZVwiIOKAlCBhYnNvbHV0ZSwgb3ZlcnJpZGVzIHRoZSBwcmlvcml0eSBsaXN0LiAqL1xuICBuZXZlclN1Z2dlc3RJdGVtU2x1Z3M/OiBzdHJpbmdbXTtcbiAgLyoqIFwiTXkgUHJpb3JpdHkgSXRlbXNcIiDigJQgb2NjdXB5IHJlc2VydmVkIHNsb3RzIGFoZWFkIG9mIHNjb3JlZCBpdGVtcy4gKi9cbiAgcHJpb3JpdHlJdGVtU2x1Z3M/OiBzdHJpbmdbXTtcbiAgLyoqIFwiQmFja3VwIFN1Z2dlc3Rpb25zXCIg4oCUIDItNiBpdGVtcywgc2VydmVkIHdoZW4gZXZlcnl0aGluZyBlbHNlIGlzIGVtcHR5LiAqL1xuICBiYWNrdXBJdGVtU2x1Z3M/OiBzdHJpbmdbXTtcbiAgZXhjbHVkZUNhcnRJdGVtcz86IGJvb2xlYW47XG4gIG1heFByaWNlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBQbGFjZW1lbnRTY29wZSA9ICdkZWZhdWx0JyB8ICd0ZW5hbnQnIHwgJ2J1c2luZXNzJztcblxuLyoqIFJhdyBhZG1pbi1wbGFuZSBjb25maWcgcm93IChubyBwcmVjZWRlbmNlIG1lcmdlIGFwcGxpZWQpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbGFjZW1lbnRSZWNvcmQge1xuICBzY29wZTogUGxhY2VtZW50U2NvcGU7XG4gIHBhcmVudElkPzogbnVtYmVyO1xuICBidXNpbmVzc0lkPzogbnVtYmVyO1xuICBjaGFubmVsOiBDaGFubmVsO1xuICBrZXk6IHN0cmluZztcbiAgdG91Y2hwb2ludDogVG91Y2hwb2ludDtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgZGlzcGxheTogUGxhY2VtZW50RGlzcGxheTtcbiAgc3RyYXRlZ3k6IFVwc2VsbFN0cmF0ZWd5O1xuICBzdHJhdGVneVBhcmFtczogU3RyYXRlZ3lQYXJhbXM7XG4gIGNvbmZpZ1ZlcnNpb246IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRCeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFkbWluIHVwc2VydC4gU2NvcGUgaXMgZGVyaXZlZDogbm8gcGFyZW50SWQg4oaSIHBsYXRmb3JtIGRlZmF1bHQ7XG4gKiBwYXJlbnRJZCBvbmx5IOKGkiBicmFuZCByb3c7IHBhcmVudElkICsgYnVzaW5lc3NJZCDihpIgYnVzaW5lc3Mgb3ZlcnJpZGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50VXBzZXJ0SW5wdXQge1xuICBwYXJlbnRJZD86IG51bWJlcjtcbiAgYnVzaW5lc3NJZD86IG51bWJlcjtcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAga2V5OiBzdHJpbmc7XG4gIHRvdWNocG9pbnQ6IFRvdWNocG9pbnQ7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGRpc3BsYXk6IFBsYWNlbWVudERpc3BsYXk7XG4gIHN0cmF0ZWd5PzogVXBzZWxsU3RyYXRlZ3k7XG4gIHN0cmF0ZWd5UGFyYW1zPzogU3RyYXRlZ3lQYXJhbXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50RGVsZXRlSW5wdXQge1xuICBwYXJlbnRJZD86IG51bWJlcjtcbiAgYnVzaW5lc3NJZD86IG51bWJlcjtcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAga2V5OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXF1aXJlZCBieSB0aGUgc2VydmVyIHdoZW4gYHBhcmVudElkYCBpcyBvbWl0dGVkLCBiZWNhdXNlIHRoYXQgY2FsbFxuICAgKiB0YXJnZXRzIHRoZSBQTEFURk9STSBERUZBVUxUIHJvdyBhbmQgc28gcmVtb3ZlcyB0aGUgcGxhY2VtZW50IGZvclxuICAgKiBldmVyeSB0ZW5hbnQgdGhhdCBoYXMgbm90IG92ZXJyaWRkZW4gaXQuIFdpdGhvdXQgdGhpcyB0aGUgc2VydmVyXG4gICAqIHJlamVjdHMgdGhlIHJlcXVlc3Qgd2l0aCA0MDAgcmF0aGVyIHRoYW4gZ3Vlc3NpbmcgdGhhdCBhIG1pc3NpbmdcbiAgICogcGFyZW50SWQgd2FzIGRlbGliZXJhdGUuXG4gICAqXG4gICAqIERlbGliZXJhdGVseSBub3QgZGVmYXVsdGVkIHRvIGB0cnVlYCBoZXJlOiB0aGUgd2hvbGUgcG9pbnQgb2YgdGhlXG4gICAqIGZsYWcgaXMgdGhhdCBkZWxldGluZyBhIGRlZmF1bHQgbXVzdCBiZSBzdGF0ZWQsIG5vdCBpbmZlcnJlZCBmcm9tXG4gICAqIHRoZSBzaGFwZSBvZiB0aGUgY2FsbC5cbiAgICovXG4gIGNvbmZpcm1EZWxldGVEZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFjZW1lbnRzUXVlcnkge1xuICBjaGFubmVsOiBDaGFubmVsO1xuICBwYXJlbnRJZDogbnVtYmVyO1xuICBidXNpbmVzc0lkOiBudW1iZXI7XG59XG5cbi8vIOKUgOKUgOKUgCBBdHRhY2gtcmF0ZSB0ZWxlbWV0cnkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbmV4cG9ydCB0eXBlIFVwc2VsbEV2ZW50VHlwZSA9ICdzaG93bicgfCAnYWRkZWQnIHwgJ2lnbm9yZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VsbEV2ZW50IHtcbiAgdHlwZTogVXBzZWxsRXZlbnRUeXBlO1xuICBpdGVtSWQ6IG51bWJlcjtcbiAgcmVhc29uQ29kZT86IFJlYXNvbkNvZGU7XG4gIC8qKiBJU08tODYwMS4gRGVmYXVsdHMgdG8gc2VydmVyIHJlY2VpdmUgdGltZSB3aGVuIG9taXR0ZWQuICovXG4gIG9jY3VycmVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZWxsRXZlbnRzSW5wdXQge1xuICBjaGFubmVsOiBDaGFubmVsO1xuICBwbGFjZW1lbnQ6IHN0cmluZztcbiAgdGVuYW50OiBUZW5hbnQ7XG4gIHNlc3Npb25JZD86IHN0cmluZztcbiAgLyoqIEVjaG8gYG1ldGEuY29uZmlnVmVyc2lvbmAgZnJvbSB0aGUgcmVzcG9uc2UgYmVpbmcgcmVwb3J0ZWQgb24uICovXG4gIGNvbmZpZ1ZlcnNpb24/OiBzdHJpbmc7XG4gIGV2ZW50czogVXBzZWxsRXZlbnRbXTtcbn1cbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Vwc2VsbC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7OztHQVFHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUeXBlIHN1cmZhY2UgZm9yIHRoZSBwbGF0Zm9ybSBVcHNlbGwgQVBJLlxuICpcbiAqIFR3byBjb25zdW1lci1mYWNpbmcgY2FsbHM6IGBwbGFjZW1lbnRzKC4uLilgICh3aGljaCB1cHNlbGwgc3VyZmFjZXMgYVxuICogY2hhbm5lbCBzaG91bGQgcmVuZGVyIGZvciBhIHRlbmFudCkgYW5kIGBzdWdnZXN0KC4uLilgIChpdGVtcyBmb3Igb25lXG4gKiBwbGFjZW1lbnQgZ2l2ZW4gdGhlIGxpdmUgY2FydCkuIGByZXBvcnRFdmVudHMoLi4uKWAgZmVlZHMgYXR0YWNoLXJhdGVcbiAqIHRlbGVtZXRyeS4gUGxhY2VtZW50IGNvbmZpZyBpcyBtYW5hZ2VkIHZpYSB0aGUgc2VydmljZS1hY3Rvci1vbmx5XG4gKiBhZG1pbiBtZXRob2RzLlxuICovXG5cbmV4cG9ydCB0eXBlIENoYW5uZWwgPSAnbW9iaWxlX2FwcCcgfCAna2lvc2snIHwgJ3doaXRlbGFiZWxfd2ViJyB8ICd3aGF0c2FwcCcgfCAndm9pY2UnO1xuXG4vKipcbiAqIEEgbW9tZW50IGluIHRoZSBjdXN0b21lciBqb3VybmV5IOKAlCB0aGUgdW5pdCBvZiBwbGF0Zm9ybSBwb2xpY3lcbiAqIChwcmljZSBiYW5kLCBtYXggaXRlbXMsIGFuZCBsYXRlciB0aGUgc2lnbmFsIHdlaWdodCBwcm9maWxlKS4gQVxuICogcGxhY2VtZW50IGlzIGEgY2hhbm5lbCdzIGpvdXJuZXkgbGFiZWwgcG9pbnRpbmcgYXQgb25lIG9mIHRoZXNlLlxuICovXG5leHBvcnQgdHlwZSBUb3VjaHBvaW50ID1cbiAgfCAnaG9tZSdcbiAgfCAnbWVudV9icm93c2luZydcbiAgfCAnbWVudV9jb21wb3NpbmcnXG4gIHwgJ3NlYXJjaF9ub19yZXN1bHQnXG4gIHwgJ2NhcnQnXG4gIHwgJ3ByZV9jaGVja291dCdcbiAgfCAncG9zdF9vcmRlcic7XG5cbi8qKlxuICogUmVuZGVyaW5nIGhpbnQsIG93bmVkIGJ5IHRoZSBjaGFubmVsIGZyb250ZW5kIOKAlCB0aGUgcGxhdGZvcm0gbmV2ZXJcbiAqIGludGVycHJldHMgaXQuIEtub3duIHZhbHVlcyBhcmUgbGlzdGVkIGZvciBlZGl0b3IgY29tcGxldGlvbiwgYnV0IGFueVxuICogbG93ZXJjYXNlIGlkZW50aWZpZXIgaXMgdmFsaWQgc28gbmV3IGxheW91dHMgbmVlZCBubyBTREsgcmVsZWFzZS5cbiAqL1xuZXhwb3J0IHR5cGUgS25vd25MYXlvdXQgPVxuICB8ICdjYXJvdXNlbF8ydXAnXG4gIHwgJ2hvcml6b250YWxfY2Fyb3VzZWwnXG4gIHwgJ2dyaWRfMnhuX21vZGFsJ1xuICB8ICdjYXJvdXNlbF8xdXAnXG4gIHwgJ3ZlcnRpY2FsX2xpc3QnXG4gIHwgJ2dyaWRfM3huJ1xuICB8ICdjb21wYWN0X2xpc3QnXG4gIHwgJ2hlcm9fYmFubmVyJztcblxuZXhwb3J0IHR5cGUgTGF5b3V0ID0gS25vd25MYXlvdXQgfCAoc3RyaW5nICYge30pO1xuXG4vKiogV2h5IGFuIGl0ZW0gd2FzIHJlY29tbWVuZGVkLiBDaGFubmVscyByZW5kZXIgdGhlc2UgaW4gY3VzdG9tZXIgbGFuZ3VhZ2UuICovXG5leHBvcnQgdHlwZSBSZWFzb25Db2RlID1cbiAgfCAncG9wdWxhcl9ub3cnXG4gIHwgJ2NvbXBsZXRlc19tZWFsJ1xuICB8ICdvZnRlbl9vcmRlcmVkX3RvZ2V0aGVyJ1xuICB8ICd5b3VyX3VzdWFsJ1xuICB8ICdjaGVmc19waWNrJztcblxuLyoqXG4gKiBXaGljaCBsYXllciBwcm9kdWNlZCBhbiBpdGVtLlxuICpcbiAqIFNlcGFyYXRlIGZyb20gYHJlYXNvbkNvZGVgIG9uIHB1cnBvc2U6IGByZWFzb25Db2RlYCBpcyBjdXN0b21lci1mYWNpbmdcbiAqIGNvcHkgdGhlIGNoYW5uZWwgcmVuZGVycyAoXCJQb3B1bGFyIHJpZ2h0IG5vd1wiKSwgc28gb3ZlcmxvYWRpbmcgaXQgd2l0aFxuICogcHJvdmVuYW5jZSB3b3VsZCBjaGFuZ2UgdGhlIGN1c3RvbWVyJ3MgdmlzaWJsZSBsYWJlbCB3aGVuZXZlciB0aGVcbiAqIHNvdXJjZSBjaGFuZ2VkLlxuICpcbiAqICAgYWxnb3JpdGhtICAgICDigJQgc2NvcmVkIGJ5IHRoZSBlbmdpbmUsIHByaW9yaXR5IHBpbnMgaW5jbHVkZWRcbiAqICAgbWVyY2hhbnRfbGlzdCDigJQgdGhlIG1lcmNoYW50J3Mgb3duIGxpc3QgcmVwbGFjZWQgdGhlIGFsZ29yaXRobVxuICogICBmYWxsYmFjayAgICAgIOKAlCB0b3BwZWQgdXAgZnJvbSB0aGUgYmFja3VwIGxpc3QsIHNhZmV0eSBydWxlcyBvbmx5XG4gKi9cbmV4cG9ydCB0eXBlIEl0ZW1Tb3VyY2UgPSAnYWxnb3JpdGhtJyB8ICdtZXJjaGFudF9saXN0JyB8ICdmYWxsYmFjayc7XG5cbi8qKiBXaGljaCBydW5nIG9mIHRoZSByZXNvbHV0aW9uIGxhZGRlciBhbnN3ZXJlZCB0aGUgcmVxdWVzdC4gKi9cbmV4cG9ydCB0eXBlIExhZGRlclJ1bmcgPVxuICB8ICdmdWxsX2VuZ2luZSdcbiAgfCAnYmFuZF9yZWxheGF0aW9uJ1xuICB8ICdwb3B1bGFyaXR5X2Zsb29yJ1xuICB8ICdiYWNrdXBfc3VnZ2VzdGlvbnMnXG4gIHwgJ2VtcHR5X2RlZ3JhZGVkJztcblxuZXhwb3J0IHR5cGUgVXBzZWxsU3RyYXRlZ3kgPVxuICB8ICdtZW51LW9yZGVyLXBvcHVsYXJpdHknXG4gIHwgJ2xlZ2FjeS1jYXRhbG9nLXNhbXBsZSdcbiAgLyoqXG4gICAqIFRoZSBtZXJjaGFudCdzIG93biBsaXN0IHJlcGxhY2VzIHRoZSBhbGdvcml0aG0gYXQgdGhpcyBwbGFjZW1lbnQuXG4gICAqIFJlcXVpcmVzIGBzdHJhdGVneVBhcmFtcy5tZXJjaGFudExpc3RJdGVtU2x1Z3NgOyBhbiBlbXB0eSBsaXN0IGZhbGxzXG4gICAqIGJhY2sgdG8gYG1lbnUtb3JkZXItcG9wdWxhcml0eWAgcmF0aGVyIHRoYW4gc2VydmluZyBub3RoaW5nLlxuICAgKi9cbiAgfCAnbWVyY2hhbnQtbGlzdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50RGlzcGxheSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIC8qKiBSZXF1ZXN0ZWQgY291bnQuIFRvdWNocG9pbnQgcG9saWN5IG1heSBjYXAgaXQgbG93ZXIg4oCUIHNlZSBgbWV0YS5tYXhJdGVtc2AuICovXG4gIG1heEl0ZW1zOiBudW1iZXI7XG4gIGxheW91dDogTGF5b3V0O1xufVxuXG4vKiogUmVzb2x2ZWQgcHVibGljIHBsYWNlbWVudCAoYnVzaW5lc3Mgb3ZlcnJpZGUgPiBicmFuZCA+IHBsYXRmb3JtIGRlZmF1bHQpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbGFjZW1lbnQge1xuICBrZXk6IHN0cmluZztcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAgdG91Y2hwb2ludDogVG91Y2hwb2ludDtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgZGlzcGxheTogUGxhY2VtZW50RGlzcGxheTtcbiAgY29uZmlnVmVyc2lvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlbmFudCB7XG4gIHBhcmVudElkOiBudW1iZXI7XG4gIGJ1c2luZXNzSWQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0SXRlbSB7XG4gIGl0ZW1JZDogbnVtYmVyO1xuICBxdHk6IG51bWJlcjtcbiAgdW5pdFByaWNlOiBudW1iZXI7XG4gIC8qKiBPcHRpb25hbDsgbGV0cyB0aGUgZGlldGFyeSBnYXRlIGFuZCBjYXRlZ29yeSBuby1yZXBlYXQgc2VlIGNhcnQgY29udGVudHMuICovXG4gIGl0ZW1TbHVnPzogc3RyaW5nO1xuICBzZWN0aW9uTmFtZT86IHN0cmluZztcbiAgLyoqIExlZ2FjeSB2ZWdOb252ZWdCb3RoIGZsYWc6IDEgdmVnLCAyIG5vbi12ZWcsIDMgYm90aC9lZ2cuICovXG4gIHZlZz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0IHtcbiAgaXRlbXM6IENhcnRJdGVtW107XG4gIHN1YnRvdGFsOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbnNJbnB1dCB7XG4gIGNoYW5uZWw6IENoYW5uZWw7XG4gIHBsYWNlbWVudDogc3RyaW5nO1xuICB0ZW5hbnQ6IFRlbmFudDtcbiAgY29udGV4dDoge1xuICAgIGNhcnQ6IENhcnQ7XG4gICAgZnVsZmlsbWVudE1vZGU/OiAnZGVsaXZlcnknIHwgJ3BpY2t1cCcgfCAnZGluZV9pbic7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWw7IHVudXNlZCBieSB0aGUgdjEgc2NvcmVycy4gSW4gdGhlIGNvbnRyYWN0IGZyb20gZGF5IG9uZVxuICAgICAqIHNvIHBlcnNvbmFsaXphdGlvbiBsYW5kcyB3aXRob3V0IGEgYnJlYWsuIGBpZGAgTVVTVCBiZSB0aGUgb3BhcXVlXG4gICAgICogcGxhdGZvcm0gY3VzdG9tZXIgaWQsIG5ldmVyIGEgbW9iaWxlIG51bWJlci5cbiAgICAgKi9cbiAgICBjdXN0b21lcj86IHsgaWQ6IHN0cmluZyB9O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsOyBub3QgeWV0IGFjdGVkIG9uLiBJbXByZXNzaW9uIGZhdGlndWUgaXMgc2Vzc2lvbi1zY29wZWRcbiAgICAgKiBhbmQgc2hhcmVkIGFjcm9zcyB0b3VjaHBvaW50cyDigJQgc2VuZCBpdCBub3cgc28gY2hhbm5lbHNcbiAgICAgKiBpbnN0cnVtZW50IG9uY2UgcmF0aGVyIHRoYW4gdHdpY2UuXG4gICAgICovXG4gICAgc2Vzc2lvbklkPzogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIE9uZSBjaG9vc2FibGUgc2l6ZSBvZiBhbiBpdGVtIHdpdGggdmFyaWFudHMg4oCUIHdoYXQgYSBwaWNrZXIgbGlzdHMuXG4gKlxuICogYGl0ZW1JZGAgaGVyZSBpcyB3aGF0IGdvZXMgaW50byB0aGUgY2FydCBsaW5lIG9uY2UgdGhlIGN1c3RvbWVyXG4gKiBjaG9vc2VzLiBSZXBvcnQgaXQgYmFjayB0byBgL2V2ZW50c2AgYXMgYHZhcmlhbnRJdGVtSWRgLCBrZWVwaW5nIHRoZVxuICogZXZlbnQncyBvd24gYGl0ZW1JZGAgYXMgdGhlIERJU0gg4oCUIG90aGVyd2lzZSB0aGUgYGFkZGVkYCBldmVudCBuZXZlclxuICogam9pbnMgdG8gdGhlIGBzaG93bmAgdGhhdCBwcmVjZWRlZCBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcHNlbGxWYXJpYW50IHtcbiAgaXRlbUlkOiBudW1iZXI7XG4gIGl0ZW1OYW1lOiBzdHJpbmc7XG4gIGl0ZW1TbHVnOiBzdHJpbmcgfCBudWxsO1xuICAvKiogU2VsbGluZyBwcmljZSBvZiBUSElTIHNpemUgKElOUikuICovXG4gIHByaWNlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZWxsSXRlbSB7XG4gIGl0ZW1JZDogbnVtYmVyO1xuICBpdGVtTmFtZTogc3RyaW5nO1xuICBpdGVtU2x1Zzogc3RyaW5nIHwgbnVsbDtcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGw7XG4gIHNlY3Rpb25JZDogbnVtYmVyIHwgbnVsbDtcbiAgc2VjdGlvbk5hbWU6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBTZWxsaW5nIHByaWNlIChJTlIpLiAqL1xuICBwcmljZTogbnVtYmVyO1xuICBpbWFnZTogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFJhdyBsZWdhY3kgYHZlZ05vbnZlZ0JvdGhgIGZsYWcsIHBhc3NlZCB0aHJvdWdoIHVudHJhbnNsYXRlZC4gKi9cbiAgdmVnOiBudW1iZXIgfCBudWxsO1xuICBicmFuZElkOiBudW1iZXIgfCBudWxsO1xuICAvKipcbiAgICogVHJ1ZSB3aGVuIGBwcmljZWAgaXMgYSBGUk9NIHByaWNlIGFuZCB0aGUgY3VzdG9tZXIgbXVzdCBjaG9vc2UgYVxuICAgKiBzaXplIGJlZm9yZSB0aGlzIGNhbiBiZSBhZGRlZC4gT3BlbiB5b3VyIHNpemUgcGlja2VyIG92ZXJcbiAgICogYHZhcmlhbnRzYCBpbnN0ZWFkIG9mIGFkZGluZyBgaXRlbUlkYCB0byB0aGUgY2FydCDigJQgYGl0ZW1JZGAgaXMgdGhlXG4gICAqIGRpc2gsIHdoaWNoIGNhcnJpZXMgbm8gcHJpY2Ugb2YgaXRzIG93biBhbmQgaXMgbm90IG9yZGVyYWJsZS5cbiAgICpcbiAgICogT25seSBldmVyIHRydWUgb24gYSBjaGFubmVsICsgdG91Y2hwb2ludCB0aGUgcGxhdGZvcm0gaGFzIG9wZW5lZFxuICAgKiBmb3IgdmFyaWFudCBwaWNrZXJzLCBzbyBhIHN1cmZhY2UgdGhhdCBjYW5ub3QgcmVuZGVyIG9uZSBuZXZlciBzZWVzXG4gICAqIGl0IHNldCBhbmQgbmVlZHMgbm8gY29kZSBmb3IgaXQuXG4gICAqXG4gICAqIE9wdGlvbmFsIGZvciB0aGUgc2FtZSByZWFzb24gYXMgYHNvdXJjZWAgYmVsb3c6IGFuIFNESyBpcyByb3V0aW5lbHlcbiAgICogbmV3ZXIgdGhhbiB0aGUgZGVwbG95bWVudCBpdCB0YWxrcyB0by5cbiAgICovXG4gIGhhc1ZhcmlhbnRzPzogYm9vbGVhbjtcbiAgLyoqIFRoZSBjaG9vc2FibGUgc2l6ZXMsIGluIHRoZSBtZXJjaGFudCdzIG9yZGVyLiBFbXB0eSB1bmxlc3MgYGhhc1ZhcmlhbnRzYC4gKi9cbiAgdmFyaWFudHM/OiBVcHNlbGxWYXJpYW50W107XG4gIHJlYXNvbkNvZGU6IFJlYXNvbkNvZGU7XG4gIC8qKlxuICAgKiBXaGljaCBsYXllciBwcm9kdWNlZCB0aGlzIGl0ZW0uXG4gICAqXG4gICAqIE9wdGlvbmFsIG9uIHB1cnBvc2UsIGFuZCBpdCBzdGF5cyBvcHRpb25hbC4gVGhlIHNlcnZpY2UgYWx3YXlzIHNldHNcbiAgICogaXQsIGJ1dCBhbiBTREsgaXMgcm91dGluZWx5IG5ld2VyIHRoYW4gdGhlIGRlcGxveW1lbnQgaXQgdGFsa3MgdG8g4oCUXG4gICAqIHR5cGluZyBpdCBhcyByZXF1aXJlZCB3b3VsZCBsZXQgVHlwZVNjcmlwdCBwcm9taXNlIGEgc3RyaW5nIHRoYXQgaXNcbiAgICogYHVuZGVmaW5lZGAgYXQgcnVudGltZSBhZ2FpbnN0IGFueSBzZXJ2aWNlIG9sZGVyIHRoYW4gdGhlIHJlbGVhc2VcbiAgICogdGhhdCBhZGRlZCBpdC4gTmFycm93IGl0IHlvdXJzZWxmIGlmIHlvdSBoYXZlIHBpbm5lZCBib3RoLlxuICAgKi9cbiAgc291cmNlPzogSXRlbVNvdXJjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0aW9uc1Jlc3VsdCB7XG4gIHBsYWNlbWVudDogc3RyaW5nO1xuICB0b3VjaHBvaW50OiBUb3VjaHBvaW50O1xuICBpdGVtczogVXBzZWxsSXRlbVtdO1xuICBtZXRhOiB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBzdHJhdGVneTogVXBzZWxsU3RyYXRlZ3k7XG4gICAgY29uZmlnVmVyc2lvbjogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBzdGVwIHRoYXQgUFJJTUFSSUxZIGFuc3dlcmVkIOKAlCB0aGUgZmlyc3Qgb25lIHRvIGNvbnRyaWJ1dGUuXG4gICAgICpcbiAgICAgKiBTaW5jZSB0aGUgbGFkZGVyIGJlY2FtZSBhIGZpbGwgbG9vcCwgc2V2ZXJhbCBzdGVwcyBjYW4gY29udHJpYnV0ZVxuICAgICAqIHRvIG9uZSByZXNwb25zZTsgYHJ1bmdgIG5hbWVzIHRoZSBvbmUgdGhhdCBhbnN3ZXJlZCBmaXJzdCwgc28gYVxuICAgICAqIGhlYWx0aHkgY2FyZCB0aGF0IG1lcmVseSB0b3BwZWQgdXAgaXRzIGxhc3Qgc2xvdCBkb2VzIG5vdCByZWFkIGFzXG4gICAgICogZnVsbHkgZGVncmFkZWQuIFJlYWQgYHN0ZXBzYCBmb3IgaG93IGZhciBkb3duIGl0IHdlbnQuXG4gICAgICovXG4gICAgcnVuZzogTGFkZGVyUnVuZztcbiAgICAvKipcbiAgICAgKiBFdmVyeSBzdGVwIHRoYXQgY29udHJpYnV0ZWQgYXQgbGVhc3Qgb25lIGl0ZW0sIGluIHRoZSBvcmRlciB0aGV5XG4gICAgICogcmFuLiBPcHRpb25hbCBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIGBVcHNlbGxJdGVtLnNvdXJjZWA6IGFuIG9sZGVyXG4gICAgICogc2VydmljZSBkb2VzIG5vdCBzZW5kIGl0LlxuICAgICAqL1xuICAgIHN0ZXBzPzogTGFkZGVyUnVuZ1tdO1xuICAgIC8qKiBFZmZlY3RpdmUgY2FwIGFwcGxpZWQ6IG1pbihkaXNwbGF5Lm1heEl0ZW1zLCB0b3VjaHBvaW50IHBvbGljeSkuICovXG4gICAgbWF4SXRlbXM6IG51bWJlcjtcbiAgICAvKiogSG93IGxvbmcgdGhlIGNsaWVudCBtYXkgcmV1c2UgdGhpcyByZXNwb25zZSwgaW4gc2Vjb25kcy4gKi9cbiAgICAvKiogU2Vjb25kcyB0aGlzIHJlc3BvbnNlIG1heSBiZSByZXVzZWQuIFpFUk8gbWVhbnMgZG8gbm90IHJldXNlIGl0LiAqL1xuICAgIHR0bFNlY29uZHM6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBUcnVlIHdoZW4gdGhpcyBjdXN0b21lcidzIG93biBvcmRlciBoaXN0b3J5IHNoYXBlZCB0aGUgcmFua2luZywgc29cbiAgICAgKiB0aGUgcmVzcG9uc2UgYmVsb25ncyB0byBPTkUgcGVyc29uLlxuICAgICAqXG4gICAgICogYHR0bFNlY29uZHNgIGlzIDAgd2hlbmV2ZXIgdGhpcyBpcyBzZXQsIHNvIGEgY2xpZW50IHRoYXQgY2FjaGVzIG9uXG4gICAgICogdGhlIFRUTCBpcyBhbHJlYWR5IGNvcnJlY3QuIFJlYWQgdGhpcyBvbmx5IGlmIHlvdSB3YW50IHRvIGNhY2hlXG4gICAgICogcGVyIGN1c3RvbWVyIGluc3RlYWQgb2Ygbm90IGNhY2hpbmcg4oCUIGluIHdoaWNoIGNhc2UgdGhlIGN1c3RvbWVyXG4gICAgICogTVVTVCBiZSBwYXJ0IG9mIHlvdXIgY2FjaGUga2V5LlxuICAgICAqXG4gICAgICogT3B0aW9uYWwgZm9yIHRoZSBzYW1lIHJlYXNvbiBhcyBgc291cmNlYDogYW4gU0RLIGlzIHJvdXRpbmVseVxuICAgICAqIG5ld2VyIHRoYW4gdGhlIGRlcGxveW1lbnQgaXQgdGFsa3MgdG8uXG4gICAgICovXG4gICAgcGVyc29uYWxpc2VkPzogYm9vbGVhbjtcbiAgICAvKiogVHJ1ZSB3aGVuIHRoZSBjYW5kaWRhdGUgc291cmNlIGZhaWxlZCBhbmQgdGhlIHNlcnZpY2UgZGVncmFkZWQgdG8gZW1wdHkuICovXG4gICAgZGVncmFkZWQ/OiBib29sZWFuO1xuICB9O1xufVxuXG4vKiogTWVyY2hhbnQtY29udHJvbGxlZCBzZWxlY3Rpb24gaW5wdXRzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJhdGVneVBhcmFtcyB7XG4gIGluY2x1ZGVkSXRlbVNsdWdzPzogc3RyaW5nW107XG4gIGluY2x1ZGVkU2VjdGlvbnM/OiBzdHJpbmdbXTtcbiAgZXhjbHVkZWRTZWN0aW9ucz86IHN0cmluZ1tdO1xuICAvKiogXCJOZXZlciBTdWdnZXN0IFRoZXNlXCIg4oCUIGFic29sdXRlLCBvdmVycmlkZXMgdGhlIHByaW9yaXR5IGxpc3QuICovXG4gIG5ldmVyU3VnZ2VzdEl0ZW1TbHVncz86IHN0cmluZ1tdO1xuICAvKiogXCJNeSBQcmlvcml0eSBJdGVtc1wiIOKAlCBvY2N1cHkgcmVzZXJ2ZWQgc2xvdHMgYWhlYWQgb2Ygc2NvcmVkIGl0ZW1zLiAqL1xuICBwcmlvcml0eUl0ZW1TbHVncz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogXCJCYWNrdXAgU3VnZ2VzdGlvbnNcIiDigJQgdXAgdG8gNiBpdGVtcy4gU2tpcHMgdGhlIHByaWNlIGJhbmQgKHRoZSBiYW5kXG4gICAqIGlzIHVzdWFsbHkgd2hhdCBlbXB0aWVkIHRoZSBwb29sKSBidXQgc3RpbGwgcmVzcGVjdHMgc3RvY2ssIGNhcnQsXG4gICAqIGV4Y2x1c2lvbnMsIGRpZXQgYW5kIGBtYXhQcmljZWAuIEl0IFRPUFMgVVAgYSBzaG9ydCBsaXN0IHJhdGhlciB0aGFuXG4gICAqIG9ubHkgZmlyaW5nIHdoZW4gZXZlcnl0aGluZyBlbHNlIHJldHVybmVkIG5vdGhpbmcsIHNvIG9uZSBzY29yZWRcbiAgICogaXRlbSBwbHVzIHR3byBiYWNrdXAgaXRlbXMgaXMgYSB2YWxpZCByZXNwb25zZS5cbiAgICovXG4gIGJhY2t1cEl0ZW1TbHVncz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogVGhlIG1lcmNoYW50J3Mgb3duIGxpc3QgZm9yIHRoaXMgcGxhY2VtZW50LCB1cCB0byAxMiBpdGVtcy4gT25seSByZWFkXG4gICAqIHdoZW4gYHN0cmF0ZWd5YCBpcyBgbWVyY2hhbnQtbGlzdGAuXG4gICAqXG4gICAqIERpc3RpbmN0IGZyb20gYGluY2x1ZGVkSXRlbVNsdWdzYCwgd2hpY2ggaXMgYSBGSUxURVIgb3ZlciB0aGUgd2hvbGVcbiAgICogbWVudSDigJQgaXRlbXMgc3RpbGwgZ2V0IHJhbmtlZCBieSB0aGUgc3RyYXRlZ3kgYW5kIHN0aWxsIHJlcG9ydCBhc1xuICAgKiBgc291cmNlOiAnYWxnb3JpdGhtJ2AuIFRoaXMgUkVQTEFDRVMgdGhlIHBvb2wsIHJvdGF0ZXMgd2l0aGluIGl0IHNvIGFcbiAgICogMTAtaXRlbSBsaXN0IG9uIGEgMy1zbG90IGNhcmQgc2hvd3MgYWxsIHRlbiBvdmVyIHRpbWUsIGFuZCByZXBvcnRzIGFzXG4gICAqIGBzb3VyY2U6ICdtZXJjaGFudF9saXN0J2AuXG4gICAqL1xuICBtZXJjaGFudExpc3RJdGVtU2x1Z3M/OiBzdHJpbmdbXTtcbiAgZXhjbHVkZUNhcnRJdGVtcz86IGJvb2xlYW47XG4gIG1heFByaWNlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBQbGFjZW1lbnRTY29wZSA9ICdkZWZhdWx0JyB8ICd0ZW5hbnQnIHwgJ2J1c2luZXNzJztcblxuLyoqIFJhdyBhZG1pbi1wbGFuZSBjb25maWcgcm93IChubyBwcmVjZWRlbmNlIG1lcmdlIGFwcGxpZWQpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbGFjZW1lbnRSZWNvcmQge1xuICBzY29wZTogUGxhY2VtZW50U2NvcGU7XG4gIHBhcmVudElkPzogbnVtYmVyO1xuICBidXNpbmVzc0lkPzogbnVtYmVyO1xuICBjaGFubmVsOiBDaGFubmVsO1xuICBrZXk6IHN0cmluZztcbiAgdG91Y2hwb2ludDogVG91Y2hwb2ludDtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgZGlzcGxheTogUGxhY2VtZW50RGlzcGxheTtcbiAgc3RyYXRlZ3k6IFVwc2VsbFN0cmF0ZWd5O1xuICBzdHJhdGVneVBhcmFtczogU3RyYXRlZ3lQYXJhbXM7XG4gIGNvbmZpZ1ZlcnNpb246IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRCeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFkbWluIHVwc2VydC4gU2NvcGUgaXMgZGVyaXZlZDogbm8gcGFyZW50SWQg4oaSIHBsYXRmb3JtIGRlZmF1bHQ7XG4gKiBwYXJlbnRJZCBvbmx5IOKGkiBicmFuZCByb3c7IHBhcmVudElkICsgYnVzaW5lc3NJZCDihpIgYnVzaW5lc3Mgb3ZlcnJpZGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50VXBzZXJ0SW5wdXQge1xuICBwYXJlbnRJZD86IG51bWJlcjtcbiAgYnVzaW5lc3NJZD86IG51bWJlcjtcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAga2V5OiBzdHJpbmc7XG4gIHRvdWNocG9pbnQ6IFRvdWNocG9pbnQ7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGRpc3BsYXk6IFBsYWNlbWVudERpc3BsYXk7XG4gIHN0cmF0ZWd5PzogVXBzZWxsU3RyYXRlZ3k7XG4gIHN0cmF0ZWd5UGFyYW1zPzogU3RyYXRlZ3lQYXJhbXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50RGVsZXRlSW5wdXQge1xuICBwYXJlbnRJZD86IG51bWJlcjtcbiAgYnVzaW5lc3NJZD86IG51bWJlcjtcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAga2V5OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXF1aXJlZCBieSB0aGUgc2VydmVyIHdoZW4gYHBhcmVudElkYCBpcyBvbWl0dGVkLCBiZWNhdXNlIHRoYXQgY2FsbFxuICAgKiB0YXJnZXRzIHRoZSBQTEFURk9STSBERUZBVUxUIHJvdyBhbmQgc28gcmVtb3ZlcyB0aGUgcGxhY2VtZW50IGZvclxuICAgKiBldmVyeSB0ZW5hbnQgdGhhdCBoYXMgbm90IG92ZXJyaWRkZW4gaXQuIFdpdGhvdXQgdGhpcyB0aGUgc2VydmVyXG4gICAqIHJlamVjdHMgdGhlIHJlcXVlc3Qgd2l0aCA0MDAgcmF0aGVyIHRoYW4gZ3Vlc3NpbmcgdGhhdCBhIG1pc3NpbmdcbiAgICogcGFyZW50SWQgd2FzIGRlbGliZXJhdGUuXG4gICAqXG4gICAqIERlbGliZXJhdGVseSBub3QgZGVmYXVsdGVkIHRvIGB0cnVlYCBoZXJlOiB0aGUgd2hvbGUgcG9pbnQgb2YgdGhlXG4gICAqIGZsYWcgaXMgdGhhdCBkZWxldGluZyBhIGRlZmF1bHQgbXVzdCBiZSBzdGF0ZWQsIG5vdCBpbmZlcnJlZCBmcm9tXG4gICAqIHRoZSBzaGFwZSBvZiB0aGUgY2FsbC5cbiAgICovXG4gIGNvbmZpcm1EZWxldGVEZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFjZW1lbnRzUXVlcnkge1xuICBjaGFubmVsOiBDaGFubmVsO1xuICBwYXJlbnRJZDogbnVtYmVyO1xuICBidXNpbmVzc0lkOiBudW1iZXI7XG59XG5cbi8vIOKUgOKUgOKUgCBBdHRhY2gtcmF0ZSB0ZWxlbWV0cnkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbmV4cG9ydCB0eXBlIFVwc2VsbEV2ZW50VHlwZSA9ICdzaG93bicgfCAnYWRkZWQnIHwgJ2lnbm9yZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VsbEV2ZW50IHtcbiAgdHlwZTogVXBzZWxsRXZlbnRUeXBlO1xuICAvKipcbiAgICogRWNobyB0aGUgaXRlbSdzIGBzb3VyY2VgLiBUaGlzIGlzIHdoYXQgbWFrZXMgXCJpcyBteSBsaXN0IHBlcmZvcm1pbmdcbiAgICogYmV0dGVyIHRoYW4geW91ciBhbGdvcml0aG0/XCIgYW5zd2VyYWJsZSDigJQgYXR0YWNoIHJhdGUgaXMgb25seVxuICAgKiBjb21wYXJhYmxlIGJ5IGxheWVyIGlmIHRoZSBsYXllciBpcyByZWNvcmRlZCBvbiB0aGUgZXZlbnQuXG4gICAqL1xuICBzb3VyY2U/OiBJdGVtU291cmNlO1xuICAvKipcbiAgICogQUxXQVlTIHRoZSBpZCB0aGUgc3VnZ2VzdGlvbiB3YXMgc2VydmVkIHVuZGVyLiBGb3IgYW4gaXRlbSB3aXRoXG4gICAqIGBoYXNWYXJpYW50c2AgdGhhdCBpcyB0aGUgRElTSCwgbm90IHRoZSBzaXplIHRoZSBjdXN0b21lciBjaG9zZSDigJRcbiAgICogc2VuZGluZyB0aGUgc2l6ZSBpZCBsZWF2ZXMgdGhpcyBldmVudCB1bmpvaW5hYmxlIHRvIHRoZSBgc2hvd25gXG4gICAqIHRoYXQgcHJlY2VkZWQgaXQsIHNvIGF0dGFjaCByYXRlIGZvciBldmVyeSBwaWNrZXIgY2FyZCByZWFkcyB6ZXJvLlxuICAgKi9cbiAgaXRlbUlkOiBudW1iZXI7XG4gIC8qKlxuICAgKiBXaGljaCBzaXplIHdhcyBjaG9zZW4sIHdoZW4gYGl0ZW1JZGAgaXMgYW4gaXRlbSB3aXRoIHZhcmlhbnRzLlxuICAgKiBBbnN3ZXJzIHdoZXRoZXIgYSBcImZyb20gMTQ1XCIgY2FyZCBzZWxscyBSZWd1bGFycyBvciBMYXJnZXMsIHdoaWNoXG4gICAqIGNhbm5vdCBiZSByZWNvdmVyZWQgbGF0ZXIgZnJvbSBhIGRhdGFzZXQgdGhhdCBuZXZlciBjYXJyaWVkIGl0LlxuICAgKi9cbiAgdmFyaWFudEl0ZW1JZD86IG51bWJlcjtcbiAgcmVhc29uQ29kZT86IFJlYXNvbkNvZGU7XG4gIC8qKiBJU08tODYwMS4gRGVmYXVsdHMgdG8gc2VydmVyIHJlY2VpdmUgdGltZSB3aGVuIG9taXR0ZWQuICovXG4gIG9jY3VycmVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZWxsRXZlbnRzSW5wdXQge1xuICBjaGFubmVsOiBDaGFubmVsO1xuICBwbGFjZW1lbnQ6IHN0cmluZztcbiAgdGVuYW50OiBUZW5hbnQ7XG4gIHNlc3Npb25JZD86IHN0cmluZztcbiAgLyoqIEVjaG8gYG1ldGEuY29uZmlnVmVyc2lvbmAgZnJvbSB0aGUgcmVzcG9uc2UgYmVpbmcgcmVwb3J0ZWQgb24uICovXG4gIGNvbmZpZ1ZlcnNpb24/OiBzdHJpbmc7XG4gIGV2ZW50czogVXBzZWxsRXZlbnRbXTtcbn1cbiJdfQ==
package/dist/version.d.ts CHANGED
@@ -13,4 +13,4 @@
13
13
  * namespace suite, so a later split or trim of one namespace cannot take
14
14
  * the release guard with it.
15
15
  */
16
- export declare const SDK_VERSION = "2.3.0";
16
+ export declare const SDK_VERSION = "2.5.0";
package/dist/version.js CHANGED
@@ -16,5 +16,5 @@ exports.SDK_VERSION = void 0;
16
16
  * namespace suite, so a later split or trim of one namespace cannot take
17
17
  * the release guard with it.
18
18
  */
19
- exports.SDK_VERSION = '2.3.0';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ1UsUUFBQSxXQUFXLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYW51YWxseS1tYWludGFpbmVkIHZlcnNpb24gc3RyaW5nIHN1cmZhY2VkIHZpYSB0aGUgYFVzZXItQWdlbnRgXG4gKiBoZWFkZXIuIEtlcHQgaW4gc3luYyB3aXRoIGBwYWNrYWdlLmpzb25gIGJ5IGhhbmQgYmVjYXVzZSBwdWxsaW5nIHRoZVxuICogdmFsdWUgZnJvbSBwYWNrYWdlLmpzb24gYXQgcnVudGltZSB3b3VsZCByZXF1aXJlIGVpdGhlciBhIEpTT04gaW1wb3J0XG4gKiAoVFMgbGliIHNldHRpbmdzIGRlcGVuZGVudCkgb3IgYSBidWlsZC10aW1lIHJlcGxhY2VtZW50LCBhbmQgdGhlXG4gKiBjb3N0IG9mIG9uZSBidW1wLWluLXR3by1wbGFjZXMgcGVyIHJlbGVhc2UgaXMgc21hbGwuXG4gKlxuICogVGhhdCBjb3N0IHdhcyB1bmRlcmVzdGltYXRlZCBvbmNlOiB0aGUgcHVibGlzaCBqb2IgdmVyaWZpZXNcbiAqIHBhY2thZ2UuanNvbiBhZ2FpbnN0IHRoZSByZWxlYXNlIHRhZyBidXQgbmV2ZXIgcmVhZHMgdGhpcyBmaWxlLCBzbyB0aGVcbiAqIHR3byBkcmlmdGVkIGFuZCAxLjAuMCBzaGlwcGVkIHJlcG9ydGluZyAwLjkuMS4gQSB0ZXN0IG5vdyBwaW5zIHRoZW1cbiAqIHRvZ2V0aGVyIChgdGVzdC92ZXJzaW9uLnRlc3QudHNgKSwgc28gZm9yZ2V0dGluZyB0aGlzIGJ1bXAgZmFpbHMgdGhlXG4gKiBidWlsZCBpbnN0ZWFkIG9mIHRoZSBVc2VyLUFnZW50LiBJdCBsaXZlcyBhdCB0aGUgdG9wIGxldmVsLCBub3QgdW5kZXIgYVxuICogbmFtZXNwYWNlIHN1aXRlLCBzbyBhIGxhdGVyIHNwbGl0IG9yIHRyaW0gb2Ygb25lIG5hbWVzcGFjZSBjYW5ub3QgdGFrZVxuICogdGhlIHJlbGVhc2UgZ3VhcmQgd2l0aCBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNES19WRVJTSU9OID0gJzIuMy4wJztcbiJdfQ==
19
+ exports.SDK_VERSION = '2.5.0';
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ1UsUUFBQSxXQUFXLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYW51YWxseS1tYWludGFpbmVkIHZlcnNpb24gc3RyaW5nIHN1cmZhY2VkIHZpYSB0aGUgYFVzZXItQWdlbnRgXG4gKiBoZWFkZXIuIEtlcHQgaW4gc3luYyB3aXRoIGBwYWNrYWdlLmpzb25gIGJ5IGhhbmQgYmVjYXVzZSBwdWxsaW5nIHRoZVxuICogdmFsdWUgZnJvbSBwYWNrYWdlLmpzb24gYXQgcnVudGltZSB3b3VsZCByZXF1aXJlIGVpdGhlciBhIEpTT04gaW1wb3J0XG4gKiAoVFMgbGliIHNldHRpbmdzIGRlcGVuZGVudCkgb3IgYSBidWlsZC10aW1lIHJlcGxhY2VtZW50LCBhbmQgdGhlXG4gKiBjb3N0IG9mIG9uZSBidW1wLWluLXR3by1wbGFjZXMgcGVyIHJlbGVhc2UgaXMgc21hbGwuXG4gKlxuICogVGhhdCBjb3N0IHdhcyB1bmRlcmVzdGltYXRlZCBvbmNlOiB0aGUgcHVibGlzaCBqb2IgdmVyaWZpZXNcbiAqIHBhY2thZ2UuanNvbiBhZ2FpbnN0IHRoZSByZWxlYXNlIHRhZyBidXQgbmV2ZXIgcmVhZHMgdGhpcyBmaWxlLCBzbyB0aGVcbiAqIHR3byBkcmlmdGVkIGFuZCAxLjAuMCBzaGlwcGVkIHJlcG9ydGluZyAwLjkuMS4gQSB0ZXN0IG5vdyBwaW5zIHRoZW1cbiAqIHRvZ2V0aGVyIChgdGVzdC92ZXJzaW9uLnRlc3QudHNgKSwgc28gZm9yZ2V0dGluZyB0aGlzIGJ1bXAgZmFpbHMgdGhlXG4gKiBidWlsZCBpbnN0ZWFkIG9mIHRoZSBVc2VyLUFnZW50LiBJdCBsaXZlcyBhdCB0aGUgdG9wIGxldmVsLCBub3QgdW5kZXIgYVxuICogbmFtZXNwYWNlIHN1aXRlLCBzbyBhIGxhdGVyIHNwbGl0IG9yIHRyaW0gb2Ygb25lIG5hbWVzcGFjZSBjYW5ub3QgdGFrZVxuICogdGhlIHJlbGVhc2UgZ3VhcmQgd2l0aCBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNES19WRVJTSU9OID0gJzIuNS4wJztcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uengage.io/platform-sdk",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "description": "Client SDK for the uEngage platform API (audit, business, zones, wallet, upsell, auth, events). Single createClient(...) factory; OAuth2 client_credentials, static Bearer, or legacy session-token auth modes. Browser-safe realtime client at the /realtime subpath.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",