@uengage.io/platform-sdk 2.2.0 → 2.4.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,3 +1,3 @@
1
- export type { WalletRef, WalletBalance, WalletInstance, Currency, Amount, Balance, ServiceRef, GetWalletOptions, Breakup, WalletTags, WalletOverride, DebitInput, CreditInput, TransactionResult, WalletTransaction, ListTransactionsFilter, TransactionPage, } from './schema';
1
+ export type { WalletRef, WalletBalance, WalletInstance, WalletOverview, Currency, Amount, Balance, ServiceRef, GetWalletOptions, Breakup, WalletTags, WalletOverride, DebitInput, CreditInput, TransactionResult, WalletTransaction, ListTransactionsFilter, TransactionPage, CreditAmount, CreditBand, CreditLine, SetCreditLimitInput, SetCreditLimitResult, SettleInvoiceInput, SettleInvoiceResult, ReverseSettlementInput, CreditEvent, ListCreditEventsFilter, CreditUtilisationFilter, CreditUtilisationPage, } from './schema';
2
2
  export { Services, type Service } from './services';
3
- export { createWalletClient, WalletApiError, InsufficientBalanceError, OverRefundError, InvalidReversalError, IdempotencyConflictError, WalletIdentityMismatchError, UnresolvableWalletError, WalletNotFoundError, type WalletClient, type Wallet, } from './client';
3
+ export { createWalletClient, WalletApiError, InsufficientBalanceError, OverRefundError, InvalidReversalError, IdempotencyConflictError, WalletIdentityMismatchError, UnresolvableWalletError, WalletNotFoundError, CreditLimitReachedError, CreditBreakupRequiredError, CreditOverrideRefusedError, CreditTopUpRefusedError, CreditCorrectionReasonRequiredError, CreditCurrencyConflictError, CreditCurrencyMismatchError, CreditLineNotFoundError, CreditIdempotencyConflictError, CreditLineHasOutstandingError, SettlementNotFoundError, type WalletClient, type Wallet, } from './client';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WalletNotFoundError = exports.UnresolvableWalletError = exports.WalletIdentityMismatchError = exports.IdempotencyConflictError = exports.InvalidReversalError = exports.OverRefundError = exports.InsufficientBalanceError = exports.WalletApiError = exports.createWalletClient = exports.Services = void 0;
3
+ exports.SettlementNotFoundError = exports.CreditLineHasOutstandingError = exports.CreditIdempotencyConflictError = exports.CreditLineNotFoundError = exports.CreditCurrencyMismatchError = exports.CreditCurrencyConflictError = exports.CreditCorrectionReasonRequiredError = exports.CreditTopUpRefusedError = exports.CreditOverrideRefusedError = exports.CreditBreakupRequiredError = exports.CreditLimitReachedError = exports.WalletNotFoundError = exports.UnresolvableWalletError = exports.WalletIdentityMismatchError = exports.IdempotencyConflictError = exports.InvalidReversalError = exports.OverRefundError = exports.InsufficientBalanceError = exports.WalletApiError = exports.createWalletClient = exports.Services = void 0;
4
4
  var services_1 = require("./services");
5
5
  Object.defineProperty(exports, "Services", { enumerable: true, get: function () { return services_1.Services; } });
6
6
  var client_1 = require("./client");
@@ -13,4 +13,15 @@ Object.defineProperty(exports, "IdempotencyConflictError", { enumerable: true, g
13
13
  Object.defineProperty(exports, "WalletIdentityMismatchError", { enumerable: true, get: function () { return client_1.WalletIdentityMismatchError; } });
14
14
  Object.defineProperty(exports, "UnresolvableWalletError", { enumerable: true, get: function () { return client_1.UnresolvableWalletError; } });
15
15
  Object.defineProperty(exports, "WalletNotFoundError", { enumerable: true, get: function () { return client_1.WalletNotFoundError; } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW1CQSx1Q0FBb0Q7QUFBM0Msb0dBQUEsUUFBUSxPQUFBO0FBQ2pCLG1DQVlrQjtBQVhoQiw0R0FBQSxrQkFBa0IsT0FBQTtBQUNsQix3R0FBQSxjQUFjLE9BQUE7QUFDZCxrSEFBQSx3QkFBd0IsT0FBQTtBQUN4Qix5R0FBQSxlQUFlLE9BQUE7QUFDZiw4R0FBQSxvQkFBb0IsT0FBQTtBQUNwQixrSEFBQSx3QkFBd0IsT0FBQTtBQUN4QixxSEFBQSwyQkFBMkIsT0FBQTtBQUMzQixpSEFBQSx1QkFBdUIsT0FBQTtBQUN2Qiw2R0FBQSxtQkFBbUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHtcbiAgV2FsbGV0UmVmLFxuICBXYWxsZXRCYWxhbmNlLFxuICBXYWxsZXRJbnN0YW5jZSxcbiAgQ3VycmVuY3ksXG4gIEFtb3VudCxcbiAgQmFsYW5jZSxcbiAgU2VydmljZVJlZixcbiAgR2V0V2FsbGV0T3B0aW9ucyxcbiAgQnJlYWt1cCxcbiAgV2FsbGV0VGFncyxcbiAgV2FsbGV0T3ZlcnJpZGUsXG4gIERlYml0SW5wdXQsXG4gIENyZWRpdElucHV0LFxuICBUcmFuc2FjdGlvblJlc3VsdCxcbiAgV2FsbGV0VHJhbnNhY3Rpb24sXG4gIExpc3RUcmFuc2FjdGlvbnNGaWx0ZXIsXG4gIFRyYW5zYWN0aW9uUGFnZSxcbn0gZnJvbSAnLi9zY2hlbWEnO1xuZXhwb3J0IHsgU2VydmljZXMsIHR5cGUgU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuZXhwb3J0IHtcbiAgY3JlYXRlV2FsbGV0Q2xpZW50LFxuICBXYWxsZXRBcGlFcnJvcixcbiAgSW5zdWZmaWNpZW50QmFsYW5jZUVycm9yLFxuICBPdmVyUmVmdW5kRXJyb3IsXG4gIEludmFsaWRSZXZlcnNhbEVycm9yLFxuICBJZGVtcG90ZW5jeUNvbmZsaWN0RXJyb3IsXG4gIFdhbGxldElkZW50aXR5TWlzbWF0Y2hFcnJvcixcbiAgVW5yZXNvbHZhYmxlV2FsbGV0RXJyb3IsXG4gIFdhbGxldE5vdEZvdW5kRXJyb3IsXG4gIHR5cGUgV2FsbGV0Q2xpZW50LFxuICB0eXBlIFdhbGxldCxcbn0gZnJvbSAnLi9jbGllbnQnO1xuIl19
16
+ Object.defineProperty(exports, "CreditLimitReachedError", { enumerable: true, get: function () { return client_1.CreditLimitReachedError; } });
17
+ Object.defineProperty(exports, "CreditBreakupRequiredError", { enumerable: true, get: function () { return client_1.CreditBreakupRequiredError; } });
18
+ Object.defineProperty(exports, "CreditOverrideRefusedError", { enumerable: true, get: function () { return client_1.CreditOverrideRefusedError; } });
19
+ Object.defineProperty(exports, "CreditTopUpRefusedError", { enumerable: true, get: function () { return client_1.CreditTopUpRefusedError; } });
20
+ Object.defineProperty(exports, "CreditCorrectionReasonRequiredError", { enumerable: true, get: function () { return client_1.CreditCorrectionReasonRequiredError; } });
21
+ Object.defineProperty(exports, "CreditCurrencyConflictError", { enumerable: true, get: function () { return client_1.CreditCurrencyConflictError; } });
22
+ Object.defineProperty(exports, "CreditCurrencyMismatchError", { enumerable: true, get: function () { return client_1.CreditCurrencyMismatchError; } });
23
+ Object.defineProperty(exports, "CreditLineNotFoundError", { enumerable: true, get: function () { return client_1.CreditLineNotFoundError; } });
24
+ Object.defineProperty(exports, "CreditIdempotencyConflictError", { enumerable: true, get: function () { return client_1.CreditIdempotencyConflictError; } });
25
+ Object.defineProperty(exports, "CreditLineHasOutstandingError", { enumerable: true, get: function () { return client_1.CreditLineHasOutstandingError; } });
26
+ Object.defineProperty(exports, "SettlementNotFoundError", { enumerable: true, get: function () { return client_1.SettlementNotFoundError; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdDQSx1Q0FBb0Q7QUFBM0Msb0dBQUEsUUFBUSxPQUFBO0FBQ2pCLG1DQXVCa0I7QUF0QmhCLDRHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLHdHQUFBLGNBQWMsT0FBQTtBQUNkLGtIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLHlHQUFBLGVBQWUsT0FBQTtBQUNmLDhHQUFBLG9CQUFvQixPQUFBO0FBQ3BCLGtIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLHFIQUFBLDJCQUEyQixPQUFBO0FBQzNCLGlIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLGlIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLG9IQUFBLDBCQUEwQixPQUFBO0FBQzFCLG9IQUFBLDBCQUEwQixPQUFBO0FBQzFCLGlIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLDZIQUFBLG1DQUFtQyxPQUFBO0FBQ25DLHFIQUFBLDJCQUEyQixPQUFBO0FBQzNCLHFIQUFBLDJCQUEyQixPQUFBO0FBQzNCLGlIQUFBLHVCQUF1QixPQUFBO0FBQ3ZCLHdIQUFBLDhCQUE4QixPQUFBO0FBQzlCLHVIQUFBLDZCQUE2QixPQUFBO0FBQzdCLGlIQUFBLHVCQUF1QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUge1xuICBXYWxsZXRSZWYsXG4gIFdhbGxldEJhbGFuY2UsXG4gIFdhbGxldEluc3RhbmNlLFxuICBXYWxsZXRPdmVydmlldyxcbiAgQ3VycmVuY3ksXG4gIEFtb3VudCxcbiAgQmFsYW5jZSxcbiAgU2VydmljZVJlZixcbiAgR2V0V2FsbGV0T3B0aW9ucyxcbiAgQnJlYWt1cCxcbiAgV2FsbGV0VGFncyxcbiAgV2FsbGV0T3ZlcnJpZGUsXG4gIERlYml0SW5wdXQsXG4gIENyZWRpdElucHV0LFxuICBUcmFuc2FjdGlvblJlc3VsdCxcbiAgV2FsbGV0VHJhbnNhY3Rpb24sXG4gIExpc3RUcmFuc2FjdGlvbnNGaWx0ZXIsXG4gIFRyYW5zYWN0aW9uUGFnZSxcbiAgQ3JlZGl0QW1vdW50LFxuICBDcmVkaXRCYW5kLFxuICBDcmVkaXRMaW5lLFxuICBTZXRDcmVkaXRMaW1pdElucHV0LFxuICBTZXRDcmVkaXRMaW1pdFJlc3VsdCxcbiAgU2V0dGxlSW52b2ljZUlucHV0LFxuICBTZXR0bGVJbnZvaWNlUmVzdWx0LFxuICBSZXZlcnNlU2V0dGxlbWVudElucHV0LFxuICBDcmVkaXRFdmVudCxcbiAgTGlzdENyZWRpdEV2ZW50c0ZpbHRlcixcbiAgQ3JlZGl0VXRpbGlzYXRpb25GaWx0ZXIsXG4gIENyZWRpdFV0aWxpc2F0aW9uUGFnZSxcbn0gZnJvbSAnLi9zY2hlbWEnO1xuZXhwb3J0IHsgU2VydmljZXMsIHR5cGUgU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuZXhwb3J0IHtcbiAgY3JlYXRlV2FsbGV0Q2xpZW50LFxuICBXYWxsZXRBcGlFcnJvcixcbiAgSW5zdWZmaWNpZW50QmFsYW5jZUVycm9yLFxuICBPdmVyUmVmdW5kRXJyb3IsXG4gIEludmFsaWRSZXZlcnNhbEVycm9yLFxuICBJZGVtcG90ZW5jeUNvbmZsaWN0RXJyb3IsXG4gIFdhbGxldElkZW50aXR5TWlzbWF0Y2hFcnJvcixcbiAgVW5yZXNvbHZhYmxlV2FsbGV0RXJyb3IsXG4gIFdhbGxldE5vdEZvdW5kRXJyb3IsXG4gIENyZWRpdExpbWl0UmVhY2hlZEVycm9yLFxuICBDcmVkaXRCcmVha3VwUmVxdWlyZWRFcnJvcixcbiAgQ3JlZGl0T3ZlcnJpZGVSZWZ1c2VkRXJyb3IsXG4gIENyZWRpdFRvcFVwUmVmdXNlZEVycm9yLFxuICBDcmVkaXRDb3JyZWN0aW9uUmVhc29uUmVxdWlyZWRFcnJvcixcbiAgQ3JlZGl0Q3VycmVuY3lDb25mbGljdEVycm9yLFxuICBDcmVkaXRDdXJyZW5jeU1pc21hdGNoRXJyb3IsXG4gIENyZWRpdExpbmVOb3RGb3VuZEVycm9yLFxuICBDcmVkaXRJZGVtcG90ZW5jeUNvbmZsaWN0RXJyb3IsXG4gIENyZWRpdExpbmVIYXNPdXRzdGFuZGluZ0Vycm9yLFxuICBTZXR0bGVtZW50Tm90Rm91bmRFcnJvcixcbiAgdHlwZSBXYWxsZXRDbGllbnQsXG4gIHR5cGUgV2FsbGV0LFxufSBmcm9tICcuL2NsaWVudCc7XG4iXX0=
@@ -31,11 +31,201 @@ export interface ServiceRef {
31
31
  name: string;
32
32
  }
33
33
  export interface WalletBalance {
34
- /** Balance in major units. */
34
+ /**
35
+ * What the business can still spend, in major units.
36
+ *
37
+ * For a prepaid wallet this is its balance. For a merchant on the
38
+ * credit line it is their AVAILABLE CREDIT, net of GST — one number
39
+ * either way, so a caller that pre-checks a balance before allowing a
40
+ * charge needs no change. `source` says which it is.
41
+ */
35
42
  balance: number;
36
- /** Balance in integer minor units, per the wallet's currency. */
43
+ /** The same figure in integer minor units, per the wallet's currency. */
37
44
  balanceMinor: number;
38
45
  currency: Currency;
46
+ /**
47
+ * Which ceiling the figure came from. Additive — absent on responses
48
+ * from a wallet service deployed before the credit line, so treat
49
+ * `undefined` as `'wallet_balance'`.
50
+ */
51
+ source?: 'wallet_balance' | 'credit_line';
52
+ }
53
+ /** A credit-line figure in major + minor units. */
54
+ export interface CreditAmount {
55
+ amount: number;
56
+ amountMinor: number;
57
+ }
58
+ /**
59
+ * Where a merchant sits against their limit.
60
+ *
61
+ * `normal` below 80%, `warning` 80–94%, `critical` 95–99%, `blocked` at
62
+ * 100% and above. Drives the widget's bar colour (U3) and which alerts
63
+ * have fired.
64
+ */
65
+ export type CreditBand = 'normal' | 'warning' | 'critical' | 'blocked';
66
+ /**
67
+ * A merchant's credit line — everything the merchant widget renders,
68
+ * from one call.
69
+ *
70
+ * The ceiling is per MERCHANT, not per wallet: all of a merchant's
71
+ * outlets consume one line, so passing an outlet's id and passing its
72
+ * parent's return the same figures.
73
+ */
74
+ export interface CreditLine {
75
+ merchantId: string;
76
+ enabled: boolean;
77
+ /** Net of GST. */
78
+ limit: CreditAmount;
79
+ /**
80
+ * Net, unpaid consumption. SPANS MONTHS — this is not a
81
+ * calendar-month figure. It accumulates as charges land and falls only
82
+ * when an invoice is settled, so a merchant with old unpaid invoices
83
+ * carries them here.
84
+ */
85
+ consumed: CreditAmount;
86
+ available: CreditAmount;
87
+ utilisationPercent: number;
88
+ band: CreditBand;
89
+ /**
90
+ * `consumed + gstAccrued`, from the GST recorded on each charge — not
91
+ * `consumed × 1.18`, so a zero-rated merchant is right too.
92
+ */
93
+ estimatedInvoice: {
94
+ net: CreditAmount;
95
+ gst: CreditAmount;
96
+ total: CreditAmount;
97
+ };
98
+ currency: Currency;
99
+ updatedAt: string;
100
+ }
101
+ /**
102
+ * What a dashboard needs at page load, in one shape.
103
+ *
104
+ * A DISCRIMINATED UNION on `mode`, so `if (o.mode === 'credit')` narrows
105
+ * to the credit-line fields and a prepaid branch cannot reach them. That
106
+ * is the point: which model a merchant is on decides which panels the
107
+ * dashboard renders and which calls are even legal, so it has to be
108
+ * settled before anything else runs — and settled by a value, not by
109
+ * catching a 404.
110
+ *
111
+ * `balance` is present on BOTH arms and always means the same thing:
112
+ * what the merchant can still spend. On the credit arm it is available
113
+ * credit, on the prepaid arm it is the wallet balance.
114
+ */
115
+ export type WalletOverview = {
116
+ mode: 'prepaid';
117
+ balance: WalletBalance;
118
+ } | {
119
+ mode: 'credit';
120
+ balance: WalletBalance;
121
+ creditLine: CreditLine;
122
+ };
123
+ export interface SetCreditLimitInput {
124
+ /** Idempotency key: a retried admin click applies the change once. */
125
+ referenceId: string;
126
+ /** The new limit in minor units, NET of GST. `0` blocks without removing the line. */
127
+ limitMinor: number;
128
+ /** Absent means enable — setting a limit is what puts a merchant on the credit line. */
129
+ enabled?: boolean;
130
+ /**
131
+ * The human whose decision this is, e.g. `"user:4471"`. REQUIRED: the
132
+ * caller's own service identity is recorded separately, and a trail
133
+ * that named only the admin panel would be useless.
134
+ */
135
+ onBehalfOf: string;
136
+ reason?: string;
137
+ }
138
+ export interface SetCreditLimitResult {
139
+ creditLine: CreditLine;
140
+ /** True when this call replayed an earlier one with the same `referenceId`. */
141
+ idempotent: boolean;
142
+ }
143
+ export interface SettleInvoiceInput {
144
+ /** The invoice being settled; the idempotency key for the release. */
145
+ invoiceRef: string;
146
+ /**
147
+ * The invoice's NET figure, minor units — NOT the gross the merchant
148
+ * paid. A ₹5,900 invoice on ₹5,000 of consumption releases ₹5,000,
149
+ * because the limit and consumption are denominated net of GST.
150
+ */
151
+ netMinor: number;
152
+ /** The invoice's GST figure, minor units. Recorded, not released. */
153
+ gstMinor: number;
154
+ onBehalfOf: string;
155
+ /**
156
+ * Optional in general, REQUIRED when re-settling a reversed invoice
157
+ * with figures that differ from the original — that is a correction,
158
+ * and it releases against the merchant's whole outstanding consumption
159
+ * rather than this invoice's amount, so it has to say what it is
160
+ * correcting. Without it the call is
161
+ * `CreditCorrectionReasonRequiredError`. Re-settling with the same
162
+ * figures needs none.
163
+ */
164
+ reason?: string;
165
+ }
166
+ export interface SettleInvoiceResult {
167
+ creditLine: CreditLine;
168
+ releasedNetMinor: number;
169
+ releasedGstMinor: number;
170
+ idempotent: boolean;
171
+ }
172
+ export interface ReverseSettlementInput {
173
+ invoiceRef: string;
174
+ onBehalfOf: string;
175
+ reason?: string;
176
+ }
177
+ /** One entry in a merchant's limit-change and settlement trail. */
178
+ export interface CreditEvent {
179
+ /**
180
+ * A reversal is its own row rather than an edit to the settlement it
181
+ * undoes, so the trail stays append-only and each row names its own
182
+ * actor and reason.
183
+ */
184
+ kind: 'limit_changed' | 'settled' | 'settlement_reversed';
185
+ ref: string;
186
+ limitBeforeMinor?: number;
187
+ limitAfterMinor?: number;
188
+ enabledBefore?: boolean;
189
+ enabledAfter?: boolean;
190
+ netMinor?: number;
191
+ gstMinor?: number;
192
+ releasedNetMinor?: number;
193
+ /** GST released alongside `releasedNetMinor`; recorded, not credited. */
194
+ releasedGstMinor?: number;
195
+ /**
196
+ * Which reversal of this settlement, from 1. On reversal rows only: an
197
+ * invoice can be settled, reversed, re-settled and reversed again, and
198
+ * each reversal is a separate row.
199
+ */
200
+ cycle?: number;
201
+ /** Set on a `settled` row when it was reversed; cleared if re-settled. */
202
+ reversedAt?: string;
203
+ /** The OAuth client that called. */
204
+ actor: string;
205
+ /** The human the caller was acting for. */
206
+ onBehalfOf?: string;
207
+ reason?: string;
208
+ recordedAt: string;
209
+ }
210
+ export interface ListCreditEventsFilter {
211
+ /**
212
+ * How many events to return, newest first. The service defaults to 50
213
+ * — enough for a recent-activity panel, not for a merchant's whole
214
+ * history on the line.
215
+ */
216
+ limit?: number;
217
+ }
218
+ export interface CreditUtilisationFilter {
219
+ /** Only merchants at or above this utilisation, in basis points (8000 = 80%). */
220
+ minUtilisationBps?: number;
221
+ band?: CreditBand;
222
+ offset?: number;
223
+ limit?: number;
224
+ }
225
+ export interface CreditUtilisationPage {
226
+ merchants: CreditLine[];
227
+ /** Matching merchants before paging, for the dashboard's count. */
228
+ total: number;
39
229
  }
40
230
  /** Wallet details (identity + currency), without the balance. */
41
231
  export interface WalletInstance {
@@ -196,6 +386,26 @@ export interface WalletTransaction {
196
386
  /** True when the entry is marked a refund (reversal-linked or standalone). */
197
387
  refund?: boolean;
198
388
  updatedBy?: string;
389
+ /**
390
+ * The GST split recorded on the charge, in minor units.
391
+ *
392
+ * `amount` is the GROSS figure. On a credit-line row it is NOT what
393
+ * moved against the ceiling — `subTotalMinor` is, and it is what an
394
+ * invoice is built from. Absent on rows written without a split (every
395
+ * legacy row); guaranteed on a credit-line row, because the split is
396
+ * mandatory there.
397
+ */
398
+ breakup?: {
399
+ subTotalMinor: number;
400
+ gstMinor: number;
401
+ gstRate: number;
402
+ };
403
+ /**
404
+ * Set when the charge consumed a credit line. Its presence also means
405
+ * `balanceBefore`/`balanceAfter` on this row are AVAILABLE CREDIT
406
+ * rather than a wallet balance.
407
+ */
408
+ creditMerchantId?: string;
199
409
  }
200
410
  export interface ListTransactionsFilter {
201
411
  type?: 'debit' | 'credit' | 'all';
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhbGxldC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG4vKipcbiAqIFdhbGxldCBpZGVudGl0eSBpbnNpZGUgdGhlIHBsYXRmb3JtIHdhbGxldCBzZXJ2aWNlLiBgY2hpbGRCdXNpbmVzc0lkYFxuICogaXMgYFwiMFwiYCB3aGVuIHRoZSBwYXJlbnQgYnVzaW5lc3MncyBvd24gd2FsbGV0IGFuc3dlcmVkIChwYXJlbnQtY2hhaW5cbiAqIGJpbGxpbmcgcmVzb2x2ZWQgb24gdGhlIG91dGxldCdzIGJlaGFsZikuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0UmVmIHtcbiAgcGFyZW50QnVzaW5lc3NJZDogc3RyaW5nO1xuICBjaGlsZEJ1c2luZXNzSWQ6IHN0cmluZztcbn1cblxuLyoqIEN1cnJlbmN5IGRlc2NyaXB0b3IgZm9yIGEgd2FsbGV0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXJyZW5jeSB7XG4gIC8qKiBJU08gY29kZSwgZS5nLiBgXCJJTlJcImAuICovXG4gIGNvZGU6IHN0cmluZztcbiAgLyoqIERpc3BsYXkgc3ltYm9sLCBlLmcuIGBcIuKCuVwiYC4gKi9cbiAgc3ltYm9sOiBzdHJpbmc7XG59XG5cbi8qKiBBIHRyYW5zYWN0aW9uIGFtb3VudCBpbiBtYWpvciArIGludGVnZXIgbWlub3IgdW5pdHMuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtb3VudCB7XG4gIGFtb3VudDogbnVtYmVyO1xuICBhbW91bnRNaW5vcjogbnVtYmVyO1xufVxuXG4vKiogQSBiYWxhbmNlIGluIG1ham9yICsgaW50ZWdlciBtaW5vciB1bml0cy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFsYW5jZSB7XG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgYmFsYW5jZU1pbm9yOiBudW1iZXI7XG59XG5cbi8qKiBBIGNoYXJnZWFibGUgc2VydmljZSwgYXMgcmV0dXJuZWQgb24gYSB0cmFuc2FjdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVJlZiB7XG4gIGlkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRCYWxhbmNlIHtcbiAgLyoqIEJhbGFuY2UgaW4gbWFqb3IgdW5pdHMuICovXG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgLyoqIEJhbGFuY2UgaW4gaW50ZWdlciBtaW5vciB1bml0cywgcGVyIHRoZSB3YWxsZXQncyBjdXJyZW5jeS4gKi9cbiAgYmFsYW5jZU1pbm9yOiBudW1iZXI7XG4gIGN1cnJlbmN5OiBDdXJyZW5jeTtcbn1cblxuLyoqIFdhbGxldCBkZXRhaWxzIChpZGVudGl0eSArIGN1cnJlbmN5KSwgd2l0aG91dCB0aGUgYmFsYW5jZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5zdGFuY2Uge1xuICB3YWxsZXQ6IFdhbGxldFJlZjtcbiAgY3VycmVuY3k6IEN1cnJlbmN5O1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGB3YWxsZXQuZ2V0V2FsbGV0KC4uLilgLlxuICpcbiAqIGBpZGAgaXMgYSB0eXBlZCBlbnRpdHkgcmVmZXJlbmNlLCBlLmcuIGBcImJ1c2luZXNzOjg4NDFcImAgKHNhbWVcbiAqIHByZWZpeGVkIHNoYXBlIHRoZSBwbGF0Zm9ybSB1c2VzIGZvciBKV1Qgc3ViamVjdHMpLiBUb2RheSBvbmx5IHRoZVxuICogYGJ1c2luZXNzOmAgcHJlZml4IGlzIHN1cHBvcnRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRXYWxsZXRPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEZvcmNlIHRoZSBidXNpbmVzcydzIG93biAoY2hpbGQpIHdhbGxldCwgYnlwYXNzaW5nIHBhcmVudC1mdW5kaW5nXG4gICAqIHJvdXRpbmcgKGBmbGFzaF9jb25maWd1cmF0aW9uLmJJZF9kZWR1Y3Rpb25gKS4gRGVmYXVsdCBgZmFsc2VgIOKAlCB0aGVcbiAgICogc2VydmljZSByZXNvbHZlcyBjaGlsZC12cy1wYXJlbnQgYXV0b21hdGljYWxseS4gTm8gZWZmZWN0IGZvciBhIHJvb3RcbiAgICogYnVzaW5lc3MsIHdoaWNoIG9ubHkgaGFzIGl0cyBvd24gd2FsbGV0LlxuICAgKi9cbiAgZm9yY2VDaGlsZFdhbGxldD86IGJvb2xlYW47XG59XG5cbi8qKiBUaGUgR1NUIHNwbGl0IG9uIGEgY2hhcmdlLiBSZWNvcmRlZCBvbiB0aGUgbGVkZ2VyOyB0aGUgc2VydmljZSBkb2VzIG5vdCBjb21wdXRlIEdTVC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJlYWt1cCB7XG4gIHN1YlRvdGFsTWlub3I6IG51bWJlcjtcbiAgZ3N0TWlub3I6IG51bWJlcjtcbiAgZ3N0UmF0ZTogbnVtYmVyO1xufVxuXG4vKiogU2VhcmNoYWJsZSBrZXkvdmFsdWUgbWV0YWRhdGEgYXR0YWNoZWQgdG8gYSB0cmFuc2FjdGlvbi4gKi9cbmV4cG9ydCB0eXBlIFdhbGxldFRhZ3MgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4vKipcbiAqIEFuIGV4cGxpY2l0IHdhbGxldCBpZGVudGl0eSB0aGF0IFJFUExBQ0VTIGBiSWRfZGVkdWN0aW9uYCByb3V0aW5nIGZvclxuICogb25lIHdyaXRlLiBGb3IgY2FsbGVycyB0aGF0IGFscmVhZHkga25vdyB3aGljaCB3YWxsZXQgcGF5cyAoYWRtaW5cbiAqIHRvb2xzLCB1ZW5nYWdlLWNybSkgb3Igd2FudCB0byBhc3NlcnQgYW4gaWRlbnRpdHkgdGhlIHJvdXRpbmcgdGFibGVzXG4gKiBtaWdodCBkaXNhZ3JlZSB3aXRoLlxuICpcbiAqIFRoZSBjdXJyZW5jeSBpcyBOT1QgcGFydCBvZiB0aGlzIOKAlCB0aGUgc2VydmljZSBzdGlsbCB0YWtlcyBpdCBmcm9tIHRoZVxuICogYnVzaW5lc3MgdGhhdCBvd25zIHRoZSB3YWxsZXQsIHNvIGEgbmFtZWQgd2FsbGV0IGNhbm5vdCBiZSBjaGFyZ2VkIGF0XG4gKiB0aGUgd3JvbmcgbWlub3ItdW5pdCBzY2FsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRPdmVycmlkZSB7XG4gIHBhcmVudEJ1c2luZXNzSWQ6IHN0cmluZztcbiAgLyoqIGBcIjBcImAgZm9yIHRoZSBwYXJlbnQgYnVzaW5lc3MncyBvd24gd2FsbGV0LiAqL1xuICBjaGlsZEJ1c2luZXNzSWQ6IHN0cmluZztcbn1cblxuLyoqIEZpZWxkcyBjb21tb24gdG8gYSBkZWJpdCBhbmQgYSBjcmVkaXQuICovXG5pbnRlcmZhY2UgVHJhbnNhY3Rpb25JbnB1dEJhc2Uge1xuICAvKiogRGV0ZXJtaW5pc3RpYyBpZCBvZiB0aGUgYnVzaW5lc3MgZXZlbnQg4oCUIHRoZSBpZGVtcG90ZW5jeSBrZXkuICovXG4gIHJlZmVyZW5jZUlkOiBzdHJpbmc7XG4gIC8qKiBBbW91bnQgaW4gaW50ZWdlciBtaW5vciB1bml0cyBvZiB0aGUgd2FsbGV0J3MgY3VycmVuY3kuICovXG4gIGFtb3VudE1pbm9yOiBudW1iZXI7XG4gIHNlcnZpY2U6IFNlcnZpY2U7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGJyZWFrdXA/OiBCcmVha3VwO1xuICB0YWdzPzogV2FsbGV0VGFncztcblxuICAvKipcbiAgICogQ2hhcmdlIHRoaXMgd2FsbGV0IGluc3RlYWQgb2YgdGhlIG9uZSB0aGlzIGhhbmRsZSdzIGJ1c2luZXNzIGlkXG4gICAqIHJvdXRlcyB0byDigJQgZm9yIFRISVMgY2FsbCBvbmx5LiBCeXBhc3Nlc1xuICAgKiBgZmxhc2hfY29uZmlndXJhdGlvbi5iSWRfZGVkdWN0aW9uYCBlbnRpcmVseSwgYW5kIGNhbm5vdCBiZSBjb21iaW5lZFxuICAgKiB3aXRoIGEgaGFuZGxlIGJ1aWx0IHdpdGggYGZvcmNlQ2hpbGRXYWxsZXRgLlxuICAgKi9cbiAgd2FsbGV0PzogV2FsbGV0T3ZlcnJpZGU7XG4gIC8vIE5vdGU6IGZvciBhIGNoaWxkIHdhbGxldCB0aGUgc2VydmljZSBhc3NlcnRzIGBwYXJlbnRCdXNpbmVzc0lkYFxuICAvLyBhZ2FpbnN0IHRoZSB3YWxsZXQgZG9jdW1lbnQgcmF0aGVyIHRoYW4gZmlsdGVyaW5nIG9uIGl0LCBzbyBhIHdyb25nXG4gIC8vIG9uZSBpcyBhIDQwOSBgd2FsbGV0X2lkZW50aXR5X21pc21hdGNoYCByYXRoZXIgdGhhbiBhIHNpbGVudCBjaGFyZ2UgdG9cbiAgLy8gdGhlIHJpZ2h0IHdhbGxldCB1bmRlciB0aGUgd3JvbmcgaWRlbnRpdHkuXG5cbiAgLy8g4pSA4pSAIGxlZ2FjeS1sZWRnZXIgcGFzc3Rocm91Z2hzIOKUgOKUgFxuICAvLyBXcml0dGVuIGFzIFRPUC1MRVZFTCBmaWVsZHMgb24gdGhlIGxlZGdlciBkb2N1bWVudCBiZWNhdXNlIGZsYXNoJ3NcbiAgLy8gb3duIGNvZGUgYW5kIGZpbmFuY2UgcmVwb3J0aW5nIHF1ZXJ5IHRoZW0gdGhlcmUuIFRoZXkgYXJlIG5vdCBgdGFnc2A6XG4gIC8vIGB0YWdzYCBpcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IChzbyBgcnRvYCBhbmQgYHVuaXRzYCB3b3VsZCBub3QgZml0KVxuICAvLyBhbmQgd291bGQgbmVzdCB0aGVtIHVuZGVyIGB0YWdzLipgLCBicmVha2luZyB0aG9zZSBxdWVyaWVzLlxuICAvKipcbiAgICogRmxhc2gncyBuYXR1cmFsIGtleSBmb3IgdGhlIGRlbGl2ZXJ5IHRhc2suIFN0b3JlZCBhcyBib3RoIGB0YXNrX2lkYFxuICAgKiBhbmQgYHRyYW5zYWN0aW9uX29yZGVyX2lkYC4gTk9UIGFuIGlkZW1wb3RlbmN5IGtleSDigJQgYHJlZmVyZW5jZUlkYFxuICAgKiBpczsgdGhpcyBpcyB0aGUga2V5IGZsYXNoJ3Mgb3duIHByZS1jaGVjayBmaWx0ZXJzIG9uLlxuICAgKi9cbiAgdGFza0lkPzogc3RyaW5nO1xuICAvKipcbiAgICogQ2hhcmdlYWJsZSB1bml0cyBvbiB0aGlzIGxpbmUuIERlZmF1bHRzIHRvIDEgb24gYSBERUJJVCB3aGVuIGB0YXNrSWRgXG4gICAqIGlzIHNldCAodGhlIGxlZ2FjeSB3cml0ZXIncyBjcmVkaXQgcm93IGNhcnJpZXMgbm8gYHVuaXRzYCBrZXksIHNvXG4gICAqIGNyZWRpdHMgYXJlIG5vdCBkZWZhdWx0ZWQpOyBhbiBleHBsaWNpdCB2YWx1ZSBpcyBob25vdXJlZCBvbiBlaXRoZXIuXG4gICAqL1xuICB1bml0cz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRhcmlmZiBiYXNlIGNvc3QgaW4gTUFKT1IgdW5pdHMgKG5vdCBtaW5vciwgdW5saWtlIGBhbW91bnRNaW5vcmApLFxuICAgKiBjYWxsZXItZGVub21pbmF0ZWQgYW5kIHN0b3JlZCB1bmNvbnZlcnRlZC5cbiAgICovXG4gIHNlcnZpY2VCYXNlQ29zdD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFdoZW4gdGhlIGNoYXJnZSBhY3R1YWxseSBPQ0NVUlJFRCwgSVNUIGBZWVlZLU1NLUREIEhIOm1tOnNzYC4gU2V0c1xuICAgKiB0aGUgbGVkZ2VyJ3MgYGluc2VydGVkX2RhdGVgIOKAlCB3aGF0IGZpbmFuY2UgcmVwb3J0aW5nIGFuZCB0aGVcbiAgICogYGZyb21gL2B0b2AgaGlzdG9yeSBmaWx0ZXIgcmFuZ2Ugb24g4oCUIHNvIGEgYmFja2ZpbGwgb3IgYSByZXBsYXkgaXNcbiAgICogZGF0ZWQgYXQgdGhlIGV2ZW50LCBub3QgYXQgdGhlIHdyaXRlLiBUaGUgd2FsbC1jbG9jayB3cml0ZSB0aW1lIGlzXG4gICAqIHJlY29yZGVkIHNlcGFyYXRlbHkgYXMgYHJlY29yZGVkQXRgLiBEZWZhdWx0cyB0byBub3c7IG1heSBub3QgYmUgaW5cbiAgICogdGhlIGZ1dHVyZSBvciBiYWNrZGF0ZWQgbW9yZSB0aGFuIDkwIGRheXMuXG4gICAqL1xuICBvY2N1cnJlZEF0Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG9yaWdpbmF0aW5nIGFjdG9yLCBzdG9yZWQgYXMgYHVwZGF0ZWRfYnlgICgnUGV0UG9vamEnLCBhIHJpZGVyXG4gICAqIGlkLCAnUmVjb25jaWxlJykuIFRoZSBPQXV0aCBjbGllbnQgdGhhdCBhdXRoZW50aWNhdGVkIHRoZSBjYWxsIGlzXG4gICAqIHJlY29yZGVkIHNlcGFyYXRlbHkgYW5kIGlzIHVuYWZmZWN0ZWQuXG4gICAqL1xuICB1cGRhdGVkQnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGViaXRJbnB1dCBleHRlbmRzIFRyYW5zYWN0aW9uSW5wdXRCYXNlIHtcbiAgLyoqIEFsbG93IHRoZSBiYWxhbmNlIHRvIGdvIG5lZ2F0aXZlIChmbGFzaCBtaWdyYXRpb24gb25seSDigJQgbmVlZHMgc2lnbi1vZmYpLiAqL1xuICBhbGxvd05lZ2F0aXZlPzogYm9vbGVhbjtcbiAgLyoqIFJldHVybi10by1vcmlnaW4gbGVnLiBEZWJpdHMgb25seTsgcGFydCBvZiBmbGFzaCdzIGRlZHVwZSBrZXkuICovXG4gIHJ0bz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlZGl0SW5wdXQgZXh0ZW5kcyBUcmFuc2FjdGlvbklucHV0QmFzZSB7XG4gIC8qKiBMaW5rIGEgcmVmdW5kIHRvIHRoZSBvcmlnaW5hbCBkZWJpdCdzIGBpZGA7IHN1YmplY3QgdG8gdGhlIG92ZXItcmVmdW5kIGd1YXJkLiAqL1xuICByZXZlcnNhbE9mPzogc3RyaW5nO1xuICAvKipcbiAgICogTWFyayB0aGlzIGNyZWRpdCBhcyBhIHJlZnVuZCBXSVRIT1VUIGxpbmtpbmcgaXQgdG8gYW4gb3JpZ2luYWwgZGViaXQsXG4gICAqIGFuZCBzbyB3aXRob3V0IHRoZSBvdmVyLXJlZnVuZCBndWFyZC4gRm9yIHJlZnVuZHMgY29tcHV0ZWRcbiAgICogaW5kZXBlbmRlbnRseSBvZiB0aGUgZGViaXQg4oCUIGEgcGFydGlhbCAoYnVmZmVyLW9ubHkpIHJlZnVuZCB0aGF0IGNhblxuICAgKiBsZWdpdGltYXRlbHkgZXhjZWVkIGl0LiBVc2UgYHJldmVyc2FsT2ZgIGluc3RlYWQgd2hlbiB0aGUgcmVmdW5kXG4gICAqIGdlbnVpbmVseSByZXZlcnNlcyBvbmUga25vd24gZGViaXQgYW5kIHNob3VsZCBiZSBjYXBwZWQgYnkgaXQuXG4gICAqL1xuICBpc1JlZnVuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQYXltZW50IHJlZmVyZW5jZS4gQ3JlZGl0cyBvbmx5LiBUaGUgZW1wdHkgc3RyaW5nIGlzIG1lYW5pbmdmdWwgYW5kXG4gICAqIGlzIHNlbnQgdGhyb3VnaCBhcy1pcy5cbiAgICovXG4gIHBheW1lbnRJZD86IHN0cmluZztcbn1cblxuLyoqIFdoYXQgYGRlYml0KClgIC8gYGNyZWRpdCgpYCByZXR1cm4uICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uUmVzdWx0IHtcbiAgLyoqIFRoZSB3YWxsZXRfdHJhbnNhY3Rpb25zIHJlY29yZCBpZC4gUGVyc2lzdCB0aGlzOyB1c2UgYXMgYHJldmVyc2FsT2ZgIGZvciBhIHJlZnVuZC4gKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIGB0cnVlYCA9IGEgcmVwbGF5IG9mIGFuIGVhcmxpZXIgaWRlbnRpY2FsIHJlZmVyZW5jZUlkOyBubyBtb25leSBtb3ZlZCBub3cuICovXG4gIGlkZW1wb3RlbnQ6IGJvb2xlYW47XG4gIHR5cGU6ICdkZWJpdCcgfCAnY3JlZGl0JztcbiAgYW1vdW50OiBBbW91bnQ7XG4gIGJhbGFuY2VCZWZvcmU6IEJhbGFuY2U7XG4gIGJhbGFuY2VBZnRlcjogQmFsYW5jZTtcbiAgY3VycmVuY3k6IEN1cnJlbmN5O1xuICB3YWxsZXQ6IFdhbGxldFJlZjtcbn1cblxuLyoqIEEgdHJhbnNhY3Rpb24gYXMgcmV0dXJuZWQgYnkgYGxpc3RUcmFuc2FjdGlvbnMoKWAgLyBgZ2V0VHJhbnNhY3Rpb24oKWAuICovXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFRyYW5zYWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBhbW91bnQ6IEFtb3VudDtcbiAgc2VydmljZTogU2VydmljZVJlZjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdGFncz86IFdhbGxldFRhZ3M7XG4gIHJldmVyc2FsT2Y/OiBzdHJpbmc7XG4gIGJhbGFuY2VCZWZvcmU6IEJhbGFuY2U7XG4gIGJhbGFuY2VBZnRlcjogQmFsYW5jZTtcbiAgLyoqIFdoZW4gdGhlIGNoYXJnZSBvY2N1cnJlZCwgSVNULiBBIGJhY2tkYXRlZCB3cml0ZSAoYG9jY3VycmVkQXRgKSBzZXRzIGl0LiAqL1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgLyoqXG4gICAqIFdhbGwtY2xvY2sgd3JpdGUgdGltZSwgSVNULiBBYnNlbnQgb24gdHJhbnNhY3Rpb25zIHdyaXR0ZW4gYmVmb3JlXG4gICAqIHRoaXMgZmllbGQgZXhpc3RlZCwgd2hlcmUgYHRpbWVzdGFtcGAgaXMgYWxzbyB0aGUgd3JpdGUgdGltZS5cbiAgICovXG4gIHJlY29yZGVkQXQ/OiBzdHJpbmc7XG4gIGN1cnJlbmN5OiBDdXJyZW5jeTtcbiAgd2FsbGV0OiBXYWxsZXRSZWY7XG5cbiAgLy8g4pSA4pSAIGxlZ2FjeS1sZWRnZXIgcGFzc3Rocm91Z2hzLCBlY2hvZWQgYmFjayDilIDilIBcbiAgdGFza0lkPzogc3RyaW5nO1xuICBydG8/OiBib29sZWFuO1xuICB1bml0cz86IG51bWJlcjtcbiAgc2VydmljZUJhc2VDb3N0PzogbnVtYmVyO1xuICBwYXltZW50SWQ/OiBzdHJpbmc7XG4gIC8qKiBUcnVlIHdoZW4gdGhlIGVudHJ5IGlzIG1hcmtlZCBhIHJlZnVuZCAocmV2ZXJzYWwtbGlua2VkIG9yIHN0YW5kYWxvbmUpLiAqL1xuICByZWZ1bmQ/OiBib29sZWFuO1xuICB1cGRhdGVkQnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFRyYW5zYWN0aW9uc0ZpbHRlciB7XG4gIHR5cGU/OiAnZGViaXQnIHwgJ2NyZWRpdCcgfCAnYWxsJztcbiAgZnJvbT86IHN0cmluZztcbiAgdG8/OiBzdHJpbmc7XG4gIHNlcnZpY2U/OiBTZXJ2aWNlO1xuICByZWZlcmVuY2VJZD86IHN0cmluZztcbiAgLyoqIFNpbmdsZSB0YWcgZmlsdGVyIGFzIGBrZXk6dmFsdWVgLiAqL1xuICB0YWc/OiBzdHJpbmc7XG4gIGN1cnNvcj86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25QYWdlIHtcbiAgdHJhbnNhY3Rpb25zOiBXYWxsZXRUcmFuc2FjdGlvbltdO1xuICBuZXh0Q3Vyc29yPzogc3RyaW5nO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhbGxldC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG4vKipcbiAqIFdhbGxldCBpZGVudGl0eSBpbnNpZGUgdGhlIHBsYXRmb3JtIHdhbGxldCBzZXJ2aWNlLiBgY2hpbGRCdXNpbmVzc0lkYFxuICogaXMgYFwiMFwiYCB3aGVuIHRoZSBwYXJlbnQgYnVzaW5lc3MncyBvd24gd2FsbGV0IGFuc3dlcmVkIChwYXJlbnQtY2hhaW5cbiAqIGJpbGxpbmcgcmVzb2x2ZWQgb24gdGhlIG91dGxldCdzIGJlaGFsZikuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0UmVmIHtcbiAgcGFyZW50QnVzaW5lc3NJZDogc3RyaW5nO1xuICBjaGlsZEJ1c2luZXNzSWQ6IHN0cmluZztcbn1cblxuLyoqIEN1cnJlbmN5IGRlc2NyaXB0b3IgZm9yIGEgd2FsbGV0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXJyZW5jeSB7XG4gIC8qKiBJU08gY29kZSwgZS5nLiBgXCJJTlJcImAuICovXG4gIGNvZGU6IHN0cmluZztcbiAgLyoqIERpc3BsYXkgc3ltYm9sLCBlLmcuIGBcIuKCuVwiYC4gKi9cbiAgc3ltYm9sOiBzdHJpbmc7XG59XG5cbi8qKiBBIHRyYW5zYWN0aW9uIGFtb3VudCBpbiBtYWpvciArIGludGVnZXIgbWlub3IgdW5pdHMuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtb3VudCB7XG4gIGFtb3VudDogbnVtYmVyO1xuICBhbW91bnRNaW5vcjogbnVtYmVyO1xufVxuXG4vKiogQSBiYWxhbmNlIGluIG1ham9yICsgaW50ZWdlciBtaW5vciB1bml0cy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFsYW5jZSB7XG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgYmFsYW5jZU1pbm9yOiBudW1iZXI7XG59XG5cbi8qKiBBIGNoYXJnZWFibGUgc2VydmljZSwgYXMgcmV0dXJuZWQgb24gYSB0cmFuc2FjdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVJlZiB7XG4gIGlkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRCYWxhbmNlIHtcbiAgLyoqXG4gICAqIFdoYXQgdGhlIGJ1c2luZXNzIGNhbiBzdGlsbCBzcGVuZCwgaW4gbWFqb3IgdW5pdHMuXG4gICAqXG4gICAqIEZvciBhIHByZXBhaWQgd2FsbGV0IHRoaXMgaXMgaXRzIGJhbGFuY2UuIEZvciBhIG1lcmNoYW50IG9uIHRoZVxuICAgKiBjcmVkaXQgbGluZSBpdCBpcyB0aGVpciBBVkFJTEFCTEUgQ1JFRElULCBuZXQgb2YgR1NUIOKAlCBvbmUgbnVtYmVyXG4gICAqIGVpdGhlciB3YXksIHNvIGEgY2FsbGVyIHRoYXQgcHJlLWNoZWNrcyBhIGJhbGFuY2UgYmVmb3JlIGFsbG93aW5nIGFcbiAgICogY2hhcmdlIG5lZWRzIG5vIGNoYW5nZS4gYHNvdXJjZWAgc2F5cyB3aGljaCBpdCBpcy5cbiAgICovXG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgLyoqIFRoZSBzYW1lIGZpZ3VyZSBpbiBpbnRlZ2VyIG1pbm9yIHVuaXRzLCBwZXIgdGhlIHdhbGxldCdzIGN1cnJlbmN5LiAqL1xuICBiYWxhbmNlTWlub3I6IG51bWJlcjtcbiAgY3VycmVuY3k6IEN1cnJlbmN5O1xuICAvKipcbiAgICogV2hpY2ggY2VpbGluZyB0aGUgZmlndXJlIGNhbWUgZnJvbS4gQWRkaXRpdmUg4oCUIGFic2VudCBvbiByZXNwb25zZXNcbiAgICogZnJvbSBhIHdhbGxldCBzZXJ2aWNlIGRlcGxveWVkIGJlZm9yZSB0aGUgY3JlZGl0IGxpbmUsIHNvIHRyZWF0XG4gICAqIGB1bmRlZmluZWRgIGFzIGAnd2FsbGV0X2JhbGFuY2UnYC5cbiAgICovXG4gIHNvdXJjZT86ICd3YWxsZXRfYmFsYW5jZScgfCAnY3JlZGl0X2xpbmUnO1xufVxuXG4vLyDilIDilIDilIAgQ3JlZGl0IGxpbmUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKiBBIGNyZWRpdC1saW5lIGZpZ3VyZSBpbiBtYWpvciArIG1pbm9yIHVuaXRzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVkaXRBbW91bnQge1xuICBhbW91bnQ6IG51bWJlcjtcbiAgYW1vdW50TWlub3I6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBXaGVyZSBhIG1lcmNoYW50IHNpdHMgYWdhaW5zdCB0aGVpciBsaW1pdC5cbiAqXG4gKiBgbm9ybWFsYCBiZWxvdyA4MCUsIGB3YXJuaW5nYCA4MOKAkzk0JSwgYGNyaXRpY2FsYCA5NeKAkzk5JSwgYGJsb2NrZWRgIGF0XG4gKiAxMDAlIGFuZCBhYm92ZS4gRHJpdmVzIHRoZSB3aWRnZXQncyBiYXIgY29sb3VyIChVMykgYW5kIHdoaWNoIGFsZXJ0c1xuICogaGF2ZSBmaXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgQ3JlZGl0QmFuZCA9ICdub3JtYWwnIHwgJ3dhcm5pbmcnIHwgJ2NyaXRpY2FsJyB8ICdibG9ja2VkJztcblxuLyoqXG4gKiBBIG1lcmNoYW50J3MgY3JlZGl0IGxpbmUg4oCUIGV2ZXJ5dGhpbmcgdGhlIG1lcmNoYW50IHdpZGdldCByZW5kZXJzLFxuICogZnJvbSBvbmUgY2FsbC5cbiAqXG4gKiBUaGUgY2VpbGluZyBpcyBwZXIgTUVSQ0hBTlQsIG5vdCBwZXIgd2FsbGV0OiBhbGwgb2YgYSBtZXJjaGFudCdzXG4gKiBvdXRsZXRzIGNvbnN1bWUgb25lIGxpbmUsIHNvIHBhc3NpbmcgYW4gb3V0bGV0J3MgaWQgYW5kIHBhc3NpbmcgaXRzXG4gKiBwYXJlbnQncyByZXR1cm4gdGhlIHNhbWUgZmlndXJlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVkaXRMaW5lIHtcbiAgbWVyY2hhbnRJZDogc3RyaW5nO1xuICBlbmFibGVkOiBib29sZWFuO1xuICAvKiogTmV0IG9mIEdTVC4gKi9cbiAgbGltaXQ6IENyZWRpdEFtb3VudDtcbiAgLyoqXG4gICAqIE5ldCwgdW5wYWlkIGNvbnN1bXB0aW9uLiBTUEFOUyBNT05USFMg4oCUIHRoaXMgaXMgbm90IGFcbiAgICogY2FsZW5kYXItbW9udGggZmlndXJlLiBJdCBhY2N1bXVsYXRlcyBhcyBjaGFyZ2VzIGxhbmQgYW5kIGZhbGxzIG9ubHlcbiAgICogd2hlbiBhbiBpbnZvaWNlIGlzIHNldHRsZWQsIHNvIGEgbWVyY2hhbnQgd2l0aCBvbGQgdW5wYWlkIGludm9pY2VzXG4gICAqIGNhcnJpZXMgdGhlbSBoZXJlLlxuICAgKi9cbiAgY29uc3VtZWQ6IENyZWRpdEFtb3VudDtcbiAgYXZhaWxhYmxlOiBDcmVkaXRBbW91bnQ7XG4gIHV0aWxpc2F0aW9uUGVyY2VudDogbnVtYmVyO1xuICBiYW5kOiBDcmVkaXRCYW5kO1xuICAvKipcbiAgICogYGNvbnN1bWVkICsgZ3N0QWNjcnVlZGAsIGZyb20gdGhlIEdTVCByZWNvcmRlZCBvbiBlYWNoIGNoYXJnZSDigJQgbm90XG4gICAqIGBjb25zdW1lZCDDlyAxLjE4YCwgc28gYSB6ZXJvLXJhdGVkIG1lcmNoYW50IGlzIHJpZ2h0IHRvby5cbiAgICovXG4gIGVzdGltYXRlZEludm9pY2U6IHsgbmV0OiBDcmVkaXRBbW91bnQ7IGdzdDogQ3JlZGl0QW1vdW50OyB0b3RhbDogQ3JlZGl0QW1vdW50IH07XG4gIGN1cnJlbmN5OiBDdXJyZW5jeTtcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogV2hhdCBhIGRhc2hib2FyZCBuZWVkcyBhdCBwYWdlIGxvYWQsIGluIG9uZSBzaGFwZS5cbiAqXG4gKiBBIERJU0NSSU1JTkFURUQgVU5JT04gb24gYG1vZGVgLCBzbyBgaWYgKG8ubW9kZSA9PT0gJ2NyZWRpdCcpYCBuYXJyb3dzXG4gKiB0byB0aGUgY3JlZGl0LWxpbmUgZmllbGRzIGFuZCBhIHByZXBhaWQgYnJhbmNoIGNhbm5vdCByZWFjaCB0aGVtLiBUaGF0XG4gKiBpcyB0aGUgcG9pbnQ6IHdoaWNoIG1vZGVsIGEgbWVyY2hhbnQgaXMgb24gZGVjaWRlcyB3aGljaCBwYW5lbHMgdGhlXG4gKiBkYXNoYm9hcmQgcmVuZGVycyBhbmQgd2hpY2ggY2FsbHMgYXJlIGV2ZW4gbGVnYWwsIHNvIGl0IGhhcyB0byBiZVxuICogc2V0dGxlZCBiZWZvcmUgYW55dGhpbmcgZWxzZSBydW5zIOKAlCBhbmQgc2V0dGxlZCBieSBhIHZhbHVlLCBub3QgYnlcbiAqIGNhdGNoaW5nIGEgNDA0LlxuICpcbiAqIGBiYWxhbmNlYCBpcyBwcmVzZW50IG9uIEJPVEggYXJtcyBhbmQgYWx3YXlzIG1lYW5zIHRoZSBzYW1lIHRoaW5nOlxuICogd2hhdCB0aGUgbWVyY2hhbnQgY2FuIHN0aWxsIHNwZW5kLiBPbiB0aGUgY3JlZGl0IGFybSBpdCBpcyBhdmFpbGFibGVcbiAqIGNyZWRpdCwgb24gdGhlIHByZXBhaWQgYXJtIGl0IGlzIHRoZSB3YWxsZXQgYmFsYW5jZS5cbiAqL1xuZXhwb3J0IHR5cGUgV2FsbGV0T3ZlcnZpZXcgPVxuICB8IHsgbW9kZTogJ3ByZXBhaWQnOyBiYWxhbmNlOiBXYWxsZXRCYWxhbmNlIH1cbiAgfCB7IG1vZGU6ICdjcmVkaXQnOyBiYWxhbmNlOiBXYWxsZXRCYWxhbmNlOyBjcmVkaXRMaW5lOiBDcmVkaXRMaW5lIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0Q3JlZGl0TGltaXRJbnB1dCB7XG4gIC8qKiBJZGVtcG90ZW5jeSBrZXk6IGEgcmV0cmllZCBhZG1pbiBjbGljayBhcHBsaWVzIHRoZSBjaGFuZ2Ugb25jZS4gKi9cbiAgcmVmZXJlbmNlSWQ6IHN0cmluZztcbiAgLyoqIFRoZSBuZXcgbGltaXQgaW4gbWlub3IgdW5pdHMsIE5FVCBvZiBHU1QuIGAwYCBibG9ja3Mgd2l0aG91dCByZW1vdmluZyB0aGUgbGluZS4gKi9cbiAgbGltaXRNaW5vcjogbnVtYmVyO1xuICAvKiogQWJzZW50IG1lYW5zIGVuYWJsZSDigJQgc2V0dGluZyBhIGxpbWl0IGlzIHdoYXQgcHV0cyBhIG1lcmNoYW50IG9uIHRoZSBjcmVkaXQgbGluZS4gKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgaHVtYW4gd2hvc2UgZGVjaXNpb24gdGhpcyBpcywgZS5nLiBgXCJ1c2VyOjQ0NzFcImAuIFJFUVVJUkVEOiB0aGVcbiAgICogY2FsbGVyJ3Mgb3duIHNlcnZpY2UgaWRlbnRpdHkgaXMgcmVjb3JkZWQgc2VwYXJhdGVseSwgYW5kIGEgdHJhaWxcbiAgICogdGhhdCBuYW1lZCBvbmx5IHRoZSBhZG1pbiBwYW5lbCB3b3VsZCBiZSB1c2VsZXNzLlxuICAgKi9cbiAgb25CZWhhbGZPZjogc3RyaW5nO1xuICByZWFzb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0Q3JlZGl0TGltaXRSZXN1bHQge1xuICBjcmVkaXRMaW5lOiBDcmVkaXRMaW5lO1xuICAvKiogVHJ1ZSB3aGVuIHRoaXMgY2FsbCByZXBsYXllZCBhbiBlYXJsaWVyIG9uZSB3aXRoIHRoZSBzYW1lIGByZWZlcmVuY2VJZGAuICovXG4gIGlkZW1wb3RlbnQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0dGxlSW52b2ljZUlucHV0IHtcbiAgLyoqIFRoZSBpbnZvaWNlIGJlaW5nIHNldHRsZWQ7IHRoZSBpZGVtcG90ZW5jeSBrZXkgZm9yIHRoZSByZWxlYXNlLiAqL1xuICBpbnZvaWNlUmVmOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgaW52b2ljZSdzIE5FVCBmaWd1cmUsIG1pbm9yIHVuaXRzIOKAlCBOT1QgdGhlIGdyb3NzIHRoZSBtZXJjaGFudFxuICAgKiBwYWlkLiBBIOKCuTUsOTAwIGludm9pY2Ugb24g4oK5NSwwMDAgb2YgY29uc3VtcHRpb24gcmVsZWFzZXMg4oK5NSwwMDAsXG4gICAqIGJlY2F1c2UgdGhlIGxpbWl0IGFuZCBjb25zdW1wdGlvbiBhcmUgZGVub21pbmF0ZWQgbmV0IG9mIEdTVC5cbiAgICovXG4gIG5ldE1pbm9yOiBudW1iZXI7XG4gIC8qKiBUaGUgaW52b2ljZSdzIEdTVCBmaWd1cmUsIG1pbm9yIHVuaXRzLiBSZWNvcmRlZCwgbm90IHJlbGVhc2VkLiAqL1xuICBnc3RNaW5vcjogbnVtYmVyO1xuICBvbkJlaGFsZk9mOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBpbiBnZW5lcmFsLCBSRVFVSVJFRCB3aGVuIHJlLXNldHRsaW5nIGEgcmV2ZXJzZWQgaW52b2ljZVxuICAgKiB3aXRoIGZpZ3VyZXMgdGhhdCBkaWZmZXIgZnJvbSB0aGUgb3JpZ2luYWwg4oCUIHRoYXQgaXMgYSBjb3JyZWN0aW9uLFxuICAgKiBhbmQgaXQgcmVsZWFzZXMgYWdhaW5zdCB0aGUgbWVyY2hhbnQncyB3aG9sZSBvdXRzdGFuZGluZyBjb25zdW1wdGlvblxuICAgKiByYXRoZXIgdGhhbiB0aGlzIGludm9pY2UncyBhbW91bnQsIHNvIGl0IGhhcyB0byBzYXkgd2hhdCBpdCBpc1xuICAgKiBjb3JyZWN0aW5nLiBXaXRob3V0IGl0IHRoZSBjYWxsIGlzXG4gICAqIGBDcmVkaXRDb3JyZWN0aW9uUmVhc29uUmVxdWlyZWRFcnJvcmAuIFJlLXNldHRsaW5nIHdpdGggdGhlIHNhbWVcbiAgICogZmlndXJlcyBuZWVkcyBub25lLlxuICAgKi9cbiAgcmVhc29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldHRsZUludm9pY2VSZXN1bHQge1xuICBjcmVkaXRMaW5lOiBDcmVkaXRMaW5lO1xuICByZWxlYXNlZE5ldE1pbm9yOiBudW1iZXI7XG4gIHJlbGVhc2VkR3N0TWlub3I6IG51bWJlcjtcbiAgaWRlbXBvdGVudDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXZlcnNlU2V0dGxlbWVudElucHV0IHtcbiAgaW52b2ljZVJlZjogc3RyaW5nO1xuICBvbkJlaGFsZk9mOiBzdHJpbmc7XG4gIHJlYXNvbj86IHN0cmluZztcbn1cblxuLyoqIE9uZSBlbnRyeSBpbiBhIG1lcmNoYW50J3MgbGltaXQtY2hhbmdlIGFuZCBzZXR0bGVtZW50IHRyYWlsLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVkaXRFdmVudCB7XG4gIC8qKlxuICAgKiBBIHJldmVyc2FsIGlzIGl0cyBvd24gcm93IHJhdGhlciB0aGFuIGFuIGVkaXQgdG8gdGhlIHNldHRsZW1lbnQgaXRcbiAgICogdW5kb2VzLCBzbyB0aGUgdHJhaWwgc3RheXMgYXBwZW5kLW9ubHkgYW5kIGVhY2ggcm93IG5hbWVzIGl0cyBvd25cbiAgICogYWN0b3IgYW5kIHJlYXNvbi5cbiAgICovXG4gIGtpbmQ6ICdsaW1pdF9jaGFuZ2VkJyB8ICdzZXR0bGVkJyB8ICdzZXR0bGVtZW50X3JldmVyc2VkJztcbiAgcmVmOiBzdHJpbmc7XG4gIGxpbWl0QmVmb3JlTWlub3I/OiBudW1iZXI7XG4gIGxpbWl0QWZ0ZXJNaW5vcj86IG51bWJlcjtcbiAgZW5hYmxlZEJlZm9yZT86IGJvb2xlYW47XG4gIGVuYWJsZWRBZnRlcj86IGJvb2xlYW47XG4gIG5ldE1pbm9yPzogbnVtYmVyO1xuICBnc3RNaW5vcj86IG51bWJlcjtcbiAgcmVsZWFzZWROZXRNaW5vcj86IG51bWJlcjtcbiAgLyoqIEdTVCByZWxlYXNlZCBhbG9uZ3NpZGUgYHJlbGVhc2VkTmV0TWlub3JgOyByZWNvcmRlZCwgbm90IGNyZWRpdGVkLiAqL1xuICByZWxlYXNlZEdzdE1pbm9yPzogbnVtYmVyO1xuICAvKipcbiAgICogV2hpY2ggcmV2ZXJzYWwgb2YgdGhpcyBzZXR0bGVtZW50LCBmcm9tIDEuIE9uIHJldmVyc2FsIHJvd3Mgb25seTogYW5cbiAgICogaW52b2ljZSBjYW4gYmUgc2V0dGxlZCwgcmV2ZXJzZWQsIHJlLXNldHRsZWQgYW5kIHJldmVyc2VkIGFnYWluLCBhbmRcbiAgICogZWFjaCByZXZlcnNhbCBpcyBhIHNlcGFyYXRlIHJvdy5cbiAgICovXG4gIGN5Y2xlPzogbnVtYmVyO1xuICAvKiogU2V0IG9uIGEgYHNldHRsZWRgIHJvdyB3aGVuIGl0IHdhcyByZXZlcnNlZDsgY2xlYXJlZCBpZiByZS1zZXR0bGVkLiAqL1xuICByZXZlcnNlZEF0Pzogc3RyaW5nO1xuICAvKiogVGhlIE9BdXRoIGNsaWVudCB0aGF0IGNhbGxlZC4gKi9cbiAgYWN0b3I6IHN0cmluZztcbiAgLyoqIFRoZSBodW1hbiB0aGUgY2FsbGVyIHdhcyBhY3RpbmcgZm9yLiAqL1xuICBvbkJlaGFsZk9mPzogc3RyaW5nO1xuICByZWFzb24/OiBzdHJpbmc7XG4gIHJlY29yZGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0Q3JlZGl0RXZlbnRzRmlsdGVyIHtcbiAgLyoqXG4gICAqIEhvdyBtYW55IGV2ZW50cyB0byByZXR1cm4sIG5ld2VzdCBmaXJzdC4gVGhlIHNlcnZpY2UgZGVmYXVsdHMgdG8gNTBcbiAgICog4oCUIGVub3VnaCBmb3IgYSByZWNlbnQtYWN0aXZpdHkgcGFuZWwsIG5vdCBmb3IgYSBtZXJjaGFudCdzIHdob2xlXG4gICAqIGhpc3Rvcnkgb24gdGhlIGxpbmUuXG4gICAqL1xuICBsaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVkaXRVdGlsaXNhdGlvbkZpbHRlciB7XG4gIC8qKiBPbmx5IG1lcmNoYW50cyBhdCBvciBhYm92ZSB0aGlzIHV0aWxpc2F0aW9uLCBpbiBiYXNpcyBwb2ludHMgKDgwMDAgPSA4MCUpLiAqL1xuICBtaW5VdGlsaXNhdGlvbkJwcz86IG51bWJlcjtcbiAgYmFuZD86IENyZWRpdEJhbmQ7XG4gIG9mZnNldD86IG51bWJlcjtcbiAgbGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlZGl0VXRpbGlzYXRpb25QYWdlIHtcbiAgbWVyY2hhbnRzOiBDcmVkaXRMaW5lW107XG4gIC8qKiBNYXRjaGluZyBtZXJjaGFudHMgYmVmb3JlIHBhZ2luZywgZm9yIHRoZSBkYXNoYm9hcmQncyBjb3VudC4gKi9cbiAgdG90YWw6IG51bWJlcjtcbn1cblxuLyoqIFdhbGxldCBkZXRhaWxzIChpZGVudGl0eSArIGN1cnJlbmN5KSwgd2l0aG91dCB0aGUgYmFsYW5jZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5zdGFuY2Uge1xuICB3YWxsZXQ6IFdhbGxldFJlZjtcbiAgY3VycmVuY3k6IEN1cnJlbmN5O1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGB3YWxsZXQuZ2V0V2FsbGV0KC4uLilgLlxuICpcbiAqIGBpZGAgaXMgYSB0eXBlZCBlbnRpdHkgcmVmZXJlbmNlLCBlLmcuIGBcImJ1c2luZXNzOjg4NDFcImAgKHNhbWVcbiAqIHByZWZpeGVkIHNoYXBlIHRoZSBwbGF0Zm9ybSB1c2VzIGZvciBKV1Qgc3ViamVjdHMpLiBUb2RheSBvbmx5IHRoZVxuICogYGJ1c2luZXNzOmAgcHJlZml4IGlzIHN1cHBvcnRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRXYWxsZXRPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEZvcmNlIHRoZSBidXNpbmVzcydzIG93biAoY2hpbGQpIHdhbGxldCwgYnlwYXNzaW5nIHBhcmVudC1mdW5kaW5nXG4gICAqIHJvdXRpbmcgKGBmbGFzaF9jb25maWd1cmF0aW9uLmJJZF9kZWR1Y3Rpb25gKS4gRGVmYXVsdCBgZmFsc2VgIOKAlCB0aGVcbiAgICogc2VydmljZSByZXNvbHZlcyBjaGlsZC12cy1wYXJlbnQgYXV0b21hdGljYWxseS4gTm8gZWZmZWN0IGZvciBhIHJvb3RcbiAgICogYnVzaW5lc3MsIHdoaWNoIG9ubHkgaGFzIGl0cyBvd24gd2FsbGV0LlxuICAgKi9cbiAgZm9yY2VDaGlsZFdhbGxldD86IGJvb2xlYW47XG59XG5cbi8qKiBUaGUgR1NUIHNwbGl0IG9uIGEgY2hhcmdlLiBSZWNvcmRlZCBvbiB0aGUgbGVkZ2VyOyB0aGUgc2VydmljZSBkb2VzIG5vdCBjb21wdXRlIEdTVC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJlYWt1cCB7XG4gIHN1YlRvdGFsTWlub3I6IG51bWJlcjtcbiAgZ3N0TWlub3I6IG51bWJlcjtcbiAgZ3N0UmF0ZTogbnVtYmVyO1xufVxuXG4vKiogU2VhcmNoYWJsZSBrZXkvdmFsdWUgbWV0YWRhdGEgYXR0YWNoZWQgdG8gYSB0cmFuc2FjdGlvbi4gKi9cbmV4cG9ydCB0eXBlIFdhbGxldFRhZ3MgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4vKipcbiAqIEFuIGV4cGxpY2l0IHdhbGxldCBpZGVudGl0eSB0aGF0IFJFUExBQ0VTIGBiSWRfZGVkdWN0aW9uYCByb3V0aW5nIGZvclxuICogb25lIHdyaXRlLiBGb3IgY2FsbGVycyB0aGF0IGFscmVhZHkga25vdyB3aGljaCB3YWxsZXQgcGF5cyAoYWRtaW5cbiAqIHRvb2xzLCB1ZW5nYWdlLWNybSkgb3Igd2FudCB0byBhc3NlcnQgYW4gaWRlbnRpdHkgdGhlIHJvdXRpbmcgdGFibGVzXG4gKiBtaWdodCBkaXNhZ3JlZSB3aXRoLlxuICpcbiAqIFRoZSBjdXJyZW5jeSBpcyBOT1QgcGFydCBvZiB0aGlzIOKAlCB0aGUgc2VydmljZSBzdGlsbCB0YWtlcyBpdCBmcm9tIHRoZVxuICogYnVzaW5lc3MgdGhhdCBvd25zIHRoZSB3YWxsZXQsIHNvIGEgbmFtZWQgd2FsbGV0IGNhbm5vdCBiZSBjaGFyZ2VkIGF0XG4gKiB0aGUgd3JvbmcgbWlub3ItdW5pdCBzY2FsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRPdmVycmlkZSB7XG4gIHBhcmVudEJ1c2luZXNzSWQ6IHN0cmluZztcbiAgLyoqIGBcIjBcImAgZm9yIHRoZSBwYXJlbnQgYnVzaW5lc3MncyBvd24gd2FsbGV0LiAqL1xuICBjaGlsZEJ1c2luZXNzSWQ6IHN0cmluZztcbn1cblxuLyoqIEZpZWxkcyBjb21tb24gdG8gYSBkZWJpdCBhbmQgYSBjcmVkaXQuICovXG5pbnRlcmZhY2UgVHJhbnNhY3Rpb25JbnB1dEJhc2Uge1xuICAvKiogRGV0ZXJtaW5pc3RpYyBpZCBvZiB0aGUgYnVzaW5lc3MgZXZlbnQg4oCUIHRoZSBpZGVtcG90ZW5jeSBrZXkuICovXG4gIHJlZmVyZW5jZUlkOiBzdHJpbmc7XG4gIC8qKiBBbW91bnQgaW4gaW50ZWdlciBtaW5vciB1bml0cyBvZiB0aGUgd2FsbGV0J3MgY3VycmVuY3kuICovXG4gIGFtb3VudE1pbm9yOiBudW1iZXI7XG4gIHNlcnZpY2U6IFNlcnZpY2U7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGJyZWFrdXA/OiBCcmVha3VwO1xuICB0YWdzPzogV2FsbGV0VGFncztcblxuICAvKipcbiAgICogQ2hhcmdlIHRoaXMgd2FsbGV0IGluc3RlYWQgb2YgdGhlIG9uZSB0aGlzIGhhbmRsZSdzIGJ1c2luZXNzIGlkXG4gICAqIHJvdXRlcyB0byDigJQgZm9yIFRISVMgY2FsbCBvbmx5LiBCeXBhc3Nlc1xuICAgKiBgZmxhc2hfY29uZmlndXJhdGlvbi5iSWRfZGVkdWN0aW9uYCBlbnRpcmVseSwgYW5kIGNhbm5vdCBiZSBjb21iaW5lZFxuICAgKiB3aXRoIGEgaGFuZGxlIGJ1aWx0IHdpdGggYGZvcmNlQ2hpbGRXYWxsZXRgLlxuICAgKi9cbiAgd2FsbGV0PzogV2FsbGV0T3ZlcnJpZGU7XG4gIC8vIE5vdGU6IGZvciBhIGNoaWxkIHdhbGxldCB0aGUgc2VydmljZSBhc3NlcnRzIGBwYXJlbnRCdXNpbmVzc0lkYFxuICAvLyBhZ2FpbnN0IHRoZSB3YWxsZXQgZG9jdW1lbnQgcmF0aGVyIHRoYW4gZmlsdGVyaW5nIG9uIGl0LCBzbyBhIHdyb25nXG4gIC8vIG9uZSBpcyBhIDQwOSBgd2FsbGV0X2lkZW50aXR5X21pc21hdGNoYCByYXRoZXIgdGhhbiBhIHNpbGVudCBjaGFyZ2UgdG9cbiAgLy8gdGhlIHJpZ2h0IHdhbGxldCB1bmRlciB0aGUgd3JvbmcgaWRlbnRpdHkuXG5cbiAgLy8g4pSA4pSAIGxlZ2FjeS1sZWRnZXIgcGFzc3Rocm91Z2hzIOKUgOKUgFxuICAvLyBXcml0dGVuIGFzIFRPUC1MRVZFTCBmaWVsZHMgb24gdGhlIGxlZGdlciBkb2N1bWVudCBiZWNhdXNlIGZsYXNoJ3NcbiAgLy8gb3duIGNvZGUgYW5kIGZpbmFuY2UgcmVwb3J0aW5nIHF1ZXJ5IHRoZW0gdGhlcmUuIFRoZXkgYXJlIG5vdCBgdGFnc2A6XG4gIC8vIGB0YWdzYCBpcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IChzbyBgcnRvYCBhbmQgYHVuaXRzYCB3b3VsZCBub3QgZml0KVxuICAvLyBhbmQgd291bGQgbmVzdCB0aGVtIHVuZGVyIGB0YWdzLipgLCBicmVha2luZyB0aG9zZSBxdWVyaWVzLlxuICAvKipcbiAgICogRmxhc2gncyBuYXR1cmFsIGtleSBmb3IgdGhlIGRlbGl2ZXJ5IHRhc2suIFN0b3JlZCBhcyBib3RoIGB0YXNrX2lkYFxuICAgKiBhbmQgYHRyYW5zYWN0aW9uX29yZGVyX2lkYC4gTk9UIGFuIGlkZW1wb3RlbmN5IGtleSDigJQgYHJlZmVyZW5jZUlkYFxuICAgKiBpczsgdGhpcyBpcyB0aGUga2V5IGZsYXNoJ3Mgb3duIHByZS1jaGVjayBmaWx0ZXJzIG9uLlxuICAgKi9cbiAgdGFza0lkPzogc3RyaW5nO1xuICAvKipcbiAgICogQ2hhcmdlYWJsZSB1bml0cyBvbiB0aGlzIGxpbmUuIERlZmF1bHRzIHRvIDEgb24gYSBERUJJVCB3aGVuIGB0YXNrSWRgXG4gICAqIGlzIHNldCAodGhlIGxlZ2FjeSB3cml0ZXIncyBjcmVkaXQgcm93IGNhcnJpZXMgbm8gYHVuaXRzYCBrZXksIHNvXG4gICAqIGNyZWRpdHMgYXJlIG5vdCBkZWZhdWx0ZWQpOyBhbiBleHBsaWNpdCB2YWx1ZSBpcyBob25vdXJlZCBvbiBlaXRoZXIuXG4gICAqL1xuICB1bml0cz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRhcmlmZiBiYXNlIGNvc3QgaW4gTUFKT1IgdW5pdHMgKG5vdCBtaW5vciwgdW5saWtlIGBhbW91bnRNaW5vcmApLFxuICAgKiBjYWxsZXItZGVub21pbmF0ZWQgYW5kIHN0b3JlZCB1bmNvbnZlcnRlZC5cbiAgICovXG4gIHNlcnZpY2VCYXNlQ29zdD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFdoZW4gdGhlIGNoYXJnZSBhY3R1YWxseSBPQ0NVUlJFRCwgSVNUIGBZWVlZLU1NLUREIEhIOm1tOnNzYC4gU2V0c1xuICAgKiB0aGUgbGVkZ2VyJ3MgYGluc2VydGVkX2RhdGVgIOKAlCB3aGF0IGZpbmFuY2UgcmVwb3J0aW5nIGFuZCB0aGVcbiAgICogYGZyb21gL2B0b2AgaGlzdG9yeSBmaWx0ZXIgcmFuZ2Ugb24g4oCUIHNvIGEgYmFja2ZpbGwgb3IgYSByZXBsYXkgaXNcbiAgICogZGF0ZWQgYXQgdGhlIGV2ZW50LCBub3QgYXQgdGhlIHdyaXRlLiBUaGUgd2FsbC1jbG9jayB3cml0ZSB0aW1lIGlzXG4gICAqIHJlY29yZGVkIHNlcGFyYXRlbHkgYXMgYHJlY29yZGVkQXRgLiBEZWZhdWx0cyB0byBub3c7IG1heSBub3QgYmUgaW5cbiAgICogdGhlIGZ1dHVyZSBvciBiYWNrZGF0ZWQgbW9yZSB0aGFuIDkwIGRheXMuXG4gICAqL1xuICBvY2N1cnJlZEF0Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG9yaWdpbmF0aW5nIGFjdG9yLCBzdG9yZWQgYXMgYHVwZGF0ZWRfYnlgICgnUGV0UG9vamEnLCBhIHJpZGVyXG4gICAqIGlkLCAnUmVjb25jaWxlJykuIFRoZSBPQXV0aCBjbGllbnQgdGhhdCBhdXRoZW50aWNhdGVkIHRoZSBjYWxsIGlzXG4gICAqIHJlY29yZGVkIHNlcGFyYXRlbHkgYW5kIGlzIHVuYWZmZWN0ZWQuXG4gICAqL1xuICB1cGRhdGVkQnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGViaXRJbnB1dCBleHRlbmRzIFRyYW5zYWN0aW9uSW5wdXRCYXNlIHtcbiAgLyoqIEFsbG93IHRoZSBiYWxhbmNlIHRvIGdvIG5lZ2F0aXZlIChmbGFzaCBtaWdyYXRpb24gb25seSDigJQgbmVlZHMgc2lnbi1vZmYpLiAqL1xuICBhbGxvd05lZ2F0aXZlPzogYm9vbGVhbjtcbiAgLyoqIFJldHVybi10by1vcmlnaW4gbGVnLiBEZWJpdHMgb25seTsgcGFydCBvZiBmbGFzaCdzIGRlZHVwZSBrZXkuICovXG4gIHJ0bz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlZGl0SW5wdXQgZXh0ZW5kcyBUcmFuc2FjdGlvbklucHV0QmFzZSB7XG4gIC8qKiBMaW5rIGEgcmVmdW5kIHRvIHRoZSBvcmlnaW5hbCBkZWJpdCdzIGBpZGA7IHN1YmplY3QgdG8gdGhlIG92ZXItcmVmdW5kIGd1YXJkLiAqL1xuICByZXZlcnNhbE9mPzogc3RyaW5nO1xuICAvKipcbiAgICogTWFyayB0aGlzIGNyZWRpdCBhcyBhIHJlZnVuZCBXSVRIT1VUIGxpbmtpbmcgaXQgdG8gYW4gb3JpZ2luYWwgZGViaXQsXG4gICAqIGFuZCBzbyB3aXRob3V0IHRoZSBvdmVyLXJlZnVuZCBndWFyZC4gRm9yIHJlZnVuZHMgY29tcHV0ZWRcbiAgICogaW5kZXBlbmRlbnRseSBvZiB0aGUgZGViaXQg4oCUIGEgcGFydGlhbCAoYnVmZmVyLW9ubHkpIHJlZnVuZCB0aGF0IGNhblxuICAgKiBsZWdpdGltYXRlbHkgZXhjZWVkIGl0LiBVc2UgYHJldmVyc2FsT2ZgIGluc3RlYWQgd2hlbiB0aGUgcmVmdW5kXG4gICAqIGdlbnVpbmVseSByZXZlcnNlcyBvbmUga25vd24gZGViaXQgYW5kIHNob3VsZCBiZSBjYXBwZWQgYnkgaXQuXG4gICAqL1xuICBpc1JlZnVuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQYXltZW50IHJlZmVyZW5jZS4gQ3JlZGl0cyBvbmx5LiBUaGUgZW1wdHkgc3RyaW5nIGlzIG1lYW5pbmdmdWwgYW5kXG4gICAqIGlzIHNlbnQgdGhyb3VnaCBhcy1pcy5cbiAgICovXG4gIHBheW1lbnRJZD86IHN0cmluZztcbn1cblxuLyoqIFdoYXQgYGRlYml0KClgIC8gYGNyZWRpdCgpYCByZXR1cm4uICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uUmVzdWx0IHtcbiAgLyoqIFRoZSB3YWxsZXRfdHJhbnNhY3Rpb25zIHJlY29yZCBpZC4gUGVyc2lzdCB0aGlzOyB1c2UgYXMgYHJldmVyc2FsT2ZgIGZvciBhIHJlZnVuZC4gKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIGB0cnVlYCA9IGEgcmVwbGF5IG9mIGFuIGVhcmxpZXIgaWRlbnRpY2FsIHJlZmVyZW5jZUlkOyBubyBtb25leSBtb3ZlZCBub3cuICovXG4gIGlkZW1wb3RlbnQ6IGJvb2xlYW47XG4gIHR5cGU6ICdkZWJpdCcgfCAnY3JlZGl0JztcbiAgYW1vdW50OiBBbW91bnQ7XG4gIGJhbGFuY2VCZWZvcmU6IEJhbGFuY2U7XG4gIGJhbGFuY2VBZnRlcjogQmFsYW5jZTtcbiAgY3VycmVuY3k6IEN1cnJlbmN5O1xuICB3YWxsZXQ6IFdhbGxldFJlZjtcbn1cblxuLyoqIEEgdHJhbnNhY3Rpb24gYXMgcmV0dXJuZWQgYnkgYGxpc3RUcmFuc2FjdGlvbnMoKWAgLyBgZ2V0VHJhbnNhY3Rpb24oKWAuICovXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFRyYW5zYWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBhbW91bnQ6IEFtb3VudDtcbiAgc2VydmljZTogU2VydmljZVJlZjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdGFncz86IFdhbGxldFRhZ3M7XG4gIHJldmVyc2FsT2Y/OiBzdHJpbmc7XG4gIGJhbGFuY2VCZWZvcmU6IEJhbGFuY2U7XG4gIGJhbGFuY2VBZnRlcjogQmFsYW5jZTtcbiAgLyoqIFdoZW4gdGhlIGNoYXJnZSBvY2N1cnJlZCwgSVNULiBBIGJhY2tkYXRlZCB3cml0ZSAoYG9jY3VycmVkQXRgKSBzZXRzIGl0LiAqL1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgLyoqXG4gICAqIFdhbGwtY2xvY2sgd3JpdGUgdGltZSwgSVNULiBBYnNlbnQgb24gdHJhbnNhY3Rpb25zIHdyaXR0ZW4gYmVmb3JlXG4gICAqIHRoaXMgZmllbGQgZXhpc3RlZCwgd2hlcmUgYHRpbWVzdGFtcGAgaXMgYWxzbyB0aGUgd3JpdGUgdGltZS5cbiAgICovXG4gIHJlY29yZGVkQXQ/OiBzdHJpbmc7XG4gIGN1cnJlbmN5OiBDdXJyZW5jeTtcbiAgd2FsbGV0OiBXYWxsZXRSZWY7XG5cbiAgLy8g4pSA4pSAIGxlZ2FjeS1sZWRnZXIgcGFzc3Rocm91Z2hzLCBlY2hvZWQgYmFjayDilIDilIBcbiAgdGFza0lkPzogc3RyaW5nO1xuICBydG8/OiBib29sZWFuO1xuICB1bml0cz86IG51bWJlcjtcbiAgc2VydmljZUJhc2VDb3N0PzogbnVtYmVyO1xuICBwYXltZW50SWQ/OiBzdHJpbmc7XG4gIC8qKiBUcnVlIHdoZW4gdGhlIGVudHJ5IGlzIG1hcmtlZCBhIHJlZnVuZCAocmV2ZXJzYWwtbGlua2VkIG9yIHN0YW5kYWxvbmUpLiAqL1xuICByZWZ1bmQ/OiBib29sZWFuO1xuICB1cGRhdGVkQnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgR1NUIHNwbGl0IHJlY29yZGVkIG9uIHRoZSBjaGFyZ2UsIGluIG1pbm9yIHVuaXRzLlxuICAgKlxuICAgKiBgYW1vdW50YCBpcyB0aGUgR1JPU1MgZmlndXJlLiBPbiBhIGNyZWRpdC1saW5lIHJvdyBpdCBpcyBOT1Qgd2hhdFxuICAgKiBtb3ZlZCBhZ2FpbnN0IHRoZSBjZWlsaW5nIOKAlCBgc3ViVG90YWxNaW5vcmAgaXMsIGFuZCBpdCBpcyB3aGF0IGFuXG4gICAqIGludm9pY2UgaXMgYnVpbHQgZnJvbS4gQWJzZW50IG9uIHJvd3Mgd3JpdHRlbiB3aXRob3V0IGEgc3BsaXQgKGV2ZXJ5XG4gICAqIGxlZ2FjeSByb3cpOyBndWFyYW50ZWVkIG9uIGEgY3JlZGl0LWxpbmUgcm93LCBiZWNhdXNlIHRoZSBzcGxpdCBpc1xuICAgKiBtYW5kYXRvcnkgdGhlcmUuXG4gICAqL1xuICBicmVha3VwPzogeyBzdWJUb3RhbE1pbm9yOiBudW1iZXI7IGdzdE1pbm9yOiBudW1iZXI7IGdzdFJhdGU6IG51bWJlciB9O1xuICAvKipcbiAgICogU2V0IHdoZW4gdGhlIGNoYXJnZSBjb25zdW1lZCBhIGNyZWRpdCBsaW5lLiBJdHMgcHJlc2VuY2UgYWxzbyBtZWFuc1xuICAgKiBgYmFsYW5jZUJlZm9yZWAvYGJhbGFuY2VBZnRlcmAgb24gdGhpcyByb3cgYXJlIEFWQUlMQUJMRSBDUkVESVRcbiAgICogcmF0aGVyIHRoYW4gYSB3YWxsZXQgYmFsYW5jZS5cbiAgICovXG4gIGNyZWRpdE1lcmNoYW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFRyYW5zYWN0aW9uc0ZpbHRlciB7XG4gIHR5cGU/OiAnZGViaXQnIHwgJ2NyZWRpdCcgfCAnYWxsJztcbiAgZnJvbT86IHN0cmluZztcbiAgdG8/OiBzdHJpbmc7XG4gIHNlcnZpY2U/OiBTZXJ2aWNlO1xuICByZWZlcmVuY2VJZD86IHN0cmluZztcbiAgLyoqIFNpbmdsZSB0YWcgZmlsdGVyIGFzIGBrZXk6dmFsdWVgLiAqL1xuICB0YWc/OiBzdHJpbmc7XG4gIGN1cnNvcj86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25QYWdlIHtcbiAgdHJhbnNhY3Rpb25zOiBXYWxsZXRUcmFuc2FjdGlvbltdO1xuICBuZXh0Q3Vyc29yPzogc3RyaW5nO1xufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uengage.io/platform-sdk",
3
- "version": "2.2.0",
3
+ "version": "2.4.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",