@nlabs/reaktor 1.6.1 → 1.6.3
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.
- package/README.md +15 -0
- package/lib/actions/files.d.ts +25 -1
- package/lib/actions/files.js +24 -9
- package/lib/actions/images.js +76 -138
- package/lib/actions/rum.js +203 -23
- package/lib/config.d.ts +10 -0
- package/lib/config.js +1 -1
- package/lib/constants/collections.d.ts +1 -2
- package/lib/constants/collections.js +2 -3
- package/package.json +4 -3
package/lib/actions/rum.js
CHANGED
|
@@ -1,66 +1,246 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2026-Present, Nitrogen Labs, Inc.
|
|
3
3
|
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
-
*/ import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
*/ import { PutRumEventsCommand, RUMClient } from '@aws-sdk/client-rum';
|
|
5
|
+
import { createHash, randomUUID } from 'crypto';
|
|
6
|
+
import { Config } from '../config.js';
|
|
7
7
|
import { UserError } from '../utils/analyticsUtils.js';
|
|
8
|
-
import { useDb } from '../utils/arangodbUtils.js';
|
|
9
8
|
const MAX_BATCH_SIZE = 50;
|
|
10
9
|
const MAX_PROPERTIES = 20;
|
|
10
|
+
const MAX_SEQUENCE = 1_000_000;
|
|
11
|
+
const MAX_TIMESTAMP_AGE_MS = 24 * 60 * 60 * 1000;
|
|
12
|
+
const MAX_TIMESTAMP_FUTURE_MS = 5 * 60 * 1000;
|
|
13
|
+
const UUID_PATTERN = /^[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}$/i;
|
|
14
|
+
const BLOCKED_PROPERTY_KEYS = new Set([
|
|
15
|
+
'accountid',
|
|
16
|
+
'address',
|
|
17
|
+
'email',
|
|
18
|
+
'firstname',
|
|
19
|
+
'fullname',
|
|
20
|
+
'geolocation',
|
|
21
|
+
'ip',
|
|
22
|
+
'ipaddress',
|
|
23
|
+
'lastname',
|
|
24
|
+
'latitude',
|
|
25
|
+
'longitude',
|
|
26
|
+
'name',
|
|
27
|
+
'phone',
|
|
28
|
+
'referrer',
|
|
29
|
+
'token',
|
|
30
|
+
'useragent',
|
|
31
|
+
'userid'
|
|
32
|
+
]);
|
|
33
|
+
const EMAIL_PATTERN = /\b[^\s@]+@[^\s@]+\.[^\s@]+\b/i;
|
|
34
|
+
const RUM_METADATA_PROPERTY_KEYS = {
|
|
35
|
+
browserLanguage: [
|
|
36
|
+
'browserlanguage'
|
|
37
|
+
],
|
|
38
|
+
browserName: [
|
|
39
|
+
'browsername'
|
|
40
|
+
],
|
|
41
|
+
browserVersion: [
|
|
42
|
+
'browserversion'
|
|
43
|
+
],
|
|
44
|
+
deviceType: [
|
|
45
|
+
'devicetype'
|
|
46
|
+
],
|
|
47
|
+
interaction: [
|
|
48
|
+
'interaction'
|
|
49
|
+
],
|
|
50
|
+
osName: [
|
|
51
|
+
'osname'
|
|
52
|
+
],
|
|
53
|
+
osVersion: [
|
|
54
|
+
'osversion'
|
|
55
|
+
],
|
|
56
|
+
pageId: [
|
|
57
|
+
'pageid'
|
|
58
|
+
],
|
|
59
|
+
parentPageId: [
|
|
60
|
+
'parentpageid',
|
|
61
|
+
'parentpage'
|
|
62
|
+
]
|
|
63
|
+
};
|
|
11
64
|
const normalizeText = (value, maxLength)=>String(value || '').trim().slice(0, maxLength);
|
|
65
|
+
const normalizePropertyKey = (value)=>value.toLowerCase().replace(/[^a-z0-9]/g, '');
|
|
66
|
+
const normalizeDomain = (value)=>normalizeText(value, 253).replace(/^https?:\/\//i, '').split('/')[0].split(':')[0];
|
|
67
|
+
const getAwsUuid = (value)=>{
|
|
68
|
+
if (UUID_PATTERN.test(value)) {
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
const hash = createHash('sha256').update(value).digest('hex');
|
|
72
|
+
return `${hash.slice(0, 8)}-${hash.slice(8, 12)}-${hash.slice(12, 16)}-${hash.slice(16, 20)}-${hash.slice(20, 32)}`;
|
|
73
|
+
};
|
|
74
|
+
const parseEnvironmentAppMonitors = ()=>{
|
|
75
|
+
const value = process.env.AWS_RUM_APP_MONITORS;
|
|
76
|
+
if (!value) {
|
|
77
|
+
return {};
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
const parsed = JSON.parse(value);
|
|
81
|
+
return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};
|
|
82
|
+
} catch {
|
|
83
|
+
throw new UserError('invalid_rum_config');
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const getAppMonitor = (context, appId)=>{
|
|
87
|
+
const configuredMonitors = context.config?.aws?.rum?.appMonitors || Config.get('aws.rum.appMonitors', {});
|
|
88
|
+
const environmentMonitors = parseEnvironmentAppMonitors();
|
|
89
|
+
const configuredMonitor = environmentMonitors[appId] || configuredMonitors[appId];
|
|
90
|
+
const monitor = typeof configuredMonitor === 'string' ? {
|
|
91
|
+
id: configuredMonitor
|
|
92
|
+
} : configuredMonitor;
|
|
93
|
+
const monitorId = normalizeText(monitor?.id, 36);
|
|
94
|
+
if (!monitorId || !UUID_PATTERN.test(monitorId)) {
|
|
95
|
+
throw new UserError('invalid_rum_app');
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
...monitor,
|
|
99
|
+
domain: normalizeDomain(monitor.domain || context.config?.details?.url || Config.get('details.url') || appId),
|
|
100
|
+
id: monitorId,
|
|
101
|
+
name: normalizeText(monitor.name || appId, 255),
|
|
102
|
+
version: normalizeText(monitor.version || context.config?.details?.version || Config.get('details.version') || '1.0.0', 255)
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
const getRumClient = (context)=>{
|
|
106
|
+
const awsConfig = context.config?.aws || Config.get('aws', {});
|
|
107
|
+
const { accessKeyId, secretAccessKey, sessionToken } = awsConfig.credentials || {};
|
|
108
|
+
const credentials = accessKeyId && secretAccessKey ? {
|
|
109
|
+
accessKeyId,
|
|
110
|
+
secretAccessKey,
|
|
111
|
+
...sessionToken ? {
|
|
112
|
+
sessionToken
|
|
113
|
+
} : {}
|
|
114
|
+
} : undefined;
|
|
115
|
+
return new RUMClient({
|
|
116
|
+
...credentials ? {
|
|
117
|
+
credentials
|
|
118
|
+
} : {},
|
|
119
|
+
...awsConfig.region ? {
|
|
120
|
+
region: awsConfig.region
|
|
121
|
+
} : {}
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
const sanitizeTimestamp = (value, now)=>{
|
|
125
|
+
const timestamp = Number(value);
|
|
126
|
+
if (!Number.isFinite(timestamp) || timestamp < now - MAX_TIMESTAMP_AGE_MS || timestamp > now + MAX_TIMESTAMP_FUTURE_MS) {
|
|
127
|
+
return now;
|
|
128
|
+
}
|
|
129
|
+
return Math.floor(timestamp);
|
|
130
|
+
};
|
|
12
131
|
const sanitizeProperties = (properties = {})=>Object.entries(properties).slice(0, MAX_PROPERTIES).reduce((result, [key, value])=>{
|
|
13
132
|
const propertyKey = normalizeText(key, 64);
|
|
14
|
-
|
|
133
|
+
const normalizedPropertyKey = normalizePropertyKey(propertyKey);
|
|
134
|
+
if (propertyKey && !BLOCKED_PROPERTY_KEYS.has(normalizedPropertyKey) && [
|
|
15
135
|
'boolean',
|
|
16
136
|
'number',
|
|
17
137
|
'string'
|
|
18
138
|
].includes(typeof value)) {
|
|
19
|
-
|
|
139
|
+
if (typeof value === 'string') {
|
|
140
|
+
const textValue = normalizeText(value, 256);
|
|
141
|
+
if (textValue && !EMAIL_PATTERN.test(textValue)) {
|
|
142
|
+
result[propertyKey] = textValue;
|
|
143
|
+
}
|
|
144
|
+
} else if (typeof value === 'boolean' || Number.isFinite(value)) {
|
|
145
|
+
result[propertyKey] = value;
|
|
146
|
+
}
|
|
20
147
|
}
|
|
21
148
|
return result;
|
|
22
149
|
}, {});
|
|
23
|
-
const
|
|
24
|
-
const
|
|
150
|
+
const getRumMetadata = (appId, domain, properties)=>{
|
|
151
|
+
const normalizedProperties = Object.entries(properties).reduce((result, [key, value])=>({
|
|
152
|
+
...result,
|
|
153
|
+
[normalizePropertyKey(key)]: value
|
|
154
|
+
}), {});
|
|
155
|
+
return Object.entries(RUM_METADATA_PROPERTY_KEYS).reduce((metadata, [key, aliases])=>{
|
|
156
|
+
const alias = aliases.find((candidate)=>normalizedProperties[candidate] !== undefined);
|
|
157
|
+
if (alias) {
|
|
158
|
+
metadata[key] = normalizedProperties[alias];
|
|
159
|
+
}
|
|
160
|
+
return metadata;
|
|
161
|
+
}, {
|
|
162
|
+
applicationId: appId,
|
|
163
|
+
...domain ? {
|
|
164
|
+
domain
|
|
165
|
+
} : {},
|
|
166
|
+
platformType: 'web',
|
|
167
|
+
version: '1.0.0'
|
|
168
|
+
});
|
|
169
|
+
};
|
|
170
|
+
const sanitizeEvent = (event, now)=>{
|
|
171
|
+
const inputEventId = normalizeText(event.eventId, 128);
|
|
25
172
|
const journeyId = normalizeText(event.journeyId, 128);
|
|
26
173
|
const name = normalizeText(event.name, 128);
|
|
27
174
|
const path = normalizeText(event.path, 256).split('?')[0].split('#')[0];
|
|
28
|
-
const type = normalizeText(event.type,
|
|
29
|
-
if (!
|
|
175
|
+
const type = normalizeText(event.type, 256).replace(/[^a-zA-Z0-9_.-]/g, '_');
|
|
176
|
+
if (!inputEventId || !journeyId || !name || !type) {
|
|
30
177
|
throw new UserError('invalid_rum_event');
|
|
31
178
|
}
|
|
32
179
|
return {
|
|
33
|
-
eventId,
|
|
34
|
-
journeyId,
|
|
180
|
+
eventId: getAwsUuid(inputEventId),
|
|
181
|
+
journeyId: getAwsUuid(journeyId),
|
|
35
182
|
name,
|
|
36
183
|
...path ? {
|
|
37
184
|
path
|
|
38
185
|
} : {},
|
|
39
186
|
properties: sanitizeProperties(event.properties),
|
|
40
|
-
sequence: Math.max(1, Math.floor(Number(event.sequence) || 1)),
|
|
41
|
-
timestamp:
|
|
187
|
+
sequence: Math.min(MAX_SEQUENCE, Math.max(1, Math.floor(Number(event.sequence) || 1))),
|
|
188
|
+
timestamp: sanitizeTimestamp(event.timestamp, now),
|
|
42
189
|
type
|
|
43
190
|
};
|
|
44
191
|
};
|
|
192
|
+
const groupEventsByJourney = (events)=>events.reduce((groups, event)=>{
|
|
193
|
+
const journeyEvents = groups.get(event.journeyId) || [];
|
|
194
|
+
journeyEvents.push(event);
|
|
195
|
+
groups.set(event.journeyId, journeyEvents);
|
|
196
|
+
return groups;
|
|
197
|
+
}, new Map());
|
|
45
198
|
export const trackRum = async (context, batch)=>{
|
|
46
199
|
const appId = normalizeText(batch?.appId, 128);
|
|
47
200
|
const inputEvents = Array.isArray(batch?.events) ? batch.events : [];
|
|
48
201
|
if (!appId || inputEvents.length === 0 || inputEvents.length > MAX_BATCH_SIZE) {
|
|
49
202
|
throw new UserError('invalid_rum_batch');
|
|
50
203
|
}
|
|
51
|
-
const events = inputEvents.map(sanitizeEvent);
|
|
52
204
|
const now = Date.now();
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
205
|
+
const monitor = getAppMonitor(context, appId);
|
|
206
|
+
const events = inputEvents.map((event)=>sanitizeEvent(event, now));
|
|
207
|
+
const eventsByJourney = groupEventsByJourney(events);
|
|
208
|
+
const client = getRumClient(context);
|
|
209
|
+
await Promise.all(Array.from(eventsByJourney.entries()).map(([journeyId, journeyEvents])=>client.send(new PutRumEventsCommand({
|
|
210
|
+
...monitor.alias ? {
|
|
211
|
+
Alias: monitor.alias
|
|
212
|
+
} : {},
|
|
213
|
+
AppMonitorDetails: {
|
|
214
|
+
id: monitor.id,
|
|
215
|
+
name: monitor.name,
|
|
216
|
+
version: monitor.version
|
|
217
|
+
},
|
|
218
|
+
BatchId: randomUUID(),
|
|
219
|
+
Id: monitor.id,
|
|
220
|
+
RumEvents: journeyEvents.map((event)=>({
|
|
221
|
+
details: JSON.stringify({
|
|
222
|
+
appId,
|
|
223
|
+
name: event.name,
|
|
224
|
+
...event.path ? {
|
|
225
|
+
path: event.path
|
|
226
|
+
} : {},
|
|
227
|
+
properties: event.properties,
|
|
228
|
+
sequence: event.sequence
|
|
229
|
+
}),
|
|
230
|
+
id: event.eventId,
|
|
231
|
+
metadata: JSON.stringify(getRumMetadata(appId, monitor.domain, event.properties)),
|
|
232
|
+
timestamp: new Date(event.timestamp),
|
|
233
|
+
type: event.type
|
|
234
|
+
})),
|
|
235
|
+
UserDetails: {
|
|
236
|
+
sessionId: journeyId,
|
|
237
|
+
userId: journeyId
|
|
238
|
+
}
|
|
239
|
+
}))));
|
|
60
240
|
return {
|
|
61
241
|
accepted: events.length,
|
|
62
242
|
appId
|
|
63
243
|
};
|
|
64
244
|
};
|
|
65
245
|
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FjdGlvbnMvcnVtLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI2LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2FxbH0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IHtsaXRlcmFsfSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuXG5pbXBvcnQge0NPTExFQ1RJT05TfSBmcm9tICcuLi9jb25zdGFudHMvY29sbGVjdGlvbnMuanMnO1xuaW1wb3J0IHtVc2VyRXJyb3J9IGZyb20gJy4uL3V0aWxzL2FuYWx5dGljc1V0aWxzLmpzJztcbmltcG9ydCB7dXNlRGJ9IGZyb20gJy4uL3V0aWxzL2FyYW5nb2RiVXRpbHMuanMnO1xuXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7UnVtQmF0Y2hJbnB1dFR5cGUsIFJ1bUV2ZW50SW5wdXRUeXBlLCBSdW1Qcm9wZXJ0eSwgUnVtVHJhY2tSZXN1bHRUeXBlfSBmcm9tICcuLi90eXBlcy9ydW0udHlwZXMuanMnO1xuXG5jb25zdCBNQVhfQkFUQ0hfU0laRSA9IDUwO1xuY29uc3QgTUFYX1BST1BFUlRJRVMgPSAyMDtcblxuY29uc3Qgbm9ybWFsaXplVGV4dCA9ICh2YWx1ZTogdW5rbm93biwgbWF4TGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcgPT5cbiAgU3RyaW5nKHZhbHVlIHx8ICcnKS50cmltKCkuc2xpY2UoMCwgbWF4TGVuZ3RoKTtcblxuY29uc3Qgc2FuaXRpemVQcm9wZXJ0aWVzID0gKFxuICBwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBSdW1Qcm9wZXJ0eT4gPSB7fVxuKTogUmVjb3JkPHN0cmluZywgUnVtUHJvcGVydHk+ID0+IE9iamVjdC5lbnRyaWVzKHByb3BlcnRpZXMpXG4gIC5zbGljZSgwLCBNQVhfUFJPUEVSVElFUylcbiAgLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBSdW1Qcm9wZXJ0eT4+KChyZXN1bHQsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGNvbnN0IHByb3BlcnR5S2V5ID0gbm9ybWFsaXplVGV4dChrZXksIDY0KTtcblxuICAgIGlmKHByb3BlcnR5S2V5ICYmIFsnYm9vbGVhbicsICdudW1iZXInLCAnc3RyaW5nJ10uaW5jbHVkZXModHlwZW9mIHZhbHVlKSkge1xuICAgICAgcmVzdWx0W3Byb3BlcnR5S2V5XSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyBub3JtYWxpemVUZXh0KHZhbHVlLCAyNTYpIDogdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSwge30pO1xuXG5jb25zdCBzYW5pdGl6ZUV2ZW50ID0gKGV2ZW50OiBSdW1FdmVudElucHV0VHlwZSk6IFJ1bUV2ZW50SW5wdXRUeXBlID0+IHtcbiAgY29uc3QgZXZlbnRJZCA9IG5vcm1hbGl6ZVRleHQoZXZlbnQuZXZlbnRJZCwgMTI4KTtcbiAgY29uc3Qgam91cm5leUlkID0gbm9ybWFsaXplVGV4dChldmVudC5qb3VybmV5SWQsIDEyOCk7XG4gIGNvbnN0IG5hbWUgPSBub3JtYWxpemVUZXh0KGV2ZW50Lm5hbWUsIDEyOCk7XG4gIGNvbnN0IHBhdGggPSBub3JtYWxpemVUZXh0KGV2ZW50LnBhdGgsIDI1Nikuc3BsaXQoJz8nKVswXS5zcGxpdCgnIycpWzBdO1xuICBjb25zdCB0eXBlID0gbm9ybWFsaXplVGV4dChldmVudC50eXBlLCA2NCk7XG5cbiAgaWYoIWV2ZW50SWQgfHwgIWpvdXJuZXlJZCB8fCAhbmFtZSB8fCAhdHlwZSkge1xuICAgIHRocm93IG5ldyBVc2VyRXJyb3IoJ2ludmFsaWRfcnVtX2V2ZW50Jyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGV2ZW50SWQsXG4gICAgam91cm5leUlkLFxuICAgIG5hbWUsXG4gICAgLi4uKHBhdGggPyB7cGF0aH0gOiB7fSksXG4gICAgcHJvcGVydGllczogc2FuaXRpemVQcm9wZXJ0aWVzKGV2ZW50LnByb3BlcnRpZXMpLFxuICAgIHNlcXVlbmNlOiBNYXRoLm1heCgxLCBNYXRoLmZsb29yKE51bWJlcihldmVudC5zZXF1ZW5jZSkgfHwgMSkpLFxuICAgIHRpbWVzdGFtcDogTWF0aC5tYXgoMCwgTnVtYmVyKGV2ZW50LnRpbWVzdGFtcCkgfHwgRGF0ZS5ub3coKSksXG4gICAgdHlwZVxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHRyYWNrUnVtID0gYXN5bmMgKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICBiYXRjaDogUnVtQmF0Y2hJbnB1dFR5cGVcbik6IFByb21pc2U8UnVtVHJhY2tSZXN1bHRUeXBlPiA9PiB7XG4gIGNvbnN0IGFwcElkID0gbm9ybWFsaXplVGV4dChiYXRjaD8uYXBwSWQsIDEyOCk7XG4gIGNvbnN0IGlucHV0RXZlbnRzID0gQXJyYXkuaXNBcnJheShiYXRjaD8uZXZlbnRzKSA/IGJhdGNoLmV2ZW50cyA6IFtdO1xuXG4gIGlmKCFhcHBJZCB8fCBpbnB1dEV2ZW50cy5sZW5ndGggPT09IDAgfHwgaW5wdXRFdmVudHMubGVuZ3RoID4gTUFYX0JBVENIX1NJWkUpIHtcbiAgICB0aHJvdyBuZXcgVXNlckVycm9yKCdpbnZhbGlkX3J1bV9iYXRjaCcpO1xuICB9XG5cbiAgY29uc3QgZXZlbnRzID0gaW5wdXRFdmVudHMubWFwKHNhbml0aXplRXZlbnQpO1xuICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuXG4gIGF3YWl0IHVzZURiKGNvbnRleHQuZGF0YWJhc2VOYW1lKS5xdWVyeShhcWxgXG4gICAgRk9SIGV2ZW50IElOICR7ZXZlbnRzfVxuICAgICAgVVBTRVJUIHthcHBJZDogJHthcHBJZH0sIGV2ZW50SWQ6IGV2ZW50LmV2ZW50SWR9XG4gICAgICBJTlNFUlQgTUVSR0UoZXZlbnQsIHthZGRlZDogJHtub3d9LCBhcHBJZDogJHthcHBJZH0sIG1vZGlmaWVkOiAke25vd319KVxuICAgICAgVVBEQVRFIHttb2RpZmllZDogJHtub3d9fVxuICAgICAgSU4gJHtsaXRlcmFsKENPTExFQ1RJT05TLlJVTV9MT0dTKX1cbiAgYCk7XG5cbiAgcmV0dXJuIHthY2NlcHRlZDogZXZlbnRzLmxlbmd0aCwgYXBwSWR9O1xufTtcbiJdLCJuYW1lcyI6WyJhcWwiLCJsaXRlcmFsIiwiQ09MTEVDVElPTlMiLCJVc2VyRXJyb3IiLCJ1c2VEYiIsIk1BWF9CQVRDSF9TSVpFIiwiTUFYX1BST1BFUlRJRVMiLCJub3JtYWxpemVUZXh0IiwidmFsdWUiLCJtYXhMZW5ndGgiLCJTdHJpbmciLCJ0cmltIiwic2xpY2UiLCJzYW5pdGl6ZVByb3BlcnRpZXMiLCJwcm9wZXJ0aWVzIiwiT2JqZWN0IiwiZW50cmllcyIsInJlZHVjZSIsInJlc3VsdCIsImtleSIsInByb3BlcnR5S2V5IiwiaW5jbHVkZXMiLCJzYW5pdGl6ZUV2ZW50IiwiZXZlbnQiLCJldmVudElkIiwiam91cm5leUlkIiwibmFtZSIsInBhdGgiLCJzcGxpdCIsInR5cGUiLCJzZXF1ZW5jZSIsIk1hdGgiLCJtYXgiLCJmbG9vciIsIk51bWJlciIsInRpbWVzdGFtcCIsIkRhdGUiLCJub3ciLCJ0cmFja1J1bSIsImNvbnRleHQiLCJiYXRjaCIsImFwcElkIiwiaW5wdXRFdmVudHMiLCJBcnJheSIsImlzQXJyYXkiLCJldmVudHMiLCJsZW5ndGgiLCJtYXAiLCJkYXRhYmFzZU5hbWUiLCJxdWVyeSIsIlJVTV9MT0dTIiwiYWNjZXB0ZWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLEdBQUcsUUFBTyxXQUFXO0FBQzdCLFNBQVFDLE9BQU8sUUFBTyxlQUFlO0FBRXJDLFNBQVFDLFdBQVcsUUFBTyw4QkFBOEI7QUFDeEQsU0FBUUMsU0FBUyxRQUFPLDZCQUE2QjtBQUNyRCxTQUFR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
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FjdGlvbnMvcnVtLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI2LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge1B1dFJ1bUV2ZW50c0NvbW1hbmQsIFJVTUNsaWVudH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXJ1bSc7XG5pbXBvcnQge2NyZWF0ZUhhc2gsIHJhbmRvbVVVSUR9IGZyb20gJ2NyeXB0byc7XG5cbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuaW1wb3J0IHtVc2VyRXJyb3J9IGZyb20gJy4uL3V0aWxzL2FuYWx5dGljc1V0aWxzLmpzJztcblxuaW1wb3J0IHR5cGUge0F3c0NvbmZpZywgQXdzUnVtQXBwTW9uaXRvckNvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtSdW1CYXRjaElucHV0VHlwZSwgUnVtRXZlbnRJbnB1dFR5cGUsIFJ1bVByb3BlcnR5LCBSdW1UcmFja1Jlc3VsdFR5cGV9IGZyb20gJy4uL3R5cGVzL3J1bS50eXBlcy5qcyc7XG5cbmNvbnN0IE1BWF9CQVRDSF9TSVpFID0gNTA7XG5jb25zdCBNQVhfUFJPUEVSVElFUyA9IDIwO1xuY29uc3QgTUFYX1NFUVVFTkNFID0gMV8wMDBfMDAwO1xuY29uc3QgTUFYX1RJTUVTVEFNUF9BR0VfTVMgPSAyNCAqIDYwICogNjAgKiAxMDAwO1xuY29uc3QgTUFYX1RJTUVTVEFNUF9GVVRVUkVfTVMgPSA1ICogNjAgKiAxMDAwO1xuY29uc3QgVVVJRF9QQVRURVJOID0gL15bYS1mXFxkXXs4fS1bYS1mXFxkXXs0fS1bYS1mXFxkXXs0fS1bYS1mXFxkXXs0fS1bYS1mXFxkXXsxMn0kL2k7XG5jb25zdCBCTE9DS0VEX1BST1BFUlRZX0tFWVMgPSBuZXcgU2V0KFtcbiAgJ2FjY291bnRpZCcsXG4gICdhZGRyZXNzJyxcbiAgJ2VtYWlsJyxcbiAgJ2ZpcnN0bmFtZScsXG4gICdmdWxsbmFtZScsXG4gICdnZW9sb2NhdGlvbicsXG4gICdpcCcsXG4gICdpcGFkZHJlc3MnLFxuICAnbGFzdG5hbWUnLFxuICAnbGF0aXR1ZGUnLFxuICAnbG9uZ2l0dWRlJyxcbiAgJ25hbWUnLFxuICAncGhvbmUnLFxuICAncmVmZXJyZXInLFxuICAndG9rZW4nLFxuICAndXNlcmFnZW50JyxcbiAgJ3VzZXJpZCdcbl0pO1xuY29uc3QgRU1BSUxfUEFUVEVSTiA9IC9cXGJbXlxcc0BdK0BbXlxcc0BdK1xcLlteXFxzQF0rXFxiL2k7XG5cbnR5cGUgUnVtQXBwTW9uaXRvck1hcCA9IFJlY29yZDxzdHJpbmcsIEF3c1J1bUFwcE1vbml0b3JDb25maWcgfCBzdHJpbmc+O1xudHlwZSBSdW1NZXRhZGF0YSA9IFJlY29yZDxzdHJpbmcsIFJ1bVByb3BlcnR5PjtcblxuY29uc3QgUlVNX01FVEFEQVRBX1BST1BFUlRZX0tFWVM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcbiAgYnJvd3Nlckxhbmd1YWdlOiBbJ2Jyb3dzZXJsYW5ndWFnZSddLFxuICBicm93c2VyTmFtZTogWydicm93c2VybmFtZSddLFxuICBicm93c2VyVmVyc2lvbjogWydicm93c2VydmVyc2lvbiddLFxuICBkZXZpY2VUeXBlOiBbJ2RldmljZXR5cGUnXSxcbiAgaW50ZXJhY3Rpb246IFsnaW50ZXJhY3Rpb24nXSxcbiAgb3NOYW1lOiBbJ29zbmFtZSddLFxuICBvc1ZlcnNpb246IFsnb3N2ZXJzaW9uJ10sXG4gIHBhZ2VJZDogWydwYWdlaWQnXSxcbiAgcGFyZW50UGFnZUlkOiBbJ3BhcmVudHBhZ2VpZCcsICdwYXJlbnRwYWdlJ11cbn07XG5cbmNvbnN0IG5vcm1hbGl6ZVRleHQgPSAodmFsdWU6IHVua25vd24sIG1heExlbmd0aDogbnVtYmVyKTogc3RyaW5nID0+XG4gIFN0cmluZyh2YWx1ZSB8fCAnJykudHJpbSgpLnNsaWNlKDAsIG1heExlbmd0aCk7XG5cbmNvbnN0IG5vcm1hbGl6ZVByb3BlcnR5S2V5ID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgdmFsdWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXmEtejAtOV0vZywgJycpO1xuXG5jb25zdCBub3JtYWxpemVEb21haW4gPSAodmFsdWU6IHVua25vd24pOiBzdHJpbmcgPT4gbm9ybWFsaXplVGV4dCh2YWx1ZSwgMjUzKVxuICAucmVwbGFjZSgvXmh0dHBzPzpcXC9cXC8vaSwgJycpXG4gIC5zcGxpdCgnLycpWzBdXG4gIC5zcGxpdCgnOicpWzBdO1xuXG5jb25zdCBnZXRBd3NVdWlkID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZihVVUlEX1BBVFRFUk4udGVzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCBoYXNoID0gY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHZhbHVlKS5kaWdlc3QoJ2hleCcpO1xuICByZXR1cm4gYCR7aGFzaC5zbGljZSgwLCA4KX0tJHtoYXNoLnNsaWNlKDgsIDEyKX0tJHtoYXNoLnNsaWNlKDEyLCAxNil9LSR7aGFzaC5zbGljZSgxNiwgMjApfS0ke2hhc2guc2xpY2UoMjAsIDMyKX1gO1xufTtcblxuY29uc3QgcGFyc2VFbnZpcm9ubWVudEFwcE1vbml0b3JzID0gKCk6IFJ1bUFwcE1vbml0b3JNYXAgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHByb2Nlc3MuZW52LkFXU19SVU1fQVBQX01PTklUT1JTO1xuXG4gIGlmKCF2YWx1ZSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgcmV0dXJuIHBhcnNlZCAmJiB0eXBlb2YgcGFyc2VkID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShwYXJzZWQpID8gcGFyc2VkIDoge307XG4gIH0gY2F0Y2gge1xuICAgIHRocm93IG5ldyBVc2VyRXJyb3IoJ2ludmFsaWRfcnVtX2NvbmZpZycpO1xuICB9XG59O1xuXG5jb25zdCBnZXRBcHBNb25pdG9yID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGFwcElkOiBzdHJpbmcpOiBBd3NSdW1BcHBNb25pdG9yQ29uZmlnID0+IHtcbiAgY29uc3QgY29uZmlndXJlZE1vbml0b3JzID0gY29udGV4dC5jb25maWc/LmF3cz8ucnVtPy5hcHBNb25pdG9ycyB8fFxuICAgIENvbmZpZy5nZXQ8UnVtQXBwTW9uaXRvck1hcD4oJ2F3cy5ydW0uYXBwTW9uaXRvcnMnLCB7fSk7XG4gIGNvbnN0IGVudmlyb25tZW50TW9uaXRvcnMgPSBwYXJzZUVudmlyb25tZW50QXBwTW9uaXRvcnMoKTtcbiAgY29uc3QgY29uZmlndXJlZE1vbml0b3IgPSBlbnZpcm9ubWVudE1vbml0b3JzW2FwcElkXSB8fCBjb25maWd1cmVkTW9uaXRvcnNbYXBwSWRdO1xuICBjb25zdCBtb25pdG9yID0gdHlwZW9mIGNvbmZpZ3VyZWRNb25pdG9yID09PSAnc3RyaW5nJyA/IHtpZDogY29uZmlndXJlZE1vbml0b3J9IDogY29uZmlndXJlZE1vbml0b3I7XG4gIGNvbnN0IG1vbml0b3JJZCA9IG5vcm1hbGl6ZVRleHQobW9uaXRvcj8uaWQsIDM2KTtcblxuICBpZighbW9uaXRvcklkIHx8ICFVVUlEX1BBVFRFUk4udGVzdChtb25pdG9ySWQpKSB7XG4gICAgdGhyb3cgbmV3IFVzZXJFcnJvcignaW52YWxpZF9ydW1fYXBwJyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLm1vbml0b3IsXG4gICAgZG9tYWluOiBub3JtYWxpemVEb21haW4oXG4gICAgICBtb25pdG9yLmRvbWFpbiB8fCBjb250ZXh0LmNvbmZpZz8uZGV0YWlscz8udXJsIHx8IENvbmZpZy5nZXQoJ2RldGFpbHMudXJsJykgfHwgYXBwSWRcbiAgICApLFxuICAgIGlkOiBtb25pdG9ySWQsXG4gICAgbmFtZTogbm9ybWFsaXplVGV4dChtb25pdG9yLm5hbWUgfHwgYXBwSWQsIDI1NSksXG4gICAgdmVyc2lvbjogbm9ybWFsaXplVGV4dChcbiAgICAgIG1vbml0b3IudmVyc2lvbiB8fCBjb250ZXh0LmNvbmZpZz8uZGV0YWlscz8udmVyc2lvbiB8fCBDb25maWcuZ2V0KCdkZXRhaWxzLnZlcnNpb24nKSB8fCAnMS4wLjAnLFxuICAgICAgMjU1XG4gICAgKVxuICB9O1xufTtcblxuY29uc3QgZ2V0UnVtQ2xpZW50ID0gKGNvbnRleHQ6IEFwaUNvbnRleHQpOiBSVU1DbGllbnQgPT4ge1xuICBjb25zdCBhd3NDb25maWc6IEF3c0NvbmZpZyA9IGNvbnRleHQuY29uZmlnPy5hd3MgfHwgQ29uZmlnLmdldDxBd3NDb25maWc+KCdhd3MnLCB7fSk7XG4gIGNvbnN0IHthY2Nlc3NLZXlJZCwgc2VjcmV0QWNjZXNzS2V5LCBzZXNzaW9uVG9rZW59ID0gYXdzQ29uZmlnLmNyZWRlbnRpYWxzIHx8IHt9O1xuICBjb25zdCBjcmVkZW50aWFscyA9IGFjY2Vzc0tleUlkICYmIHNlY3JldEFjY2Vzc0tleSA/IHtcbiAgICBhY2Nlc3NLZXlJZCxcbiAgICBzZWNyZXRBY2Nlc3NLZXksXG4gICAgLi4uKHNlc3Npb25Ub2tlbiA/IHtzZXNzaW9uVG9rZW59IDoge30pXG4gIH0gOiB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIG5ldyBSVU1DbGllbnQoe1xuICAgIC4uLihjcmVkZW50aWFscyA/IHtjcmVkZW50aWFsc30gOiB7fSksXG4gICAgLi4uKGF3c0NvbmZpZy5yZWdpb24gPyB7cmVnaW9uOiBhd3NDb25maWcucmVnaW9ufSA6IHt9KVxuICB9KTtcbn07XG5cbmNvbnN0IHNhbml0aXplVGltZXN0YW1wID0gKHZhbHVlOiB1bmtub3duLCBub3c6IG51bWJlcik6IG51bWJlciA9PiB7XG4gIGNvbnN0IHRpbWVzdGFtcCA9IE51bWJlcih2YWx1ZSk7XG5cbiAgaWYoXG4gICAgIU51bWJlci5pc0Zpbml0ZSh0aW1lc3RhbXApIHx8XG4gICAgdGltZXN0YW1wIDwgbm93IC0gTUFYX1RJTUVTVEFNUF9BR0VfTVMgfHxcbiAgICB0aW1lc3RhbXAgPiBub3cgKyBNQVhfVElNRVNUQU1QX0ZVVFVSRV9NU1xuICApIHtcbiAgICByZXR1cm4gbm93O1xuICB9XG5cbiAgcmV0dXJuIE1hdGguZmxvb3IodGltZXN0YW1wKTtcbn07XG5cbmNvbnN0IHNhbml0aXplUHJvcGVydGllcyA9IChcbiAgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgUnVtUHJvcGVydHk+ID0ge31cbik6IFJlY29yZDxzdHJpbmcsIFJ1bVByb3BlcnR5PiA9PiBPYmplY3QuZW50cmllcyhwcm9wZXJ0aWVzKVxuICAuc2xpY2UoMCwgTUFYX1BST1BFUlRJRVMpXG4gIC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgUnVtUHJvcGVydHk+PigocmVzdWx0LCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICBjb25zdCBwcm9wZXJ0eUtleSA9IG5vcm1hbGl6ZVRleHQoa2V5LCA2NCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFByb3BlcnR5S2V5ID0gbm9ybWFsaXplUHJvcGVydHlLZXkocHJvcGVydHlLZXkpO1xuXG4gICAgaWYoXG4gICAgICBwcm9wZXJ0eUtleSAmJlxuICAgICAgIUJMT0NLRURfUFJPUEVSVFlfS0VZUy5oYXMobm9ybWFsaXplZFByb3BlcnR5S2V5KSAmJlxuICAgICAgWydib29sZWFuJywgJ251bWJlcicsICdzdHJpbmcnXS5pbmNsdWRlcyh0eXBlb2YgdmFsdWUpXG4gICAgKSB7XG4gICAgICBpZih0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IHRleHRWYWx1ZSA9IG5vcm1hbGl6ZVRleHQodmFsdWUsIDI1Nik7XG5cbiAgICAgICAgaWYodGV4dFZhbHVlICYmICFFTUFJTF9QQVRURVJOLnRlc3QodGV4dFZhbHVlKSkge1xuICAgICAgICAgIHJlc3VsdFtwcm9wZXJ0eUtleV0gPSB0ZXh0VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZih0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCBOdW1iZXIuaXNGaW5pdGUodmFsdWUpKSB7XG4gICAgICAgIHJlc3VsdFtwcm9wZXJ0eUtleV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LCB7fSk7XG5cbmNvbnN0IGdldFJ1bU1ldGFkYXRhID0gKFxuICBhcHBJZDogc3RyaW5nLFxuICBkb21haW46IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgUnVtUHJvcGVydHk+XG4pOiBSdW1NZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRQcm9wZXJ0aWVzID0gT2JqZWN0LmVudHJpZXMocHJvcGVydGllcykucmVkdWNlPFJlY29yZDxzdHJpbmcsIFJ1bVByb3BlcnR5Pj4oXG4gICAgKHJlc3VsdCwgW2tleSwgdmFsdWVdKSA9PiAoey4uLnJlc3VsdCwgW25vcm1hbGl6ZVByb3BlcnR5S2V5KGtleSldOiB2YWx1ZX0pLFxuICAgIHt9XG4gICk7XG5cbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKFJVTV9NRVRBREFUQV9QUk9QRVJUWV9LRVlTKS5yZWR1Y2U8UnVtTWV0YWRhdGE+KChtZXRhZGF0YSwgW2tleSwgYWxpYXNlc10pID0+IHtcbiAgICBjb25zdCBhbGlhcyA9IGFsaWFzZXMuZmluZCgoY2FuZGlkYXRlKSA9PiBub3JtYWxpemVkUHJvcGVydGllc1tjYW5kaWRhdGVdICE9PSB1bmRlZmluZWQpO1xuXG4gICAgaWYoYWxpYXMpIHtcbiAgICAgIG1ldGFkYXRhW2tleV0gPSBub3JtYWxpemVkUHJvcGVydGllc1thbGlhc107XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFkYXRhO1xuICB9LCB7XG4gICAgYXBwbGljYXRpb25JZDogYXBwSWQsXG4gICAgLi4uKGRvbWFpbiA/IHtkb21haW59IDoge30pLFxuICAgIHBsYXRmb3JtVHlwZTogJ3dlYicsXG4gICAgdmVyc2lvbjogJzEuMC4wJ1xuICB9KTtcbn07XG5cbmNvbnN0IHNhbml0aXplRXZlbnQgPSAoZXZlbnQ6IFJ1bUV2ZW50SW5wdXRUeXBlLCBub3c6IG51bWJlcik6IFJ1bUV2ZW50SW5wdXRUeXBlID0+IHtcbiAgY29uc3QgaW5wdXRFdmVudElkID0gbm9ybWFsaXplVGV4dChldmVudC5ldmVudElkLCAxMjgpO1xuICBjb25zdCBqb3VybmV5SWQgPSBub3JtYWxpemVUZXh0KGV2ZW50LmpvdXJuZXlJZCwgMTI4KTtcbiAgY29uc3QgbmFtZSA9IG5vcm1hbGl6ZVRleHQoZXZlbnQubmFtZSwgMTI4KTtcbiAgY29uc3QgcGF0aCA9IG5vcm1hbGl6ZVRleHQoZXZlbnQucGF0aCwgMjU2KS5zcGxpdCgnPycpWzBdLnNwbGl0KCcjJylbMF07XG4gIGNvbnN0IHR5cGUgPSBub3JtYWxpemVUZXh0KGV2ZW50LnR5cGUsIDI1NikucmVwbGFjZSgvW15hLXpBLVowLTlfLi1dL2csICdfJyk7XG5cbiAgaWYoIWlucHV0RXZlbnRJZCB8fCAham91cm5leUlkIHx8ICFuYW1lIHx8ICF0eXBlKSB7XG4gICAgdGhyb3cgbmV3IFVzZXJFcnJvcignaW52YWxpZF9ydW1fZXZlbnQnKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZXZlbnRJZDogZ2V0QXdzVXVpZChpbnB1dEV2ZW50SWQpLFxuICAgIGpvdXJuZXlJZDogZ2V0QXdzVXVpZChqb3VybmV5SWQpLFxuICAgIG5hbWUsXG4gICAgLi4uKHBhdGggPyB7cGF0aH0gOiB7fSksXG4gICAgcHJvcGVydGllczogc2FuaXRpemVQcm9wZXJ0aWVzKGV2ZW50LnByb3BlcnRpZXMpLFxuICAgIHNlcXVlbmNlOiBNYXRoLm1pbihNQVhfU0VRVUVOQ0UsIE1hdGgubWF4KDEsIE1hdGguZmxvb3IoTnVtYmVyKGV2ZW50LnNlcXVlbmNlKSB8fCAxKSkpLFxuICAgIHRpbWVzdGFtcDogc2FuaXRpemVUaW1lc3RhbXAoZXZlbnQudGltZXN0YW1wLCBub3cpLFxuICAgIHR5cGVcbiAgfTtcbn07XG5cbmNvbnN0IGdyb3VwRXZlbnRzQnlKb3VybmV5ID0gKGV2ZW50czogUnVtRXZlbnRJbnB1dFR5cGVbXSk6IE1hcDxzdHJpbmcsIFJ1bUV2ZW50SW5wdXRUeXBlW10+ID0+XG4gIGV2ZW50cy5yZWR1Y2U8TWFwPHN0cmluZywgUnVtRXZlbnRJbnB1dFR5cGVbXT4+KChncm91cHMsIGV2ZW50KSA9PiB7XG4gICAgY29uc3Qgam91cm5leUV2ZW50cyA9IGdyb3Vwcy5nZXQoZXZlbnQuam91cm5leUlkKSB8fCBbXTtcbiAgICBqb3VybmV5RXZlbnRzLnB1c2goZXZlbnQpO1xuICAgIGdyb3Vwcy5zZXQoZXZlbnQuam91cm5leUlkLCBqb3VybmV5RXZlbnRzKTtcbiAgICByZXR1cm4gZ3JvdXBzO1xuICB9LCBuZXcgTWFwKCkpO1xuXG5leHBvcnQgY29uc3QgdHJhY2tSdW0gPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGJhdGNoOiBSdW1CYXRjaElucHV0VHlwZVxuKTogUHJvbWlzZTxSdW1UcmFja1Jlc3VsdFR5cGU+ID0+IHtcbiAgY29uc3QgYXBwSWQgPSBub3JtYWxpemVUZXh0KGJhdGNoPy5hcHBJZCwgMTI4KTtcbiAgY29uc3QgaW5wdXRFdmVudHMgPSBBcnJheS5pc0FycmF5KGJhdGNoPy5ldmVudHMpID8gYmF0Y2guZXZlbnRzIDogW107XG5cbiAgaWYoIWFwcElkIHx8IGlucHV0RXZlbnRzLmxlbmd0aCA9PT0gMCB8fCBpbnB1dEV2ZW50cy5sZW5ndGggPiBNQVhfQkFUQ0hfU0laRSkge1xuICAgIHRocm93IG5ldyBVc2VyRXJyb3IoJ2ludmFsaWRfcnVtX2JhdGNoJyk7XG4gIH1cblxuICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICBjb25zdCBtb25pdG9yID0gZ2V0QXBwTW9uaXRvcihjb250ZXh0LCBhcHBJZCk7XG4gIGNvbnN0IGV2ZW50cyA9IGlucHV0RXZlbnRzLm1hcCgoZXZlbnQpID0+IHNhbml0aXplRXZlbnQoZXZlbnQsIG5vdykpO1xuICBjb25zdCBldmVudHNCeUpvdXJuZXkgPSBncm91cEV2ZW50c0J5Sm91cm5leShldmVudHMpO1xuICBjb25zdCBjbGllbnQgPSBnZXRSdW1DbGllbnQoY29udGV4dCk7XG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoQXJyYXkuZnJvbShldmVudHNCeUpvdXJuZXkuZW50cmllcygpKS5tYXAoKFtqb3VybmV5SWQsIGpvdXJuZXlFdmVudHNdKSA9PlxuICAgIGNsaWVudC5zZW5kKG5ldyBQdXRSdW1FdmVudHNDb21tYW5kKHtcbiAgICAgIC4uLihtb25pdG9yLmFsaWFzID8ge0FsaWFzOiBtb25pdG9yLmFsaWFzfSA6IHt9KSxcbiAgICAgIEFwcE1vbml0b3JEZXRhaWxzOiB7XG4gICAgICAgIGlkOiBtb25pdG9yLmlkLFxuICAgICAgICBuYW1lOiBtb25pdG9yLm5hbWUsXG4gICAgICAgIHZlcnNpb246IG1vbml0b3IudmVyc2lvblxuICAgICAgfSxcbiAgICAgIEJhdGNoSWQ6IHJhbmRvbVVVSUQoKSxcbiAgICAgIElkOiBtb25pdG9yLmlkLFxuICAgICAgUnVtRXZlbnRzOiBqb3VybmV5RXZlbnRzLm1hcCgoZXZlbnQpID0+ICh7XG4gICAgICAgIGRldGFpbHM6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBhcHBJZCxcbiAgICAgICAgICBuYW1lOiBldmVudC5uYW1lLFxuICAgICAgICAgIC4uLihldmVudC5wYXRoID8ge3BhdGg6IGV2ZW50LnBhdGh9IDoge30pLFxuICAgICAgICAgIHByb3BlcnRpZXM6IGV2ZW50LnByb3BlcnRpZXMsXG4gICAgICAgICAgc2VxdWVuY2U6IGV2ZW50LnNlcXVlbmNlXG4gICAgICAgIH0pLFxuICAgICAgICBpZDogZXZlbnQuZXZlbnRJZCxcbiAgICAgICAgbWV0YWRhdGE6IEpTT04uc3RyaW5naWZ5KGdldFJ1bU1ldGFkYXRhKFxuICAgICAgICAgIGFwcElkLFxuICAgICAgICAgIG1vbml0b3IuZG9tYWluLFxuICAgICAgICAgIGV2ZW50LnByb3BlcnRpZXMgYXMgUmVjb3JkPHN0cmluZywgUnVtUHJvcGVydHk+XG4gICAgICAgICkpLFxuICAgICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKGV2ZW50LnRpbWVzdGFtcCksXG4gICAgICAgIHR5cGU6IGV2ZW50LnR5cGVcbiAgICAgIH0pKSxcbiAgICAgIFVzZXJEZXRhaWxzOiB7XG4gICAgICAgIHNlc3Npb25JZDogam91cm5leUlkLFxuICAgICAgICB1c2VySWQ6IGpvdXJuZXlJZFxuICAgICAgfVxuICAgIH0pKVxuICApKTtcblxuICByZXR1cm4ge2FjY2VwdGVkOiBldmVudHMubGVuZ3RoLCBhcHBJZH07XG59O1xuIl0sIm5hbWVzIjpbIlB1dFJ1bUV2ZW50c0NvbW1hbmQiLCJSVU1DbGllbnQiLCJjcmVhdGVIYXNoIiwicmFuZG9tVVVJRCIsIkNvbmZpZyIsIlVzZXJFcnJvciIsIk1BWF9CQVRDSF9TSVpFIiwiTUFYX1BST1BFUlRJRVMiLCJNQVhfU0VRVUVOQ0UiLCJNQVhfVElNRVNUQU1QX0FHRV9NUyIsIk1BWF9USU1FU1RBTVBfRlVUVVJFX01TIiwiVVVJRF9QQVRURVJOIiwiQkxPQ0tFRF9QUk9QRVJUWV9LRVlTIiwiU2V0IiwiRU1BSUxfUEFUVEVSTiIsIlJVTV9NRVRBREFUQV9QUk9QRVJUWV9LRVlTIiwiYnJvd3Nlckxhbmd1YWdlIiwiYnJvd3Nlck5hbWUiLCJicm93c2VyVmVyc2lvbiIsImRldmljZVR5cGUiLCJpbnRlcmFjdGlvbiIsIm9zTmFtZSIsIm9zVmVyc2lvbiIsInBhZ2VJZCIsInBhcmVudFBhZ2VJZCIsIm5vcm1hbGl6ZVRleHQiLCJ2YWx1ZSIsIm1heExlbmd0aCIsIlN0cmluZyIsInRyaW0iLCJzbGljZSIsIm5vcm1hbGl6ZVByb3BlcnR5S2V5IiwidG9Mb3dlckNhc2UiLCJyZXBsYWNlIiwibm9ybWFsaXplRG9tYWluIiwic3BsaXQiLCJnZXRBd3NVdWlkIiwidGVzdCIsImhhc2giLCJ1cGRhdGUiLCJkaWdlc3QiLCJwYXJzZUVudmlyb25tZW50QXBwTW9uaXRvcnMiLCJwcm9jZXNzIiwiZW52IiwiQVdTX1JVTV9BUFBfTU9OSVRPUlMiLCJwYXJzZWQiLCJKU09OIiwicGFyc2UiLCJBcnJheSIsImlzQXJyYXkiLCJnZXRBcHBNb25pdG9yIiwiY29udGV4dCIsImFwcElkIiwiY29uZmlndXJlZE1vbml0b3JzIiwiY29uZmlnIiwiYXdzIiwicnVtIiwiYXBwTW9uaXRvcnMiLCJnZXQiLCJlbnZpcm9ubWVudE1vbml0b3JzIiwiY29uZmlndXJlZE1vbml0b3IiLCJtb25pdG9yIiwiaWQiLCJtb25pdG9ySWQiLCJkb21haW4iLCJkZXRhaWxzIiwidXJsIiwibmFtZSIsInZlcnNpb24iLCJnZXRSdW1DbGllbnQiLCJhd3NDb25maWciLCJhY2Nlc3NLZXlJZCIsInNlY3JldEFjY2Vzc0tleSIsInNlc3Npb25Ub2tlbiIsImNyZWRlbnRpYWxzIiwidW5kZWZpbmVkIiwicmVnaW9uIiwic2FuaXRpemVUaW1lc3RhbXAiLCJub3ciLCJ0aW1lc3RhbXAiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsIk1hdGgiLCJmbG9vciIsInNhbml0aXplUHJvcGVydGllcyIsInByb3BlcnRpZXMiLCJPYmplY3QiLCJlbnRyaWVzIiwicmVkdWNlIiwicmVzdWx0Iiwia2V5IiwicHJvcGVydHlLZXkiLCJub3JtYWxpemVkUHJvcGVydHlLZXkiLCJoYXMiLCJpbmNsdWRlcyIsInRleHRWYWx1ZSIsImdldFJ1bU1ldGFkYXRhIiwibm9ybWFsaXplZFByb3BlcnRpZXMiLCJtZXRhZGF0YSIsImFsaWFzZXMiLCJhbGlhcyIsImZpbmQiLCJjYW5kaWRhdGUiLCJhcHBsaWNhdGlvbklkIiwicGxhdGZvcm1UeXBlIiwic2FuaXRpemVFdmVudCIsImV2ZW50IiwiaW5wdXRFdmVudElkIiwiZXZlbnRJZCIsImpvdXJuZXlJZCIsInBhdGgiLCJ0eXBlIiwic2VxdWVuY2UiLCJtaW4iLCJtYXgiLCJncm91cEV2ZW50c0J5Sm91cm5leSIsImV2ZW50cyIsImdyb3VwcyIsImpvdXJuZXlFdmVudHMiLCJwdXNoIiwic2V0IiwiTWFwIiwidHJhY2tSdW0iLCJiYXRjaCIsImlucHV0RXZlbnRzIiwibGVuZ3RoIiwiRGF0ZSIsIm1hcCIsImV2ZW50c0J5Sm91cm5leSIsImNsaWVudCIsIlByb21pc2UiLCJhbGwiLCJmcm9tIiwic2VuZCIsIkFsaWFzIiwiQXBwTW9uaXRvckRldGFpbHMiLCJCYXRjaElkIiwiSWQiLCJSdW1FdmVudHMiLCJzdHJpbmdpZnkiLCJVc2VyRGV0YWlscyIsInNlc3Npb25JZCIsInVzZXJJZCIsImFjY2VwdGVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxtQkFBbUIsRUFBRUMsU0FBUyxRQUFPLHNCQUFzQjtBQUNuRSxTQUFRQyxVQUFVLEVBQUVDLFVBQVUsUUFBTyxTQUFTO0FBRTlDLFNBQVFDLE1BQU0sUUFBTyxlQUFlO0FBQ3BDLFNBQVFDLFNBQVMsUUFBTyw2QkFBNkI7QUFNckQsTUFBTUMsaUJBQWlCO0FBQ3ZCLE1BQU1DLGlCQUFpQjtBQUN2QixNQUFNQyxlQUFlO0FBQ3JCLE1BQU1DLHVCQUF1QixLQUFLLEtBQUssS0FBSztBQUM1QyxNQUFNQywwQkFBMEIsSUFBSSxLQUFLO0FBQ3pDLE1BQU1DLGVBQWU7QUFDckIsTUFBTUMsd0JBQXdCLElBQUlDLElBQUk7SUFDcEM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBQ0QsTUFBTUMsZ0JBQWdCO0FBS3RCLE1BQU1DLDZCQUF1RDtJQUMzREMsaUJBQWlCO1FBQUM7S0FBa0I7SUFDcENDLGFBQWE7UUFBQztLQUFjO0lBQzVCQyxnQkFBZ0I7UUFBQztLQUFpQjtJQUNsQ0MsWUFBWTtRQUFDO0tBQWE7SUFDMUJDLGFBQWE7UUFBQztLQUFjO0lBQzVCQyxRQUFR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
|
package/lib/config.d.ts
CHANGED
|
@@ -35,11 +35,21 @@ export interface AwsConfig {
|
|
|
35
35
|
};
|
|
36
36
|
readonly maxRetries?: number;
|
|
37
37
|
readonly region?: string;
|
|
38
|
+
readonly rum?: {
|
|
39
|
+
readonly appMonitors?: Record<string, AwsRumAppMonitorConfig | string>;
|
|
40
|
+
};
|
|
38
41
|
readonly s3?: {
|
|
39
42
|
readonly Bucket?: string;
|
|
40
43
|
};
|
|
41
44
|
readonly signatureVersion?: string;
|
|
42
45
|
}
|
|
46
|
+
export interface AwsRumAppMonitorConfig {
|
|
47
|
+
readonly alias?: string;
|
|
48
|
+
readonly domain?: string;
|
|
49
|
+
readonly id: string;
|
|
50
|
+
readonly name?: string;
|
|
51
|
+
readonly version?: string;
|
|
52
|
+
}
|
|
43
53
|
export interface EnvConfig {
|
|
44
54
|
readonly local: AppConfig;
|
|
45
55
|
readonly development: AppConfig;
|
package/lib/config.js
CHANGED
|
@@ -155,4 +155,4 @@ export class Config {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2NvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXR9IGZyb20gJ0BubGFicy91dGlscy9vYmplY3RzL2dldCc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdAbmxhYnMvdXRpbHMvb2JqZWN0cy9tZXJnZSc7XG5pbXBvcnQge3JlYWRGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtqb2lufSBmcm9tICdwYXRoJztcblxuY29uc3QgcGFja2FnZUpzb25QYXRoID0gam9pbihwcm9jZXNzLmN3ZCgpLCAncGFja2FnZS5qc29uJyk7XG5jb25zdCBhcHBQYWNrYWdlID0gSlNPTi5wYXJzZShyZWFkRmlsZVN5bmMocGFja2FnZUpzb25QYXRoLCAndXRmOCcpKTtcblxuZXhwb3J0IGludGVyZmFjZSBBcmFuZ29EQkNvbmZpZyB7XG4gIHJlYWRvbmx5IGRhdGFiYXNlPzogc3RyaW5nO1xuICByZWFkb25seSBkdW1wPzogc3RyaW5nO1xuICByZWFkb25seSBwYXNzd29yZD86IHN0cmluZztcbiAgcmVhZG9ubHkgcG9ydD86IHN0cmluZztcbiAgcmVhZG9ubHkgcmVzdG9yZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuICByZWFkb25seSB1c2VybmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBDb25maWcge1xuICByZWFkb25seSBba2V5OiBzdHJpbmddOiBhbnk7XG4gIHJlYWRvbmx5IGRldGFpbHM/OiBBcHBEZXRhaWxzO1xuICByZWFkb25seSBhcmFuZ29kYj86IEFyYW5nb0RCQ29uZmlnO1xuICByZWFkb25seSBhd3M/OiBBd3NDb25maWc7XG4gIHJlYWRvbmx5IGdpcGh5Pzogb2JqZWN0O1xuICByZWFkb25seSBnb29nbGU/OiBvYmplY3Q7XG4gIHJlYWRvbmx5IGltYWdlPzogb2JqZWN0O1xuICByZWFkb25seSBzdHJpcGU/OiBvYmplY3Q7XG4gIHJlYWRvbmx5IHR3aWxpbz86IG9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBEZXRhaWxzIHtcbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvY2FsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgc3VwcG9ydEVtYWlsPzogc3RyaW5nO1xuICByZWFkb25seSBzdXBwb3J0TmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0NvbmZpZyB7XG4gIHJlYWRvbmx5IGNyZWRlbnRpYWxzPzoge1xuICAgIHJlYWRvbmx5IGFjY2Vzc0tleUlkPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHNlY3JldEFjY2Vzc0tleT86IHN0cmluZztcbiAgICByZWFkb25seSBzZXNzaW9uVG9rZW4/OiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IG1heFJldHJpZXM/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgczM/OiB7XG4gICAgcmVhZG9ubHkgQnVja2V0Pzogc3RyaW5nO1xuICB9O1xuICByZWFkb25seSBzaWduYXR1cmVWZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudkNvbmZpZyB7XG4gIHJlYWRvbmx5IGxvY2FsOiBBcHBDb25maWc7XG4gIHJlYWRvbmx5IGRldmVsb3BtZW50OiBBcHBDb25maWc7XG4gIHJlYWRvbmx5IHByb2R1Y3Rpb246IEFwcENvbmZpZztcbiAgcmVhZG9ubHkgdGVzdDogQXBwQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdvb2dsZUNvbmZpZyB7XG4gIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlnIHtcbiAgcHJpdmF0ZSBzdGF0aWMgdXBkYXRlZENvbmZpZyA9IG51bGw7XG5cbiAgc3RhdGljIHZhbHVlcygpOiBFbnZDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBkZXZlbG9wbWVudDoge1xuICAgICAgICBhcmFuZ29kYjoge1xuICAgICAgICAgIGRhdGFiYXNlOiBwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSB8fCAncmVha3RvcicsXG4gICAgICAgICAgcGFzc3dvcmQ6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1BBU1NXT1JEIHx8ICdwYXNzd29yZCcsXG4gICAgICAgICAgcG9ydDogcHJvY2Vzcy5lbnYuQVJBTkdPREJfUE9SVCB8fCAnODUyOScsXG4gICAgICAgICAgdXJsOiBwcm9jZXNzLmVudi5BUkFOR09EQl9VUkwgfHwgJ2h0dHA6Ly9sb2NhbGhvc3QnLFxuICAgICAgICAgIHVzZXJuYW1lOiBwcm9jZXNzLmVudi5BUkFOR09EQl9VU0VSTkFNRSB8fCAncm9vdCdcbiAgICAgICAgfSxcbiAgICAgICAgYXdzOiB7XG4gICAgICAgICAgczM6IHtcbiAgICAgICAgICAgIEJ1Y2tldDogJ2Rldi5yZWFrdG9yLmlvJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGxvY2FsOiB7XG4gICAgICAgIGFyYW5nb2RiOiB7XG4gICAgICAgICAgZGF0YWJhc2U6IHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFIHx8ICdyZWFrdG9yJyxcbiAgICAgICAgICBwYXNzd29yZDogcHJvY2Vzcy5lbnYuQVJBTkdPREJfUEFTU1dPUkQgfHwgJ3Bhc3N3b3JkJyxcbiAgICAgICAgICBwb3J0OiBwcm9jZXNzLmVudi5BUkFOR09EQl9QT1JUIHx8ICc4NTI5JyxcbiAgICAgICAgICB1cmw6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1VSTCB8fCAnaHR0cDovL2xvY2FsaG9zdCcsXG4gICAgICAgICAgdXNlcm5hbWU6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1VTRVJOQU1FIHx8ICdyb290J1xuICAgICAgICB9LFxuICAgICAgICBhd3M6IHtcbiAgICAgICAgICBjcmVkZW50aWFsczoge1xuICAgICAgICAgICAgYWNjZXNzS2V5SWQ6IHByb2Nlc3MuZW52LkFXU19BQ0NFU1NfS0VZX0lELFxuICAgICAgICAgICAgc2VjcmV0QWNjZXNzS2V5OiBwcm9jZXNzLmVudi5BV1NfU0VDUkVUX0FDQ0VTU19LRVlcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1heFJldHJpZXM6IDMsXG4gICAgICAgICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAgICAgICAgICBzMzoge1xuICAgICAgICAgICAgQnVja2V0OiAnZGV2LnJlYWt0b3IuaW8nXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzaWduYXR1cmVWZXJzaW9uOiAndjQnXG4gICAgICAgIH0sXG4gICAgICAgIGRldGFpbHM6IHtcbiAgICAgICAgICBpZDogJ3JlYWt0b3InLFxuICAgICAgICAgIGxvY2FsZTogJ2VuLVVTJyxcbiAgICAgICAgICBuYW1lOiAnUmVha3RvcicsXG4gICAgICAgICAgc3VwcG9ydEVtYWlsOiAnc3VwcG9ydEByZWFrdG9yLmlvJyxcbiAgICAgICAgICBzdXBwb3J0TmFtZTogJ1JlYWt0b3IgU3VwcG9ydCcsXG4gICAgICAgICAgdXJsOiAncmVha3Rvci5pbycsXG4gICAgICAgICAgdmVyc2lvbjogYXBwUGFja2FnZS52ZXJzaW9uXG4gICAgICAgIH0sXG4gICAgICAgIGdpcGh5OiB7XG4gICAgICAgICAga2V5OiBwcm9jZXNzLmVudi5HSVBIWV9LRVlcbiAgICAgICAgfSxcbiAgICAgICAgZ29vZ2xlOiB7XG4gICAgICAgICAgYW5hbHl0aWNzOiB7XG4gICAgICAgICAgICBhY2NvdW50SWQ6ICc3ODE1ODcxNycsXG4gICAgICAgICAgICB0cmFja2luZ0lkOiAnVUEtNzgxNTg3MTctMSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIGdlb2NvZGU6IHtcbiAgICAgICAgICAgIGtleTogcHJvY2Vzcy5lbnYuR09PR0xFX0dFT0NPREVfS0VZLFxuICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbidcbiAgICAgICAgICB9LFxuICAgICAgICAgIGtleTogcHJvY2Vzcy5lbnYuR09PR0xFX0FQSV9LRVlcbiAgICAgICAgfSxcbiAgICAgICAgaW1hZ2U6IHtcbiAgICAgICAgICBpbWdRdWFsaXR5OiA5MCxcbiAgICAgICAgICBpbWdTaXplOiAxNTAwLFxuICAgICAgICAgIHRobVF1YWxpdHk6IDgwLFxuICAgICAgICAgIHRobVNpemU6IDE1MFxuICAgICAgICB9LFxuICAgICAgICBzdHJpcGU6IHtcbiAgICAgICAgICB0b2tlbjogcHJvY2Vzcy5lbnYuU1RSSVBFX1RPS0VOXG4gICAgICAgIH0sXG4gICAgICAgIHR3aWxpbzoge1xuICAgICAgICAgIG51bWJlcjogcHJvY2Vzcy5lbnYuVFdJTElPX05VTUJFUixcbiAgICAgICAgICBzaWQ6IHByb2Nlc3MuZW52LlRXSUxJT19TSUQsXG4gICAgICAgICAgdG9rZW46IHByb2Nlc3MuZW52LlRXSUxJT19UT0tFTlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcHJvZHVjdGlvbjoge1xuICAgICAgICBhcmFuZ29kYjoge1xuICAgICAgICAgIGRhdGFiYXNlOiBwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSB8fCAncmVha3RvcicsXG4gICAgICAgICAgZHVtcDogJy91c3IvYmluL2FyYW5nb2R1bXAnLFxuICAgICAgICAgIHBhc3N3b3JkOiBwcm9jZXNzLmVudi5BUkFOR09EQl9QQVNTV09SRCB8fCAncGFzc3dvcmQnLFxuICAgICAgICAgIHBvcnQ6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1BPUlQgfHwgJzg1MjknLFxuICAgICAgICAgIHJlc3RvcmU6ICcvdXNyL2Jpbi9hcmFuZ29yZXN0b3JlJyxcbiAgICAgICAgICB1cmw6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1VSTCB8fCAnaHR0cDovL2xvY2FsaG9zdCcsXG4gICAgICAgICAgdXNlcm5hbWU6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1VTRVJOQU1FIHx8ICdyb290J1xuICAgICAgICB9LFxuICAgICAgICBhd3M6IHtcbiAgICAgICAgICBzMzoge1xuICAgICAgICAgICAgQnVja2V0OiAnYm94LnJlYWt0b3IuaW8nXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzdHJpcGU6IHtcbiAgICAgICAgICB0b2tlbjogcHJvY2Vzcy5lbnYuU1RSSVBFX1RPS0VOXG4gICAgICAgIH0sXG4gICAgICAgIHR3aWxpbzoge1xuICAgICAgICAgIG51bWJlcjogcHJvY2Vzcy5lbnYuVFdJTElPX05VTUJFUixcbiAgICAgICAgICBzaWQ6IHByb2Nlc3MuZW52LlRXSUxJT19TSUQsXG4gICAgICAgICAgdG9rZW46IHByb2Nlc3MuZW52LlRXSUxJT19UT0tFTlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdGVzdDoge1xuICAgICAgICBhcmFuZ29kYjoge1xuICAgICAgICAgIGRhdGFiYXNlOiBwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSB8fCAncmVha3Rvci10ZXN0JyxcbiAgICAgICAgICBwYXNzd29yZDogcHJvY2Vzcy5lbnYuQVJBTkdPREJfUEFTU1dPUkQgfHwgJ3Bhc3N3b3JkJyxcbiAgICAgICAgICBwb3J0OiBwcm9jZXNzLmVudi5BUkFOR09EQl9QT1JUIHx8ICc4NTI5JyxcbiAgICAgICAgICB1cmw6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1VSTCB8fCAnaHR0cDovL2xvY2FsaG9zdCcsXG4gICAgICAgICAgdXNlcm5hbWU6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1VTRVJOQU1FIHx8ICdyb290J1xuICAgICAgICB9LFxuICAgICAgICBkZXRhaWxzOiB7XG4gICAgICAgICAgaWQ6ICdyZWFrdG9yLXRlc3QnLFxuICAgICAgICAgIGxvY2FsZTogJ2VuLVVTJyxcbiAgICAgICAgICBuYW1lOiAnUmVha3RvciBUZXN0JyxcbiAgICAgICAgICBzdXBwb3J0RW1haWw6ICdzdXBwb3J0QHJlYWt0b3IuaW8nLFxuICAgICAgICAgIHVybDogJ3JlYWt0b3IuaW8nLFxuICAgICAgICAgIHZlcnNpb246IGFwcFBhY2thZ2UudmVyc2lvblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBzZXQob3ZlcnJpZGU6IG9iamVjdCwgZW52aXJvbm1lbnQ/OiBzdHJpbmcpOiBvYmplY3Qge1xuICAgIGNvbnN0IGN1cnJlbnRDb25maWcgPSB0aGlzLmdldCgpO1xuICAgIGNvbnN0IHRhcmdldEVudmlyb25tZW50ID0gZW52aXJvbm1lbnQgfHwgcHJvY2Vzcy5lbnYuc3RhZ2UgfHwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgfHwgJ2xvY2FsJztcblxuICAgIGlmKG92ZXJyaWRlW3RhcmdldEVudmlyb25tZW50XSkge1xuICAgICAgdGhpcy51cGRhdGVkQ29uZmlnID0gbWVyZ2Uoe30sIGN1cnJlbnRDb25maWcsIG92ZXJyaWRlW3RhcmdldEVudmlyb25tZW50XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlZENvbmZpZyA9IG1lcmdlKHt9LCBjdXJyZW50Q29uZmlnLCBvdmVycmlkZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsuLi4odGhpcy51cGRhdGVkQ29uZmlnIGFzIHVua25vd24gYXMgb2JqZWN0KX07XG4gIH1cblxuICBzdGF0aWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVkQ29uZmlnID0gbnVsbDtcbiAgfVxuXG5cbiAgc3RhdGljIGdldDxUID0gYW55PihwYXRoPzogc3RyaW5nIHwgc3RyaW5nW10sIGRlZmF1bHRWYWx1ZT86IFQpOiBUIHtcbiAgICBjb25zdCBiYXNlQ29uZmlnID0gdGhpcy51cGRhdGVkQ29uZmlnIHx8IHRoaXMudmFsdWVzKCk7XG4gICAgY29uc3QgZW52aXJvbm1lbnQgPSBwcm9jZXNzLmVudi5zdGFnZSB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViB8fCAnbG9jYWwnO1xuXG4gICAgaWYodGhpcy51cGRhdGVkQ29uZmlnKSB7XG4gICAgICBjb25zdCBvdmVycmlkZUVudmlyb25tZW50Q29uZmlnID0gdGhpcy51cGRhdGVkQ29uZmlnW2Vudmlyb25tZW50XSB8fCB7fTtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IG1lcmdlKHt9LCBiYXNlQ29uZmlnLCBvdmVycmlkZUVudmlyb25tZW50Q29uZmlnKTtcblxuICAgICAgcmV0dXJuIHBhdGggPyBnZXQoY29uZmlnLCBwYXRoLCBkZWZhdWx0VmFsdWUpIDogY29uZmlnO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsQ29uZmlnID0gYmFzZUNvbmZpZy5sb2NhbDtcbiAgICBjb25zdCBjb25maWcgPSBtZXJnZSh7fSwgbG9jYWxDb25maWcsIGJhc2VDb25maWdbZW52aXJvbm1lbnRdIHx8IHt9KTtcblxuICAgIHJldHVybiBwYXRoID8gZ2V0KGNvbmZpZywgcGF0aCwgZGVmYXVsdFZhbHVlKSA6IGNvbmZpZztcbiAgfVxufVxuIl0sIm5hbWVzIjpbImdldCIsIm1lcmdlIiwicmVhZEZpbGVTeW5jIiwiam9pbiIsInBhY2thZ2VKc29uUGF0aCIsInByb2Nlc3MiLCJjd2QiLCJhcHBQYWNrYWdlIiwiSlNPTiIsInBhcnNlIiwiQ29uZmlnIiwidXBkYXRlZENvbmZpZyIsInZhbHVlcyIsImRldmVsb3BtZW50IiwiYXJhbmdvZGIiLCJkYXRhYmFzZSIsImVudiIsIkFSQU5HT0RCX0RBVEFCQVNFIiwicGFzc3dvcmQiLCJBUkFOR09EQl9QQVNTV09SRCIsInBvcnQiLCJBUkFOR09EQl9QT1JUIiwidXJsIiwiQVJBTkdPREJfVVJMIiwidXNlcm5hbWUiLCJBUkFOR09EQl9VU0VSTkFNRSIsImF3cyIsInMzIiwiQnVja2V0IiwibG9jYWwiLCJjcmVkZW50aWFscyIsImFjY2Vzc0tleUlkIiwiQVdTX0FDQ0VTU19LRVlfSUQiLCJzZWNyZXRBY2Nlc3NLZXkiLCJBV1NfU0VDUkVUX0FDQ0VTU19LRVkiLCJtYXhSZXRyaWVzIiwicmVnaW9uIiwic2lnbmF0dXJlVmVyc2lvbiIsImRldGFpbHMiLCJpZCIsImxvY2FsZSIsIm5hbWUiLCJzdXBwb3J0RW1haWwiLCJzdXBwb3J0TmFtZSIsInZlcnNpb24iLCJnaXBoeSIsImtleSIsIkdJUEhZX0tFWSIsImdvb2dsZSIsImFuYWx5dGljcyIsImFjY291bnRJZCIsInRyYWNraW5nSWQiLCJnZW9jb2RlIiwiR09PR0xFX0dFT0NPREVfS0VZIiwiR09PR0xFX0FQSV9LRVkiLCJpbWFnZSIsImltZ1F1YWxpdHkiLCJpbWdTaXplIiwidGhtUXVhbGl0eSIsInRobVNpemUiLCJzdHJpcGUiLCJ0b2tlbiIsIlNUUklQRV9UT0tFTiIsInR3aWxpbyIsIm51bWJlciIsIlRXSUxJT19OVU1CRVIiLCJzaWQiLCJUV0lMSU9fU0lEIiwiVFdJTElPX1RPS0VOIiwicHJvZHVjdGlvbiIsImR1bXAiLCJyZXN0b3JlIiwidGVzdCIsInNldCIsIm92ZXJyaWRlIiwiZW52aXJvbm1lbnQiLCJjdXJyZW50Q29uZmlnIiwidGFyZ2V0RW52aXJvbm1lbnQiLCJzdGFnZSIsIk5PREVfRU5WIiwicmVzZXQiLCJwYXRoIiwiZGVmYXVsdFZhbHVlIiwiYmFzZUNvbmZpZyIsIm92ZXJyaWRlRW52aXJvbm1lbnRDb25maWciLCJjb25maWciLCJsb2NhbENvbmZpZyJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsR0FBRyxRQUFPLDJCQUEyQjtBQUM3QyxTQUFRQyxLQUFLLFFBQU8sNkJBQTZCO0FBQ2pELFNBQVFDLFlBQVksUUFBTyxLQUFLO0FBQ2hDLFNBQVFDLElBQUksUUFBTyxPQUFPO0FBRTFCLE1BQU1DLGtCQUFrQkQsS0FBS0UsUUFBUUMsR0FBRyxJQUFJO0FBQzVDLE1BQU1DLGFBQWFDLEtBQUtDLEtBQUssQ0FBQ1AsYUFBYUUsaUJBQWlCO0FBMkQ1RCxPQUFPLE1BQU1NO0lBQ1gsT0FBZUMsZ0JBQWdCLEtBQUs7SUFFcEMsT0FBT0MsU0FBb0I7UUFDekIsT0FBTztZQUNMQyxhQUFhO2dCQUNYQyxVQUFVO29CQUNSQyxVQUFVVixRQUFRVyxHQUFHLENBQUNDLGlCQUFpQixJQUFJO29CQUMzQ0MsVUFBVWIsUUFBUVcsR0FBRyxDQUFDRyxpQkFBaUIsSUFBSTtvQkFDM0NDLE1BQU1mLFFBQVFXLEdBQUcsQ0FBQ0ssYUFBYSxJQUFJO29CQUNuQ0MsS0FBS2pCLFFBQVFXLEdBQUcsQ0FBQ08sWUFBWSxJQUFJO29CQUNqQ0MsVUFBVW5CLFFBQVFXLEdBQUcsQ0FBQ1MsaUJBQWlCLElBQUk7Z0JBQzdDO2dCQUNBQyxLQUFLO29CQUNIQyxJQUFJO3dCQUNGQyxRQUFRO29CQUNWO2dCQUNGO1lBQ0Y7WUFDQUMsT0FBTztnQkFDTGYsVUFBVTtvQkFDUkMsVUFBVVYsUUFBUVcsR0FBRyxDQUFDQyxpQkFBaUIsSUFBSTtvQkFDM0NDLFVBQVViLFFBQVFXLEdBQUcsQ0FBQ0csaUJBQWlCLElBQUk7b0JBQzNDQyxNQUFNZixRQUFRVyxHQUFHLENBQUNLLGFBQWEsSUFBSTtvQkFDbkNDLEtBQUtqQixRQUFRVyxHQUFHLENBQUNPLFlBQVksSUFBSTtvQkFDakNDLFVBQVVuQixRQUFRVyxHQUFHLENBQUNTLGlCQUFpQixJQUFJO2dCQUM3QztnQkFDQUMsS0FBSztvQkFDSEksYUFBYTt3QkFDWEMsYUFBYTFCLFFBQVFXLEdBQUcsQ0FBQ2dCLGlCQUFpQjt3QkFDMUNDLGlCQUFpQjVCLFFBQVFXLEdBQUcsQ0FBQ2tCLHFCQUFxQjtvQkFDcEQ7b0JBQ0FDLFlBQVk7b0JBQ1pDLFFBQVE7b0JBQ1JULElBQUk7d0JBQ0ZDLFFBQVE7b0JBQ1Y7b0JBQ0FTLGtCQUFrQjtnQkFDcEI7Z0JBQ0FDLFNBQVM7b0JBQ1BDLElBQUk7b0JBQ0pDLFFBQVE7b0JBQ1JDLE1BQU07b0JBQ05DLGNBQWM7b0JBQ2RDLGFBQWE7b0JBQ2JyQixLQUFLO29CQUNMc0IsU0FBU3JDLFdBQVdxQyxPQUFPO2dCQUM3QjtnQkFDQUMsT0FBTztvQkFDTEMsS0FBS3pDLFFBQVFXLEdBQUcsQ0FBQytCLFNBQVM7Z0JBQzVCO2dCQUNBQyxRQUFRO29CQUNOQyxXQUFXO3dCQUNUQyxXQUFXO3dCQUNYQyxZQUFZO29CQUNkO29CQUNBQyxTQUFTO3dCQUNQTixLQUFLekMsUUFBUVcsR0FBRyxDQUFDcUMsa0JBQWtCO3dCQUNuQy9CLEtBQUs7b0JBQ1A7b0JBQ0F3QixLQUFLekMsUUFBUVcsR0FBRyxDQUFDc0MsY0FBYztnQkFDakM7Z0JBQ0FDLE9BQU87b0JBQ0xDLFlBQVk7b0JBQ1pDLFNBQVM7b0JBQ1RDLFlBQVk7b0JBQ1pDLFNBQVM7Z0JBQ1g7Z0JBQ0FDLFFBQVE7b0JBQ05DLE9BQU94RCxRQUFRVyxHQUFHLENBQUM4QyxZQUFZO2dCQUNqQztnQkFDQUMsUUFBUTtvQkFDTkMsUUFBUTNELFFBQVFXLEdBQUcsQ0FBQ2lELGFBQWE7b0JBQ2pDQyxLQUFLN0QsUUFBUVcsR0FBRyxDQUFDbUQsVUFBVTtvQkFDM0JOLE9BQU94RCxRQUFRVyxHQUFHLENBQUNvRCxZQUFZO2dCQUNqQztZQUNGO1lBQ0FDLFlBQVk7Z0JBQ1Z2RCxVQUFVO29CQUNSQyxVQUFVVixRQUFRVyxHQUFHLENBQUNDLGlCQUFpQixJQUFJO29CQUMzQ3FELE1BQU07b0JBQ05wRCxVQUFVYixRQUFRVyxHQUFHLENBQUNHLGlCQUFpQixJQUFJO29CQUMzQ0MsTUFBTWYsUUFBUVcsR0FBRyxDQUFDSyxhQUFhLElBQUk7b0JBQ25Da0QsU0FBUztvQkFDVGpELEtBQUtqQixRQUFRVyxHQUFHLENBQUNPLFlBQVksSUFBSTtvQkFDakNDLFVBQVVuQixRQUFRVyxHQUFHLENBQUNTLGlCQUFpQixJQUFJO2dCQUM3QztnQkFDQUMsS0FBSztvQkFDSEMsSUFBSTt3QkFDRkMsUUFBUTtvQkFDVjtnQkFDRjtnQkFDQWdDLFFBQVE7b0JBQ05DLE9BQU94RCxRQUFRVyxHQUFHLENBQUM4QyxZQUFZO2dCQUNqQztnQkFDQUMsUUFBUTtvQkFDTkMsUUFBUTNELFFBQVFXLEdBQUcsQ0FBQ2lELGFBQWE7b0JBQ2pDQyxLQUFLN0QsUUFBUVcsR0FBRyxDQUFDbUQsVUFBVTtvQkFDM0JOLE9BQU94RCxRQUFRVyxHQUFHLENBQUNvRCxZQUFZO2dCQUNqQztZQUNGO1lBQ0FJLE1BQU07Z0JBQ0oxRCxVQUFVO29CQUNSQyxVQUFVVixRQUFRVyxHQUFHLENBQUNDLGlCQUFpQixJQUFJO29CQUMzQ0MsVUFBVWIsUUFBUVcsR0FBRyxDQUFDRyxpQkFBaUIsSUFBSTtvQkFDM0NDLE1BQU1mLFFBQVFXLEdBQUcsQ0FBQ0ssYUFBYSxJQUFJO29CQUNuQ0MsS0FBS2pCLFFBQVFXLEdBQUcsQ0FBQ08sWUFBWSxJQUFJO29CQUNqQ0MsVUFBVW5CLFFBQVFXLEdBQUcsQ0FBQ1MsaUJBQWlCLElBQUk7Z0JBQzdDO2dCQUNBYSxTQUFTO29CQUNQQyxJQUFJO29CQUNKQyxRQUFRO29CQUNSQyxNQUFNO29CQUNOQyxjQUFjO29CQUNkcEIsS0FBSztvQkFDTHNCLFNBQVNyQyxXQUFXcUMsT0FBTztnQkFDN0I7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxPQUFPNkIsSUFBSUMsUUFBZ0IsRUFBRUMsV0FBb0IsRUFBVTtRQUN6RCxNQUFNQyxnQkFBZ0IsSUFBSSxDQUFDNUUsR0FBRztRQUM5QixNQUFNNkUsb0JBQW9CRixlQUFldEUsUUFBUVcsR0FBRyxDQUFDOEQsS0FBSyxJQUFJekUsUUFBUVcsR0FBRyxDQUFDK0QsUUFBUSxJQUFJO1FBRXRGLElBQUdMLFFBQVEsQ0FBQ0csa0JBQWtCLEVBQUU7WUFDOUIsSUFBSSxDQUFDbEUsYUFBYSxHQUFHVixNQUFNLENBQUMsR0FBRzJFLGVBQWVGLFFBQVEsQ0FBQ0csa0JBQWtCO1FBQzNFLE9BQU87WUFDTCxJQUFJLENBQUNsRSxhQUFhLEdBQUdWLE1BQU0sQ0FBQyxHQUFHMkUsZUFBZUY7UUFDaEQ7UUFFQSxPQUFPO1lBQUMsR0FBSSxJQUFJLENBQUMvRCxhQUFhO1FBQXNCO0lBQ3REO0lBRUEsT0FBT3FFLFFBQWM7UUFDbkIsSUFBSSxDQUFDckUsYUFBYSxHQUFHO0lBQ3ZCO0lBR0EsT0FBT1gsSUFBYWlGLElBQXdCLEVBQUVDLFlBQWdCLEVBQUs7UUFDakUsTUFBTUMsYUFBYSxJQUFJLENBQUN4RSxhQUFhLElBQUksSUFBSSxDQUFDQyxNQUFNO1FBQ3BELE1BQU0rRCxjQUFjdEUsUUFBUVcsR0FBRyxDQUFDOEQsS0FBSyxJQUFJekUsUUFBUVcsR0FBRyxDQUFDK0QsUUFBUSxJQUFJO1FBRWpFLElBQUcsSUFBSSxDQUFDcEUsYUFBYSxFQUFFO1lBQ3JCLE1BQU15RSw0QkFBNEIsSUFBSSxDQUFDekUsYUFBYSxDQUFDZ0UsWUFBWSxJQUFJLENBQUM7WUFDdEUsTUFBTVUsU0FBU3BGLE1BQU0sQ0FBQyxHQUFHa0YsWUFBWUM7WUFFckMsT0FBT0gsT0FBT2pGLElBQUlxRixRQUFRSixNQUFNQyxnQkFBZ0JHO1FBQ2xEO1FBRUEsTUFBTUMsY0FBY0gsV0FBV3RELEtBQUs7UUFDcEMsTUFBTXdELFNBQVNwRixNQUFNLENBQUMsR0FBR3FGLGFBQWFILFVBQVUsQ0FBQ1IsWUFBWSxJQUFJLENBQUM7UUFFbEUsT0FBT00sT0FBT2pGLElBQUlxRixRQUFRSixNQUFNQyxnQkFBZ0JHO0lBQ2xEO0FBQ0YifQ==
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2NvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXR9IGZyb20gJ0BubGFicy91dGlscy9vYmplY3RzL2dldCc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdAbmxhYnMvdXRpbHMvb2JqZWN0cy9tZXJnZSc7XG5pbXBvcnQge3JlYWRGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtqb2lufSBmcm9tICdwYXRoJztcblxuY29uc3QgcGFja2FnZUpzb25QYXRoID0gam9pbihwcm9jZXNzLmN3ZCgpLCAncGFja2FnZS5qc29uJyk7XG5jb25zdCBhcHBQYWNrYWdlID0gSlNPTi5wYXJzZShyZWFkRmlsZVN5bmMocGFja2FnZUpzb25QYXRoLCAndXRmOCcpKTtcblxuZXhwb3J0IGludGVyZmFjZSBBcmFuZ29EQkNvbmZpZyB7XG4gIHJlYWRvbmx5IGRhdGFiYXNlPzogc3RyaW5nO1xuICByZWFkb25seSBkdW1wPzogc3RyaW5nO1xuICByZWFkb25seSBwYXNzd29yZD86IHN0cmluZztcbiAgcmVhZG9ubHkgcG9ydD86IHN0cmluZztcbiAgcmVhZG9ubHkgcmVzdG9yZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuICByZWFkb25seSB1c2VybmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBDb25maWcge1xuICByZWFkb25seSBba2V5OiBzdHJpbmddOiBhbnk7XG4gIHJlYWRvbmx5IGRldGFpbHM/OiBBcHBEZXRhaWxzO1xuICByZWFkb25seSBhcmFuZ29kYj86IEFyYW5nb0RCQ29uZmlnO1xuICByZWFkb25seSBhd3M/OiBBd3NDb25maWc7XG4gIHJlYWRvbmx5IGdpcGh5Pzogb2JqZWN0O1xuICByZWFkb25seSBnb29nbGU/OiBvYmplY3Q7XG4gIHJlYWRvbmx5IGltYWdlPzogb2JqZWN0O1xuICByZWFkb25seSBzdHJpcGU/OiBvYmplY3Q7XG4gIHJlYWRvbmx5IHR3aWxpbz86IG9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBEZXRhaWxzIHtcbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvY2FsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgc3VwcG9ydEVtYWlsPzogc3RyaW5nO1xuICByZWFkb25seSBzdXBwb3J0TmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0NvbmZpZyB7XG4gIHJlYWRvbmx5IGNyZWRlbnRpYWxzPzoge1xuICAgIHJlYWRvbmx5IGFjY2Vzc0tleUlkPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHNlY3JldEFjY2Vzc0tleT86IHN0cmluZztcbiAgICByZWFkb25seSBzZXNzaW9uVG9rZW4/OiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IG1heFJldHJpZXM/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgcnVtPzoge1xuICAgIHJlYWRvbmx5IGFwcE1vbml0b3JzPzogUmVjb3JkPHN0cmluZywgQXdzUnVtQXBwTW9uaXRvckNvbmZpZyB8IHN0cmluZz47XG4gIH07XG4gIHJlYWRvbmx5IHMzPzoge1xuICAgIHJlYWRvbmx5IEJ1Y2tldD86IHN0cmluZztcbiAgfTtcbiAgcmVhZG9ubHkgc2lnbmF0dXJlVmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBd3NSdW1BcHBNb25pdG9yQ29uZmlnIHtcbiAgcmVhZG9ubHkgYWxpYXM/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRvbWFpbj86IHN0cmluZztcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZDb25maWcge1xuICByZWFkb25seSBsb2NhbDogQXBwQ29uZmlnO1xuICByZWFkb25seSBkZXZlbG9wbWVudDogQXBwQ29uZmlnO1xuICByZWFkb25seSBwcm9kdWN0aW9uOiBBcHBDb25maWc7XG4gIHJlYWRvbmx5IHRlc3Q6IEFwcENvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHb29nbGVDb25maWcge1xuICByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIENvbmZpZyB7XG4gIHByaXZhdGUgc3RhdGljIHVwZGF0ZWRDb25maWcgPSBudWxsO1xuXG4gIHN0YXRpYyB2YWx1ZXMoKTogRW52Q29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGV2ZWxvcG1lbnQ6IHtcbiAgICAgICAgYXJhbmdvZGI6IHtcbiAgICAgICAgICBkYXRhYmFzZTogcHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0UgfHwgJ3JlYWt0b3InLFxuICAgICAgICAgIHBhc3N3b3JkOiBwcm9jZXNzLmVudi5BUkFOR09EQl9QQVNTV09SRCB8fCAncGFzc3dvcmQnLFxuICAgICAgICAgIHBvcnQ6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1BPUlQgfHwgJzg1MjknLFxuICAgICAgICAgIHVybDogcHJvY2Vzcy5lbnYuQVJBTkdPREJfVVJMIHx8ICdodHRwOi8vbG9jYWxob3N0JyxcbiAgICAgICAgICB1c2VybmFtZTogcHJvY2Vzcy5lbnYuQVJBTkdPREJfVVNFUk5BTUUgfHwgJ3Jvb3QnXG4gICAgICAgIH0sXG4gICAgICAgIGF3czoge1xuICAgICAgICAgIHMzOiB7XG4gICAgICAgICAgICBCdWNrZXQ6ICdkZXYucmVha3Rvci5pbydcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBsb2NhbDoge1xuICAgICAgICBhcmFuZ29kYjoge1xuICAgICAgICAgIGRhdGFiYXNlOiBwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSB8fCAncmVha3RvcicsXG4gICAgICAgICAgcGFzc3dvcmQ6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1BBU1NXT1JEIHx8ICdwYXNzd29yZCcsXG4gICAgICAgICAgcG9ydDogcHJvY2Vzcy5lbnYuQVJBTkdPREJfUE9SVCB8fCAnODUyOScsXG4gICAgICAgICAgdXJsOiBwcm9jZXNzLmVudi5BUkFOR09EQl9VUkwgfHwgJ2h0dHA6Ly9sb2NhbGhvc3QnLFxuICAgICAgICAgIHVzZXJuYW1lOiBwcm9jZXNzLmVudi5BUkFOR09EQl9VU0VSTkFNRSB8fCAncm9vdCdcbiAgICAgICAgfSxcbiAgICAgICAgYXdzOiB7XG4gICAgICAgICAgY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIGFjY2Vzc0tleUlkOiBwcm9jZXNzLmVudi5BV1NfQUNDRVNTX0tFWV9JRCxcbiAgICAgICAgICAgIHNlY3JldEFjY2Vzc0tleTogcHJvY2Vzcy5lbnYuQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtYXhSZXRyaWVzOiAzLFxuICAgICAgICAgIHJlZ2lvbjogJ3VzLWVhc3QtMScsXG4gICAgICAgICAgczM6IHtcbiAgICAgICAgICAgIEJ1Y2tldDogJ2Rldi5yZWFrdG9yLmlvJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2lnbmF0dXJlVmVyc2lvbjogJ3Y0J1xuICAgICAgICB9LFxuICAgICAgICBkZXRhaWxzOiB7XG4gICAgICAgICAgaWQ6ICdyZWFrdG9yJyxcbiAgICAgICAgICBsb2NhbGU6ICdlbi1VUycsXG4gICAgICAgICAgbmFtZTogJ1JlYWt0b3InLFxuICAgICAgICAgIHN1cHBvcnRFbWFpbDogJ3N1cHBvcnRAcmVha3Rvci5pbycsXG4gICAgICAgICAgc3VwcG9ydE5hbWU6ICdSZWFrdG9yIFN1cHBvcnQnLFxuICAgICAgICAgIHVybDogJ3JlYWt0b3IuaW8nLFxuICAgICAgICAgIHZlcnNpb246IGFwcFBhY2thZ2UudmVyc2lvblxuICAgICAgICB9LFxuICAgICAgICBnaXBoeToge1xuICAgICAgICAgIGtleTogcHJvY2Vzcy5lbnYuR0lQSFlfS0VZXG4gICAgICAgIH0sXG4gICAgICAgIGdvb2dsZToge1xuICAgICAgICAgIGFuYWx5dGljczoge1xuICAgICAgICAgICAgYWNjb3VudElkOiAnNzgxNTg3MTcnLFxuICAgICAgICAgICAgdHJhY2tpbmdJZDogJ1VBLTc4MTU4NzE3LTEnXG4gICAgICAgICAgfSxcbiAgICAgICAgICBnZW9jb2RlOiB7XG4gICAgICAgICAgICBrZXk6IHByb2Nlc3MuZW52LkdPT0dMRV9HRU9DT0RFX0tFWSxcbiAgICAgICAgICAgIHVybDogJ2h0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS9nZW9jb2RlL2pzb24nXG4gICAgICAgICAgfSxcbiAgICAgICAgICBrZXk6IHByb2Nlc3MuZW52LkdPT0dMRV9BUElfS0VZXG4gICAgICAgIH0sXG4gICAgICAgIGltYWdlOiB7XG4gICAgICAgICAgaW1nUXVhbGl0eTogOTAsXG4gICAgICAgICAgaW1nU2l6ZTogMTUwMCxcbiAgICAgICAgICB0aG1RdWFsaXR5OiA4MCxcbiAgICAgICAgICB0aG1TaXplOiAxNTBcbiAgICAgICAgfSxcbiAgICAgICAgc3RyaXBlOiB7XG4gICAgICAgICAgdG9rZW46IHByb2Nlc3MuZW52LlNUUklQRV9UT0tFTlxuICAgICAgICB9LFxuICAgICAgICB0d2lsaW86IHtcbiAgICAgICAgICBudW1iZXI6IHByb2Nlc3MuZW52LlRXSUxJT19OVU1CRVIsXG4gICAgICAgICAgc2lkOiBwcm9jZXNzLmVudi5UV0lMSU9fU0lELFxuICAgICAgICAgIHRva2VuOiBwcm9jZXNzLmVudi5UV0lMSU9fVE9LRU5cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHByb2R1Y3Rpb246IHtcbiAgICAgICAgYXJhbmdvZGI6IHtcbiAgICAgICAgICBkYXRhYmFzZTogcHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0UgfHwgJ3JlYWt0b3InLFxuICAgICAgICAgIGR1bXA6ICcvdXNyL2Jpbi9hcmFuZ29kdW1wJyxcbiAgICAgICAgICBwYXNzd29yZDogcHJvY2Vzcy5lbnYuQVJBTkdPREJfUEFTU1dPUkQgfHwgJ3Bhc3N3b3JkJyxcbiAgICAgICAgICBwb3J0OiBwcm9jZXNzLmVudi5BUkFOR09EQl9QT1JUIHx8ICc4NTI5JyxcbiAgICAgICAgICByZXN0b3JlOiAnL3Vzci9iaW4vYXJhbmdvcmVzdG9yZScsXG4gICAgICAgICAgdXJsOiBwcm9jZXNzLmVudi5BUkFOR09EQl9VUkwgfHwgJ2h0dHA6Ly9sb2NhbGhvc3QnLFxuICAgICAgICAgIHVzZXJuYW1lOiBwcm9jZXNzLmVudi5BUkFOR09EQl9VU0VSTkFNRSB8fCAncm9vdCdcbiAgICAgICAgfSxcbiAgICAgICAgYXdzOiB7XG4gICAgICAgICAgczM6IHtcbiAgICAgICAgICAgIEJ1Y2tldDogJ2JveC5yZWFrdG9yLmlvJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc3RyaXBlOiB7XG4gICAgICAgICAgdG9rZW46IHByb2Nlc3MuZW52LlNUUklQRV9UT0tFTlxuICAgICAgICB9LFxuICAgICAgICB0d2lsaW86IHtcbiAgICAgICAgICBudW1iZXI6IHByb2Nlc3MuZW52LlRXSUxJT19OVU1CRVIsXG4gICAgICAgICAgc2lkOiBwcm9jZXNzLmVudi5UV0lMSU9fU0lELFxuICAgICAgICAgIHRva2VuOiBwcm9jZXNzLmVudi5UV0lMSU9fVE9LRU5cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRlc3Q6IHtcbiAgICAgICAgYXJhbmdvZGI6IHtcbiAgICAgICAgICBkYXRhYmFzZTogcHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0UgfHwgJ3JlYWt0b3ItdGVzdCcsXG4gICAgICAgICAgcGFzc3dvcmQ6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1BBU1NXT1JEIHx8ICdwYXNzd29yZCcsXG4gICAgICAgICAgcG9ydDogcHJvY2Vzcy5lbnYuQVJBTkdPREJfUE9SVCB8fCAnODUyOScsXG4gICAgICAgICAgdXJsOiBwcm9jZXNzLmVudi5BUkFOR09EQl9VUkwgfHwgJ2h0dHA6Ly9sb2NhbGhvc3QnLFxuICAgICAgICAgIHVzZXJuYW1lOiBwcm9jZXNzLmVudi5BUkFOR09EQl9VU0VSTkFNRSB8fCAncm9vdCdcbiAgICAgICAgfSxcbiAgICAgICAgZGV0YWlsczoge1xuICAgICAgICAgIGlkOiAncmVha3Rvci10ZXN0JyxcbiAgICAgICAgICBsb2NhbGU6ICdlbi1VUycsXG4gICAgICAgICAgbmFtZTogJ1JlYWt0b3IgVGVzdCcsXG4gICAgICAgICAgc3VwcG9ydEVtYWlsOiAnc3VwcG9ydEByZWFrdG9yLmlvJyxcbiAgICAgICAgICB1cmw6ICdyZWFrdG9yLmlvJyxcbiAgICAgICAgICB2ZXJzaW9uOiBhcHBQYWNrYWdlLnZlcnNpb25cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgc2V0KG92ZXJyaWRlOiBvYmplY3QsIGVudmlyb25tZW50Pzogc3RyaW5nKTogb2JqZWN0IHtcbiAgICBjb25zdCBjdXJyZW50Q29uZmlnID0gdGhpcy5nZXQoKTtcbiAgICBjb25zdCB0YXJnZXRFbnZpcm9ubWVudCA9IGVudmlyb25tZW50IHx8IHByb2Nlc3MuZW52LnN0YWdlIHx8IHByb2Nlc3MuZW52Lk5PREVfRU5WIHx8ICdsb2NhbCc7XG5cbiAgICBpZihvdmVycmlkZVt0YXJnZXRFbnZpcm9ubWVudF0pIHtcbiAgICAgIHRoaXMudXBkYXRlZENvbmZpZyA9IG1lcmdlKHt9LCBjdXJyZW50Q29uZmlnLCBvdmVycmlkZVt0YXJnZXRFbnZpcm9ubWVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZWRDb25maWcgPSBtZXJnZSh7fSwgY3VycmVudENvbmZpZywgb3ZlcnJpZGUpO1xuICAgIH1cblxuICAgIHJldHVybiB7Li4uKHRoaXMudXBkYXRlZENvbmZpZyBhcyB1bmtub3duIGFzIG9iamVjdCl9O1xuICB9XG5cbiAgc3RhdGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlZENvbmZpZyA9IG51bGw7XG4gIH1cblxuXG4gIHN0YXRpYyBnZXQ8VCA9IGFueT4ocGF0aD86IHN0cmluZyB8IHN0cmluZ1tdLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB7XG4gICAgY29uc3QgYmFzZUNvbmZpZyA9IHRoaXMudXBkYXRlZENvbmZpZyB8fCB0aGlzLnZhbHVlcygpO1xuICAgIGNvbnN0IGVudmlyb25tZW50ID0gcHJvY2Vzcy5lbnYuc3RhZ2UgfHwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgfHwgJ2xvY2FsJztcblxuICAgIGlmKHRoaXMudXBkYXRlZENvbmZpZykge1xuICAgICAgY29uc3Qgb3ZlcnJpZGVFbnZpcm9ubWVudENvbmZpZyA9IHRoaXMudXBkYXRlZENvbmZpZ1tlbnZpcm9ubWVudF0gfHwge307XG4gICAgICBjb25zdCBjb25maWcgPSBtZXJnZSh7fSwgYmFzZUNvbmZpZywgb3ZlcnJpZGVFbnZpcm9ubWVudENvbmZpZyk7XG5cbiAgICAgIHJldHVybiBwYXRoID8gZ2V0KGNvbmZpZywgcGF0aCwgZGVmYXVsdFZhbHVlKSA6IGNvbmZpZztcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbENvbmZpZyA9IGJhc2VDb25maWcubG9jYWw7XG4gICAgY29uc3QgY29uZmlnID0gbWVyZ2Uoe30sIGxvY2FsQ29uZmlnLCBiYXNlQ29uZmlnW2Vudmlyb25tZW50XSB8fCB7fSk7XG5cbiAgICByZXR1cm4gcGF0aCA/IGdldChjb25maWcsIHBhdGgsIGRlZmF1bHRWYWx1ZSkgOiBjb25maWc7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJnZXQiLCJtZXJnZSIsInJlYWRGaWxlU3luYyIsImpvaW4iLCJwYWNrYWdlSnNvblBhdGgiLCJwcm9jZXNzIiwiY3dkIiwiYXBwUGFja2FnZSIsIkpTT04iLCJwYXJzZSIsIkNvbmZpZyIsInVwZGF0ZWRDb25maWciLCJ2YWx1ZXMiLCJkZXZlbG9wbWVudCIsImFyYW5nb2RiIiwiZGF0YWJhc2UiLCJlbnYiLCJBUkFOR09EQl9EQVRBQkFTRSIsInBhc3N3b3JkIiwiQVJBTkdPREJfUEFTU1dPUkQiLCJwb3J0IiwiQVJBTkdPREJfUE9SVCIsInVybCIsIkFSQU5HT0RCX1VSTCIsInVzZXJuYW1lIiwiQVJBTkdPREJfVVNFUk5BTUUiLCJhd3MiLCJzMyIsIkJ1Y2tldCIsImxvY2FsIiwiY3JlZGVudGlhbHMiLCJhY2Nlc3NLZXlJZCIsIkFXU19BQ0NFU1NfS0VZX0lEIiwic2VjcmV0QWNjZXNzS2V5IiwiQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZIiwibWF4UmV0cmllcyIsInJlZ2lvbiIsInNpZ25hdHVyZVZlcnNpb24iLCJkZXRhaWxzIiwiaWQiLCJsb2NhbGUiLCJuYW1lIiwic3VwcG9ydEVtYWlsIiwic3VwcG9ydE5hbWUiLCJ2ZXJzaW9uIiwiZ2lwaHkiLCJrZXkiLCJHSVBIWV9LRVkiLCJnb29nbGUiLCJhbmFseXRpY3MiLCJhY2NvdW50SWQiLCJ0cmFja2luZ0lkIiwiZ2VvY29kZSIsIkdPT0dMRV9HRU9DT0RFX0tFWSIsIkdPT0dMRV9BUElfS0VZIiwiaW1hZ2UiLCJpbWdRdWFsaXR5IiwiaW1nU2l6ZSIsInRobVF1YWxpdHkiLCJ0aG1TaXplIiwic3RyaXBlIiwidG9rZW4iLCJTVFJJUEVfVE9LRU4iLCJ0d2lsaW8iLCJudW1iZXIiLCJUV0lMSU9fTlVNQkVSIiwic2lkIiwiVFdJTElPX1NJRCIsIlRXSUxJT19UT0tFTiIsInByb2R1Y3Rpb24iLCJkdW1wIiwicmVzdG9yZSIsInRlc3QiLCJzZXQiLCJvdmVycmlkZSIsImVudmlyb25tZW50IiwiY3VycmVudENvbmZpZyIsInRhcmdldEVudmlyb25tZW50Iiwic3RhZ2UiLCJOT0RFX0VOViIsInJlc2V0IiwicGF0aCIsImRlZmF1bHRWYWx1ZSIsImJhc2VDb25maWciLCJvdmVycmlkZUVudmlyb25tZW50Q29uZmlnIiwiY29uZmlnIiwibG9jYWxDb25maWciXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLEdBQUcsUUFBTywyQkFBMkI7QUFDN0MsU0FBUUMsS0FBSyxRQUFPLDZCQUE2QjtBQUNqRCxTQUFRQyxZQUFZLFFBQU8sS0FBSztBQUNoQyxTQUFRQyxJQUFJLFFBQU8sT0FBTztBQUUxQixNQUFNQyxrQkFBa0JELEtBQUtFLFFBQVFDLEdBQUcsSUFBSTtBQUM1QyxNQUFNQyxhQUFhQyxLQUFLQyxLQUFLLENBQUNQLGFBQWFFLGlCQUFpQjtBQXNFNUQsT0FBTyxNQUFNTTtJQUNYLE9BQWVDLGdCQUFnQixLQUFLO0lBRXBDLE9BQU9DLFNBQW9CO1FBQ3pCLE9BQU87WUFDTEMsYUFBYTtnQkFDWEMsVUFBVTtvQkFDUkMsVUFBVVYsUUFBUVcsR0FBRyxDQUFDQyxpQkFBaUIsSUFBSTtvQkFDM0NDLFVBQVViLFFBQVFXLEdBQUcsQ0FBQ0csaUJBQWlCLElBQUk7b0JBQzNDQyxNQUFNZixRQUFRVyxHQUFHLENBQUNLLGFBQWEsSUFBSTtvQkFDbkNDLEtBQUtqQixRQUFRVyxHQUFHLENBQUNPLFlBQVksSUFBSTtvQkFDakNDLFVBQVVuQixRQUFRVyxHQUFHLENBQUNTLGlCQUFpQixJQUFJO2dCQUM3QztnQkFDQUMsS0FBSztvQkFDSEMsSUFBSTt3QkFDRkMsUUFBUTtvQkFDVjtnQkFDRjtZQUNGO1lBQ0FDLE9BQU87Z0JBQ0xmLFVBQVU7b0JBQ1JDLFVBQVVWLFFBQVFXLEdBQUcsQ0FBQ0MsaUJBQWlCLElBQUk7b0JBQzNDQyxVQUFVYixRQUFRVyxHQUFHLENBQUNHLGlCQUFpQixJQUFJO29CQUMzQ0MsTUFBTWYsUUFBUVcsR0FBRyxDQUFDSyxhQUFhLElBQUk7b0JBQ25DQyxLQUFLakIsUUFBUVcsR0FBRyxDQUFDTyxZQUFZLElBQUk7b0JBQ2pDQyxV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
|
|
@@ -16,9 +16,8 @@ export declare const COLLECTIONS: {
|
|
|
16
16
|
readonly IMAGES: 'images';
|
|
17
17
|
readonly MAILING_LISTS: 'mailingLists';
|
|
18
18
|
readonly MESSAGES: 'messages';
|
|
19
|
-
readonly POSTS: 'posts';
|
|
20
|
-
readonly RUM_LOGS: 'rumLogs';
|
|
21
19
|
readonly PERSONAS: 'personas';
|
|
20
|
+
readonly POSTS: 'posts';
|
|
22
21
|
readonly SHOPIFY_PRODUCTS: 'shopifyProducts';
|
|
23
22
|
readonly SHOPIFY_WEBHOOK_EVENTS: 'shopifyWebhookEvents';
|
|
24
23
|
readonly SUPPORT_TICKET_EVENTS: 'supportTicketEvents';
|
|
@@ -14,9 +14,8 @@
|
|
|
14
14
|
IMAGES: 'images',
|
|
15
15
|
MAILING_LISTS: 'mailingLists',
|
|
16
16
|
MESSAGES: 'messages',
|
|
17
|
-
POSTS: 'posts',
|
|
18
|
-
RUM_LOGS: 'rumLogs',
|
|
19
17
|
PERSONAS: 'personas',
|
|
18
|
+
POSTS: 'posts',
|
|
20
19
|
SHOPIFY_PRODUCTS: 'shopifyProducts',
|
|
21
20
|
SHOPIFY_WEBHOOK_EVENTS: 'shopifyWebhookEvents',
|
|
22
21
|
SUPPORT_TICKET_EVENTS: 'supportTicketEvents',
|
|
@@ -76,4 +75,4 @@
|
|
|
76
75
|
BLOCKED: 'blocked'
|
|
77
76
|
};
|
|
78
77
|
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2NvbnN0YW50cy9jb2xsZWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuXG4vKipcbiAqIEFyYW5nb0RCIENvbGxlY3Rpb24gTmFtZXNcbiAqIENlbnRyYWxpemVkIGNvbnN0YW50cyBmb3IgYWxsIGRhdGFiYXNlIGNvbGxlY3Rpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBDT0xMRUNUSU9OUyA9IHtcbiAgQVBQUzogJ2FwcHMnLFxuICBDT05WRVJTQVRJT05TOiAnY29udmVyc2F0aW9ucycsXG4gIENVU1RPTUVSX05PVElGSUNBVElPTlM6ICdjdXN0b21lck5vdGlmaWNhdGlvbnMnLFxuICBDVVNUT01FUl9PUkRFUlM6ICdjdXN0b21lck9yZGVycycsXG4gIEZJTEVTOiAnZmlsZXMnLFxuICBHUk9VUFM6ICdncm91cHMnLFxuICBJTUFHRVM6ICdpbWFnZXMnLFxuICBNQUlMSU5HX0xJU1RTOiAnbWFpbGluZ0xpc3RzJyxcbiAgTUVTU0FHRVM6ICdtZXNzYWdlcycsXG4gIFBFUlNPTkFTOiAncGVyc29uYXMnLFxuICBQT1NUUzogJ3Bvc3RzJyxcbiAgU0hPUElGWV9QUk9EVUNUUzogJ3Nob3BpZnlQcm9kdWN0cycsXG4gIFNIT1BJRllfV0VCSE9PS19FVkVOVFM6ICdzaG9waWZ5V2ViaG9va0V2ZW50cycsXG4gIFNVUFBPUlRfVElDS0VUX0VWRU5UUzogJ3N1cHBvcnRUaWNrZXRFdmVudHMnLFxuICBTVVBQT1JUX1RJQ0tFVF9NRVNTQUdFUzogJ3N1cHBvcnRUaWNrZXRNZXNzYWdlcycsXG4gIFNVUFBPUlRfVElDS0VUUzogJ3N1cHBvcnRUaWNrZXRzJyxcbiAgVEFHUzogJ3RhZ3MnLFxuICBVU0VSUzogJ3VzZXJzJyxcbiAgVklERU9TOiAndmlkZW9zJ1xufSBhcyBjb25zdDtcblxuLyoqXG4gKiBBcmFuZ29EQiBFZGdlIENvbGxlY3Rpb24gTmFtZXNcbiAqIENlbnRyYWxpemVkIGNvbnN0YW50cyBmb3IgYWxsIGVkZ2UgY29sbGVjdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IEVER0VTID0ge1xuICBIQVNfQ09OTkVDVElPTjogJ2hhc0Nvbm5lY3Rpb24nLFxuICBIQVNfQ09OVkVSU0FUSU9OOiAnaGFzQ29udmVyc2F0aW9uJyxcbiAgSEFTX0NVU1RPTUVSX05PVElGSUNBVElPTjogJ2hhc0N1c3RvbWVyTm90aWZpY2F0aW9uJyxcbiAgSEFTX0NVU1RPTUVSX09SREVSOiAnaGFzQ3VzdG9tZXJPcmRlcicsXG4gIEhBU19GSUxFOiAnaGFzRmlsZScsXG4gIEhBU19NRURJQTogJ2hhc01lZGlhJyxcbiAgSEFTX01BSUxJTkdfTElTVDogJ2hhc01haWxpbmdMaXN0JyxcbiAgSEFTX1BFUlNPTkE6ICdoYXNQZXJzb25hJyxcbiAgSEFTX1BVUkNIQVNFRF9QUk9EVUNUOiAnaGFzUHVyY2hhc2VkUHJvZHVjdCcsXG4gIEhBU19SRUFDVElPTjogJ2hhc1JlYWN0aW9uJyxcbiAgSEFTX1NVUFBPUlRfVElDS0VUOiAnaGFzU3VwcG9ydFRpY2tldCcsXG4gIEhBU19TVVBQT1JUX1RJQ0tFVF9FVkVOVDogJ2hhc1N1cHBvcnRUaWNrZXRFdmVudCcsXG4gIEhBU19TVVBQT1JUX1RJQ0tFVF9NRVNTQUdFOiAnaGFzU3VwcG9ydFRpY2tldE1lc3NhZ2UnLFxuICBJU19QT1NURUQ6ICdpc1Bvc3RlZCcsXG4gIElTX1RBR0dFRDogJ2lzVGFnZ2VkJ1xufSBhcyBjb25zdDtcblxuLyoqXG4gKiBQcml2YWN5IExldmVsIENvbnN0YW50c1xuICogVXNlZCBhY3Jvc3MgcG9zdHMsIGdyb3VwcywgYW5kIG90aGVyIGNvbnRlbnQgdHlwZXNcbiAqL1xuZXhwb3J0IGNvbnN0IFByaXZhY3lMZXZlbCA9IHtcbiAgUFVCTElDOiAncHVibGljJyxcbiAgUFJJVkFURTogJ3ByaXZhdGUnLFxuICBHUk9VUDogJ2dyb3VwJyxcbiAgREVGQVVMVDogJ2RlZmF1bHQnXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBQcml2YWN5TGV2ZWxUeXBlID0gdHlwZW9mIFByaXZhY3lMZXZlbFtrZXlvZiB0eXBlb2YgUHJpdmFjeUxldmVsXTtcblxuLyoqXG4gKiBSZWFjdGlvbiBUeXBlIENvbnN0YW50c1xuICogU3RhbmRhcmQgcmVhY3Rpb24gdHlwZXMgdXNlZCB0aHJvdWdob3V0IHRoZSBhcHBsaWNhdGlvblxuICovXG5leHBvcnQgY29uc3QgUmVhY3Rpb25UeXBlID0ge1xuICBMSUtFOiAnbGlrZScsXG4gIFJTVlA6ICdyc3ZwJyxcbiAgUElOOiAncGluJyxcbiAgVklFVzogJ3ZpZXcnLFxuICBESVNMSUtFOiAnZGlzbGlrZSdcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFJlYWN0aW9uVHlwZVR5cGUgPSB0eXBlb2YgUmVhY3Rpb25UeXBlW2tleW9mIHR5cGVvZiBSZWFjdGlvblR5cGVdO1xuXG4vKipcbiAqIENvbm5lY3Rpb24gVHlwZSBDb25zdGFudHNcbiAqIFR5cGVzIG9mIGNvbm5lY3Rpb25zIGJldHdlZW4gdXNlcnMgYW5kIGdyb3Vwc1xuICovXG5leHBvcnQgY29uc3QgQ29ubmVjdGlvblR5cGUgPSB7XG4gIEFETUlOOiAnYWRtaW4nLFxuICBNRU1CRVI6ICdtZW1iZXInLFxuICBGT0xMT1dFUjogJ2ZvbGxvd2VyJyxcbiAgRk9MTE9XSU5HOiAnZm9sbG93aW5nJyxcbiAgQkxPQ0tFRDogJ2Jsb2NrZWQnXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBDb25uZWN0aW9uVHlwZVR5cGUgPSB0eXBlb2YgQ29ubmVjdGlvblR5cGVba2V5b2YgdHlwZW9mIENvbm5lY3Rpb25UeXBlXTtcbiJdLCJuYW1lcyI6WyJDT0xMRUNUSU9OUyIsIkFQUFMiLCJDT05WRVJTQVRJT05TIiwiQ1VTVE9NRVJfTk9USUZJQ0FUSU9OUyIsIkNVU1RPTUVSX09SREVSUyIsIkZJTEVTIiwiR1JPVVBTIiwiSU1BR0VTIiwiTUFJTElOR19MSVNUUyIsIk1FU1NBR0VTIiwiUEVSU09OQVMiLCJQT1NUUyIsIlNIT1BJRllfUFJPRFVDVFMiLCJTSE9QSUZZX1dFQkhPT0tfRVZFTlRTIiwiU1VQUE9SVF9USUNLRVRfRVZFTlRTIiwiU1VQUE9SVF9USUNLRVRfTUVTU0FHRVMiLCJTVVBQT1JUX1RJQ0tFVFMiLCJUQUdTIiwiVVNFUlMiLCJWSURFT1MiLCJFREdFUyIsIkhBU19DT05ORUNUSU9OIiwiSEFTX0NPTlZFUlNBVElPTiIsIkhBU19DVVNUT01FUl9OT1RJRklDQVRJT04iLCJIQVNfQ1VTVE9NRVJfT1JERVIiLCJIQVNfRklMRSIsIkhBU19NRURJQSIsIkhBU19NQUlMSU5HX0xJU1QiLCJIQVNfUEVSU09OQSIsIkhBU19QVVJDSEFTRURfUFJPRFVDVCIsIkhBU19SRUFDVElPTiIsIkhBU19TVVBQT1JUX1RJQ0tFVCIsIkhBU19TVVBQT1JUX1RJQ0tFVF9FVkVOVCIsIkhBU19TVVBQT1JUX1RJQ0tFVF9NRVNTQUdFIiwiSVNfUE9TVEVEIiwiSVNfVEFHR0VEIiwiUHJpdmFjeUxldmVsIiwiUFVCTElDIiwiUFJJVkFURSIsIkdST1VQIiwiREVGQVVMVCIsIlJlYWN0aW9uVHlwZSIsIkxJS0UiLCJSU1ZQIiwiUElOIiwiVklFVyIsIkRJU0xJS0UiLCJDb25uZWN0aW9uVHlwZSIsIkFETUlOIiwiTUVNQkVSIiwiRk9MTE9XRVIiLCJGT0xMT1dJTkciLCJCTE9DS0VEIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FFRDs7O0NBR0MsR0FDRCxPQUFPLE1BQU1BLGNBQWM7SUFDekJDLE1BQU07SUFDTkMsZUFBZTtJQUNmQyx3QkFBd0I7SUFDeEJDLGlCQUFpQjtJQUNqQkMsT0FBTztJQUNQQyxRQUFRO0lBQ1JDLFFBQVE7SUFDUkMsZUFBZTtJQUNmQyxVQUFVO0lBQ1ZDLFVBQVU7SUFDVkMsT0FBTztJQUNQQyxrQkFBa0I7SUFDbEJDLHdCQUF3QjtJQUN4QkMsdUJBQXVCO0lBQ3ZCQyx5QkFBeUI7SUFDekJDLGlCQUFpQjtJQUNqQkMsTUFBTTtJQUNOQyxPQUFPO0lBQ1BDLFFBQVE7QUFDVixFQUFXO0FBRVg7OztDQUdDLEdBQ0QsT0FBTyxNQUFNQyxRQUFRO0lBQ25CQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsMkJBQTJCO0lBQzNCQyxvQkFBb0I7SUFDcEJDLFVBQVU7SUFDVkMsV0FBVztJQUNYQyxrQkFBa0I7SUFDbEJDLGFBQWE7SUFDYkMsdUJBQXVCO0lBQ3ZCQyxjQUFjO0lBQ2RDLG9CQUFvQjtJQUNwQkMsMEJBQTBCO0lBQzFCQyw0QkFBNEI7SUFDNUJDLFdBQVc7SUFDWEMsV0FBVztBQUNiLEVBQVc7QUFFWDs7O0NBR0MsR0FDRCxPQUFPLE1BQU1DLGVBQWU7SUFDMUJDLFFBQVE7SUFDUkMsU0FBUztJQUNUQyxPQUFPO0lBQ1BDLFNBQVM7QUFDWCxFQUFXO0FBSVg7OztDQUdDLEdBQ0QsT0FBTyxNQUFNQyxlQUFlO0lBQzFCQyxNQUFNO0lBQ05DLE1BQU07SUFDTkMsS0FBSztJQUNMQyxNQUFNO0lBQ05DLFNBQVM7QUFDWCxFQUFXO0FBSVg7OztDQUdDLEdBQ0QsT0FBTyxNQUFNQyxpQkFBaUI7SUFDNUJDLE9BQU87SUFDUEMsUUFBUTtJQUNSQyxVQUFVO0lBQ1ZDLFdBQVc7SUFDWEMsU0FBUztBQUNYLEVBQVcifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nlabs/reaktor",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.3",
|
|
4
4
|
"description": "Reaktor",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
"@aws-sdk/client-apigatewaymanagementapi": "^3.1111.0",
|
|
69
69
|
"@aws-sdk/client-dynamodb": "^3.1111.0",
|
|
70
70
|
"@aws-sdk/client-mediaconvert": "^3.1111.0",
|
|
71
|
+
"@aws-sdk/client-rum": "^3.1112.0",
|
|
71
72
|
"@aws-sdk/client-s3": "^3.1111.0",
|
|
72
73
|
"@aws-sdk/client-ses": "^3.1111.0",
|
|
73
74
|
"@aws-sdk/client-sns": "^3.1111.0",
|
|
@@ -80,10 +81,9 @@
|
|
|
80
81
|
"busboy": "^1.6.0",
|
|
81
82
|
"child_process": "^1.0.2",
|
|
82
83
|
"core-js": "^3.50.0",
|
|
84
|
+
"exif-reader": "^2.0.3",
|
|
83
85
|
"file-type": "^22.0.2",
|
|
84
|
-
"gm": "^1.25.1",
|
|
85
86
|
"google-libphonenumber": "^3.2.46",
|
|
86
|
-
"googleapis": "174.0.1",
|
|
87
87
|
"graphql": "^16.14.2",
|
|
88
88
|
"graphql-compose": "^9.1.0",
|
|
89
89
|
"graphql-fields": "^2.0.3",
|
|
@@ -94,6 +94,7 @@
|
|
|
94
94
|
"net": "^1.0.2",
|
|
95
95
|
"numeral": "^2.0.6",
|
|
96
96
|
"sanitize-html": "^2.17.7",
|
|
97
|
+
"sharp": "0.35.3",
|
|
97
98
|
"spawn-sync": "^2.0.0",
|
|
98
99
|
"stripe": "^22.5.0",
|
|
99
100
|
"tls": "0.0.1",
|