@journeeze/sdk 0.1.0-rc.2 → 0.1.0-rc.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/AGENTS.md +16 -3
- package/CHANGELOG.md +12 -1
- package/README.md +298 -119
- package/dist/anchor-cPvFFTOS.js +1 -0
- package/dist/attach-DpioALxW.js +21 -0
- package/dist/chat-BgmB0rnW.js +64 -0
- package/dist/consent-DckCUvYR.js +1 -0
- package/dist/contract.js +1 -1
- package/dist/feedback-CtH1a_kQ.js +1 -0
- package/dist/help-w0O5Qu-4.js +105 -0
- package/dist/hook-DGWypoEO.js +1 -0
- package/dist/index-B_nob8S0.js +1 -2091
- package/dist/{index-CfCbJJXa.js → index-CwG2LrhO.js} +3 -3
- package/dist/index.js +3 -3
- package/dist/jobs-CAXbM5-g.js +45 -0
- package/dist/loader-BZiIDD1D.js +96 -0
- package/dist/mask-audit-Du3NPoG_.js +5 -0
- package/dist/react.js +12 -11
- package/dist/resolve-BfWByuTp.js +1 -97
- package/dist/script.js +10 -9
- package/dist/signals-amjMQyOy.js +1 -0
- package/dist/telemetry-CyRJDaVs.js +1 -0
- package/dist/transport-B64CfIcF.js +1 -0
- package/dist/types/chat/capture/attach.d.ts +41 -0
- package/dist/types/chat/capture/draw.d.ts +10 -0
- package/dist/types/chat/capture/geometry.d.ts +30 -0
- package/dist/types/chat/capture/styles.d.ts +1 -0
- package/dist/types/chat/shell/chat.d.ts +27 -0
- package/dist/types/chat/shell/converse.d.ts +95 -0
- package/dist/types/chat/shell/copy.d.ts +8 -0
- package/dist/types/chat/shell/model.d.ts +36 -0
- package/dist/types/chat/shell/session.d.ts +148 -0
- package/dist/types/chat/shell/styles.d.ts +1 -0
- package/dist/types/chat/shell/view.d.ts +18 -0
- package/dist/types/chat/transport.d.ts +5 -0
- package/dist/types/config.d.ts +17 -0
- package/dist/types/help/core/controller.d.ts +12 -3
- package/dist/types/help/core/events.d.ts +24 -0
- package/dist/types/help/core/help.d.ts +1 -0
- package/dist/types/help/core/panel.d.ts +16 -0
- package/dist/types/help/core/routing.d.ts +21 -0
- package/dist/types/help/ui/jobs/jobs.d.ts +24 -0
- package/dist/types/help/ui/jobs/model.d.ts +33 -0
- package/dist/types/help/ui/jobs/styles.d.ts +1 -0
- package/dist/types/loader.d.ts +2 -0
- package/dist/types/mask-detector.d.ts +22 -0
- package/dist/types/preview/flag.d.ts +2 -0
- package/dist/types/preview/mask-audit.d.ts +29 -0
- package/dist/types/schemas/feedback.d.ts +76 -0
- package/dist/types/schemas/finding.d.ts +22 -0
- package/dist/types/schemas/index.d.ts +6 -0
- package/dist/types/schemas/turn.d.ts +26 -0
- package/dist/types/signals/signals.d.ts +7 -3
- package/dist/types/signals/steps.d.ts +33 -0
- package/dist/types/telemetry/telemetry.d.ts +10 -0
- package/dist/types/types.d.ts +72 -1
- package/dist/types/widget/capture.d.ts +12 -1
- package/dist/types/widget/upload.d.ts +14 -0
- package/dist/types/widget.d.ts +1 -21
- package/dist/upload-Fu2qvSJV.js +14 -0
- package/dist/widget-B6mR1J3P.js +118 -0
- package/package.json +4 -2
- package/dist/consent-CoKD33Rm.js +0 -170
- package/dist/feedback-C4CYtS2A.js +0 -196
- package/dist/help-C1x-y2f9.js +0 -878
- package/dist/hook-BdG4UL4k.js +0 -91
- package/dist/loader-Ba4X-WNl.js +0 -95
- package/dist/signals-E3VEdmWH.js +0 -477
- package/dist/telemetry-Cik-cYzw.js +0 -140
- package/dist/transport-B5YJFQEF.js +0 -60
- package/dist/types/signals/signals.conformance.d.ts +0 -2
- package/dist/widget-DQZm8sAC.js +0 -1599
package/dist/index-B_nob8S0.js
CHANGED
|
@@ -1,2091 +1 @@
|
|
|
1
|
-
var EA = Object.defineProperty;
|
|
2
|
-
var eA = (I, A, g) => A in I ? EA(I, A, { enumerable: !0, configurable: !0, writable: !0, value: g }) : I[A] = g;
|
|
3
|
-
var o = (I, A, g) => eA(I, typeof A != "symbol" ? A + "" : A, g);
|
|
4
|
-
function z(I, A) {
|
|
5
|
-
const g = I.fields ?? (() => ({})), Q = I.kind ?? I.type, C = I.now ?? (() => performance.now()), E = {
|
|
6
|
-
passive: I.type === "scroll" || I.type === "wheel" || I.type === "touchmove",
|
|
7
|
-
...I.listenerOptions ?? {}
|
|
8
|
-
};
|
|
9
|
-
let e = null, n = null;
|
|
10
|
-
const t = () => {
|
|
11
|
-
e && (A(e), e = null), n = null;
|
|
12
|
-
}, i = (c) => {
|
|
13
|
-
const l = {
|
|
14
|
-
ts: C(),
|
|
15
|
-
kind: Q,
|
|
16
|
-
fields: g(c)
|
|
17
|
-
};
|
|
18
|
-
if (I.throttleMs && I.throttleMs > 0) {
|
|
19
|
-
e = l, n === null && (n = setTimeout(t, I.throttleMs));
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
A(l);
|
|
23
|
-
};
|
|
24
|
-
return I.target.addEventListener(I.type, i, E), () => {
|
|
25
|
-
I.target.removeEventListener(I.type, i, E), n !== null && (clearTimeout(n), n = null), e = null;
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
class D {
|
|
29
|
-
static __wrap(A) {
|
|
30
|
-
const g = Object.create(D.prototype);
|
|
31
|
-
return g.__wbg_ptr = A, O.register(g, g.__wbg_ptr, g), g;
|
|
32
|
-
}
|
|
33
|
-
__destroy_into_raw() {
|
|
34
|
-
const A = this.__wbg_ptr;
|
|
35
|
-
return this.__wbg_ptr = 0, O.unregister(this), A;
|
|
36
|
-
}
|
|
37
|
-
free() {
|
|
38
|
-
const A = this.__destroy_into_raw();
|
|
39
|
-
s.__wbg_wasmcompiledpattern_free(A, 0);
|
|
40
|
-
}
|
|
41
|
-
get name() {
|
|
42
|
-
let A, g;
|
|
43
|
-
try {
|
|
44
|
-
const Q = s.wasmcompiledpattern_name(this.__wbg_ptr);
|
|
45
|
-
return A = Q[0], g = Q[1], k(Q[0], Q[1]);
|
|
46
|
-
} finally {
|
|
47
|
-
s.__wbindgen_free(A, g, 1);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
Symbol.dispose && (D.prototype[Symbol.dispose] = D.prototype.free);
|
|
52
|
-
class r {
|
|
53
|
-
static __wrap(A) {
|
|
54
|
-
const g = Object.create(r.prototype);
|
|
55
|
-
return g.__wbg_ptr = A, u.register(g, g.__wbg_ptr, g), g;
|
|
56
|
-
}
|
|
57
|
-
__destroy_into_raw() {
|
|
58
|
-
const A = this.__wbg_ptr;
|
|
59
|
-
return this.__wbg_ptr = 0, u.unregister(this), A;
|
|
60
|
-
}
|
|
61
|
-
free() {
|
|
62
|
-
const A = this.__destroy_into_raw();
|
|
63
|
-
s.__wbg_wasmpattern_free(A, 0);
|
|
64
|
-
}
|
|
65
|
-
emit(A) {
|
|
66
|
-
const g = this.__destroy_into_raw(), Q = s.wasmpattern_emit(g, A);
|
|
67
|
-
if (Q[2])
|
|
68
|
-
throw q(Q[1]);
|
|
69
|
-
return D.__wrap(Q[0]);
|
|
70
|
-
}
|
|
71
|
-
constructor(A) {
|
|
72
|
-
const g = J(A, s.__wbindgen_malloc, s.__wbindgen_realloc), Q = Y, C = s.wasmpattern_new(g, Q);
|
|
73
|
-
return this.__wbg_ptr = C, u.register(this, this.__wbg_ptr, this), this;
|
|
74
|
-
}
|
|
75
|
-
next() {
|
|
76
|
-
const A = this.__destroy_into_raw(), g = s.wasmpattern_next(A);
|
|
77
|
-
return r.__wrap(g);
|
|
78
|
-
}
|
|
79
|
-
notBetween(A) {
|
|
80
|
-
const g = this.__destroy_into_raw(), Q = s.wasmpattern_notBetween(g, A);
|
|
81
|
-
return r.__wrap(Q);
|
|
82
|
-
}
|
|
83
|
-
notThen(A) {
|
|
84
|
-
const g = this.__destroy_into_raw(), Q = s.wasmpattern_notThen(g, A);
|
|
85
|
-
return r.__wrap(Q);
|
|
86
|
-
}
|
|
87
|
-
notThenNamed(A, g) {
|
|
88
|
-
const Q = this.__destroy_into_raw(), C = J(A, s.__wbindgen_malloc, s.__wbindgen_realloc), B = Y, E = s.wasmpattern_notThenNamed(Q, C, B, g);
|
|
89
|
-
return r.__wrap(E);
|
|
90
|
-
}
|
|
91
|
-
then(A) {
|
|
92
|
-
const g = this.__destroy_into_raw(), Q = s.wasmpattern_then(g, A);
|
|
93
|
-
return r.__wrap(Q);
|
|
94
|
-
}
|
|
95
|
-
thenNamed(A, g) {
|
|
96
|
-
const Q = this.__destroy_into_raw(), C = J(A, s.__wbindgen_malloc, s.__wbindgen_realloc), B = Y, E = s.wasmpattern_thenNamed(Q, C, B, g);
|
|
97
|
-
return r.__wrap(E);
|
|
98
|
-
}
|
|
99
|
-
times(A, g) {
|
|
100
|
-
const Q = this.__destroy_into_raw(), C = s.wasmpattern_times(Q, A, g);
|
|
101
|
-
return r.__wrap(C);
|
|
102
|
-
}
|
|
103
|
-
timestamp(A) {
|
|
104
|
-
const g = this.__destroy_into_raw(), Q = s.wasmpattern_timestamp(g, A);
|
|
105
|
-
return r.__wrap(Q);
|
|
106
|
-
}
|
|
107
|
-
when(A) {
|
|
108
|
-
const g = this.__destroy_into_raw(), Q = s.wasmpattern_when(g, A);
|
|
109
|
-
return r.__wrap(Q);
|
|
110
|
-
}
|
|
111
|
-
within(A) {
|
|
112
|
-
const g = this.__destroy_into_raw(), Q = s.wasmpattern_within(g, A);
|
|
113
|
-
return r.__wrap(Q);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
Symbol.dispose && (r.prototype[Symbol.dispose] = r.prototype.free);
|
|
117
|
-
class p {
|
|
118
|
-
__destroy_into_raw() {
|
|
119
|
-
const A = this.__wbg_ptr;
|
|
120
|
-
return this.__wbg_ptr = 0, T.unregister(this), A;
|
|
121
|
-
}
|
|
122
|
-
free() {
|
|
123
|
-
const A = this.__destroy_into_raw();
|
|
124
|
-
s.__wbg_wasmpatternruntime_free(A, 0);
|
|
125
|
-
}
|
|
126
|
-
get droppedCount() {
|
|
127
|
-
return s.wasmpatternruntime_droppedCount(this.__wbg_ptr) >>> 0;
|
|
128
|
-
}
|
|
129
|
-
flush() {
|
|
130
|
-
return s.wasmpatternruntime_flush(this.__wbg_ptr);
|
|
131
|
-
}
|
|
132
|
-
constructor(A, g) {
|
|
133
|
-
oA(A, D);
|
|
134
|
-
var Q = A.__destroy_into_raw();
|
|
135
|
-
const C = s.wasmpatternruntime_new(Q, !f(g), f(g) ? 0 : g);
|
|
136
|
-
if (C[2])
|
|
137
|
-
throw q(C[1]);
|
|
138
|
-
return this.__wbg_ptr = C[0], T.register(this, this.__wbg_ptr, this), this;
|
|
139
|
-
}
|
|
140
|
-
get nextDeadline() {
|
|
141
|
-
const A = s.wasmpatternruntime_nextDeadline(this.__wbg_ptr);
|
|
142
|
-
return A[0] === 0 ? void 0 : A[1];
|
|
143
|
-
}
|
|
144
|
-
push(A) {
|
|
145
|
-
return s.wasmpatternruntime_push(this.__wbg_ptr, A);
|
|
146
|
-
}
|
|
147
|
-
reset() {
|
|
148
|
-
s.wasmpatternruntime_reset(this.__wbg_ptr);
|
|
149
|
-
}
|
|
150
|
-
setDropHandler(A) {
|
|
151
|
-
s.wasmpatternruntime_setDropHandler(this.__wbg_ptr, A);
|
|
152
|
-
}
|
|
153
|
-
tick(A) {
|
|
154
|
-
return s.wasmpatternruntime_tick(this.__wbg_ptr, A);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
Symbol.dispose && (p.prototype[Symbol.dispose] = p.prototype.free);
|
|
158
|
-
function tA() {
|
|
159
|
-
return {
|
|
160
|
-
__proto__: null,
|
|
161
|
-
"./tflo_cep_wasm_bg.js": {
|
|
162
|
-
__proto__: null,
|
|
163
|
-
__wbg_Error_ef53bc310eb298a0: function(A, g) {
|
|
164
|
-
return Error(k(A, g));
|
|
165
|
-
},
|
|
166
|
-
__wbg___wbindgen_is_falsy_d7ed49840e6d9abb: function(A) {
|
|
167
|
-
return !A;
|
|
168
|
-
},
|
|
169
|
-
__wbg___wbindgen_number_get_9bb1761122181af2: function(A, g) {
|
|
170
|
-
const Q = g, C = typeof Q == "number" ? Q : void 0;
|
|
171
|
-
Z().setFloat64(A + 8, f(C) ? 0 : C, !0), Z().setInt32(A + 0, !f(C), !0);
|
|
172
|
-
},
|
|
173
|
-
__wbg___wbindgen_throw_1506f2235d1bdba0: function(A, g) {
|
|
174
|
-
throw new Error(k(A, g));
|
|
175
|
-
},
|
|
176
|
-
__wbg_call_40e4174f169eaca7: function() {
|
|
177
|
-
return j(function(A, g, Q, C) {
|
|
178
|
-
return A.call(g, Q, C);
|
|
179
|
-
}, arguments);
|
|
180
|
-
},
|
|
181
|
-
__wbg_call_9c758de292015997: function() {
|
|
182
|
-
return j(function(A, g, Q) {
|
|
183
|
-
return A.call(g, Q);
|
|
184
|
-
}, arguments);
|
|
185
|
-
},
|
|
186
|
-
__wbg_error_a6fa202b58aa1cd3: function(A, g) {
|
|
187
|
-
let Q, C;
|
|
188
|
-
try {
|
|
189
|
-
Q = A, C = g, console.error(k(A, g));
|
|
190
|
-
} finally {
|
|
191
|
-
s.__wbindgen_free(Q, C, 1);
|
|
192
|
-
}
|
|
193
|
-
},
|
|
194
|
-
__wbg_new_227d7c05414eb861: function() {
|
|
195
|
-
return new Error();
|
|
196
|
-
},
|
|
197
|
-
__wbg_new_ce1ab61c1c2b300d: function() {
|
|
198
|
-
return new Object();
|
|
199
|
-
},
|
|
200
|
-
__wbg_new_d90091b82fdf5b91: function() {
|
|
201
|
-
return new Array();
|
|
202
|
-
},
|
|
203
|
-
__wbg_push_a6822215aa43e71c: function(A, g) {
|
|
204
|
-
return A.push(g);
|
|
205
|
-
},
|
|
206
|
-
__wbg_set_6e30c9374c26414c: function() {
|
|
207
|
-
return j(function(A, g, Q) {
|
|
208
|
-
return Reflect.set(A, g, Q);
|
|
209
|
-
}, arguments);
|
|
210
|
-
},
|
|
211
|
-
__wbg_stack_3b0d974bbf31e44f: function(A, g) {
|
|
212
|
-
const Q = g.stack, C = J(Q, s.__wbindgen_malloc, s.__wbindgen_realloc), B = Y;
|
|
213
|
-
Z().setInt32(A + 4, B, !0), Z().setInt32(A + 0, C, !0);
|
|
214
|
-
},
|
|
215
|
-
__wbindgen_cast_0000000000000001: function(A, g) {
|
|
216
|
-
return S(A, g, nA);
|
|
217
|
-
},
|
|
218
|
-
__wbindgen_cast_0000000000000002: function(A, g) {
|
|
219
|
-
return S(A, g, iA);
|
|
220
|
-
},
|
|
221
|
-
__wbindgen_cast_0000000000000003: function(A) {
|
|
222
|
-
return A;
|
|
223
|
-
},
|
|
224
|
-
__wbindgen_cast_0000000000000004: function(A, g) {
|
|
225
|
-
return k(A, g);
|
|
226
|
-
},
|
|
227
|
-
__wbindgen_init_externref_table: function() {
|
|
228
|
-
const A = s.__wbindgen_externrefs, g = A.grow(4);
|
|
229
|
-
A.set(0, void 0), A.set(g + 0, void 0), A.set(g + 1, null), A.set(g + 2, !0), A.set(g + 3, !1);
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
function iA(I, A) {
|
|
235
|
-
return s.wasm_bindgen_f42a98a122aaea76___convert__closures_____invoke___wasm_bindgen_f42a98a122aaea76___JsValue__true_(I, A);
|
|
236
|
-
}
|
|
237
|
-
function nA(I, A, g) {
|
|
238
|
-
const Q = J(g, s.__wbindgen_malloc, s.__wbindgen_realloc), C = Y;
|
|
239
|
-
return s.wasm_bindgen_f42a98a122aaea76___convert__closures_____invoke___alloc_a941a2cfab7efbc4___string__String__wasm_bindgen_f42a98a122aaea76___JsValue__true_(I, A, Q, C);
|
|
240
|
-
}
|
|
241
|
-
const O = typeof FinalizationRegistry > "u" ? { register: () => {
|
|
242
|
-
}, unregister: () => {
|
|
243
|
-
} } : new FinalizationRegistry((I) => s.__wbg_wasmcompiledpattern_free(I, 1)), u = typeof FinalizationRegistry > "u" ? { register: () => {
|
|
244
|
-
}, unregister: () => {
|
|
245
|
-
} } : new FinalizationRegistry((I) => s.__wbg_wasmpattern_free(I, 1)), T = typeof FinalizationRegistry > "u" ? { register: () => {
|
|
246
|
-
}, unregister: () => {
|
|
247
|
-
} } : new FinalizationRegistry((I) => s.__wbg_wasmpatternruntime_free(I, 1));
|
|
248
|
-
function sA(I) {
|
|
249
|
-
const A = s.__externref_table_alloc();
|
|
250
|
-
return s.__wbindgen_externrefs.set(A, I), A;
|
|
251
|
-
}
|
|
252
|
-
function oA(I, A) {
|
|
253
|
-
if (!(I instanceof A))
|
|
254
|
-
throw new Error(`expected instance of ${A.name}`);
|
|
255
|
-
}
|
|
256
|
-
const V = typeof FinalizationRegistry > "u" ? { register: () => {
|
|
257
|
-
}, unregister: () => {
|
|
258
|
-
} } : new FinalizationRegistry((I) => s.__wbindgen_destroy_closure(I.a, I.b));
|
|
259
|
-
let N = null;
|
|
260
|
-
function Z() {
|
|
261
|
-
return (N === null || N.buffer.detached === !0 || N.buffer.detached === void 0 && N.buffer !== s.memory.buffer) && (N = new DataView(s.memory.buffer)), N;
|
|
262
|
-
}
|
|
263
|
-
function k(I, A) {
|
|
264
|
-
return lA(I >>> 0, A);
|
|
265
|
-
}
|
|
266
|
-
let G = null;
|
|
267
|
-
function F() {
|
|
268
|
-
return (G === null || G.byteLength === 0) && (G = new Uint8Array(s.memory.buffer)), G;
|
|
269
|
-
}
|
|
270
|
-
function j(I, A) {
|
|
271
|
-
try {
|
|
272
|
-
return I.apply(this, A);
|
|
273
|
-
} catch (g) {
|
|
274
|
-
const Q = sA(g);
|
|
275
|
-
s.__wbindgen_exn_store(Q);
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
function f(I) {
|
|
279
|
-
return I == null;
|
|
280
|
-
}
|
|
281
|
-
function S(I, A, g) {
|
|
282
|
-
const Q = { a: I, b: A, cnt: 1 }, C = (...B) => {
|
|
283
|
-
Q.cnt++;
|
|
284
|
-
try {
|
|
285
|
-
return g(Q.a, Q.b, ...B);
|
|
286
|
-
} finally {
|
|
287
|
-
C._wbg_cb_unref();
|
|
288
|
-
}
|
|
289
|
-
};
|
|
290
|
-
return C._wbg_cb_unref = () => {
|
|
291
|
-
--Q.cnt === 0 && (s.__wbindgen_destroy_closure(Q.a, Q.b), Q.a = 0, V.unregister(Q));
|
|
292
|
-
}, V.register(C, Q, Q), C;
|
|
293
|
-
}
|
|
294
|
-
function J(I, A, g) {
|
|
295
|
-
if (g === void 0) {
|
|
296
|
-
const e = w.encode(I), n = A(e.length, 1) >>> 0;
|
|
297
|
-
return F().subarray(n, n + e.length).set(e), Y = e.length, n;
|
|
298
|
-
}
|
|
299
|
-
let Q = I.length, C = A(Q, 1) >>> 0;
|
|
300
|
-
const B = F();
|
|
301
|
-
let E = 0;
|
|
302
|
-
for (; E < Q; E++) {
|
|
303
|
-
const e = I.charCodeAt(E);
|
|
304
|
-
if (e > 127) break;
|
|
305
|
-
B[C + E] = e;
|
|
306
|
-
}
|
|
307
|
-
if (E !== Q) {
|
|
308
|
-
E !== 0 && (I = I.slice(E)), C = g(C, Q, Q = E + I.length * 3, 1) >>> 0;
|
|
309
|
-
const e = F().subarray(C + E, C + Q), n = w.encodeInto(I, e);
|
|
310
|
-
E += n.written, C = g(C, Q, E, 1) >>> 0;
|
|
311
|
-
}
|
|
312
|
-
return Y = E, C;
|
|
313
|
-
}
|
|
314
|
-
function q(I) {
|
|
315
|
-
const A = s.__wbindgen_externrefs.get(I);
|
|
316
|
-
return s.__externref_table_dealloc(I), A;
|
|
317
|
-
}
|
|
318
|
-
let y = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 });
|
|
319
|
-
y.decode();
|
|
320
|
-
const cA = 2146435072;
|
|
321
|
-
let X = 0;
|
|
322
|
-
function lA(I, A) {
|
|
323
|
-
return X += A, X >= cA && (y = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 }), y.decode(), X = A), y.decode(F().subarray(I, I + A));
|
|
324
|
-
}
|
|
325
|
-
const w = new TextEncoder();
|
|
326
|
-
"encodeInto" in w || (w.encodeInto = function(I, A) {
|
|
327
|
-
const g = w.encode(I);
|
|
328
|
-
return A.set(g), {
|
|
329
|
-
read: I.length,
|
|
330
|
-
written: g.length
|
|
331
|
-
};
|
|
332
|
-
});
|
|
333
|
-
let Y = 0, s;
|
|
334
|
-
function hA(I, A) {
|
|
335
|
-
return s = I.exports, N = null, G = null, s.__wbindgen_start(), s;
|
|
336
|
-
}
|
|
337
|
-
async function dA(I, A) {
|
|
338
|
-
if (typeof Response == "function" && I instanceof Response) {
|
|
339
|
-
if (typeof WebAssembly.instantiateStreaming == "function")
|
|
340
|
-
try {
|
|
341
|
-
return await WebAssembly.instantiateStreaming(I, A);
|
|
342
|
-
} catch (C) {
|
|
343
|
-
if (I.ok && g(I.type) && I.headers.get("Content-Type") !== "application/wasm")
|
|
344
|
-
console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", C);
|
|
345
|
-
else
|
|
346
|
-
throw C;
|
|
347
|
-
}
|
|
348
|
-
const Q = await I.arrayBuffer();
|
|
349
|
-
return await WebAssembly.instantiate(Q, A);
|
|
350
|
-
} else {
|
|
351
|
-
const Q = await WebAssembly.instantiate(I, A);
|
|
352
|
-
return Q instanceof WebAssembly.Instance ? { instance: Q, module: I } : Q;
|
|
353
|
-
}
|
|
354
|
-
function g(Q) {
|
|
355
|
-
switch (Q) {
|
|
356
|
-
case "basic":
|
|
357
|
-
case "cors":
|
|
358
|
-
case "default":
|
|
359
|
-
return !0;
|
|
360
|
-
}
|
|
361
|
-
return !1;
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
async function U(I) {
|
|
365
|
-
if (s !== void 0) return s;
|
|
366
|
-
I !== void 0 && (Object.getPrototypeOf(I) === Object.prototype ? { module_or_path: I } = I : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), I === void 0 && (I = new URL("data:application/wasm;base64,AGFzbQEAAAAByAIxYAAAYAABf2AAAW9gAX8AYAF/AX9gAX8Cf39gAX8Cf3xgAX8Bb2ACf38AYAJ/fwF/YAJ/fwFvYAN/f38AYAN/f38Bf2AEf39/fwBgBH9/f38Bf2AEf39/fwFvYAV/f39/fwBgBX9/f39/AX9gBn9/f39/fwBgBn9/f39/fwF/YAZ/f39+f38AYAZ/f399f38AYAR/f398AGAGf39/fH9/AGAEf39/bwF/YAN/f34AYAR/f35/AGAFf39+f38AYAV/f31/fwBgA39/fAN/f39gBX9/fH9/AGADf39vAGADf35/AGAEf35/fwBgBH99f38AYAJ/fAF/YAJ/fAFvYAR/fH9/AGACf28AYAJ/bwF/YAJ/bwN/f39gAn9vAW9gAXwBf2ABfAFvYAFvAX9gAm9vAX9gA29vbwF/YANvb28Bb2AEb29vbwFvAuwHEhUuL3RmbG9fY2VwX3dhc21fYmcuanMbX193YmdfcHVzaF9hNjgyMjIxNWFhNDNlNzFjAC0VLi90ZmxvX2NlcF93YXNtX2JnLmpzG19fd2JnX2NhbGxfNDBlNDE3NGYxNjllYWNhNwAwFS4vdGZsb19jZXBfd2FzbV9iZy5qcxtfX3diZ19jYWxsXzljNzU4ZGUyOTIwMTU5OTcALxUuL3RmbG9fY2VwX3dhc21fYmcuanMaX193YmdfbmV3XzIyN2Q3YzA1NDE0ZWI4NjEAAhUuL3RmbG9fY2VwX3dhc21fYmcuanMcX193Ymdfc3RhY2tfM2IwZDk3NGJiZjMxZTQ0ZgAmFS4vdGZsb19jZXBfd2FzbV9iZy5qcxxfX3diZ19lcnJvcl9hNmZhMjAyYjU4YWExY2QzAAgVLi90ZmxvX2NlcF93YXNtX2JnLmpzGl9fd2JnX25ld19jZTFhYjYxYzFjMmIzMDBkAAIVLi90ZmxvX2NlcF93YXNtX2JnLmpzGl9fd2JnX25ld19kOTAwOTFiODJmZGY1YjkxAAIVLi90ZmxvX2NlcF93YXNtX2JnLmpzGl9fd2JnX3NldF82ZTMwYzkzNzRjMjY0MTRjAC4VLi90ZmxvX2NlcF93YXNtX2JnLmpzLF9fd2JnX19fd2JpbmRnZW5fbnVtYmVyX2dldF85YmIxNzYxMTIyMTgxYWYyACYVLi90ZmxvX2NlcF93YXNtX2JnLmpzJ19fd2JnX19fd2JpbmRnZW5fdGhyb3dfMTUwNmYyMjM1ZDFiZGJhMAAIFS4vdGZsb19jZXBfd2FzbV9iZy5qcypfX3diZ19fX3diaW5kZ2VuX2lzX2ZhbHN5X2Q3ZWQ0OTg0MGU2ZDlhYmIALBUuL3RmbG9fY2VwX3dhc21fYmcuanMcX193YmdfRXJyb3JfZWY1M2JjMzEwZWIyOThhMAAKFS4vdGZsb19jZXBfd2FzbV9iZy5qcx9fX3diaW5kZ2VuX2luaXRfZXh0ZXJucmVmX3RhYmxlAAAVLi90ZmxvX2NlcF93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAxAAoVLi90ZmxvX2NlcF93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAyAAoVLi90ZmxvX2NlcF93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAzACsVLi90ZmxvX2NlcF93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDA0AAoDggKAAgQaCQ4JDggWCwMDEwsIGgwgDggIGQgJCwMJCwgBAwgJCQMDCwgJCQkJCAMJCQQJDBkLCQkLCQgMBBAICA4OCQgQDBISEhASEgsjAwkQCAgjCQsJAw0ECAMIAxADAwMDAwMIBBIQDRALEA0EEhcVEhIUDAwQDAgNDAsLBAMMDQ4EBAAIAwgLCwkJEQ4IAwMdBAMoCAUGEw4DAwMQEREQHhwQGw0ODAQMAwMJAwMIAwkDKQgLCQkJCRgYDwsICAwqHwkBAQEMJycnJycmJAoJCQ4DCQgJCQQHCwwECAwADAMDCQkJCAAACAgICQkJDAgICAkDAwgBCAQICAgJAAABAQAECQJwAVdXbwCACAUDAQARBgkBfwFBgIDAAAsH5gglBm1lbW9yeQIAHl9fd2JnX3dhc21jb21waWxlZHBhdHRlcm5fZnJlZQBNFl9fd2JnX3dhc21wYXR0ZXJuX2ZyZWUATB1fX3diZ193YXNtcGF0dGVybnJ1bnRpbWVfZnJlZQAYGHdhc21jb21waWxlZHBhdHRlcm5fbmFtZQClARB3YXNtcGF0dGVybl9lbWl0AKMBD3dhc21wYXR0ZXJuX25ldwBkEHdhc21wYXR0ZXJuX25leHQAShZ3YXNtcGF0dGVybl9ub3RCZXR3ZWVuANcBE3dhc21wYXR0ZXJuX25vdFRoZW4A2AEYd2FzbXBhdHRlcm5fbm90VGhlbk5hbWVkAMkBEHdhc21wYXR0ZXJuX3RoZW4A2QEVd2FzbXBhdHRlcm5fdGhlbk5hbWVkAMoBEXdhc21wYXR0ZXJuX3RpbWVzAEEVd2FzbXBhdHRlcm5fdGltZXN0YW1wANoBEHdhc21wYXR0ZXJuX3doZW4A2wESd2FzbXBhdHRlcm5fd2l0aGluAEcfd2FzbXBhdHRlcm5ydW50aW1lX2Ryb3BwZWRDb3VudACMARh3YXNtcGF0dGVybnJ1bnRpbWVfZmx1c2gA6AEWd2FzbXBhdHRlcm5ydW50aW1lX25ldwCgAR93YXNtcGF0dGVybnJ1bnRpbWVfbmV4dERlYWRsaW5lAKYBF3dhc21wYXR0ZXJucnVudGltZV9wdXNoAMIBGHdhc21wYXR0ZXJucnVudGltZV9yZXNldAAvIXdhc21wYXR0ZXJucnVudGltZV9zZXREcm9wSGFuZGxlcgDcARd3YXNtcGF0dGVybnJ1bnRpbWVfdGljawDdAQVzdGFydACTAZYBd2FzbV9iaW5kZ2VuX2Y0MmE5OGExMjJhYWVhNzZfX19jb252ZXJ0X19jbG9zdXJlc19fX19faW52b2tlX19fYWxsb2NfYTk0MWEyY2ZhYjdlZmJjNF9fX3N0cmluZ19fU3RyaW5nX193YXNtX2JpbmRnZW5fZjQyYTk4YTEyMmFhZWE3Nl9fX0pzVmFsdWVfX3RydWVfAMsBbXdhc21fYmluZGdlbl9mNDJhOThhMTIyYWFlYTc2X19fY29udmVydF9fY2xvc3VyZXNfX19fX2ludm9rZV9fX3dhc21fYmluZGdlbl9mNDJhOThhMTIyYWFlYTc2X19fSnNWYWx1ZV9fdHJ1ZV8A3gEUX193YmluZGdlbl9leG5fc3RvcmUA4gEXX19leHRlcm5yZWZfdGFibGVfYWxsb2MALhVfX3diaW5kZ2VuX2V4dGVybnJlZnMBAQ9fX3diaW5kZ2VuX2ZyZWUAzAERX193YmluZGdlbl9tYWxsb2MAmQESX193YmluZGdlbl9yZWFsbG9jAJwBGl9fd2JpbmRnZW5fZGVz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AQstAgF/AX4jAEEQayIBJAAgACkCACECIAEgADYCDCABIAI3AgQgAUEEahCEAgALLAEBfyMAQRBrIgIkACACIAAgARDRASACKAIAIAIoAgQgAigCCCACQRBqJAALJAEBfyMAQRBrIgIkACACIAE2AgwgAiAANgIIIAJBCGoQgwIACyQBAX8jAEEQayIBJAAgASAAEDYgASgCACABKAIEIAFBEGokAAskAQF/IwBBEGsiASQAIAEgABAkIAEoAgAgASsDCCABQRBqJAALJgACQCAADQBBxJHAAEEyEPUBAAsgACACIAMgBCAFIAEoAhAREQALJAIBfwFvIAAlASABJQEgAiUBIAMlARABIQUQLiIEIAUmASAECyQBAX8gACgCACIBIAEoAgBBf2oiATYCAAJAIAENACAAEJUBCwsjAQF/IAAoAgAiASABKAIAQX9qIgE2AgACQCABDQAgABBlCwsjAQF/IAAoAgAiASABKAIAQX9qIgE2AgACQCABDQAgABBcCwskAAJAIAANAEHEkcAAQTIQ9QEACyAAIAIgAyAEIAEoAhARDQALJAACQCAADQBBxJHAAEEyEPUBAAsgACACIAMgBCABKAIQEQ4ACyQAAkAgAA0AQcSRwABBMhD1AQALIAAgAiADIAQgASgCEBEOAAskAAJAIAANAEHEkcAAQTIQ9QEACyAAIAIgAyAEIAEoAhARDQALJAACQCAADQBBxJHAAEEyEPUBAAsgACACIAMgBCABKAIQESUACyQAAkAgAA0AQcSRwABBMhD1AQALIAAgAiADIAQgASgCEBEiAAskAAJAIAANAEHEkcAAQTIQ9QEACyAAIAIgAyAEIAEoAhARDQALJAACQCAADQBBxJHAAEEyEPUBAAsgACACIAMgBCABKAIQESEACyIAAkAgAA0AQcSRwABBMhD1AQALIAAgAiADIAEoAhARCwALIgACQCAADQBBxJHAAEEyEPUBAAsgACACIAMgASgCEBEMAAsgAgF/AW8gACUBIAElASACJQEQAiEEEC4iAyAEJgEgAwsgAAJAIAAoAgAiACgCEA0AQYAIDwsgACgCDCgCABDnAQsgAAJAIAANAEHEkcAAQTIQ9QEACyAAIAIgASgCEBEJAAsfAQF/AkAgACgCACIBQQFIDQAgACgCBCABQQEQ6QELCx4AIAAoAgAgACgCBEEA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bnMvMS45Ny14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnMAL2hvbWUvbWMvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEyMi9zcmMvZXh0ZXJucmVmLnJzAHRmbG8tY2VwL3NyYy9lbmdpbmUucnMAL2hvbWUvbWMvLnJ1c3R1cC90b29sY2hhaW5zLzEuOTcteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeW5jL29uY2UucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy9tb2QucnMAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuMTMvc3JjL2RsbWFsbG9jLnJzAHRmbG8tY2VwLXdhc20vc3JjL2xpYi5ycwAvaG9tZS9tYy8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2NvbnNvbGVfZXJyb3JfcGFuaWNfaG9vay0wLjEuNy9zcmMvbGliLnJzAAZzdGVwIGDAJmAgaXMgbm90VGhlbiBhbmQgbXVzdCBiZSB0aGUgbGFzdCBzdGVwAAZzdGVwIGDAKmAgaXMgbm90VGhlbiBidXQgaGFzIG5vIC53aXRoaW4oLi4uKSBib3VuZAAScmVtb3ZhbCBpbmRleCAoaXMgwBYpIHNob3VsZCBiZSA8IGxlbiAoaXMgwAEpAABEAxAAZwAAAJUAAAAOAAAAY29tcGlsZWQgcGF0dGVybiBhbHJlYWR5IGNvbnN1bWVkAAAAKwMQABgAAACCAQAAIAAAACsDEAAYAAAAjgEAABQAAAArAxAAGAAAAJoBAAAUAAAAKwMQABgAAAD1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AAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHdoZW4gdGhlIHVuZGVybHlpbmcgc3RyZWFtIGRpZCBub3QAAGkAEABIAAAAjwIAAA4AAABFcnJvcmNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OWF0dGVtcHQgdG8gYWRkIHdpdGggb3ZlcmZsb3dSZWZDZWxsIGFscmVhZHkgbXV0YWJseSBib3Jyb3dlZFJlZkNlbGwgYWxyZWFkeSBib3Jyb3dlZABB7JrAAAsYAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAJrTAQRuYW1lABMSdGZsb19jZXBfd2FzbS53YXNtAbvSAZACAEc8anNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpBcnJheTxfPj46OnB1c2g6Ol9fd2JnX3B1c2hfYTY4MjIyMTVhYTQzZTcxYwFLPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6RnVuY3Rpb248Xz4+OjpjYWxsMjo6X193YmdfY2FsbF80MGU0MTc0ZjE2OWVhY2E3Aks8anNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpGdW5jdGlvbjxfPj46OmNhbGwxOjpfX3diZ19jYWxsXzljNzU4ZGUyOTIwMTU5OTcDVDxjb25zb2xlX2Vycm9yX3BhbmljX2hvb2tbMTJlM2UxMTZhNjY5MWMxOV06OkVycm9yPjo6bmV3OjpfX3diZ19uZXdfMjI3ZDdjMDU0MTRlYjg2MQRYPGNvbnNvbGVfZXJyb3JfcGFuaWNfaG9va1sxMmUzZTExNmE2NjkxYzE5XTo6RXJyb3I+OjpzdGFjazo6X193Ymdfc3RhY2tfM2IwZDk3NGJiZjMxZTQ0ZgVPY29uc29sZV9lcnJvcl9wYW5pY19ob29rWzEyZTNlMTE2YTY2OTFjMTldOjplcnJvcjo6X193YmdfZXJyb3JfYTZmYTIwMmI1OGFhMWNkMwZDPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6T2JqZWN0Pjo6bmV3OjpfX3diZ19uZXdfY2UxYWI2MWMxYzJiMzAwZAdCPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6QXJyYXk+OjpuZXc6Ol9fd2JnX25ld19kOTAwOTFiODJmZGY1YjkxCEJqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OlJlZmxlY3Q6OnNldDo6X193Ymdfc2V0XzZlMzBjOTM3NGMyNjQxNGMJY3dhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6X193YmluZGdlbl9udW1iZXJfZ2V0OjpfX3diZ19fX3diaW5kZ2VuX251bWJlcl9nZXRfOWJiMTc2MTEyMjE4MWFmMgpZd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX3Rocm93OjpfX3diZ19fX3diaW5kZ2VuX3Rocm93XzE1MDZmMjIzNWQxYmRiYTALX3dhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6X193YmluZGdlbl9pc19mYWxzeTo6X193YmdfX193YmluZGdlbl9pc19mYWxzeV9kN2VkNDk4NDBlNmQ5YWJiDFJ3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fd2JpbmRnZW5fZXJyb3JfbmV3OjpfX3diZ19FcnJvcl9lZjUzYmMzMTBlYjI5OGEwDqMBQ2xvc3VyZShDbG9zdXJlIHsgb3duZWQ6IHRydWUsIGZ1bmN0aW9uOiBGdW5jdGlvbiB7IGFyZ3VtZW50czogW1N0cmluZ10sIHNoaW1faWR4OiAxNywgcmV0OiBFeHRlcm5yZWYsIGlubmVyX3JldDogU29tZShFeHRlcm5yZWYpIH0sIG11dGFibGU6IGZhbHNlIH0pIC0+IEV4dGVybnJlZg+dAUNsb3N1cmUoQ2xvc3VyZSB7IG93bmVkOiB0cnVlLCBmdW5jdGlvbjogRnVuY3Rpb24geyBhcmd1bWVudHM6IFtdLCBzaGltX2lkeDogMTksIHJldDogRXh0ZXJucmVmLCBpbm5lcl9yZXQ6IFNvbWUoRXh0ZXJucmVmKSB9LCBtdXRhYmxlOiBmYWxzZSB9KSAtPiBFeHRlcm5yZWYQEEY2NCAtPiBFeHRlcm5yZWYRGFJlZihTdHJpbmcpIC0+IEV4dGVybnJlZhJhPGRsbWFsbG9jW2JkZDQxZTU2MDUxMGUxYmRdOjpkbG1hbGxvYzo6RGxtYWxsb2M8ZGxtYWxsb2NbYmRkNDFlNTYwNTEwZTFiZF06OnN5czo6U3lzdGVtPj46Om1hbGxvYxOMAjx0ZmxvX2NlcFs0OGM4OTlhZDE3YWQ4YjMyXTo6ZW5naW5lOjpSdW50aW1lPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUHJlZCwgdGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6SnNFbWl0LCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc1RpbWVzdGFtcD4+OjptYXRjaF9vbmUUtQE8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6SnNFbWl0IGFzIHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OkVtaXRDYWxsYmFjazx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4+OjplbWl0FZ0BPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkpzUHJlZGljYXRlIGFzIHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlByZWRpY2F0ZTx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWU+Pjo6ZXZhbHVhdGVfaW5fY29udGV4dBYyY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6c3RyOjpjb3VudDo6ZG9fY291bnRfY2hhcnMXKF9fcnVzdGNbNmVmNzhmYmExM2FjNzc2Y106Ol9fcmRsX3JlYWxsb2MYHV9fd2JnX3dhc21wYXR0ZXJucnVudGltZV9mcmVlGRZ3YXNtcGF0dGVybnJ1bnRpbWVfbmV3GocCPHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlJ1bnRpbWU8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QcmVkLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc0VtaXQsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkpzVGltZXN0YW1wPj46OnB1c2gblAE8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJjOjpSYzx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fcnQ6Oldhc21SZWZDZWxsPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QYXR0ZXJuUnVudGltZT4+Pjo6ZHJvcF9zbG93HF88ZGxtYWxsb2NbYmRkNDFlNTYwNTEwZTFiZF06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6c3lzOjpTeXN0ZW0+Pjo6ZnJlZR02PGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6Rm9ybWF0dGVyPjo6cGFkX2ludGVncmFsHjQ8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6V2FzbVBhdHRlcm4+OjplbWl0H8cBPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpjb2xsZWN0aW9uczo6YmluYXJ5X2hlYXA6OkJpbmFyeUhlYXA8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Y21wOjpSZXZlcnNlPHRmbG9fY29yZVs3ZWE4ZDFiMjVjODlkMjc5XTo6cmVvcmRlcjo6UGVuZGluZ0VudHJ5PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4+Pj46OnBvcCBkPHRmbG9fY29yZVs3ZWE4ZDFiMjVjODlkMjc5XTo6cmVvcmRlcjo6UmVvcmRlckJ1ZmZlcjx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWU+Pjo6c3RlcCEtPGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6Rm9ybWF0dGVyPjo6cGFkIpQCPHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlJ1bnRpbWU8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QcmVkLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc0VtaXQsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkpzVGltZXN0YW1wPj46OmFkdmFuY2VfZGVhZGxpbmVzIyJjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OndyaXRlJB93YXNtcGF0dGVybnJ1bnRpbWVfbmV4dERlYWRsaW5lJYgCPHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlJ1bnRpbWU8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QcmVkLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc0VtaXQsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkpzVGltZXN0YW1wPj46OmZsdXNoJocCPHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlJ1bnRpbWU8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QcmVkLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc0VtaXQsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkpzVGltZXN0YW1wPj46OnRpY2snaDxkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6ZGxtYWxsb2M6OkRsbWFsbG9jPGRsbWFsbG9jW2JkZDQxZTU2MDUxMGUxYmRdOjpzeXM6OlN5c3RlbT4+OjpkaXNwb3NlX2NodW5rKDQ8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6V2FzbVBhdHRlcm4+Ojp3aGVuKfkGPGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106Oml0ZXI6OmFkYXB0ZXJzOjptYXA6Ok1hcDxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpzbGljZTo6aXRlcjo6SXRlcjx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpCdWlsZGVyU3RlcD4sIDx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUGF0dGVybj46OmVtaXQ6OntjbG9zdXJlIzB9PiBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46OmZvbGQ6OjwoKSwgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I6OmZvcl9lYWNoOjpjYWxsPHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlN0ZXA8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUHJlZD4sIDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6dmVjOjpWZWM8dGZsb19jZXBbNDhjODk5YWQxN2FkOGIzMl06OmVuZ2luZTo6U3RlcDx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QcmVkPj4+OjpleHRlbmRfdHJ1c3RlZDxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjppdGVyOjphZGFwdGVyczo6bWFwOjpNYXA8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6c2xpY2U6Oml0ZXI6Okl0ZXI8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6QnVpbGRlclN0ZXA+LCA8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6V2FzbVBhdHRlcm4+OjplbWl0Ojp7Y2xvc3VyZSMwfT4+Ojp7Y2xvc3VyZSMwfT46OntjbG9zdXJlIzB9PiowY29uc29sZV9lcnJvcl9wYW5pY19ob29rWzEyZTNlMTE2YTY2OTFjMTldOjpob29rK2M8ZGxtYWxsb2NbYmRkNDFlNTYwNTEwZTFiZF06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6c3lzOjpTeXN0ZW0+Pjo6bWVtYWxpZ24sMmFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpmbXQ6OmZvcm1hdDo6Zm9ybWF0X2lubmVyLWc8ZGxtYWxsb2NbYmRkNDFlNTYwNTEwZTFiZF06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6c3lzOjpTeXN0ZW0+Pjo6dW5saW5rX2NodW5rLhdfX2V4dGVybnJlZl90YWJsZV9hbGxvYy8Yd2FzbXBhdHRlcm5ydW50aW1lX3Jlc2V0MG08ZGxtYWxsb2NbYmRkNDFlNTYwNTEwZTFiZF06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6c3lzOjpTeXN0ZW0+Pjo6aW5zZXJ0X2xhcmdlX2NodW5rMRN3YXNtcGF0dGVybl9ub3RUaGVuMhB3YXNtcGF0dGVybl90aGVuM5UBPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYzo6UmM8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3J0OjpXYXNtUmVmQ2VsbDx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtQ29tcGlsZWRQYXR0ZXJuPj4+Ojpkcm9wX3Nsb3c0ggE8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJjOjpSYzxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpjZWxsOjpSZWZDZWxsPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OlBhdHRlcm5TdGF0ZT4+Pjo6ZHJvcF9zbG93NbEFPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjp2ZWM6OlZlYzwoYWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUpPiBhcyBhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6dmVjOjpzcGVjX2Zyb21faXRlcl9uZXN0ZWQ6OlNwZWNGcm9tSXRlck5lc3RlZDwoYWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUpLCBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjppdGVyOjphZGFwdGVyczo6bWFwOjpNYXA8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6aXRlcjo6YWRhcHRlcnM6Om1hcDo6TWFwPGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnNsaWNlOjppdGVyOjpJdGVyPChhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmcsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSk+LCA8dGZsb19jZXBbNDhjODk5YWQxN2FkOGIzMl06Om1hdGNoZWQ6Ok1hdGNoPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4+OjpuYW1lZDo6e2Nsb3N1cmUjMH0+LCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpidWlsZF9tYXRjaF9vYmplY3Q6OntjbG9zdXJlIzN9Pj4+Ojpmcm9tX2l0ZXI2GHdhc21jb21waWxlZHBhdHRlcm5fbmFtZTdbPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OldyaXRlPjo6d3JpdGVfY2hhcjhePGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OldyaXRlPjo6d3JpdGVfY2hhclsxXTkyPHUzMiBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6WjxzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmljOjpQYW5pY0hvb2tJbmZvIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6RGlzcGxheT46OmZtdDshd2FzbXBhdHRlcm5ydW50aW1lX3NldERyb3BIYW5kbGVyPF5jb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwdHI6OmRyb3BfZ2x1ZTo6PHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21Db21waWxlZFBhdHRlcm4+PRd3YXNtcGF0dGVybnJ1bnRpbWVfcHVzaD5ePGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OldyaXRlPjo6d3JpdGVfY2hhclsyXT8Yd2FzbXBhdHRlcm5ydW50aW1lX2ZsdXNoQF48YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6V3JpdGU+Ojp3cml0ZV9jaGFyWzNdQRF3YXNtcGF0dGVybl90aW1lc0KPAjx0ZmxvX2NlcFs0OGM4OTlhZDE3YWQ4YjMyXTo6ZW5naW5lOjpSdW50aW1lPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUHJlZCwgdGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6SnNFbWl0LCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc1RpbWVzdGFtcD4+Ojp3aXRoX3Jlb3JkZXJDEHdhc21wYXR0ZXJuX2VtaXREFndhc21wYXR0ZXJuX25vdEJldHdlZW5FFXdhc21wYXR0ZXJuX3RpbWVzdGFtcEaLAjx0ZmxvX2NlcFs0OGM4OTlhZDE3YWQ4YjMyXTo6ZW5naW5lOjpSdW50aW1lPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUHJlZCwgdGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6SnNFbWl0LCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc1RpbWVzdGFtcD4+Ojpjb21wbGV0ZUcSd2FzbXBhdHRlcm5fd2l0aGluSGU8dGZsb19jb3JlWzdlYThkMWIyNWM4OWQyNzldOjpyZW9yZGVyOjpSZW9yZGVyQnVmZmVyPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4+OjpmbHVzaEk6PHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QYXR0ZXJuPjo6dGhlbl9uYW1lZEoQd2FzbXBhdHRlcm5fbmV4dEsxc3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX3dpdGhfaG9va0wWX193Ymdfd2FzbXBhdHRlcm5fZnJlZU0eX193Ymdfd2FzbWNvbXBpbGVkcGF0dGVybl9mcmVlThh3YXNtcGF0dGVybl9ub3RUaGVuTmFtZWRPFXdhc21wYXR0ZXJuX3RoZW5OYW1lZFC7ATx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpidWlsZF9tYXRjaF9vYmplY3Q6OntjbG9zdXJlIzR9IGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106Om9wczo6ZnVuY3Rpb246OkZuT25jZTwoYWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nLCk+Pjo6Y2FsbF9vbmNlOjp7c2hpbTp2dGFibGUjMH1RfzxzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmlja2luZzo6cGFuaWNfaGFuZGxlcjo6Rm9ybWF0U3RyaW5nUGF5bG9hZCBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwYW5pYzo6UGFuaWNQYXlsb2FkPjo6dGFrZV9ib3hSfDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmF3X3ZlYzo6UmF3VmVjSW5uZXI8Xz4+OjpyZXNlcnZlOjpkb19yZXNlcnZlX2FuZF9oYW5kbGU6OjxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6YWxsb2M6Okdsb2JhbD5TPjx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUGF0dGVybj46Om5vdF90aGVuX25hbWVkVN8Bd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6QXJyYXksIGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjp2ZWM6OlZlYzx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWU+LCB0cnVlPlU8PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYXdfdmVjOjpSYXdWZWNJbm5lcj46OmZpbmlzaF9ncm93Vj88YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OlJhd1ZlY0lubmVyPjo6ZmluaXNoX2dyb3dbMV1XvgF3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6Ojx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHUzMiwgYWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnZlYzo6VmVjPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4sIHRydWU+WD88YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OlJhd1ZlY0lubmVyPjo6ZmluaXNoX2dyb3dbMl1ZPzxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmF3X3ZlYzo6UmF3VmVjSW5uZXI+OjpmaW5pc2hfZ3Jvd1szXVpZPGRsbWFsbG9jW2JkZDQxZTU2MDUxMGUxYmRdOjpzeXM6OlN5c3RlbSBhcyBkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6QWxsb2NhdG9yPjo6YWxsb2NbF3dhc21wYXR0ZXJucnVudGltZV90aWNrXKMBPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYzo6UmM8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnZlYzo6VmVjPChhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmcsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSk+Pj46OmRyb3Bfc2xvd10Qd2FzbXBhdHRlcm5fd2hlbl5/PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYXdfdmVjOjpSYXdWZWNJbm5lcjxfPj46OnJlc2VydmU6OmRvX3Jlc2VydmVfYW5kX2hhbmRsZTo6PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjphbGxvYzo6R2xvYmFsPlsxXV/WATw8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6V2FzbVBhdHRlcm5SdW50aW1lPjo6c2V0X2Ryb3BfaGFuZGxlcjo6e2Nsb3N1cmUjMH0gYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3BzOjpmdW5jdGlvbjo6Rm5PbmNlPCh0ZmxvX2NlcFs0OGM4OTlhZDE3YWQ4YjMyXTo6ZW5naW5lOjpEcm9wUmVhc29uLCk+Pjo6Y2FsbF9vbmNlOjp7c2hpbTp2dGFibGUjMH1gFl9fZXh0ZXJucmVmX2Ryb3Bfc2xpY2VhOzx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUGF0dGVyblJ1bnRpbWU+Ojp0aWNrYkB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpidWlsZF9tYXRjaF9vYmplY3Q6OntjbG9zdXJlIzR9Y388YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OlJhd1ZlY0lubmVyPF8+Pjo6cmVzZXJ2ZTo6ZG9fcmVzZXJ2ZV9hbmRfaGFuZGxlOjo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OmFsbG9jOjpHbG9iYWw+WzJdZA93YXNtcGF0dGVybl9uZXdleDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmM6OlJjPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjp2ZWM6OlZlYzx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWU+Pj46OmRyb3Bfc2xvd2Y/PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYXdfdmVjOjpSYXdWZWNJbm5lcj46OmZpbmlzaF9ncm93WzRdZ5MBPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OmJ1aWxkX21hdGNoX29iamVjdDo6e2Nsb3N1cmUjMn0gYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3BzOjpmdW5jdGlvbjo6Rm5PbmNlPCgpPj46OmNhbGxfb25jZTo6e3NoaW06dnRhYmxlIzB9aHo8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OkZvcm1hdFN0cmluZ1BheWxvYWQgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cGFuaWM6OlBhbmljUGF5bG9hZD46OmdldGk8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OntjbG9zdXJlIzB9aipzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmlja2luZzo6c2V0X2hvb2trGV9fZXh0ZXJucmVmX3RhYmxlX2RlYWxsb2NsswJ3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6Ojxqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkpzU3RyaW5nLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106Om9wdGlvbjo6T3B0aW9uPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4sIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNFcnJvcj4sIHRydWU+bY8BPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYXdfdmVjOjpSYXdWZWM8dGZsb19jZXBbNDhjODk5YWQxN2FkOGIzMl06OmVuZ2luZTo6UGFydGlhbE1hdGNoPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4+Pjo6Z3Jvd19vbmVutwE8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OlJhd1ZlYzxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpjbXA6OlJldmVyc2U8dGZsb19jb3JlWzdlYThkMWIyNWM4OWQyNzldOjpyZW9yZGVyOjpQZW5kaW5nRW50cnk8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlPj4+Pjo6Z3Jvd19vbmVvYjxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmF3X3ZlYzo6UmF3VmVjPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkJ1aWxkZXJTdGVwPj46Omdyb3dfb25lcGI8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OlJhd1ZlYzx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUGF0dGVybj4+Ojpncm93X29uZXGIATxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmF3X3ZlYzo6UmF3VmVjPChhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmcsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSk+Pjo6Z3Jvd19vbmVyZDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmF3X3ZlYzo6UmF3VmVjPChpNjQsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSk+Pjo6Z3Jvd19vbmVzVDx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUGF0dGVyblJ1bnRpbWU+OjpzZXRfZHJvcF9oYW5kbGVyOjp7Y2xvc3VyZSMwfXSTATx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpidWlsZF9tYXRjaF9vYmplY3Q6OntjbG9zdXJlIzF9IGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106Om9wczo6ZnVuY3Rpb246OkZuT25jZTwoKT4+OjpjYWxsX29uY2U6OntzaGltOnZ0YWJsZSMwfXWVAndhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB1MzIsIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc0Vycm9yPiwgdHJ1ZT527AF3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6Ojx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cmVzdWx0OjpSZXN1bHQ8aTMyLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzRXJyb3I+LCB0cnVlPnfIATxzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnN5czo6c3luYzo6b25jZTo6bm9fdGhyZWFkczo6T25jZT46OmNhbGw6Ojw8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpzeW5jOjpvbmNlOjpPbmNlPjo6Y2FsbF9vbmNlPGNvbnNvbGVfZXJyb3JfcGFuaWNfaG9va1sxMmUzZTExNmE2NjkxYzE5XTo6c2V0X29uY2U6OntjbG9zdXJlIzB9Pjo6e2Nsb3N1cmUjMH0+eMkBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB1MzIsIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PGJvb2wsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNFcnJvcj4sIHRydWU+eShfX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpfX3JkbF9kZWFsbG9jei1jb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpyZXN1bHQ6OnVud3JhcF9mYWlsZWR7xAF3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6Ojx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PGJvb2wsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNFcnJvcj4sIHRydWU+fJMBPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OmJ1aWxkX21hdGNoX29iamVjdDo6e2Nsb3N1cmUjMH0gYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3BzOjpmdW5jdGlvbjo6Rm5PbmNlPCgpPj46OmNhbGxfb25jZTo6e3NoaW06dnRhYmxlIzB9fccBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8aTgsIHUzMiwganNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpJbnQ4QXJyYXksIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PCgpLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzRXJyb3I+LCB0cnVlPn7LAXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGY2NCwgdTMyLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkZsb2F0NjRBcnJheSwgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cmVzdWx0OjpSZXN1bHQ8KCksIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNFcnJvcj4sIHRydWU+f8sBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8ZjMyLCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6RmxvYXQxNkFycmF5LCBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpyZXN1bHQ6OlJlc3VsdDwoKSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc0Vycm9yPiwgdHJ1ZT6AAckBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8aTMyLCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6SW50MzJBcnJheSwgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cmVzdWx0OjpSZXN1bHQ8KCksIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNFcnJvcj4sIHRydWU+gQHJAXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGkxNiwgdTMyLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkludDE2QXJyYXksIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PCgpLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzRXJyb3I+LCB0cnVlPoIBzAF3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6OjxpNjQsIHUzMiwganNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpCaWdJbnQ2NEFycmF5LCBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpyZXN1bHQ6OlJlc3VsdDwoKSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc0Vycm9yPiwgdHJ1ZT6DAVo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6V3JpdGU+Ojp3cml0ZV9zdHKEAV08YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6V3JpdGU+Ojp3cml0ZV9zdHJbMV2FAesBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PCgpLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzRXJyb3I+LCB0cnVlPoYBXTxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmcgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpXcml0ZT46OndyaXRlX3N0clsyXYcBWDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmcgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Y2xvbmU6OkNsb25lPjo6Y2xvbmWIAcIBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpyZXN1bHQ6OlJlc3VsdDwoKSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc0Vycm9yPiwgdHJ1ZT6JAV08YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6V3JpdGU+Ojp3cml0ZV9zdHJbM12KAUA8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnZlYzo6VmVjPF8sIF8+Pjo6cmVtb3ZlOjphc3NlcnRfZmFpbGVkiwE1Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cGFuaWNraW5nOjpwYW5pY19ib3VuZHNfY2hlY2uMAR93YXNtcGF0dGVybnJ1bnRpbWVfZHJvcHBlZENvdW50jQGNATxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmM6OlJjPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6X19ydDo6V2FzbVJlZkNlbGw8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6V2FzbVBhdHRlcm4+Pj46OmRyb3Bfc2xvd44BBm1lbWNtcI8BJmpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6UmVmbGVjdDo6c2V0kAGWAXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZywgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0cnVlPpEBQHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OmJ1aWxkX21hdGNoX29iamVjdDo6e2Nsb3N1cmUjMn2SATdzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmlja2luZzo6cGFuaWNfY291bnQ6OmluY3JlYXNlkwEmdGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6c3RhcnSUATV3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fd2JpbmRnZW5fbnVtYmVyX2dldJUBUDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmM6OlJjPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6RnVuY3Rpb24+Pjo6ZHJvcF9zbG93lgF8PHN0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjpTdGF0aWNTdHJQYXlsb2FkIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnBhbmljOjpQYW5pY1BheWxvYWQ+Ojp0YWtlX2JveJcBLGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnBhbmlja2luZzo6cGFuaWNfZm10mAEtY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3B0aW9uOjpleHBlY3RfZmFpbGVkmQERX193YmluZGdlbl9tYWxsb2OaAXM8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OkZvcm1hdFN0cmluZ1BheWxvYWQgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEaXNwbGF5Pjo6Zm10mwFEPGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6Rm9ybWF0dGVyPjo6cGFkX2ludGVncmFsOjp3cml0ZV9wcmVmaXicARJfX3diaW5kZ2VuX3JlYWxsb2OdARpfX3diaW5kZ2VuX2Rlc3Ryb3lfY2xvc3VyZZ4BNGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmNlbGw6OnBhbmljX2FscmVhZHlfYm9ycm93ZWSfATxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpjZWxsOjpwYW5pY19hbHJlYWR5X211dGFibHlfYm9ycm93ZWSgASZ3YXNtcGF0dGVybnJ1bnRpbWVfbmV3IG11bHRpdmFsdWUgc2hpbaEBQHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OmJ1aWxkX21hdGNoX29iamVjdDo6e2Nsb3N1cmUjMX2iASxfX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpydXN0X2JlZ2luX3Vud2luZKMBL3dhc21wYXR0ZXJuX2VtaXQgZXh0ZXJucmVmIHNoaW0gbXVsdGl2YWx1ZSBzaGltpAEmc3RkWzliNjE3OTE1MTc5NDYyMTRdOjphbGxvYzo6cnVzdF9vb22lASh3YXNtY29tcGlsZWRwYXR0ZXJuX25hbWUgbXVsdGl2YWx1ZSBzaGltpgEvd2FzbXBhdHRlcm5ydW50aW1lX25leHREZWFkbGluZSBtdWx0aXZhbHVlIHNoaW2nAeUBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHUzMiwganNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpBcnJheSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0cnVlPqgBWjxqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkZ1bmN0aW9uPF8+Pjo6Y2FsbDI6Ol9fd2JnX2NhbGxfNDBlNDE3NGYxNjllYWNhNyBleHRlcm5yZWYgc2hpbakBfmNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8PHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QYXR0ZXJuUnVudGltZT46OnNldF9kcm9wX2hhbmRsZXI6OntjbG9zdXJlIzB9PqoBamNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6YnVpbGRfbWF0Y2hfb2JqZWN0Ojp7Y2xvc3VyZSMwfT6rAWpjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwdHI6OmRyb3BfZ2x1ZTo6PHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OmJ1aWxkX21hdGNoX29iamVjdDo6e2Nsb3N1cmUjNH0+rAG5AXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OlNldCwgKCksIHRydWU+rQG8AXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgdTMyLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkFycmF5LCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRydWU+rgGZAXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgdTMyLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkFycmF5LCBib29sLCB0cnVlPq8Bdndhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGk4LCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6SW50OEFycmF5LCAoKSwgdHJ1ZT6wAXp3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6OjxmNjQsIHUzMiwganNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpGbG9hdDY0QXJyYXksICgpLCB0cnVlPrEBendhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGYzMiwgdTMyLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkZsb2F0MTZBcnJheSwgKCksIHRydWU+sgF4d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8aTE2LCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6SW50MTZBcnJheSwgKCksIHRydWU+swF7d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8aTY0LCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6QmlnSW50NjRBcnJheSwgKCksIHRydWU+tAHOAndhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6RnVuY3Rpb248Zm4od2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlKSAtPiB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OnN5czo6VW5kZWZpbmVkPiwganNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpGdW5jdGlvbjxmbih3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUpIC0+IHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6c3lzOjpVbmRlZmluZWQ+LCAoKSwgdHJ1ZT61AZsBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIGkzMiwgdHJ1ZT62AVo8anNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpGdW5jdGlvbjxfPj46OmNhbGwxOjpfX3diZ19jYWxsXzljNzU4ZGUyOTIwMTU5OTcgZXh0ZXJucmVmIHNoaW23AUB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpidWlsZF9tYXRjaF9vYmplY3Q6OntjbG9zdXJlIzB9uAFzd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCBib29sLCB0cnVlPrkBbmNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OkZvcm1hdFN0cmluZ1BheWxvYWQ+ugEzc3RkWzliNjE3OTE1MTc5NDYyMTRdOjphbGxvYzo6cnVzdF9vb206OntjbG9zdXJlIzB9uwFtd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0cnVlPrwBUWNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nPr0BVGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nPlsxXb4Bd2NvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3B0aW9uOjpPcHRpb248YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnZlYzo6VmVjPHU4Pj4+vwFUY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cHRyOjpkcm9wX2dsdWU6OjxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmc+WzJdwAEmX19ydXN0Y1s2ZWY3OGZiYTEzYWM3NzZjXTo6X19yZGxfYWxsb2PBAVRjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwdHI6OmRyb3BfZ2x1ZTo6PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZz5bM13CASZ3YXNtcGF0dGVybnJ1bnRpbWVfcHVzaCBleHRlcm5yZWYgc2hpbcMBLmFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYXdfdmVjOjpoYW5kbGVfZXJyb3LEAShjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwYW5pY2tpbmc6OnBhbmljxQFhd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX2Vycm9yX25ldzo6X193YmdfRXJyb3JfZWY1M2JjMzEwZWIyOThhMCBleHRlcm5yZWYgc2hpbcYBsgFDbG9zdXJlKENsb3N1cmUgeyBvd25lZDogdHJ1ZSwgZnVuY3Rpb246IEZ1bmN0aW9uIHsgYXJndW1lbnRzOiBbU3RyaW5nXSwgc2hpbV9pZHg6IDE3LCByZXQ6IEV4dGVybnJlZiwgaW5uZXJfcmV0OiBTb21lKEV4dGVybnJlZikgfSwgbXV0YWJsZTogZmFsc2UgfSkgLT4gRXh0ZXJucmVmIGV4dGVybnJlZiBzaGltxwGsAUNsb3N1cmUoQ2xvc3VyZSB7IG93bmVkOiB0cnVlLCBmdW5jdGlvbjogRnVuY3Rpb24geyBhcmd1bWVudHM6IFtdLCBzaGltX2lkeDogMTksIHJldDogRXh0ZXJucmVmLCBpbm5lcl9yZXQ6IFNvbWUoRXh0ZXJucmVmKSB9LCBtdXRhYmxlOiBmYWxzZSB9KSAtPiBFeHRlcm5yZWYgZXh0ZXJucmVmIHNoaW3IASdSZWYoU3RyaW5nKSAtPiBFeHRlcm5yZWYgZXh0ZXJucmVmIHNoaW3JASd3YXNtcGF0dGVybl9ub3RUaGVuTmFtZWQgZXh0ZXJucmVmIHNoaW3KASR3YXNtcGF0dGVybl90aGVuTmFtZWQgZXh0ZXJucmVmIHNoaW3LAaUBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRydWU+IGV4dGVybnJlZiBzaGltzAEPX193YmluZGdlbl9mcmVlzQFWPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjphbnk6OkFueT46OnR5cGVfaWTOATM8JnN0ciBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjphbnk6OkFueT46OnR5cGVfaWTPATM8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpGb3JtYXR0ZXI+Ojp3cml0ZV9zdHLQAR9GNjQgLT4gRXh0ZXJucmVmIGV4dGVybnJlZiBzaGlt0QEfd2FzbXBhdHRlcm5fZW1pdCBleHRlcm5yZWYgc2hpbdIBVDwmZHluIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6RGVidWcgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEZWJ1Zz46OmZtdNMBYzxjb25zb2xlX2Vycm9yX3BhbmljX2hvb2tbMTJlM2UxMTZhNjY5MWMxOV06OkVycm9yPjo6bmV3OjpfX3diZ19uZXdfMjI3ZDdjMDU0MTRlYjg2MSBleHRlcm5yZWYgc2hpbdQBUjxqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06Ok9iamVjdD46Om5ldzo6X193YmdfbmV3X2NlMWFiNjFjMWMyYjMwMGQgZXh0ZXJucmVmIHNoaW3VAVE8anNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpBcnJheT46Om5ldzo6X193YmdfbmV3X2Q5MDA5MWI4MmZkZjViOTEgZXh0ZXJucmVmIHNoaW3WAVFqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OlJlZmxlY3Q6OnNldDo6X193Ymdfc2V0XzZlMzBjOTM3NGMyNjQxNGMgZXh0ZXJucmVmIHNoaW3XASV3YXNtcGF0dGVybl9ub3RCZXR3ZWVuIGV4dGVybnJlZiBzaGlt2AEid2FzbXBhdHRlcm5fbm90VGhlbiBleHRlcm5yZWYgc2hpbdkBH3dhc21wYXR0ZXJuX3RoZW4gZXh0ZXJucmVmIHNoaW3aASR3YXNtcGF0dGVybl90aW1lc3RhbXAgZXh0ZXJucmVmIHNoaW3bAR93YXNtcGF0dGVybl93aGVuIGV4dGVybnJlZiBzaGlt3AEwd2FzbXBhdHRlcm5ydW50aW1lX3NldERyb3BIYW5kbGVyIGV4dGVybnJlZiBzaGlt3QEmd2FzbXBhdHRlcm5ydW50aW1lX3RpY2sgZXh0ZXJucmVmIHNoaW3eAXx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6Ojx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRydWU+IGV4dGVybnJlZiBzaGlt3wFWPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRpc3BsYXk+OjpmbXTgATM8JnN0ciBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRpc3BsYXk+OjpmbXThASlfX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpfX3J1c3RfcmVhbGxvY+IBFF9fd2JpbmRnZW5fZXhuX3N0b3Jl4wE2PCZzdHIgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEaXNwbGF5Pjo6Zm10WzFd5AF3PHN0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjpTdGF0aWNTdHJQYXlsb2FkIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnBhbmljOjpQYW5pY1BheWxvYWQ+OjpnZXTlAXA8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OlN0YXRpY1N0clBheWxvYWQgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEaXNwbGF5Pjo6Zm105gE2PCZzdHIgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEaXNwbGF5Pjo6Zm10WzJd5wEbX193YmluZGdlbl9vYmplY3RfY2xvbmVfcmVm6AEnd2FzbXBhdHRlcm5ydW50aW1lX2ZsdXNoIGV4dGVybnJlZiBzaGlt6QEpX19ydXN0Y1s2ZWY3OGZiYTEzYWM3NzZjXTo6X19ydXN0X2RlYWxsb2PqAVo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6V3JpdGU+Ojp3cml0ZV9mbXTrATN3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fd2JpbmRnZW5faXNfZmFsc3nsASVfX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpydXN0X3Bhbmlj7QFdPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OldyaXRlPjo6d3JpdGVfZm10WzFd7gEzYWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OmNhcGFjaXR5X292ZXJmbG937wFdPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OldyaXRlPjo6d3JpdGVfZm10WzJd8AEtY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3B0aW9uOjp1bndyYXBfZmFpbGVk8QFIY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cGFuaWNraW5nOjpwYW5pY19jb25zdDo6cGFuaWNfY29uc3RfYWRkX292ZXJmbG938gFWPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6QXJyYXk8Xz4+OjpwdXNoOjpfX3diZ19wdXNoX2E2ODIyMjE1YWE0M2U3MWMgZXh0ZXJucmVmIHNoaW3zASdfX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpfX3J1c3RfYWxsb2P0AU88Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpFcnJvciBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRlYnVnPjo6Zm109QEpd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjp0aHJvd19zdHL2ATB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fcnQ6OnRocm93X251bGz3ATF3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fcnQ6OmJvcnJvd19mYWls+AE1X19ydXN0Y1s2ZWY3OGZiYTEzYWM3NzZjXTo6X19ydXN0X2FsbG9jX2Vycm9yX2hhbmRsZXL5AXo8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OlN0YXRpY1N0clBheWxvYWQgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cGFuaWM6OlBhbmljUGF5bG9hZD46OmFzX3N0cvoBMmFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjphbGxvYzo6aGFuZGxlX2FsbG9jX2Vycm9y+wFSPGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6RXJyb3IgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEZWJ1Zz46OmZtdFsxXfwBWzxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpjZWxsOjpCb3Jyb3dNdXRFcnJvciBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRpc3BsYXk+OjpmbXT9AVg8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Y2VsbDo6Qm9ycm93RXJyb3IgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEaXNwbGF5Pjo6Zm10/gEyPHN0ciBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRpc3BsYXk+OjpmbXT/AWc8Y29uc29sZV9lcnJvcl9wYW5pY19ob29rWzEyZTNlMTE2YTY2OTFjMTldOjpFcnJvcj46OnN0YWNrOjpfX3diZ19zdGFja18zYjBkOTc0YmJmMzFlNDRmIGV4dGVybnJlZiBzaGltgAJyd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX251bWJlcl9nZXQ6Ol9fd2JnX19fd2JpbmRnZW5fbnVtYmVyX2dldF85YmIxNzYxMTIyMTgxYWYyIGV4dGVybnJlZiBzaGltgQIwd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX3Rocm93ggI0d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX2Vycm9yX25ld4MCe3N0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6c3lzOjpiYWNrdHJhY2U6Ol9fcnVzdF9lbmRfc2hvcnRfYmFja3RyYWNlOjo8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjphbGxvYzo6cnVzdF9vb206OntjbG9zdXJlIzB9LCAhPoQChAFzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnN5czo6YmFja3RyYWNlOjpfX3J1c3RfZW5kX3Nob3J0X2JhY2t0cmFjZTo6PHN0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjp7Y2xvc3VyZSMwfSwgIT6FAjZzdGRbOWI2MTc5MTUxNzk0NjIxNF06OmFsbG9jOjpkZWZhdWx0X2FsbG9jX2Vycm9yX2hvb2uGAkBzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmlja2luZzo6cGFuaWNfY291bnQ6OmlzX3plcm9fc2xvd19wYXRohwJ1PHN0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6cGFuaWNraW5nOjpiZWdpbl9wYW5pYzo6UGF5bG9hZDwmc3RyPiBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwYW5pYzo6UGFuaWNQYXlsb2FkPjo6YXNfc3RyiAJud2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX2lzX2ZhbHN5OjpfX3diZ19fX3diaW5kZ2VuX2lzX2ZhbHN5X2Q3ZWQ0OTg0MGU2ZDlhYmIgZXh0ZXJucmVmIHNoaW2JArABPGNvbnNvbGVfZXJyb3JfcGFuaWNfaG9va1sxMmUzZTExNmE2NjkxYzE5XTo6aG9vayBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpvcHM6OmZ1bmN0aW9uOjpGbk9uY2U8KCZzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmljOjpQYW5pY0hvb2tJbmZvLCk+Pjo6Y2FsbF9vbmNlOjp7c2hpbTp2dGFibGUjMH2KApYBPGNvbnNvbGVfZXJyb3JfcGFuaWNfaG9va1sxMmUzZTExNmE2NjkxYzE5XTo6aG9vayBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpvcHM6OmZ1bmN0aW9uOjpGbjwoJnN0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6cGFuaWM6OlBhbmljSG9va0luZm8sKT4+OjpjYWxsiwKdATxjb25zb2xlX2Vycm9yX3BhbmljX2hvb2tbMTJlM2UxMTZhNjY5MWMxOV06Omhvb2sgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3BzOjpmdW5jdGlvbjo6Rm5NdXQ8KCZzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmljOjpQYW5pY0hvb2tJbmZvLCk+Pjo6Y2FsbF9tdXSMAi1fX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpfX3J1c3Rfc3RhcnRfcGFuaWOOAj5fX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpfX3J1c3Rfbm9fYWxsb2Nfc2hpbV9pc191bnN0YWJsZV92Mo8CJjxqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkFycmF5Pjo6bmV3kAInPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6T2JqZWN0Pjo6bmV3kQInX19ydXN0Y1s2ZWY3OGZiYTEzYWM3NzZjXTo6X19ydXN0X2Fib3J0BRgBARVfX3diaW5kZ2VuX2V4dGVybnJlZnMHEgEAD19fc3RhY2tfcG9pbnRlcgkRAgAHLnJvZGF0YQEFLmRhdGEAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTcuMSAoOGJhYjI2ZjRmIDIwMjYtMDctMTQpBndhbHJ1cwYwLjI2LjIMd2FzbS1iaW5kZ2VuEzAuMi4xMjIgKGRkZDMyMjUxNCkAlAEPdGFyZ2V0X2ZlYXR1cmVzCCsLYnVsay1tZW1vcnkrD2J1bGstbWVtb3J5LW9wdCsWY2FsbC1pbmRpcmVjdC1vdmVybG9uZysKbXVsdGl2YWx1ZSsPbXV0YWJsZS1nbG9iYWxzKxNub250cmFwcGluZy1mcHRvaW50Kw9yZWZlcmVuY2UtdHlwZXMrCHNpZ24tZXh0", import.meta.url));
|
|
367
|
-
const A = tA();
|
|
368
|
-
(typeof I == "string" || typeof Request == "function" && I instanceof Request || typeof URL == "function" && I instanceof URL) && (I = fetch(I));
|
|
369
|
-
const { instance: g, module: Q } = await dA(await I, A);
|
|
370
|
-
return hA(g);
|
|
371
|
-
}
|
|
372
|
-
const x = "tflo_session_id";
|
|
373
|
-
function rA() {
|
|
374
|
-
let I = sessionStorage.getItem(x);
|
|
375
|
-
return I || (I = crypto.randomUUID(), sessionStorage.setItem(x, I)), I;
|
|
376
|
-
}
|
|
377
|
-
function aA(I) {
|
|
378
|
-
return (A) => ({
|
|
379
|
-
...A,
|
|
380
|
-
payload: {
|
|
381
|
-
...A.payload,
|
|
382
|
-
app_id: I.appId,
|
|
383
|
-
environment: I.environment,
|
|
384
|
-
session_id: I.sessionId,
|
|
385
|
-
...I.userIdHash ? { user_id_hash: I.userIdHash } : {},
|
|
386
|
-
...I.tenantIdHash ? { tenant_id_hash: I.tenantIdHash } : {}
|
|
387
|
-
}
|
|
388
|
-
});
|
|
389
|
-
}
|
|
390
|
-
const NA = (I) => {
|
|
391
|
-
const A = I.dataset;
|
|
392
|
-
return A && typeof A.sectionId == "string" ? A.sectionId : I.id ? I.id : I.tagName.toLowerCase();
|
|
393
|
-
};
|
|
394
|
-
function P(I, A) {
|
|
395
|
-
const g = new Set(I.emit ?? ["enter", "exit", "dwell"]), Q = I.sectionIdFrom ?? NA, C = I.now ?? (() => performance.now()), B = I.observerImpl ?? ((t, i) => new IntersectionObserver(t, i)), E = YA(I.target, I.selector), e = /* @__PURE__ */ new Map(), n = B((t) => {
|
|
396
|
-
for (const i of t) {
|
|
397
|
-
const c = Q(i.target), l = C(), h = i.intersectionRatio;
|
|
398
|
-
if (i.isIntersecting) {
|
|
399
|
-
if (e.has(i.target))
|
|
400
|
-
continue;
|
|
401
|
-
e.set(i.target, { ts: l, sectionId: c }), g.has("enter") && A({
|
|
402
|
-
ts: l,
|
|
403
|
-
kind: "viewport:enter",
|
|
404
|
-
fields: { sectionId: c, intersectionRatio: h }
|
|
405
|
-
});
|
|
406
|
-
} else {
|
|
407
|
-
const d = e.get(i.target);
|
|
408
|
-
if (!d)
|
|
409
|
-
continue;
|
|
410
|
-
e.delete(i.target), g.has("exit") && A({
|
|
411
|
-
ts: l,
|
|
412
|
-
kind: "viewport:exit",
|
|
413
|
-
fields: { sectionId: c, intersectionRatio: h }
|
|
414
|
-
}), g.has("dwell") && A({
|
|
415
|
-
ts: l,
|
|
416
|
-
kind: "viewport:dwell",
|
|
417
|
-
fields: {
|
|
418
|
-
sectionId: c,
|
|
419
|
-
entryTs: d.ts,
|
|
420
|
-
exitTs: l,
|
|
421
|
-
durationMs: l - d.ts
|
|
422
|
-
}
|
|
423
|
-
});
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
}, {
|
|
427
|
-
threshold: I.threshold ?? 0.5,
|
|
428
|
-
rootMargin: I.rootMargin
|
|
429
|
-
});
|
|
430
|
-
for (const t of E)
|
|
431
|
-
n.observe(t);
|
|
432
|
-
return () => {
|
|
433
|
-
if (n.disconnect(), !g.has("exit") && !g.has("dwell"))
|
|
434
|
-
return;
|
|
435
|
-
const t = C();
|
|
436
|
-
for (const [i, c] of e) {
|
|
437
|
-
const l = Q(i);
|
|
438
|
-
g.has("exit") && A({
|
|
439
|
-
ts: t,
|
|
440
|
-
kind: "viewport:exit",
|
|
441
|
-
fields: { sectionId: l, intersectionRatio: 0 }
|
|
442
|
-
}), g.has("dwell") && A({
|
|
443
|
-
ts: t,
|
|
444
|
-
kind: "viewport:dwell",
|
|
445
|
-
fields: {
|
|
446
|
-
sectionId: l,
|
|
447
|
-
entryTs: c.ts,
|
|
448
|
-
exitTs: t,
|
|
449
|
-
durationMs: t - c.ts
|
|
450
|
-
}
|
|
451
|
-
});
|
|
452
|
-
}
|
|
453
|
-
e.clear();
|
|
454
|
-
};
|
|
455
|
-
}
|
|
456
|
-
function YA(I, A) {
|
|
457
|
-
if (Array.isArray(I))
|
|
458
|
-
return I;
|
|
459
|
-
if ("length" in I && typeof I.item == "function")
|
|
460
|
-
return Array.from(I);
|
|
461
|
-
const g = I;
|
|
462
|
-
return A ? Array.from(g.querySelectorAll(A)) : g instanceof Element ? [g] : [];
|
|
463
|
-
}
|
|
464
|
-
class mA {
|
|
465
|
-
constructor(A) {
|
|
466
|
-
o(this, "inner");
|
|
467
|
-
o(this, "finalized", !1);
|
|
468
|
-
this.inner = new r(A);
|
|
469
|
-
}
|
|
470
|
-
timestamp(A) {
|
|
471
|
-
return this.inner = this.inner.timestamp((g) => A(g)), this;
|
|
472
|
-
}
|
|
473
|
-
when(A) {
|
|
474
|
-
return this.inner = this.inner.when((g) => A(g)), this;
|
|
475
|
-
}
|
|
476
|
-
then(A) {
|
|
477
|
-
return this.inner = this.inner.then((g) => A(g)), this;
|
|
478
|
-
}
|
|
479
|
-
thenNamed(A, g) {
|
|
480
|
-
return this.inner = this.inner.thenNamed(A, (Q) => g(Q)), this;
|
|
481
|
-
}
|
|
482
|
-
notThen(A) {
|
|
483
|
-
return this.inner = this.inner.notThen((g) => A(g)), this;
|
|
484
|
-
}
|
|
485
|
-
notThenNamed(A, g) {
|
|
486
|
-
return this.inner = this.inner.notThenNamed(A, (Q) => g(Q)), this;
|
|
487
|
-
}
|
|
488
|
-
within(A) {
|
|
489
|
-
return this.inner = this.inner.within(A), this;
|
|
490
|
-
}
|
|
491
|
-
emit(A) {
|
|
492
|
-
const g = this.inner.emit((Q) => A(Q));
|
|
493
|
-
return this.finalized = !0, new DA(g);
|
|
494
|
-
}
|
|
495
|
-
destroy() {
|
|
496
|
-
this.finalized || this.inner.free();
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
class DA {
|
|
500
|
-
constructor(A) {
|
|
501
|
-
o(this, "name");
|
|
502
|
-
o(this, "inner");
|
|
503
|
-
this.inner = A, this.name = A.name;
|
|
504
|
-
}
|
|
505
|
-
destroy() {
|
|
506
|
-
this.inner.free();
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
class MA {
|
|
510
|
-
constructor(A) {
|
|
511
|
-
o(this, "inner");
|
|
512
|
-
o(this, "patternName");
|
|
513
|
-
this.inner = new p(A.inner), this.patternName = A.name;
|
|
514
|
-
}
|
|
515
|
-
push(A) {
|
|
516
|
-
const g = this.inner.push(A);
|
|
517
|
-
return this.normalize(g);
|
|
518
|
-
}
|
|
519
|
-
flush() {
|
|
520
|
-
const A = this.inner.flush();
|
|
521
|
-
return this.normalize(A);
|
|
522
|
-
}
|
|
523
|
-
reset() {
|
|
524
|
-
this.inner.reset();
|
|
525
|
-
}
|
|
526
|
-
destroy() {
|
|
527
|
-
this.inner.free();
|
|
528
|
-
}
|
|
529
|
-
normalize(A) {
|
|
530
|
-
const g = [], Q = performance.now();
|
|
531
|
-
for (const C of A) {
|
|
532
|
-
const B = C ?? {};
|
|
533
|
-
g.push({
|
|
534
|
-
name: B.name ?? this.patternName,
|
|
535
|
-
ts: B.ts ?? Q,
|
|
536
|
-
payload: B.payload ?? {},
|
|
537
|
-
sinks: B.sinks
|
|
538
|
-
});
|
|
539
|
-
}
|
|
540
|
-
return g;
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
class bA {
|
|
544
|
-
constructor(A = {}) {
|
|
545
|
-
o(this, "name");
|
|
546
|
-
o(this, "level");
|
|
547
|
-
this.name = A.name ?? "console", this.level = A.level ?? "log";
|
|
548
|
-
}
|
|
549
|
-
send(A) {
|
|
550
|
-
console[this.level]("[tflo]", A.name, A.payload, `ts=${A.ts}`);
|
|
551
|
-
}
|
|
552
|
-
}
|
|
553
|
-
const L = 50, kA = 1e3, $ = 6e4, GA = 5, JA = 3, wA = /* @__PURE__ */ new Set([408, 429, 500, 502, 503, 504]), ZA = 4294967295, FA = 16384, yA = new TextEncoder();
|
|
554
|
-
function R(I) {
|
|
555
|
-
return yA.encode(I).length;
|
|
556
|
-
}
|
|
557
|
-
function fA(I) {
|
|
558
|
-
return JSON.stringify({ batch: I });
|
|
559
|
-
}
|
|
560
|
-
function M(I, A, g) {
|
|
561
|
-
if (I === void 0)
|
|
562
|
-
return A;
|
|
563
|
-
if (!Number.isFinite(I) || I <= 0)
|
|
564
|
-
throw new RangeError(`EdgeSink: ${g} must be a positive number`);
|
|
565
|
-
return Math.max(1, Math.floor(I));
|
|
566
|
-
}
|
|
567
|
-
function WA(I) {
|
|
568
|
-
return globalThis.crypto.getRandomValues(new Uint8Array(I));
|
|
569
|
-
}
|
|
570
|
-
function uA(I, A) {
|
|
571
|
-
const g = new Uint8Array(16);
|
|
572
|
-
g.set(A(16).subarray(0, 16));
|
|
573
|
-
let Q = Math.max(0, Math.floor(I));
|
|
574
|
-
for (let B = 5; B >= 0; B--)
|
|
575
|
-
g[B] = Q % 256, Q = Math.floor(Q / 256);
|
|
576
|
-
g[6] = 112 | g[6] & 15, g[8] = 128 | g[8] & 63;
|
|
577
|
-
const C = Array.from(g, (B) => B.toString(16).padStart(2, "0")).join("");
|
|
578
|
-
return `${C.slice(0, 8)}-${C.slice(8, 12)}-${C.slice(12, 16)}-${C.slice(16, 20)}-${C.slice(20)}`;
|
|
579
|
-
}
|
|
580
|
-
function jA(I, A) {
|
|
581
|
-
if (I === null)
|
|
582
|
-
return 0;
|
|
583
|
-
const g = I.trim();
|
|
584
|
-
if (g === "")
|
|
585
|
-
return 0;
|
|
586
|
-
let Q;
|
|
587
|
-
if (/^\d+$/.test(g))
|
|
588
|
-
Q = Number(g) * 1e3;
|
|
589
|
-
else {
|
|
590
|
-
const C = Date.parse(g);
|
|
591
|
-
if (Number.isNaN(C))
|
|
592
|
-
return 0;
|
|
593
|
-
Q = C - A;
|
|
594
|
-
}
|
|
595
|
-
return Math.min($, Math.max(0, Q));
|
|
596
|
-
}
|
|
597
|
-
class XA {
|
|
598
|
-
constructor(A) {
|
|
599
|
-
o(this, "name");
|
|
600
|
-
o(this, "endpoint");
|
|
601
|
-
o(this, "batchSize");
|
|
602
|
-
o(this, "maxBatchBytes");
|
|
603
|
-
o(this, "batchIntervalMs");
|
|
604
|
-
o(this, "contentType");
|
|
605
|
-
o(this, "headers");
|
|
606
|
-
o(this, "maxQueueEvents");
|
|
607
|
-
o(this, "maxQueueBytes");
|
|
608
|
-
o(this, "fetchImpl");
|
|
609
|
-
o(this, "sendBeacon");
|
|
610
|
-
o(this, "now");
|
|
611
|
-
o(this, "random");
|
|
612
|
-
o(this, "randomBytes");
|
|
613
|
-
o(this, "onDrop");
|
|
614
|
-
o(this, "encodeBody");
|
|
615
|
-
o(this, "transform");
|
|
616
|
-
o(this, "pageEndBudget");
|
|
617
|
-
o(this, "pageEndBytes");
|
|
618
|
-
o(this, "droppedSinceLastSend", 0);
|
|
619
|
-
o(this, "queue", []);
|
|
620
|
-
o(this, "queueBytes", 0);
|
|
621
|
-
o(this, "seq", 0);
|
|
622
|
-
o(this, "dropped", 0);
|
|
623
|
-
o(this, "sent", 0);
|
|
624
|
-
o(this, "inFlight", 0);
|
|
625
|
-
o(this, "sending", null);
|
|
626
|
-
o(this, "batchTimer", null);
|
|
627
|
-
o(this, "retryTimer", null);
|
|
628
|
-
o(this, "retryPending", !1);
|
|
629
|
-
o(this, "waitingForOnline", !1);
|
|
630
|
-
o(this, "attempts", 0);
|
|
631
|
-
o(this, "closed", !1);
|
|
632
|
-
o(this, "unbinders", []);
|
|
633
|
-
const g = A.profile === "journeeze";
|
|
634
|
-
if (this.name = A.name ?? "edge", this.endpoint = A.endpoint, this.batchSize = Math.min(L, M(A.batchSize, g ? L : 20, "batchSize")), this.maxBatchBytes = M(A.maxBatchBytes, 32768, "maxBatchBytes"), this.batchIntervalMs = M(A.batchIntervalMs, g ? 5e3 : 1e3, "batchIntervalMs"), g && A.contentType === "application/json")
|
|
635
|
-
throw new TypeError('EdgeSink: the "journeeze" profile sends text/plain only (no preflight)');
|
|
636
|
-
if (this.contentType = g ? "text/plain" : A.contentType ?? "application/json", this.headers = A.headers ?? {}, this.contentType === "text/plain" && Object.keys(this.headers).length > 0)
|
|
637
|
-
throw new TypeError('EdgeSink: custom headers force a CORS preflight; they are not allowed with contentType "text/plain"');
|
|
638
|
-
this.maxQueueEvents = M(A.maxQueueEvents, 200, "maxQueueEvents"), this.maxQueueBytes = M(A.maxQueueBytes, 262144, "maxQueueBytes"), this.fetchImpl = A.fetchImpl ?? globalThis.fetch.bind(globalThis), this.sendBeacon = A.sendBeacon ?? this.resolveSendBeacon(), this.now = A.now ?? Date.now, this.random = A.random ?? Math.random, this.randomBytes = A.randomBytes ?? WA, this.onDrop = A.onDrop, this.encodeBody = A.encode ?? fA, this.transform = A.transform, this.pageEndBudget = A.pageEndBudget, this.pageEndBytes = g ? Math.min(FA, this.maxBatchBytes) : this.maxBatchBytes, (A.bindPageLifecycle ?? !0) && this.bindPageLifecycle();
|
|
639
|
-
}
|
|
640
|
-
stats() {
|
|
641
|
-
return { queued: this.queue.length, dropped: this.dropped, sent: this.sent };
|
|
642
|
-
}
|
|
643
|
-
send(A) {
|
|
644
|
-
if (this.closed)
|
|
645
|
-
return;
|
|
646
|
-
const g = this.transform ? this.transform(A) : { ...A };
|
|
647
|
-
if (g === null)
|
|
648
|
-
return;
|
|
649
|
-
this.seq = this.seq >= ZA ? 1 : this.seq + 1;
|
|
650
|
-
const Q = {
|
|
651
|
-
...g,
|
|
652
|
-
event_id: uA(this.now(), this.randomBytes),
|
|
653
|
-
seq: this.seq
|
|
654
|
-
}, C = R(JSON.stringify(Q));
|
|
655
|
-
if (this.encodedBytes([{ wire: Q, bytes: C }]) > this.maxBatchBytes) {
|
|
656
|
-
this.drop("oversize", 1);
|
|
657
|
-
return;
|
|
658
|
-
}
|
|
659
|
-
if (this.queue.push({ wire: Q, bytes: C }), this.queueBytes += C, this.enforceQueueCap(), !(this.retryPending || this.sending)) {
|
|
660
|
-
if (this.queue.length >= this.batchSize) {
|
|
661
|
-
this.pump();
|
|
662
|
-
return;
|
|
663
|
-
}
|
|
664
|
-
this.scheduleBatch();
|
|
665
|
-
}
|
|
666
|
-
}
|
|
667
|
-
async flush(A = {}) {
|
|
668
|
-
if (!this.closed) {
|
|
669
|
-
if (A.unloading || this.documentHidden()) {
|
|
670
|
-
this.pageEnd();
|
|
671
|
-
return;
|
|
672
|
-
}
|
|
673
|
-
this.clearBatchTimer(), !this.retryPending && await this.pump();
|
|
674
|
-
}
|
|
675
|
-
}
|
|
676
|
-
close() {
|
|
677
|
-
if (!this.closed) {
|
|
678
|
-
this.closed = !0, this.clearBatchTimer(), this.clearRetryTimer();
|
|
679
|
-
for (const A of this.unbinders.splice(0))
|
|
680
|
-
A();
|
|
681
|
-
}
|
|
682
|
-
}
|
|
683
|
-
pump() {
|
|
684
|
-
return this.sending ? this.sending : (this.sending = this.drain().finally(() => {
|
|
685
|
-
this.sending = null;
|
|
686
|
-
}), this.sending);
|
|
687
|
-
}
|
|
688
|
-
async drain() {
|
|
689
|
-
for (this.clearBatchTimer(); !this.closed && !this.retryPending && this.queue.length > 0; ) {
|
|
690
|
-
const A = this.takeBatch(this.maxBatchBytes);
|
|
691
|
-
this.inFlight = A.length;
|
|
692
|
-
const g = await this.post(A);
|
|
693
|
-
if (this.closed)
|
|
694
|
-
return;
|
|
695
|
-
const Q = this.inFlight === A.length && this.queue[0] === A[0];
|
|
696
|
-
if (this.inFlight = 0, !Q)
|
|
697
|
-
continue;
|
|
698
|
-
if (g.kind === "ok") {
|
|
699
|
-
this.removeHead(A.length), this.sent += A.length, this.droppedSinceLastSend = 0, this.attempts = 0;
|
|
700
|
-
continue;
|
|
701
|
-
}
|
|
702
|
-
if (g.kind === "drop") {
|
|
703
|
-
this.removeHead(A.length), this.drop("non_retriable", A.length), this.attempts = 0;
|
|
704
|
-
continue;
|
|
705
|
-
}
|
|
706
|
-
this.attempts += 1;
|
|
707
|
-
const C = g.network ? JA : GA;
|
|
708
|
-
if (this.attempts > C) {
|
|
709
|
-
this.removeHead(A.length), this.drop("retries_exhausted", A.length), this.attempts = 0;
|
|
710
|
-
continue;
|
|
711
|
-
}
|
|
712
|
-
this.scheduleRetry(g.retryAfterMs);
|
|
713
|
-
return;
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
|
-
async post(A) {
|
|
717
|
-
let g;
|
|
718
|
-
try {
|
|
719
|
-
g = await this.fetchImpl(this.endpoint, {
|
|
720
|
-
method: "POST",
|
|
721
|
-
headers: this.requestHeaders(),
|
|
722
|
-
body: this.encode(A)
|
|
723
|
-
});
|
|
724
|
-
} catch {
|
|
725
|
-
return { kind: "retry", network: !0, retryAfterMs: 0 };
|
|
726
|
-
}
|
|
727
|
-
return g.ok ? { kind: "ok" } : wA.has(g.status) ? {
|
|
728
|
-
kind: "retry",
|
|
729
|
-
network: !1,
|
|
730
|
-
retryAfterMs: jA(g.headers.get("retry-after"), this.now())
|
|
731
|
-
} : { kind: "drop" };
|
|
732
|
-
}
|
|
733
|
-
scheduleRetry(A) {
|
|
734
|
-
if (this.retryPending = !0, this.isOffline()) {
|
|
735
|
-
this.waitingForOnline = !0;
|
|
736
|
-
return;
|
|
737
|
-
}
|
|
738
|
-
const g = Math.min($, kA * 2 ** (this.attempts - 1)) * (0.5 + this.random());
|
|
739
|
-
this.retryTimer = setTimeout(() => {
|
|
740
|
-
this.retryTimer = null, this.resumeAfterRetryWait();
|
|
741
|
-
}, Math.max(g, A));
|
|
742
|
-
}
|
|
743
|
-
resumeAfterRetryWait() {
|
|
744
|
-
this.retryPending = !1, this.waitingForOnline = !1, this.pump();
|
|
745
|
-
}
|
|
746
|
-
pageEnd() {
|
|
747
|
-
if (this.clearBatchTimer(), this.queue.length === 0 || !this.sendBeacon)
|
|
748
|
-
return;
|
|
749
|
-
const A = this.pageEndBudget ? Math.min(this.maxBatchBytes, Math.max(0, this.pageEndBudget.available())) : this.pageEndBytes, g = this.takeBatch(A);
|
|
750
|
-
if (g.length === 0)
|
|
751
|
-
return;
|
|
752
|
-
const Q = this.encode(g), C = this.contentType === "text/plain" ? "text/plain;charset=UTF-8" : "application/json";
|
|
753
|
-
let B = !1;
|
|
754
|
-
try {
|
|
755
|
-
B = this.sendBeacon(this.endpoint, new Blob([Q], { type: C }));
|
|
756
|
-
} catch {
|
|
757
|
-
B = !1;
|
|
758
|
-
}
|
|
759
|
-
if (!B)
|
|
760
|
-
return;
|
|
761
|
-
this.pageEndBudget?.commit(R(Q)), this.removeHead(g.length), this.sent += g.length, this.droppedSinceLastSend = 0;
|
|
762
|
-
const E = this.queue.length;
|
|
763
|
-
E > 0 && (this.queue = [], this.queueBytes = 0, this.drop("page_end_overflow", E)), this.inFlight = 0, this.attempts = 0, this.clearRetryTimer(), this.retryPending = !1, this.waitingForOnline = !1;
|
|
764
|
-
}
|
|
765
|
-
takeBatch(A) {
|
|
766
|
-
const g = [];
|
|
767
|
-
let Q = 0;
|
|
768
|
-
for (const C of this.queue) {
|
|
769
|
-
if (g.length >= this.batchSize || Q + C.bytes + 1 > A)
|
|
770
|
-
break;
|
|
771
|
-
g.push(C), Q += C.bytes + 1;
|
|
772
|
-
}
|
|
773
|
-
for (; g.length > 0 && this.encodedBytes(g) > A; )
|
|
774
|
-
g.pop();
|
|
775
|
-
return g;
|
|
776
|
-
}
|
|
777
|
-
encodedBytes(A) {
|
|
778
|
-
return R(this.encode(A));
|
|
779
|
-
}
|
|
780
|
-
removeHead(A) {
|
|
781
|
-
const g = this.queue.splice(0, A);
|
|
782
|
-
for (const Q of g)
|
|
783
|
-
this.queueBytes -= Q.bytes;
|
|
784
|
-
}
|
|
785
|
-
enforceQueueCap() {
|
|
786
|
-
let A = 0;
|
|
787
|
-
for (; this.queue.length > this.inFlight && (this.queue.length > this.maxQueueEvents || this.queueBytes > this.maxQueueBytes); ) {
|
|
788
|
-
const [g] = this.queue.splice(this.inFlight, 1);
|
|
789
|
-
this.queueBytes -= g.bytes, A += 1;
|
|
790
|
-
}
|
|
791
|
-
A > 0 && this.drop("queue_full", A);
|
|
792
|
-
}
|
|
793
|
-
encode(A) {
|
|
794
|
-
return this.encodeBody(A.map((g) => g.wire), { droppedSinceLastSend: this.droppedSinceLastSend });
|
|
795
|
-
}
|
|
796
|
-
requestHeaders() {
|
|
797
|
-
return this.contentType === "text/plain" ? { "content-type": "text/plain;charset=UTF-8" } : { "content-type": "application/json", ...this.headers };
|
|
798
|
-
}
|
|
799
|
-
drop(A, g) {
|
|
800
|
-
this.dropped += g, this.droppedSinceLastSend += g;
|
|
801
|
-
try {
|
|
802
|
-
this.onDrop?.(A, g);
|
|
803
|
-
} catch {
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
|
-
scheduleBatch() {
|
|
807
|
-
this.batchTimer === null && (this.batchTimer = setTimeout(() => {
|
|
808
|
-
this.batchTimer = null, this.pump();
|
|
809
|
-
}, this.batchIntervalMs));
|
|
810
|
-
}
|
|
811
|
-
clearBatchTimer() {
|
|
812
|
-
this.batchTimer !== null && (clearTimeout(this.batchTimer), this.batchTimer = null);
|
|
813
|
-
}
|
|
814
|
-
clearRetryTimer() {
|
|
815
|
-
this.retryTimer !== null && (clearTimeout(this.retryTimer), this.retryTimer = null);
|
|
816
|
-
}
|
|
817
|
-
documentHidden() {
|
|
818
|
-
return typeof document < "u" && document.visibilityState === "hidden";
|
|
819
|
-
}
|
|
820
|
-
isOffline() {
|
|
821
|
-
return typeof navigator < "u" && navigator.onLine === !1;
|
|
822
|
-
}
|
|
823
|
-
bindPageLifecycle() {
|
|
824
|
-
if (typeof document > "u" || typeof window > "u")
|
|
825
|
-
return;
|
|
826
|
-
const A = (g, Q, C) => {
|
|
827
|
-
g.addEventListener(Q, C), this.unbinders.push(() => g.removeEventListener(Q, C));
|
|
828
|
-
};
|
|
829
|
-
A(document, "visibilitychange", () => {
|
|
830
|
-
document.visibilityState === "hidden" ? this.pageEnd() : this.resend();
|
|
831
|
-
}), A(window, "pagehide", () => this.pageEnd()), A(window, "pageshow", () => this.resend()), A(window, "online", () => {
|
|
832
|
-
this.waitingForOnline && this.resumeAfterRetryWait();
|
|
833
|
-
});
|
|
834
|
-
}
|
|
835
|
-
resend() {
|
|
836
|
-
this.closed || this.retryPending || this.queue.length === 0 || this.pump();
|
|
837
|
-
}
|
|
838
|
-
resolveSendBeacon() {
|
|
839
|
-
const A = typeof navigator < "u" ? navigator : void 0;
|
|
840
|
-
if (A?.sendBeacon)
|
|
841
|
-
return (g, Q) => A.sendBeacon(g, Q);
|
|
842
|
-
}
|
|
843
|
-
}
|
|
844
|
-
class RA {
|
|
845
|
-
constructor(A = {}) {
|
|
846
|
-
o(this, "name");
|
|
847
|
-
o(this, "sendTo");
|
|
848
|
-
o(this, "gtagImpl");
|
|
849
|
-
this.name = A.name ?? "ga4", this.sendTo = A.sendTo, this.gtagImpl = A.gtag;
|
|
850
|
-
}
|
|
851
|
-
send(A) {
|
|
852
|
-
const g = this.gtagImpl ?? this.resolveGtag();
|
|
853
|
-
if (!g)
|
|
854
|
-
return;
|
|
855
|
-
const Q = { ...A.payload };
|
|
856
|
-
this.sendTo && (Q.send_to = this.sendTo), g("event", A.name, Q);
|
|
857
|
-
}
|
|
858
|
-
resolveGtag() {
|
|
859
|
-
const A = typeof globalThis < "u" ? globalThis : void 0;
|
|
860
|
-
if (A?.gtag)
|
|
861
|
-
return (g, Q, C) => A.gtag(g, Q, C);
|
|
862
|
-
}
|
|
863
|
-
}
|
|
864
|
-
class pA {
|
|
865
|
-
constructor(A = {}) {
|
|
866
|
-
o(this, "sinks", /* @__PURE__ */ new Map());
|
|
867
|
-
o(this, "onError");
|
|
868
|
-
this.onError = A.onError;
|
|
869
|
-
for (const g of A.sinks ?? [])
|
|
870
|
-
this.register(g);
|
|
871
|
-
}
|
|
872
|
-
register(A) {
|
|
873
|
-
this.sinks.set(A.name, A);
|
|
874
|
-
}
|
|
875
|
-
unregister(A) {
|
|
876
|
-
this.sinks.delete(A);
|
|
877
|
-
}
|
|
878
|
-
get size() {
|
|
879
|
-
return this.sinks.size;
|
|
880
|
-
}
|
|
881
|
-
async route(A) {
|
|
882
|
-
const g = this.resolveTargets(A), Q = [];
|
|
883
|
-
for (const C of g)
|
|
884
|
-
try {
|
|
885
|
-
const B = C.send(A);
|
|
886
|
-
B instanceof Promise && Q.push(B.catch((E) => {
|
|
887
|
-
this.onError?.(C.name, E);
|
|
888
|
-
}));
|
|
889
|
-
} catch (B) {
|
|
890
|
-
this.onError?.(C.name, B);
|
|
891
|
-
}
|
|
892
|
-
await Promise.all(Q);
|
|
893
|
-
}
|
|
894
|
-
async flushAll() {
|
|
895
|
-
const A = [];
|
|
896
|
-
for (const g of this.sinks.values()) {
|
|
897
|
-
const Q = g.flush;
|
|
898
|
-
if (Q)
|
|
899
|
-
try {
|
|
900
|
-
const C = Q.call(g);
|
|
901
|
-
C instanceof Promise && A.push(C.catch((B) => {
|
|
902
|
-
this.onError?.(g.name, B);
|
|
903
|
-
}));
|
|
904
|
-
} catch (C) {
|
|
905
|
-
this.onError?.(g.name, C);
|
|
906
|
-
}
|
|
907
|
-
}
|
|
908
|
-
await Promise.all(A);
|
|
909
|
-
}
|
|
910
|
-
resolveTargets(A) {
|
|
911
|
-
if (!A.sinks || A.sinks.length === 0)
|
|
912
|
-
return Array.from(this.sinks.values());
|
|
913
|
-
const g = [];
|
|
914
|
-
for (const Q of A.sinks) {
|
|
915
|
-
const C = this.sinks.get(Q);
|
|
916
|
-
C && g.push(C);
|
|
917
|
-
}
|
|
918
|
-
return g;
|
|
919
|
-
}
|
|
920
|
-
}
|
|
921
|
-
function zA(I) {
|
|
922
|
-
return I || (typeof sessionStorage < "u" ? rA() : crypto.randomUUID());
|
|
923
|
-
}
|
|
924
|
-
function OA(I) {
|
|
925
|
-
if (typeof document > "u")
|
|
926
|
-
return () => {
|
|
927
|
-
};
|
|
928
|
-
const A = () => {
|
|
929
|
-
document.visibilityState === "hidden" && I();
|
|
930
|
-
};
|
|
931
|
-
return document.addEventListener("visibilitychange", A), () => document.removeEventListener("visibilitychange", A);
|
|
932
|
-
}
|
|
933
|
-
class TA {
|
|
934
|
-
constructor(A = {}) {
|
|
935
|
-
o(this, "router");
|
|
936
|
-
o(this, "runtimes", /* @__PURE__ */ new Map());
|
|
937
|
-
o(this, "unbinders", []);
|
|
938
|
-
o(this, "consent");
|
|
939
|
-
o(this, "opts");
|
|
940
|
-
o(this, "stampIdentity");
|
|
941
|
-
o(this, "initialized", null);
|
|
942
|
-
if (this.opts = A, this.consent = A.consent, A.identity) {
|
|
943
|
-
const g = zA(A.identity.sessionId);
|
|
944
|
-
this.stampIdentity = aA({ ...A.identity, sessionId: g });
|
|
945
|
-
}
|
|
946
|
-
this.router = new pA({
|
|
947
|
-
sinks: A.sinks,
|
|
948
|
-
onError: A.onSinkError
|
|
949
|
-
}), this.unbinders.push(OA(() => {
|
|
950
|
-
this.router.flushAll();
|
|
951
|
-
}));
|
|
952
|
-
}
|
|
953
|
-
async init() {
|
|
954
|
-
if (!this.initialized) {
|
|
955
|
-
const A = this.opts.wasmUrl;
|
|
956
|
-
this.initialized = A ? U({ module_or_path: A }).then(() => {
|
|
957
|
-
}) : U().then(() => {
|
|
958
|
-
});
|
|
959
|
-
}
|
|
960
|
-
await this.initialized;
|
|
961
|
-
}
|
|
962
|
-
addPattern(A) {
|
|
963
|
-
const g = new MA(A);
|
|
964
|
-
return this.runtimes.set(A.name, g), g;
|
|
965
|
-
}
|
|
966
|
-
removePattern(A) {
|
|
967
|
-
const g = this.runtimes.get(A);
|
|
968
|
-
g && (g.destroy(), this.runtimes.delete(A));
|
|
969
|
-
}
|
|
970
|
-
ingest(A) {
|
|
971
|
-
const g = [];
|
|
972
|
-
for (const Q of this.runtimes.values())
|
|
973
|
-
for (const C of Q.push(A))
|
|
974
|
-
g.push(C);
|
|
975
|
-
return this.routeAll(g), g;
|
|
976
|
-
}
|
|
977
|
-
capture(A) {
|
|
978
|
-
const Q = z(A, (C) => {
|
|
979
|
-
this.ingest(C);
|
|
980
|
-
});
|
|
981
|
-
return this.unbinders.push(Q), Q;
|
|
982
|
-
}
|
|
983
|
-
captureViewport(A) {
|
|
984
|
-
const g = P(A, (Q) => {
|
|
985
|
-
this.ingest(Q);
|
|
986
|
-
});
|
|
987
|
-
return this.unbinders.push(g), g;
|
|
988
|
-
}
|
|
989
|
-
async flush() {
|
|
990
|
-
const A = [];
|
|
991
|
-
for (const g of this.runtimes.values())
|
|
992
|
-
for (const Q of g.flush())
|
|
993
|
-
A.push(Q);
|
|
994
|
-
this.routeAll(A), await this.router.flushAll();
|
|
995
|
-
}
|
|
996
|
-
destroy() {
|
|
997
|
-
for (const A of this.unbinders)
|
|
998
|
-
A();
|
|
999
|
-
this.unbinders.length = 0;
|
|
1000
|
-
for (const A of this.runtimes.values())
|
|
1001
|
-
A.destroy();
|
|
1002
|
-
this.runtimes.clear();
|
|
1003
|
-
}
|
|
1004
|
-
routeAll(A) {
|
|
1005
|
-
if (A.length !== 0 && !(this.consent && !this.consent()))
|
|
1006
|
-
for (const g of A)
|
|
1007
|
-
this.router.route(this.stampIdentity ? this.stampIdentity(g) : g);
|
|
1008
|
-
}
|
|
1009
|
-
}
|
|
1010
|
-
const AA = "[data-tflo-mask], [data-jz-mask]", VA = 80, SA = /* @__PURE__ */ new Set(["INPUT", "TEXTAREA", "SELECT", "OPTION"]), IA = '[contenteditable]:not([contenteditable="false"])';
|
|
1011
|
-
function v(I) {
|
|
1012
|
-
return SA.has(I.tagName) || I.isContentEditable ? !0 : I.matches(IA) || I.matches(AA);
|
|
1013
|
-
}
|
|
1014
|
-
function UA(I) {
|
|
1015
|
-
if (v(I) || I.closest(AA) || I.closest(IA))
|
|
1016
|
-
return null;
|
|
1017
|
-
const A = [], g = (C) => {
|
|
1018
|
-
for (let B = C.firstChild; B; B = B.nextSibling)
|
|
1019
|
-
B.nodeType === 3 ? A.push(B.nodeValue ?? "") : B.nodeType === 1 && !v(B) && g(B);
|
|
1020
|
-
};
|
|
1021
|
-
g(I);
|
|
1022
|
-
const Q = A.join(" ").replace(/\s+/g, " ").trim().slice(0, VA);
|
|
1023
|
-
return Q === "" ? null : Q;
|
|
1024
|
-
}
|
|
1025
|
-
function gA(I) {
|
|
1026
|
-
if (I === "")
|
|
1027
|
-
return "";
|
|
1028
|
-
const A = I.search(/[?#]/);
|
|
1029
|
-
return A === -1 ? I : I.slice(0, A);
|
|
1030
|
-
}
|
|
1031
|
-
function xA(I) {
|
|
1032
|
-
return I.replace(/\b([a-z][a-z0-9+.-]*:\/\/[^\s?#()'"<>]*)[?#][^\s()'"<>]*/gi, (A, g) => g + (/(:\d+){1,2}$/.exec(A)?.[0] ?? ""));
|
|
1033
|
-
}
|
|
1034
|
-
function LA(I) {
|
|
1035
|
-
const A = I.now ?? (() => performance.now()), g = (t) => I.fullUrls ? t : gA(t), Q = (t) => I.fullUrls ? t : xA(t), C = I.cfg.maxEvents ?? 50;
|
|
1036
|
-
let B = 0;
|
|
1037
|
-
const E = (t) => I.cfg.ignorePatterns ? I.cfg.ignorePatterns.some((i) => {
|
|
1038
|
-
try {
|
|
1039
|
-
return new RegExp(i).test(t);
|
|
1040
|
-
} catch {
|
|
1041
|
-
return t.includes(i);
|
|
1042
|
-
}
|
|
1043
|
-
}) : !1, e = (t) => {
|
|
1044
|
-
B >= C || (B++, I.handler(t));
|
|
1045
|
-
}, n = [];
|
|
1046
|
-
if (I.cfg.jsErrors !== !1) {
|
|
1047
|
-
const t = window.onerror;
|
|
1048
|
-
window.onerror = (i, c, l, h, d) => {
|
|
1049
|
-
const m = Q(typeof i == "string" ? i : String(i));
|
|
1050
|
-
E(m) || (e({
|
|
1051
|
-
ts: A(),
|
|
1052
|
-
kind: "error",
|
|
1053
|
-
fields: {
|
|
1054
|
-
source: "onerror",
|
|
1055
|
-
message: m,
|
|
1056
|
-
filename: c ? g(c) : void 0,
|
|
1057
|
-
lineno: l ?? void 0,
|
|
1058
|
-
colno: h ?? void 0,
|
|
1059
|
-
stack: d instanceof Error && d.stack ? Q(d.stack) : void 0
|
|
1060
|
-
},
|
|
1061
|
-
target: {
|
|
1062
|
-
id: "window",
|
|
1063
|
-
type: "source",
|
|
1064
|
-
selector: c ? g(c) : void 0
|
|
1065
|
-
}
|
|
1066
|
-
}), typeof t == "function" && t.call(window, i, c, l, h, d));
|
|
1067
|
-
}, n.push(() => {
|
|
1068
|
-
window.onerror = t;
|
|
1069
|
-
});
|
|
1070
|
-
}
|
|
1071
|
-
if (I.cfg.promiseRejections !== !1) {
|
|
1072
|
-
const t = (i) => {
|
|
1073
|
-
const c = i.reason, l = Q(c instanceof Error ? c.message : typeof c == "string" ? c : JSON.stringify(c).slice(0, 200));
|
|
1074
|
-
E(l) || e({
|
|
1075
|
-
ts: A(),
|
|
1076
|
-
kind: "error",
|
|
1077
|
-
fields: {
|
|
1078
|
-
source: "unhandledrejection",
|
|
1079
|
-
reason: l,
|
|
1080
|
-
stack: c instanceof Error && c.stack ? Q(c.stack) : void 0
|
|
1081
|
-
},
|
|
1082
|
-
target: { id: "promise", type: "source" }
|
|
1083
|
-
});
|
|
1084
|
-
};
|
|
1085
|
-
window.addEventListener("unhandledrejection", t), n.push(() => window.removeEventListener("unhandledrejection", t));
|
|
1086
|
-
}
|
|
1087
|
-
if (I.cfg.resourceErrors !== !1) {
|
|
1088
|
-
const t = (i) => {
|
|
1089
|
-
const c = i.target;
|
|
1090
|
-
if (!c || !("tagName" in c))
|
|
1091
|
-
return;
|
|
1092
|
-
const l = c, h = g(l.src || l.src || l.href || ""), d = `Failed to load ${l.tagName.toLowerCase()}: ${h}`;
|
|
1093
|
-
E(d) || e({
|
|
1094
|
-
ts: A(),
|
|
1095
|
-
kind: "error",
|
|
1096
|
-
fields: {
|
|
1097
|
-
source: "resource",
|
|
1098
|
-
resourceTag: c.tagName.toLowerCase(),
|
|
1099
|
-
resourceUrl: h
|
|
1100
|
-
},
|
|
1101
|
-
target: {
|
|
1102
|
-
id: "resource",
|
|
1103
|
-
type: c.tagName.toLowerCase(),
|
|
1104
|
-
selector: h
|
|
1105
|
-
}
|
|
1106
|
-
});
|
|
1107
|
-
};
|
|
1108
|
-
window.addEventListener("error", t, !0), n.push(() => window.removeEventListener("error", t, !0));
|
|
1109
|
-
}
|
|
1110
|
-
return () => {
|
|
1111
|
-
for (const t of n)
|
|
1112
|
-
t();
|
|
1113
|
-
};
|
|
1114
|
-
}
|
|
1115
|
-
function vA(I) {
|
|
1116
|
-
const A = I.cfg.milestones ?? [0.25, 0.5, 0.75, 1], g = I.cfg.throttleMs ?? 250, Q = I.cfg.directionChanges ?? !1, C = I.now ?? (() => performance.now()), B = /* @__PURE__ */ new Set();
|
|
1117
|
-
let E = 0, e = "down", n = null, t = !1;
|
|
1118
|
-
const i = () => {
|
|
1119
|
-
if (n = null, !t)
|
|
1120
|
-
return;
|
|
1121
|
-
t = !1;
|
|
1122
|
-
const l = C(), h = KA();
|
|
1123
|
-
if (Q) {
|
|
1124
|
-
const d = h >= E ? "down" : "up";
|
|
1125
|
-
d !== e && (I.handler({
|
|
1126
|
-
ts: l,
|
|
1127
|
-
kind: "scroll.inverted",
|
|
1128
|
-
fields: { direction: d, depth: h, previousDirection: e }
|
|
1129
|
-
}), e = d);
|
|
1130
|
-
}
|
|
1131
|
-
for (const d of A)
|
|
1132
|
-
!B.has(d) && h >= d && (B.add(d), I.handler({
|
|
1133
|
-
ts: l,
|
|
1134
|
-
kind: "scroll.milestone",
|
|
1135
|
-
fields: { depth: d, exactDepth: h }
|
|
1136
|
-
}));
|
|
1137
|
-
E = h;
|
|
1138
|
-
}, c = () => {
|
|
1139
|
-
t = !0, n === null && (n = setTimeout(i, g));
|
|
1140
|
-
};
|
|
1141
|
-
return i(), window.addEventListener("scroll", c, { passive: !0 }), () => {
|
|
1142
|
-
window.removeEventListener("scroll", c), n !== null && (clearTimeout(n), i());
|
|
1143
|
-
};
|
|
1144
|
-
}
|
|
1145
|
-
function KA() {
|
|
1146
|
-
const I = window.scrollY || document.documentElement.scrollTop, A = document.documentElement.scrollHeight, g = window.innerHeight;
|
|
1147
|
-
return A <= g ? 1 : Math.min(1, I / (A - g));
|
|
1148
|
-
}
|
|
1149
|
-
function HA(I) {
|
|
1150
|
-
const A = I.now ?? (() => performance.now()), g = I.cfg.domChanges !== !1, Q = I.cfg.styleChanges !== !1, C = I.cfg.mutationObserver !== !1, B = I.cfg.selectors;
|
|
1151
|
-
if (!C)
|
|
1152
|
-
return () => {
|
|
1153
|
-
};
|
|
1154
|
-
const E = [], e = (t) => {
|
|
1155
|
-
for (const i of B)
|
|
1156
|
-
if (t.matches(i.selector))
|
|
1157
|
-
return i.id;
|
|
1158
|
-
return null;
|
|
1159
|
-
}, n = (t, i) => {
|
|
1160
|
-
const c = e(t);
|
|
1161
|
-
if (!c)
|
|
1162
|
-
return;
|
|
1163
|
-
const h = K(t) ? "element.shown" : "element.hidden";
|
|
1164
|
-
I.handler({
|
|
1165
|
-
ts: A(),
|
|
1166
|
-
kind: h,
|
|
1167
|
-
fields: { reason: i },
|
|
1168
|
-
target: { id: c, type: "element", selector: H(t) }
|
|
1169
|
-
});
|
|
1170
|
-
};
|
|
1171
|
-
if (g) {
|
|
1172
|
-
const t = new MutationObserver((i) => {
|
|
1173
|
-
for (const c of i) {
|
|
1174
|
-
for (const l of c.addedNodes)
|
|
1175
|
-
l instanceof Element && (e(l) && n(l, "dom-added"), l.querySelectorAll("*").forEach((h) => {
|
|
1176
|
-
e(h) && n(h, "dom-added");
|
|
1177
|
-
}));
|
|
1178
|
-
for (const l of c.removedNodes)
|
|
1179
|
-
l instanceof Element && e(l) && I.handler({
|
|
1180
|
-
ts: A(),
|
|
1181
|
-
kind: "element.hidden",
|
|
1182
|
-
fields: { reason: "dom-removed" },
|
|
1183
|
-
target: {
|
|
1184
|
-
id: e(l),
|
|
1185
|
-
type: "element",
|
|
1186
|
-
selector: H(l)
|
|
1187
|
-
}
|
|
1188
|
-
});
|
|
1189
|
-
}
|
|
1190
|
-
});
|
|
1191
|
-
t.observe(document.body, { childList: !0, subtree: !0 }), E.push(() => t.disconnect());
|
|
1192
|
-
}
|
|
1193
|
-
if (Q) {
|
|
1194
|
-
const t = /* @__PURE__ */ new WeakMap(), i = () => {
|
|
1195
|
-
const l = A();
|
|
1196
|
-
for (const h of B) {
|
|
1197
|
-
const d = document.querySelectorAll(h.selector);
|
|
1198
|
-
for (const m of d) {
|
|
1199
|
-
const BA = t.get(m) ?? !1, W = K(m);
|
|
1200
|
-
t.set(m, W), BA !== W && I.handler({
|
|
1201
|
-
ts: l,
|
|
1202
|
-
kind: W ? "element.shown" : "element.hidden",
|
|
1203
|
-
fields: { reason: "style-changed" },
|
|
1204
|
-
target: {
|
|
1205
|
-
id: h.id,
|
|
1206
|
-
type: "element",
|
|
1207
|
-
selector: h.selector
|
|
1208
|
-
}
|
|
1209
|
-
});
|
|
1210
|
-
}
|
|
1211
|
-
}
|
|
1212
|
-
};
|
|
1213
|
-
i();
|
|
1214
|
-
const c = setInterval(i, 500);
|
|
1215
|
-
E.push(() => clearInterval(c));
|
|
1216
|
-
}
|
|
1217
|
-
return () => {
|
|
1218
|
-
for (const t of E)
|
|
1219
|
-
t();
|
|
1220
|
-
};
|
|
1221
|
-
}
|
|
1222
|
-
function K(I) {
|
|
1223
|
-
const A = window.getComputedStyle(I);
|
|
1224
|
-
return A.display !== "none" && A.visibility !== "hidden" && I.offsetParent !== null;
|
|
1225
|
-
}
|
|
1226
|
-
function H(I) {
|
|
1227
|
-
const A = [];
|
|
1228
|
-
let g = I, Q = 0;
|
|
1229
|
-
for (; g && g !== document.body && Q < 3; ) {
|
|
1230
|
-
let C = g.tagName.toLowerCase();
|
|
1231
|
-
if (g.id)
|
|
1232
|
-
C += "#" + g.id;
|
|
1233
|
-
else if (g.className && typeof g.className == "string") {
|
|
1234
|
-
const B = g.className.trim().split(/\s+/)[0];
|
|
1235
|
-
B && (C += "." + B);
|
|
1236
|
-
}
|
|
1237
|
-
A.unshift(C), g = g.parentElement, Q++;
|
|
1238
|
-
}
|
|
1239
|
-
return A.join(" > ");
|
|
1240
|
-
}
|
|
1241
|
-
function _A(I) {
|
|
1242
|
-
const A = I.now ?? (() => performance.now()), g = I.timeOrigin ?? performance.timeOrigin, Q = [];
|
|
1243
|
-
let C = 0, B = null;
|
|
1244
|
-
if (I.cfg.pageLoad !== !1) {
|
|
1245
|
-
const e = () => {
|
|
1246
|
-
I.handler({
|
|
1247
|
-
ts: A(),
|
|
1248
|
-
kind: "lifecycle.loaded",
|
|
1249
|
-
fields: { timeOrigin: g }
|
|
1250
|
-
});
|
|
1251
|
-
};
|
|
1252
|
-
document.readyState === "complete" ? e() : (window.addEventListener("load", e, { once: !0 }), Q.push(() => window.removeEventListener("load", e)));
|
|
1253
|
-
}
|
|
1254
|
-
if (I.cfg.visibilityChange !== !1) {
|
|
1255
|
-
const e = () => {
|
|
1256
|
-
I.handler({
|
|
1257
|
-
ts: A(),
|
|
1258
|
-
kind: document.visibilityState === "hidden" ? "lifecycle.hidden" : "lifecycle.visible",
|
|
1259
|
-
fields: { visibilityState: document.visibilityState }
|
|
1260
|
-
});
|
|
1261
|
-
};
|
|
1262
|
-
document.addEventListener("visibilitychange", e), Q.push(() => document.removeEventListener("visibilitychange", e));
|
|
1263
|
-
}
|
|
1264
|
-
if (I.cfg.pageUnload !== !1) {
|
|
1265
|
-
const e = () => {
|
|
1266
|
-
const n = A(), t = I.cfg.bounceThresholdMs && I.cfg.bounceThresholdMs > 0 && C === 0 && n < I.cfg.bounceThresholdMs;
|
|
1267
|
-
I.handler({
|
|
1268
|
-
ts: n,
|
|
1269
|
-
kind: "lifecycle.unloaded",
|
|
1270
|
-
fields: {
|
|
1271
|
-
durationMs: n,
|
|
1272
|
-
interactionCount: C,
|
|
1273
|
-
bounced: String(t)
|
|
1274
|
-
}
|
|
1275
|
-
});
|
|
1276
|
-
};
|
|
1277
|
-
window.addEventListener("pagehide", e, { once: !0 }), Q.push(() => window.removeEventListener("pagehide", e));
|
|
1278
|
-
}
|
|
1279
|
-
if (I.cfg.routeChanges) {
|
|
1280
|
-
const e = () => {
|
|
1281
|
-
I.handler({
|
|
1282
|
-
ts: A(),
|
|
1283
|
-
kind: "lifecycle.route_changed",
|
|
1284
|
-
fields: I.fullUrls ? { pathname: location.pathname, hash: location.hash } : { pathname: location.pathname }
|
|
1285
|
-
});
|
|
1286
|
-
};
|
|
1287
|
-
window.addEventListener("popstate", e), window.addEventListener("hashchange", e), Q.push(() => {
|
|
1288
|
-
window.removeEventListener("popstate", e), window.removeEventListener("hashchange", e);
|
|
1289
|
-
});
|
|
1290
|
-
}
|
|
1291
|
-
const E = () => {
|
|
1292
|
-
!I.cfg.idleThresholdMs || I.cfg.idleThresholdMs <= 0 || (B !== null && clearTimeout(B), B = setTimeout(() => {
|
|
1293
|
-
B = null;
|
|
1294
|
-
}, I.cfg.idleThresholdMs));
|
|
1295
|
-
};
|
|
1296
|
-
return I.cfg.idleThresholdMs && I.cfg.idleThresholdMs > 0 && E(), () => {
|
|
1297
|
-
for (const e of Q)
|
|
1298
|
-
e();
|
|
1299
|
-
B !== null && clearTimeout(B);
|
|
1300
|
-
};
|
|
1301
|
-
}
|
|
1302
|
-
function qA(I) {
|
|
1303
|
-
switch (I) {
|
|
1304
|
-
case "section_engagement":
|
|
1305
|
-
return QA;
|
|
1306
|
-
case "full_engagement":
|
|
1307
|
-
return $A;
|
|
1308
|
-
case "error_hunting":
|
|
1309
|
-
return AI;
|
|
1310
|
-
case "scroll_tracking":
|
|
1311
|
-
return II;
|
|
1312
|
-
case "form_validation":
|
|
1313
|
-
return gI;
|
|
1314
|
-
case "page_value":
|
|
1315
|
-
return QI;
|
|
1316
|
-
case "cta_performance":
|
|
1317
|
-
return CI;
|
|
1318
|
-
case "bounce_detection":
|
|
1319
|
-
return BI;
|
|
1320
|
-
case "diagnostics":
|
|
1321
|
-
return EI;
|
|
1322
|
-
default:
|
|
1323
|
-
return [];
|
|
1324
|
-
}
|
|
1325
|
-
}
|
|
1326
|
-
function PA(I) {
|
|
1327
|
-
const A = /* @__PURE__ */ new Set(), g = [];
|
|
1328
|
-
for (const Q of I)
|
|
1329
|
-
for (const C of qA(Q))
|
|
1330
|
-
A.has(C.id) || (A.add(C.id), g.push(C));
|
|
1331
|
-
return g;
|
|
1332
|
-
}
|
|
1333
|
-
const QA = [
|
|
1334
|
-
{
|
|
1335
|
-
id: "section_read",
|
|
1336
|
-
when: 'event.kind == "section.dwelled" && event.durationMs >= 3000',
|
|
1337
|
-
emit: {
|
|
1338
|
-
name: "section_read",
|
|
1339
|
-
params: {
|
|
1340
|
-
section: "event.target.id",
|
|
1341
|
-
duration_ms: "event.durationMs"
|
|
1342
|
-
}
|
|
1343
|
-
}
|
|
1344
|
-
},
|
|
1345
|
-
{
|
|
1346
|
-
id: "section_skimmed",
|
|
1347
|
-
when: 'event.kind == "section.dwelled" && event.durationMs > 0 && event.durationMs < 3000',
|
|
1348
|
-
emit: {
|
|
1349
|
-
name: "section_skimmed",
|
|
1350
|
-
params: {
|
|
1351
|
-
section: "event.target.id",
|
|
1352
|
-
duration_ms: "event.durationMs"
|
|
1353
|
-
}
|
|
1354
|
-
}
|
|
1355
|
-
},
|
|
1356
|
-
{
|
|
1357
|
-
id: "content_engaged",
|
|
1358
|
-
when: 'event.kind == "section.dwelled" && event.durationMs >= 3000',
|
|
1359
|
-
emit: {
|
|
1360
|
-
name: "content_engaged",
|
|
1361
|
-
params: { section: "event.target.id" }
|
|
1362
|
-
}
|
|
1363
|
-
}
|
|
1364
|
-
], $A = [
|
|
1365
|
-
...QA,
|
|
1366
|
-
{
|
|
1367
|
-
id: "rage_click",
|
|
1368
|
-
when: 'event.kind == "click"',
|
|
1369
|
-
emit: {
|
|
1370
|
-
name: "rage_click_check",
|
|
1371
|
-
params: { target: "event.target.id" },
|
|
1372
|
-
sinks: ["edge"]
|
|
1373
|
-
}
|
|
1374
|
-
}
|
|
1375
|
-
], AI = [
|
|
1376
|
-
{
|
|
1377
|
-
id: "js_error",
|
|
1378
|
-
when: 'event.kind == "error" && event.source == "onerror"',
|
|
1379
|
-
emit: {
|
|
1380
|
-
name: "js_error",
|
|
1381
|
-
params: { message: "event.message", filename: "event.filename" }
|
|
1382
|
-
}
|
|
1383
|
-
},
|
|
1384
|
-
{
|
|
1385
|
-
id: "promise_error",
|
|
1386
|
-
when: 'event.kind == "error" && event.source == "unhandledrejection"',
|
|
1387
|
-
emit: {
|
|
1388
|
-
name: "promise_error",
|
|
1389
|
-
params: { reason: "event.reason" }
|
|
1390
|
-
}
|
|
1391
|
-
},
|
|
1392
|
-
{
|
|
1393
|
-
id: "resource_error",
|
|
1394
|
-
when: 'event.kind == "error" && event.source == "resource"',
|
|
1395
|
-
emit: {
|
|
1396
|
-
name: "resource_error",
|
|
1397
|
-
params: { url: "event.resourceUrl", tag: "event.resourceTag" }
|
|
1398
|
-
}
|
|
1399
|
-
}
|
|
1400
|
-
], II = [
|
|
1401
|
-
{
|
|
1402
|
-
id: "scrolled_50",
|
|
1403
|
-
when: 'event.kind == "scroll.milestone" && event.depth >= 0.5',
|
|
1404
|
-
emit: {
|
|
1405
|
-
name: "scrolled_50",
|
|
1406
|
-
params: { depth: "event.depth" }
|
|
1407
|
-
}
|
|
1408
|
-
},
|
|
1409
|
-
{
|
|
1410
|
-
id: "scrolled_75",
|
|
1411
|
-
when: 'event.kind == "scroll.milestone" && event.depth >= 0.75',
|
|
1412
|
-
emit: {
|
|
1413
|
-
name: "scrolled_75",
|
|
1414
|
-
params: { depth: "event.depth" }
|
|
1415
|
-
}
|
|
1416
|
-
},
|
|
1417
|
-
{
|
|
1418
|
-
id: "scrolled_100",
|
|
1419
|
-
when: 'event.kind == "scroll.milestone" && event.depth >= 1',
|
|
1420
|
-
emit: {
|
|
1421
|
-
name: "scrolled_100",
|
|
1422
|
-
params: { depth: "event.depth" }
|
|
1423
|
-
}
|
|
1424
|
-
}
|
|
1425
|
-
], gI = [
|
|
1426
|
-
{
|
|
1427
|
-
id: "form_submitted",
|
|
1428
|
-
when: 'event.kind == "form.submitted"',
|
|
1429
|
-
emit: {
|
|
1430
|
-
name: "form_submitted",
|
|
1431
|
-
params: {
|
|
1432
|
-
form_id: "event.target.id",
|
|
1433
|
-
duration_ms: "event.formDurationMs"
|
|
1434
|
-
}
|
|
1435
|
-
}
|
|
1436
|
-
},
|
|
1437
|
-
{
|
|
1438
|
-
id: "form_validation_error",
|
|
1439
|
-
when: 'event.kind == "element.shown" && event.source == "validation"',
|
|
1440
|
-
emit: {
|
|
1441
|
-
name: "form_validation_error",
|
|
1442
|
-
params: { form_id: "event.formId", field: "event.target.id" }
|
|
1443
|
-
}
|
|
1444
|
-
}
|
|
1445
|
-
], QI = [
|
|
1446
|
-
{
|
|
1447
|
-
id: "page_value_reached",
|
|
1448
|
-
when: 'event.kind == "section.dwelled" && event.durationMs >= 5000',
|
|
1449
|
-
emit: { name: "page_value_reached" }
|
|
1450
|
-
}
|
|
1451
|
-
], CI = [
|
|
1452
|
-
{
|
|
1453
|
-
id: "cta_clicked",
|
|
1454
|
-
when: 'event.kind == "click"',
|
|
1455
|
-
emit: {
|
|
1456
|
-
name: "cta_clicked",
|
|
1457
|
-
params: { target: "event.target.id" }
|
|
1458
|
-
}
|
|
1459
|
-
}
|
|
1460
|
-
], BI = [
|
|
1461
|
-
{
|
|
1462
|
-
id: "bounced",
|
|
1463
|
-
when: 'event.kind == "lifecycle.unloaded" && event.bounced == "true"',
|
|
1464
|
-
emit: {
|
|
1465
|
-
name: "bounced",
|
|
1466
|
-
params: {
|
|
1467
|
-
duration_ms: "event.durationMs",
|
|
1468
|
-
interactions: "event.interactionCount"
|
|
1469
|
-
}
|
|
1470
|
-
}
|
|
1471
|
-
}
|
|
1472
|
-
], EI = [
|
|
1473
|
-
{
|
|
1474
|
-
id: "selector_stale",
|
|
1475
|
-
when: 'event.kind == "tflo:diagnostic" && event.diagnosticKind == "selector_stale"',
|
|
1476
|
-
emit: {
|
|
1477
|
-
name: "selector_stale",
|
|
1478
|
-
params: {
|
|
1479
|
-
source: "event.source",
|
|
1480
|
-
selector: "event.context.selector"
|
|
1481
|
-
}
|
|
1482
|
-
}
|
|
1483
|
-
},
|
|
1484
|
-
{
|
|
1485
|
-
id: "click_target_missing",
|
|
1486
|
-
when: 'event.kind == "tflo:diagnostic" && event.diagnosticKind == "click_target_missing"',
|
|
1487
|
-
emit: {
|
|
1488
|
-
name: "click_target_missing",
|
|
1489
|
-
params: {
|
|
1490
|
-
data_tflow_id: "event.context.dataTflowId",
|
|
1491
|
-
tag: "event.context.tag"
|
|
1492
|
-
}
|
|
1493
|
-
}
|
|
1494
|
-
},
|
|
1495
|
-
{
|
|
1496
|
-
id: "rate_limit_hit",
|
|
1497
|
-
when: 'event.kind == "tflo:diagnostic" && event.diagnosticKind == "rate_limit_hit"',
|
|
1498
|
-
emit: {
|
|
1499
|
-
name: "rate_limit_hit",
|
|
1500
|
-
params: { source: "event.source" }
|
|
1501
|
-
}
|
|
1502
|
-
},
|
|
1503
|
-
{
|
|
1504
|
-
id: "sink_delivery_failed",
|
|
1505
|
-
when: 'event.kind == "tflo:diagnostic" && event.diagnosticKind == "sink_delivery_failed"',
|
|
1506
|
-
emit: {
|
|
1507
|
-
name: "sink_delivery_failed",
|
|
1508
|
-
params: { sink: "event.context.sinkName", error: "event.error" }
|
|
1509
|
-
}
|
|
1510
|
-
}
|
|
1511
|
-
];
|
|
1512
|
-
function CA(I, A, g = () => performance.now()) {
|
|
1513
|
-
return {
|
|
1514
|
-
ts: g(),
|
|
1515
|
-
kind: "tflo:diagnostic",
|
|
1516
|
-
fields: {
|
|
1517
|
-
diagnosticKind: I,
|
|
1518
|
-
...A
|
|
1519
|
-
},
|
|
1520
|
-
target: { id: "tflo", type: "diagnostic" }
|
|
1521
|
-
};
|
|
1522
|
-
}
|
|
1523
|
-
function eI(I, A, g, Q, C) {
|
|
1524
|
-
return g.length === 0 ? (Q(CA("selector_stale", {
|
|
1525
|
-
source: A,
|
|
1526
|
-
message: `Selector "${I}" matched zero elements at runtime`,
|
|
1527
|
-
context: { selector: I, configKey: A }
|
|
1528
|
-
}, C)), !1) : !0;
|
|
1529
|
-
}
|
|
1530
|
-
function XI(I, A, g, Q) {
|
|
1531
|
-
const B = tI(I)?.getAttribute("data-tflow-id") ?? null;
|
|
1532
|
-
B && !A.has(B) && g(CA("click_target_missing", {
|
|
1533
|
-
source: "track.clicks",
|
|
1534
|
-
message: `Clicked element has data-tflow-id="${B}" which is not in the tracking plan — add it to track.clicks`,
|
|
1535
|
-
context: { dataTflowId: B, tag: I.tagName.toLowerCase() }
|
|
1536
|
-
}, Q));
|
|
1537
|
-
}
|
|
1538
|
-
function tI(I) {
|
|
1539
|
-
let A = I;
|
|
1540
|
-
for (; A; ) {
|
|
1541
|
-
if (A.hasAttribute("data-tflow-id"))
|
|
1542
|
-
return A;
|
|
1543
|
-
A = A.parentElement;
|
|
1544
|
-
}
|
|
1545
|
-
return null;
|
|
1546
|
-
}
|
|
1547
|
-
async function RI(I) {
|
|
1548
|
-
const A = iI(I.sinks), g = new TA({
|
|
1549
|
-
sinks: A,
|
|
1550
|
-
consent: I.consent,
|
|
1551
|
-
wasmUrl: I.wasmUrl,
|
|
1552
|
-
onSinkError: I.onSinkError
|
|
1553
|
-
});
|
|
1554
|
-
await g.init();
|
|
1555
|
-
const Q = (i) => {
|
|
1556
|
-
g.ingest(i);
|
|
1557
|
-
}, C = I.page.id, B = (i) => ({
|
|
1558
|
-
...i,
|
|
1559
|
-
page: { id: C }
|
|
1560
|
-
});
|
|
1561
|
-
g.ingest(NI(I.page));
|
|
1562
|
-
const E = [], e = (i, c, l) => {
|
|
1563
|
-
const h = document.querySelectorAll(c);
|
|
1564
|
-
eI(c, l, h, Q);
|
|
1565
|
-
};
|
|
1566
|
-
if (I.track.sections && I.track.sections.length > 0)
|
|
1567
|
-
for (const i of I.track.sections)
|
|
1568
|
-
e("section", i.selector, `track.sections["${i.id}"]`), E.push(nI(g, B, i));
|
|
1569
|
-
if (I.track.clicks && I.track.clicks.length > 0) {
|
|
1570
|
-
new Set(I.track.clicks.map((i) => i.id));
|
|
1571
|
-
for (const i of I.track.clicks)
|
|
1572
|
-
e("click", `[data-tflow-id="${i.id}"]`, `track.clicks["${i.id}"]`);
|
|
1573
|
-
E.push(cI(g, B, I.track.clicks));
|
|
1574
|
-
}
|
|
1575
|
-
I.track.pointer && I.track.pointer.moves === "sampled" && E.push(hI(g, B, I.track.pointer)), I.track.errors && E.push(LA({
|
|
1576
|
-
cfg: I.track.errors,
|
|
1577
|
-
fullUrls: I.page.captureFullUrls === !0,
|
|
1578
|
-
handler: (i) => g.ingest(B(i))
|
|
1579
|
-
})), I.track.scroll && E.push(vA({
|
|
1580
|
-
cfg: I.track.scroll,
|
|
1581
|
-
handler: (i) => g.ingest(B(i))
|
|
1582
|
-
})), I.track.visibility && E.push(HA({
|
|
1583
|
-
cfg: I.track.visibility,
|
|
1584
|
-
handler: (i) => g.ingest(B(i))
|
|
1585
|
-
})), I.track.lifecycle && E.push(_A({
|
|
1586
|
-
cfg: I.track.lifecycle,
|
|
1587
|
-
fullUrls: I.page.captureFullUrls === !0,
|
|
1588
|
-
handler: (i) => g.ingest(B(i))
|
|
1589
|
-
}));
|
|
1590
|
-
const n = [];
|
|
1591
|
-
I.presets && I.presets.length > 0 && n.push(...PA(I.presets)), I.rules && I.rules.length > 0 && n.push(...I.rules);
|
|
1592
|
-
for (const i of n)
|
|
1593
|
-
dI(g, i);
|
|
1594
|
-
const t = Promise.resolve();
|
|
1595
|
-
return {
|
|
1596
|
-
tflo: g,
|
|
1597
|
-
ready: t,
|
|
1598
|
-
async destroy() {
|
|
1599
|
-
for (const i of E)
|
|
1600
|
-
i();
|
|
1601
|
-
await g.flush(), g.destroy();
|
|
1602
|
-
}
|
|
1603
|
-
};
|
|
1604
|
-
}
|
|
1605
|
-
function iI(I) {
|
|
1606
|
-
const A = [];
|
|
1607
|
-
if (!I)
|
|
1608
|
-
return A;
|
|
1609
|
-
if (I.console) {
|
|
1610
|
-
const g = typeof I.console == "object" ? I.console.level : void 0;
|
|
1611
|
-
A.push(new bA({ name: "console", level: g }));
|
|
1612
|
-
}
|
|
1613
|
-
return I.ga4 && A.push(new RA({
|
|
1614
|
-
name: "ga4",
|
|
1615
|
-
sendTo: I.ga4.measurementId,
|
|
1616
|
-
gtag: I.ga4.gtag
|
|
1617
|
-
})), I.edge && A.push(new XA({
|
|
1618
|
-
name: "edge",
|
|
1619
|
-
endpoint: I.edge.endpoint,
|
|
1620
|
-
batchSize: I.edge.batchSize,
|
|
1621
|
-
batchIntervalMs: I.edge.batchIntervalMs,
|
|
1622
|
-
headers: I.edge.headers
|
|
1623
|
-
})), A;
|
|
1624
|
-
}
|
|
1625
|
-
function nI(I, A, g) {
|
|
1626
|
-
const Q = g.id, C = sI(g.emit);
|
|
1627
|
-
return P({
|
|
1628
|
-
target: document,
|
|
1629
|
-
selector: g.selector,
|
|
1630
|
-
threshold: g.threshold ?? 0.5,
|
|
1631
|
-
emit: C,
|
|
1632
|
-
now: () => performance.now()
|
|
1633
|
-
}, (E) => {
|
|
1634
|
-
const e = oI(E.kind);
|
|
1635
|
-
I.ingest(A({
|
|
1636
|
-
...E,
|
|
1637
|
-
kind: e,
|
|
1638
|
-
target: {
|
|
1639
|
-
id: Q,
|
|
1640
|
-
type: "section",
|
|
1641
|
-
selector: g.selector
|
|
1642
|
-
}
|
|
1643
|
-
}));
|
|
1644
|
-
});
|
|
1645
|
-
}
|
|
1646
|
-
function sI(I) {
|
|
1647
|
-
if (!I)
|
|
1648
|
-
return ["enter", "exit", "dwell"];
|
|
1649
|
-
const A = new Set(I), g = [];
|
|
1650
|
-
return (A.has("entered") || A.has("visibility_changed")) && g.push("enter"), A.has("dwelled") && g.push("dwell"), (A.has("left") || A.has("completed")) && g.push("exit"), g.length > 0 ? g : ["enter", "exit", "dwell"];
|
|
1651
|
-
}
|
|
1652
|
-
function oI(I) {
|
|
1653
|
-
switch (I) {
|
|
1654
|
-
case "viewport:enter":
|
|
1655
|
-
return "section.entered";
|
|
1656
|
-
case "viewport:dwell":
|
|
1657
|
-
return "section.dwelled";
|
|
1658
|
-
case "viewport:exit":
|
|
1659
|
-
return "section.left";
|
|
1660
|
-
default:
|
|
1661
|
-
return I;
|
|
1662
|
-
}
|
|
1663
|
-
}
|
|
1664
|
-
function cI(I, A, g, Q) {
|
|
1665
|
-
const C = /* @__PURE__ */ new Map();
|
|
1666
|
-
for (const B of g)
|
|
1667
|
-
C.set(B.id, B);
|
|
1668
|
-
return z({
|
|
1669
|
-
target: document,
|
|
1670
|
-
type: "click",
|
|
1671
|
-
kind: "click",
|
|
1672
|
-
fields: (B) => {
|
|
1673
|
-
const E = B.target;
|
|
1674
|
-
if (!E)
|
|
1675
|
-
return {};
|
|
1676
|
-
const e = lI(E);
|
|
1677
|
-
if (!e)
|
|
1678
|
-
return {};
|
|
1679
|
-
const n = e.getAttribute("data-tflow-id"), t = n ? C.get(n) : void 0;
|
|
1680
|
-
if (!n || !t)
|
|
1681
|
-
return {};
|
|
1682
|
-
const i = {
|
|
1683
|
-
tflowId: n,
|
|
1684
|
-
tag: e.tagName.toLowerCase()
|
|
1685
|
-
};
|
|
1686
|
-
return t.captureText === !0 && (i.text = UA(e)), i;
|
|
1687
|
-
},
|
|
1688
|
-
listenerOptions: { passive: !0 }
|
|
1689
|
-
}, (B) => {
|
|
1690
|
-
const E = B.fields.tflowId;
|
|
1691
|
-
typeof E == "string" && I.ingest(A({
|
|
1692
|
-
...B,
|
|
1693
|
-
kind: "click",
|
|
1694
|
-
target: {
|
|
1695
|
-
id: E,
|
|
1696
|
-
type: "click",
|
|
1697
|
-
selector: C.get(E)?.selector ?? `[data-tflow-id="${E}"]`
|
|
1698
|
-
}
|
|
1699
|
-
}));
|
|
1700
|
-
});
|
|
1701
|
-
}
|
|
1702
|
-
function lI(I) {
|
|
1703
|
-
let A = I;
|
|
1704
|
-
for (; A; ) {
|
|
1705
|
-
if (A.hasAttribute("data-tflow-id"))
|
|
1706
|
-
return A;
|
|
1707
|
-
A = A.parentElement;
|
|
1708
|
-
}
|
|
1709
|
-
return null;
|
|
1710
|
-
}
|
|
1711
|
-
function hI(I, A, g) {
|
|
1712
|
-
return z({
|
|
1713
|
-
target: document,
|
|
1714
|
-
type: "pointermove",
|
|
1715
|
-
kind: "pointermove",
|
|
1716
|
-
throttleMs: g.sampleMs ?? 250,
|
|
1717
|
-
fields: (Q) => ({
|
|
1718
|
-
x: Q.clientX,
|
|
1719
|
-
y: Q.clientY,
|
|
1720
|
-
pointerType: Q.pointerType
|
|
1721
|
-
}),
|
|
1722
|
-
listenerOptions: { passive: !0 }
|
|
1723
|
-
}, (Q) => {
|
|
1724
|
-
I.ingest(A({
|
|
1725
|
-
...Q,
|
|
1726
|
-
kind: "pointer.sampled"
|
|
1727
|
-
}));
|
|
1728
|
-
});
|
|
1729
|
-
}
|
|
1730
|
-
function dI(I, A) {
|
|
1731
|
-
const g = typeof A.when == "function" ? A.when : kI(A.when), Q = A.emit, C = new mA(A.id).timestamp((B) => B.ts).when((B) => g(B)).emit((B) => {
|
|
1732
|
-
const E = B.first(), e = Q.name ?? A.id, n = rI(E, Q.params);
|
|
1733
|
-
return {
|
|
1734
|
-
name: e,
|
|
1735
|
-
payload: n,
|
|
1736
|
-
sinks: Q.sinks
|
|
1737
|
-
};
|
|
1738
|
-
});
|
|
1739
|
-
I.addPattern(C);
|
|
1740
|
-
}
|
|
1741
|
-
function rI(I, A) {
|
|
1742
|
-
if (!A)
|
|
1743
|
-
return {};
|
|
1744
|
-
const g = {};
|
|
1745
|
-
for (const [Q, C] of Object.entries(A))
|
|
1746
|
-
g[Q] = aI(I, C);
|
|
1747
|
-
return g;
|
|
1748
|
-
}
|
|
1749
|
-
function aI(I, A) {
|
|
1750
|
-
const g = A.split("."), Q = g[0] === "event" ? 1 : 0;
|
|
1751
|
-
let C = I;
|
|
1752
|
-
for (let B = Q; B < g.length; B++) {
|
|
1753
|
-
if (C == null)
|
|
1754
|
-
return;
|
|
1755
|
-
const E = g[B], e = C[E];
|
|
1756
|
-
if (e !== void 0)
|
|
1757
|
-
C = e;
|
|
1758
|
-
else if (C === I && E in I.fields)
|
|
1759
|
-
C = I.fields[E];
|
|
1760
|
-
else
|
|
1761
|
-
return;
|
|
1762
|
-
}
|
|
1763
|
-
return C;
|
|
1764
|
-
}
|
|
1765
|
-
function NI(I) {
|
|
1766
|
-
const A = I.sessionId ?? bI();
|
|
1767
|
-
return {
|
|
1768
|
-
ts: performance.now(),
|
|
1769
|
-
kind: "session_started",
|
|
1770
|
-
page: { id: I.id, attrs: I.attrs },
|
|
1771
|
-
fields: {
|
|
1772
|
-
sessionId: A,
|
|
1773
|
-
...I.title !== void 0 || I.captureTitle === !0 ? { title: I.title ?? YI() } : {},
|
|
1774
|
-
url: I.url ?? _(mI(), I.captureFullUrls),
|
|
1775
|
-
referrer: I.referrer ?? _(DI(), I.captureFullUrls),
|
|
1776
|
-
locale: I.locale ?? MI(),
|
|
1777
|
-
trafficSource: I.trafficSource ?? null,
|
|
1778
|
-
trafficMedium: I.trafficMedium ?? null,
|
|
1779
|
-
campaign: I.campaign ?? null,
|
|
1780
|
-
pageLoadTs: I.pageLoadTs ?? performance.timeOrigin
|
|
1781
|
-
},
|
|
1782
|
-
target: { id: I.id, type: "page" }
|
|
1783
|
-
};
|
|
1784
|
-
}
|
|
1785
|
-
function _(I, A) {
|
|
1786
|
-
return A === !0 ? I : gA(I);
|
|
1787
|
-
}
|
|
1788
|
-
function YI() {
|
|
1789
|
-
try {
|
|
1790
|
-
return document.title || "";
|
|
1791
|
-
} catch {
|
|
1792
|
-
return "";
|
|
1793
|
-
}
|
|
1794
|
-
}
|
|
1795
|
-
function mI() {
|
|
1796
|
-
try {
|
|
1797
|
-
return location.href || "";
|
|
1798
|
-
} catch {
|
|
1799
|
-
return "";
|
|
1800
|
-
}
|
|
1801
|
-
}
|
|
1802
|
-
function DI() {
|
|
1803
|
-
try {
|
|
1804
|
-
return document.referrer || "";
|
|
1805
|
-
} catch {
|
|
1806
|
-
return "";
|
|
1807
|
-
}
|
|
1808
|
-
}
|
|
1809
|
-
function MI() {
|
|
1810
|
-
try {
|
|
1811
|
-
return navigator.language || "";
|
|
1812
|
-
} catch {
|
|
1813
|
-
return "";
|
|
1814
|
-
}
|
|
1815
|
-
}
|
|
1816
|
-
function bI() {
|
|
1817
|
-
return `s_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
|
|
1818
|
-
}
|
|
1819
|
-
function kI(I) {
|
|
1820
|
-
const g = I.split(/\s*&&\s*/).map((Q) => GI(Q.trim()));
|
|
1821
|
-
return (Q) => g.every((C) => C(Q));
|
|
1822
|
-
}
|
|
1823
|
-
function GI(I) {
|
|
1824
|
-
const A = I.match(/^event\.(\w+)\s*==\s*"(.+)"$/);
|
|
1825
|
-
if (A) {
|
|
1826
|
-
const E = A[1], e = A[2];
|
|
1827
|
-
return (n) => b(n, E) === e;
|
|
1828
|
-
}
|
|
1829
|
-
const g = I.match(/^event\.(\w+)\s*>=\s*([\d.]+)$/);
|
|
1830
|
-
if (g) {
|
|
1831
|
-
const E = g[1], e = Number(g[2]);
|
|
1832
|
-
return (n) => {
|
|
1833
|
-
const t = b(n, E);
|
|
1834
|
-
return typeof t == "number" && t >= e;
|
|
1835
|
-
};
|
|
1836
|
-
}
|
|
1837
|
-
const Q = I.match(/^event\.(\w+)\s*>\s*([\d.]+)$/);
|
|
1838
|
-
if (Q) {
|
|
1839
|
-
const E = Q[1], e = Number(Q[2]);
|
|
1840
|
-
return (n) => {
|
|
1841
|
-
const t = b(n, E);
|
|
1842
|
-
return typeof t == "number" && t > e;
|
|
1843
|
-
};
|
|
1844
|
-
}
|
|
1845
|
-
const C = I.match(/^event\.(\w+)\s*<=\s*([\d.]+)$/);
|
|
1846
|
-
if (C) {
|
|
1847
|
-
const E = C[1], e = Number(C[2]);
|
|
1848
|
-
return (n) => {
|
|
1849
|
-
const t = b(n, E);
|
|
1850
|
-
return typeof t == "number" && t <= e;
|
|
1851
|
-
};
|
|
1852
|
-
}
|
|
1853
|
-
const B = I.match(/^event\.(\w+)\s*<\s*([\d.]+)$/);
|
|
1854
|
-
if (B) {
|
|
1855
|
-
const E = B[1], e = Number(B[2]);
|
|
1856
|
-
return (n) => {
|
|
1857
|
-
const t = b(n, E);
|
|
1858
|
-
return typeof t == "number" && t < e;
|
|
1859
|
-
};
|
|
1860
|
-
}
|
|
1861
|
-
throw new Error(`Cannot compile CEL expression: "${I}"`);
|
|
1862
|
-
}
|
|
1863
|
-
function b(I, A) {
|
|
1864
|
-
if (A === "kind")
|
|
1865
|
-
return I.kind;
|
|
1866
|
-
if (A === "ts")
|
|
1867
|
-
return I.ts;
|
|
1868
|
-
if (A.startsWith("page.")) {
|
|
1869
|
-
const g = A.slice(5);
|
|
1870
|
-
return I.page?.[g];
|
|
1871
|
-
}
|
|
1872
|
-
if (A.startsWith("target.")) {
|
|
1873
|
-
const g = A.slice(7);
|
|
1874
|
-
return I.target?.[g];
|
|
1875
|
-
}
|
|
1876
|
-
return I.fields[A];
|
|
1877
|
-
}
|
|
1878
|
-
function pI(I, A = {}) {
|
|
1879
|
-
const g = A.root ?? document, Q = [];
|
|
1880
|
-
I.track.sections && JI(g, I.track.sections, Q), I.track.clicks && wI(g, I.track.clicks, Q), I.track.visibility && ZI(g, I.track.visibility.selectors, Q), I.track.forms && FI(g, I.track.forms, Q), A.validateCel !== !1 && yI(I.rules ?? [], Q), I.presets && fI(I.presets, Q), (!I.page || !I.page.id) && Q.push({
|
|
1881
|
-
level: "error",
|
|
1882
|
-
path: "page.id",
|
|
1883
|
-
message: "page.id is required",
|
|
1884
|
-
suggestion: "Set page.id to a stable identifier like 'product-detail' or 'checkout'"
|
|
1885
|
-
});
|
|
1886
|
-
const C = Q.filter((e) => e.level === "error").length, B = Q.filter((e) => e.level === "warning").length, E = Q.filter((e) => e.level === "info").length;
|
|
1887
|
-
return {
|
|
1888
|
-
valid: C === 0,
|
|
1889
|
-
issues: Q,
|
|
1890
|
-
summary: { errors: C, warnings: B, infos: E }
|
|
1891
|
-
};
|
|
1892
|
-
}
|
|
1893
|
-
function JI(I, A, g) {
|
|
1894
|
-
for (const Q of A) {
|
|
1895
|
-
const C = I.querySelectorAll(Q.selector), B = `track.sections["${Q.id}"]`;
|
|
1896
|
-
C.length === 0 ? g.push({
|
|
1897
|
-
level: "error",
|
|
1898
|
-
path: B,
|
|
1899
|
-
message: `Selector "${Q.selector}" matched zero elements`,
|
|
1900
|
-
suggestion: `Add a section element like <section id="${Q.id}"> or update the selector`
|
|
1901
|
-
}) : C.length > 1 && g.push({
|
|
1902
|
-
level: "info",
|
|
1903
|
-
path: B,
|
|
1904
|
-
message: `Selector "${Q.selector}" matched ${C.length} elements — using all of them`,
|
|
1905
|
-
suggestion: C.length > 5 ? `Consider a more specific selector to avoid tracking ${C.length} elements` : void 0
|
|
1906
|
-
});
|
|
1907
|
-
}
|
|
1908
|
-
}
|
|
1909
|
-
function wI(I, A, g) {
|
|
1910
|
-
for (const Q of A) {
|
|
1911
|
-
const C = `track.clicks["${Q.id}"]`, B = I.querySelectorAll(`[data-tflow-id="${Q.id}"]`);
|
|
1912
|
-
let E;
|
|
1913
|
-
if (Q.selector && (E = I.querySelectorAll(Q.selector)), B.length === 0 && (!E || E.length === 0)) {
|
|
1914
|
-
const e = Q.selector ? `Add data-tflow-id="${Q.id}" to the target element, or fix selector "${Q.selector}"` : `Add <button data-tflow-id="${Q.id}"> to the target element`;
|
|
1915
|
-
g.push({
|
|
1916
|
-
level: "error",
|
|
1917
|
-
path: C,
|
|
1918
|
-
message: `No element found with [data-tflow-id="${Q.id}"]`,
|
|
1919
|
-
suggestion: e
|
|
1920
|
-
});
|
|
1921
|
-
} else B.length > 1 ? g.push({
|
|
1922
|
-
level: "warning",
|
|
1923
|
-
path: C,
|
|
1924
|
-
message: `${B.length} elements have data-tflow-id="${Q.id}" — tracked clicks will fire for all of them`,
|
|
1925
|
-
suggestion: "Use unique data-tflow-id values per trackable element"
|
|
1926
|
-
}) : B.length === 1 && E && E.length > 0 && (E[0]?.isSameNode(B[0]) || g.push({
|
|
1927
|
-
level: "info",
|
|
1928
|
-
path: C,
|
|
1929
|
-
message: `Selector "${Q.selector}" matches a different element than [data-tflow-id="${Q.id}"]`,
|
|
1930
|
-
suggestion: "Remove the selector — data-tflow-id is the durable contract"
|
|
1931
|
-
}));
|
|
1932
|
-
}
|
|
1933
|
-
}
|
|
1934
|
-
function ZI(I, A, g) {
|
|
1935
|
-
for (const Q of A) {
|
|
1936
|
-
const C = `track.visibility["${Q.id}"]`;
|
|
1937
|
-
I.querySelectorAll(Q.selector).length === 0 && g.push({
|
|
1938
|
-
level: "warning",
|
|
1939
|
-
path: C,
|
|
1940
|
-
message: `Visibility target "${Q.selector}" matched zero elements at init time (may appear later via JS)`,
|
|
1941
|
-
suggestion: `Ensure the element exists or add [data-track-visibility="${Q.id}"]`
|
|
1942
|
-
});
|
|
1943
|
-
}
|
|
1944
|
-
}
|
|
1945
|
-
function FI(I, A, g) {
|
|
1946
|
-
for (const Q of A) {
|
|
1947
|
-
const C = `track.forms["${Q.id}"]`, B = I.querySelectorAll(Q.selector);
|
|
1948
|
-
B.length === 0 && g.push({
|
|
1949
|
-
level: "error",
|
|
1950
|
-
path: C,
|
|
1951
|
-
message: `Form selector "${Q.selector}" matched zero elements`,
|
|
1952
|
-
suggestion: `Add <form id="${Q.id}" data-track-form> to your markup`
|
|
1953
|
-
});
|
|
1954
|
-
let E = 0;
|
|
1955
|
-
for (const e of B)
|
|
1956
|
-
e.tagName === "FORM" && E++;
|
|
1957
|
-
B.length > 0 && E !== B.length && g.push({
|
|
1958
|
-
level: "warning",
|
|
1959
|
-
path: C,
|
|
1960
|
-
message: `Selector "${Q.selector}" matched ${B.length - E} non-<form> elements`,
|
|
1961
|
-
suggestion: "Form tracking works best on actual <form> elements"
|
|
1962
|
-
});
|
|
1963
|
-
}
|
|
1964
|
-
}
|
|
1965
|
-
function yI(I, A) {
|
|
1966
|
-
for (const g of I) {
|
|
1967
|
-
const Q = `rules["${g.id}"]`;
|
|
1968
|
-
if (!g.id) {
|
|
1969
|
-
A.push({
|
|
1970
|
-
level: "error",
|
|
1971
|
-
path: "rules[?].id",
|
|
1972
|
-
message: "A rule is missing its id field"
|
|
1973
|
-
});
|
|
1974
|
-
return;
|
|
1975
|
-
}
|
|
1976
|
-
if (typeof g.when == "string")
|
|
1977
|
-
try {
|
|
1978
|
-
WI(g.when);
|
|
1979
|
-
} catch (C) {
|
|
1980
|
-
A.push({
|
|
1981
|
-
level: "error",
|
|
1982
|
-
path: `${Q}.when`,
|
|
1983
|
-
message: `CEL expression failed to compile: ${C.message}`,
|
|
1984
|
-
suggestion: 'Try simplifying the expression. Supported: event.kind == "val", event.field >= num, && for compound'
|
|
1985
|
-
});
|
|
1986
|
-
}
|
|
1987
|
-
if (g.emit.params)
|
|
1988
|
-
for (const [C, B] of Object.entries(g.emit.params))
|
|
1989
|
-
(typeof B != "string" || !B.startsWith("event.")) && A.push({
|
|
1990
|
-
level: "warning",
|
|
1991
|
-
path: `${Q}.emit.params.${C}`,
|
|
1992
|
-
message: `Param "${C}" path "${B}" should start with "event."`
|
|
1993
|
-
});
|
|
1994
|
-
}
|
|
1995
|
-
}
|
|
1996
|
-
function fI(I, A) {
|
|
1997
|
-
const g = /* @__PURE__ */ new Set([
|
|
1998
|
-
"section_engagement",
|
|
1999
|
-
"full_engagement",
|
|
2000
|
-
"error_hunting",
|
|
2001
|
-
"scroll_tracking",
|
|
2002
|
-
"form_validation",
|
|
2003
|
-
"page_value",
|
|
2004
|
-
"cta_performance",
|
|
2005
|
-
"bounce_detection"
|
|
2006
|
-
]);
|
|
2007
|
-
for (const Q of I)
|
|
2008
|
-
g.has(Q) || A.push({
|
|
2009
|
-
level: "error",
|
|
2010
|
-
path: `presets["${Q}"]`,
|
|
2011
|
-
message: `Unknown preset "${Q}"`,
|
|
2012
|
-
suggestion: `Valid presets: ${[...g].join(", ")}`
|
|
2013
|
-
});
|
|
2014
|
-
}
|
|
2015
|
-
function WI(I) {
|
|
2016
|
-
const g = I.split(/\s*&&\s*/).map((Q) => uI(Q.trim()));
|
|
2017
|
-
return (Q) => g.every((C) => C(Q));
|
|
2018
|
-
}
|
|
2019
|
-
function uI(I) {
|
|
2020
|
-
const A = I.match(/^event\.(\w+)\s*==\s*"(.+)"$/);
|
|
2021
|
-
if (A) {
|
|
2022
|
-
const E = A[1], e = A[2];
|
|
2023
|
-
return (n) => a(n, E) === e;
|
|
2024
|
-
}
|
|
2025
|
-
const g = I.match(/^event\.(\w+)\s*>=\s*([\d.]+)$/);
|
|
2026
|
-
if (g) {
|
|
2027
|
-
const E = g[1], e = Number(g[2]);
|
|
2028
|
-
return (n) => typeof a(n, E) == "number" && a(n, E) >= e;
|
|
2029
|
-
}
|
|
2030
|
-
const Q = I.match(/^event\.(\w+)\s*>\s*([\d.]+)$/);
|
|
2031
|
-
if (Q) {
|
|
2032
|
-
const E = Q[1], e = Number(Q[2]);
|
|
2033
|
-
return (n) => typeof a(n, E) == "number" && a(n, E) > e;
|
|
2034
|
-
}
|
|
2035
|
-
const C = I.match(/^event\.(\w+)\s*<=\s*([\d.]+)$/);
|
|
2036
|
-
if (C) {
|
|
2037
|
-
const E = C[1], e = Number(C[2]);
|
|
2038
|
-
return (n) => typeof a(n, E) == "number" && a(n, E) <= e;
|
|
2039
|
-
}
|
|
2040
|
-
const B = I.match(/^event\.(\w+)\s*<\s*([\d.]+)$/);
|
|
2041
|
-
if (B) {
|
|
2042
|
-
const E = B[1], e = Number(B[2]);
|
|
2043
|
-
return (n) => typeof a(n, E) == "number" && a(n, E) < e;
|
|
2044
|
-
}
|
|
2045
|
-
throw new Error(`Cannot compile CEL expression: "${I}"`);
|
|
2046
|
-
}
|
|
2047
|
-
function a(I, A) {
|
|
2048
|
-
if (A === "kind")
|
|
2049
|
-
return I.kind;
|
|
2050
|
-
if (A === "ts")
|
|
2051
|
-
return I.ts;
|
|
2052
|
-
if (A.startsWith("target.")) {
|
|
2053
|
-
const g = A.slice(7);
|
|
2054
|
-
return I.target?.[g];
|
|
2055
|
-
}
|
|
2056
|
-
if (A.startsWith("page.")) {
|
|
2057
|
-
const g = A.slice(5);
|
|
2058
|
-
return I.page?.[g];
|
|
2059
|
-
}
|
|
2060
|
-
return I[A];
|
|
2061
|
-
}
|
|
2062
|
-
export {
|
|
2063
|
-
DA as CompiledPattern,
|
|
2064
|
-
bA as ConsoleSink,
|
|
2065
|
-
XA as EdgeSink,
|
|
2066
|
-
RA as GA4Sink,
|
|
2067
|
-
AA as MASK_SELECTOR,
|
|
2068
|
-
VA as MAX_CAPTURED_TEXT,
|
|
2069
|
-
mA as Pattern,
|
|
2070
|
-
MA as PatternRuntime,
|
|
2071
|
-
pA as SinkRouter,
|
|
2072
|
-
TA as TFloBrowser,
|
|
2073
|
-
UA as capturableText,
|
|
2074
|
-
z as capture,
|
|
2075
|
-
LA as captureErrors,
|
|
2076
|
-
_A as captureLifecycle,
|
|
2077
|
-
vA as captureScroll,
|
|
2078
|
-
P as captureViewport,
|
|
2079
|
-
HA as captureVisibility,
|
|
2080
|
-
XI as checkClickCoverage,
|
|
2081
|
-
eI as checkSelectorHealth,
|
|
2082
|
-
CA as diagnosticEvent,
|
|
2083
|
-
qA as expandPreset,
|
|
2084
|
-
PA as expandPresets,
|
|
2085
|
-
gA as pathOnlyUrl,
|
|
2086
|
-
rA as stableSessionId,
|
|
2087
|
-
xA as stripUrlQueries,
|
|
2088
|
-
RI as tflo,
|
|
2089
|
-
pI as validatePlan,
|
|
2090
|
-
aA as withIdentity
|
|
2091
|
-
};
|
|
1
|
+
var EA=Object.defineProperty;var eA=(I,A,g)=>A in I?EA(I,A,{enumerable:true,configurable:true,writable:true,value:g}):I[A]=g;var o=(I,A,g)=>eA(I,typeof A!="symbol"?A+"":A,g);function z(I,A){const g=I.fields??(()=>({})),Q=I.kind??I.type,C=I.now??(()=>performance.now()),E={passive:I.type==="scroll"||I.type==="wheel"||I.type==="touchmove",...I.listenerOptions??{}};let e=null,n=null;const t=()=>{e&&(A(e),e=null),n=null},i=c=>{const l={ts:C(),kind:Q,fields:g(c)};if(I.throttleMs&&I.throttleMs>0){e=l,n===null&&(n=setTimeout(t,I.throttleMs));return}A(l)};return I.target.addEventListener(I.type,i,E),()=>{I.target.removeEventListener(I.type,i,E),n!==null&&(clearTimeout(n),n=null),e=null}}class D{static __wrap(A){const g=Object.create(D.prototype);return g.__wbg_ptr=A,O.register(g,g.__wbg_ptr,g),g}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,O.unregister(this),A}free(){const A=this.__destroy_into_raw();s.__wbg_wasmcompiledpattern_free(A,0)}get name(){let A,g;try{const Q=s.wasmcompiledpattern_name(this.__wbg_ptr);return A=Q[0],g=Q[1],k(Q[0],Q[1])}finally{s.__wbindgen_free(A,g,1)}}}Symbol.dispose&&(D.prototype[Symbol.dispose]=D.prototype.free);class r{static __wrap(A){const g=Object.create(r.prototype);return g.__wbg_ptr=A,u.register(g,g.__wbg_ptr,g),g}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,u.unregister(this),A}free(){const A=this.__destroy_into_raw();s.__wbg_wasmpattern_free(A,0)}emit(A){const g=this.__destroy_into_raw(),Q=s.wasmpattern_emit(g,A);if(Q[2])throw q(Q[1]);return D.__wrap(Q[0])}constructor(A){const g=J(A,s.__wbindgen_malloc,s.__wbindgen_realloc),Q=Y,C=s.wasmpattern_new(g,Q);return this.__wbg_ptr=C,u.register(this,this.__wbg_ptr,this),this}next(){const A=this.__destroy_into_raw(),g=s.wasmpattern_next(A);return r.__wrap(g)}notBetween(A){const g=this.__destroy_into_raw(),Q=s.wasmpattern_notBetween(g,A);return r.__wrap(Q)}notThen(A){const g=this.__destroy_into_raw(),Q=s.wasmpattern_notThen(g,A);return r.__wrap(Q)}notThenNamed(A,g){const Q=this.__destroy_into_raw(),C=J(A,s.__wbindgen_malloc,s.__wbindgen_realloc),B=Y,E=s.wasmpattern_notThenNamed(Q,C,B,g);return r.__wrap(E)}then(A){const g=this.__destroy_into_raw(),Q=s.wasmpattern_then(g,A);return r.__wrap(Q)}thenNamed(A,g){const Q=this.__destroy_into_raw(),C=J(A,s.__wbindgen_malloc,s.__wbindgen_realloc),B=Y,E=s.wasmpattern_thenNamed(Q,C,B,g);return r.__wrap(E)}times(A,g){const Q=this.__destroy_into_raw(),C=s.wasmpattern_times(Q,A,g);return r.__wrap(C)}timestamp(A){const g=this.__destroy_into_raw(),Q=s.wasmpattern_timestamp(g,A);return r.__wrap(Q)}when(A){const g=this.__destroy_into_raw(),Q=s.wasmpattern_when(g,A);return r.__wrap(Q)}within(A){const g=this.__destroy_into_raw(),Q=s.wasmpattern_within(g,A);return r.__wrap(Q)}}Symbol.dispose&&(r.prototype[Symbol.dispose]=r.prototype.free);class p{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,T.unregister(this),A}free(){const A=this.__destroy_into_raw();s.__wbg_wasmpatternruntime_free(A,0)}get droppedCount(){return s.wasmpatternruntime_droppedCount(this.__wbg_ptr)>>>0}flush(){return s.wasmpatternruntime_flush(this.__wbg_ptr)}constructor(A,g){oA(A,D);var Q=A.__destroy_into_raw();const C=s.wasmpatternruntime_new(Q,!f(g),f(g)?0:g);if(C[2])throw q(C[1]);return this.__wbg_ptr=C[0],T.register(this,this.__wbg_ptr,this),this}get nextDeadline(){const A=s.wasmpatternruntime_nextDeadline(this.__wbg_ptr);return A[0]===0?void 0:A[1]}push(A){return s.wasmpatternruntime_push(this.__wbg_ptr,A)}reset(){s.wasmpatternruntime_reset(this.__wbg_ptr)}setDropHandler(A){s.wasmpatternruntime_setDropHandler(this.__wbg_ptr,A)}tick(A){return s.wasmpatternruntime_tick(this.__wbg_ptr,A)}}Symbol.dispose&&(p.prototype[Symbol.dispose]=p.prototype.free);function tA(){return{__proto__:null,"./tflo_cep_wasm_bg.js":{__proto__:null,__wbg_Error_ef53bc310eb298a0:function(A,g){return Error(k(A,g))},__wbg___wbindgen_is_falsy_d7ed49840e6d9abb:function(A){return!A},__wbg___wbindgen_number_get_9bb1761122181af2:function(A,g){const Q=g,C=typeof Q=="number"?Q:void 0;Z().setFloat64(A+8,f(C)?0:C,true),Z().setInt32(A+0,!f(C),true)},__wbg___wbindgen_throw_1506f2235d1bdba0:function(A,g){throw new Error(k(A,g))},__wbg_call_40e4174f169eaca7:function(){return j(function(A,g,Q,C){return A.call(g,Q,C)},arguments)},__wbg_call_9c758de292015997:function(){return j(function(A,g,Q){return A.call(g,Q)},arguments)},__wbg_error_a6fa202b58aa1cd3:function(A,g){let Q,C;try{Q=A,C=g,console.error(k(A,g))}finally{s.__wbindgen_free(Q,C,1)}},__wbg_new_227d7c05414eb861:function(){return new Error},__wbg_new_ce1ab61c1c2b300d:function(){return new Object},__wbg_new_d90091b82fdf5b91:function(){return new Array},__wbg_push_a6822215aa43e71c:function(A,g){return A.push(g)},__wbg_set_6e30c9374c26414c:function(){return j(function(A,g,Q){return Reflect.set(A,g,Q)},arguments)},__wbg_stack_3b0d974bbf31e44f:function(A,g){const Q=g.stack,C=J(Q,s.__wbindgen_malloc,s.__wbindgen_realloc),B=Y;Z().setInt32(A+4,B,true),Z().setInt32(A+0,C,true)},__wbindgen_cast_0000000000000001:function(A,g){return S(A,g,nA)},__wbindgen_cast_0000000000000002:function(A,g){return S(A,g,iA)},__wbindgen_cast_0000000000000003:function(A){return A},__wbindgen_cast_0000000000000004:function(A,g){return k(A,g)},__wbindgen_init_externref_table:function(){const A=s.__wbindgen_externrefs,g=A.grow(4);A.set(0,void 0),A.set(g+0,void 0),A.set(g+1,null),A.set(g+2,true),A.set(g+3,false)}}}}function iA(I,A){return s.wasm_bindgen_f42a98a122aaea76___convert__closures_____invoke___wasm_bindgen_f42a98a122aaea76___JsValue__true_(I,A)}function nA(I,A,g){const Q=J(g,s.__wbindgen_malloc,s.__wbindgen_realloc),C=Y;return s.wasm_bindgen_f42a98a122aaea76___convert__closures_____invoke___alloc_a941a2cfab7efbc4___string__String__wasm_bindgen_f42a98a122aaea76___JsValue__true_(I,A,Q,C)}const O=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(I=>s.__wbg_wasmcompiledpattern_free(I,1)),u=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(I=>s.__wbg_wasmpattern_free(I,1)),T=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(I=>s.__wbg_wasmpatternruntime_free(I,1));function sA(I){const A=s.__externref_table_alloc();return s.__wbindgen_externrefs.set(A,I),A}function oA(I,A){if(!(I instanceof A))throw new Error(`expected instance of ${A.name}`)}const V=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(I=>s.__wbindgen_destroy_closure(I.a,I.b));let N=null;function Z(){return(N===null||N.buffer.detached===true||N.buffer.detached===void 0&&N.buffer!==s.memory.buffer)&&(N=new DataView(s.memory.buffer)),N}function k(I,A){return lA(I>>>0,A)}let G=null;function F(){return(G===null||G.byteLength===0)&&(G=new Uint8Array(s.memory.buffer)),G}function j(I,A){try{return I.apply(this,A)}catch(g){const Q=sA(g);s.__wbindgen_exn_store(Q)}}function f(I){return I==null}function S(I,A,g){const Q={a:I,b:A,cnt:1},C=(...B)=>{Q.cnt++;try{return g(Q.a,Q.b,...B)}finally{C._wbg_cb_unref()}};return C._wbg_cb_unref=()=>{--Q.cnt===0&&(s.__wbindgen_destroy_closure(Q.a,Q.b),Q.a=0,V.unregister(Q))},V.register(C,Q,Q),C}function J(I,A,g){if(g===void 0){const e=w.encode(I),n=A(e.length,1)>>>0;return F().subarray(n,n+e.length).set(e),Y=e.length,n}let Q=I.length,C=A(Q,1)>>>0;const B=F();let E=0;for(;E<Q;E++){const e=I.charCodeAt(E);if(e>127)break;B[C+E]=e}if(E!==Q){E!==0&&(I=I.slice(E)),C=g(C,Q,Q=E+I.length*3,1)>>>0;const e=F().subarray(C+E,C+Q),n=w.encodeInto(I,e);E+=n.written,C=g(C,Q,E,1)>>>0}return Y=E,C}function q(I){const A=s.__wbindgen_externrefs.get(I);return s.__externref_table_dealloc(I),A}let y=new TextDecoder("utf-8",{ignoreBOM:true,fatal:true});y.decode();const cA=2146435072;let X=0;function lA(I,A){return X+=A,X>=cA&&(y=new TextDecoder("utf-8",{ignoreBOM:true,fatal:true}),y.decode(),X=A),y.decode(F().subarray(I,I+A))}const w=new TextEncoder;"encodeInto"in w||(w.encodeInto=function(I,A){const g=w.encode(I);return A.set(g),{read:I.length,written:g.length}});let Y=0,s;function hA(I,A){return s=I.exports,N=null,G=null,s.__wbindgen_start(),s}async function dA(I,A){if(typeof Response=="function"&&I instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(I,A)}catch(C){if(I.ok&&g(I.type)&&I.headers.get("Content-Type")!=="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",C);else throw C}const Q=await I.arrayBuffer();return await WebAssembly.instantiate(Q,A)}else{const Q=await WebAssembly.instantiate(I,A);return Q instanceof WebAssembly.Instance?{instance:Q,module:I}:Q}function g(Q){switch(Q){case"basic":case"cors":case"default":return true}return false}}async function U(I){if(s!==void 0)return s;I!==void 0&&(Object.getPrototypeOf(I)===Object.prototype?{module_or_path:I}=I:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),I===void 0&&(I=new URL("data:application/wasm;base64,AGFzbQEAAAAByAIxYAAAYAABf2AAAW9gAX8AYAF/AX9gAX8Cf39gAX8Cf3xgAX8Bb2ACf38AYAJ/fwF/YAJ/fwFvYAN/f38AYAN/f38Bf2AEf39/fwBgBH9/f38Bf2AEf39/fwFvYAV/f39/fwBgBX9/f39/AX9gBn9/f39/fwBgBn9/f39/fwF/YAZ/f39+f38AYAZ/f399f38AYAR/f398AGAGf39/fH9/AGAEf39/bwF/YAN/f34AYAR/f35/AGAFf39+f38AYAV/f31/fwBgA39/fAN/f39gBX9/fH9/AGADf39vAGADf35/AGAEf35/fwBgBH99f38AYAJ/fAF/YAJ/fAFvYAR/fH9/AGACf28AYAJ/bwF/YAJ/bwN/f39gAn9vAW9gAXwBf2ABfAFvYAFvAX9gAm9vAX9gA29vbwF/YANvb28Bb2AEb29vbwFvAuwHEhUuL3RmbG9fY2VwX3dhc21fYmcuanMbX193YmdfcHVzaF9hNjgyMjIxNWFhNDNlNzFjAC0VLi90ZmxvX2NlcF93YXNtX2JnLmpzG19fd2JnX2NhbGxfNDBlNDE3NGYxNjllYWNhNwAwFS4vdGZsb19jZXBfd2FzbV9iZy5qcxtfX3diZ19jYWxsXzljNzU4ZGUyOTIwMTU5OTcALxUuL3RmbG9fY2VwX3dhc21fYmcuanMaX193YmdfbmV3XzIyN2Q3YzA1NDE0ZWI4NjEAAhUuL3RmbG9fY2VwX3dhc21fYmcuanMcX193Ymdfc3RhY2tfM2IwZDk3NGJiZjMxZTQ0ZgAmFS4vdGZsb19jZXBfd2FzbV9iZy5qcxxfX3diZ19lcnJvcl9hNmZhMjAyYjU4YWExY2QzAAgVLi90ZmxvX2NlcF93YXNtX2JnLmpzGl9fd2JnX25ld19jZTFhYjYxYzFjMmIzMDBkAAIVLi90ZmxvX2NlcF93YXNtX2JnLmpzGl9fd2JnX25ld19kOTAwOTFiODJmZGY1YjkxAAIVLi90ZmxvX2NlcF93YXNtX2JnLmpzGl9fd2JnX3NldF82ZTMwYzkzNzRjMjY0MTRjAC4VLi90ZmxvX2NlcF93YXNtX2JnLmpzLF9fd2JnX19fd2JpbmRnZW5fbnVtYmVyX2dldF85YmIxNzYxMTIyMTgxYWYyACYVLi90ZmxvX2NlcF93YXNtX2JnLmpzJ19fd2JnX19fd2JpbmRnZW5fdGhyb3dfMTUwNmYyMjM1ZDFiZGJhMAAIFS4vdGZsb19jZXBfd2FzbV9iZy5qcypfX3diZ19fX3diaW5kZ2VuX2lzX2ZhbHN5X2Q3ZWQ0OTg0MGU2ZDlhYmIALBUuL3RmbG9fY2VwX3dhc21fYmcuanMcX193YmdfRXJyb3JfZWY1M2JjMzEwZWIyOThhMAAKFS4vdGZsb19jZXBfd2FzbV9iZy5qcx9fX3diaW5kZ2VuX2luaXRfZXh0ZXJucmVmX3RhYmxlAAAVLi90ZmxvX2NlcF93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAxAAoVLi90ZmxvX2NlcF93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAyAAoVLi90ZmxvX2NlcF93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAzACsVLi90ZmxvX2NlcF93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDA0AAoDggKAAgQaCQ4JDggWCwMDEwsIGgwgDggIGQgJCwMJCwgBAwgJCQMDCwgJCQkJCAMJCQQJDBkLCQkLCQgMBBAICA4OCQgQDBISEhASEgsjAwkQCAgjCQsJAw0ECAMIAxADAwMDAwMIBBIQDRALEA0EEhcVEhIUDAwQDAgNDAsLBAMMDQ4EBAAIAwgLCwkJEQ4IAwMdBAMoCAUGEw4DAwMQEREQHhwQGw0ODAQMAwMJAwMIAwkDKQgLCQkJCRgYDwsICAwqHwkBAQEMJycnJycmJAoJCQ4DCQgJCQQHCwwECAwADAMDCQkJCAAACAgICQkJDAgICAkDAwgBCAQICAgJAAABAQAECQJwAVdXbwCACAUDAQARBgkBfwFBgIDAAAsH5gglBm1lbW9yeQIAHl9fd2JnX3dhc21jb21waWxlZHBhdHRlcm5fZnJlZQBNFl9fd2JnX3dhc21wYXR0ZXJuX2ZyZWUATB1fX3diZ193YXNtcGF0dGVybnJ1bnRpbWVfZnJlZQAYGHdhc21jb21waWxlZHBhdHRlcm5fbmFtZQClARB3YXNtcGF0dGVybl9lbWl0AKMBD3dhc21wYXR0ZXJuX25ldwBkEHdhc21wYXR0ZXJuX25leHQAShZ3YXNtcGF0dGVybl9ub3RCZXR3ZWVuANcBE3dhc21wYXR0ZXJuX25vdFRoZW4A2AEYd2FzbXBhdHRlcm5fbm90VGhlbk5hbWVkAMkBEHdhc21wYXR0ZXJuX3RoZW4A2QEVd2FzbXBhdHRlcm5fdGhlbk5hbWVkAMoBEXdhc21wYXR0ZXJuX3RpbWVzAEEVd2FzbXBhdHRlcm5fdGltZXN0YW1wANoBEHdhc21wYXR0ZXJuX3doZW4A2wESd2FzbXBhdHRlcm5fd2l0aGluAEcfd2FzbXBhdHRlcm5ydW50aW1lX2Ryb3BwZWRDb3VudACMARh3YXNtcGF0dGVybnJ1bnRpbWVfZmx1c2gA6AEWd2FzbXBhdHRlcm5ydW50aW1lX25ldwCgAR93YXNtcGF0dGVybnJ1bnRpbWVfbmV4dERlYWRsaW5lAKYBF3dhc21wYXR0ZXJucnVudGltZV9wdXNoAMIBGHdhc21wYXR0ZXJucnVudGltZV9yZXNldAAvIXdhc21wYXR0ZXJucnVudGltZV9zZXREcm9wSGFuZGxlcgDcARd3YXNtcGF0dGVybnJ1bnRpbWVfdGljawDdAQVzdGFydACTAZYBd2FzbV9iaW5kZ2VuX2Y0MmE5OGExMjJhYWVhNzZfX19jb252ZXJ0X19jbG9zdXJlc19fX19faW52b2tlX19fYWxsb2NfYTk0MWEyY2ZhYjdlZmJjNF9fX3N0cmluZ19fU3RyaW5nX193YXNtX2JpbmRnZW5fZjQyYTk4YTEyMmFhZWE3Nl9fX0pzVmFsdWVfX3RydWVfAMsBbXdhc21fYmluZGdlbl9mNDJhOThhMTIyYWFlYTc2X19fY29udmVydF9fY2xvc3VyZXNfX19fX2ludm9rZV9fX3dhc21fYmluZGdlbl9mNDJhOThhMTIyYWFlYTc2X19fSnNWYWx1ZV9fdHJ1ZV8A3gEUX193YmluZGdlbl9leG5fc3RvcmUA4gEXX19leHRlcm5yZWZfdGFibGVfYWxsb2MALhVfX3diaW5kZ2VuX2V4dGVybnJlZnMBAQ9fX3diaW5kZ2VuX2ZyZWUAzAERX193YmluZGdlbl9tYWxsb2MAmQESX193YmluZGdlbl9yZWFsbG9jAJwBGl9fd2JpbmRnZW5fZGVz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AQstAgF/AX4jAEEQayIBJAAgACkCACECIAEgADYCDCABIAI3AgQgAUEEahCEAgALLAEBfyMAQRBrIgIkACACIAAgARDRASACKAIAIAIoAgQgAigCCCACQRBqJAALJAEBfyMAQRBrIgIkACACIAE2AgwgAiAANgIIIAJBCGoQgwIACyQBAX8jAEEQayIBJAAgASAAEDYgASgCACABKAIEIAFBEGokAAskAQF/IwBBEGsiASQAIAEgABAkIAEoAgAgASsDCCABQRBqJAALJgACQCAADQBBxJHAAEEyEPUBAAsgACACIAMgBCAFIAEoAhAREQALJAIBfwFvIAAlASABJQEgAiUBIAMlARABIQUQLiIEIAUmASAECyQBAX8gACgCACIBIAEoAgBBf2oiATYCAAJAIAENACAAEJUBCwsjAQF/IAAoAgAiASABKAIAQX9qIgE2AgACQCABDQAgABBlCwsjAQF/IAAoAgAiASABKAIAQX9qIgE2AgACQCABDQAgABBcCwskAAJAIAANAEHEkcAAQTIQ9QEACyAAIAIgAyAEIAEoAhARDQALJAACQCAADQBBxJHAAEEyEPUBAAsgACACIAMgBCABKAIQEQ4ACyQAAkAgAA0AQcSRwABBMhD1AQALIAAgAiADIAQgASgCEBEOAAskAAJAIAANAEHEkcAAQTIQ9QEACyAAIAIgAyAEIAEoAhARDQALJAACQCAADQBBxJHAAEEyEPUBAAsgACACIAMgBCABKAIQESUACyQAAkAgAA0AQcSRwABBMhD1AQALIAAgAiADIAQgASgCEBEiAAskAAJAIAANAEHEkcAAQTIQ9QEACyAAIAIgAyAEIAEoAhARDQALJAACQCAADQBBxJHAAEEyEPUBAAsgACACIAMgBCABKAIQESEACyIAAkAgAA0AQcSRwABBMhD1AQALIAAgAiADIAEoAhARCwALIgACQCAADQBBxJHAAEEyEPUBAAsgACACIAMgASgCEBEMAAsgAgF/AW8gACUBIAElASACJQEQAiEEEC4iAyAEJgEgAwsgAAJAIAAoAgAiACgCEA0AQYAIDwsgACgCDCgCABDnAQsgAAJAIAANAEHEkcAAQTIQ9QEACyAAIAIgASgCEBEJAAsfAQF/AkAgACgCACIBQQFIDQAgACgCBCABQQEQ6QELCx4AIAAoAgAgACgCBEEAKAKYm0AiAEE9IAAbEQgAAAseAAJAIAANAEHsjsAAQTIQ9QEACyAAIAEoAhQRBAALHQEBfwJAIAAoAgAiAUUNACAAKAIEIAFBARDpAQsLHQEBfwJAIAAoAgAiAUUNACAAKAIEIAFBARDpAQsLGAACQCAAQX9qQX5PDQAgASAAQQEQ6QELCx0BAX8CQCAAKAIAIgFFDQAgACgCBCABQQEQ6QELCxcAAkAgAUEJSQ0AIAEgABArDwsgABASCx0BAX8CQCAAKAIAIgFFDQAgACgCBCABQQEQ6QELCxoBAX8gABAuIgIgASYBIAIQPSICJQEgAhBrCxYAAkAgAEUNACAAIAEQ+gEACxDuAQALEgAgACABQQF0QQFyIAIQlwEACxgCAX8BbyAAIAEQDCEDEC4iAiADJgEgAgsYAgF/AW8gACABEA4hAxAuIgIgAyYBIAILGAIBfwFvIAAgARAPIQMQLiICIAMmASACCxgCAX8BbyAAIAEQESEDEC4iAiADJgEgAgsWAQF/IAAgASACEC4iBCADJgEgBBBOCxYBAX8gACABIAIQLiIEIAMmASAEEE8LFwEBfyAAIAEgAiADEJABIgQlASAEEGsLEwACQCABRQ0AIAAgASACEOkBCwsaACAAQQApAoyUQDcCCCAAQQApAoSUQDcCAAsaACAAQQApAvyTQDcCCCAAQQApAvSTQDcCAAsWACAAKAIAIAEgAiAAKAIEKAIMEQwACxYCAX8BbyAAEBAhAhAuIgEgAiYBIAELFAEBfyAAIAEQLiIDIAImASADEEMLFAAgACgCACABIAAoAgQoAgwRCQALFAIBfwFvEAMhARAuIgAgASYBIAALFAIBfwFvEAYhARAuIgAgASYBIAALFAIBfwFvEAchARAuIgAgASYBIAALEAAgACUBIAElASACJQEQCAsSAQF/IAAQLiICIAEmASACEEQLEgEBfyAAEC4iAiABJgEgAhAxCxIBAX8gABAuIgIgASYBIAIQMgsSAQF/IAAQLiICIAEmASACEEULEgEBfyAAEC4iAiABJgEgAhBdCxIBAX8gABAuIgIgASYBIAIQOwsSAQF/IAAgARBbIgIlASACEGsLEwEBfyAAIAEQuwEiAiUBIAIQawsRACAAKAIEIAAoAgggARD+AQsRACAAKAIAIAAoAgQgARD+AQsNACAAIAEgAiADEBcPCxQAQQAgADYCjJtAQQBBATYCiJtACxEAIAAoAgAgACgCBCABEP4BCxMAIABBhJbAADYCBCAAIAE2AgALEQAgASAAKAIAIAAoAgQQzwELEAAgASAAKAIAIAAoAgQQIQsQAQF/EC4iASAAJQEmASABCxABAX8gABA/IgElASABEGsLCwAgACABIAIQeQ8LDwAgAEGskcAAIAEgAhAjCw0AIAAoAgAQiAJBAEcLCwAgACABEIwCGgALDwAgAEGkk8AAIAEgAhAjCxIAQeyWwABBI0GAl8AAEJcBAAsPACAAQZCXwAAgASACECMLDwBBpZjAAEErIAAQxAEACw8AQZiawABBOSAAEJcBAAsMACAAJQEgASUBEAALCgAgACABEMABDwsOACABQaSRwABBBRDPAQsKACAAIAEQgQIACw0AQbiSwABBGxD1AQALDgBB05LAAEHPABD1AQALCgAgASAAEKQBAAsMACAAIAEpAgA3AwALCgAgASAAEPgBAAsOACABQaCYwABBBRDPAQsNACABQdSawABBGBAhCw0AIAFBtJrAAEEgECELCgAgAiAAIAEQIQsKACAAIAElARAECwoAIAAgASUBEAkLCAAgACABEAoLCQAgACABEMUBCwgAIAAQugEACwcAIAAQaQALCwBBAEEBOgDwnkALCgBBACgCkJtARQsJACAAQQA2AgALCAAgACUBEAsLBgAgARAqCwYAIAEQKgsGACABECoLBgAQkQIACwcAEA0QkwELAwAPCwUAENUBCwUAENQBCwMAAAsLlhsCAEGAgMAAC+wacGF0dGVybk5hbWVsZW5ndGhmaXJzdGxhc3RhbGxhdMABX8AAwAE6wAE6wAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhlIGluZGV4IGlzIMAAwAI6IMAAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9hbGxvYy9zcmMvZm10LnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9yd2xvY2svbm9fdGhyZWFkcy5ycwAvaG9tZS9tYy8ucnVzdHVwL3Rvb2xjaGFpbnMvMS45Ny14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnMAL2hvbWUvbWMvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEyMi9zcmMvZXh0ZXJucmVmLnJzAHRmbG8tY2VwL3NyYy9lbmdpbmUucnMAL2hvbWUvbWMvLnJ1c3R1cC90b29sY2hhaW5zLzEuOTcteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeW5jL29uY2UucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy9tb2QucnMAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuMTMvc3JjL2RsbWFsbG9jLnJzAHRmbG8tY2VwLXdhc20vc3JjL2xpYi5ycwAvaG9tZS9tYy8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2NvbnNvbGVfZXJyb3JfcGFuaWNfaG9vay0wLjEuNy9zcmMvbGliLnJzAAZzdGVwIGDAJmAgaXMgbm90VGhlbiBhbmQgbXVzdCBiZSB0aGUgbGFzdCBzdGVwAAZzdGVwIGDAKmAgaXMgbm90VGhlbiBidXQgaGFzIG5vIC53aXRoaW4oLi4uKSBib3VuZAAScmVtb3ZhbCBpbmRleCAoaXMgwBYpIHNob3VsZCBiZSA8IGxlbiAoaXMgwAEpAABEAxAAZwAAAJUAAAAOAAAAY29tcGlsZWQgcGF0dGVybiBhbHJlYWR5IGNvbnN1bWVkAAAAKwMQABgAAACCAQAAIAAAACsDEAAYAAAAjgEAABQAAAArAxAAGAAAAJoBAAAUAAAAKwMQABgAAAD1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AAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHdoZW4gdGhlIHVuZGVybHlpbmcgc3RyZWFtIGRpZCBub3QAAGkAEABIAAAAjwIAAA4AAABFcnJvcmNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OWF0dGVtcHQgdG8gYWRkIHdpdGggb3ZlcmZsb3dSZWZDZWxsIGFscmVhZHkgbXV0YWJseSBib3Jyb3dlZFJlZkNlbGwgYWxyZWFkeSBib3Jyb3dlZABB7JrAAAsYAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAJrTAQRuYW1lABMSdGZsb19jZXBfd2FzbS53YXNtAbvSAZACAEc8anNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpBcnJheTxfPj46OnB1c2g6Ol9fd2JnX3B1c2hfYTY4MjIyMTVhYTQzZTcxYwFLPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6RnVuY3Rpb248Xz4+OjpjYWxsMjo6X193YmdfY2FsbF80MGU0MTc0ZjE2OWVhY2E3Aks8anNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpGdW5jdGlvbjxfPj46OmNhbGwxOjpfX3diZ19jYWxsXzljNzU4ZGUyOTIwMTU5OTcDVDxjb25zb2xlX2Vycm9yX3BhbmljX2hvb2tbMTJlM2UxMTZhNjY5MWMxOV06OkVycm9yPjo6bmV3OjpfX3diZ19uZXdfMjI3ZDdjMDU0MTRlYjg2MQRYPGNvbnNvbGVfZXJyb3JfcGFuaWNfaG9va1sxMmUzZTExNmE2NjkxYzE5XTo6RXJyb3I+OjpzdGFjazo6X193Ymdfc3RhY2tfM2IwZDk3NGJiZjMxZTQ0ZgVPY29uc29sZV9lcnJvcl9wYW5pY19ob29rWzEyZTNlMTE2YTY2OTFjMTldOjplcnJvcjo6X193YmdfZXJyb3JfYTZmYTIwMmI1OGFhMWNkMwZDPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6T2JqZWN0Pjo6bmV3OjpfX3diZ19uZXdfY2UxYWI2MWMxYzJiMzAwZAdCPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6QXJyYXk+OjpuZXc6Ol9fd2JnX25ld19kOTAwOTFiODJmZGY1YjkxCEJqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OlJlZmxlY3Q6OnNldDo6X193Ymdfc2V0XzZlMzBjOTM3NGMyNjQxNGMJY3dhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6X193YmluZGdlbl9udW1iZXJfZ2V0OjpfX3diZ19fX3diaW5kZ2VuX251bWJlcl9nZXRfOWJiMTc2MTEyMjE4MWFmMgpZd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX3Rocm93OjpfX3diZ19fX3diaW5kZ2VuX3Rocm93XzE1MDZmMjIzNWQxYmRiYTALX3dhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6X193YmluZGdlbl9pc19mYWxzeTo6X193YmdfX193YmluZGdlbl9pc19mYWxzeV9kN2VkNDk4NDBlNmQ5YWJiDFJ3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fd2JpbmRnZW5fZXJyb3JfbmV3OjpfX3diZ19FcnJvcl9lZjUzYmMzMTBlYjI5OGEwDqMBQ2xvc3VyZShDbG9zdXJlIHsgb3duZWQ6IHRydWUsIGZ1bmN0aW9uOiBGdW5jdGlvbiB7IGFyZ3VtZW50czogW1N0cmluZ10sIHNoaW1faWR4OiAxNywgcmV0OiBFeHRlcm5yZWYsIGlubmVyX3JldDogU29tZShFeHRlcm5yZWYpIH0sIG11dGFibGU6IGZhbHNlIH0pIC0+IEV4dGVybnJlZg+dAUNsb3N1cmUoQ2xvc3VyZSB7IG93bmVkOiB0cnVlLCBmdW5jdGlvbjogRnVuY3Rpb24geyBhcmd1bWVudHM6IFtdLCBzaGltX2lkeDogMTksIHJldDogRXh0ZXJucmVmLCBpbm5lcl9yZXQ6IFNvbWUoRXh0ZXJucmVmKSB9LCBtdXRhYmxlOiBmYWxzZSB9KSAtPiBFeHRlcm5yZWYQEEY2NCAtPiBFeHRlcm5yZWYRGFJlZihTdHJpbmcpIC0+IEV4dGVybnJlZhJhPGRsbWFsbG9jW2JkZDQxZTU2MDUxMGUxYmRdOjpkbG1hbGxvYzo6RGxtYWxsb2M8ZGxtYWxsb2NbYmRkNDFlNTYwNTEwZTFiZF06OnN5czo6U3lzdGVtPj46Om1hbGxvYxOMAjx0ZmxvX2NlcFs0OGM4OTlhZDE3YWQ4YjMyXTo6ZW5naW5lOjpSdW50aW1lPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUHJlZCwgdGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6SnNFbWl0LCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc1RpbWVzdGFtcD4+OjptYXRjaF9vbmUUtQE8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6SnNFbWl0IGFzIHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OkVtaXRDYWxsYmFjazx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4+OjplbWl0FZ0BPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkpzUHJlZGljYXRlIGFzIHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlByZWRpY2F0ZTx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWU+Pjo6ZXZhbHVhdGVfaW5fY29udGV4dBYyY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6c3RyOjpjb3VudDo6ZG9fY291bnRfY2hhcnMXKF9fcnVzdGNbNmVmNzhmYmExM2FjNzc2Y106Ol9fcmRsX3JlYWxsb2MYHV9fd2JnX3dhc21wYXR0ZXJucnVudGltZV9mcmVlGRZ3YXNtcGF0dGVybnJ1bnRpbWVfbmV3GocCPHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlJ1bnRpbWU8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QcmVkLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc0VtaXQsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkpzVGltZXN0YW1wPj46OnB1c2gblAE8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJjOjpSYzx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fcnQ6Oldhc21SZWZDZWxsPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QYXR0ZXJuUnVudGltZT4+Pjo6ZHJvcF9zbG93HF88ZGxtYWxsb2NbYmRkNDFlNTYwNTEwZTFiZF06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6c3lzOjpTeXN0ZW0+Pjo6ZnJlZR02PGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6Rm9ybWF0dGVyPjo6cGFkX2ludGVncmFsHjQ8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6V2FzbVBhdHRlcm4+OjplbWl0H8cBPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpjb2xsZWN0aW9uczo6YmluYXJ5X2hlYXA6OkJpbmFyeUhlYXA8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Y21wOjpSZXZlcnNlPHRmbG9fY29yZVs3ZWE4ZDFiMjVjODlkMjc5XTo6cmVvcmRlcjo6UGVuZGluZ0VudHJ5PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4+Pj46OnBvcCBkPHRmbG9fY29yZVs3ZWE4ZDFiMjVjODlkMjc5XTo6cmVvcmRlcjo6UmVvcmRlckJ1ZmZlcjx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWU+Pjo6c3RlcCEtPGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6Rm9ybWF0dGVyPjo6cGFkIpQCPHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlJ1bnRpbWU8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QcmVkLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc0VtaXQsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkpzVGltZXN0YW1wPj46OmFkdmFuY2VfZGVhZGxpbmVzIyJjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OndyaXRlJB93YXNtcGF0dGVybnJ1bnRpbWVfbmV4dERlYWRsaW5lJYgCPHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlJ1bnRpbWU8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QcmVkLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc0VtaXQsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkpzVGltZXN0YW1wPj46OmZsdXNoJocCPHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlJ1bnRpbWU8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QcmVkLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc0VtaXQsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkpzVGltZXN0YW1wPj46OnRpY2snaDxkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6ZGxtYWxsb2M6OkRsbWFsbG9jPGRsbWFsbG9jW2JkZDQxZTU2MDUxMGUxYmRdOjpzeXM6OlN5c3RlbT4+OjpkaXNwb3NlX2NodW5rKDQ8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6V2FzbVBhdHRlcm4+Ojp3aGVuKfkGPGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106Oml0ZXI6OmFkYXB0ZXJzOjptYXA6Ok1hcDxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpzbGljZTo6aXRlcjo6SXRlcjx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpCdWlsZGVyU3RlcD4sIDx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUGF0dGVybj46OmVtaXQ6OntjbG9zdXJlIzB9PiBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46OmZvbGQ6OjwoKSwgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I6OmZvcl9lYWNoOjpjYWxsPHRmbG9fY2VwWzQ4Yzg5OWFkMTdhZDhiMzJdOjplbmdpbmU6OlN0ZXA8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUHJlZD4sIDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6dmVjOjpWZWM8dGZsb19jZXBbNDhjODk5YWQxN2FkOGIzMl06OmVuZ2luZTo6U3RlcDx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QcmVkPj4+OjpleHRlbmRfdHJ1c3RlZDxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjppdGVyOjphZGFwdGVyczo6bWFwOjpNYXA8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6c2xpY2U6Oml0ZXI6Okl0ZXI8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6QnVpbGRlclN0ZXA+LCA8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6V2FzbVBhdHRlcm4+OjplbWl0Ojp7Y2xvc3VyZSMwfT4+Ojp7Y2xvc3VyZSMwfT46OntjbG9zdXJlIzB9PiowY29uc29sZV9lcnJvcl9wYW5pY19ob29rWzEyZTNlMTE2YTY2OTFjMTldOjpob29rK2M8ZGxtYWxsb2NbYmRkNDFlNTYwNTEwZTFiZF06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6c3lzOjpTeXN0ZW0+Pjo6bWVtYWxpZ24sMmFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpmbXQ6OmZvcm1hdDo6Zm9ybWF0X2lubmVyLWc8ZGxtYWxsb2NbYmRkNDFlNTYwNTEwZTFiZF06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6c3lzOjpTeXN0ZW0+Pjo6dW5saW5rX2NodW5rLhdfX2V4dGVybnJlZl90YWJsZV9hbGxvYy8Yd2FzbXBhdHRlcm5ydW50aW1lX3Jlc2V0MG08ZGxtYWxsb2NbYmRkNDFlNTYwNTEwZTFiZF06OmRsbWFsbG9jOjpEbG1hbGxvYzxkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6c3lzOjpTeXN0ZW0+Pjo6aW5zZXJ0X2xhcmdlX2NodW5rMRN3YXNtcGF0dGVybl9ub3RUaGVuMhB3YXNtcGF0dGVybl90aGVuM5UBPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYzo6UmM8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3J0OjpXYXNtUmVmQ2VsbDx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtQ29tcGlsZWRQYXR0ZXJuPj4+Ojpkcm9wX3Nsb3c0ggE8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJjOjpSYzxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpjZWxsOjpSZWZDZWxsPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OlBhdHRlcm5TdGF0ZT4+Pjo6ZHJvcF9zbG93NbEFPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjp2ZWM6OlZlYzwoYWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUpPiBhcyBhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6dmVjOjpzcGVjX2Zyb21faXRlcl9uZXN0ZWQ6OlNwZWNGcm9tSXRlck5lc3RlZDwoYWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUpLCBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjppdGVyOjphZGFwdGVyczo6bWFwOjpNYXA8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6aXRlcjo6YWRhcHRlcnM6Om1hcDo6TWFwPGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnNsaWNlOjppdGVyOjpJdGVyPChhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmcsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSk+LCA8dGZsb19jZXBbNDhjODk5YWQxN2FkOGIzMl06Om1hdGNoZWQ6Ok1hdGNoPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4+OjpuYW1lZDo6e2Nsb3N1cmUjMH0+LCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpidWlsZF9tYXRjaF9vYmplY3Q6OntjbG9zdXJlIzN9Pj4+Ojpmcm9tX2l0ZXI2GHdhc21jb21waWxlZHBhdHRlcm5fbmFtZTdbPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OldyaXRlPjo6d3JpdGVfY2hhcjhePGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OldyaXRlPjo6d3JpdGVfY2hhclsxXTkyPHUzMiBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6WjxzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmljOjpQYW5pY0hvb2tJbmZvIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6RGlzcGxheT46OmZtdDshd2FzbXBhdHRlcm5ydW50aW1lX3NldERyb3BIYW5kbGVyPF5jb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwdHI6OmRyb3BfZ2x1ZTo6PHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21Db21waWxlZFBhdHRlcm4+PRd3YXNtcGF0dGVybnJ1bnRpbWVfcHVzaD5ePGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OldyaXRlPjo6d3JpdGVfY2hhclsyXT8Yd2FzbXBhdHRlcm5ydW50aW1lX2ZsdXNoQF48YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6V3JpdGU+Ojp3cml0ZV9jaGFyWzNdQRF3YXNtcGF0dGVybl90aW1lc0KPAjx0ZmxvX2NlcFs0OGM4OTlhZDE3YWQ4YjMyXTo6ZW5naW5lOjpSdW50aW1lPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUHJlZCwgdGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6SnNFbWl0LCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc1RpbWVzdGFtcD4+Ojp3aXRoX3Jlb3JkZXJDEHdhc21wYXR0ZXJuX2VtaXREFndhc21wYXR0ZXJuX25vdEJldHdlZW5FFXdhc21wYXR0ZXJuX3RpbWVzdGFtcEaLAjx0ZmxvX2NlcFs0OGM4OTlhZDE3YWQ4YjMyXTo6ZW5naW5lOjpSdW50aW1lPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUHJlZCwgdGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6SnNFbWl0LCB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpKc1RpbWVzdGFtcD4+Ojpjb21wbGV0ZUcSd2FzbXBhdHRlcm5fd2l0aGluSGU8dGZsb19jb3JlWzdlYThkMWIyNWM4OWQyNzldOjpyZW9yZGVyOjpSZW9yZGVyQnVmZmVyPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4+OjpmbHVzaEk6PHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QYXR0ZXJuPjo6dGhlbl9uYW1lZEoQd2FzbXBhdHRlcm5fbmV4dEsxc3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX3dpdGhfaG9va0wWX193Ymdfd2FzbXBhdHRlcm5fZnJlZU0eX193Ymdfd2FzbWNvbXBpbGVkcGF0dGVybl9mcmVlThh3YXNtcGF0dGVybl9ub3RUaGVuTmFtZWRPFXdhc21wYXR0ZXJuX3RoZW5OYW1lZFC7ATx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpidWlsZF9tYXRjaF9vYmplY3Q6OntjbG9zdXJlIzR9IGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106Om9wczo6ZnVuY3Rpb246OkZuT25jZTwoYWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nLCk+Pjo6Y2FsbF9vbmNlOjp7c2hpbTp2dGFibGUjMH1RfzxzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmlja2luZzo6cGFuaWNfaGFuZGxlcjo6Rm9ybWF0U3RyaW5nUGF5bG9hZCBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwYW5pYzo6UGFuaWNQYXlsb2FkPjo6dGFrZV9ib3hSfDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmF3X3ZlYzo6UmF3VmVjSW5uZXI8Xz4+OjpyZXNlcnZlOjpkb19yZXNlcnZlX2FuZF9oYW5kbGU6OjxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6YWxsb2M6Okdsb2JhbD5TPjx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUGF0dGVybj46Om5vdF90aGVuX25hbWVkVN8Bd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6QXJyYXksIGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjp2ZWM6OlZlYzx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWU+LCB0cnVlPlU8PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYXdfdmVjOjpSYXdWZWNJbm5lcj46OmZpbmlzaF9ncm93Vj88YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OlJhd1ZlY0lubmVyPjo6ZmluaXNoX2dyb3dbMV1XvgF3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6Ojx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHUzMiwgYWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnZlYzo6VmVjPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4sIHRydWU+WD88YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OlJhd1ZlY0lubmVyPjo6ZmluaXNoX2dyb3dbMl1ZPzxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmF3X3ZlYzo6UmF3VmVjSW5uZXI+OjpmaW5pc2hfZ3Jvd1szXVpZPGRsbWFsbG9jW2JkZDQxZTU2MDUxMGUxYmRdOjpzeXM6OlN5c3RlbSBhcyBkbG1hbGxvY1tiZGQ0MWU1NjA1MTBlMWJkXTo6QWxsb2NhdG9yPjo6YWxsb2NbF3dhc21wYXR0ZXJucnVudGltZV90aWNrXKMBPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYzo6UmM8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnZlYzo6VmVjPChhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmcsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSk+Pj46OmRyb3Bfc2xvd10Qd2FzbXBhdHRlcm5fd2hlbl5/PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYXdfdmVjOjpSYXdWZWNJbm5lcjxfPj46OnJlc2VydmU6OmRvX3Jlc2VydmVfYW5kX2hhbmRsZTo6PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjphbGxvYzo6R2xvYmFsPlsxXV/WATw8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6V2FzbVBhdHRlcm5SdW50aW1lPjo6c2V0X2Ryb3BfaGFuZGxlcjo6e2Nsb3N1cmUjMH0gYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3BzOjpmdW5jdGlvbjo6Rm5PbmNlPCh0ZmxvX2NlcFs0OGM4OTlhZDE3YWQ4YjMyXTo6ZW5naW5lOjpEcm9wUmVhc29uLCk+Pjo6Y2FsbF9vbmNlOjp7c2hpbTp2dGFibGUjMH1gFl9fZXh0ZXJucmVmX2Ryb3Bfc2xpY2VhOzx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUGF0dGVyblJ1bnRpbWU+Ojp0aWNrYkB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpidWlsZF9tYXRjaF9vYmplY3Q6OntjbG9zdXJlIzR9Y388YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OlJhd1ZlY0lubmVyPF8+Pjo6cmVzZXJ2ZTo6ZG9fcmVzZXJ2ZV9hbmRfaGFuZGxlOjo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OmFsbG9jOjpHbG9iYWw+WzJdZA93YXNtcGF0dGVybl9uZXdleDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmM6OlJjPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjp2ZWM6OlZlYzx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWU+Pj46OmRyb3Bfc2xvd2Y/PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYXdfdmVjOjpSYXdWZWNJbm5lcj46OmZpbmlzaF9ncm93WzRdZ5MBPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OmJ1aWxkX21hdGNoX29iamVjdDo6e2Nsb3N1cmUjMn0gYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3BzOjpmdW5jdGlvbjo6Rm5PbmNlPCgpPj46OmNhbGxfb25jZTo6e3NoaW06dnRhYmxlIzB9aHo8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OkZvcm1hdFN0cmluZ1BheWxvYWQgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cGFuaWM6OlBhbmljUGF5bG9hZD46OmdldGk8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OntjbG9zdXJlIzB9aipzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmlja2luZzo6c2V0X2hvb2trGV9fZXh0ZXJucmVmX3RhYmxlX2RlYWxsb2NsswJ3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6Ojxqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkpzU3RyaW5nLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106Om9wdGlvbjo6T3B0aW9uPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4sIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNFcnJvcj4sIHRydWU+bY8BPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYXdfdmVjOjpSYXdWZWM8dGZsb19jZXBbNDhjODk5YWQxN2FkOGIzMl06OmVuZ2luZTo6UGFydGlhbE1hdGNoPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZT4+Pjo6Z3Jvd19vbmVutwE8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OlJhd1ZlYzxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpjbXA6OlJldmVyc2U8dGZsb19jb3JlWzdlYThkMWIyNWM4OWQyNzldOjpyZW9yZGVyOjpQZW5kaW5nRW50cnk8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlPj4+Pjo6Z3Jvd19vbmVvYjxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmF3X3ZlYzo6UmF3VmVjPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OkJ1aWxkZXJTdGVwPj46Omdyb3dfb25lcGI8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OlJhd1ZlYzx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUGF0dGVybj4+Ojpncm93X29uZXGIATxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmF3X3ZlYzo6UmF3VmVjPChhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmcsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSk+Pjo6Z3Jvd19vbmVyZDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmF3X3ZlYzo6UmF3VmVjPChpNjQsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSk+Pjo6Z3Jvd19vbmVzVDx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpXYXNtUGF0dGVyblJ1bnRpbWU+OjpzZXRfZHJvcF9oYW5kbGVyOjp7Y2xvc3VyZSMwfXSTATx0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpidWlsZF9tYXRjaF9vYmplY3Q6OntjbG9zdXJlIzF9IGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106Om9wczo6ZnVuY3Rpb246OkZuT25jZTwoKT4+OjpjYWxsX29uY2U6OntzaGltOnZ0YWJsZSMwfXWVAndhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB1MzIsIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc0Vycm9yPiwgdHJ1ZT527AF3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6Ojx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cmVzdWx0OjpSZXN1bHQ8aTMyLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzRXJyb3I+LCB0cnVlPnfIATxzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnN5czo6c3luYzo6b25jZTo6bm9fdGhyZWFkczo6T25jZT46OmNhbGw6Ojw8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpzeW5jOjpvbmNlOjpPbmNlPjo6Y2FsbF9vbmNlPGNvbnNvbGVfZXJyb3JfcGFuaWNfaG9va1sxMmUzZTExNmE2NjkxYzE5XTo6c2V0X29uY2U6OntjbG9zdXJlIzB9Pjo6e2Nsb3N1cmUjMH0+eMkBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB1MzIsIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PGJvb2wsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNFcnJvcj4sIHRydWU+eShfX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpfX3JkbF9kZWFsbG9jei1jb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpyZXN1bHQ6OnVud3JhcF9mYWlsZWR7xAF3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6Ojx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PGJvb2wsIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNFcnJvcj4sIHRydWU+fJMBPHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OmJ1aWxkX21hdGNoX29iamVjdDo6e2Nsb3N1cmUjMH0gYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3BzOjpmdW5jdGlvbjo6Rm5PbmNlPCgpPj46OmNhbGxfb25jZTo6e3NoaW06dnRhYmxlIzB9fccBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8aTgsIHUzMiwganNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpJbnQ4QXJyYXksIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PCgpLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzRXJyb3I+LCB0cnVlPn7LAXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGY2NCwgdTMyLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkZsb2F0NjRBcnJheSwgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cmVzdWx0OjpSZXN1bHQ8KCksIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNFcnJvcj4sIHRydWU+f8sBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8ZjMyLCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6RmxvYXQxNkFycmF5LCBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpyZXN1bHQ6OlJlc3VsdDwoKSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc0Vycm9yPiwgdHJ1ZT6AAckBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8aTMyLCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6SW50MzJBcnJheSwgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cmVzdWx0OjpSZXN1bHQ8KCksIHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNFcnJvcj4sIHRydWU+gQHJAXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGkxNiwgdTMyLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkludDE2QXJyYXksIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PCgpLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzRXJyb3I+LCB0cnVlPoIBzAF3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6OjxpNjQsIHUzMiwganNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpCaWdJbnQ2NEFycmF5LCBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpyZXN1bHQ6OlJlc3VsdDwoKSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc0Vycm9yPiwgdHJ1ZT6DAVo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6V3JpdGU+Ojp3cml0ZV9zdHKEAV08YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6V3JpdGU+Ojp3cml0ZV9zdHJbMV2FAesBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnJlc3VsdDo6UmVzdWx0PCgpLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzRXJyb3I+LCB0cnVlPoYBXTxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmcgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpXcml0ZT46OndyaXRlX3N0clsyXYcBWDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmcgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Y2xvbmU6OkNsb25lPjo6Y2xvbmWIAcIBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpyZXN1bHQ6OlJlc3VsdDwoKSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc0Vycm9yPiwgdHJ1ZT6JAV08YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6V3JpdGU+Ojp3cml0ZV9zdHJbM12KAUA8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnZlYzo6VmVjPF8sIF8+Pjo6cmVtb3ZlOjphc3NlcnRfZmFpbGVkiwE1Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cGFuaWNraW5nOjpwYW5pY19ib3VuZHNfY2hlY2uMAR93YXNtcGF0dGVybnJ1bnRpbWVfZHJvcHBlZENvdW50jQGNATxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmM6OlJjPHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6X19ydDo6V2FzbVJlZkNlbGw8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6V2FzbVBhdHRlcm4+Pj46OmRyb3Bfc2xvd44BBm1lbWNtcI8BJmpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6UmVmbGVjdDo6c2V0kAGWAXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZywgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0cnVlPpEBQHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OmJ1aWxkX21hdGNoX29iamVjdDo6e2Nsb3N1cmUjMn2SATdzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmlja2luZzo6cGFuaWNfY291bnQ6OmluY3JlYXNlkwEmdGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6c3RhcnSUATV3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fd2JpbmRnZW5fbnVtYmVyX2dldJUBUDxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6cmM6OlJjPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6RnVuY3Rpb24+Pjo6ZHJvcF9zbG93lgF8PHN0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjpTdGF0aWNTdHJQYXlsb2FkIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnBhbmljOjpQYW5pY1BheWxvYWQ+Ojp0YWtlX2JveJcBLGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnBhbmlja2luZzo6cGFuaWNfZm10mAEtY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3B0aW9uOjpleHBlY3RfZmFpbGVkmQERX193YmluZGdlbl9tYWxsb2OaAXM8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OkZvcm1hdFN0cmluZ1BheWxvYWQgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEaXNwbGF5Pjo6Zm10mwFEPGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6Rm9ybWF0dGVyPjo6cGFkX2ludGVncmFsOjp3cml0ZV9wcmVmaXicARJfX3diaW5kZ2VuX3JlYWxsb2OdARpfX3diaW5kZ2VuX2Rlc3Ryb3lfY2xvc3VyZZ4BNGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmNlbGw6OnBhbmljX2FscmVhZHlfYm9ycm93ZWSfATxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpjZWxsOjpwYW5pY19hbHJlYWR5X211dGFibHlfYm9ycm93ZWSgASZ3YXNtcGF0dGVybnJ1bnRpbWVfbmV3IG11bHRpdmFsdWUgc2hpbaEBQHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OmJ1aWxkX21hdGNoX29iamVjdDo6e2Nsb3N1cmUjMX2iASxfX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpydXN0X2JlZ2luX3Vud2luZKMBL3dhc21wYXR0ZXJuX2VtaXQgZXh0ZXJucmVmIHNoaW0gbXVsdGl2YWx1ZSBzaGltpAEmc3RkWzliNjE3OTE1MTc5NDYyMTRdOjphbGxvYzo6cnVzdF9vb22lASh3YXNtY29tcGlsZWRwYXR0ZXJuX25hbWUgbXVsdGl2YWx1ZSBzaGltpgEvd2FzbXBhdHRlcm5ydW50aW1lX25leHREZWFkbGluZSBtdWx0aXZhbHVlIHNoaW2nAeUBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHUzMiwganNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpBcnJheSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0cnVlPqgBWjxqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkZ1bmN0aW9uPF8+Pjo6Y2FsbDI6Ol9fd2JnX2NhbGxfNDBlNDE3NGYxNjllYWNhNyBleHRlcm5yZWYgc2hpbakBfmNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8PHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06Oldhc21QYXR0ZXJuUnVudGltZT46OnNldF9kcm9wX2hhbmRsZXI6OntjbG9zdXJlIzB9PqoBamNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8dGZsb19jZXBfd2FzbVs0MzNhNDc1NjljODNkMWRlXTo6YnVpbGRfbWF0Y2hfb2JqZWN0Ojp7Y2xvc3VyZSMwfT6rAWpjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwdHI6OmRyb3BfZ2x1ZTo6PHRmbG9fY2VwX3dhc21bNDMzYTQ3NTY5YzgzZDFkZV06OmJ1aWxkX21hdGNoX29iamVjdDo6e2Nsb3N1cmUjNH0+rAG5AXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OlNldCwgKCksIHRydWU+rQG8AXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgdTMyLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkFycmF5LCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRydWU+rgGZAXdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6SnNWYWx1ZSwgdTMyLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkFycmF5LCBib29sLCB0cnVlPq8Bdndhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGk4LCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6SW50OEFycmF5LCAoKSwgdHJ1ZT6wAXp3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6OjxmNjQsIHUzMiwganNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpGbG9hdDY0QXJyYXksICgpLCB0cnVlPrEBendhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGYzMiwgdTMyLCBqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkZsb2F0MTZBcnJheSwgKCksIHRydWU+sgF4d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8aTE2LCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6SW50MTZBcnJheSwgKCksIHRydWU+swF7d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8aTY0LCB1MzIsIGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6QmlnSW50NjRBcnJheSwgKCksIHRydWU+tAHOAndhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6PGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6RnVuY3Rpb248Zm4od2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlKSAtPiB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OnN5czo6VW5kZWZpbmVkPiwganNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpGdW5jdGlvbjxmbih3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUpIC0+IHdhc21fYmluZGdlbltmNDJhOThhMTIyYWFlYTc2XTo6c3lzOjpVbmRlZmluZWQ+LCAoKSwgdHJ1ZT61AZsBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIGkzMiwgdHJ1ZT62AVo8anNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpGdW5jdGlvbjxfPj46OmNhbGwxOjpfX3diZ19jYWxsXzljNzU4ZGUyOTIwMTU5OTcgZXh0ZXJucmVmIHNoaW23AUB0ZmxvX2NlcF93YXNtWzQzM2E0NzU2OWM4M2QxZGVdOjpidWlsZF9tYXRjaF9vYmplY3Q6OntjbG9zdXJlIzB9uAFzd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCBib29sLCB0cnVlPrkBbmNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OkZvcm1hdFN0cmluZ1BheWxvYWQ+ugEzc3RkWzliNjE3OTE1MTc5NDYyMTRdOjphbGxvYzo6cnVzdF9vb206OntjbG9zdXJlIzB9uwFtd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpKc1ZhbHVlLCB0cnVlPrwBUWNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nPr0BVGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nPlsxXb4Bd2NvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnB0cjo6ZHJvcF9nbHVlOjo8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3B0aW9uOjpPcHRpb248YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnZlYzo6VmVjPHU4Pj4+vwFUY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cHRyOjpkcm9wX2dsdWU6OjxhbGxvY1thOTQxYTJjZmFiN2VmYmM0XTo6c3RyaW5nOjpTdHJpbmc+WzJdwAEmX19ydXN0Y1s2ZWY3OGZiYTEzYWM3NzZjXTo6X19yZGxfYWxsb2PBAVRjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwdHI6OmRyb3BfZ2x1ZTo6PGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZz5bM13CASZ3YXNtcGF0dGVybnJ1bnRpbWVfcHVzaCBleHRlcm5yZWYgc2hpbcMBLmFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpyYXdfdmVjOjpoYW5kbGVfZXJyb3LEAShjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwYW5pY2tpbmc6OnBhbmljxQFhd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX2Vycm9yX25ldzo6X193YmdfRXJyb3JfZWY1M2JjMzEwZWIyOThhMCBleHRlcm5yZWYgc2hpbcYBsgFDbG9zdXJlKENsb3N1cmUgeyBvd25lZDogdHJ1ZSwgZnVuY3Rpb246IEZ1bmN0aW9uIHsgYXJndW1lbnRzOiBbU3RyaW5nXSwgc2hpbV9pZHg6IDE3LCByZXQ6IEV4dGVybnJlZiwgaW5uZXJfcmV0OiBTb21lKEV4dGVybnJlZikgfSwgbXV0YWJsZTogZmFsc2UgfSkgLT4gRXh0ZXJucmVmIGV4dGVybnJlZiBzaGltxwGsAUNsb3N1cmUoQ2xvc3VyZSB7IG93bmVkOiB0cnVlLCBmdW5jdGlvbjogRnVuY3Rpb24geyBhcmd1bWVudHM6IFtdLCBzaGltX2lkeDogMTksIHJldDogRXh0ZXJucmVmLCBpbm5lcl9yZXQ6IFNvbWUoRXh0ZXJucmVmKSB9LCBtdXRhYmxlOiBmYWxzZSB9KSAtPiBFeHRlcm5yZWYgZXh0ZXJucmVmIHNoaW3IASdSZWYoU3RyaW5nKSAtPiBFeHRlcm5yZWYgZXh0ZXJucmVmIHNoaW3JASd3YXNtcGF0dGVybl9ub3RUaGVuTmFtZWQgZXh0ZXJucmVmIHNoaW3KASR3YXNtcGF0dGVybl90aGVuTmFtZWQgZXh0ZXJucmVmIHNoaW3LAaUBd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nLCB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRydWU+IGV4dGVybnJlZiBzaGltzAEPX193YmluZGdlbl9mcmVlzQFWPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjphbnk6OkFueT46OnR5cGVfaWTOATM8JnN0ciBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjphbnk6OkFueT46OnR5cGVfaWTPATM8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpGb3JtYXR0ZXI+Ojp3cml0ZV9zdHLQAR9GNjQgLT4gRXh0ZXJucmVmIGV4dGVybnJlZiBzaGlt0QEfd2FzbXBhdHRlcm5fZW1pdCBleHRlcm5yZWYgc2hpbdIBVDwmZHluIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6RGVidWcgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEZWJ1Zz46OmZtdNMBYzxjb25zb2xlX2Vycm9yX3BhbmljX2hvb2tbMTJlM2UxMTZhNjY5MWMxOV06OkVycm9yPjo6bmV3OjpfX3diZ19uZXdfMjI3ZDdjMDU0MTRlYjg2MSBleHRlcm5yZWYgc2hpbdQBUjxqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06Ok9iamVjdD46Om5ldzo6X193YmdfbmV3X2NlMWFiNjFjMWMyYjMwMGQgZXh0ZXJucmVmIHNoaW3VAVE8anNfc3lzW2I3YTI2MzMxZWMwMTk5YWJdOjpBcnJheT46Om5ldzo6X193YmdfbmV3X2Q5MDA5MWI4MmZkZjViOTEgZXh0ZXJucmVmIHNoaW3WAVFqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OlJlZmxlY3Q6OnNldDo6X193Ymdfc2V0XzZlMzBjOTM3NGMyNjQxNGMgZXh0ZXJucmVmIHNoaW3XASV3YXNtcGF0dGVybl9ub3RCZXR3ZWVuIGV4dGVybnJlZiBzaGlt2AEid2FzbXBhdHRlcm5fbm90VGhlbiBleHRlcm5yZWYgc2hpbdkBH3dhc21wYXR0ZXJuX3RoZW4gZXh0ZXJucmVmIHNoaW3aASR3YXNtcGF0dGVybl90aW1lc3RhbXAgZXh0ZXJucmVmIHNoaW3bAR93YXNtcGF0dGVybl93aGVuIGV4dGVybnJlZiBzaGlt3AEwd2FzbXBhdHRlcm5ydW50aW1lX3NldERyb3BIYW5kbGVyIGV4dGVybnJlZiBzaGlt3QEmd2FzbXBhdHRlcm5ydW50aW1lX3RpY2sgZXh0ZXJucmVmIHNoaW3eAXx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OmNvbnZlcnQ6OmNsb3N1cmVzOjpfOjppbnZva2U6Ojx3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06OkpzVmFsdWUsIHRydWU+IGV4dGVybnJlZiBzaGlt3wFWPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRpc3BsYXk+OjpmbXTgATM8JnN0ciBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRpc3BsYXk+OjpmbXThASlfX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpfX3J1c3RfcmVhbGxvY+IBFF9fd2JpbmRnZW5fZXhuX3N0b3Jl4wE2PCZzdHIgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEaXNwbGF5Pjo6Zm10WzFd5AF3PHN0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjpTdGF0aWNTdHJQYXlsb2FkIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OnBhbmljOjpQYW5pY1BheWxvYWQ+OjpnZXTlAXA8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OlN0YXRpY1N0clBheWxvYWQgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEaXNwbGF5Pjo6Zm105gE2PCZzdHIgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEaXNwbGF5Pjo6Zm10WzJd5wEbX193YmluZGdlbl9vYmplY3RfY2xvbmVfcmVm6AEnd2FzbXBhdHRlcm5ydW50aW1lX2ZsdXNoIGV4dGVybnJlZiBzaGlt6QEpX19ydXN0Y1s2ZWY3OGZiYTEzYWM3NzZjXTo6X19ydXN0X2RlYWxsb2PqAVo8YWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnN0cmluZzo6U3RyaW5nIGFzIGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6V3JpdGU+Ojp3cml0ZV9mbXTrATN3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fd2JpbmRnZW5faXNfZmFsc3nsASVfX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpydXN0X3Bhbmlj7QFdPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OldyaXRlPjo6d3JpdGVfZm10WzFd7gEzYWxsb2NbYTk0MWEyY2ZhYjdlZmJjNF06OnJhd192ZWM6OmNhcGFjaXR5X292ZXJmbG937wFdPGFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OldyaXRlPjo6d3JpdGVfZm10WzJd8AEtY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3B0aW9uOjp1bndyYXBfZmFpbGVk8QFIY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cGFuaWNraW5nOjpwYW5pY19jb25zdDo6cGFuaWNfY29uc3RfYWRkX292ZXJmbG938gFWPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6QXJyYXk8Xz4+OjpwdXNoOjpfX3diZ19wdXNoX2E2ODIyMjE1YWE0M2U3MWMgZXh0ZXJucmVmIHNoaW3zASdfX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpfX3J1c3RfYWxsb2P0AU88Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpFcnJvciBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRlYnVnPjo6Zm109QEpd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjp0aHJvd19zdHL2ATB3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fcnQ6OnRocm93X251bGz3ATF3YXNtX2JpbmRnZW5bZjQyYTk4YTEyMmFhZWE3Nl06Ol9fcnQ6OmJvcnJvd19mYWls+AE1X19ydXN0Y1s2ZWY3OGZiYTEzYWM3NzZjXTo6X19ydXN0X2FsbG9jX2Vycm9yX2hhbmRsZXL5AXo8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjpwYW5pY2tpbmc6OnBhbmljX2hhbmRsZXI6OlN0YXRpY1N0clBheWxvYWQgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6cGFuaWM6OlBhbmljUGF5bG9hZD46OmFzX3N0cvoBMmFsbG9jW2E5NDFhMmNmYWI3ZWZiYzRdOjphbGxvYzo6aGFuZGxlX2FsbG9jX2Vycm9y+wFSPGNvcmVbOWIzNzk2ZTMwZDk5ZGRiN106OmZtdDo6RXJyb3IgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEZWJ1Zz46OmZtdFsxXfwBWzxjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpjZWxsOjpCb3Jyb3dNdXRFcnJvciBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRpc3BsYXk+OjpmbXT9AVg8Y29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Y2VsbDo6Qm9ycm93RXJyb3IgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6Zm10OjpEaXNwbGF5Pjo6Zm10/gEyPHN0ciBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpmbXQ6OkRpc3BsYXk+OjpmbXT/AWc8Y29uc29sZV9lcnJvcl9wYW5pY19ob29rWzEyZTNlMTE2YTY2OTFjMTldOjpFcnJvcj46OnN0YWNrOjpfX3diZ19zdGFja18zYjBkOTc0YmJmMzFlNDRmIGV4dGVybnJlZiBzaGltgAJyd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX251bWJlcl9nZXQ6Ol9fd2JnX19fd2JpbmRnZW5fbnVtYmVyX2dldF85YmIxNzYxMTIyMTgxYWYyIGV4dGVybnJlZiBzaGltgQIwd2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX3Rocm93ggI0d2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX2Vycm9yX25ld4MCe3N0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6c3lzOjpiYWNrdHJhY2U6Ol9fcnVzdF9lbmRfc2hvcnRfYmFja3RyYWNlOjo8c3RkWzliNjE3OTE1MTc5NDYyMTRdOjphbGxvYzo6cnVzdF9vb206OntjbG9zdXJlIzB9LCAhPoQChAFzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnN5czo6YmFja3RyYWNlOjpfX3J1c3RfZW5kX3Nob3J0X2JhY2t0cmFjZTo6PHN0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6cGFuaWNraW5nOjpwYW5pY19oYW5kbGVyOjp7Y2xvc3VyZSMwfSwgIT6FAjZzdGRbOWI2MTc5MTUxNzk0NjIxNF06OmFsbG9jOjpkZWZhdWx0X2FsbG9jX2Vycm9yX2hvb2uGAkBzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmlja2luZzo6cGFuaWNfY291bnQ6OmlzX3plcm9fc2xvd19wYXRohwJ1PHN0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6cGFuaWNraW5nOjpiZWdpbl9wYW5pYzo6UGF5bG9hZDwmc3RyPiBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpwYW5pYzo6UGFuaWNQYXlsb2FkPjo6YXNfc3RyiAJud2FzbV9iaW5kZ2VuW2Y0MmE5OGExMjJhYWVhNzZdOjpfX3diaW5kZ2VuX2lzX2ZhbHN5OjpfX3diZ19fX3diaW5kZ2VuX2lzX2ZhbHN5X2Q3ZWQ0OTg0MGU2ZDlhYmIgZXh0ZXJucmVmIHNoaW2JArABPGNvbnNvbGVfZXJyb3JfcGFuaWNfaG9va1sxMmUzZTExNmE2NjkxYzE5XTo6aG9vayBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpvcHM6OmZ1bmN0aW9uOjpGbk9uY2U8KCZzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmljOjpQYW5pY0hvb2tJbmZvLCk+Pjo6Y2FsbF9vbmNlOjp7c2hpbTp2dGFibGUjMH2KApYBPGNvbnNvbGVfZXJyb3JfcGFuaWNfaG9va1sxMmUzZTExNmE2NjkxYzE5XTo6aG9vayBhcyBjb3JlWzliMzc5NmUzMGQ5OWRkYjddOjpvcHM6OmZ1bmN0aW9uOjpGbjwoJnN0ZFs5YjYxNzkxNTE3OTQ2MjE0XTo6cGFuaWM6OlBhbmljSG9va0luZm8sKT4+OjpjYWxsiwKdATxjb25zb2xlX2Vycm9yX3BhbmljX2hvb2tbMTJlM2UxMTZhNjY5MWMxOV06Omhvb2sgYXMgY29yZVs5YjM3OTZlMzBkOTlkZGI3XTo6b3BzOjpmdW5jdGlvbjo6Rm5NdXQ8KCZzdGRbOWI2MTc5MTUxNzk0NjIxNF06OnBhbmljOjpQYW5pY0hvb2tJbmZvLCk+Pjo6Y2FsbF9tdXSMAi1fX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpfX3J1c3Rfc3RhcnRfcGFuaWOOAj5fX3J1c3RjWzZlZjc4ZmJhMTNhYzc3NmNdOjpfX3J1c3Rfbm9fYWxsb2Nfc2hpbV9pc191bnN0YWJsZV92Mo8CJjxqc19zeXNbYjdhMjYzMzFlYzAxOTlhYl06OkFycmF5Pjo6bmV3kAInPGpzX3N5c1tiN2EyNjMzMWVjMDE5OWFiXTo6T2JqZWN0Pjo6bmV3kQInX19ydXN0Y1s2ZWY3OGZiYTEzYWM3NzZjXTo6X19ydXN0X2Fib3J0BRgBARVfX3diaW5kZ2VuX2V4dGVybnJlZnMHEgEAD19fc3RhY2tfcG9pbnRlcgkRAgAHLnJvZGF0YQEFLmRhdGEAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTcuMSAoOGJhYjI2ZjRmIDIwMjYtMDctMTQpBndhbHJ1cwYwLjI2LjIMd2FzbS1iaW5kZ2VuEzAuMi4xMjIgKGRkZDMyMjUxNCkAlAEPdGFyZ2V0X2ZlYXR1cmVzCCsLYnVsay1tZW1vcnkrD2J1bGstbWVtb3J5LW9wdCsWY2FsbC1pbmRpcmVjdC1vdmVybG9uZysKbXVsdGl2YWx1ZSsPbXV0YWJsZS1nbG9iYWxzKxNub250cmFwcGluZy1mcHRvaW50Kw9yZWZlcmVuY2UtdHlwZXMrCHNpZ24tZXh0",import.meta.url));const A=tA();(typeof I=="string"||typeof Request=="function"&&I instanceof Request||typeof URL=="function"&&I instanceof URL)&&(I=fetch(I));const{instance:g,module:Q}=await dA(await I,A);return hA(g)}const x="tflo_session_id";function rA(){let I=sessionStorage.getItem(x);return I||(I=crypto.randomUUID(),sessionStorage.setItem(x,I)),I}function aA(I){return A=>({...A,payload:{...A.payload,app_id:I.appId,environment:I.environment,session_id:I.sessionId,...I.userIdHash?{user_id_hash:I.userIdHash}:{},...I.tenantIdHash?{tenant_id_hash:I.tenantIdHash}:{}}})}const NA=I=>{const A=I.dataset;return A&&typeof A.sectionId=="string"?A.sectionId:I.id?I.id:I.tagName.toLowerCase()};function P(I,A){const g=new Set(I.emit??["enter","exit","dwell"]),Q=I.sectionIdFrom??NA,C=I.now??(()=>performance.now()),B=I.observerImpl??((t,i)=>new IntersectionObserver(t,i)),E=YA(I.target,I.selector),e=new Map,n=B(t=>{for(const i of t){const c=Q(i.target),l=C(),h=i.intersectionRatio;if(i.isIntersecting){if(e.has(i.target))continue;e.set(i.target,{ts:l,sectionId:c}),g.has("enter")&&A({ts:l,kind:"viewport:enter",fields:{sectionId:c,intersectionRatio:h}})}else{const d=e.get(i.target);if(!d)continue;e.delete(i.target),g.has("exit")&&A({ts:l,kind:"viewport:exit",fields:{sectionId:c,intersectionRatio:h}}),g.has("dwell")&&A({ts:l,kind:"viewport:dwell",fields:{sectionId:c,entryTs:d.ts,exitTs:l,durationMs:l-d.ts}})}}},{threshold:I.threshold??.5,rootMargin:I.rootMargin});for(const t of E)n.observe(t);return()=>{if(n.disconnect(),!g.has("exit")&&!g.has("dwell"))return;const t=C();for(const[i,c]of e){const l=Q(i);g.has("exit")&&A({ts:t,kind:"viewport:exit",fields:{sectionId:l,intersectionRatio:0}}),g.has("dwell")&&A({ts:t,kind:"viewport:dwell",fields:{sectionId:l,entryTs:c.ts,exitTs:t,durationMs:t-c.ts}})}e.clear()}}function YA(I,A){if(Array.isArray(I))return I;if("length"in I&&typeof I.item=="function")return Array.from(I);const g=I;return A?Array.from(g.querySelectorAll(A)):g instanceof Element?[g]:[]}class mA{constructor(A){o(this,"inner");o(this,"finalized",false);this.inner=new r(A)}timestamp(A){return this.inner=this.inner.timestamp(g=>A(g)),this}when(A){return this.inner=this.inner.when(g=>A(g)),this}then(A){return this.inner=this.inner.then(g=>A(g)),this}thenNamed(A,g){return this.inner=this.inner.thenNamed(A,Q=>g(Q)),this}notThen(A){return this.inner=this.inner.notThen(g=>A(g)),this}notThenNamed(A,g){return this.inner=this.inner.notThenNamed(A,Q=>g(Q)),this}within(A){return this.inner=this.inner.within(A),this}emit(A){const g=this.inner.emit(Q=>A(Q));return this.finalized=true,new DA(g)}destroy(){this.finalized||this.inner.free()}}class DA{constructor(A){o(this,"name");o(this,"inner");this.inner=A,this.name=A.name}destroy(){this.inner.free()}}class MA{constructor(A){o(this,"inner");o(this,"patternName");this.inner=new p(A.inner),this.patternName=A.name}push(A){const g=this.inner.push(A);return this.normalize(g)}flush(){const A=this.inner.flush();return this.normalize(A)}reset(){this.inner.reset()}destroy(){this.inner.free()}normalize(A){const g=[],Q=performance.now();for(const C of A){const B=C??{};g.push({name:B.name??this.patternName,ts:B.ts??Q,payload:B.payload??{},sinks:B.sinks})}return g}}class bA{constructor(A={}){o(this,"name");o(this,"level");this.name=A.name??"console",this.level=A.level??"log"}send(A){console[this.level]("[tflo]",A.name,A.payload,`ts=${A.ts}`)}}const L=50,kA=1e3,$=6e4,GA=5,JA=3,wA=new Set([408,429,500,502,503,504]),ZA=4294967295,FA=16384,yA=new TextEncoder;function R(I){return yA.encode(I).length}function fA(I){return JSON.stringify({batch:I})}function M(I,A,g){if(I===void 0)return A;if(!Number.isFinite(I)||I<=0)throw new RangeError(`EdgeSink: ${g} must be a positive number`);return Math.max(1,Math.floor(I))}function WA(I){return globalThis.crypto.getRandomValues(new Uint8Array(I))}function uA(I,A){const g=new Uint8Array(16);g.set(A(16).subarray(0,16));let Q=Math.max(0,Math.floor(I));for(let B=5;B>=0;B--)g[B]=Q%256,Q=Math.floor(Q/256);g[6]=112|g[6]&15,g[8]=128|g[8]&63;const C=Array.from(g,B=>B.toString(16).padStart(2,"0")).join("");return`${C.slice(0,8)}-${C.slice(8,12)}-${C.slice(12,16)}-${C.slice(16,20)}-${C.slice(20)}`}function jA(I,A){if(I===null)return 0;const g=I.trim();if(g==="")return 0;let Q;if(/^\d+$/.test(g))Q=Number(g)*1e3;else{const C=Date.parse(g);if(Number.isNaN(C))return 0;Q=C-A}return Math.min($,Math.max(0,Q))}class XA{constructor(A){o(this,"name");o(this,"endpoint");o(this,"batchSize");o(this,"maxBatchBytes");o(this,"batchIntervalMs");o(this,"contentType");o(this,"headers");o(this,"maxQueueEvents");o(this,"maxQueueBytes");o(this,"fetchImpl");o(this,"sendBeacon");o(this,"now");o(this,"random");o(this,"randomBytes");o(this,"onDrop");o(this,"encodeBody");o(this,"transform");o(this,"pageEndBudget");o(this,"pageEndBytes");o(this,"droppedSinceLastSend",0);o(this,"queue",[]);o(this,"queueBytes",0);o(this,"seq",0);o(this,"dropped",0);o(this,"sent",0);o(this,"inFlight",0);o(this,"sending",null);o(this,"batchTimer",null);o(this,"retryTimer",null);o(this,"retryPending",false);o(this,"waitingForOnline",false);o(this,"attempts",0);o(this,"closed",false);o(this,"unbinders",[]);const g=A.profile==="journeeze";if(this.name=A.name??"edge",this.endpoint=A.endpoint,this.batchSize=Math.min(L,M(A.batchSize,g?L:20,"batchSize")),this.maxBatchBytes=M(A.maxBatchBytes,32768,"maxBatchBytes"),this.batchIntervalMs=M(A.batchIntervalMs,g?5e3:1e3,"batchIntervalMs"),g&&A.contentType==="application/json")throw new TypeError('EdgeSink: the "journeeze" profile sends text/plain only (no preflight)');if(this.contentType=g?"text/plain":A.contentType??"application/json",this.headers=A.headers??{},this.contentType==="text/plain"&&Object.keys(this.headers).length>0)throw new TypeError('EdgeSink: custom headers force a CORS preflight; they are not allowed with contentType "text/plain"');this.maxQueueEvents=M(A.maxQueueEvents,200,"maxQueueEvents"),this.maxQueueBytes=M(A.maxQueueBytes,262144,"maxQueueBytes"),this.fetchImpl=A.fetchImpl??globalThis.fetch.bind(globalThis),this.sendBeacon=A.sendBeacon??this.resolveSendBeacon(),this.now=A.now??Date.now,this.random=A.random??Math.random,this.randomBytes=A.randomBytes??WA,this.onDrop=A.onDrop,this.encodeBody=A.encode??fA,this.transform=A.transform,this.pageEndBudget=A.pageEndBudget,this.pageEndBytes=g?Math.min(FA,this.maxBatchBytes):this.maxBatchBytes,(A.bindPageLifecycle??true)&&this.bindPageLifecycle()}stats(){return{queued:this.queue.length,dropped:this.dropped,sent:this.sent}}send(A){if(this.closed)return;const g=this.transform?this.transform(A):{...A};if(g===null)return;this.seq=this.seq>=ZA?1:this.seq+1;const Q={...g,event_id:uA(this.now(),this.randomBytes),seq:this.seq},C=R(JSON.stringify(Q));if(this.encodedBytes([{wire:Q,bytes:C}])>this.maxBatchBytes){this.drop("oversize",1);return}if(this.queue.push({wire:Q,bytes:C}),this.queueBytes+=C,this.enforceQueueCap(),!(this.retryPending||this.sending)){if(this.queue.length>=this.batchSize){this.pump();return}this.scheduleBatch()}}async flush(A={}){if(!this.closed){if(A.unloading||this.documentHidden()){this.pageEnd();return}this.clearBatchTimer(),!this.retryPending&&await this.pump()}}close(){if(!this.closed){this.closed=true,this.clearBatchTimer(),this.clearRetryTimer();for(const A of this.unbinders.splice(0))A()}}pump(){return this.sending?this.sending:(this.sending=this.drain().finally(()=>{this.sending=null}),this.sending)}async drain(){for(this.clearBatchTimer();!this.closed&&!this.retryPending&&this.queue.length>0;){const A=this.takeBatch(this.maxBatchBytes);this.inFlight=A.length;const g=await this.post(A);if(this.closed)return;const Q=this.inFlight===A.length&&this.queue[0]===A[0];if(this.inFlight=0,!Q)continue;if(g.kind==="ok"){this.removeHead(A.length),this.sent+=A.length,this.droppedSinceLastSend=0,this.attempts=0;continue}if(g.kind==="drop"){this.removeHead(A.length),this.drop("non_retriable",A.length),this.attempts=0;continue}this.attempts+=1;const C=g.network?JA:GA;if(this.attempts>C){this.removeHead(A.length),this.drop("retries_exhausted",A.length),this.attempts=0;continue}this.scheduleRetry(g.retryAfterMs);return}}async post(A){let g;try{g=await this.fetchImpl(this.endpoint,{method:"POST",headers:this.requestHeaders(),body:this.encode(A)})}catch{return{kind:"retry",network:true,retryAfterMs:0}}return g.ok?{kind:"ok"}:wA.has(g.status)?{kind:"retry",network:false,retryAfterMs:jA(g.headers.get("retry-after"),this.now())}:{kind:"drop"}}scheduleRetry(A){if(this.retryPending=true,this.isOffline()){this.waitingForOnline=true;return}const g=Math.min($,kA*2**(this.attempts-1))*(.5+this.random());this.retryTimer=setTimeout(()=>{this.retryTimer=null,this.resumeAfterRetryWait()},Math.max(g,A))}resumeAfterRetryWait(){this.retryPending=false,this.waitingForOnline=false,this.pump()}pageEnd(){if(this.clearBatchTimer(),this.queue.length===0||!this.sendBeacon)return;const A=this.pageEndBudget?Math.min(this.maxBatchBytes,Math.max(0,this.pageEndBudget.available())):this.pageEndBytes,g=this.takeBatch(A);if(g.length===0)return;const Q=this.encode(g),C=this.contentType==="text/plain"?"text/plain;charset=UTF-8":"application/json";let B=false;try{B=this.sendBeacon(this.endpoint,new Blob([Q],{type:C}))}catch{B=false}if(!B)return;this.pageEndBudget?.commit(R(Q)),this.removeHead(g.length),this.sent+=g.length,this.droppedSinceLastSend=0;const E=this.queue.length;E>0&&(this.queue=[],this.queueBytes=0,this.drop("page_end_overflow",E)),this.inFlight=0,this.attempts=0,this.clearRetryTimer(),this.retryPending=false,this.waitingForOnline=false}takeBatch(A){const g=[];let Q=0;for(const C of this.queue){if(g.length>=this.batchSize||Q+C.bytes+1>A)break;g.push(C),Q+=C.bytes+1}for(;g.length>0&&this.encodedBytes(g)>A;)g.pop();return g}encodedBytes(A){return R(this.encode(A))}removeHead(A){const g=this.queue.splice(0,A);for(const Q of g)this.queueBytes-=Q.bytes}enforceQueueCap(){let A=0;for(;this.queue.length>this.inFlight&&(this.queue.length>this.maxQueueEvents||this.queueBytes>this.maxQueueBytes);){const[g]=this.queue.splice(this.inFlight,1);this.queueBytes-=g.bytes,A+=1}A>0&&this.drop("queue_full",A)}encode(A){return this.encodeBody(A.map(g=>g.wire),{droppedSinceLastSend:this.droppedSinceLastSend})}requestHeaders(){return this.contentType==="text/plain"?{"content-type":"text/plain;charset=UTF-8"}:{"content-type":"application/json",...this.headers}}drop(A,g){this.dropped+=g,this.droppedSinceLastSend+=g;try{this.onDrop?.(A,g)}catch{}}scheduleBatch(){this.batchTimer===null&&(this.batchTimer=setTimeout(()=>{this.batchTimer=null,this.pump()},this.batchIntervalMs))}clearBatchTimer(){this.batchTimer!==null&&(clearTimeout(this.batchTimer),this.batchTimer=null)}clearRetryTimer(){this.retryTimer!==null&&(clearTimeout(this.retryTimer),this.retryTimer=null)}documentHidden(){return typeof document<"u"&&document.visibilityState==="hidden"}isOffline(){return typeof navigator<"u"&&navigator.onLine===false}bindPageLifecycle(){if(typeof document>"u"||typeof window>"u")return;const A=(g,Q,C)=>{g.addEventListener(Q,C),this.unbinders.push(()=>g.removeEventListener(Q,C))};A(document,"visibilitychange",()=>{document.visibilityState==="hidden"?this.pageEnd():this.resend()}),A(window,"pagehide",()=>this.pageEnd()),A(window,"pageshow",()=>this.resend()),A(window,"online",()=>{this.waitingForOnline&&this.resumeAfterRetryWait()})}resend(){this.closed||this.retryPending||this.queue.length===0||this.pump()}resolveSendBeacon(){const A=typeof navigator<"u"?navigator:void 0;if(A?.sendBeacon)return(g,Q)=>A.sendBeacon(g,Q)}}class RA{constructor(A={}){o(this,"name");o(this,"sendTo");o(this,"gtagImpl");this.name=A.name??"ga4",this.sendTo=A.sendTo,this.gtagImpl=A.gtag}send(A){const g=this.gtagImpl??this.resolveGtag();if(!g)return;const Q={...A.payload};this.sendTo&&(Q.send_to=this.sendTo),g("event",A.name,Q)}resolveGtag(){const A=typeof globalThis<"u"?globalThis:void 0;if(A?.gtag)return(g,Q,C)=>A.gtag(g,Q,C)}}class pA{constructor(A={}){o(this,"sinks",new Map);o(this,"onError");this.onError=A.onError;for(const g of A.sinks??[])this.register(g)}register(A){this.sinks.set(A.name,A)}unregister(A){this.sinks.delete(A)}get size(){return this.sinks.size}async route(A){const g=this.resolveTargets(A),Q=[];for(const C of g)try{const B=C.send(A);B instanceof Promise&&Q.push(B.catch(E=>{this.onError?.(C.name,E)}))}catch(B){this.onError?.(C.name,B)}await Promise.all(Q)}async flushAll(){const A=[];for(const g of this.sinks.values()){const Q=g.flush;if(Q)try{const C=Q.call(g);C instanceof Promise&&A.push(C.catch(B=>{this.onError?.(g.name,B)}))}catch(C){this.onError?.(g.name,C)}}await Promise.all(A)}resolveTargets(A){if(!A.sinks||A.sinks.length===0)return Array.from(this.sinks.values());const g=[];for(const Q of A.sinks){const C=this.sinks.get(Q);C&&g.push(C)}return g}}function zA(I){return I||(typeof sessionStorage<"u"?rA():crypto.randomUUID())}function OA(I){if(typeof document>"u")return()=>{};const A=()=>{document.visibilityState==="hidden"&&I()};return document.addEventListener("visibilitychange",A),()=>document.removeEventListener("visibilitychange",A)}class TA{constructor(A={}){o(this,"router");o(this,"runtimes",new Map);o(this,"unbinders",[]);o(this,"consent");o(this,"opts");o(this,"stampIdentity");o(this,"initialized",null);if(this.opts=A,this.consent=A.consent,A.identity){const g=zA(A.identity.sessionId);this.stampIdentity=aA({...A.identity,sessionId:g})}this.router=new pA({sinks:A.sinks,onError:A.onSinkError}),this.unbinders.push(OA(()=>{this.router.flushAll()}))}async init(){if(!this.initialized){const A=this.opts.wasmUrl;this.initialized=A?U({module_or_path:A}).then(()=>{}):U().then(()=>{})}await this.initialized}addPattern(A){const g=new MA(A);return this.runtimes.set(A.name,g),g}removePattern(A){const g=this.runtimes.get(A);g&&(g.destroy(),this.runtimes.delete(A))}ingest(A){const g=[];for(const Q of this.runtimes.values())for(const C of Q.push(A))g.push(C);return this.routeAll(g),g}capture(A){const Q=z(A,C=>{this.ingest(C)});return this.unbinders.push(Q),Q}captureViewport(A){const g=P(A,Q=>{this.ingest(Q)});return this.unbinders.push(g),g}async flush(){const A=[];for(const g of this.runtimes.values())for(const Q of g.flush())A.push(Q);this.routeAll(A),await this.router.flushAll()}destroy(){for(const A of this.unbinders)A();this.unbinders.length=0;for(const A of this.runtimes.values())A.destroy();this.runtimes.clear()}routeAll(A){if(A.length!==0&&!(this.consent&&!this.consent()))for(const g of A)this.router.route(this.stampIdentity?this.stampIdentity(g):g)}}const AA="[data-tflo-mask], [data-jz-mask]",VA=80,SA=new Set(["INPUT","TEXTAREA","SELECT","OPTION"]),IA='[contenteditable]:not([contenteditable="false"])';function v(I){return SA.has(I.tagName)||I.isContentEditable?true:I.matches(IA)||I.matches(AA)}function UA(I){if(v(I)||I.closest(AA)||I.closest(IA))return null;const A=[],g=C=>{for(let B=C.firstChild;B;B=B.nextSibling)B.nodeType===3?A.push(B.nodeValue??""):B.nodeType===1&&!v(B)&&g(B)};g(I);const Q=A.join(" ").replace(/\s+/g," ").trim().slice(0,VA);return Q===""?null:Q}function gA(I){if(I==="")return"";const A=I.search(/[?#]/);return A===-1?I:I.slice(0,A)}function xA(I){return I.replace(/\b([a-z][a-z0-9+.-]*:\/\/[^\s?#()'"<>]*)[?#][^\s()'"<>]*/gi,(A,g)=>g+(/(:\d+){1,2}$/.exec(A)?.[0]??""))}function LA(I){const A=I.now??(()=>performance.now()),g=t=>I.fullUrls?t:gA(t),Q=t=>I.fullUrls?t:xA(t),C=I.cfg.maxEvents??50;let B=0;const E=t=>I.cfg.ignorePatterns?I.cfg.ignorePatterns.some(i=>{try{return new RegExp(i).test(t)}catch{return t.includes(i)}}):false,e=t=>{B>=C||(B++,I.handler(t))},n=[];if(I.cfg.jsErrors!==false){const t=window.onerror;window.onerror=(i,c,l,h,d)=>{const m=Q(typeof i=="string"?i:String(i));E(m)||(e({ts:A(),kind:"error",fields:{source:"onerror",message:m,filename:c?g(c):void 0,lineno:l??void 0,colno:h??void 0,stack:d instanceof Error&&d.stack?Q(d.stack):void 0},target:{id:"window",type:"source",selector:c?g(c):void 0}}),typeof t=="function"&&t.call(window,i,c,l,h,d))},n.push(()=>{window.onerror=t})}if(I.cfg.promiseRejections!==false){const t=i=>{const c=i.reason,l=Q(c instanceof Error?c.message:typeof c=="string"?c:JSON.stringify(c).slice(0,200));E(l)||e({ts:A(),kind:"error",fields:{source:"unhandledrejection",reason:l,stack:c instanceof Error&&c.stack?Q(c.stack):void 0},target:{id:"promise",type:"source"}})};window.addEventListener("unhandledrejection",t),n.push(()=>window.removeEventListener("unhandledrejection",t))}if(I.cfg.resourceErrors!==false){const t=i=>{const c=i.target;if(!c||!("tagName"in c))return;const l=c,h=g(l.src||l.src||l.href||""),d=`Failed to load ${l.tagName.toLowerCase()}: ${h}`;E(d)||e({ts:A(),kind:"error",fields:{source:"resource",resourceTag:c.tagName.toLowerCase(),resourceUrl:h},target:{id:"resource",type:c.tagName.toLowerCase(),selector:h}})};window.addEventListener("error",t,true),n.push(()=>window.removeEventListener("error",t,true))}return()=>{for(const t of n)t()}}function vA(I){const A=I.cfg.milestones??[.25,.5,.75,1],g=I.cfg.throttleMs??250,Q=I.cfg.directionChanges??false,C=I.now??(()=>performance.now()),B=new Set;let E=0,e="down",n=null,t=false;const i=()=>{if(n=null,!t)return;t=false;const l=C(),h=KA();if(Q){const d=h>=E?"down":"up";d!==e&&(I.handler({ts:l,kind:"scroll.inverted",fields:{direction:d,depth:h,previousDirection:e}}),e=d)}for(const d of A)!B.has(d)&&h>=d&&(B.add(d),I.handler({ts:l,kind:"scroll.milestone",fields:{depth:d,exactDepth:h}}));E=h},c=()=>{t=true,n===null&&(n=setTimeout(i,g))};return i(),window.addEventListener("scroll",c,{passive:true}),()=>{window.removeEventListener("scroll",c),n!==null&&(clearTimeout(n),i())}}function KA(){const I=window.scrollY||document.documentElement.scrollTop,A=document.documentElement.scrollHeight,g=window.innerHeight;return A<=g?1:Math.min(1,I/(A-g))}function HA(I){const A=I.now??(()=>performance.now()),g=I.cfg.domChanges!==false,Q=I.cfg.styleChanges!==false,C=I.cfg.mutationObserver!==false,B=I.cfg.selectors;if(!C)return()=>{};const E=[],e=t=>{for(const i of B)if(t.matches(i.selector))return i.id;return null},n=(t,i)=>{const c=e(t);if(!c)return;const h=K(t)?"element.shown":"element.hidden";I.handler({ts:A(),kind:h,fields:{reason:i},target:{id:c,type:"element",selector:H(t)}})};if(g){const t=new MutationObserver(i=>{for(const c of i){for(const l of c.addedNodes)l instanceof Element&&(e(l)&&n(l,"dom-added"),l.querySelectorAll("*").forEach(h=>{e(h)&&n(h,"dom-added")}));for(const l of c.removedNodes)l instanceof Element&&e(l)&&I.handler({ts:A(),kind:"element.hidden",fields:{reason:"dom-removed"},target:{id:e(l),type:"element",selector:H(l)}})}});t.observe(document.body,{childList:true,subtree:true}),E.push(()=>t.disconnect())}if(Q){const t=new WeakMap,i=()=>{const l=A();for(const h of B){const d=document.querySelectorAll(h.selector);for(const m of d){const BA=t.get(m)??false,W=K(m);t.set(m,W),BA!==W&&I.handler({ts:l,kind:W?"element.shown":"element.hidden",fields:{reason:"style-changed"},target:{id:h.id,type:"element",selector:h.selector}})}}};i();const c=setInterval(i,500);E.push(()=>clearInterval(c))}return()=>{for(const t of E)t()}}function K(I){const A=window.getComputedStyle(I);return A.display!=="none"&&A.visibility!=="hidden"&&I.offsetParent!==null}function H(I){const A=[];let g=I,Q=0;for(;g&&g!==document.body&&Q<3;){let C=g.tagName.toLowerCase();if(g.id)C+="#"+g.id;else if(g.className&&typeof g.className=="string"){const B=g.className.trim().split(/\s+/)[0];B&&(C+="."+B)}A.unshift(C),g=g.parentElement,Q++}return A.join(" > ")}function _A(I){const A=I.now??(()=>performance.now()),g=I.timeOrigin??performance.timeOrigin,Q=[];let C=0,B=null;if(I.cfg.pageLoad!==false){const e=()=>{I.handler({ts:A(),kind:"lifecycle.loaded",fields:{timeOrigin:g}})};document.readyState==="complete"?e():(window.addEventListener("load",e,{once:true}),Q.push(()=>window.removeEventListener("load",e)))}if(I.cfg.visibilityChange!==false){const e=()=>{I.handler({ts:A(),kind:document.visibilityState==="hidden"?"lifecycle.hidden":"lifecycle.visible",fields:{visibilityState:document.visibilityState}})};document.addEventListener("visibilitychange",e),Q.push(()=>document.removeEventListener("visibilitychange",e))}if(I.cfg.pageUnload!==false){const e=()=>{const n=A(),t=I.cfg.bounceThresholdMs&&I.cfg.bounceThresholdMs>0&&C===0&&n<I.cfg.bounceThresholdMs;I.handler({ts:n,kind:"lifecycle.unloaded",fields:{durationMs:n,interactionCount:C,bounced:String(t)}})};window.addEventListener("pagehide",e,{once:true}),Q.push(()=>window.removeEventListener("pagehide",e))}if(I.cfg.routeChanges){const e=()=>{I.handler({ts:A(),kind:"lifecycle.route_changed",fields:I.fullUrls?{pathname:location.pathname,hash:location.hash}:{pathname:location.pathname}})};window.addEventListener("popstate",e),window.addEventListener("hashchange",e),Q.push(()=>{window.removeEventListener("popstate",e),window.removeEventListener("hashchange",e)})}const E=()=>{!I.cfg.idleThresholdMs||I.cfg.idleThresholdMs<=0||(B!==null&&clearTimeout(B),B=setTimeout(()=>{B=null},I.cfg.idleThresholdMs))};return I.cfg.idleThresholdMs&&I.cfg.idleThresholdMs>0&&E(),()=>{for(const e of Q)e();B!==null&&clearTimeout(B)}}function qA(I){switch(I){case"section_engagement":return QA;case"full_engagement":return $A;case"error_hunting":return AI;case"scroll_tracking":return II;case"form_validation":return gI;case"page_value":return QI;case"cta_performance":return CI;case"bounce_detection":return BI;case"diagnostics":return EI;default:return[]}}function PA(I){const A=new Set,g=[];for(const Q of I)for(const C of qA(Q))A.has(C.id)||(A.add(C.id),g.push(C));return g}const QA=[{id:"section_read",when:'event.kind == "section.dwelled" && event.durationMs >= 3000',emit:{name:"section_read",params:{section:"event.target.id",duration_ms:"event.durationMs"}}},{id:"section_skimmed",when:'event.kind == "section.dwelled" && event.durationMs > 0 && event.durationMs < 3000',emit:{name:"section_skimmed",params:{section:"event.target.id",duration_ms:"event.durationMs"}}},{id:"content_engaged",when:'event.kind == "section.dwelled" && event.durationMs >= 3000',emit:{name:"content_engaged",params:{section:"event.target.id"}}}],$A=[...QA,{id:"rage_click",when:'event.kind == "click"',emit:{name:"rage_click_check",params:{target:"event.target.id"},sinks:["edge"]}}],AI=[{id:"js_error",when:'event.kind == "error" && event.source == "onerror"',emit:{name:"js_error",params:{message:"event.message",filename:"event.filename"}}},{id:"promise_error",when:'event.kind == "error" && event.source == "unhandledrejection"',emit:{name:"promise_error",params:{reason:"event.reason"}}},{id:"resource_error",when:'event.kind == "error" && event.source == "resource"',emit:{name:"resource_error",params:{url:"event.resourceUrl",tag:"event.resourceTag"}}}],II=[{id:"scrolled_50",when:'event.kind == "scroll.milestone" && event.depth >= 0.5',emit:{name:"scrolled_50",params:{depth:"event.depth"}}},{id:"scrolled_75",when:'event.kind == "scroll.milestone" && event.depth >= 0.75',emit:{name:"scrolled_75",params:{depth:"event.depth"}}},{id:"scrolled_100",when:'event.kind == "scroll.milestone" && event.depth >= 1',emit:{name:"scrolled_100",params:{depth:"event.depth"}}}],gI=[{id:"form_submitted",when:'event.kind == "form.submitted"',emit:{name:"form_submitted",params:{form_id:"event.target.id",duration_ms:"event.formDurationMs"}}},{id:"form_validation_error",when:'event.kind == "element.shown" && event.source == "validation"',emit:{name:"form_validation_error",params:{form_id:"event.formId",field:"event.target.id"}}}],QI=[{id:"page_value_reached",when:'event.kind == "section.dwelled" && event.durationMs >= 5000',emit:{name:"page_value_reached"}}],CI=[{id:"cta_clicked",when:'event.kind == "click"',emit:{name:"cta_clicked",params:{target:"event.target.id"}}}],BI=[{id:"bounced",when:'event.kind == "lifecycle.unloaded" && event.bounced == "true"',emit:{name:"bounced",params:{duration_ms:"event.durationMs",interactions:"event.interactionCount"}}}],EI=[{id:"selector_stale",when:'event.kind == "tflo:diagnostic" && event.diagnosticKind == "selector_stale"',emit:{name:"selector_stale",params:{source:"event.source",selector:"event.context.selector"}}},{id:"click_target_missing",when:'event.kind == "tflo:diagnostic" && event.diagnosticKind == "click_target_missing"',emit:{name:"click_target_missing",params:{data_tflow_id:"event.context.dataTflowId",tag:"event.context.tag"}}},{id:"rate_limit_hit",when:'event.kind == "tflo:diagnostic" && event.diagnosticKind == "rate_limit_hit"',emit:{name:"rate_limit_hit",params:{source:"event.source"}}},{id:"sink_delivery_failed",when:'event.kind == "tflo:diagnostic" && event.diagnosticKind == "sink_delivery_failed"',emit:{name:"sink_delivery_failed",params:{sink:"event.context.sinkName",error:"event.error"}}}];function CA(I,A,g=()=>performance.now()){return{ts:g(),kind:"tflo:diagnostic",fields:{diagnosticKind:I,...A},target:{id:"tflo",type:"diagnostic"}}}function eI(I,A,g,Q,C){return g.length===0?(Q(CA("selector_stale",{source:A,message:`Selector "${I}" matched zero elements at runtime`,context:{selector:I,configKey:A}},C)),false):true}function XI(I,A,g,Q){const B=tI(I)?.getAttribute("data-tflow-id")??null;B&&!A.has(B)&&g(CA("click_target_missing",{source:"track.clicks",message:`Clicked element has data-tflow-id="${B}" which is not in the tracking plan — add it to track.clicks`,context:{dataTflowId:B,tag:I.tagName.toLowerCase()}},Q))}function tI(I){let A=I;for(;A;){if(A.hasAttribute("data-tflow-id"))return A;A=A.parentElement}return null}async function RI(I){const A=iI(I.sinks),g=new TA({sinks:A,consent:I.consent,wasmUrl:I.wasmUrl,onSinkError:I.onSinkError});await g.init();const Q=i=>{g.ingest(i)},C=I.page.id,B=i=>({...i,page:{id:C}});g.ingest(NI(I.page));const E=[],e=(i,c,l)=>{const h=document.querySelectorAll(c);eI(c,l,h,Q)};if(I.track.sections&&I.track.sections.length>0)for(const i of I.track.sections)e("section",i.selector,`track.sections["${i.id}"]`),E.push(nI(g,B,i));if(I.track.clicks&&I.track.clicks.length>0){new Set(I.track.clicks.map(i=>i.id));for(const i of I.track.clicks)e("click",`[data-tflow-id="${i.id}"]`,`track.clicks["${i.id}"]`);E.push(cI(g,B,I.track.clicks))}I.track.pointer&&I.track.pointer.moves==="sampled"&&E.push(hI(g,B,I.track.pointer)),I.track.errors&&E.push(LA({cfg:I.track.errors,fullUrls:I.page.captureFullUrls===true,handler:i=>g.ingest(B(i))})),I.track.scroll&&E.push(vA({cfg:I.track.scroll,handler:i=>g.ingest(B(i))})),I.track.visibility&&E.push(HA({cfg:I.track.visibility,handler:i=>g.ingest(B(i))})),I.track.lifecycle&&E.push(_A({cfg:I.track.lifecycle,fullUrls:I.page.captureFullUrls===true,handler:i=>g.ingest(B(i))}));const n=[];I.presets&&I.presets.length>0&&n.push(...PA(I.presets)),I.rules&&I.rules.length>0&&n.push(...I.rules);for(const i of n)dI(g,i);const t=Promise.resolve();return{tflo:g,ready:t,async destroy(){for(const i of E)i();await g.flush(),g.destroy()}}}function iI(I){const A=[];if(!I)return A;if(I.console){const g=typeof I.console=="object"?I.console.level:void 0;A.push(new bA({name:"console",level:g}))}return I.ga4&&A.push(new RA({name:"ga4",sendTo:I.ga4.measurementId,gtag:I.ga4.gtag})),I.edge&&A.push(new XA({name:"edge",endpoint:I.edge.endpoint,batchSize:I.edge.batchSize,batchIntervalMs:I.edge.batchIntervalMs,headers:I.edge.headers})),A}function nI(I,A,g){const Q=g.id,C=sI(g.emit);return P({target:document,selector:g.selector,threshold:g.threshold??.5,emit:C,now:()=>performance.now()},E=>{const e=oI(E.kind);I.ingest(A({...E,kind:e,target:{id:Q,type:"section",selector:g.selector}}))})}function sI(I){if(!I)return["enter","exit","dwell"];const A=new Set(I),g=[];return(A.has("entered")||A.has("visibility_changed"))&&g.push("enter"),A.has("dwelled")&&g.push("dwell"),(A.has("left")||A.has("completed"))&&g.push("exit"),g.length>0?g:["enter","exit","dwell"]}function oI(I){switch(I){case"viewport:enter":return"section.entered";case"viewport:dwell":return"section.dwelled";case"viewport:exit":return"section.left";default:return I}}function cI(I,A,g,Q){const C=new Map;for(const B of g)C.set(B.id,B);return z({target:document,type:"click",kind:"click",fields:B=>{const E=B.target;if(!E)return{};const e=lI(E);if(!e)return{};const n=e.getAttribute("data-tflow-id"),t=n?C.get(n):void 0;if(!n||!t)return{};const i={tflowId:n,tag:e.tagName.toLowerCase()};return t.captureText===true&&(i.text=UA(e)),i},listenerOptions:{passive:true}},B=>{const E=B.fields.tflowId;typeof E=="string"&&I.ingest(A({...B,kind:"click",target:{id:E,type:"click",selector:C.get(E)?.selector??`[data-tflow-id="${E}"]`}}))})}function lI(I){let A=I;for(;A;){if(A.hasAttribute("data-tflow-id"))return A;A=A.parentElement}return null}function hI(I,A,g){return z({target:document,type:"pointermove",kind:"pointermove",throttleMs:g.sampleMs??250,fields:Q=>({x:Q.clientX,y:Q.clientY,pointerType:Q.pointerType}),listenerOptions:{passive:true}},Q=>{I.ingest(A({...Q,kind:"pointer.sampled"}))})}function dI(I,A){const g=typeof A.when=="function"?A.when:kI(A.when),Q=A.emit,C=new mA(A.id).timestamp(B=>B.ts).when(B=>g(B)).emit(B=>{const E=B.first(),e=Q.name??A.id,n=rI(E,Q.params);return{name:e,payload:n,sinks:Q.sinks}});I.addPattern(C)}function rI(I,A){if(!A)return{};const g={};for(const[Q,C]of Object.entries(A))g[Q]=aI(I,C);return g}function aI(I,A){const g=A.split("."),Q=g[0]==="event"?1:0;let C=I;for(let B=Q;B<g.length;B++){if(C==null)return;const E=g[B],e=C[E];if(e!==void 0)C=e;else if(C===I&&E in I.fields)C=I.fields[E];else return}return C}function NI(I){const A=I.sessionId??bI();return{ts:performance.now(),kind:"session_started",page:{id:I.id,attrs:I.attrs},fields:{sessionId:A,...I.title!==void 0||I.captureTitle===true?{title:I.title??YI()}:{},url:I.url??_(mI(),I.captureFullUrls),referrer:I.referrer??_(DI(),I.captureFullUrls),locale:I.locale??MI(),trafficSource:I.trafficSource??null,trafficMedium:I.trafficMedium??null,campaign:I.campaign??null,pageLoadTs:I.pageLoadTs??performance.timeOrigin},target:{id:I.id,type:"page"}}}function _(I,A){return A===true?I:gA(I)}function YI(){try{return document.title||""}catch{return""}}function mI(){try{return location.href||""}catch{return""}}function DI(){try{return document.referrer||""}catch{return""}}function MI(){try{return navigator.language||""}catch{return""}}function bI(){return`s_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function kI(I){const g=I.split(/\s*&&\s*/).map(Q=>GI(Q.trim()));return Q=>g.every(C=>C(Q))}function GI(I){const A=I.match(/^event\.(\w+)\s*==\s*"(.+)"$/);if(A){const E=A[1],e=A[2];return n=>b(n,E)===e}const g=I.match(/^event\.(\w+)\s*>=\s*([\d.]+)$/);if(g){const E=g[1],e=Number(g[2]);return n=>{const t=b(n,E);return typeof t=="number"&&t>=e}}const Q=I.match(/^event\.(\w+)\s*>\s*([\d.]+)$/);if(Q){const E=Q[1],e=Number(Q[2]);return n=>{const t=b(n,E);return typeof t=="number"&&t>e}}const C=I.match(/^event\.(\w+)\s*<=\s*([\d.]+)$/);if(C){const E=C[1],e=Number(C[2]);return n=>{const t=b(n,E);return typeof t=="number"&&t<=e}}const B=I.match(/^event\.(\w+)\s*<\s*([\d.]+)$/);if(B){const E=B[1],e=Number(B[2]);return n=>{const t=b(n,E);return typeof t=="number"&&t<e}}throw new Error(`Cannot compile CEL expression: "${I}"`)}function b(I,A){if(A==="kind")return I.kind;if(A==="ts")return I.ts;if(A.startsWith("page.")){const g=A.slice(5);return I.page?.[g]}if(A.startsWith("target.")){const g=A.slice(7);return I.target?.[g]}return I.fields[A]}function pI(I,A={}){const g=A.root??document,Q=[];I.track.sections&&JI(g,I.track.sections,Q),I.track.clicks&&wI(g,I.track.clicks,Q),I.track.visibility&&ZI(g,I.track.visibility.selectors,Q),I.track.forms&&FI(g,I.track.forms,Q),A.validateCel!==false&&yI(I.rules??[],Q),I.presets&&fI(I.presets,Q),(!I.page||!I.page.id)&&Q.push({level:"error",path:"page.id",message:"page.id is required",suggestion:"Set page.id to a stable identifier like 'product-detail' or 'checkout'"});const C=Q.filter(e=>e.level==="error").length,B=Q.filter(e=>e.level==="warning").length,E=Q.filter(e=>e.level==="info").length;return{valid:C===0,issues:Q,summary:{errors:C,warnings:B,infos:E}}}function JI(I,A,g){for(const Q of A){const C=I.querySelectorAll(Q.selector),B=`track.sections["${Q.id}"]`;C.length===0?g.push({level:"error",path:B,message:`Selector "${Q.selector}" matched zero elements`,suggestion:`Add a section element like <section id="${Q.id}"> or update the selector`}):C.length>1&&g.push({level:"info",path:B,message:`Selector "${Q.selector}" matched ${C.length} elements — using all of them`,suggestion:C.length>5?`Consider a more specific selector to avoid tracking ${C.length} elements`:void 0})}}function wI(I,A,g){for(const Q of A){const C=`track.clicks["${Q.id}"]`,B=I.querySelectorAll(`[data-tflow-id="${Q.id}"]`);let E;if(Q.selector&&(E=I.querySelectorAll(Q.selector)),B.length===0&&(!E||E.length===0)){const e=Q.selector?`Add data-tflow-id="${Q.id}" to the target element, or fix selector "${Q.selector}"`:`Add <button data-tflow-id="${Q.id}"> to the target element`;g.push({level:"error",path:C,message:`No element found with [data-tflow-id="${Q.id}"]`,suggestion:e})}else B.length>1?g.push({level:"warning",path:C,message:`${B.length} elements have data-tflow-id="${Q.id}" — tracked clicks will fire for all of them`,suggestion:"Use unique data-tflow-id values per trackable element"}):B.length===1&&E&&E.length>0&&(E[0]?.isSameNode(B[0])||g.push({level:"info",path:C,message:`Selector "${Q.selector}" matches a different element than [data-tflow-id="${Q.id}"]`,suggestion:"Remove the selector — data-tflow-id is the durable contract"}))}}function ZI(I,A,g){for(const Q of A){const C=`track.visibility["${Q.id}"]`;I.querySelectorAll(Q.selector).length===0&&g.push({level:"warning",path:C,message:`Visibility target "${Q.selector}" matched zero elements at init time (may appear later via JS)`,suggestion:`Ensure the element exists or add [data-track-visibility="${Q.id}"]`})}}function FI(I,A,g){for(const Q of A){const C=`track.forms["${Q.id}"]`,B=I.querySelectorAll(Q.selector);B.length===0&&g.push({level:"error",path:C,message:`Form selector "${Q.selector}" matched zero elements`,suggestion:`Add <form id="${Q.id}" data-track-form> to your markup`});let E=0;for(const e of B)e.tagName==="FORM"&&E++;B.length>0&&E!==B.length&&g.push({level:"warning",path:C,message:`Selector "${Q.selector}" matched ${B.length-E} non-<form> elements`,suggestion:"Form tracking works best on actual <form> elements"})}}function yI(I,A){for(const g of I){const Q=`rules["${g.id}"]`;if(!g.id){A.push({level:"error",path:"rules[?].id",message:"A rule is missing its id field"});return}if(typeof g.when=="string")try{WI(g.when)}catch(C){A.push({level:"error",path:`${Q}.when`,message:`CEL expression failed to compile: ${C.message}`,suggestion:'Try simplifying the expression. Supported: event.kind == "val", event.field >= num, && for compound'})}if(g.emit.params)for(const[C,B]of Object.entries(g.emit.params))(typeof B!="string"||!B.startsWith("event."))&&A.push({level:"warning",path:`${Q}.emit.params.${C}`,message:`Param "${C}" path "${B}" should start with "event."`})}}function fI(I,A){const g=new Set(["section_engagement","full_engagement","error_hunting","scroll_tracking","form_validation","page_value","cta_performance","bounce_detection"]);for(const Q of I)g.has(Q)||A.push({level:"error",path:`presets["${Q}"]`,message:`Unknown preset "${Q}"`,suggestion:`Valid presets: ${[...g].join(", ")}`})}function WI(I){const g=I.split(/\s*&&\s*/).map(Q=>uI(Q.trim()));return Q=>g.every(C=>C(Q))}function uI(I){const A=I.match(/^event\.(\w+)\s*==\s*"(.+)"$/);if(A){const E=A[1],e=A[2];return n=>a(n,E)===e}const g=I.match(/^event\.(\w+)\s*>=\s*([\d.]+)$/);if(g){const E=g[1],e=Number(g[2]);return n=>typeof a(n,E)=="number"&&a(n,E)>=e}const Q=I.match(/^event\.(\w+)\s*>\s*([\d.]+)$/);if(Q){const E=Q[1],e=Number(Q[2]);return n=>typeof a(n,E)=="number"&&a(n,E)>e}const C=I.match(/^event\.(\w+)\s*<=\s*([\d.]+)$/);if(C){const E=C[1],e=Number(C[2]);return n=>typeof a(n,E)=="number"&&a(n,E)<=e}const B=I.match(/^event\.(\w+)\s*<\s*([\d.]+)$/);if(B){const E=B[1],e=Number(B[2]);return n=>typeof a(n,E)=="number"&&a(n,E)<e}throw new Error(`Cannot compile CEL expression: "${I}"`)}function a(I,A){if(A==="kind")return I.kind;if(A==="ts")return I.ts;if(A.startsWith("target.")){const g=A.slice(7);return I.target?.[g]}if(A.startsWith("page.")){const g=A.slice(5);return I.page?.[g]}return I[A]}export{DA as CompiledPattern,bA as ConsoleSink,XA as EdgeSink,RA as GA4Sink,AA as MASK_SELECTOR,VA as MAX_CAPTURED_TEXT,mA as Pattern,MA as PatternRuntime,pA as SinkRouter,TA as TFloBrowser,UA as capturableText,z as capture,LA as captureErrors,_A as captureLifecycle,vA as captureScroll,P as captureViewport,HA as captureVisibility,XI as checkClickCoverage,eI as checkSelectorHealth,CA as diagnosticEvent,qA as expandPreset,PA as expandPresets,gA as pathOnlyUrl,rA as stableSessionId,xA as stripUrlQueries,RI as tflo,pI as validatePlan,aA as withIdentity};
|