Files
2026-07-28 01:06:53 +03:00

834 lines
34 KiB
JavaScript

/* Metro module 1132; source: unknown; dependencies: [1131, 826, 1128] */
import * as DEFAULT_BUNDLE_NAMEModule from './module-01128-DEFAULT_BUNDLE_NAME.js'; /* Metro dependency 1128 */
import * as MAX_PROFILE_DURATION_MSModule from './module-01131-MAX_PROFILE_DURATION_MS.js'; /* Metro dependency 1131 */
function _fun12603(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#12603, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1259:6, offset: 0x00dd02c9, size: 131 bytes, params: 8, frame: 20
const env0_0 = require;
const mapSamples2 = mapSamples;
const parseHermesJSStackFrame2 = parseHermesJSStackFrame;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const MAX_PROFILE_DURATION_MS = (MAX_PROFILE_DURATION_MSModule).MAX_PROFILE_DURATION_MS;
const env0_2 = 1000000 * MAX_PROFILE_DURATION_MS;
exports.convertToSentryProfile = convertToSentryProfile;
exports.mapSamples = mapSamples2;
exports.parseHermesJSStackFrame = parseHermesJSStackFrame2;
function mapSamples(a0) { // fn#12604, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1259:134, offset: 0x00dd034c, size: 484 bytes, params: 2, frame: 30
var r0;
var value;
var binding;
var debug;
var warn;
var add;
var tid;
var sf;
var value6;
var value7;
var value8;
var value9;
var push;
var object2;
var toFixed;
var value10;
var value11;
var moduleValue;
var HermesInternal;
var concat;
var value12;
var error;
reducibleJoin4: while (true) {
reducibleJoin2: while (true) {
if (arguments.length > 1) {
if (arguments[1] !== undefined) {
value = arguments[1];
r0 = value;
break reducibleJoin4;
}
break reducibleJoin2;
}
break reducibleJoin2;
}
value = environment;
binding = env0_2;
r0 = binding;
break reducibleJoin4;
}
const items2 = [];
let Set = global.Set;
let set = new Set();
Set = global.Set;
set = new Set();
let property = a0[0];
if (!property) {
require(dependencyMap[1]).debug.warn('[Profiling] No samples found in profile.');
} else {
var Number = global.Number;
var ts = property.ts;
var value5 = Number(ts);
var iterator = a0[Symbol.iterator]();
var iterator2 = iterator.next;
var r4 = iterator;
var item2 = Reflect.apply(iterator2, r4, []);
var item = item2.value;
item2 = item2.done ? undefined : r4;
reducibleJoin8: while (true) {
if (item2 === undefined) {
return {samples: items2, hermesStacks: set, jsThreads: set};
}
break reducibleJoin8;
}
reducibleLoop8: while (true) {
try {
add = set.add;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
tid = item.tid;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Reflect.apply(add, set, [tid]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
add = set.add;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
sf = item.sf;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Reflect.apply(add, set, [sf]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Number = global.Number;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
ts = item.ts;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value6 = Number(ts);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value7 = value6 - value5;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value8 = 1000 * value7;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value9 = value8 >= r0;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value9) {
value11 = environment;
try {
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
property = dependencyMap[1];
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
moduleValue = require(property);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
debug = moduleValue.debug;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
warn = debug.warn;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
HermesInternal = global.HermesInternal;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
concat = HermesInternal.concat;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value12 = '[Profiling] Sample has elapsed time since start ' + value8 + 'ns greater than the max elapsed time ' + r0 + 'ns.';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Reflect.apply(warn, debug, [value12]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
item2.return();
break reducibleLoop8;
}
try {
push = items2.push;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object2 = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
sf = item.sf;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object2.stack_id = sf;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
tid = item.tid;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object2.thread_id = tid;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
toFixed = value8.toFixed;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value10 = Reflect.apply(toFixed, value8, [0]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object2.elapsed_since_start_ns = value10;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Reflect.apply(push, items2, [object2]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r4 = item2;
item2 = Reflect.apply(iterator2, r4, []);
item = item2.value;
item2 = item2.done ? undefined : r4;
if (item2 === undefined) {
break reducibleLoop8;
}
continue reducibleLoop8;
}
}
return {samples: items2, hermesStacks: set, jsThreads: set};
}
function parseHermesJSStackFrame(a0) { // fn#12605, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1259:709, offset: 0x00dd0530, size: 383 bytes, params: 2, frame: 17
var object;
const DEFAULT_BUNDLE_NAME = (DEFAULT_BUNDLE_NAMEModule).DEFAULT_BUNDLE_NAME;
var Number;
var value7;
if (a0.category !== 'JavaScript') {
return a0.name === '[root]' ? {function: a0.name, in_app: false} : {function: a0.name};
}
const funcVirtAddr = a0.funcVirtAddr;
const value = undefined;
if (value !== funcVirtAddr) {
if (value !== a0.offset) {
object = {};
object.function = a0.name;
object.abs_path = DEFAULT_BUNDLE_NAME;
object.lineno = 1;
Number = global.Number;
value7 = Number(a0.funcVirtAddr);
Number = global.Number;
object.colno = value7 + Number(a0.offset) + 1;
return object;
}
}
const value2 = a0.name.indexOf('(');
object = {};
object.function = value2 !== -1 ? a0.name.substring(0, value2) || value : a0.name;
object.abs_path = DEFAULT_BUNDLE_NAME;
object.lineno = value === a0.line ? value : global.Number(a0.line);
object.colno = value === a0.column ? value : global.Number(a0.column);
return object;
}
function convertToSentryProfile(a0) { // fn#12606, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1259:1250, offset: 0x00dd06af, size: 805 bytes, params: 2, frame: 35
var r13;
var r10;
var r20;
var parent;
var r8;
var r1;
var value;
var samples;
var length;
var value2;
var mapSamplesBinding;
var value3;
var hermesStacks;
var jsThreads;
var stackFrames;
var object;
var Map;
var prototype;
var value4;
var map;
var value5;
var propertyName;
var propertyName2;
var Object;
var hasOwnProperty;
var call;
var property;
var set;
var Number;
var value6;
var push;
var object2;
var frames;
var hermesStackFrameIdToSentryFrameIdMap;
var value7;
var value8;
var iterator;
var iterator2;
var item;
var item2;
var items2;
var value9;
var get;
var value10;
var value11;
var value12;
var value13;
var value14;
var error;
var object3;
var stacks;
var hermesStackToSentryStackMap;
var iterator3;
var item3;
var stack_id;
var value15;
var value16;
var moduleValue;
var debug;
var HermesInternal;
var concat;
var value17;
var iterator4;
var item4;
var object4;
var object5;
var keys;
var value18;
exceptionSkip71: while (true) {
exceptionLanding71: while (true) {
exceptionSkip65: while (true) {
exceptionLanding65: while (true) {
exceptionSkip40: while (true) {
exceptionLanding40: while (true) {
value = undefined;
samples = a0.samples;
length = samples.length;
if (length === 0) {
value18 = environment;
debug = require(dependencyMap[1]).debug;
debug.warn('[Profiling] No samples found in profile.');
return null;
}
value2 = environment;
mapSamplesBinding = mapSamples;
samples = a0.samples;
value3 = mapSamplesBinding(samples);
samples = value3.samples;
hermesStacks = value3.hermesStacks;
jsThreads = value3.jsThreads;
stackFrames = a0.stackFrames;
object = [];
Map = global.Map;
prototype = Map.prototype;
value4 = Object.create(prototype, {constructor: {value: Map}});
map = new Map();
value5 = map instanceof Object ? map : value4;
for (propertyName in stackFrames) {
Object = global.Object;
prototype = Object.prototype;
hasOwnProperty = prototype.hasOwnProperty;
call = hasOwnProperty.call;
if (!Reflect.apply(call, hasOwnProperty, [stackFrames, propertyName])) {
r13 = propertyName2;
continue;
}
property = stackFrames[propertyName];
if (!property) {
r13 = propertyName2;
continue;
}
set = value5.set;
Number = global.Number;
value6 = Number(propertyName);
length = object.length;
Reflect.apply(set, value5, [value6, length]);
push = object.push;
Reflect.apply(push, object, [parseHermesJSStackFrame(property)]);
r13 = propertyName2;
}
object2 = {frames: object, hermesStackFrameIdToSentryFrameIdMap: value5};
frames = object2.frames;
hermesStackFrameIdToSentryFrameIdMap = object2.hermesStackFrameIdToSentryFrameIdMap;
stackFrames = a0.stackFrames;
Map = global.Map;
prototype = Map.prototype;
value7 = Object.create(prototype, {constructor: {value: Map}});
map = new Map();
value8 = map instanceof Object ? map : value7;
object = [];
iterator = hermesStacks[Symbol.iterator]();
iterator2 = iterator.next;
r10 = iterator;
while (true) {
item2 = Reflect.apply(iterator2, r10, []);
item = item2.value;
item2 = item2.done ? undefined : r10;
if (item2 === value) {
break;
}
try {
length = object.length;
} catch (error) {
break exceptionLanding40;
}
try {
set = value8.set;
} catch (error) {
break exceptionLanding40;
}
try {
Reflect.apply(set, value8, [item, length]);
} catch (error) {
break exceptionLanding40;
}
try {
items2 = [];
} catch (error) {
break exceptionLanding40;
}
try {
value9 = value === item;
} catch (error) {
break exceptionLanding40;
}
if (value9) {
continue;
}
r20 = item;
while (true) {
try {
get = hermesStackFrameIdToSentryFrameIdMap.get;
} catch (error) {
break exceptionLanding40;
}
try {
value10 = Reflect.apply(get, hermesStackFrameIdToSentryFrameIdMap, [r20]);
} catch (error) {
break exceptionLanding40;
}
try {
value11 = value === value10;
} catch (error) {
break exceptionLanding40;
}
if (value11) {
continue;
}
try {
push = items2.push;
} catch (error) {
break exceptionLanding40;
}
try {
Reflect.apply(push, items2, [value10]);
} catch (error) {
break exceptionLanding40;
}
try {
property = stackFrames[r20];
} catch (error) {
break exceptionLanding40;
}
try {
value12 = property === null;
} catch (error) {
break exceptionLanding40;
}
if (value12) {
parent = value;
continue;
}
try {
value13 = value === property;
} catch (error) {
break exceptionLanding40;
}
if (value13) {
parent = value;
continue;
}
try {
parent = property.parent;
} catch (error) {
break exceptionLanding40;
}
try {
value14 = value !== parent;
} catch (error) {
break exceptionLanding40;
}
if (value14) {
r20 = parent;
continue;
}
break;
}
try {
push = object.push;
} catch (error) {
break exceptionLanding40;
}
try {
Reflect.apply(push, object, [items2]);
} catch (error) {
break exceptionLanding40;
}
r10 = item2;
}
object3 = {stacks: object, hermesStackToSentryStackMap: value8};
stacks = object3.stacks;
hermesStackToSentryStackMap = object3.hermesStackToSentryStackMap;
iterator = samples[Symbol.iterator]();
iterator3 = iterator.next;
r8 = iterator;
while (true) {
item3 = Reflect.apply(iterator3, r8, []);
item = item3.value;
item3 = item3.done ? undefined : r8;
if (item3 === value) {
break;
}
try {
get = hermesStackToSentryStackMap.get;
} catch (error) {
break exceptionLanding65;
}
try {
stack_id = item.stack_id;
} catch (error) {
break exceptionLanding65;
}
try {
value15 = Reflect.apply(get, hermesStackToSentryStackMap, [stack_id]);
} catch (error) {
break exceptionLanding65;
}
try {
value16 = value === value15;
} catch (error) {
break exceptionLanding65;
}
if (value16) {
try {
} catch (error) {
break exceptionLanding65;
}
try {
} catch (error) {
break exceptionLanding65;
}
try {
property = dependencyMap[1];
} catch (error) {
break exceptionLanding65;
}
try {
moduleValue = require(property);
} catch (error) {
break exceptionLanding65;
}
try {
debug = moduleValue.debug;
} catch (error) {
break exceptionLanding65;
}
try {
error = debug.error;
} catch (error) {
break exceptionLanding65;
}
try {
stack_id = item.stack_id;
} catch (error) {
break exceptionLanding65;
}
try {
HermesInternal = global.HermesInternal;
} catch (error) {
break exceptionLanding65;
}
try {
concat = HermesInternal.concat;
} catch (error) {
break exceptionLanding65;
}
try {
value17 = '[Profiling] Hermes Stack ID ' + stack_id + ' not found when mapping to Sentry Stack ID.';
} catch (error) {
break exceptionLanding65;
}
try {
Reflect.apply(error, debug, [value17]);
} catch (error) {
break exceptionLanding65;
}
try {
item.stack_id = -1;
} catch (error) {
break exceptionLanding65;
}
r8 = item3;
} else {
try {
item.stack_id = value15;
} catch (error) {
break exceptionLanding65;
}
r8 = item3;
}
}
object = {};
iterator = jsThreads[Symbol.iterator]();
iterator4 = iterator.next;
for (r8 = iterator; true; r8 = item4) {
item4 = Reflect.apply(iterator4, r8, []);
item = item4.value;
item4 = item4.done ? undefined : r8;
if (item4 === value) {
break;
}
try {
object4 = {'name': 'JavaScriptThread', 'priority': 1};
} catch (error) {
break exceptionLanding71;
}
try {
object[item] = object4;
} catch (error) {
break exceptionLanding71;
}
}
object5 = {samples: samples, frames: frames, stacks: stacks, thread_metadata: object};
Object = global.Object;
keys = Object.keys;
property = Reflect.apply(keys, Object, [object])[0];
if (property) {
r1 = property;
} else {
value = '0';
r1 = value;
}
object5.active_thread_id = r1;
return object5;
break exceptionSkip40;
}
try {
item2.return();
} catch {
}
throw error;
break exceptionSkip40;
}
break exceptionSkip65;
}
try {
item3.return();
} catch {
}
throw error;
break exceptionSkip65;
}
break exceptionSkip71;
}
try {
item4.return();
} catch {
}
throw error;
break exceptionSkip71;
}
}
}
global.__d(_fun12603, 1132, [1131, 826, 1128]) /* metro module 1132, dependencies: [1131, 826, 1128] */;