@adobe/helix-rum-enhancer 2.31.0-beta.5 → 2.31.0-beta.7

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.
@@ -9,404 +9,399 @@
9
9
  * OF ANY KIND, either express or implied. See the License for the specific language
10
10
  * governing permissions and limitations under the License.
11
11
  */
12
- (function () {
13
- 'use strict';
12
+ (function (e) {
14
13
 
15
- (function (e) {
16
-
17
- var n,
18
- t,
19
- r,
20
- i,
21
- o,
22
- a = -1,
23
- c = function (e) {
24
- addEventListener("pageshow", function (n) {
25
- n.persisted && (a = n.timeStamp, e(n));
26
- }, true);
27
- },
28
- u = function () {
29
- var e = self.performance && performance.getEntriesByType && performance.getEntriesByType("navigation")[0];
30
- if (e && e.responseStart > 0 && e.responseStart < performance.now()) return e;
31
- },
32
- s = function () {
33
- var e = u();
34
- return e && e.activationStart || 0;
35
- },
36
- f = function (e, n) {
37
- var t = u(),
38
- r = "navigate";
39
- a >= 0 ? r = "back-forward-cache" : t && (document.prerendering || s() > 0 ? r = "prerender" : document.wasDiscarded ? r = "restore" : t.type && (r = t.type.replace(/_/g, "-")));
40
- return {
41
- name: e,
42
- value: undefined === n ? -1 : n,
43
- rating: "good",
44
- delta: 0,
45
- entries: [],
46
- id: "v4-".concat(Date.now(), "-").concat(Math.floor(8999999999999 * Math.random()) + 1e12),
47
- navigationType: r
48
- };
49
- },
50
- d = function (e, n, t) {
51
- try {
52
- if (PerformanceObserver.supportedEntryTypes.includes(e)) {
53
- var r = new PerformanceObserver(function (e) {
54
- Promise.resolve().then(function () {
55
- n(e.getEntries());
56
- });
14
+ var n,
15
+ t,
16
+ r,
17
+ i,
18
+ o,
19
+ a = -1,
20
+ c = function (e) {
21
+ addEventListener("pageshow", function (n) {
22
+ n.persisted && (a = n.timeStamp, e(n));
23
+ }, true);
24
+ },
25
+ u = function () {
26
+ var e = self.performance && performance.getEntriesByType && performance.getEntriesByType("navigation")[0];
27
+ if (e && e.responseStart > 0 && e.responseStart < performance.now()) return e;
28
+ },
29
+ s = function () {
30
+ var e = u();
31
+ return e && e.activationStart || 0;
32
+ },
33
+ f = function (e, n) {
34
+ var t = u(),
35
+ r = "navigate";
36
+ a >= 0 ? r = "back-forward-cache" : t && (document.prerendering || s() > 0 ? r = "prerender" : document.wasDiscarded ? r = "restore" : t.type && (r = t.type.replace(/_/g, "-")));
37
+ return {
38
+ name: e,
39
+ value: void 0 === n ? -1 : n,
40
+ rating: "good",
41
+ delta: 0,
42
+ entries: [],
43
+ id: "v4-".concat(Date.now(), "-").concat(Math.floor(8999999999999 * Math.random()) + 1e12),
44
+ navigationType: r
45
+ };
46
+ },
47
+ d = function (e, n, t) {
48
+ try {
49
+ if (PerformanceObserver.supportedEntryTypes.includes(e)) {
50
+ var r = new PerformanceObserver(function (e) {
51
+ Promise.resolve().then(function () {
52
+ n(e.getEntries());
57
53
  });
58
- return r.observe(Object.assign({
59
- type: e,
60
- buffered: !0
61
- }, t || {})), r;
62
- }
63
- } catch (e) {}
64
- },
65
- l = function (e, n, t, r) {
66
- var i, o;
67
- return function (a) {
68
- n.value >= 0 && (a || r) && ((o = n.value - (i || 0)) || undefined === i) && (i = n.value, n.delta = o, n.rating = function (e, n) {
69
- return e > n[1] ? "poor" : e > n[0] ? "needs-improvement" : "good";
70
- }(n.value, t), e(n));
71
- };
72
- },
73
- p = function (e) {
74
- requestAnimationFrame(function () {
75
- return requestAnimationFrame(function () {
76
- return e();
77
54
  });
78
- });
79
- },
80
- v = function (e) {
81
- document.addEventListener("visibilitychange", function () {
82
- "hidden" === document.visibilityState && e();
83
- });
84
- },
85
- m = function (e) {
86
- var n = false;
87
- return function () {
88
- n || (e(), n = true);
89
- };
90
- },
91
- h = -1,
92
- g = function () {
93
- return "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0;
94
- },
95
- T = function (e) {
96
- "hidden" === document.visibilityState && h > -1 && (h = "visibilitychange" === e.type ? e.timeStamp : 0, E());
97
- },
98
- y = function () {
99
- addEventListener("visibilitychange", T, true), addEventListener("prerenderingchange", T, true);
100
- },
101
- E = function () {
102
- removeEventListener("visibilitychange", T, true), removeEventListener("prerenderingchange", T, true);
103
- },
104
- C = function () {
105
- return h < 0 && (h = g(), y(), c(function () {
106
- setTimeout(function () {
107
- h = g(), y();
108
- }, 0);
109
- })), {
110
- get firstHiddenTime() {
111
- return h;
112
- }
113
- };
114
- },
115
- L = function (e) {
116
- document.prerendering ? addEventListener("prerenderingchange", function () {
117
- return e();
118
- }, true) : e();
119
- },
120
- S = [1800, 3e3],
121
- b = function (e, n) {
122
- n = n || {}, L(function () {
123
- var t,
124
- r = C(),
125
- i = f("FCP"),
126
- o = d("paint", function (e) {
127
- e.forEach(function (e) {
128
- "first-contentful-paint" === e.name && (o.disconnect(), e.startTime < r.firstHiddenTime && (i.value = Math.max(e.startTime - s(), 0), i.entries.push(e), t(!0)));
129
- });
130
- });
131
- o && (t = l(e, i, S, n.reportAllChanges), c(function (r) {
132
- i = f("FCP"), t = l(e, i, S, n.reportAllChanges), p(function () {
133
- i.value = performance.now() - r.timeStamp, t(true);
134
- });
135
- }));
136
- });
137
- },
138
- w = [.1, .25],
139
- I = 0,
140
- P = 1 / 0,
141
- A = 0,
142
- F = function (e) {
143
- e.forEach(function (e) {
144
- e.interactionId && (P = Math.min(P, e.interactionId), A = Math.max(A, e.interactionId), I = A ? (A - P) / 7 + 1 : 0);
145
- });
146
- },
147
- M = function () {
148
- return n ? I : performance.interactionCount || 0;
149
- },
150
- k = function () {
151
- "interactionCount" in performance || n || (n = d("event", F, {
152
- type: "event",
153
- buffered: true,
154
- durationThreshold: 0
155
- }));
156
- },
157
- D = [],
158
- B = new Map(),
159
- R = 0,
160
- x = function () {
161
- var e = Math.min(D.length - 1, Math.floor((M() - R) / 50));
162
- return D[e];
163
- },
164
- H = [],
165
- N = function (e) {
166
- if (H.forEach(function (n) {
167
- return n(e);
168
- }), e.interactionId || "first-input" === e.entryType) {
169
- var n = D[D.length - 1],
170
- t = B.get(e.interactionId);
171
- if (t || D.length < 10 || e.duration > n.latency) {
172
- if (t) e.duration > t.latency ? (t.entries = [e], t.latency = e.duration) : e.duration === t.latency && e.startTime === t.entries[0].startTime && t.entries.push(e);else {
173
- var r = {
174
- id: e.interactionId,
175
- latency: e.duration,
176
- entries: [e]
177
- };
178
- B.set(r.id, r), D.push(r);
179
- }
180
- D.sort(function (e, n) {
181
- return n.latency - e.latency;
182
- }), D.length > 10 && D.splice(10).forEach(function (e) {
183
- return B.delete(e.id);
184
- });
185
- }
55
+ return r.observe(Object.assign({
56
+ type: e,
57
+ buffered: !0
58
+ }, t || {})), r;
186
59
  }
187
- },
188
- q = function (e) {
189
- var n = self.requestIdleCallback || self.setTimeout,
190
- t = -1;
191
- return e = m(e), "hidden" === document.visibilityState ? e() : (t = n(e), v(e)), t;
192
- },
193
- O = [200, 500],
194
- j = [2500, 4e3],
195
- V = {},
196
- _ = [800, 1800],
197
- z = function e(n) {
198
- document.prerendering ? L(function () {
199
- return e(n);
200
- }) : "complete" !== document.readyState ? addEventListener("load", function () {
201
- return e(n);
202
- }, true) : setTimeout(n, 0);
203
- },
204
- G = {
205
- passive: true,
206
- capture: true
207
- },
208
- J = new Date(),
209
- K = function (e, n) {
210
- t || (t = n, r = e, i = new Date(), W(removeEventListener), Q());
211
- },
212
- Q = function () {
213
- if (r >= 0 && r < i - J) {
214
- var e = {
215
- entryType: "first-input",
216
- name: t.type,
217
- target: t.target,
218
- cancelable: t.cancelable,
219
- startTime: t.timeStamp,
220
- processingStart: t.timeStamp + r
221
- };
222
- o.forEach(function (n) {
223
- n(e);
224
- }), o = [];
225
- }
226
- },
227
- U = function (e) {
228
- if (e.cancelable) {
229
- var n = (e.timeStamp > 1e12 ? new Date() : performance.now()) - e.timeStamp;
230
- "pointerdown" == e.type ? function (e, n) {
231
- var t = function () {
232
- K(e, n), i();
233
- },
234
- r = function () {
235
- i();
236
- },
237
- i = function () {
238
- removeEventListener("pointerup", t, G), removeEventListener("pointercancel", r, G);
239
- };
240
- addEventListener("pointerup", t, G), addEventListener("pointercancel", r, G);
241
- }(n, e) : K(n, e);
242
- }
243
- },
244
- W = function (e) {
245
- ["mousedown", "keydown", "touchstart", "pointerdown"].forEach(function (n) {
246
- return e(n, U, G);
60
+ } catch (e) {}
61
+ },
62
+ l = function (e, n, t, r) {
63
+ var i, o;
64
+ return function (a) {
65
+ n.value >= 0 && (a || r) && ((o = n.value - (i || 0)) || void 0 === i) && (i = n.value, n.delta = o, n.rating = function (e, n) {
66
+ return e > n[1] ? "poor" : e > n[0] ? "needs-improvement" : "good";
67
+ }(n.value, t), e(n));
68
+ };
69
+ },
70
+ p = function (e) {
71
+ requestAnimationFrame(function () {
72
+ return requestAnimationFrame(function () {
73
+ return e();
247
74
  });
248
- },
249
- X = [100, 300];
250
- return e.CLSThresholds = w, e.FCPThresholds = S, e.FIDThresholds = X, e.INPThresholds = O, e.LCPThresholds = j, e.TTFBThresholds = _, e.onCLS = function (e, n) {
251
- n = n || {}, b(m(function () {
252
- var t,
253
- r = f("CLS", 0),
254
- i = 0,
255
- o = [],
256
- a = function (e) {
257
- e.forEach(function (e) {
258
- if (!e.hadRecentInput) {
259
- var n = o[0],
260
- t = o[o.length - 1];
261
- i && e.startTime - t.startTime < 1e3 && e.startTime - n.startTime < 5e3 ? (i += e.value, o.push(e)) : (i = e.value, o = [e]);
262
- }
263
- }), i > r.value && (r.value = i, r.entries = o, t());
264
- },
265
- u = d("layout-shift", a);
266
- u && (t = l(e, r, w, n.reportAllChanges), v(function () {
267
- a(u.takeRecords()), t(true);
268
- }), c(function () {
269
- i = 0, r = f("CLS", 0), t = l(e, r, w, n.reportAllChanges), p(function () {
270
- return t();
271
- });
272
- }), setTimeout(t, 0));
273
- }));
274
- }, e.onFCP = b, e.onFID = function (e, n) {
275
- n = n || {}, L(function () {
276
- var i,
277
- a = C(),
278
- u = f("FID"),
279
- s = function (e) {
280
- e.startTime < a.firstHiddenTime && (u.value = e.processingStart - e.startTime, u.entries.push(e), i(true));
281
- },
282
- p = function (e) {
283
- e.forEach(s);
284
- },
285
- h = d("first-input", p);
286
- i = l(e, u, X, n.reportAllChanges), h && (v(m(function () {
287
- p(h.takeRecords()), h.disconnect();
288
- })), c(function () {
289
- var a;
290
- u = f("FID"), i = l(e, u, X, n.reportAllChanges), o = [], r = -1, t = null, W(addEventListener), a = s, o.push(a), Q();
291
- }));
292
75
  });
293
- }, e.onINP = function (e, n) {
294
- "PerformanceEventTiming" in self && "interactionId" in PerformanceEventTiming.prototype && (n = n || {}, L(function () {
295
- var t;
296
- k();
297
- var r,
298
- i = f("INP"),
299
- o = function (e) {
300
- q(function () {
301
- e.forEach(N);
302
- var n = x();
303
- n && n.latency !== i.value && (i.value = n.latency, i.entries = n.entries, r());
304
- });
305
- },
306
- a = d("event", o, {
307
- durationThreshold: null !== (t = n.durationThreshold) && undefined !== t ? t : 40
308
- });
309
- r = l(e, i, O, n.reportAllChanges), a && (a.observe({
310
- type: "first-input",
311
- buffered: true
312
- }), v(function () {
313
- o(a.takeRecords()), r(true);
314
- }), c(function () {
315
- R = M(), D.length = 0, B.clear(), i = f("INP"), r = l(e, i, O, n.reportAllChanges);
316
- }));
317
- }));
318
- }, e.onLCP = function (e, n) {
76
+ },
77
+ v = function (e) {
78
+ document.addEventListener("visibilitychange", function () {
79
+ "hidden" === document.visibilityState && e();
80
+ });
81
+ },
82
+ m = function (e) {
83
+ var n = false;
84
+ return function () {
85
+ n || (e(), n = true);
86
+ };
87
+ },
88
+ h = -1,
89
+ g = function () {
90
+ return "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0;
91
+ },
92
+ T = function (e) {
93
+ "hidden" === document.visibilityState && h > -1 && (h = "visibilitychange" === e.type ? e.timeStamp : 0, E());
94
+ },
95
+ y = function () {
96
+ addEventListener("visibilitychange", T, true), addEventListener("prerenderingchange", T, true);
97
+ },
98
+ E = function () {
99
+ removeEventListener("visibilitychange", T, true), removeEventListener("prerenderingchange", T, true);
100
+ },
101
+ C = function () {
102
+ return h < 0 && (h = g(), y(), c(function () {
103
+ setTimeout(function () {
104
+ h = g(), y();
105
+ }, 0);
106
+ })), {
107
+ get firstHiddenTime() {
108
+ return h;
109
+ }
110
+ };
111
+ },
112
+ L = function (e) {
113
+ document.prerendering ? addEventListener("prerenderingchange", function () {
114
+ return e();
115
+ }, true) : e();
116
+ },
117
+ S = [1800, 3e3],
118
+ b = function (e, n) {
319
119
  n = n || {}, L(function () {
320
120
  var t,
321
121
  r = C(),
322
- i = f("LCP"),
323
- o = function (e) {
324
- n.reportAllChanges || (e = e.slice(-1)), e.forEach(function (e) {
325
- e.startTime < r.firstHiddenTime && (i.value = Math.max(e.startTime - s(), 0), i.entries = [e], t());
122
+ i = f("FCP"),
123
+ o = d("paint", function (e) {
124
+ e.forEach(function (e) {
125
+ "first-contentful-paint" === e.name && (o.disconnect(), e.startTime < r.firstHiddenTime && (i.value = Math.max(e.startTime - s(), 0), i.entries.push(e), t(true)));
326
126
  });
327
- },
328
- a = d("largest-contentful-paint", o);
329
- if (a) {
330
- t = l(e, i, j, n.reportAllChanges);
331
- var u = m(function () {
332
- V[i.id] || (o(a.takeRecords()), a.disconnect(), V[i.id] = true, t(true));
333
127
  });
334
- ["keydown", "click"].forEach(function (e) {
335
- addEventListener(e, function () {
336
- return q(u);
337
- }, {
338
- once: true,
339
- capture: true
340
- });
341
- }), v(u), c(function (r) {
342
- i = f("LCP"), t = l(e, i, j, n.reportAllChanges), p(function () {
343
- i.value = performance.now() - r.timeStamp, V[i.id] = true, t(true);
344
- });
128
+ o && (t = l(e, i, S, n.reportAllChanges), c(function (r) {
129
+ i = f("FCP"), t = l(e, i, S, n.reportAllChanges), p(function () {
130
+ i.value = performance.now() - r.timeStamp, t(true);
345
131
  });
346
- }
347
- });
348
- }, e.onTTFB = function (e, n) {
349
- n = n || {};
350
- var t = f("TTFB"),
351
- r = l(e, t, _, n.reportAllChanges);
352
- z(function () {
353
- var i = u();
354
- i && (t.value = Math.max(i.responseStart - s(), 0), t.entries = [i], r(true), c(function () {
355
- t = f("TTFB", 0), (r = l(e, t, _, n.reportAllChanges))(true);
356
132
  }));
357
133
  });
358
- }, e;
359
- })({});
360
-
361
- function addCWVTracking({
362
- sampleRUM,
363
- sourceSelector,
364
- targetSelector,
365
- fflags
366
- }) {
367
- setTimeout(() => {
368
- try {
369
- const cwvScript = new URL('.rum/web-vitals/dist/web-vitals.iife.js', sampleRUM.baseURL).href;
370
- if (document.querySelector(`script[src="${cwvScript}"]`)) {
371
- return;
134
+ },
135
+ w = [.1, .25],
136
+ I = 0,
137
+ P = 1 / 0,
138
+ A = 0,
139
+ F = function (e) {
140
+ e.forEach(function (e) {
141
+ e.interactionId && (P = Math.min(P, e.interactionId), A = Math.max(A, e.interactionId), I = A ? (A - P) / 7 + 1 : 0);
142
+ });
143
+ },
144
+ M = function () {
145
+ return n ? I : performance.interactionCount || 0;
146
+ },
147
+ k = function () {
148
+ "interactionCount" in performance || n || (n = d("event", F, {
149
+ type: "event",
150
+ buffered: true,
151
+ durationThreshold: 0
152
+ }));
153
+ },
154
+ D = [],
155
+ B = new Map(),
156
+ R = 0,
157
+ x = function () {
158
+ var e = Math.min(D.length - 1, Math.floor((M() - R) / 50));
159
+ return D[e];
160
+ },
161
+ H = [],
162
+ N = function (e) {
163
+ if (H.forEach(function (n) {
164
+ return n(e);
165
+ }), e.interactionId || "first-input" === e.entryType) {
166
+ var n = D[D.length - 1],
167
+ t = B.get(e.interactionId);
168
+ if (t || D.length < 10 || e.duration > n.latency) {
169
+ if (t) e.duration > t.latency ? (t.entries = [e], t.latency = e.duration) : e.duration === t.latency && e.startTime === t.entries[0].startTime && t.entries.push(e);else {
170
+ var r = {
171
+ id: e.interactionId,
172
+ latency: e.duration,
173
+ entries: [e]
174
+ };
175
+ B.set(r.id, r), D.push(r);
176
+ }
177
+ D.sort(function (e, n) {
178
+ return n.latency - e.latency;
179
+ }), D.length > 10 && D.splice(10).forEach(function (e) {
180
+ return B.delete(e.id);
181
+ });
372
182
  }
373
- const script = document.createElement('script');
374
- script.src = cwvScript;
375
- script.onload = () => {
376
- const storeCWV = measurement => {
377
- const data = {
378
- cwv: {}
183
+ }
184
+ },
185
+ q = function (e) {
186
+ var n = self.requestIdleCallback || self.setTimeout,
187
+ t = -1;
188
+ return e = m(e), "hidden" === document.visibilityState ? e() : (t = n(e), v(e)), t;
189
+ },
190
+ O = [200, 500],
191
+ j = [2500, 4e3],
192
+ V = {},
193
+ _ = [800, 1800],
194
+ z = function e(n) {
195
+ document.prerendering ? L(function () {
196
+ return e(n);
197
+ }) : "complete" !== document.readyState ? addEventListener("load", function () {
198
+ return e(n);
199
+ }, true) : setTimeout(n, 0);
200
+ },
201
+ G = {
202
+ passive: true,
203
+ capture: true
204
+ },
205
+ J = new Date(),
206
+ K = function (e, n) {
207
+ t || (t = n, r = e, i = new Date(), W(removeEventListener), Q());
208
+ },
209
+ Q = function () {
210
+ if (r >= 0 && r < i - J) {
211
+ var e = {
212
+ entryType: "first-input",
213
+ name: t.type,
214
+ target: t.target,
215
+ cancelable: t.cancelable,
216
+ startTime: t.timeStamp,
217
+ processingStart: t.timeStamp + r
218
+ };
219
+ o.forEach(function (n) {
220
+ n(e);
221
+ }), o = [];
222
+ }
223
+ },
224
+ U = function (e) {
225
+ if (e.cancelable) {
226
+ var n = (e.timeStamp > 1e12 ? new Date() : performance.now()) - e.timeStamp;
227
+ "pointerdown" == e.type ? function (e, n) {
228
+ var t = function () {
229
+ K(e, n), i();
230
+ },
231
+ r = function () {
232
+ i();
233
+ },
234
+ i = function () {
235
+ removeEventListener("pointerup", t, G), removeEventListener("pointercancel", r, G);
379
236
  };
380
- data.cwv[measurement.name] = measurement.value;
381
- if (measurement.name === 'LCP' && measurement.entries.length > 0) {
382
- const {
383
- element
384
- } = measurement.entries.pop();
385
- data.target = targetSelector(element);
386
- data.source = sourceSelector(element) || element && element.outerHTML.slice(0, 30);
387
- }
388
- sampleRUM('cwv', data);
389
- };
390
- const isEager = metric => ['CLS', 'LCP'].includes(metric);
391
- ['INP', 'TTFB', 'CLS', 'LCP'].forEach(metric => {
392
- const metricFn = window.webVitals[`on${metric}`];
393
- if (typeof metricFn === 'function') {
394
- let opts = {};
395
- fflags.enabled('eagercwv', () => {
396
- opts = {
397
- reportAllChanges: isEager(metric)
398
- };
399
- });
400
- metricFn(storeCWV, opts);
237
+ addEventListener("pointerup", t, G), addEventListener("pointercancel", r, G);
238
+ }(n, e) : K(n, e);
239
+ }
240
+ },
241
+ W = function (e) {
242
+ ["mousedown", "keydown", "touchstart", "pointerdown"].forEach(function (n) {
243
+ return e(n, U, G);
244
+ });
245
+ },
246
+ X = [100, 300];
247
+ return e.CLSThresholds = w, e.FCPThresholds = S, e.FIDThresholds = X, e.INPThresholds = O, e.LCPThresholds = j, e.TTFBThresholds = _, e.onCLS = function (e, n) {
248
+ n = n || {}, b(m(function () {
249
+ var t,
250
+ r = f("CLS", 0),
251
+ i = 0,
252
+ o = [],
253
+ a = function (e) {
254
+ e.forEach(function (e) {
255
+ if (!e.hadRecentInput) {
256
+ var n = o[0],
257
+ t = o[o.length - 1];
258
+ i && e.startTime - t.startTime < 1e3 && e.startTime - n.startTime < 5e3 ? (i += e.value, o.push(e)) : (i = e.value, o = [e]);
401
259
  }
260
+ }), i > r.value && (r.value = i, r.entries = o, t());
261
+ },
262
+ u = d("layout-shift", a);
263
+ u && (t = l(e, r, w, n.reportAllChanges), v(function () {
264
+ a(u.takeRecords()), t(true);
265
+ }), c(function () {
266
+ i = 0, r = f("CLS", 0), t = l(e, r, w, n.reportAllChanges), p(function () {
267
+ return t();
268
+ });
269
+ }), setTimeout(t, 0));
270
+ }));
271
+ }, e.onFCP = b, e.onFID = function (e, n) {
272
+ n = n || {}, L(function () {
273
+ var i,
274
+ a = C(),
275
+ u = f("FID"),
276
+ s = function (e) {
277
+ e.startTime < a.firstHiddenTime && (u.value = e.processingStart - e.startTime, u.entries.push(e), i(true));
278
+ },
279
+ p = function (e) {
280
+ e.forEach(s);
281
+ },
282
+ h = d("first-input", p);
283
+ i = l(e, u, X, n.reportAllChanges), h && (v(m(function () {
284
+ p(h.takeRecords()), h.disconnect();
285
+ })), c(function () {
286
+ var a;
287
+ u = f("FID"), i = l(e, u, X, n.reportAllChanges), o = [], r = -1, t = null, W(addEventListener), a = s, o.push(a), Q();
288
+ }));
289
+ });
290
+ }, e.onINP = function (e, n) {
291
+ "PerformanceEventTiming" in self && "interactionId" in PerformanceEventTiming.prototype && (n = n || {}, L(function () {
292
+ var t;
293
+ k();
294
+ var r,
295
+ i = f("INP"),
296
+ o = function (e) {
297
+ q(function () {
298
+ e.forEach(N);
299
+ var n = x();
300
+ n && n.latency !== i.value && (i.value = n.latency, i.entries = n.entries, r());
402
301
  });
403
- };
404
- document.head.appendChild(script);
405
- } catch (error) {}
406
- }, 2000);
407
- }
302
+ },
303
+ a = d("event", o, {
304
+ durationThreshold: null !== (t = n.durationThreshold) && void 0 !== t ? t : 40
305
+ });
306
+ r = l(e, i, O, n.reportAllChanges), a && (a.observe({
307
+ type: "first-input",
308
+ buffered: true
309
+ }), v(function () {
310
+ o(a.takeRecords()), r(true);
311
+ }), c(function () {
312
+ R = M(), D.length = 0, B.clear(), i = f("INP"), r = l(e, i, O, n.reportAllChanges);
313
+ }));
314
+ }));
315
+ }, e.onLCP = function (e, n) {
316
+ n = n || {}, L(function () {
317
+ var t,
318
+ r = C(),
319
+ i = f("LCP"),
320
+ o = function (e) {
321
+ n.reportAllChanges || (e = e.slice(-1)), e.forEach(function (e) {
322
+ e.startTime < r.firstHiddenTime && (i.value = Math.max(e.startTime - s(), 0), i.entries = [e], t());
323
+ });
324
+ },
325
+ a = d("largest-contentful-paint", o);
326
+ if (a) {
327
+ t = l(e, i, j, n.reportAllChanges);
328
+ var u = m(function () {
329
+ V[i.id] || (o(a.takeRecords()), a.disconnect(), V[i.id] = true, t(true));
330
+ });
331
+ ["keydown", "click"].forEach(function (e) {
332
+ addEventListener(e, function () {
333
+ return q(u);
334
+ }, {
335
+ once: true,
336
+ capture: true
337
+ });
338
+ }), v(u), c(function (r) {
339
+ i = f("LCP"), t = l(e, i, j, n.reportAllChanges), p(function () {
340
+ i.value = performance.now() - r.timeStamp, V[i.id] = true, t(true);
341
+ });
342
+ });
343
+ }
344
+ });
345
+ }, e.onTTFB = function (e, n) {
346
+ n = n || {};
347
+ var t = f("TTFB"),
348
+ r = l(e, t, _, n.reportAllChanges);
349
+ z(function () {
350
+ var i = u();
351
+ i && (t.value = Math.max(i.responseStart - s(), 0), t.entries = [i], r(true), c(function () {
352
+ t = f("TTFB", 0), (r = l(e, t, _, n.reportAllChanges))(true);
353
+ }));
354
+ });
355
+ }, e;
356
+ })({});
408
357
 
409
- return addCWVTracking;
358
+ function addCWVTracking({
359
+ sampleRUM,
360
+ sourceSelector,
361
+ targetSelector,
362
+ fflags
363
+ }) {
364
+ setTimeout(() => {
365
+ try {
366
+ const cwvScript = new URL('.rum/web-vitals/dist/web-vitals.iife.js', sampleRUM.baseURL).href;
367
+ if (document.querySelector(`script[src="${cwvScript}"]`)) {
368
+ return;
369
+ }
370
+ const script = document.createElement('script');
371
+ script.src = cwvScript;
372
+ script.onload = () => {
373
+ const storeCWV = measurement => {
374
+ const data = {
375
+ cwv: {}
376
+ };
377
+ data.cwv[measurement.name] = measurement.value;
378
+ if (measurement.name === 'LCP' && measurement.entries.length > 0) {
379
+ const {
380
+ element
381
+ } = measurement.entries.pop();
382
+ data.target = targetSelector(element);
383
+ data.source = sourceSelector(element) || element && element.outerHTML.slice(0, 30);
384
+ }
385
+ sampleRUM('cwv', data);
386
+ };
387
+ const isEager = metric => ['CLS', 'LCP'].includes(metric);
388
+ ['INP', 'TTFB', 'CLS', 'LCP'].forEach(metric => {
389
+ const metricFn = window.webVitals[`on${metric}`];
390
+ if (typeof metricFn === 'function') {
391
+ let opts = {};
392
+ fflags.enabled('eagercwv', () => {
393
+ opts = {
394
+ reportAllChanges: isEager(metric)
395
+ };
396
+ });
397
+ metricFn(storeCWV, opts);
398
+ }
399
+ });
400
+ };
401
+ document.head.appendChild(script);
402
+ } catch (error) {}
403
+ }, 2000);
404
+ }
410
405
 
411
- })();
412
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3d2Lm1hcC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi12aXRhbHMvZGlzdC93ZWItdml0YWxzLmlpZmUuanMiLCIuLi8uLi9wbHVnaW5zL2N3di5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgd2ViVml0YWxzPWZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO3ZhciBuLHQscixpLG8sYT0tMSxjPWZ1bmN0aW9uKGUpe2FkZEV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLChmdW5jdGlvbihuKXtuLnBlcnNpc3RlZCYmKGE9bi50aW1lU3RhbXAsZShuKSl9KSwhMCl9LHU9ZnVuY3Rpb24oKXt2YXIgZT1zZWxmLnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKVswXTtpZihlJiZlLnJlc3BvbnNlU3RhcnQ+MCYmZS5yZXNwb25zZVN0YXJ0PHBlcmZvcm1hbmNlLm5vdygpKXJldHVybiBlfSxzPWZ1bmN0aW9uKCl7dmFyIGU9dSgpO3JldHVybiBlJiZlLmFjdGl2YXRpb25TdGFydHx8MH0sZj1mdW5jdGlvbihlLG4pe3ZhciB0PXUoKSxyPVwibmF2aWdhdGVcIjthPj0wP3I9XCJiYWNrLWZvcndhcmQtY2FjaGVcIjp0JiYoZG9jdW1lbnQucHJlcmVuZGVyaW5nfHxzKCk+MD9yPVwicHJlcmVuZGVyXCI6ZG9jdW1lbnQud2FzRGlzY2FyZGVkP3I9XCJyZXN0b3JlXCI6dC50eXBlJiYocj10LnR5cGUucmVwbGFjZSgvXy9nLFwiLVwiKSkpO3JldHVybntuYW1lOmUsdmFsdWU6dm9pZCAwPT09bj8tMTpuLHJhdGluZzpcImdvb2RcIixkZWx0YTowLGVudHJpZXM6W10saWQ6XCJ2NC1cIi5jb25jYXQoRGF0ZS5ub3coKSxcIi1cIikuY29uY2F0KE1hdGguZmxvb3IoODk5OTk5OTk5OTk5OSpNYXRoLnJhbmRvbSgpKSsxZTEyKSxuYXZpZ2F0aW9uVHlwZTpyfX0sZD1mdW5jdGlvbihlLG4sdCl7dHJ5e2lmKFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcyhlKSl7dmFyIHI9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGZ1bmN0aW9uKGUpe1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKGZ1bmN0aW9uKCl7bihlLmdldEVudHJpZXMoKSl9KSl9KSk7cmV0dXJuIHIub2JzZXJ2ZShPYmplY3QuYXNzaWduKHt0eXBlOmUsYnVmZmVyZWQ6ITB9LHR8fHt9KSkscn19Y2F0Y2goZSl7fX0sbD1mdW5jdGlvbihlLG4sdCxyKXt2YXIgaSxvO3JldHVybiBmdW5jdGlvbihhKXtuLnZhbHVlPj0wJiYoYXx8cikmJigobz1uLnZhbHVlLShpfHwwKSl8fHZvaWQgMD09PWkpJiYoaT1uLnZhbHVlLG4uZGVsdGE9byxuLnJhdGluZz1mdW5jdGlvbihlLG4pe3JldHVybiBlPm5bMV0/XCJwb29yXCI6ZT5uWzBdP1wibmVlZHMtaW1wcm92ZW1lbnRcIjpcImdvb2RcIn0obi52YWx1ZSx0KSxlKG4pKX19LHA9ZnVuY3Rpb24oZSl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe3JldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUoKX0pKX0pKX0sdj1mdW5jdGlvbihlKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLChmdW5jdGlvbigpe1wiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJmUoKX0pKX0sbT1mdW5jdGlvbihlKXt2YXIgbj0hMTtyZXR1cm4gZnVuY3Rpb24oKXtufHwoZSgpLG49ITApfX0saD0tMSxnPWZ1bmN0aW9uKCl7cmV0dXJuXCJoaWRkZW5cIiE9PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZXx8ZG9jdW1lbnQucHJlcmVuZGVyaW5nPzEvMDowfSxUPWZ1bmN0aW9uKGUpe1wiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJmg+LTEmJihoPVwidmlzaWJpbGl0eWNoYW5nZVwiPT09ZS50eXBlP2UudGltZVN0YW1wOjAsRSgpKX0seT1mdW5jdGlvbigpe2FkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsVCwhMCksYWRkRXZlbnRMaXN0ZW5lcihcInByZXJlbmRlcmluZ2NoYW5nZVwiLFQsITApfSxFPWZ1bmN0aW9uKCl7cmVtb3ZlRXZlbnRMaXN0ZW5lcihcInZpc2liaWxpdHljaGFuZ2VcIixULCEwKSxyZW1vdmVFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsVCwhMCl9LEM9ZnVuY3Rpb24oKXtyZXR1cm4gaDwwJiYoaD1nKCkseSgpLGMoKGZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtoPWcoKSx5KCl9KSwwKX0pKSkse2dldCBmaXJzdEhpZGRlblRpbWUoKXtyZXR1cm4gaH19fSxMPWZ1bmN0aW9uKGUpe2RvY3VtZW50LnByZXJlbmRlcmluZz9hZGRFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUoKX0pLCEwKTplKCl9LFM9WzE4MDAsM2UzXSxiPWZ1bmN0aW9uKGUsbil7bj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciB0LHI9QygpLGk9ZihcIkZDUFwiKSxvPWQoXCJwYWludFwiLChmdW5jdGlvbihlKXtlLmZvckVhY2goKGZ1bmN0aW9uKGUpe1wiZmlyc3QtY29udGVudGZ1bC1wYWludFwiPT09ZS5uYW1lJiYoby5kaXNjb25uZWN0KCksZS5zdGFydFRpbWU8ci5maXJzdEhpZGRlblRpbWUmJihpLnZhbHVlPU1hdGgubWF4KGUuc3RhcnRUaW1lLXMoKSwwKSxpLmVudHJpZXMucHVzaChlKSx0KCEwKSkpfSkpfSkpO28mJih0PWwoZSxpLFMsbi5yZXBvcnRBbGxDaGFuZ2VzKSxjKChmdW5jdGlvbihyKXtpPWYoXCJGQ1BcIiksdD1sKGUsaSxTLG4ucmVwb3J0QWxsQ2hhbmdlcykscCgoZnVuY3Rpb24oKXtpLnZhbHVlPXBlcmZvcm1hbmNlLm5vdygpLXIudGltZVN0YW1wLHQoITApfSkpfSkpKX0pKX0sdz1bLjEsLjI1XSxJPTAsUD0xLzAsQT0wLEY9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmludGVyYWN0aW9uSWQmJihQPU1hdGgubWluKFAsZS5pbnRlcmFjdGlvbklkKSxBPU1hdGgubWF4KEEsZS5pbnRlcmFjdGlvbklkKSxJPUE/KEEtUCkvNysxOjApfSkpfSxNPWZ1bmN0aW9uKCl7cmV0dXJuIG4/STpwZXJmb3JtYW5jZS5pbnRlcmFjdGlvbkNvdW50fHwwfSxrPWZ1bmN0aW9uKCl7XCJpbnRlcmFjdGlvbkNvdW50XCJpbiBwZXJmb3JtYW5jZXx8bnx8KG49ZChcImV2ZW50XCIsRix7dHlwZTpcImV2ZW50XCIsYnVmZmVyZWQ6ITAsZHVyYXRpb25UaHJlc2hvbGQ6MH0pKX0sRD1bXSxCPW5ldyBNYXAsUj0wLHg9ZnVuY3Rpb24oKXt2YXIgZT1NYXRoLm1pbihELmxlbmd0aC0xLE1hdGguZmxvb3IoKE0oKS1SKS81MCkpO3JldHVybiBEW2VdfSxIPVtdLE49ZnVuY3Rpb24oZSl7aWYoSC5mb3JFYWNoKChmdW5jdGlvbihuKXtyZXR1cm4gbihlKX0pKSxlLmludGVyYWN0aW9uSWR8fFwiZmlyc3QtaW5wdXRcIj09PWUuZW50cnlUeXBlKXt2YXIgbj1EW0QubGVuZ3RoLTFdLHQ9Qi5nZXQoZS5pbnRlcmFjdGlvbklkKTtpZih0fHxELmxlbmd0aDwxMHx8ZS5kdXJhdGlvbj5uLmxhdGVuY3kpe2lmKHQpZS5kdXJhdGlvbj50LmxhdGVuY3k/KHQuZW50cmllcz1bZV0sdC5sYXRlbmN5PWUuZHVyYXRpb24pOmUuZHVyYXRpb249PT10LmxhdGVuY3kmJmUuc3RhcnRUaW1lPT09dC5lbnRyaWVzWzBdLnN0YXJ0VGltZSYmdC5lbnRyaWVzLnB1c2goZSk7ZWxzZXt2YXIgcj17aWQ6ZS5pbnRlcmFjdGlvbklkLGxhdGVuY3k6ZS5kdXJhdGlvbixlbnRyaWVzOltlXX07Qi5zZXQoci5pZCxyKSxELnB1c2gocil9RC5zb3J0KChmdW5jdGlvbihlLG4pe3JldHVybiBuLmxhdGVuY3ktZS5sYXRlbmN5fSkpLEQubGVuZ3RoPjEwJiZELnNwbGljZSgxMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIEIuZGVsZXRlKGUuaWQpfSkpfX19LHE9ZnVuY3Rpb24oZSl7dmFyIG49c2VsZi5yZXF1ZXN0SWRsZUNhbGxiYWNrfHxzZWxmLnNldFRpbWVvdXQsdD0tMTtyZXR1cm4gZT1tKGUpLFwiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU/ZSgpOih0PW4oZSksdihlKSksdH0sTz1bMjAwLDUwMF0saj1bMjUwMCw0ZTNdLFY9e30sXz1bODAwLDE4MDBdLHo9ZnVuY3Rpb24gZShuKXtkb2N1bWVudC5wcmVyZW5kZXJpbmc/TCgoZnVuY3Rpb24oKXtyZXR1cm4gZShuKX0pKTpcImNvbXBsZXRlXCIhPT1kb2N1bWVudC5yZWFkeVN0YXRlP2FkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUobil9KSwhMCk6c2V0VGltZW91dChuLDApfSxHPXtwYXNzaXZlOiEwLGNhcHR1cmU6ITB9LEo9bmV3IERhdGUsSz1mdW5jdGlvbihlLG4pe3R8fCh0PW4scj1lLGk9bmV3IERhdGUsVyhyZW1vdmVFdmVudExpc3RlbmVyKSxRKCkpfSxRPWZ1bmN0aW9uKCl7aWYocj49MCYmcjxpLUope3ZhciBlPXtlbnRyeVR5cGU6XCJmaXJzdC1pbnB1dFwiLG5hbWU6dC50eXBlLHRhcmdldDp0LnRhcmdldCxjYW5jZWxhYmxlOnQuY2FuY2VsYWJsZSxzdGFydFRpbWU6dC50aW1lU3RhbXAscHJvY2Vzc2luZ1N0YXJ0OnQudGltZVN0YW1wK3J9O28uZm9yRWFjaCgoZnVuY3Rpb24obil7bihlKX0pKSxvPVtdfX0sVT1mdW5jdGlvbihlKXtpZihlLmNhbmNlbGFibGUpe3ZhciBuPShlLnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS1lLnRpbWVTdGFtcDtcInBvaW50ZXJkb3duXCI9PWUudHlwZT9mdW5jdGlvbihlLG4pe3ZhciB0PWZ1bmN0aW9uKCl7SyhlLG4pLGkoKX0scj1mdW5jdGlvbigpe2koKX0saT1mdW5jdGlvbigpe3JlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVydXBcIix0LEcpLHJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVyY2FuY2VsXCIscixHKX07YWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJ1cFwiLHQsRyksYWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJjYW5jZWxcIixyLEcpfShuLGUpOksobixlKX19LFc9ZnVuY3Rpb24oZSl7W1wibW91c2Vkb3duXCIsXCJrZXlkb3duXCIsXCJ0b3VjaHN0YXJ0XCIsXCJwb2ludGVyZG93blwiXS5mb3JFYWNoKChmdW5jdGlvbihuKXtyZXR1cm4gZShuLFUsRyl9KSl9LFg9WzEwMCwzMDBdO3JldHVybiBlLkNMU1RocmVzaG9sZHM9dyxlLkZDUFRocmVzaG9sZHM9UyxlLkZJRFRocmVzaG9sZHM9WCxlLklOUFRocmVzaG9sZHM9TyxlLkxDUFRocmVzaG9sZHM9aixlLlRURkJUaHJlc2hvbGRzPV8sZS5vbkNMUz1mdW5jdGlvbihlLG4pe249bnx8e30sYihtKChmdW5jdGlvbigpe3ZhciB0LHI9ZihcIkNMU1wiLDApLGk9MCxvPVtdLGE9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZighZS5oYWRSZWNlbnRJbnB1dCl7dmFyIG49b1swXSx0PW9bby5sZW5ndGgtMV07aSYmZS5zdGFydFRpbWUtdC5zdGFydFRpbWU8MWUzJiZlLnN0YXJ0VGltZS1uLnN0YXJ0VGltZTw1ZTM/KGkrPWUudmFsdWUsby5wdXNoKGUpKTooaT1lLnZhbHVlLG89W2VdKX19KSksaT5yLnZhbHVlJiYoci52YWx1ZT1pLHIuZW50cmllcz1vLHQoKSl9LHU9ZChcImxheW91dC1zaGlmdFwiLGEpO3UmJih0PWwoZSxyLHcsbi5yZXBvcnRBbGxDaGFuZ2VzKSx2KChmdW5jdGlvbigpe2EodS50YWtlUmVjb3JkcygpKSx0KCEwKX0pKSxjKChmdW5jdGlvbigpe2k9MCxyPWYoXCJDTFNcIiwwKSx0PWwoZSxyLHcsbi5yZXBvcnRBbGxDaGFuZ2VzKSxwKChmdW5jdGlvbigpe3JldHVybiB0KCl9KSl9KSksc2V0VGltZW91dCh0LDApKX0pKSl9LGUub25GQ1A9YixlLm9uRklEPWZ1bmN0aW9uKGUsbil7bj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciBpLGE9QygpLHU9ZihcIkZJRFwiKSxzPWZ1bmN0aW9uKGUpe2Uuc3RhcnRUaW1lPGEuZmlyc3RIaWRkZW5UaW1lJiYodS52YWx1ZT1lLnByb2Nlc3NpbmdTdGFydC1lLnN0YXJ0VGltZSx1LmVudHJpZXMucHVzaChlKSxpKCEwKSl9LHA9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKHMpfSxoPWQoXCJmaXJzdC1pbnB1dFwiLHApO2k9bChlLHUsWCxuLnJlcG9ydEFsbENoYW5nZXMpLGgmJih2KG0oKGZ1bmN0aW9uKCl7cChoLnRha2VSZWNvcmRzKCkpLGguZGlzY29ubmVjdCgpfSkpKSxjKChmdW5jdGlvbigpe3ZhciBhO3U9ZihcIkZJRFwiKSxpPWwoZSx1LFgsbi5yZXBvcnRBbGxDaGFuZ2VzKSxvPVtdLHI9LTEsdD1udWxsLFcoYWRkRXZlbnRMaXN0ZW5lciksYT1zLG8ucHVzaChhKSxRKCl9KSkpfSkpfSxlLm9uSU5QPWZ1bmN0aW9uKGUsbil7XCJQZXJmb3JtYW5jZUV2ZW50VGltaW5nXCJpbiBzZWxmJiZcImludGVyYWN0aW9uSWRcImluIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcucHJvdG90eXBlJiYobj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciB0O2soKTt2YXIgcixpPWYoXCJJTlBcIiksbz1mdW5jdGlvbihlKXtxKChmdW5jdGlvbigpe2UuZm9yRWFjaChOKTt2YXIgbj14KCk7biYmbi5sYXRlbmN5IT09aS52YWx1ZSYmKGkudmFsdWU9bi5sYXRlbmN5LGkuZW50cmllcz1uLmVudHJpZXMscigpKX0pKX0sYT1kKFwiZXZlbnRcIixvLHtkdXJhdGlvblRocmVzaG9sZDpudWxsIT09KHQ9bi5kdXJhdGlvblRocmVzaG9sZCkmJnZvaWQgMCE9PXQ/dDo0MH0pO3I9bChlLGksTyxuLnJlcG9ydEFsbENoYW5nZXMpLGEmJihhLm9ic2VydmUoe3R5cGU6XCJmaXJzdC1pbnB1dFwiLGJ1ZmZlcmVkOiEwfSksdigoZnVuY3Rpb24oKXtvKGEudGFrZVJlY29yZHMoKSkscighMCl9KSksYygoZnVuY3Rpb24oKXtSPU0oKSxELmxlbmd0aD0wLEIuY2xlYXIoKSxpPWYoXCJJTlBcIikscj1sKGUsaSxPLG4ucmVwb3J0QWxsQ2hhbmdlcyl9KSkpfSkpKX0sZS5vbkxDUD1mdW5jdGlvbihlLG4pe249bnx8e30sTCgoZnVuY3Rpb24oKXt2YXIgdCxyPUMoKSxpPWYoXCJMQ1BcIiksbz1mdW5jdGlvbihlKXtuLnJlcG9ydEFsbENoYW5nZXN8fChlPWUuc2xpY2UoLTEpKSxlLmZvckVhY2goKGZ1bmN0aW9uKGUpe2Uuc3RhcnRUaW1lPHIuZmlyc3RIaWRkZW5UaW1lJiYoaS52YWx1ZT1NYXRoLm1heChlLnN0YXJ0VGltZS1zKCksMCksaS5lbnRyaWVzPVtlXSx0KCkpfSkpfSxhPWQoXCJsYXJnZXN0LWNvbnRlbnRmdWwtcGFpbnRcIixvKTtpZihhKXt0PWwoZSxpLGosbi5yZXBvcnRBbGxDaGFuZ2VzKTt2YXIgdT1tKChmdW5jdGlvbigpe1ZbaS5pZF18fChvKGEudGFrZVJlY29yZHMoKSksYS5kaXNjb25uZWN0KCksVltpLmlkXT0hMCx0KCEwKSl9KSk7W1wia2V5ZG93blwiLFwiY2xpY2tcIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7YWRkRXZlbnRMaXN0ZW5lcihlLChmdW5jdGlvbigpe3JldHVybiBxKHUpfSkse29uY2U6ITAsY2FwdHVyZTohMH0pfSkpLHYodSksYygoZnVuY3Rpb24ocil7aT1mKFwiTENQXCIpLHQ9bChlLGksaixuLnJlcG9ydEFsbENoYW5nZXMpLHAoKGZ1bmN0aW9uKCl7aS52YWx1ZT1wZXJmb3JtYW5jZS5ub3coKS1yLnRpbWVTdGFtcCxWW2kuaWRdPSEwLHQoITApfSkpfSkpfX0pKX0sZS5vblRURkI9ZnVuY3Rpb24oZSxuKXtuPW58fHt9O3ZhciB0PWYoXCJUVEZCXCIpLHI9bChlLHQsXyxuLnJlcG9ydEFsbENoYW5nZXMpO3ooKGZ1bmN0aW9uKCl7dmFyIGk9dSgpO2kmJih0LnZhbHVlPU1hdGgubWF4KGkucmVzcG9uc2VTdGFydC1zKCksMCksdC5lbnRyaWVzPVtpXSxyKCEwKSxjKChmdW5jdGlvbigpe3Q9ZihcIlRURkJcIiwwKSwocj1sKGUsdCxfLG4ucmVwb3J0QWxsQ2hhbmdlcykpKCEwKX0pKSl9KSl9LGV9KHt9KTtcbiIsIi8qXG4gKiBDb3B5cmlnaHQgMjAyNCBBZG9iZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyXG4gKiB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlNcbiAqIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMsIGltcG9ydC9uby1yZWxhdGl2ZS1wYWNrYWdlcywgbm8tdW51c2VkLXZhcnNcbmltcG9ydCAqIGFzIHdlYlZpdGFscyBmcm9tICcuLi9ub2RlX21vZHVsZXMvd2ViLXZpdGFscy9kaXN0L3dlYi12aXRhbHMuaWlmZS5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZENXVlRyYWNraW5nKHtcbiAgc2FtcGxlUlVNLCBzb3VyY2VTZWxlY3RvciwgdGFyZ2V0U2VsZWN0b3IsIGZmbGFncyxcbn0pIHtcbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGN3dlNjcmlwdCA9IG5ldyBVUkwoJy5ydW0vd2ViLXZpdGFscy9kaXN0L3dlYi12aXRhbHMuaWlmZS5qcycsIHNhbXBsZVJVTS5iYXNlVVJMKS5ocmVmO1xuICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYHNjcmlwdFtzcmM9XCIke2N3dlNjcmlwdH1cIl1gKSkge1xuICAgICAgICAvLyB3ZWIgdml0YWxzIHNjcmlwdCBoYXMgYmVlbiBsb2FkZWQgYWxyZWFkeVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdC5zcmMgPSBjd3ZTY3JpcHQ7XG4gICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBzdG9yZUNXViA9IChtZWFzdXJlbWVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSB7IGN3djoge30gfTtcbiAgICAgICAgICBkYXRhLmN3dlttZWFzdXJlbWVudC5uYW1lXSA9IG1lYXN1cmVtZW50LnZhbHVlO1xuICAgICAgICAgIGlmIChtZWFzdXJlbWVudC5uYW1lID09PSAnTENQJyAmJiBtZWFzdXJlbWVudC5lbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHsgZWxlbWVudCB9ID0gbWVhc3VyZW1lbnQuZW50cmllcy5wb3AoKTtcbiAgICAgICAgICAgIGRhdGEudGFyZ2V0ID0gdGFyZ2V0U2VsZWN0b3IoZWxlbWVudCk7XG4gICAgICAgICAgICBkYXRhLnNvdXJjZSA9IHNvdXJjZVNlbGVjdG9yKGVsZW1lbnQpIHx8IChlbGVtZW50ICYmIGVsZW1lbnQub3V0ZXJIVE1MLnNsaWNlKDAsIDMwKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNhbXBsZVJVTSgnY3d2JywgZGF0YSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNFYWdlciA9IChtZXRyaWMpID0+IFsnQ0xTJywgJ0xDUCddLmluY2x1ZGVzKG1ldHJpYyk7XG5cbiAgICAgICAgLy8gV2hlbiBsb2FkaW5nIGB3ZWItdml0YWxzYCB1c2luZyBhIGNsYXNzaWMgc2NyaXB0LCBhbGwgdGhlIHB1YmxpY1xuICAgICAgICAvLyBtZXRob2RzIGNhbiBiZSBmb3VuZCBvbiB0aGUgYHdlYlZpdGFsc2AgZ2xvYmFsIG5hbWVzcGFjZS5cbiAgICAgICAgWydJTlAnLCAnVFRGQicsICdDTFMnLCAnTENQJ10uZm9yRWFjaCgobWV0cmljKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWV0cmljRm4gPSB3aW5kb3cud2ViVml0YWxzW2BvbiR7bWV0cmljfWBdO1xuICAgICAgICAgIGlmICh0eXBlb2YgbWV0cmljRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGxldCBvcHRzID0ge307XG4gICAgICAgICAgICBmZmxhZ3MuZW5hYmxlZCgnZWFnZXJjd3YnLCAoKSA9PiB7XG4gICAgICAgICAgICAgIG9wdHMgPSB7IHJlcG9ydEFsbENoYW5nZXM6IGlzRWFnZXIobWV0cmljKSB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBtZXRyaWNGbihzdG9yZUNXViwgb3B0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAvKiBjOCBpZ25vcmUgbmV4dCAzICovXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIHNvbWV0aGluZyB3ZW50IHdyb25nXG4gICAgfVxuICB9LCAyMDAwKTsgLy8gd2FpdCBmb3IgZGVsYXllZFxufVxuIl0sIm5hbWVzIjpbImUiLCJuIiwidCIsInIiLCJpIiwibyIsImEiLCJjIiwiYWRkRXZlbnRMaXN0ZW5lciIsInBlcnNpc3RlZCIsInRpbWVTdGFtcCIsInUiLCJzZWxmIiwicGVyZm9ybWFuY2UiLCJnZXRFbnRyaWVzQnlUeXBlIiwicmVzcG9uc2VTdGFydCIsIm5vdyIsInMiLCJhY3RpdmF0aW9uU3RhcnQiLCJmIiwiZG9jdW1lbnQiLCJwcmVyZW5kZXJpbmciLCJ3YXNEaXNjYXJkZWQiLCJ0eXBlIiwicmVwbGFjZSIsIm5hbWUiLCJ2YWx1ZSIsInJhdGluZyIsImRlbHRhIiwiZW50cmllcyIsImlkIiwiY29uY2F0IiwiRGF0ZSIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsIm5hdmlnYXRpb25UeXBlIiwiZCIsIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiLCJzdXBwb3J0ZWRFbnRyeVR5cGVzIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJnZXRFbnRyaWVzIiwib2JzZXJ2ZSIsIk9iamVjdCIsImFzc2lnbiIsImJ1ZmZlcmVkIiwibCIsInAiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJ2IiwidmlzaWJpbGl0eVN0YXRlIiwibSIsImgiLCJnIiwiVCIsIkUiLCJ5IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIkMiLCJzZXRUaW1lb3V0IiwiZmlyc3RIaWRkZW5UaW1lIiwiTCIsIlMiLCJiIiwiZm9yRWFjaCIsImRpc2Nvbm5lY3QiLCJzdGFydFRpbWUiLCJtYXgiLCJwdXNoIiwicmVwb3J0QWxsQ2hhbmdlcyIsInciLCJJIiwiUCIsIkEiLCJGIiwiaW50ZXJhY3Rpb25JZCIsIm1pbiIsIk0iLCJpbnRlcmFjdGlvbkNvdW50IiwiayIsImR1cmF0aW9uVGhyZXNob2xkIiwiRCIsIkIiLCJNYXAiLCJSIiwieCIsImxlbmd0aCIsIkgiLCJOIiwiZW50cnlUeXBlIiwiZ2V0IiwiZHVyYXRpb24iLCJsYXRlbmN5Iiwic2V0Iiwic29ydCIsInNwbGljZSIsImRlbGV0ZSIsInEiLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiTyIsImoiLCJWIiwiXyIsInoiLCJyZWFkeVN0YXRlIiwiRyIsInBhc3NpdmUiLCJjYXB0dXJlIiwiSiIsIksiLCJXIiwiUSIsInRhcmdldCIsImNhbmNlbGFibGUiLCJwcm9jZXNzaW5nU3RhcnQiLCJVIiwiWCIsIkNMU1RocmVzaG9sZHMiLCJGQ1BUaHJlc2hvbGRzIiwiRklEVGhyZXNob2xkcyIsIklOUFRocmVzaG9sZHMiLCJMQ1BUaHJlc2hvbGRzIiwiVFRGQlRocmVzaG9sZHMiLCJvbkNMUyIsImhhZFJlY2VudElucHV0IiwidGFrZVJlY29yZHMiLCJvbkZDUCIsIm9uRklEIiwib25JTlAiLCJQZXJmb3JtYW5jZUV2ZW50VGltaW5nIiwicHJvdG90eXBlIiwiY2xlYXIiLCJvbkxDUCIsInNsaWNlIiwib25jZSIsIm9uVFRGQiIsImFkZENXVlRyYWNraW5nIiwic2FtcGxlUlVNIiwic291cmNlU2VsZWN0b3IiLCJ0YXJnZXRTZWxlY3RvciIsImZmbGFncyIsImN3dlNjcmlwdCIsIlVSTCIsImJhc2VVUkwiLCJocmVmIiwicXVlcnlTZWxlY3RvciIsInNjcmlwdCIsImNyZWF0ZUVsZW1lbnQiLCJzcmMiLCJvbmxvYWQiLCJzdG9yZUNXViIsIm1lYXN1cmVtZW50IiwiZGF0YSIsImN3diIsImVsZW1lbnQiLCJwb3AiLCJzb3VyY2UiLCJvdXRlckhUTUwiLCJpc0VhZ2VyIiwibWV0cmljIiwibWV0cmljRm4iLCJ3aW5kb3ci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
406
+ export { addCWVTracking as default };
407
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3d2Lm1hcC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi12aXRhbHMvZGlzdC93ZWItdml0YWxzLmlpZmUuanMiLCIuLi8uLi9wbHVnaW5zL2N3di5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgd2ViVml0YWxzPWZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO3ZhciBuLHQscixpLG8sYT0tMSxjPWZ1bmN0aW9uKGUpe2FkZEV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLChmdW5jdGlvbihuKXtuLnBlcnNpc3RlZCYmKGE9bi50aW1lU3RhbXAsZShuKSl9KSwhMCl9LHU9ZnVuY3Rpb24oKXt2YXIgZT1zZWxmLnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKVswXTtpZihlJiZlLnJlc3BvbnNlU3RhcnQ+MCYmZS5yZXNwb25zZVN0YXJ0PHBlcmZvcm1hbmNlLm5vdygpKXJldHVybiBlfSxzPWZ1bmN0aW9uKCl7dmFyIGU9dSgpO3JldHVybiBlJiZlLmFjdGl2YXRpb25TdGFydHx8MH0sZj1mdW5jdGlvbihlLG4pe3ZhciB0PXUoKSxyPVwibmF2aWdhdGVcIjthPj0wP3I9XCJiYWNrLWZvcndhcmQtY2FjaGVcIjp0JiYoZG9jdW1lbnQucHJlcmVuZGVyaW5nfHxzKCk+MD9yPVwicHJlcmVuZGVyXCI6ZG9jdW1lbnQud2FzRGlzY2FyZGVkP3I9XCJyZXN0b3JlXCI6dC50eXBlJiYocj10LnR5cGUucmVwbGFjZSgvXy9nLFwiLVwiKSkpO3JldHVybntuYW1lOmUsdmFsdWU6dm9pZCAwPT09bj8tMTpuLHJhdGluZzpcImdvb2RcIixkZWx0YTowLGVudHJpZXM6W10saWQ6XCJ2NC1cIi5jb25jYXQoRGF0ZS5ub3coKSxcIi1cIikuY29uY2F0KE1hdGguZmxvb3IoODk5OTk5OTk5OTk5OSpNYXRoLnJhbmRvbSgpKSsxZTEyKSxuYXZpZ2F0aW9uVHlwZTpyfX0sZD1mdW5jdGlvbihlLG4sdCl7dHJ5e2lmKFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcyhlKSl7dmFyIHI9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGZ1bmN0aW9uKGUpe1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKGZ1bmN0aW9uKCl7bihlLmdldEVudHJpZXMoKSl9KSl9KSk7cmV0dXJuIHIub2JzZXJ2ZShPYmplY3QuYXNzaWduKHt0eXBlOmUsYnVmZmVyZWQ6ITB9LHR8fHt9KSkscn19Y2F0Y2goZSl7fX0sbD1mdW5jdGlvbihlLG4sdCxyKXt2YXIgaSxvO3JldHVybiBmdW5jdGlvbihhKXtuLnZhbHVlPj0wJiYoYXx8cikmJigobz1uLnZhbHVlLShpfHwwKSl8fHZvaWQgMD09PWkpJiYoaT1uLnZhbHVlLG4uZGVsdGE9byxuLnJhdGluZz1mdW5jdGlvbihlLG4pe3JldHVybiBlPm5bMV0/XCJwb29yXCI6ZT5uWzBdP1wibmVlZHMtaW1wcm92ZW1lbnRcIjpcImdvb2RcIn0obi52YWx1ZSx0KSxlKG4pKX19LHA9ZnVuY3Rpb24oZSl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe3JldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUoKX0pKX0pKX0sdj1mdW5jdGlvbihlKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLChmdW5jdGlvbigpe1wiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJmUoKX0pKX0sbT1mdW5jdGlvbihlKXt2YXIgbj0hMTtyZXR1cm4gZnVuY3Rpb24oKXtufHwoZSgpLG49ITApfX0saD0tMSxnPWZ1bmN0aW9uKCl7cmV0dXJuXCJoaWRkZW5cIiE9PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZXx8ZG9jdW1lbnQucHJlcmVuZGVyaW5nPzEvMDowfSxUPWZ1bmN0aW9uKGUpe1wiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJmg+LTEmJihoPVwidmlzaWJpbGl0eWNoYW5nZVwiPT09ZS50eXBlP2UudGltZVN0YW1wOjAsRSgpKX0seT1mdW5jdGlvbigpe2FkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsVCwhMCksYWRkRXZlbnRMaXN0ZW5lcihcInByZXJlbmRlcmluZ2NoYW5nZVwiLFQsITApfSxFPWZ1bmN0aW9uKCl7cmVtb3ZlRXZlbnRMaXN0ZW5lcihcInZpc2liaWxpdHljaGFuZ2VcIixULCEwKSxyZW1vdmVFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsVCwhMCl9LEM9ZnVuY3Rpb24oKXtyZXR1cm4gaDwwJiYoaD1nKCkseSgpLGMoKGZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtoPWcoKSx5KCl9KSwwKX0pKSkse2dldCBmaXJzdEhpZGRlblRpbWUoKXtyZXR1cm4gaH19fSxMPWZ1bmN0aW9uKGUpe2RvY3VtZW50LnByZXJlbmRlcmluZz9hZGRFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUoKX0pLCEwKTplKCl9LFM9WzE4MDAsM2UzXSxiPWZ1bmN0aW9uKGUsbil7bj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciB0LHI9QygpLGk9ZihcIkZDUFwiKSxvPWQoXCJwYWludFwiLChmdW5jdGlvbihlKXtlLmZvckVhY2goKGZ1bmN0aW9uKGUpe1wiZmlyc3QtY29udGVudGZ1bC1wYWludFwiPT09ZS5uYW1lJiYoby5kaXNjb25uZWN0KCksZS5zdGFydFRpbWU8ci5maXJzdEhpZGRlblRpbWUmJihpLnZhbHVlPU1hdGgubWF4KGUuc3RhcnRUaW1lLXMoKSwwKSxpLmVudHJpZXMucHVzaChlKSx0KCEwKSkpfSkpfSkpO28mJih0PWwoZSxpLFMsbi5yZXBvcnRBbGxDaGFuZ2VzKSxjKChmdW5jdGlvbihyKXtpPWYoXCJGQ1BcIiksdD1sKGUsaSxTLG4ucmVwb3J0QWxsQ2hhbmdlcykscCgoZnVuY3Rpb24oKXtpLnZhbHVlPXBlcmZvcm1hbmNlLm5vdygpLXIudGltZVN0YW1wLHQoITApfSkpfSkpKX0pKX0sdz1bLjEsLjI1XSxJPTAsUD0xLzAsQT0wLEY9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmludGVyYWN0aW9uSWQmJihQPU1hdGgubWluKFAsZS5pbnRlcmFjdGlvbklkKSxBPU1hdGgubWF4KEEsZS5pbnRlcmFjdGlvbklkKSxJPUE/KEEtUCkvNysxOjApfSkpfSxNPWZ1bmN0aW9uKCl7cmV0dXJuIG4/STpwZXJmb3JtYW5jZS5pbnRlcmFjdGlvbkNvdW50fHwwfSxrPWZ1bmN0aW9uKCl7XCJpbnRlcmFjdGlvbkNvdW50XCJpbiBwZXJmb3JtYW5jZXx8bnx8KG49ZChcImV2ZW50XCIsRix7dHlwZTpcImV2ZW50XCIsYnVmZmVyZWQ6ITAsZHVyYXRpb25UaHJlc2hvbGQ6MH0pKX0sRD1bXSxCPW5ldyBNYXAsUj0wLHg9ZnVuY3Rpb24oKXt2YXIgZT1NYXRoLm1pbihELmxlbmd0aC0xLE1hdGguZmxvb3IoKE0oKS1SKS81MCkpO3JldHVybiBEW2VdfSxIPVtdLE49ZnVuY3Rpb24oZSl7aWYoSC5mb3JFYWNoKChmdW5jdGlvbihuKXtyZXR1cm4gbihlKX0pKSxlLmludGVyYWN0aW9uSWR8fFwiZmlyc3QtaW5wdXRcIj09PWUuZW50cnlUeXBlKXt2YXIgbj1EW0QubGVuZ3RoLTFdLHQ9Qi5nZXQoZS5pbnRlcmFjdGlvbklkKTtpZih0fHxELmxlbmd0aDwxMHx8ZS5kdXJhdGlvbj5uLmxhdGVuY3kpe2lmKHQpZS5kdXJhdGlvbj50LmxhdGVuY3k/KHQuZW50cmllcz1bZV0sdC5sYXRlbmN5PWUuZHVyYXRpb24pOmUuZHVyYXRpb249PT10LmxhdGVuY3kmJmUuc3RhcnRUaW1lPT09dC5lbnRyaWVzWzBdLnN0YXJ0VGltZSYmdC5lbnRyaWVzLnB1c2goZSk7ZWxzZXt2YXIgcj17aWQ6ZS5pbnRlcmFjdGlvbklkLGxhdGVuY3k6ZS5kdXJhdGlvbixlbnRyaWVzOltlXX07Qi5zZXQoci5pZCxyKSxELnB1c2gocil9RC5zb3J0KChmdW5jdGlvbihlLG4pe3JldHVybiBuLmxhdGVuY3ktZS5sYXRlbmN5fSkpLEQubGVuZ3RoPjEwJiZELnNwbGljZSgxMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIEIuZGVsZXRlKGUuaWQpfSkpfX19LHE9ZnVuY3Rpb24oZSl7dmFyIG49c2VsZi5yZXF1ZXN0SWRsZUNhbGxiYWNrfHxzZWxmLnNldFRpbWVvdXQsdD0tMTtyZXR1cm4gZT1tKGUpLFwiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU/ZSgpOih0PW4oZSksdihlKSksdH0sTz1bMjAwLDUwMF0saj1bMjUwMCw0ZTNdLFY9e30sXz1bODAwLDE4MDBdLHo9ZnVuY3Rpb24gZShuKXtkb2N1bWVudC5wcmVyZW5kZXJpbmc/TCgoZnVuY3Rpb24oKXtyZXR1cm4gZShuKX0pKTpcImNvbXBsZXRlXCIhPT1kb2N1bWVudC5yZWFkeVN0YXRlP2FkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUobil9KSwhMCk6c2V0VGltZW91dChuLDApfSxHPXtwYXNzaXZlOiEwLGNhcHR1cmU6ITB9LEo9bmV3IERhdGUsSz1mdW5jdGlvbihlLG4pe3R8fCh0PW4scj1lLGk9bmV3IERhdGUsVyhyZW1vdmVFdmVudExpc3RlbmVyKSxRKCkpfSxRPWZ1bmN0aW9uKCl7aWYocj49MCYmcjxpLUope3ZhciBlPXtlbnRyeVR5cGU6XCJmaXJzdC1pbnB1dFwiLG5hbWU6dC50eXBlLHRhcmdldDp0LnRhcmdldCxjYW5jZWxhYmxlOnQuY2FuY2VsYWJsZSxzdGFydFRpbWU6dC50aW1lU3RhbXAscHJvY2Vzc2luZ1N0YXJ0OnQudGltZVN0YW1wK3J9O28uZm9yRWFjaCgoZnVuY3Rpb24obil7bihlKX0pKSxvPVtdfX0sVT1mdW5jdGlvbihlKXtpZihlLmNhbmNlbGFibGUpe3ZhciBuPShlLnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS1lLnRpbWVTdGFtcDtcInBvaW50ZXJkb3duXCI9PWUudHlwZT9mdW5jdGlvbihlLG4pe3ZhciB0PWZ1bmN0aW9uKCl7SyhlLG4pLGkoKX0scj1mdW5jdGlvbigpe2koKX0saT1mdW5jdGlvbigpe3JlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVydXBcIix0LEcpLHJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVyY2FuY2VsXCIscixHKX07YWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJ1cFwiLHQsRyksYWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJjYW5jZWxcIixyLEcpfShuLGUpOksobixlKX19LFc9ZnVuY3Rpb24oZSl7W1wibW91c2Vkb3duXCIsXCJrZXlkb3duXCIsXCJ0b3VjaHN0YXJ0XCIsXCJwb2ludGVyZG93blwiXS5mb3JFYWNoKChmdW5jdGlvbihuKXtyZXR1cm4gZShuLFUsRyl9KSl9LFg9WzEwMCwzMDBdO3JldHVybiBlLkNMU1RocmVzaG9sZHM9dyxlLkZDUFRocmVzaG9sZHM9UyxlLkZJRFRocmVzaG9sZHM9WCxlLklOUFRocmVzaG9sZHM9TyxlLkxDUFRocmVzaG9sZHM9aixlLlRURkJUaHJlc2hvbGRzPV8sZS5vbkNMUz1mdW5jdGlvbihlLG4pe249bnx8e30sYihtKChmdW5jdGlvbigpe3ZhciB0LHI9ZihcIkNMU1wiLDApLGk9MCxvPVtdLGE9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZighZS5oYWRSZWNlbnRJbnB1dCl7dmFyIG49b1swXSx0PW9bby5sZW5ndGgtMV07aSYmZS5zdGFydFRpbWUtdC5zdGFydFRpbWU8MWUzJiZlLnN0YXJ0VGltZS1uLnN0YXJ0VGltZTw1ZTM/KGkrPWUudmFsdWUsby5wdXNoKGUpKTooaT1lLnZhbHVlLG89W2VdKX19KSksaT5yLnZhbHVlJiYoci52YWx1ZT1pLHIuZW50cmllcz1vLHQoKSl9LHU9ZChcImxheW91dC1zaGlmdFwiLGEpO3UmJih0PWwoZSxyLHcsbi5yZXBvcnRBbGxDaGFuZ2VzKSx2KChmdW5jdGlvbigpe2EodS50YWtlUmVjb3JkcygpKSx0KCEwKX0pKSxjKChmdW5jdGlvbigpe2k9MCxyPWYoXCJDTFNcIiwwKSx0PWwoZSxyLHcsbi5yZXBvcnRBbGxDaGFuZ2VzKSxwKChmdW5jdGlvbigpe3JldHVybiB0KCl9KSl9KSksc2V0VGltZW91dCh0LDApKX0pKSl9LGUub25GQ1A9YixlLm9uRklEPWZ1bmN0aW9uKGUsbil7bj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciBpLGE9QygpLHU9ZihcIkZJRFwiKSxzPWZ1bmN0aW9uKGUpe2Uuc3RhcnRUaW1lPGEuZmlyc3RIaWRkZW5UaW1lJiYodS52YWx1ZT1lLnByb2Nlc3NpbmdTdGFydC1lLnN0YXJ0VGltZSx1LmVudHJpZXMucHVzaChlKSxpKCEwKSl9LHA9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKHMpfSxoPWQoXCJmaXJzdC1pbnB1dFwiLHApO2k9bChlLHUsWCxuLnJlcG9ydEFsbENoYW5nZXMpLGgmJih2KG0oKGZ1bmN0aW9uKCl7cChoLnRha2VSZWNvcmRzKCkpLGguZGlzY29ubmVjdCgpfSkpKSxjKChmdW5jdGlvbigpe3ZhciBhO3U9ZihcIkZJRFwiKSxpPWwoZSx1LFgsbi5yZXBvcnRBbGxDaGFuZ2VzKSxvPVtdLHI9LTEsdD1udWxsLFcoYWRkRXZlbnRMaXN0ZW5lciksYT1zLG8ucHVzaChhKSxRKCl9KSkpfSkpfSxlLm9uSU5QPWZ1bmN0aW9uKGUsbil7XCJQZXJmb3JtYW5jZUV2ZW50VGltaW5nXCJpbiBzZWxmJiZcImludGVyYWN0aW9uSWRcImluIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcucHJvdG90eXBlJiYobj1ufHx7fSxMKChmdW5jdGlvbigpe3ZhciB0O2soKTt2YXIgcixpPWYoXCJJTlBcIiksbz1mdW5jdGlvbihlKXtxKChmdW5jdGlvbigpe2UuZm9yRWFjaChOKTt2YXIgbj14KCk7biYmbi5sYXRlbmN5IT09aS52YWx1ZSYmKGkudmFsdWU9bi5sYXRlbmN5LGkuZW50cmllcz1uLmVudHJpZXMscigpKX0pKX0sYT1kKFwiZXZlbnRcIixvLHtkdXJhdGlvblRocmVzaG9sZDpudWxsIT09KHQ9bi5kdXJhdGlvblRocmVzaG9sZCkmJnZvaWQgMCE9PXQ/dDo0MH0pO3I9bChlLGksTyxuLnJlcG9ydEFsbENoYW5nZXMpLGEmJihhLm9ic2VydmUoe3R5cGU6XCJmaXJzdC1pbnB1dFwiLGJ1ZmZlcmVkOiEwfSksdigoZnVuY3Rpb24oKXtvKGEudGFrZVJlY29yZHMoKSkscighMCl9KSksYygoZnVuY3Rpb24oKXtSPU0oKSxELmxlbmd0aD0wLEIuY2xlYXIoKSxpPWYoXCJJTlBcIikscj1sKGUsaSxPLG4ucmVwb3J0QWxsQ2hhbmdlcyl9KSkpfSkpKX0sZS5vbkxDUD1mdW5jdGlvbihlLG4pe249bnx8e30sTCgoZnVuY3Rpb24oKXt2YXIgdCxyPUMoKSxpPWYoXCJMQ1BcIiksbz1mdW5jdGlvbihlKXtuLnJlcG9ydEFsbENoYW5nZXN8fChlPWUuc2xpY2UoLTEpKSxlLmZvckVhY2goKGZ1bmN0aW9uKGUpe2Uuc3RhcnRUaW1lPHIuZmlyc3RIaWRkZW5UaW1lJiYoaS52YWx1ZT1NYXRoLm1heChlLnN0YXJ0VGltZS1zKCksMCksaS5lbnRyaWVzPVtlXSx0KCkpfSkpfSxhPWQoXCJsYXJnZXN0LWNvbnRlbnRmdWwtcGFpbnRcIixvKTtpZihhKXt0PWwoZSxpLGosbi5yZXBvcnRBbGxDaGFuZ2VzKTt2YXIgdT1tKChmdW5jdGlvbigpe1ZbaS5pZF18fChvKGEudGFrZVJlY29yZHMoKSksYS5kaXNjb25uZWN0KCksVltpLmlkXT0hMCx0KCEwKSl9KSk7W1wia2V5ZG93blwiLFwiY2xpY2tcIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7YWRkRXZlbnRMaXN0ZW5lcihlLChmdW5jdGlvbigpe3JldHVybiBxKHUpfSkse29uY2U6ITAsY2FwdHVyZTohMH0pfSkpLHYodSksYygoZnVuY3Rpb24ocil7aT1mKFwiTENQXCIpLHQ9bChlLGksaixuLnJlcG9ydEFsbENoYW5nZXMpLHAoKGZ1bmN0aW9uKCl7aS52YWx1ZT1wZXJmb3JtYW5jZS5ub3coKS1yLnRpbWVTdGFtcCxWW2kuaWRdPSEwLHQoITApfSkpfSkpfX0pKX0sZS5vblRURkI9ZnVuY3Rpb24oZSxuKXtuPW58fHt9O3ZhciB0PWYoXCJUVEZCXCIpLHI9bChlLHQsXyxuLnJlcG9ydEFsbENoYW5nZXMpO3ooKGZ1bmN0aW9uKCl7dmFyIGk9dSgpO2kmJih0LnZhbHVlPU1hdGgubWF4KGkucmVzcG9uc2VTdGFydC1zKCksMCksdC5lbnRyaWVzPVtpXSxyKCEwKSxjKChmdW5jdGlvbigpe3Q9ZihcIlRURkJcIiwwKSwocj1sKGUsdCxfLG4ucmVwb3J0QWxsQ2hhbmdlcykpKCEwKX0pKSl9KSl9LGV9KHt9KTtcbiIsIi8qXG4gKiBDb3B5cmlnaHQgMjAyNCBBZG9iZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyXG4gKiB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlNcbiAqIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZVxuICogZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMsIGltcG9ydC9uby1yZWxhdGl2ZS1wYWNrYWdlcywgbm8tdW51c2VkLXZhcnNcbmltcG9ydCAqIGFzIHdlYlZpdGFscyBmcm9tICcuLi9ub2RlX21vZHVsZXMvd2ViLXZpdGFscy9kaXN0L3dlYi12aXRhbHMuaWlmZS5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZENXVlRyYWNraW5nKHtcbiAgc2FtcGxlUlVNLCBzb3VyY2VTZWxlY3RvciwgdGFyZ2V0U2VsZWN0b3IsIGZmbGFncyxcbn0pIHtcbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGN3dlNjcmlwdCA9IG5ldyBVUkwoJy5ydW0vd2ViLXZpdGFscy9kaXN0L3dlYi12aXRhbHMuaWlmZS5qcycsIHNhbXBsZVJVTS5iYXNlVVJMKS5ocmVmO1xuICAgICAgLyogYzggaWdub3JlIG5leHQgMyAqL1xuICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYHNjcmlwdFtzcmM9XCIke2N3dlNjcmlwdH1cIl1gKSkge1xuICAgICAgICAvLyB3ZWIgdml0YWxzIHNjcmlwdCBoYXMgYmVlbiBsb2FkZWQgYWxyZWFkeVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdC5zcmMgPSBjd3ZTY3JpcHQ7XG4gICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBzdG9yZUNXViA9IChtZWFzdXJlbWVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSB7IGN3djoge30gfTtcbiAgICAgICAgICBkYXRhLmN3dlttZWFzdXJlbWVudC5uYW1lXSA9IG1lYXN1cmVtZW50LnZhbHVlO1xuICAgICAgICAgIGlmIChtZWFzdXJlbWVudC5uYW1lID09PSAnTENQJyAmJiBtZWFzdXJlbWVudC5lbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHsgZWxlbWVudCB9ID0gbWVhc3VyZW1lbnQuZW50cmllcy5wb3AoKTtcbiAgICAgICAgICAgIGRhdGEudGFyZ2V0ID0gdGFyZ2V0U2VsZWN0b3IoZWxlbWVudCk7XG4gICAgICAgICAgICBkYXRhLnNvdXJjZSA9IHNvdXJjZVNlbGVjdG9yKGVsZW1lbnQpIHx8IChlbGVtZW50ICYmIGVsZW1lbnQub3V0ZXJIVE1MLnNsaWNlKDAsIDMwKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNhbXBsZVJVTSgnY3d2JywgZGF0YSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNFYWdlciA9IChtZXRyaWMpID0+IFsnQ0xTJywgJ0xDUCddLmluY2x1ZGVzKG1ldHJpYyk7XG5cbiAgICAgICAgLy8gV2hlbiBsb2FkaW5nIGB3ZWItdml0YWxzYCB1c2luZyBhIGNsYXNzaWMgc2NyaXB0LCBhbGwgdGhlIHB1YmxpY1xuICAgICAgICAvLyBtZXRob2RzIGNhbiBiZSBmb3VuZCBvbiB0aGUgYHdlYlZpdGFsc2AgZ2xvYmFsIG5hbWVzcGFjZS5cbiAgICAgICAgWydJTlAnLCAnVFRGQicsICdDTFMnLCAnTENQJ10uZm9yRWFjaCgobWV0cmljKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWV0cmljRm4gPSB3aW5kb3cud2ViVml0YWxzW2BvbiR7bWV0cmljfWBdO1xuICAgICAgICAgIGlmICh0eXBlb2YgbWV0cmljRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGxldCBvcHRzID0ge307XG4gICAgICAgICAgICBmZmxhZ3MuZW5hYmxlZCgnZWFnZXJjd3YnLCAoKSA9PiB7XG4gICAgICAgICAgICAgIG9wdHMgPSB7IHJlcG9ydEFsbENoYW5nZXM6IGlzRWFnZXIobWV0cmljKSB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBtZXRyaWNGbihzdG9yZUNXViwgb3B0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAvKiBjOCBpZ25vcmUgbmV4dCAzICovXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIHNvbWV0aGluZyB3ZW50IHdyb25nXG4gICAgfVxuICB9LCAyMDAwKTsgLy8gd2FpdCBmb3IgZGVsYXllZFxufVxuIl0sIm5hbWVzIjpbImUiLCJuIiwidCIsInIiLCJpIiwibyIsImEiLCJjIiwiYWRkRXZlbnRMaXN0ZW5lciIsInBlcnNpc3RlZCIsInRpbWVTdGFtcCIsInUiLCJzZWxmIiwicGVyZm9ybWFuY2UiLCJnZXRFbnRyaWVzQnlUeXBlIiwicmVzcG9uc2VTdGFydCIsIm5vdyIsInMiLCJhY3RpdmF0aW9uU3RhcnQiLCJmIiwiZG9jdW1lbnQiLCJwcmVyZW5kZXJpbmciLCJ3YXNEaXNjYXJkZWQiLCJ0eXBlIiwicmVwbGFjZSIsIm5hbWUiLCJ2YWx1ZSIsInJhdGluZyIsImRlbHRhIiwiZW50cmllcyIsImlkIiwiY29uY2F0IiwiRGF0ZSIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsIm5hdmlnYXRpb25UeXBlIiwiZCIsIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiLCJzdXBwb3J0ZWRFbnRyeVR5cGVzIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJnZXRFbnRyaWVzIiwib2JzZXJ2ZSIsIk9iamVjdCIsImFzc2lnbiIsImJ1ZmZlcmVkIiwibCIsInAiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJ2IiwidmlzaWJpbGl0eVN0YXRlIiwibSIsImgiLCJnIiwiVCIsIkUiLCJ5IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIkMiLCJzZXRUaW1lb3V0IiwiZmlyc3RIaWRkZW5UaW1lIiwiTCIsIlMiLCJiIiwiZm9yRWFjaCIsImRpc2Nvbm5lY3QiLCJzdGFydFRpbWUiLCJtYXgiLCJwdXNoIiwicmVwb3J0QWxsQ2hhbmdlcyIsInciLCJJIiwiUCIsIkEiLCJGIiwiaW50ZXJhY3Rpb25JZCIsIm1pbiIsIk0iLCJpbnRlcmFjdGlvbkNvdW50IiwiayIsImR1cmF0aW9uVGhyZXNob2xkIiwiRCIsIkIiLCJNYXAiLCJSIiwieCIsImxlbmd0aCIsIkgiLCJOIiwiZW50cnlUeXBlIiwiZ2V0IiwiZHVyYXRpb24iLCJsYXRlbmN5Iiwic2V0Iiwic29ydCIsInNwbGljZSIsImRlbGV0ZSIsInEiLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiTyIsImoiLCJWIiwiXyIsInoiLCJyZWFkeVN0YXRlIiwiRyIsInBhc3NpdmUiLCJjYXB0dXJlIiwiSiIsIksiLCJXIiwiUSIsInRhcmdldCIsImNhbmNlbGFibGUiLCJwcm9jZXNzaW5nU3RhcnQiLCJVIiwiWCIsIkNMU1RocmVzaG9sZHMiLCJGQ1BUaHJlc2hvbGRzIiwiRklEVGhyZXNob2xkcyIsIklOUFRocmVzaG9sZHMiLCJMQ1BUaHJlc2hvbGRzIiwiVFRGQlRocmVzaG9sZHMiLCJvbkNMUyIsImhhZFJlY2VudElucHV0IiwidGFrZVJlY29yZHMiLCJvbkZDUCIsIm9uRklEIiwib25JTlAiLCJQZXJmb3JtYW5jZUV2ZW50VGltaW5nIiwicHJvdG90eXBlIiwiY2xlYXIiLCJvbkxDUCIsInNsaWNlIiwib25jZSIsIm9uVFRGQiIsImFkZENXVlRyYWNraW5nIiwic2FtcGxlUlVNIiwic291cmNlU2VsZWN0b3IiLCJ0YXJnZXRTZWxlY3RvciIsImZmbGFncyIsImN3dlNjcmlwdCIsIlVSTCIsImJhc2VVUkwiLCJocmVmIiwicXVlcnlTZWxlY3RvciIsInNjcmlwdCIsImNyZWF0ZUVsZW1lbnQiLCJzcmMiLCJvbmxvYWQiLCJzdG9yZUNXViIsIm1lYXN1cmVtZW50IiwiZGF0YSIsImN3diIsImVsZW1lbnQiLCJwb3AiLCJzb3VyY2UiLCJvdXRlckhUTUwiLCJpc0VhZ2VyIiwibWV0cmljIiwibWV0cmljRm4iLCJ3aW5kb3ciLCJ3ZWJWaXRhbHMiLCJvcHRzIiwiZW5hYmxlZCIsImhlYWQiLCJhcHBlbmRDaGlsZCIsImVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztDQUFjLFVBQVNBLENBQUMsRUFBQzs7QUFBYyxFQUFBLElBQUlDLENBQUM7SUFBQ0MsQ0FBQztJQUFDQyxDQUFDO0lBQUNDLENBQUM7SUFBQ0MsQ0FBQztJQUFDQyxDQUFDLEdBQUMsRUFBRTtBQUFDQyxJQUFBQSxDQUFDLEdBQUMsVUFBU1AsQ0FBQyxFQUFDO0FBQUNRLE1BQUFBLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxVQUFTUCxDQUFDLEVBQUM7QUFBQ0EsUUFBQUEsQ0FBQyxDQUFDUSxTQUFTLEtBQUdILENBQUMsR0FBQ0wsQ0FBQyxDQUFDUyxTQUFTLEVBQUNWLENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLENBQUM7T0FBQyxFQUFFLElBQUUsQ0FBQztLQUFDO0lBQUNVLENBQUMsR0FBQyxZQUFVO0FBQUMsTUFBQSxJQUFJWCxDQUFDLEdBQUNZLElBQUksQ0FBQ0MsV0FBVyxJQUFFQSxXQUFXLENBQUNDLGdCQUFnQixJQUFFRCxXQUFXLENBQUNDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUFDLE1BQUEsSUFBR2QsQ0FBQyxJQUFFQSxDQUFDLENBQUNlLGFBQWEsR0FBQyxDQUFDLElBQUVmLENBQUMsQ0FBQ2UsYUFBYSxHQUFDRixXQUFXLENBQUNHLEdBQUcsRUFBRSxFQUFDLE9BQU9oQixDQUFDO0tBQUM7SUFBQ2lCLENBQUMsR0FBQyxZQUFVO0FBQUMsTUFBQSxJQUFJakIsQ0FBQyxHQUFDVyxDQUFDLEVBQUU7QUFBQyxNQUFBLE9BQU9YLENBQUMsSUFBRUEsQ0FBQyxDQUFDa0IsZUFBZSxJQUFFLENBQUM7S0FBQztBQUFDQyxJQUFBQSxDQUFDLEdBQUMsVUFBU25CLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO0FBQUMsTUFBQSxJQUFJQyxDQUFDLEdBQUNTLENBQUMsRUFBRTtB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