@sailfish-ai/sf-veritas 0.2.17 → 0.2.18
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/dist/contextManager-C-sqFxpi.js +267 -0
- package/dist/contextManager-wMuxqwl9.cjs +1 -0
- package/dist/funcSpanTransformer-D0W2t41q.cjs +1 -0
- package/dist/funcSpanTransformer-S_WeAt_m.js +251 -0
- package/dist/plugins/funcspanEsbuildPlugin.cjs +1 -1
- package/dist/plugins/funcspanEsbuildPlugin.mjs +2 -2
- package/dist/plugins/funcspanRollupPlugin.cjs +1 -1
- package/dist/plugins/funcspanRollupPlugin.mjs +2 -2
- package/dist/plugins/funcspanTscPlugin.cjs +1 -1
- package/dist/plugins/funcspanTscPlugin.mjs +2 -2
- package/dist/plugins/funcspanVitePlugin.cjs +1 -1
- package/dist/plugins/funcspanVitePlugin.mjs +2 -2
- package/dist/plugins/funcspanWebpackLoader.cjs +1 -1
- package/dist/plugins/funcspanWebpackLoader.mjs +1 -1
- package/dist/plugins/funcspanWebpackPlugin.cjs +1 -1
- package/dist/plugins/funcspanWebpackPlugin.mjs +1 -1
- package/dist/runtimeConfig-B8LSswM8.cjs +9 -0
- package/dist/runtimeConfig-GwWjhV9M.js +379 -0
- package/dist/sf-veritas.cjs +13 -13
- package/dist/sf-veritas.mjs +241 -250
- package/dist/types/debuggerWorker.d.ts +2 -2
- package/dist/types/generated/worker-data.d.ts +1 -1
- package/dist/types/setupConfig.d.ts +5 -0
- package/dist/types/utils.d.ts +7 -0
- package/dist/worker-pool-capture.cjs +1 -1
- package/dist/worker-pool-capture.mjs +1 -1
- package/dist/{workerPoolSpanCapture-BUdAamcg.cjs → workerPoolSpanCapture-B3yge78T.cjs} +1 -1
- package/dist/{workerPoolSpanCapture-DEW40aIL.js → workerPoolSpanCapture-DqBbNQLv.js} +1 -1
- package/package.json +9 -2
- package/dist/contextManager-Cx03mw7l.js +0 -258
- package/dist/contextManager-CxQqBCEA.cjs +0 -1
- package/dist/funcSpanTransformer-Byqzu4B1.js +0 -231
- package/dist/funcSpanTransformer-CDh0o-AP.cjs +0 -1
- package/dist/runtimeConfig-DndXTWki.js +0 -353
- package/dist/runtimeConfig-TWzqPe1S.cjs +0 -8
|
@@ -1,353 +0,0 @@
|
|
|
1
|
-
var Q = Object.defineProperty;
|
|
2
|
-
var O = (I, g, C) => g in I ? Q(I, g, { enumerable: !0, configurable: !0, writable: !0, value: C }) : I[g] = C;
|
|
3
|
-
var y = (I, g, C) => O(I, typeof g != "symbol" ? g + "" : g, C);
|
|
4
|
-
import { readFileSync as D } from "fs";
|
|
5
|
-
import P from "os";
|
|
6
|
-
import { s as M } from "./source-map-Cr6YkjTd.js";
|
|
7
|
-
import { Worker as _ } from "worker_threads";
|
|
8
|
-
import { g as B, a as q, C as H } from "./contextManager-Cx03mw7l.js";
|
|
9
|
-
import { resolve as $ } from "path";
|
|
10
|
-
const gg = {};
|
|
11
|
-
class J {
|
|
12
|
-
constructor({ file: g, line: C, function: c, code: A, locals: i = {}, offender: l = !1, column: n }) {
|
|
13
|
-
y(this, "file");
|
|
14
|
-
y(this, "line");
|
|
15
|
-
y(this, "function");
|
|
16
|
-
y(this, "code");
|
|
17
|
-
y(this, "locals");
|
|
18
|
-
y(this, "offender");
|
|
19
|
-
y(this, "column");
|
|
20
|
-
this.file = g, this.line = C, this.function = c, this.code = A, this.locals = i, this.offender = l, this.column = n;
|
|
21
|
-
}
|
|
22
|
-
toDict() {
|
|
23
|
-
const g = { file: this.file, line: this.line, function: this.function, code: this.code, locals: Object.fromEntries(Object.entries(this.locals).map(([C, c]) => [C, String(c)])) };
|
|
24
|
-
return this.offender && (g.offender = this.offender), this.column !== void 0 && (g.column = this.column), g;
|
|
25
|
-
}
|
|
26
|
-
toJson() {
|
|
27
|
-
return JSON.stringify(this.toDict());
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
class S {
|
|
31
|
-
static encode(g) {
|
|
32
|
-
return g instanceof J ? g.toDict() : Array.isArray(g) ? g.map((C) => S.encode(C)) : typeof g == "object" && g !== null ? JSON.stringify(g) : g;
|
|
33
|
-
}
|
|
34
|
-
static stringify(g) {
|
|
35
|
-
return JSON.stringify(S.encode(g), (C, c) => c instanceof J ? c.toDict() : c);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
const Ig = ["/sf-veritas/", "/@sailfish-ai/", "/node_modules/", "/dist/", "/<", "/internal/", "node:"], p = /* @__PURE__ */ new Map();
|
|
39
|
-
function Cg(I) {
|
|
40
|
-
return Ig.some((g) => I.includes(g));
|
|
41
|
-
}
|
|
42
|
-
function cg(I) {
|
|
43
|
-
let g = I;
|
|
44
|
-
g.startsWith("file://") && (g = g.substring(7)), process.platform === "win32" && g.startsWith("/") && g.length > 2 && g[2] === ":" && (g = g.substring(1));
|
|
45
|
-
try {
|
|
46
|
-
return $(g);
|
|
47
|
-
} catch {
|
|
48
|
-
return I;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function lg(I = 0) {
|
|
52
|
-
const g = new Error().stack;
|
|
53
|
-
if (!g) return [null, null];
|
|
54
|
-
const C = (function(n, e) {
|
|
55
|
-
const o = 2 + e;
|
|
56
|
-
return n.split(`
|
|
57
|
-
`).slice(o, o + 5).join(`
|
|
58
|
-
`);
|
|
59
|
-
})(g, I), c = p.get(C);
|
|
60
|
-
if (c) return c;
|
|
61
|
-
const A = (function(n) {
|
|
62
|
-
if (!n) return [];
|
|
63
|
-
const e = n.split(`
|
|
64
|
-
`).slice(1), o = [];
|
|
65
|
-
for (const s of e) {
|
|
66
|
-
let Z = /at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/.exec(s);
|
|
67
|
-
Z ? o.push({ functionName: Z[1], file: Z[2], line: parseInt(Z[3], 10), column: parseInt(Z[4], 10) }) : (Z = /at\s+(.+?):(\d+):(\d+)/.exec(s), Z && o.push({ functionName: "<anonymous>", file: Z[1], line: parseInt(Z[2], 10), column: parseInt(Z[3], 10) }));
|
|
68
|
-
}
|
|
69
|
-
return o;
|
|
70
|
-
})(g), i = 1 + I;
|
|
71
|
-
for (let n = i; n < Math.min(A.length, i + 10); n++) {
|
|
72
|
-
const e = A[n];
|
|
73
|
-
if (!e || !e.file || Cg(e.file)) continue;
|
|
74
|
-
const o = [cg(e.file), e.line];
|
|
75
|
-
if (p.size >= 512) {
|
|
76
|
-
const s = p.keys().next().value;
|
|
77
|
-
s !== void 0 && p.delete(s);
|
|
78
|
-
}
|
|
79
|
-
return p.set(C, o), o;
|
|
80
|
-
}
|
|
81
|
-
const l = [null, null];
|
|
82
|
-
return p.set(C, l), l;
|
|
83
|
-
}
|
|
84
|
-
const f = console.log.bind(console), F = console.error.bind(console), R = console.warn.bind(console), z = console.info.bind(console), k = console.debug.bind(console), W = f, L = F;
|
|
85
|
-
let a = !1;
|
|
86
|
-
function ag(I) {
|
|
87
|
-
function g(C, c) {
|
|
88
|
-
const A = q();
|
|
89
|
-
if (A?.logIgnoreRegex && A.logIgnoreRegex.test(c)) return;
|
|
90
|
-
const [i, l] = lg(2);
|
|
91
|
-
I.setOperationName("CollectLogs"), I.doSend([c, C, i, l]);
|
|
92
|
-
}
|
|
93
|
-
console.log = (...C) => {
|
|
94
|
-
if (a) f(...C);
|
|
95
|
-
else {
|
|
96
|
-
a = !0;
|
|
97
|
-
try {
|
|
98
|
-
g("INFO", C.join(" ")), f(...C);
|
|
99
|
-
} finally {
|
|
100
|
-
a = !1;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}, console.error = (...C) => {
|
|
104
|
-
if (a) F(...C);
|
|
105
|
-
else {
|
|
106
|
-
a = !0;
|
|
107
|
-
try {
|
|
108
|
-
g("ERROR", C.join(" ")), F(...C);
|
|
109
|
-
} finally {
|
|
110
|
-
a = !1;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}, console.warn = (...C) => {
|
|
114
|
-
if (a) R(...C);
|
|
115
|
-
else {
|
|
116
|
-
a = !0;
|
|
117
|
-
try {
|
|
118
|
-
g("WARN", C.join(" ")), R(...C);
|
|
119
|
-
} finally {
|
|
120
|
-
a = !1;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}, console.info = (...C) => {
|
|
124
|
-
if (a) z(...C);
|
|
125
|
-
else {
|
|
126
|
-
a = !0;
|
|
127
|
-
try {
|
|
128
|
-
g("INFO", C.join(" ")), z(...C);
|
|
129
|
-
} finally {
|
|
130
|
-
a = !1;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}, B().logLevel === "DEBUG" && (console.debug = (...C) => {
|
|
134
|
-
if (a) k(...C);
|
|
135
|
-
else {
|
|
136
|
-
a = !0;
|
|
137
|
-
try {
|
|
138
|
-
g("DEBUG", C.join(" ")), k(...C);
|
|
139
|
-
} finally {
|
|
140
|
-
a = !1;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
let V, N = 0;
|
|
146
|
-
function Bg(I) {
|
|
147
|
-
B().sfDebug && W("Initializing Exception Interceptor...");
|
|
148
|
-
try {
|
|
149
|
-
const n = T();
|
|
150
|
-
I?.setSupplementalFields?.({ isFromLocalService: n }), (async function(e) {
|
|
151
|
-
if (x) return;
|
|
152
|
-
x = !0;
|
|
153
|
-
const o = process.env || {};
|
|
154
|
-
if (E(o.SF_IS_LOCAL) === void 0)
|
|
155
|
-
try {
|
|
156
|
-
await (async function(s) {
|
|
157
|
-
const Z = K("http://169.254.169.254/latest/meta-data/", {}, s), h = K("http://metadata.google.internal/computeMetadata/v1/instance/", { "Metadata-Flavor": "Google" }, s), u = K("http://169.254.169.254/metadata/instance?api-version=2021-02-01", { Metadata: "true" }, s);
|
|
158
|
-
return (await Promise.allSettled([Z, h, u])).some((t) => t.status === "fulfilled" && (t.value === "ok" || t.value === "http_error"));
|
|
159
|
-
})(150) && V && (V = !1, e?.setSupplementalFields?.({ isFromLocalService: !1 }));
|
|
160
|
-
} catch {
|
|
161
|
-
}
|
|
162
|
-
})(I).catch(() => {
|
|
163
|
-
});
|
|
164
|
-
} catch {
|
|
165
|
-
}
|
|
166
|
-
const g = new _(new URL("data:application/javascript;base64,aW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gImluc3BlY3Rvci9wcm9taXNlcyI7CmltcG9ydCB7IHBhcmVudFBvcnQsIHdvcmtlckRhdGEgfSBmcm9tICJ3b3JrZXJfdGhyZWFkcyI7CgpnbG9iYWwuc2ZEZWJ1ZyA9IHVuZGVmaW5lZDsKZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMgPSB1bmRlZmluZWQ7Cmdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPSB1bmRlZmluZWQ7CgovKioKICogUHJvY2Vzc2VzIGNhbGwgZnJhbWVzIGZyb20gYW4gZXhjZXB0aW9uIGFuZCBwb3N0cyB0aGVtIHZpYSB0aGUgV29ya2Vy4oCZcyBwYXJlbnRQb3J0LgogKgogKiBAcGFyYW0gc2Vzc2lvbiAtIFRoZSBEZXZUb29scyBzZXNzaW9uIG9yIHNpbWlsYXIgb2JqZWN0IHlvdSB1c2UgdG8gcXVlcnkgZm9yIHNjcmlwdCBzb3VyY2VzLgogKiBAcGFyYW0gY2FsbEZyYW1lcyAtIEFuIGFycmF5IG9mIGNhbGwgZnJhbWUgb2JqZWN0cy4KICogQHBhcmFtIGRlc2NyaXB0aW9uTGluZXMgLSBBbiBhcnJheSBvZiBsaW5lcyBmcm9tIHRoZSBlcnJvcuKAmXMgZGVzY3JpcHRpb24sIGVhY2ggdHlwaWNhbGx5IGJlZ2lubmluZyB3aXRoICJhdCAiLgogKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0KICovCmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzQ2FsbEZyYW1lcyhzZXNzaW9uLCBjYWxsRnJhbWVzLCBkZXNjcmlwdGlvbkxpbmVzKSB7CiAgLyoqCiAgICogTGltaXQgdGhlIGNhbGwgZnJhbWVzIHRvIHRoZSBtYXhpbXVtIGRlcHRoIHNwZWNpZmllZCBieSBnbG9iYWwuc3RhY2tEZXB0aExvY2Fscy4KICAgKiBUaGlzIGFzc3VtZXMgdGhhdCBnbG9iYWwuc3RhY2tEZXB0aExvY2FscyBpcyBkZWZpbmVkIGFzIGEgbnVtYmVyLgogICAqLwogIGNvbnN0IGxpbWl0ZWRDYWxsRnJhbWVzID0gY2FsbEZyYW1lcy5zbGljZSgwLCBnbG9iYWwuc3RhY2tEZXB0aExvY2Fscyk7CgogIGNvbnN0IGZyYW1lcyA9IGF3YWl0IFByb21pc2UuYWxsKAogICAgbGltaXRlZENhbGxGcmFtZXMubWFwKGFzeW5jIChmcmFtZSwgaW5kZXgpID0+IHsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCB7IGZ1bmN0aW9uTmFtZSwgbG9jYXRpb24sIHVybCwgc2NvcGVDaGFpbiB9ID0gZnJhbWU7CiAgICAgICAgLy8gRmluZCB0aGUgbG9jYWwgc2NvcGUsIGlmIGFueQogICAgICAgIGNvbnN0IGxvY2FsU2NvcGUgPSBzY29wZUNoYWluLmZpbmQoKHNjb3BlKSA9PiBzY29wZS50eXBlID09PSAibG9jYWwiKTsKCiAgICAgICAgbGV0IGNvZGUgPSAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgIC8vIFVzZSBlaXRoZXIgdGhlIFVSTCBvciB0aGUgZGVzY3JpcHRpb24gbGluZSBmb3IgZmlsZSByZWZlcmVuY2UKICAgICAgICBsZXQgZmlsZSA9ICIiOwogICAgICAgIGlmICh1cmwgJiYgdXJsLnRyaW0oKSAhPT0gIiIpIHsKICAgICAgICAgIGZpbGUgPSB1cmw7CiAgICAgICAgfSBlbHNlIGlmIChkZXNjcmlwdGlvbkxpbmVzW2luZGV4XSkgewogICAgICAgICAgZmlsZSA9IGRlc2NyaXB0aW9uTGluZXNbaW5kZXhdLnRyaW0oKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZmlsZSA9ICI8dW5rbm93bj4iOwogICAgICAgIH0KCiAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIHZhbGlkIGxvY2F0aW9uIGFuZCBzY3JpcHRJZCwgZmV0Y2ggdGhlIGNvZGUgbGluZQogICAgICAgIGlmIChsb2NhdGlvbiAmJiBsb2NhdGlvbi5zY3JpcHRJZCkgewogICAgICAgICAgY29uc3Qgc2NyaXB0SWQgPSBsb2NhdGlvbi5zY3JpcHRJZDsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvbnN0IHsgc2NyaXB0U291cmNlIH0gPSBhd2FpdCBzZXNzaW9uLnBvc3QoCiAgICAgICAgICAgICAgIkRlYnVnZ2VyLmdldFNjcmlwdFNvdXJjZSIsCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2NyaXB0SWQsCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgY29uc3Qgc291cmNlTGluZXMgPSBzY3JpcHRTb3VyY2Uuc3BsaXQoIlxuIik7CiAgICAgICAgICAgIGNvZGUgPSBzb3VyY2VMaW5lc1tsb2NhdGlvbi5saW5lTnVtYmVyXSB8fCAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBmZXRjaCBzY3JpcHQgc291cmNlOiIsIGVycik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEZldGNoIGxvY2FsIHZhcmlhYmxlcyBpZiB0aGVyZSdzIGFuIG9iamVjdElkCiAgICAgICAgY29uc3QgbG9jYWxzID0gbG9jYWxTY29wZT8ub2JqZWN0Py5vYmplY3RJZAogICAgICAgICAgPyBhd2FpdCBmZXRjaExvY2FsVmFyaWFibGVzKHNlc3Npb24sIGxvY2FsU2NvcGUub2JqZWN0Lm9iamVjdElkKQogICAgICAgICAgOiB7fTsKCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiBmdW5jdGlvbk5hbWUgfHwgIjxhbm9ueW1vdXM+IiwKICAgICAgICAgIGxvY2FscywKICAgICAgICAgIGZpbGUsCiAgICAgICAgICBsaW5lOiBsb2NhdGlvbj8ubGluZU51bWJlciB8fCAwLAogICAgICAgICAgY29kZSwKICAgICAgICB9OwogICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRXJyb3IgcHJvY2Vzc2luZyBjYWxsIGZyYW1lOiIsIGVycm9yKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiAiPGVycm9yPiIsCiAgICAgICAgICBsb2NhbHM6IHt9LAogICAgICAgICAgZmlsZTogIjx1bmtub3duPiIsCiAgICAgICAgICBsaW5lOiAwLAogICAgICAgICAgY29kZTogIjxub3QgY2FwdHVyZWQ+IiwKICAgICAgICB9OwogICAgICB9CiAgICB9KSwKICApOwogIC8vIFBvc3QgZXhjZXB0aW9uIGRhdGEKICBwYXJlbnRQb3J0Py5wb3N0TWVzc2FnZSh7IHR5cGU6ICJleGNlcHRpb24iLCBmcmFtZXMgfSk7Cn0KCi8qKgogKiBIYW5kbGVzIHRoZSAicGF1c2VkIiBzdGF0ZSBvZiB0aGUgZGVidWdnZXIgYW5kIHByb2Nlc3NlcyBleGNlcHRpb25zIG9yIHByb21pc2UgcmVqZWN0aW9ucy4KICogQHBhcmFtIHtTZXNzaW9ufSBzZXNzaW9uIC0gVGhlIGRlYnVnZ2luZyBzZXNzaW9uIGluc3RhbmNlLgogKiBAcGFyYW0ge29iamVjdH0gcGFyYW1zIC0gUGFyYW1ldGVycyBmcm9tIHRoZSAicGF1c2VkIiBldmVudC4KICovCmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVBhdXNlZChzZXNzaW9uLCBwYXJhbXMpIHsKICBjb25zdCB7IHJlYXNvbiwgZGF0YSwgY2FsbEZyYW1lcyB9ID0gcGFyYW1zOwoKICBpZiAocmVhc29uICE9PSAiZXhjZXB0aW9uIiAmJiByZWFzb24gIT09ICJwcm9taXNlUmVqZWN0aW9uIikgewogICAgcmV0dXJuOwogIH0KCiAgLy8gRGVmaW5lIHJlZ2V4IHBhdHRlcm5zIHRvIGlkZW50aWZ5IG5vbi1hcHBsaWNhdGlvbiBzb3VyY2UgZXJyb3JzLgogIGNvbnN0IG5vbkFwcFBhdHRlcm5zID0gWwogICAgL25vZGU6aW50ZXJuYWwvLAogICAgL2ludGVybmFsXC8vLAogICAgL25vZGVfbW9kdWxlcy8sCiAgICAvbm9kZTpmcy8sCiAgXTsKCiAgbGV0IGZpcnN0RnJhbWVMaW5lID0gIiI7CiAgbGV0IGRlc2NyaXB0aW9uTGluZXMgPSBbXTsKCiAgaWYgKGRhdGEgJiYgdHlwZW9mIGRhdGEuZGVzY3JpcHRpb24gPT09ICJzdHJpbmciKSB7CiAgICAvLyBTcGxpdCB0aGUgZGVzY3JpcHRpb24gaW50byBsaW5lcyBhbmQgZmlsdGVyIHRvIGtlZXAgb25seSBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggImF0ICIKICAgIGRlc2NyaXB0aW9uTGluZXMgPSBkYXRhLmRlc2NyaXB0aW9uCiAgICAgIC5zcGxpdCgiXG4iKQogICAgICAuZmlsdGVyKChsaW5lKSA9PiBsaW5lLnRyaW0oKS5zdGFydHNXaXRoKCJhdCAiKSk7CgogICAgLy8gVXNlIHRoZSBmaXJzdCBjYWxsIGZyYW1lIGxpbmUgZnJvbSB0aGUgZGVzY3JpcHRpb24gZm9yIGZpbHRlcmluZy4KICAgIGZpcnN0RnJhbWVMaW5lID0gZGVzY3JpcHRpb25MaW5lc1swXSB8fCAiIjsKICAgIGlmICghZmlyc3RGcmFtZUxpbmUpIHsKICAgICAgLy8gSWYsIGZvciBzb21lIHJlYXNvbiwgdGhlcmUncyBubyBmcmFtZSwgYmFpbCBvdXQKICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSAibm9uLWFwcCIgZXJyb3IKICAgIGNvbnN0IGVycm9yRnJvbU5vbkFwcCA9IG5vbkFwcFBhdHRlcm5zLnNvbWUoKHBhdHRlcm4pID0+CiAgICAgIHBhdHRlcm4udGVzdChmaXJzdEZyYW1lTGluZS50cmltKCkpLAogICAgKTsKCiAgICAvLyBDb252ZXJ0IGBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uYCB0byBhbiBhcnJheSBmb3Igc2FmZXR5CiAgICBjb25zdCBub2RlTW9kdWxlc0xpc3QgPSBBcnJheS5pc0FycmF5KAogICAgICBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uLAogICAgKQogICAgICA/IGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24KICAgICAgOiBbXTsKICAgIGlmIChlcnJvckZyb21Ob25BcHApIHsKICAgICAgLy8gSWYgdGhlIGVycm9yIGlzIGZyb20gYSBub24tYXBwIHNvdXJjZSwgd2UgaGF2ZSBhIGZldyBzY2VuYXJpb3M6CiAgICAgIGlmIChub2RlTW9kdWxlc0xpc3QuaW5jbHVkZXMoIl9fYWxsX18iKSkgewogICAgICAgIC8vIElmIHRoZSBsaXN0IGluY2x1ZGVzIF9fYWxsX18sIGNhcHR1cmUgbG9jYWwgdmFyaWFibGVzIGZyb20gKmFsbCogbm9kZV9tb2R1bGVzCiAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygKICAgICAgICAgICAgIltXb3JrZXJdIEVycm9yIGlzIGZyb20gbm9uLWFwcCBzb3VyY2UsIGJ1dCBjYXB0dXJpbmcgZHVlIHRvIF9fYWxsX18gcnVsZS4iLAogICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgLy8gQ29udGludWUgKGRvIE5PVCByZXR1cm4pLi4uCiAgICAgIH0gZWxzZSBpZiAobm9kZU1vZHVsZXNMaXN0Lmxlbmd0aCA+IDApIHsKICAgICAgICAvLyBDaGVjayBpZiB0aGUgZmlyc3QgZnJhbWUgcmVmZXJlbmNlcyBvbmUgb2YgdGhlIG1vZHVsZXMgd2UgYWxsb3cgY2FwdHVyaW5nIGZyb20KICAgICAgICBjb25zdCBpc0Zyb21BbGxvd2VkTm9kZU1vZHVsZSA9IG5vZGVNb2R1bGVzTGlzdC5zb21lKChtb2R1bGVOYW1lKSA9PgogICAgICAgICAgZmlyc3RGcmFtZUxpbmUuaW5jbHVkZXMoYCR7bW9kdWxlTmFtZX1gKSwKICAgICAgICApOwoKICAgICAgICBpZiAoIWlzRnJvbUFsbG93ZWROb2RlTW9kdWxlKSB7CiAgICAgICAgICAvLyBOb3QgZnJvbSBhbiBhbGxvd2VkIG5vZGUgbW9kdWxlID0+IHJldHVybiBlYXJseQogICAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAgICJbV29ya2VyXSBFcnJvciBhcHBlYXJzIHRvIGJlIHRyaWdnZXJlZCBmcm9tIG5vbi1hcHBsaWNhdGlvbiBzb3VyY2VzOyBpZ25vcmluZy4iLAogICAgICAgICAgICApOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICAvLyBPdGhlcndpc2UsIGl0J3MgZnJvbSBhbiBhbGxvd2VkIG5vZGUgbW9kdWxlLCBzbyBjb250aW51ZQogICAgICB9IGVsc2UgewogICAgICAgIC8vIElmIHRoZSBsaXN0IGlzIGVtcHR5LCBwcmVzZXJ2ZSBleGlzdGluZyBiZWhhdmlvciBhbmQgaWdub3JlIG5vbi1hcHBsaWNhdGlvbiBlcnJvcnMKICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAiW1dvcmtlcl0gRXJyb3IgYXBwZWFycyB0byBiZSB0cmlnZ2VyZWQgZnJvbSBub24tYXBwbGljYXRpb24gc291cmNlczsgaWdub3JpbmcuIiwKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQogICAgfQoKICAgIC8vIElmIHdlIHJlYWNoIHRoaXMgcG9pbnQsIHRoZSBlcnJvciBpcyBlaXRoZXIgZnJvbSBhcHAgY29kZSwgb3IgZnJvbSBhIG5vZGUgbW9kdWxlIGFsbG93ZWQgYnkgdGhlIGxpc3QKICAgIC8vID0+IFByb2NlZWQgd2l0aCBjYXB0dXJpbmcgbG9jYWwgdmFyaWFibGVzLCBldGMuCiAgICBhd2FpdCBwcm9jZXNzQ2FsbEZyYW1lcyhzZXNzaW9uLCBjYWxsRnJhbWVzLCBkZXNjcmlwdGlvbkxpbmVzKTsKICB9IGVsc2UgewogICAgLy8gSWYgdGhlcmUgaXMgbm8gZGF0YS5kZXNjcmlwdGlvbiBvciBpdCdzIG5vdCBhIHN0cmluZywganVzdCByZXR1cm4KICAgIHJldHVybjsKICB9Cn0KCi8qKgogKiBJbml0aWFsaXplcyB0aGUgZGVidWdnZXIgYW5kIHNldHMgdXAgZXZlbnQgbGlzdGVuZXJzIGZvciBleGNlcHRpb25zIGFuZCBwcm9taXNlIHJlamVjdGlvbnMuCiAqLwphc3luYyBmdW5jdGlvbiBzdGFydERlYnVnZ2VyKCkgewogIHBhcmVudFBvcnQ/LnBvc3RNZXNzYWdlKHsgdHlwZTogIm1lc3NhZ2UiLCByZWFkeVRvR2V0UGFyYW1ldGVyczogdHJ1ZSB9KTsKCiAgbGV0IHJlc29sdmVNZXNzYWdlUHJvbWlzZTsKICBjb25zdCBtZXNzYWdlUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICByZXNvbHZlTWVzc2FnZVByb21pc2UgPSByZXNvbHZlOwogIH0pOwogIGxldCBpc1BhdXNlZCA9IGZhbHNlOwoKICBwYXJlbnRQb3J0Py5vbigibWVzc2FnZSIsIChtZXNzYWdlKSA9PiB7CiAgICB0cnkgewogICAgICBpZiAobWVzc2FnZT8udHlwZSA9PT0gInByb2Nlc3NFeGNlcHRpb24iKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoCiAgICAgICAgbWVzc2FnZT8uc2ZEZWJ1ZyAhPT0gdW5kZWZpbmVkICYmCiAgICAgICAgbWVzc2FnZT8uc3RhY2tEZXB0aExvY2FscyAhPT0gdW5kZWZpbmVkCiAgICAgICkgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5sb2coIlVwZGF0aW5nIGdsb2JhbCBkZWJ1ZyB2YXJpYWJsZXMuLi4iKTsKICAgICAgICB9CgogICAgICAgIGdsb2JhbC5zZkRlYnVnID0gbWVzc2FnZS5zZkRlYnVnOwogICAgICAgIGdsb2JhbC5zdGFja0RlcHRoTG9jYWxzID0gbWVzc2FnZS5zdGFja0RlcHRoTG9jYWxzOwogICAgICAgIGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPQogICAgICAgICAgbWVzc2FnZS5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT247CgogICAgICAgIHJlc29sdmVNZXNzYWdlUHJvbWlzZSgpOwogICAgICB9CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICBjb25zb2xlLmVycm9yKCLinYwgRXJyb3IgaW4gbWVzc2FnZSBoYW5kbGluZzoiLCBlcnJvcik7CiAgICAgIH0KICAgIH0KICB9KTsKCiAgYXdhaXQgbWVzc2FnZVByb21pc2U7CgogIHRyeSB7CiAgICBjb25zdCBzZXNzaW9uID0gbmV3IFNlc3Npb24oKTsKICAgIHNlc3Npb24uY29ubmVjdFRvTWFpblRocmVhZCgpOwoKICAgIHNlc3Npb24ub24oIkRlYnVnZ2VyLnJlc3VtZWQiLCAoKSA9PiB7CiAgICAgIGlzUGF1c2VkID0gZmFsc2U7CiAgICB9KTsKCiAgICBzZXNzaW9uLm9uKCJEZWJ1Z2dlci5wYXVzZWQiLCBhc3luYyAoZXZlbnQpID0+IHsKICAgICAgaXNQYXVzZWQgPSB0cnVlOwogICAgICBoYW5kbGVQYXVzZWQoc2Vzc2lvbiwgZXZlbnQucGFyYW1zKS50aGVuKAogICAgICAgIGFzeW5jICgpID0+IHsKICAgICAgICAgIC8vIEFmdGVyIHRoZSBwYXVzZSB3b3JrIGlzIGNvbXBsZXRlLCByZXN1bWUgZXhlY3V0aW9uIQogICAgICAgICAgaWYgKGlzUGF1c2VkKSB7CiAgICAgICAgICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIucmVzdW1lIik7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBhc3luYyAoXykgPT4gewogICAgICAgICAgaWYgKGlzUGF1c2VkKSB7CiAgICAgICAgICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIucmVzdW1lIik7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgKTsKICAgIH0pOwoKICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIuZW5hYmxlIik7CgogICAgY29uc3QgY2FwdHVyZUFsbCA9IHdvcmtlckRhdGEuY2FwdHVyZUFsbEV4Y2VwdGlvbnMgIT09IGZhbHNlOwogICAgYXdhaXQgc2Vzc2lvbi5wb3N0KCJEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyIsIHsKICAgICAgc3RhdGU6IGNhcHR1cmVBbGwgPyAiYWxsIiA6ICJ1bmNhdWdodCIsCiAgICB9KTsKICB9IGNhdGNoIChlcnJvcikgewogICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIGVycm9yICIsIGVycm9yKTsKICAgIH0KICB9CgogIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgY29uc29sZS5sb2coIltXb3JrZXJdIERlYnVnZ2VyIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5LiIpOwogIH0KfQoKYXN5bmMgZnVuY3Rpb24gdW5yb2xsT2JqZWN0KHNlc3Npb24sIG9iamVjdElkLCBuYW1lLCB2YXJzKSB7CiAgY29uc3QgcHJvcGVydGllcyA9IGF3YWl0IHNlc3Npb24ucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIiwgewogICAgb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogIH0pOwoKICB2YXJzW25hbWVdID0gcHJvcGVydGllcy5yZXN1bHQKICAgIC5tYXAoKHYpID0+IFt2Lm5hbWUsIHYudmFsdWU/LnZhbHVlXSkKICAgIC5yZWR1Y2UoKG9iaiwgW2tleSwgdmFsXSkgPT4gewogICAgICBvYmpba2V5XSA9IHZhbDsKICAgICAgcmV0dXJuIG9iajsKICAgIH0sIHt9KTsKfQoKYXN5bmMgZnVuY3Rpb24gdW5yb2xsQXJyYXkoc2Vzc2lvbiwgb2JqZWN0SWQsIG5hbWUsIHZhcnMpIHsKICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICBvYmplY3RJZDogb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogIH0pOwogIHZhcnNbbmFtZV0gPSBwcm9wZXJ0aWVzLnJlc3VsdAogICAgLmZpbHRlcigodikgPT4gdi5uYW1lICE9PSAibGVuZ3RoIiAmJiAhaXNOYU4ocGFyc2VJbnQodi5uYW1lLCAxMCkpKQogICAgLnNvcnQoKGEsIGIpID0+IHBhcnNlSW50KGEubmFtZSwgMTApIC0gcGFyc2VJbnQoYi5uYW1lLCAxMCkpCiAgICAubWFwKCh2KSA9PiB2LnZhbHVlPy52YWx1ZSk7Cn0KCmZ1bmN0aW9uIHVucm9sbE90aGVyKHByb3AsIHZhcnMpIHsKICBpZiAoIXByb3AudmFsdWUpIHsKICAgIHJldHVybjsKICB9CgogIGlmICgidmFsdWUiIGluIHByb3AudmFsdWUpIHsKICAgIGlmIChwcm9wLnZhbHVlLnZhbHVlID09PSB1bmRlZmluZWQgfHwgcHJvcC52YWx1ZS52YWx1ZSA9PT0gbnVsbCkgewogICAgICB2YXJzW3Byb3AubmFtZV0gPSBgPCR7cHJvcC52YWx1ZS52YWx1ZX0+YDsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhcnNbcHJvcC5uYW1lXSA9IHByb3AudmFsdWUudmFsdWU7CiAgICByZXR1cm47CiAgfQoKICBpZiAoImRlc2NyaXB0aW9uIiBpbiBwcm9wLnZhbHVlICYmIHByb3AudmFsdWUudHlwZSAhPT0gImZ1bmN0aW9uIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gYDwke3Byb3AudmFsdWUuZGVzY3JpcHRpb259PmA7CiAgICByZXR1cm47CiAgfQoKICBpZiAocHJvcC52YWx1ZS50eXBlID09PSAidW5kZWZpbmVkIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gIjx1bmRlZmluZWQ+IjsKICAgIHJldHVybjsKICB9Cn0KCi8qKgogKiBGZXRjaGVzIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBnaXZlbiBvYmplY3QgSUQuCiAqIEBwYXJhbSB7U2Vzc2lvbn0gc2Vzc2lvbiAtIFRoZSBkZWJ1Z2dpbmcgc2Vzc2lvbiBpbnN0YW5jZS4KICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdElkIC0gVGhlIG9iamVjdCBJRCByZXByZXNlbnRpbmcgdGhlIGxvY2FsIHNjb3BlLgogKiBAcmV0dXJucyB7b2JqZWN0fSBBIGtleS12YWx1ZSBtYXAgb2YgbG9jYWwgdmFyaWFibGUgbmFtZXMgYW5kIHRoZWlyIHZhbHVlcy4KICovCmFzeW5jIGZ1bmN0aW9uIGZldGNoTG9jYWxWYXJpYWJsZXMoc2Vzc2lvbiwgb2JqZWN0SWQpIHsKICBpZiAoIW9iamVjdElkKSByZXR1cm4ge307CgogIHRyeSB7CiAgICBjb25zdCB7IHJlc3VsdCB9ID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICAgIG9iamVjdElkLAogICAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogICAgfSk7CgogICAgY29uc3QgcHJvcGVydGllcyA9IHJlc3VsdDsKICAgIGlmIChwcm9wZXJ0aWVzKSB7CiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHt9OwogICAgICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcGVydGllcykgewogICAgICAgIGlmIChwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYgcHJvcD8udmFsdWUuY2xhc3NOYW1lID09PSAiQXJyYXkiKSB7CiAgICAgICAgICBjb25zdCBpZCA9IHByb3AudmFsdWUub2JqZWN0SWQ7CiAgICAgICAgICBhd2FpdCB1bnJvbGxBcnJheShzZXNzaW9uLCBpZCwgcHJvcC5uYW1lLCB2YXJpYWJsZXMpOwogICAgICAgIH0gZWxzZSBpZiAoCiAgICAgICAgICBwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYKICAgICAgICAgIHByb3A/LnZhbHVlPy5jbGFzc05hbWUgPT09ICJPYmplY3QiCiAgICAgICAgKSB7CiAgICAgICAgICBjb25zdCBpZCA9IHByb3AudmFsdWUub2JqZWN0SWQ7CiAgICAgICAgICBhd2FpdCB1bnJvbGxPYmplY3Qoc2Vzc2lvbiwgaWQsIHByb3AubmFtZSwgdmFyaWFibGVzKTsKICAgICAgICB9IGVsc2UgaWYgKHByb3A/LnZhbHVlKSB7CiAgICAgICAgICB1bnJvbGxPdGhlcihwcm9wLCB2YXJpYWJsZXMpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdmFyaWFibGVzOwogICAgfQogIH0gY2F0Y2ggKGVycikgewogICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBmZXRjaCBsb2NhbCB2YXJpYWJsZXM6IiwgZXJyKTsKICAgIH0KICAgIHJldHVybiB7fTsKICB9Cn0KCnN0YXJ0RGVidWdnZXIoKS5jYXRjaCgoZXJyb3IpID0+IHsKICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBzdGFydCBkZWJ1Z2dlcjoiLCBlcnJvcik7CiAgfQp9KTsKCi8vIEtlZXAgdGhlIHdvcmtlciBhbGl2ZQpzZXRJbnRlcnZhbCgoKSA9PiB7fSwgMTAwMDApOwo="), { workerData: { captureAllExceptions: !0 } });
|
|
167
|
-
let C = null;
|
|
168
|
-
const c = /* @__PURE__ */ new WeakMap();
|
|
169
|
-
g.on("message", (n) => {
|
|
170
|
-
if (typeof n == "string" && B().sfDebug && W(`[Worker] ${n}`), n.readyToGetParameters && g.postMessage({ sfDebug: B().sfDebug, stackDepthLocals: B().stackDepthLocals, nodeModulesToCollectLocalVariablesOn: B().nodeModulesToCollectLocalVariablesOn }), n.type === "exception") {
|
|
171
|
-
const { frames: e } = n, o = C;
|
|
172
|
-
if (!o) return;
|
|
173
|
-
const s = c.get(o), Z = (function(u) {
|
|
174
|
-
return u ? u.split(`
|
|
175
|
-
`).slice(1).map((t) => {
|
|
176
|
-
const Y = /at (.+?) \((.+):(\d+):(\d+)\)/.exec(t) || /at (.+):(\d+):(\d+)/.exec(t);
|
|
177
|
-
if (Y) {
|
|
178
|
-
const [, m, r, d, b] = Y;
|
|
179
|
-
return new J({ function: m || "<anonymous>", locals: {}, file: r || "<unknown>", line: parseInt(d, 10) || 0, code: "<not captured>", column: parseInt(b) || 0 });
|
|
180
|
-
}
|
|
181
|
-
return new J({ function: "<unknown>", locals: {}, file: "<unknown>", line: 0, code: "<not captured>", column: 0 });
|
|
182
|
-
}) : [];
|
|
183
|
-
})(o.stack), h = (function(u, t) {
|
|
184
|
-
const Y = [];
|
|
185
|
-
let m = -1, r = -1;
|
|
186
|
-
for (let d = 0; d < u.length; d++) {
|
|
187
|
-
const b = og(u[d].file);
|
|
188
|
-
if (r = d, b !== "<unknown>") {
|
|
189
|
-
for (let G = 0; G < t.length; G++) {
|
|
190
|
-
const w = t[G];
|
|
191
|
-
if (j(w, b) || typeof w.file == "string" && w.file.includes(b)) {
|
|
192
|
-
m = G, N = 0, B().sfDebug && W(`✅ Matched Frame Found: ${b} @ Debugger Frame ${G}`);
|
|
193
|
-
break;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
if (m !== -1) break;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
if (m === -1) return N === 10 ? (N = 0, u) : (++N, B().sfDebug && W(`"❌ No matching frame found. Checking once again, Attempt N ${N}"`), []);
|
|
200
|
-
B().sfDebug && W(`🔄 Merging from matched index ${m} onward...`);
|
|
201
|
-
for (let d = 0; d < t.length; d++) {
|
|
202
|
-
const b = u[r + d], G = t[m + d];
|
|
203
|
-
Y.push(new J({ function: G?.function || b?.function || "<anonymous>", locals: G?.locals || b?.locals || {}, file: b?.file || G?.file || "<unknown>", line: G?.line || b?.line || 0, code: G?.code || b?.code || "<not captured>" }));
|
|
204
|
-
}
|
|
205
|
-
return Y;
|
|
206
|
-
})(Z, e || []);
|
|
207
|
-
if (h.length !== 0) {
|
|
208
|
-
C = null;
|
|
209
|
-
const u = B().stackDepthCodeTraceDepth, t = u === -1 ? h : h.slice(0, u + 1), Y = Math.min(t.length, Z.length);
|
|
210
|
-
for (let b = 0; b < Y; b++) (async () => {
|
|
211
|
-
const G = ng(t[b].file, Z[b].line, Z[b].column);
|
|
212
|
-
G && (G.content != null && (t[b].code = G.content), G.file != null && (t[b].file = G.file));
|
|
213
|
-
})();
|
|
214
|
-
I.setOperationName("CollectExceptions");
|
|
215
|
-
const m = o.message ? `${o.name}: ${o.message}` : o.name;
|
|
216
|
-
B().sfDebug && W("error message is : ", m);
|
|
217
|
-
const r = H.getInstance(), d = c.get(o);
|
|
218
|
-
d ? (r.setTraceIdFor(d, d), r.runWithSession(d, () => {
|
|
219
|
-
r.setTraceId(d), I.doSend(m, t);
|
|
220
|
-
})) : I.doSend(m, t), s ? H.getInstance().runWithSession(s, () => {
|
|
221
|
-
I.doSend(m, t);
|
|
222
|
-
}) : I.doSend(m, t);
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}), g.on("error", (n) => {
|
|
226
|
-
L("[Worker Error]", n);
|
|
227
|
-
}), g.on("exit", (n) => {
|
|
228
|
-
L(`[Worker] Exited with code ${n}`);
|
|
229
|
-
}), g.unref();
|
|
230
|
-
const A = Error, i = /* @__PURE__ */ new Set();
|
|
231
|
-
function l(...n) {
|
|
232
|
-
const e = Reflect.construct(A, n);
|
|
233
|
-
Reflect.setPrototypeOf(e, l.prototype);
|
|
234
|
-
try {
|
|
235
|
-
const s = H.getInstance().getTraceId();
|
|
236
|
-
c.set(e, s);
|
|
237
|
-
} catch {
|
|
238
|
-
}
|
|
239
|
-
A.captureStackTrace && A.captureStackTrace(e, l);
|
|
240
|
-
const o = `${e.message}:${e.stack?.split(`
|
|
241
|
-
`)[1]?.trim()}`;
|
|
242
|
-
if (!i.has(o)) {
|
|
243
|
-
i.add(o), C = e;
|
|
244
|
-
const s = H.getInstance().getTraceId();
|
|
245
|
-
c.set(e, s), g.postMessage({ type: "processException", error: e.message });
|
|
246
|
-
}
|
|
247
|
-
return e;
|
|
248
|
-
}
|
|
249
|
-
l.prototype = Object.create(A.prototype, { constructor: { value: l, enumerable: !1, writable: !0, configurable: !0 } }), Object.setPrototypeOf(l, A), globalThis.Error = l;
|
|
250
|
-
}
|
|
251
|
-
function U(I) {
|
|
252
|
-
return I = (I = (I = I.replace(/^webpack:\/\/[^\/]+\/\.?\//, "")).replace(/^.*\/pages\//, "pages/")).replace(/\.(js|ts)$/, "");
|
|
253
|
-
}
|
|
254
|
-
function ng(I, g, C) {
|
|
255
|
-
const c = (function(i) {
|
|
256
|
-
i.startsWith("at ") && (i = i.slice(3).trim());
|
|
257
|
-
const l = i.match(/^(.*?)(:\d+)+(\.map)?$/);
|
|
258
|
-
return l ? l[1] : i;
|
|
259
|
-
})(I);
|
|
260
|
-
if (!c || c === "<unknown>") return null;
|
|
261
|
-
const A = c + ".map";
|
|
262
|
-
try {
|
|
263
|
-
const i = D(A, "utf-8");
|
|
264
|
-
if (i) {
|
|
265
|
-
const l = JSON.parse(i);
|
|
266
|
-
let n = new M.SourceMapConsumer(l).originalPositionFor({ line: g, column: C });
|
|
267
|
-
if (c && n.source) {
|
|
268
|
-
const e = U(c), o = l.sources.findIndex((s) => U(s) === e);
|
|
269
|
-
if (o === -1) B().sfDebug && W(`Source file "${c}" not found in the source map.`);
|
|
270
|
-
else {
|
|
271
|
-
const s = l.sourcesContent[o], Z = l.names.join(",");
|
|
272
|
-
if (s)
|
|
273
|
-
return { content: s.split(`
|
|
274
|
-
`).slice(n.line - 1, n.line + 20).join(`
|
|
275
|
-
`), name: Z, file: n.source };
|
|
276
|
-
B().sfDebug && W(`No source content available for file "${c}".`);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
return { content: l.sourcesContent[0], name: l.names[0], file: l.file };
|
|
280
|
-
}
|
|
281
|
-
} catch (i) {
|
|
282
|
-
B().sfDebug && W(`Cant read/parse "${A}: Error - ".`, i);
|
|
283
|
-
}
|
|
284
|
-
return null;
|
|
285
|
-
}
|
|
286
|
-
function og(I) {
|
|
287
|
-
return I?.split("/").pop() || "<unknown>";
|
|
288
|
-
}
|
|
289
|
-
function j(I, g) {
|
|
290
|
-
if (!I || typeof I != "object") return !1;
|
|
291
|
-
for (const C of Object.values(I))
|
|
292
|
-
if (typeof C == "string" && C.includes(g) || typeof C == "object" && j(C, g)) return !0;
|
|
293
|
-
return !1;
|
|
294
|
-
}
|
|
295
|
-
let X, v, x = !1;
|
|
296
|
-
function E(I) {
|
|
297
|
-
if (!I) return;
|
|
298
|
-
const g = I.toLowerCase().trim();
|
|
299
|
-
return !!["1", "true", "yes", "on"].includes(g) || !["0", "false", "no", "off"].includes(g) && void 0;
|
|
300
|
-
}
|
|
301
|
-
function T() {
|
|
302
|
-
if (V !== void 0) return V;
|
|
303
|
-
const I = process.env || {}, g = E(I.SF_IS_LOCAL);
|
|
304
|
-
if (g !== void 0) return V = g;
|
|
305
|
-
const C = (I.SF_ENV || I.NODE_ENV || "").toLowerCase();
|
|
306
|
-
if (["local", "dev", "development"].includes(C)) return V = !0;
|
|
307
|
-
if (["KUBERNETES_SERVICE_HOST", "AWS_EXECUTION_ENV", "ECS_CONTAINER_METADATA_URI", "ECS_CONTAINER_METADATA_URI_V4", "GAE_ENV", "K_SERVICE", "GOOGLE_CLOUD_PROJECT", "WEBSITE_INSTANCE_ID", "VERCEL", "NETLIFY", "DYNO", "RENDER", "FLY_APP_NAME", "RAILWAY_STATIC_URL", "CF_PAGES", "CLOUDFLARE"].some((A) => !!I[A])) return V = !1;
|
|
308
|
-
const c = (P.hostname?.() || I.HOSTNAME || "").toLowerCase();
|
|
309
|
-
return V = !(c !== "localhost" && !c.endsWith(".local") && !c.includes("local"));
|
|
310
|
-
}
|
|
311
|
-
function K(I, g, C) {
|
|
312
|
-
return new Promise((c) => {
|
|
313
|
-
try {
|
|
314
|
-
const A = new URL(I), i = (A.protocol, gg).request({ method: "GET", hostname: A.hostname, port: A.port || (A.protocol === "https:" ? 443 : 80), path: A.pathname + (A.search || ""), headers: g }, (l) => {
|
|
315
|
-
l.resume(), l.statusCode && l.statusCode >= 200 && l.statusCode < 400 ? c("ok") : c("http_error");
|
|
316
|
-
});
|
|
317
|
-
i.on("error", () => c("error")), i.setTimeout(C, () => {
|
|
318
|
-
i.destroy(), c("timeout");
|
|
319
|
-
}), i.end();
|
|
320
|
-
} catch {
|
|
321
|
-
c("error");
|
|
322
|
-
}
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
|
-
function Ag() {
|
|
326
|
-
if (X !== void 0) return X;
|
|
327
|
-
const I = process.env.SF_FUNCSPAN_RUNTIME_ENABLED;
|
|
328
|
-
if (I === "true" || I === "1") return X = !0, !0;
|
|
329
|
-
if (I === "false" || I === "0") return X = !1, !1;
|
|
330
|
-
try {
|
|
331
|
-
const { isRuntimeModeConfigured: g } = require("../funcSpanConfigLoader");
|
|
332
|
-
if (g && g()) return X = !0, !0;
|
|
333
|
-
} catch {
|
|
334
|
-
}
|
|
335
|
-
return X = !1, !1;
|
|
336
|
-
}
|
|
337
|
-
function ig() {
|
|
338
|
-
return v !== void 0 || (v = !T()), v;
|
|
339
|
-
}
|
|
340
|
-
function mg() {
|
|
341
|
-
return !!Ag() && (!ig() || (console.warn("[FuncSpan Runtime] DISABLED in production environment"), !1));
|
|
342
|
-
}
|
|
343
|
-
export {
|
|
344
|
-
S as C,
|
|
345
|
-
L as a,
|
|
346
|
-
ag as b,
|
|
347
|
-
Bg as c,
|
|
348
|
-
ig as d,
|
|
349
|
-
Ag as e,
|
|
350
|
-
gg as h,
|
|
351
|
-
W as i,
|
|
352
|
-
mg as s
|
|
353
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";const O=require("fs"),D=require("os"),M=require("./source-map-rHHEdpre.cjs"),P=require("worker_threads"),d=require("./contextManager-CxQqBCEA.cjs"),_=require("path"),E={};class N{file;line;function;code;locals;offender;column;constructor({file:I,line:C,function:c,code:e,locals:i={},offender:l=!1,column:n}){this.file=I,this.line=C,this.function=c,this.code=e,this.locals=i,this.offender=l,this.column=n}toDict(){const I={file:this.file,line:this.line,function:this.function,code:this.code,locals:Object.fromEntries(Object.entries(this.locals).map(([C,c])=>[C,String(c)]))};return this.offender&&(I.offender=this.offender),this.column!==void 0&&(I.column=this.column),I}toJson(){return JSON.stringify(this.toDict())}}class H{static encode(I){return I instanceof N?I.toDict():Array.isArray(I)?I.map(C=>H.encode(C)):typeof I=="object"&&I!==null?JSON.stringify(I):I}static stringify(I){return JSON.stringify(H.encode(I),(C,c)=>c instanceof N?c.toDict():c)}}const q=["/sf-veritas/","/@sailfish-ai/","/node_modules/","/dist/","/<","/internal/","node:"],h=new Map;function $(g){return q.some(I=>g.includes(I))}function II(g){let I=g;I.startsWith("file://")&&(I=I.substring(7)),process.platform==="win32"&&I.startsWith("/")&&I.length>2&&I[2]===":"&&(I=I.substring(1));try{return _.resolve(I)}catch{return g}}function gI(g=0){const I=new Error().stack;if(!I)return[null,null];const C=(function(n,A){const o=2+A;return n.split(`
|
|
2
|
-
`).slice(o,o+5).join(`
|
|
3
|
-
`)})(I,g),c=h.get(C);if(c)return c;const e=(function(n){if(!n)return[];const A=n.split(`
|
|
4
|
-
`).slice(1),o=[];for(const t of A){let Z=/at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/.exec(t);Z?o.push({functionName:Z[1],file:Z[2],line:parseInt(Z[3],10),column:parseInt(Z[4],10)}):(Z=/at\s+(.+?):(\d+):(\d+)/.exec(t),Z&&o.push({functionName:"<anonymous>",file:Z[1],line:parseInt(Z[2],10),column:parseInt(Z[3],10)}))}return o})(I),i=1+g;for(let n=i;n<Math.min(e.length,i+10);n++){const A=e[n];if(!A||!A.file||$(A.file))continue;const o=[II(A.file),A.line];if(h.size>=512){const t=h.keys().next().value;t!==void 0&&h.delete(t)}return h.set(C,o),o}const l=[null,null];return h.set(C,l),l}const K=console.log.bind(console),S=console.error.bind(console),F=console.warn.bind(console),R=console.info.bind(console),z=console.debug.bind(console),W=K,f=S;let B=!1,y,X=0;function k(g){return g=(g=(g=g.replace(/^webpack:\/\/[^\/]+\/\.?\//,"")).replace(/^.*\/pages\//,"pages/")).replace(/\.(js|ts)$/,"")}function CI(g,I,C){const c=(function(i){i.startsWith("at ")&&(i=i.slice(3).trim());const l=i.match(/^(.*?)(:\d+)+(\.map)?$/);return l?l[1]:i})(g);if(!c||c==="<unknown>")return null;const e=c+".map";try{const i=O.readFileSync(e,"utf-8");if(i){const l=JSON.parse(i);let n=new M.sourceMapExports.SourceMapConsumer(l).originalPositionFor({line:I,column:C});if(c&&n.source){const A=k(c),o=l.sources.findIndex(t=>k(t)===A);if(o===-1)d.getConfig().sfDebug&&W(`Source file "${c}" not found in the source map.`);else{const t=l.sourcesContent[o],Z=l.names.join(",");if(t)return{content:t.split(`
|
|
5
|
-
`).slice(n.line-1,n.line+20).join(`
|
|
6
|
-
`),name:Z,file:n.source};d.getConfig().sfDebug&&W(`No source content available for file "${c}".`)}}return{content:l.sourcesContent[0],name:l.names[0],file:l.file}}}catch(i){d.getConfig().sfDebug&&W(`Cant read/parse "${e}: Error - ".`,i)}return null}function cI(g){return g?.split("/").pop()||"<unknown>"}function j(g,I){if(!g||typeof g!="object")return!1;for(const C of Object.values(g))if(typeof C=="string"&&C.includes(I)||typeof C=="object"&&j(C,I))return!0;return!1}let p,J,L=!1;function T(g){if(!g)return;const I=g.toLowerCase().trim();return!!["1","true","yes","on"].includes(I)||!["0","false","no","off"].includes(I)&&void 0}function Q(){if(y!==void 0)return y;const g=process.env||{},I=T(g.SF_IS_LOCAL);if(I!==void 0)return y=I;const C=(g.SF_ENV||g.NODE_ENV||"").toLowerCase();if(["local","dev","development"].includes(C))return y=!0;if(["KUBERNETES_SERVICE_HOST","AWS_EXECUTION_ENV","ECS_CONTAINER_METADATA_URI","ECS_CONTAINER_METADATA_URI_V4","GAE_ENV","K_SERVICE","GOOGLE_CLOUD_PROJECT","WEBSITE_INSTANCE_ID","VERCEL","NETLIFY","DYNO","RENDER","FLY_APP_NAME","RAILWAY_STATIC_URL","CF_PAGES","CLOUDFLARE"].some(e=>!!g[e]))return y=!1;const c=(D.hostname?.()||g.HOSTNAME||"").toLowerCase();return y=!(c!=="localhost"&&!c.endsWith(".local")&&!c.includes("local"))}function w(g,I,C){return new Promise(c=>{try{const e=new URL(g),i=(e.protocol,E).request({method:"GET",hostname:e.hostname,port:e.port||(e.protocol==="https:"?443:80),path:e.pathname+(e.search||""),headers:I},l=>{l.resume(),l.statusCode&&l.statusCode>=200&&l.statusCode<400?c("ok"):c("http_error")});i.on("error",()=>c("error")),i.setTimeout(C,()=>{i.destroy(),c("timeout")}),i.end()}catch{c("error")}})}function x(){if(p!==void 0)return p;const g=process.env.SF_FUNCSPAN_RUNTIME_ENABLED;if(g==="true"||g==="1")return p=!0,!0;if(g==="false"||g==="0")return p=!1,!1;try{const{isRuntimeModeConfigured:I}=require("../funcSpanConfigLoader");if(I&&I())return p=!0,!0}catch{}return p=!1,!1}function U(){return J!==void 0||(J=!Q()),J}exports.CustomJSONEncoderForFrameInfo=H,exports.https=E,exports.initializeExceptionInterceptor=function(g){d.getConfig().sfDebug&&W("Initializing Exception Interceptor...");try{const n=Q();g?.setSupplementalFields?.({isFromLocalService:n}),(async function(A){if(L)return;L=!0;const o=process.env||{};if(T(o.SF_IS_LOCAL)===void 0)try{await(async function(t){const Z=w("http://169.254.169.254/latest/meta-data/",{},t),Y=w("http://metadata.google.internal/computeMetadata/v1/instance/",{"Metadata-Flavor":"Google"},t),m=w("http://169.254.169.254/metadata/instance?api-version=2021-02-01",{Metadata:"true"},t);return(await Promise.allSettled([Z,Y,m])).some(s=>s.status==="fulfilled"&&(s.value==="ok"||s.value==="http_error"))})(150)&&y&&(y=!1,A?.setSupplementalFields?.({isFromLocalService:!1}))}catch{}})(g).catch(()=>{})}catch{}const I=new P.Worker(new URL("data:application/javascript;base64,aW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gImluc3BlY3Rvci9wcm9taXNlcyI7CmltcG9ydCB7IHBhcmVudFBvcnQsIHdvcmtlckRhdGEgfSBmcm9tICJ3b3JrZXJfdGhyZWFkcyI7CgpnbG9iYWwuc2ZEZWJ1ZyA9IHVuZGVmaW5lZDsKZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMgPSB1bmRlZmluZWQ7Cmdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPSB1bmRlZmluZWQ7CgovKioKICogUHJvY2Vzc2VzIGNhbGwgZnJhbWVzIGZyb20gYW4gZXhjZXB0aW9uIGFuZCBwb3N0cyB0aGVtIHZpYSB0aGUgV29ya2Vy4oCZcyBwYXJlbnRQb3J0LgogKgogKiBAcGFyYW0gc2Vzc2lvbiAtIFRoZSBEZXZUb29scyBzZXNzaW9uIG9yIHNpbWlsYXIgb2JqZWN0IHlvdSB1c2UgdG8gcXVlcnkgZm9yIHNjcmlwdCBzb3VyY2VzLgogKiBAcGFyYW0gY2FsbEZyYW1lcyAtIEFuIGFycmF5IG9mIGNhbGwgZnJhbWUgb2JqZWN0cy4KICogQHBhcmFtIGRlc2NyaXB0aW9uTGluZXMgLSBBbiBhcnJheSBvZiBsaW5lcyBmcm9tIHRoZSBlcnJvcuKAmXMgZGVzY3JpcHRpb24sIGVhY2ggdHlwaWNhbGx5IGJlZ2lubmluZyB3aXRoICJhdCAiLgogKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0KICovCmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzQ2FsbEZyYW1lcyhzZXNzaW9uLCBjYWxsRnJhbWVzLCBkZXNjcmlwdGlvbkxpbmVzKSB7CiAgLyoqCiAgICogTGltaXQgdGhlIGNhbGwgZnJhbWVzIHRvIHRoZSBtYXhpbXVtIGRlcHRoIHNwZWNpZmllZCBieSBnbG9iYWwuc3RhY2tEZXB0aExvY2Fscy4KICAgKiBUaGlzIGFzc3VtZXMgdGhhdCBnbG9iYWwuc3RhY2tEZXB0aExvY2FscyBpcyBkZWZpbmVkIGFzIGEgbnVtYmVyLgogICAqLwogIGNvbnN0IGxpbWl0ZWRDYWxsRnJhbWVzID0gY2FsbEZyYW1lcy5zbGljZSgwLCBnbG9iYWwuc3RhY2tEZXB0aExvY2Fscyk7CgogIGNvbnN0IGZyYW1lcyA9IGF3YWl0IFByb21pc2UuYWxsKAogICAgbGltaXRlZENhbGxGcmFtZXMubWFwKGFzeW5jIChmcmFtZSwgaW5kZXgpID0+IHsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCB7IGZ1bmN0aW9uTmFtZSwgbG9jYXRpb24sIHVybCwgc2NvcGVDaGFpbiB9ID0gZnJhbWU7CiAgICAgICAgLy8gRmluZCB0aGUgbG9jYWwgc2NvcGUsIGlmIGFueQogICAgICAgIGNvbnN0IGxvY2FsU2NvcGUgPSBzY29wZUNoYWluLmZpbmQoKHNjb3BlKSA9PiBzY29wZS50eXBlID09PSAibG9jYWwiKTsKCiAgICAgICAgbGV0IGNvZGUgPSAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgIC8vIFVzZSBlaXRoZXIgdGhlIFVSTCBvciB0aGUgZGVzY3JpcHRpb24gbGluZSBmb3IgZmlsZSByZWZlcmVuY2UKICAgICAgICBsZXQgZmlsZSA9ICIiOwogICAgICAgIGlmICh1cmwgJiYgdXJsLnRyaW0oKSAhPT0gIiIpIHsKICAgICAgICAgIGZpbGUgPSB1cmw7CiAgICAgICAgfSBlbHNlIGlmIChkZXNjcmlwdGlvbkxpbmVzW2luZGV4XSkgewogICAgICAgICAgZmlsZSA9IGRlc2NyaXB0aW9uTGluZXNbaW5kZXhdLnRyaW0oKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZmlsZSA9ICI8dW5rbm93bj4iOwogICAgICAgIH0KCiAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIHZhbGlkIGxvY2F0aW9uIGFuZCBzY3JpcHRJZCwgZmV0Y2ggdGhlIGNvZGUgbGluZQogICAgICAgIGlmIChsb2NhdGlvbiAmJiBsb2NhdGlvbi5zY3JpcHRJZCkgewogICAgICAgICAgY29uc3Qgc2NyaXB0SWQgPSBsb2NhdGlvbi5zY3JpcHRJZDsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvbnN0IHsgc2NyaXB0U291cmNlIH0gPSBhd2FpdCBzZXNzaW9uLnBvc3QoCiAgICAgICAgICAgICAgIkRlYnVnZ2VyLmdldFNjcmlwdFNvdXJjZSIsCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2NyaXB0SWQsCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgY29uc3Qgc291cmNlTGluZXMgPSBzY3JpcHRTb3VyY2Uuc3BsaXQoIlxuIik7CiAgICAgICAgICAgIGNvZGUgPSBzb3VyY2VMaW5lc1tsb2NhdGlvbi5saW5lTnVtYmVyXSB8fCAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBmZXRjaCBzY3JpcHQgc291cmNlOiIsIGVycik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEZldGNoIGxvY2FsIHZhcmlhYmxlcyBpZiB0aGVyZSdzIGFuIG9iamVjdElkCiAgICAgICAgY29uc3QgbG9jYWxzID0gbG9jYWxTY29wZT8ub2JqZWN0Py5vYmplY3RJZAogICAgICAgICAgPyBhd2FpdCBmZXRjaExvY2FsVmFyaWFibGVzKHNlc3Npb24sIGxvY2FsU2NvcGUub2JqZWN0Lm9iamVjdElkKQogICAgICAgICAgOiB7fTsKCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiBmdW5jdGlvbk5hbWUgfHwgIjxhbm9ueW1vdXM+IiwKICAgICAgICAgIGxvY2FscywKICAgICAgICAgIGZpbGUsCiAgICAgICAgICBsaW5lOiBsb2NhdGlvbj8ubGluZU51bWJlciB8fCAwLAogICAgICAgICAgY29kZSwKICAgICAgICB9OwogICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRXJyb3IgcHJvY2Vzc2luZyBjYWxsIGZyYW1lOiIsIGVycm9yKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiAiPGVycm9yPiIsCiAgICAgICAgICBsb2NhbHM6IHt9LAogICAgICAgICAgZmlsZTogIjx1bmtub3duPiIsCiAgICAgICAgICBsaW5lOiAwLAogICAgICAgICAgY29kZTogIjxub3QgY2FwdHVyZWQ+IiwKICAgICAgICB9OwogICAgICB9CiAgICB9KSwKICApOwogIC8vIFBvc3QgZXhjZXB0aW9uIGRhdGEKICBwYXJlbnRQb3J0Py5wb3N0TWVzc2FnZSh7IHR5cGU6ICJleGNlcHRpb24iLCBmcmFtZXMgfSk7Cn0KCi8qKgogKiBIYW5kbGVzIHRoZSAicGF1c2VkIiBzdGF0ZSBvZiB0aGUgZGVidWdnZXIgYW5kIHByb2Nlc3NlcyBleGNlcHRpb25zIG9yIHByb21pc2UgcmVqZWN0aW9ucy4KICogQHBhcmFtIHtTZXNzaW9ufSBzZXNzaW9uIC0gVGhlIGRlYnVnZ2luZyBzZXNzaW9uIGluc3RhbmNlLgogKiBAcGFyYW0ge29iamVjdH0gcGFyYW1zIC0gUGFyYW1ldGVycyBmcm9tIHRoZSAicGF1c2VkIiBldmVudC4KICovCmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVBhdXNlZChzZXNzaW9uLCBwYXJhbXMpIHsKICBjb25zdCB7IHJlYXNvbiwgZGF0YSwgY2FsbEZyYW1lcyB9ID0gcGFyYW1zOwoKICBpZiAocmVhc29uICE9PSAiZXhjZXB0aW9uIiAmJiByZWFzb24gIT09ICJwcm9taXNlUmVqZWN0aW9uIikgewogICAgcmV0dXJuOwogIH0KCiAgLy8gRGVmaW5lIHJlZ2V4IHBhdHRlcm5zIHRvIGlkZW50aWZ5IG5vbi1hcHBsaWNhdGlvbiBzb3VyY2UgZXJyb3JzLgogIGNvbnN0IG5vbkFwcFBhdHRlcm5zID0gWwogICAgL25vZGU6aW50ZXJuYWwvLAogICAgL2ludGVybmFsXC8vLAogICAgL25vZGVfbW9kdWxlcy8sCiAgICAvbm9kZTpmcy8sCiAgXTsKCiAgbGV0IGZpcnN0RnJhbWVMaW5lID0gIiI7CiAgbGV0IGRlc2NyaXB0aW9uTGluZXMgPSBbXTsKCiAgaWYgKGRhdGEgJiYgdHlwZW9mIGRhdGEuZGVzY3JpcHRpb24gPT09ICJzdHJpbmciKSB7CiAgICAvLyBTcGxpdCB0aGUgZGVzY3JpcHRpb24gaW50byBsaW5lcyBhbmQgZmlsdGVyIHRvIGtlZXAgb25seSBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggImF0ICIKICAgIGRlc2NyaXB0aW9uTGluZXMgPSBkYXRhLmRlc2NyaXB0aW9uCiAgICAgIC5zcGxpdCgiXG4iKQogICAgICAuZmlsdGVyKChsaW5lKSA9PiBsaW5lLnRyaW0oKS5zdGFydHNXaXRoKCJhdCAiKSk7CgogICAgLy8gVXNlIHRoZSBmaXJzdCBjYWxsIGZyYW1lIGxpbmUgZnJvbSB0aGUgZGVzY3JpcHRpb24gZm9yIGZpbHRlcmluZy4KICAgIGZpcnN0RnJhbWVMaW5lID0gZGVzY3JpcHRpb25MaW5lc1swXSB8fCAiIjsKICAgIGlmICghZmlyc3RGcmFtZUxpbmUpIHsKICAgICAgLy8gSWYsIGZvciBzb21lIHJlYXNvbiwgdGhlcmUncyBubyBmcmFtZSwgYmFpbCBvdXQKICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSAibm9uLWFwcCIgZXJyb3IKICAgIGNvbnN0IGVycm9yRnJvbU5vbkFwcCA9IG5vbkFwcFBhdHRlcm5zLnNvbWUoKHBhdHRlcm4pID0+CiAgICAgIHBhdHRlcm4udGVzdChmaXJzdEZyYW1lTGluZS50cmltKCkpLAogICAgKTsKCiAgICAvLyBDb252ZXJ0IGBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uYCB0byBhbiBhcnJheSBmb3Igc2FmZXR5CiAgICBjb25zdCBub2RlTW9kdWxlc0xpc3QgPSBBcnJheS5pc0FycmF5KAogICAgICBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uLAogICAgKQogICAgICA/IGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24KICAgICAgOiBbXTsKICAgIGlmIChlcnJvckZyb21Ob25BcHApIHsKICAgICAgLy8gSWYgdGhlIGVycm9yIGlzIGZyb20gYSBub24tYXBwIHNvdXJjZSwgd2UgaGF2ZSBhIGZldyBzY2VuYXJpb3M6CiAgICAgIGlmIChub2RlTW9kdWxlc0xpc3QuaW5jbHVkZXMoIl9fYWxsX18iKSkgewogICAgICAgIC8vIElmIHRoZSBsaXN0IGluY2x1ZGVzIF9fYWxsX18sIGNhcHR1cmUgbG9jYWwgdmFyaWFibGVzIGZyb20gKmFsbCogbm9kZV9tb2R1bGVzCiAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygKICAgICAgICAgICAgIltXb3JrZXJdIEVycm9yIGlzIGZyb20gbm9uLWFwcCBzb3VyY2UsIGJ1dCBjYXB0dXJpbmcgZHVlIHRvIF9fYWxsX18gcnVsZS4iLAogICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgLy8gQ29udGludWUgKGRvIE5PVCByZXR1cm4pLi4uCiAgICAgIH0gZWxzZSBpZiAobm9kZU1vZHVsZXNMaXN0Lmxlbmd0aCA+IDApIHsKICAgICAgICAvLyBDaGVjayBpZiB0aGUgZmlyc3QgZnJhbWUgcmVmZXJlbmNlcyBvbmUgb2YgdGhlIG1vZHVsZXMgd2UgYWxsb3cgY2FwdHVyaW5nIGZyb20KICAgICAgICBjb25zdCBpc0Zyb21BbGxvd2VkTm9kZU1vZHVsZSA9IG5vZGVNb2R1bGVzTGlzdC5zb21lKChtb2R1bGVOYW1lKSA9PgogICAgICAgICAgZmlyc3RGcmFtZUxpbmUuaW5jbHVkZXMoYCR7bW9kdWxlTmFtZX1gKSwKICAgICAgICApOwoKICAgICAgICBpZiAoIWlzRnJvbUFsbG93ZWROb2RlTW9kdWxlKSB7CiAgICAgICAgICAvLyBOb3QgZnJvbSBhbiBhbGxvd2VkIG5vZGUgbW9kdWxlID0+IHJldHVybiBlYXJseQogICAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAgICJbV29ya2VyXSBFcnJvciBhcHBlYXJzIHRvIGJlIHRyaWdnZXJlZCBmcm9tIG5vbi1hcHBsaWNhdGlvbiBzb3VyY2VzOyBpZ25vcmluZy4iLAogICAgICAgICAgICApOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICAvLyBPdGhlcndpc2UsIGl0J3MgZnJvbSBhbiBhbGxvd2VkIG5vZGUgbW9kdWxlLCBzbyBjb250aW51ZQogICAgICB9IGVsc2UgewogICAgICAgIC8vIElmIHRoZSBsaXN0IGlzIGVtcHR5LCBwcmVzZXJ2ZSBleGlzdGluZyBiZWhhdmlvciBhbmQgaWdub3JlIG5vbi1hcHBsaWNhdGlvbiBlcnJvcnMKICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAiW1dvcmtlcl0gRXJyb3IgYXBwZWFycyB0byBiZSB0cmlnZ2VyZWQgZnJvbSBub24tYXBwbGljYXRpb24gc291cmNlczsgaWdub3JpbmcuIiwKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQogICAgfQoKICAgIC8vIElmIHdlIHJlYWNoIHRoaXMgcG9pbnQsIHRoZSBlcnJvciBpcyBlaXRoZXIgZnJvbSBhcHAgY29kZSwgb3IgZnJvbSBhIG5vZGUgbW9kdWxlIGFsbG93ZWQgYnkgdGhlIGxpc3QKICAgIC8vID0+IFByb2NlZWQgd2l0aCBjYXB0dXJpbmcgbG9jYWwgdmFyaWFibGVzLCBldGMuCiAgICBhd2FpdCBwcm9jZXNzQ2FsbEZyYW1lcyhzZXNzaW9uLCBjYWxsRnJhbWVzLCBkZXNjcmlwdGlvbkxpbmVzKTsKICB9IGVsc2UgewogICAgLy8gSWYgdGhlcmUgaXMgbm8gZGF0YS5kZXNjcmlwdGlvbiBvciBpdCdzIG5vdCBhIHN0cmluZywganVzdCByZXR1cm4KICAgIHJldHVybjsKICB9Cn0KCi8qKgogKiBJbml0aWFsaXplcyB0aGUgZGVidWdnZXIgYW5kIHNldHMgdXAgZXZlbnQgbGlzdGVuZXJzIGZvciBleGNlcHRpb25zIGFuZCBwcm9taXNlIHJlamVjdGlvbnMuCiAqLwphc3luYyBmdW5jdGlvbiBzdGFydERlYnVnZ2VyKCkgewogIHBhcmVudFBvcnQ/LnBvc3RNZXNzYWdlKHsgdHlwZTogIm1lc3NhZ2UiLCByZWFkeVRvR2V0UGFyYW1ldGVyczogdHJ1ZSB9KTsKCiAgbGV0IHJlc29sdmVNZXNzYWdlUHJvbWlzZTsKICBjb25zdCBtZXNzYWdlUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICByZXNvbHZlTWVzc2FnZVByb21pc2UgPSByZXNvbHZlOwogIH0pOwogIGxldCBpc1BhdXNlZCA9IGZhbHNlOwoKICBwYXJlbnRQb3J0Py5vbigibWVzc2FnZSIsIChtZXNzYWdlKSA9PiB7CiAgICB0cnkgewogICAgICBpZiAobWVzc2FnZT8udHlwZSA9PT0gInByb2Nlc3NFeGNlcHRpb24iKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoCiAgICAgICAgbWVzc2FnZT8uc2ZEZWJ1ZyAhPT0gdW5kZWZpbmVkICYmCiAgICAgICAgbWVzc2FnZT8uc3RhY2tEZXB0aExvY2FscyAhPT0gdW5kZWZpbmVkCiAgICAgICkgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5sb2coIlVwZGF0aW5nIGdsb2JhbCBkZWJ1ZyB2YXJpYWJsZXMuLi4iKTsKICAgICAgICB9CgogICAgICAgIGdsb2JhbC5zZkRlYnVnID0gbWVzc2FnZS5zZkRlYnVnOwogICAgICAgIGdsb2JhbC5zdGFja0RlcHRoTG9jYWxzID0gbWVzc2FnZS5zdGFja0RlcHRoTG9jYWxzOwogICAgICAgIGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPQogICAgICAgICAgbWVzc2FnZS5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT247CgogICAgICAgIHJlc29sdmVNZXNzYWdlUHJvbWlzZSgpOwogICAgICB9CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICBjb25zb2xlLmVycm9yKCLinYwgRXJyb3IgaW4gbWVzc2FnZSBoYW5kbGluZzoiLCBlcnJvcik7CiAgICAgIH0KICAgIH0KICB9KTsKCiAgYXdhaXQgbWVzc2FnZVByb21pc2U7CgogIHRyeSB7CiAgICBjb25zdCBzZXNzaW9uID0gbmV3IFNlc3Npb24oKTsKICAgIHNlc3Npb24uY29ubmVjdFRvTWFpblRocmVhZCgpOwoKICAgIHNlc3Npb24ub24oIkRlYnVnZ2VyLnJlc3VtZWQiLCAoKSA9PiB7CiAgICAgIGlzUGF1c2VkID0gZmFsc2U7CiAgICB9KTsKCiAgICBzZXNzaW9uLm9uKCJEZWJ1Z2dlci5wYXVzZWQiLCBhc3luYyAoZXZlbnQpID0+IHsKICAgICAgaXNQYXVzZWQgPSB0cnVlOwogICAgICBoYW5kbGVQYXVzZWQoc2Vzc2lvbiwgZXZlbnQucGFyYW1zKS50aGVuKAogICAgICAgIGFzeW5jICgpID0+IHsKICAgICAgICAgIC8vIEFmdGVyIHRoZSBwYXVzZSB3b3JrIGlzIGNvbXBsZXRlLCByZXN1bWUgZXhlY3V0aW9uIQogICAgICAgICAgaWYgKGlzUGF1c2VkKSB7CiAgICAgICAgICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIucmVzdW1lIik7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBhc3luYyAoXykgPT4gewogICAgICAgICAgaWYgKGlzUGF1c2VkKSB7CiAgICAgICAgICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIucmVzdW1lIik7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgKTsKICAgIH0pOwoKICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIuZW5hYmxlIik7CgogICAgY29uc3QgY2FwdHVyZUFsbCA9IHdvcmtlckRhdGEuY2FwdHVyZUFsbEV4Y2VwdGlvbnMgIT09IGZhbHNlOwogICAgYXdhaXQgc2Vzc2lvbi5wb3N0KCJEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyIsIHsKICAgICAgc3RhdGU6IGNhcHR1cmVBbGwgPyAiYWxsIiA6ICJ1bmNhdWdodCIsCiAgICB9KTsKICB9IGNhdGNoIChlcnJvcikgewogICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIGVycm9yICIsIGVycm9yKTsKICAgIH0KICB9CgogIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgY29uc29sZS5sb2coIltXb3JrZXJdIERlYnVnZ2VyIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5LiIpOwogIH0KfQoKYXN5bmMgZnVuY3Rpb24gdW5yb2xsT2JqZWN0KHNlc3Npb24sIG9iamVjdElkLCBuYW1lLCB2YXJzKSB7CiAgY29uc3QgcHJvcGVydGllcyA9IGF3YWl0IHNlc3Npb24ucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIiwgewogICAgb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogIH0pOwoKICB2YXJzW25hbWVdID0gcHJvcGVydGllcy5yZXN1bHQKICAgIC5tYXAoKHYpID0+IFt2Lm5hbWUsIHYudmFsdWU/LnZhbHVlXSkKICAgIC5yZWR1Y2UoKG9iaiwgW2tleSwgdmFsXSkgPT4gewogICAgICBvYmpba2V5XSA9IHZhbDsKICAgICAgcmV0dXJuIG9iajsKICAgIH0sIHt9KTsKfQoKYXN5bmMgZnVuY3Rpb24gdW5yb2xsQXJyYXkoc2Vzc2lvbiwgb2JqZWN0SWQsIG5hbWUsIHZhcnMpIHsKICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICBvYmplY3RJZDogb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogIH0pOwogIHZhcnNbbmFtZV0gPSBwcm9wZXJ0aWVzLnJlc3VsdAogICAgLmZpbHRlcigodikgPT4gdi5uYW1lICE9PSAibGVuZ3RoIiAmJiAhaXNOYU4ocGFyc2VJbnQodi5uYW1lLCAxMCkpKQogICAgLnNvcnQoKGEsIGIpID0+IHBhcnNlSW50KGEubmFtZSwgMTApIC0gcGFyc2VJbnQoYi5uYW1lLCAxMCkpCiAgICAubWFwKCh2KSA9PiB2LnZhbHVlPy52YWx1ZSk7Cn0KCmZ1bmN0aW9uIHVucm9sbE90aGVyKHByb3AsIHZhcnMpIHsKICBpZiAoIXByb3AudmFsdWUpIHsKICAgIHJldHVybjsKICB9CgogIGlmICgidmFsdWUiIGluIHByb3AudmFsdWUpIHsKICAgIGlmIChwcm9wLnZhbHVlLnZhbHVlID09PSB1bmRlZmluZWQgfHwgcHJvcC52YWx1ZS52YWx1ZSA9PT0gbnVsbCkgewogICAgICB2YXJzW3Byb3AubmFtZV0gPSBgPCR7cHJvcC52YWx1ZS52YWx1ZX0+YDsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhcnNbcHJvcC5uYW1lXSA9IHByb3AudmFsdWUudmFsdWU7CiAgICByZXR1cm47CiAgfQoKICBpZiAoImRlc2NyaXB0aW9uIiBpbiBwcm9wLnZhbHVlICYmIHByb3AudmFsdWUudHlwZSAhPT0gImZ1bmN0aW9uIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gYDwke3Byb3AudmFsdWUuZGVzY3JpcHRpb259PmA7CiAgICByZXR1cm47CiAgfQoKICBpZiAocHJvcC52YWx1ZS50eXBlID09PSAidW5kZWZpbmVkIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gIjx1bmRlZmluZWQ+IjsKICAgIHJldHVybjsKICB9Cn0KCi8qKgogKiBGZXRjaGVzIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBnaXZlbiBvYmplY3QgSUQuCiAqIEBwYXJhbSB7U2Vzc2lvbn0gc2Vzc2lvbiAtIFRoZSBkZWJ1Z2dpbmcgc2Vzc2lvbiBpbnN0YW5jZS4KICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdElkIC0gVGhlIG9iamVjdCBJRCByZXByZXNlbnRpbmcgdGhlIGxvY2FsIHNjb3BlLgogKiBAcmV0dXJucyB7b2JqZWN0fSBBIGtleS12YWx1ZSBtYXAgb2YgbG9jYWwgdmFyaWFibGUgbmFtZXMgYW5kIHRoZWlyIHZhbHVlcy4KICovCmFzeW5jIGZ1bmN0aW9uIGZldGNoTG9jYWxWYXJpYWJsZXMoc2Vzc2lvbiwgb2JqZWN0SWQpIHsKICBpZiAoIW9iamVjdElkKSByZXR1cm4ge307CgogIHRyeSB7CiAgICBjb25zdCB7IHJlc3VsdCB9ID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICAgIG9iamVjdElkLAogICAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogICAgfSk7CgogICAgY29uc3QgcHJvcGVydGllcyA9IHJlc3VsdDsKICAgIGlmIChwcm9wZXJ0aWVzKSB7CiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHt9OwogICAgICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcGVydGllcykgewogICAgICAgIGlmIChwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYgcHJvcD8udmFsdWUuY2xhc3NOYW1lID09PSAiQXJyYXkiKSB7CiAgICAgICAgICBjb25zdCBpZCA9IHByb3AudmFsdWUub2JqZWN0SWQ7CiAgICAgICAgICBhd2FpdCB1bnJvbGxBcnJheShzZXNzaW9uLCBpZCwgcHJvcC5uYW1lLCB2YXJpYWJsZXMpOwogICAgICAgIH0gZWxzZSBpZiAoCiAgICAgICAgICBwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYKICAgICAgICAgIHByb3A/LnZhbHVlPy5jbGFzc05hbWUgPT09ICJPYmplY3QiCiAgICAgICAgKSB7CiAgICAgICAgICBjb25zdCBpZCA9IHByb3AudmFsdWUub2JqZWN0SWQ7CiAgICAgICAgICBhd2FpdCB1bnJvbGxPYmplY3Qoc2Vzc2lvbiwgaWQsIHByb3AubmFtZSwgdmFyaWFibGVzKTsKICAgICAgICB9IGVsc2UgaWYgKHByb3A/LnZhbHVlKSB7CiAgICAgICAgICB1bnJvbGxPdGhlcihwcm9wLCB2YXJpYWJsZXMpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdmFyaWFibGVzOwogICAgfQogIH0gY2F0Y2ggKGVycikgewogICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBmZXRjaCBsb2NhbCB2YXJpYWJsZXM6IiwgZXJyKTsKICAgIH0KICAgIHJldHVybiB7fTsKICB9Cn0KCnN0YXJ0RGVidWdnZXIoKS5jYXRjaCgoZXJyb3IpID0+IHsKICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBzdGFydCBkZWJ1Z2dlcjoiLCBlcnJvcik7CiAgfQp9KTsKCi8vIEtlZXAgdGhlIHdvcmtlciBhbGl2ZQpzZXRJbnRlcnZhbCgoKSA9PiB7fSwgMTAwMDApOwo="),{workerData:{captureAllExceptions:!0}});let C=null;const c=new WeakMap;I.on("message",n=>{if(typeof n=="string"&&d.getConfig().sfDebug&&W(`[Worker] ${n}`),n.readyToGetParameters&&I.postMessage({sfDebug:d.getConfig().sfDebug,stackDepthLocals:d.getConfig().stackDepthLocals,nodeModulesToCollectLocalVariablesOn:d.getConfig().nodeModulesToCollectLocalVariablesOn}),n.type==="exception"){const{frames:A}=n,o=C;if(!o)return;const t=c.get(o),Z=(function(m){return m?m.split(`
|
|
7
|
-
`).slice(1).map(s=>{const V=/at (.+?) \((.+):(\d+):(\d+)\)/.exec(s)||/at (.+):(\d+):(\d+)/.exec(s);if(V){const[,u,r,G,b]=V;return new N({function:u||"<anonymous>",locals:{},file:r||"<unknown>",line:parseInt(G,10)||0,code:"<not captured>",column:parseInt(b)||0})}return new N({function:"<unknown>",locals:{},file:"<unknown>",line:0,code:"<not captured>",column:0})}):[]})(o.stack),Y=(function(m,s){const V=[];let u=-1,r=-1;for(let G=0;G<m.length;G++){const b=cI(m[G].file);if(r=G,b!=="<unknown>"){for(let a=0;a<s.length;a++){const v=s[a];if(j(v,b)||typeof v.file=="string"&&v.file.includes(b)){u=a,X=0,d.getConfig().sfDebug&&W(`✅ Matched Frame Found: ${b} @ Debugger Frame ${a}`);break}}if(u!==-1)break}}if(u===-1)return X===10?(X=0,m):(++X,d.getConfig().sfDebug&&W(`"❌ No matching frame found. Checking once again, Attempt N ${X}"`),[]);d.getConfig().sfDebug&&W(`🔄 Merging from matched index ${u} onward...`);for(let G=0;G<s.length;G++){const b=m[r+G],a=s[u+G];V.push(new N({function:a?.function||b?.function||"<anonymous>",locals:a?.locals||b?.locals||{},file:b?.file||a?.file||"<unknown>",line:a?.line||b?.line||0,code:a?.code||b?.code||"<not captured>"}))}return V})(Z,A||[]);if(Y.length!==0){C=null;const m=d.getConfig().stackDepthCodeTraceDepth,s=m===-1?Y:Y.slice(0,m+1),V=Math.min(s.length,Z.length);for(let b=0;b<V;b++)(async()=>{const a=CI(s[b].file,Z[b].line,Z[b].column);a&&(a.content!=null&&(s[b].code=a.content),a.file!=null&&(s[b].file=a.file))})();g.setOperationName("CollectExceptions");const u=o.message?`${o.name}: ${o.message}`:o.name;d.getConfig().sfDebug&&W("error message is : ",u);const r=d.ContextManager.getInstance(),G=c.get(o);G?(r.setTraceIdFor(G,G),r.runWithSession(G,()=>{r.setTraceId(G),g.doSend(u,s)})):g.doSend(u,s),t?d.ContextManager.getInstance().runWithSession(t,()=>{g.doSend(u,s)}):g.doSend(u,s)}}}),I.on("error",n=>{f("[Worker Error]",n)}),I.on("exit",n=>{f(`[Worker] Exited with code ${n}`)}),I.unref();const e=Error,i=new Set;function l(...n){const A=Reflect.construct(e,n);Reflect.setPrototypeOf(A,l.prototype);try{const t=d.ContextManager.getInstance().getTraceId();c.set(A,t)}catch{}e.captureStackTrace&&e.captureStackTrace(A,l);const o=`${A.message}:${A.stack?.split(`
|
|
8
|
-
`)[1]?.trim()}`;if(!i.has(o)){i.add(o),C=A;const t=d.ContextManager.getInstance().getTraceId();c.set(A,t),I.postMessage({type:"processException",error:A.message})}return A}l.prototype=Object.create(e.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(l,e),globalThis.Error=l},exports.initializeLogInterceptor=function(g){function I(C,c){const e=d.getGlobalConfigUnsafe();if(e?.logIgnoreRegex&&e.logIgnoreRegex.test(c))return;const[i,l]=gI(2);g.setOperationName("CollectLogs"),g.doSend([c,C,i,l])}console.log=(...C)=>{if(B)K(...C);else{B=!0;try{I("INFO",C.join(" ")),K(...C)}finally{B=!1}}},console.error=(...C)=>{if(B)S(...C);else{B=!0;try{I("ERROR",C.join(" ")),S(...C)}finally{B=!1}}},console.warn=(...C)=>{if(B)F(...C);else{B=!0;try{I("WARN",C.join(" ")),F(...C)}finally{B=!1}}},console.info=(...C)=>{if(B)R(...C);else{B=!0;try{I("INFO",C.join(" ")),R(...C)}finally{B=!1}}},d.getConfig().logLevel==="DEBUG"&&(console.debug=(...C)=>{if(B)z(...C);else{B=!0;try{I("DEBUG",C.join(" ")),z(...C)}finally{B=!1}}})},exports.internalError=f,exports.internalLog=W,exports.isProductionEnvironment=U,exports.isRuntimeModeEnabled=x,exports.shouldEnableRuntimeHooks=function(){return!!x()&&(!U()||(console.warn("[FuncSpan Runtime] DISABLED in production environment"),!1))};
|