/* Metro module 1528; source: unknown; dependencies: [77, 65, 1521, 1529, 1503, 1523] */ function _fun17286(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#17286, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:6, offset: 0x00e68cf3, size: 176 bytes, params: 8, frame: 18 const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(77) /* metro dependency 77 */; const env0_4 = importDefault(65) /* metro dependency 65 */; exports.default = getStateFromPath; } function joinPaths_17287() { // fn#17287, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:126, offset: 0x00e68da3, size: 143 bytes, params: 1, frame: 18 var r1; var value5; let value = arguments.length; const Array = global.Array; const array = new Array(value); const value4 = 0; if (value4 < value) { for (r1 = value4; true; r1 = value5) { array[r1] = arguments[r1]; value5 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; if (!(value5 < value)) { break; } } } const items2 = []; const concat = items2.concat; const filter = concat.apply(items2, env0_4(array.map(function(a0) { return a0.split('/'); }))).filter; const Boolean = global.Boolean; value = Reflect.apply(filter, value, [Boolean]); return value.join('/'); } function matchAgainstConfigs(a0, a1) { // fn#17289, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:324, offset: 0x00e68e32, size: 108 bytes, params: 3, frame: 17 var value; var value2; var error; const env0_0 = a1; const env0_2 = a0; const closure = matchAgainstConfigs_loop; const iterator = a1[Symbol.iterator](); const iterator2 = iterator.next; let r2 = iterator; let item2 = Reflect.apply(iterator2, r2, []); let item = item2.value; item2 = item2.done ? undefined : r2; reducibleJoin2: while (true) { if (item2 === undefined) { return {routes: env0_1, remainingPath: env0_2}; } break reducibleJoin2; } reducibleLoop2: while (true) { try { var env0_3 = item; } catch (error) { try { item2.return(); } catch { } throw error; } try { value = closure(); } catch (error) { try { item2.return(); } catch { } throw error; } try { value2 = value === 0; } catch (error) { try { item2.return(); } catch { } throw error; } if (value2) { r2 = item2; } else { try { value = value === 1; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin1: while (true) { if (value) { item2.return(); break reducibleLoop2; } r2 = item2; break reducibleJoin1; } } item2 = Reflect.apply(iterator2, r2, []); item = item2.value; item2 = item2.done ? undefined : r2; if (item2 === undefined) { break reducibleLoop2; } continue reducibleLoop2; } return {routes: env0_1, remainingPath: env0_2}; } function createNormalizedConfigs_17297(a0, a1) { // fn#17297, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:1121, offset: 0x00e69100, size: 515 bytes, params: 3, frame: 26 var r8; var r13; var joinPaths_17287Binding; var createConfigItem_17299Binding; var Object; const value = undefined; const r2 = arguments.length > 2 && value !== arguments[2] ? arguments[2] : []; const r9 = arguments.length > 3 ? arguments[3] : value; const r10 = arguments.length > 4 ? arguments[4] : value; const r3 = arguments.length > 5 ? arguments[5] : value; const items2 = []; let push = r2.push; Reflect.apply(push, r2, [a0]); r10.push(a0); const property = a1[a0]; const value6 = typeof property; if (value6 === 'string') { items2.push(createConfigItem_17299(a0, r2, r3 ? joinPaths_17287(r3, property) : property, property)); } else { if (value6 !== 'object') { r2.pop(); return items2; } var path = property.path; if (typeof path !== 'string') { if (property.screens) { if (property.initialRouteName) { r9.push({initialRouteName: property.initialRouteName, parentScreens: r10}); } Object = global.Object; Object.keys(property.screens).forEach(_fun17298); } r2.pop(); return items2; } if (property.exact) { path = property.path; if (value === path) { throw new global.Error("A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`."); } if (property.exact !== true) { joinPaths_17287Binding = joinPaths_17287; r8 = r3 || ''; path = property.path; path = !path ? '' : path; r13 = joinPaths_17287Binding(r8, path); } else { path = property.path; path = !path ? '' : path; r13 = path; } push = items2.push; createConfigItem_17299Binding = createConfigItem_17299; path = property.path; Reflect.apply(push, items2, [createConfigItem_17299Binding(a0, r2, r13, path, property.parse)]); if (property.screens) { if (property.initialRouteName) { r9.push({initialRouteName: property.initialRouteName, parentScreens: r10}); } Object = global.Object; Object.keys(property.screens).forEach(_fun17298); } r2.pop(); return items2; } if (property.exact !== true) { joinPaths_17287Binding = joinPaths_17287; r8 = r3 || ''; path = property.path; path = !path ? '' : path; r13 = joinPaths_17287Binding(r8, path); } else { path = property.path; path = !path ? '' : path; r13 = path; } items2.push(createConfigItem_17299(a0, r2, r13, property.path, property.parse)); if (property.screens) { if (property.initialRouteName) { r9.push({initialRouteName: property.initialRouteName, parentScreens: r10}); } Object = global.Object; Object.keys(property.screens).forEach(_fun17298); } } r2.pop(); return items2; } function createConfigItem_17299(a0, a1, a2, a3, a4) { // fn#17299, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:2002, offset: 0x00e6937d, size: 206 bytes, params: 6, frame: 18 var r2; var RegExp; var value6; var regExp; const object2 = {screen: a0}; let value = a2.split('/'); const filter = value.filter; const Boolean = global.Boolean; value = Reflect.apply(filter, value, [Boolean]); value = value.join('/'); if (value) { RegExp = global.RegExp; value6 = '^(' + value.split('/').map(_fun17300).join('') + ')'; regExp = new RegExp(); } else { r2 = undefined; } object2.regex = r2; object2.pattern = value; object2.path = a3; object2.routeNames = env0_4(a1); object2.parse = a4; return object2; } function findInitialRoute(a0, a1, a2) { // fn#17301, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:2316, offset: 0x00e694e7, size: 187 bytes, params: 4, frame: 23 var r10; var r9; var initialRouteName; var length; var parentScreens; var length2; var value3; var value4; var value5; var property; var localeCompare; var property2; var value6; var value7; var value8; var value9; var value10; var value11; var error; const value = undefined; const iterator = a2[Symbol.iterator](); const iterator2 = iterator.next; const value2 = 0; let r2 = iterator; let item2 = Reflect.apply(iterator2, r2, []); let item = item2.value; item2 = item2.done ? undefined : r2; reducibleJoin2: while (true) { if (item2 === value) { return value; } break reducibleJoin2; } reducibleLoop2: while (true) { try { length = a1.length; } catch (error) { try { item2.return(); } catch { } throw error; } try { parentScreens = item.parentScreens; } catch (error) { try { item2.return(); } catch { } throw error; } try { length2 = parentScreens.length; } catch (error) { try { item2.return(); } catch { } throw error; } try { value3 = length !== length2; } catch (error) { try { item2.return(); } catch { } throw error; } if (value3) { r2 = item2; } else { value4 = true; try { length = a1.length; } catch (error) { try { item2.return(); } catch { } throw error; } try { value5 = value2 < length; } catch (error) { try { item2.return(); } catch { } throw error; } if (value5) { r10 = value2; reducibleLoop10: while (true) { try { property = a1[r10]; } catch (error) { try { item2.return(); } catch { } throw error; } try { localeCompare = property.localeCompare; } catch (error) { try { item2.return(); } catch { } throw error; } try { parentScreens = item.parentScreens; } catch (error) { try { item2.return(); } catch { } throw error; } try { property2 = parentScreens[r10]; } catch (error) { try { item2.return(); } catch { } throw error; } try { value6 = Reflect.apply(localeCompare, property, [property2]); } catch (error) { try { item2.return(); } catch { } throw error; } try { value7 = value2 !== value6; } catch (error) { try { item2.return(); } catch { } throw error; } if (value7) { value10 = false; r9 = value10; break reducibleLoop10; } try { value8 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1; } catch (error) { try { item2.return(); } catch { } throw error; } try { length = a1.length; } catch (error) { try { item2.return(); } catch { } throw error; } try { value9 = value8 < length; } catch (error) { try { item2.return(); } catch { } throw error; } if (value9) { r10 = value8; continue reducibleLoop10; } r9 = value4; break reducibleLoop10; } } else { r9 = value4; } reducibleJoin1: while (true) { if (r9) { break reducibleLoop2; } r2 = item2; break reducibleJoin1; } } item2 = Reflect.apply(iterator2, r2, []); item = item2.value; item2 = item2.done ? undefined : r2; if (item2 === value) { return value; } continue reducibleLoop2; } try { initialRouteName = item.initialRouteName; } catch (error) { try { item2.return(); } catch { } throw error; } try { value11 = a0 === initialRouteName; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin31: while (true) { if (value11) { initialRouteName = value; break reducibleJoin31; } try { initialRouteName = item.initialRouteName; } catch (error) { try { item2.return(); } catch { } throw error; } break reducibleJoin31; } item2.return(); return initialRouteName; } function createStateObject(a0, a1, a2) { // fn#17302, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:2557, offset: 0x00e695a2, size: 210 bytes, params: 4, frame: 21 var r0; var r1; var Object; const object2 = {}; if (a2) { if (a0) { object2.name = a0; r1 = {index: 1, routes: [object2, a1]}; } else { object2.routes = [a1]; r1 = object2; } r0 = r1; } else if (a0) { object2.name = a0; Object = global.Object; r0 = {index: 1, routes: [object2, Object.assign({}, a1, {state: {routes: []}})]}; } else { Object = global.Object; object2.routes = [Object.assign({}, a1, {state: {routes: []}})]; r0 = object2; } return r0; } function createNestedStateObject(a0, a1, a2, a3) { // fn#17303, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:2769, offset: 0x00e69674, size: 432 bytes, params: 5, frame: 27 var r2; var r3; var r14; var r13; var r8; var r6; var r1; var shift; var value; var items2; var value2; var findInitialRouteBinding; var name; var value3; var initialRoute; var push; var createStateObjectBinding; var length; var value4; var initialRoute2; var index; var routes; var value5; var property; var state; var value6; var value7; var parseQueryParamsBinding; var iterator; var iterator2; var item; var item2; var routeNames; var routeNames2; var value8; var value9; var parse; var error; var queryParams; var Object; var assign; var params; exceptionSkip19: while (true) { exceptionLanding19: while (true) { shift = a1.shift; value = Reflect.apply(shift, a1, []); items2 = []; value2 = environment; findInitialRouteBinding = findInitialRoute; name = value.name; value3 = undefined; initialRoute = findInitialRouteBinding(name, items2, a2); push = items2.push; name = value.name; Reflect.apply(push, items2, [name]); createStateObjectBinding = createStateObject; length = a1.length; value = createStateObjectBinding(initialRoute, value, length === 0); length = a1.length; if (length > 0) { shift = a1.shift; value4 = Reflect.apply(shift, a1, []); if (!value4) { break; } r2 = value4; r3 = value; while (true) { findInitialRouteBinding = findInitialRoute; name = r2.name; initialRoute2 = findInitialRouteBinding(name, items2, a2); index = r3.index; if (index) { r14 = index; } else { value5 = r3.routes.length - 1; r14 = value5; } routes = r3.routes; property = routes[r14]; createStateObjectBinding = createStateObject; length = a1.length; property.state = createStateObjectBinding(initialRoute2, r2, length === 0); length = a1.length; if (!(length > 0)) { r13 = r3; continue; } routes = r3.routes; state = routes[r14].state; r13 = state; push = items2.push; name = r2.name; Reflect.apply(push, items2, [name]); shift = a1.shift; value6 = Reflect.apply(shift, a1, []); if (value6) { r2 = value6; r3 = r13; continue; } break; } } value7 = (importDefault(1503) /* metro dependency 1503 */)(value); value7.path = a0; parseQueryParamsBinding = parseQueryParams; if (a3) { name = value7.name; iterator = a3[Symbol.iterator](); iterator2 = iterator.next; r8 = iterator; loopExit9: while (true) { item2 = Reflect.apply(iterator2, r8, []); item = item2.value; item2 = item2.done ? undefined : r8; if (item2 === value3) { r6 = value3; break loopExit9; } try { routeNames = item.routeNames; } catch (error) { break exceptionLanding19; } try { routeNames2 = item.routeNames; } catch (error) { break exceptionLanding19; } try { length = routeNames2.length; } catch (error) { break exceptionLanding19; } try { value8 = length - 1; } catch (error) { break exceptionLanding19; } try { property = routeNames[value8]; } catch (error) { break exceptionLanding19; } try { value9 = name === property; } catch (error) { break exceptionLanding19; } if (value9) { try { parse = item.parse; } catch (error) { break exceptionLanding19; } item2.return(); r6 = parse; break loopExit9; } r8 = item2; continue; } r1 = r6; } else { r1 = value3; } queryParams = parseQueryParamsBinding(a0, r1); if (queryParams) { Object = global.Object; assign = Object.assign; params = value7.params; value7.params = Reflect.apply(assign, Object, [{}, params, queryParams]); } return value; break exceptionSkip19; } try { item2.return(); } catch { } throw error; break exceptionSkip19; } } function parseQueryParams(a0, a1) { // fn#17304, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:3283, offset: 0x00e69824, size: 144 bytes, params: 3, frame: 14 const env0_0 = a1; const property = a0.split('?')[1]; value = undefined; const value2 = (importAll(1523) /* metro dependency 1523 */).parse(property); if (a1) { global.Object.keys(value2).forEach(_fun17305); } const Object = global.Object; return Object.keys(value2).length ? value2 : value; } function getStateFromPath(a0, a1) { // fn#17306, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:3521, offset: 0x00e6990d, size: 568 bytes, params: 3, frame: 26 var r1; var r10; var nestedStateObject; var value11; var value12; var value14; if (a1) { (importDefault(1521) /* metro dependency 1521 */)(a1); } const items3 = []; if (a1 != null && a1.initialRouteName) { items3.push({initialRouteName: a1.initialRouteName, parentScreens: []}); } let value = undefined; const screens = a1 == null ? value : a1.screens; const value4 = a0.replace(RegExp('\\/+', 'g'), '/').replace(RegExp('^\\/', ''), '').replace(RegExp('\\?.*$', ''), ''); const r2 = value4.endsWith('/') ? value4 : '' + value4 + '/'; if (value === screens) { value12 = r2.split('/'); value14 = value12.filter(global.Boolean).map(function(a0) { return {name: (0, global.decodeURIComponent)(a0)}; }); return value14.length ? createNestedStateObject(a0, value14, items3) : value; } const items2 = []; const concat = items2.concat; const apply = concat.apply; const binding = env0_4; let Object = global.Object; const value7 = Object.keys(screens); const value9 = Reflect.apply(apply, concat, [items2, binding(value7.map(_fun17308))]).sort(_fun17309); value9.reduce(_fun17310, {}); if (r2 === '/') { value11 = value9.find(function(a0) { return a0.path === '' && a0.routeNames.every(_fun17314); }); return value11 ? createNestedStateObject(a0, value11.routeNames.map(_fun17316), items3, value9) : value; } const value10 = matchAgainstConfigs(r2, value9.map(function(a0) { var r0; var RegExp; var Object = global.Object; var assign = Object.assign; var value = undefined; if (a0.regex) { RegExp = global.RegExp; value = a0.regex.source + '$'; value = new RegExp(value); r0 = value; } else { r0 = value; } return Reflect.apply(assign, Object, [{}, a0, {regex: r0}]); })); const routes = value10.routes; value10.remainingPath; if (value === routes) { r1 = value; r10 = value; } else { nestedStateObject = createNestedStateObject(a0, routes, items3, value9); r1 = nestedStateObject; r10 = nestedStateObject; } if (r10 == null) { return value; } return r1 ?? value; } function matchAgainstConfigs_loop() { // fn#17290, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:372, owner: matchAgainstConfigs._loop, offset: 0x00e68e9e, size: 192 bytes, params: 1, frame: 17 var binding; var value2; var pattern; var value6; if (env0_3.regex) { binding = env0_2; value2 = binding.match(env0_3.regex); if (value2) { pattern = env0_3.pattern; if (pattern != null) { value6 = pattern.split('/').filter(function(a0) { return a0.startsWith(':'); }).reduce(_fun17292, {}); } var env0_1; env0_1 = env0_3.routeNames.map(_fun17293); env0_2 = env0_2.replace(value2[1], ''); return 1; } return undefined; } return 0; } function _fun17298(a0) { // fn#17298, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:1903, offset: 0x00e69303, size: 122 bytes, params: 2, frame: 23 const normalizedConfigs_17297 = createNormalizedConfigs_17297(a0, env0_5.screens, env0_0, env0_1, env1_4(env0_2), env0_6 ?? env0_3); const push = env0_4.push; push.apply(env0_4, env1_4(normalizedConfigs_17297)); } function _fun17300(a0) { // fn#17300, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:2138, offset: 0x00e6944b, size: 156 bytes, params: 2, frame: 14 var r4; var r0; var value; if (a0.startsWith(':')) { value = '?'; value = '(([^/]+\\/)' + (a0.endsWith(value) ? value : '') + ')'; r0 = value; } else { value = '.*'; if (a0 === '*') { r4 = value; } else { value = environment.__proto__; value = (importDefault(1529) /* metro dependency 1529 */)(a0); r4 = value; } value = '' + r4 + '\\/'; r0 = value; } return r0; } function _fun17305(a0) { // fn#17305, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:3390, offset: 0x00e698b4, size: 89 bytes, params: 2, frame: 14 var binding; const Object = global.Object; if (Object.hasOwnProperty.call(require, a0) && typeof env0_1[a0] === 'string') { binding = env0_1; binding[a0] = require[a0](binding[a0]); } } function _fun17308(a0) { // fn#17308, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:3986, offset: 0x00e69b5f, size: 37 bytes, params: 2, frame: 19 return createNormalizedConfigs_17297(a0, screens, [], env0_0, []); } function _fun17309(a0, a1) { // fn#17309, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:4031, offset: 0x00e69b84, size: 397 bytes, params: 3, frame: 22 var r8; var r10; var r4; var value; var value5; var property; var value6; var value7; var value8; var value9; var length3; var routeNames; var localeCompare; let pattern = a0.pattern; if (pattern === a1.pattern) { routeNames = a1.routeNames; value = routeNames.join('>'); localeCompare = value.localeCompare; routeNames = a0.routeNames; return Reflect.apply(localeCompare, value, [routeNames.join('>')]); } pattern = a0.pattern; let startsWith = pattern.startsWith; if (Reflect.apply(startsWith, pattern, [a1.pattern])) { return -1; } pattern = a1.pattern; if (pattern.startsWith(a0.pattern)) { return 1; } value = a0.pattern.split('/'); const value2 = a1.pattern.split('/'); let Math = global.Math; let max = Math.max; let length = value.length; const value3 = Reflect.apply(max, Math, [length, value2.length]); const value4 = 0; if (value4 < value3) { r8 = value4; reducibleLoop4: while (true) { if (value[r8] == null) { return 1; } if (value2[r8] == null) { return -1; } value5 = value[r8] === '*'; reducibleJoin8: while (true) { if (value5) { r10 = value5; break reducibleJoin8; } property = value[r8]; startsWith = property.startsWith; value6 = Reflect.apply(startsWith, property, [':']); r10 = value6; break reducibleJoin8; } value7 = value2[r8] === '*'; reducibleJoin10: while (true) { if (value7) { r4 = value7; break reducibleJoin10; } property = value2[r8]; startsWith = property.startsWith; value8 = Reflect.apply(startsWith, property, [':']); r4 = value8; break reducibleJoin10; } if (r10) { reducibleJoin12: while (true) { if (r4) { value9 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; Math = global.Math; max = Math.max; length = value.length; length3 = value2.length; if (!(value9 < Reflect.apply(max, Math, [length, length3]))) { return value2.length - value.length; } r8 = value9; continue reducibleLoop4; } break reducibleJoin12; } } if (r10) { return 1; } if (r4) { return -1; } value9 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; Math = global.Math; max = Math.max; length = value.length; length3 = value2.length; if (!(value9 < Reflect.apply(max, Math, [length, length3]))) { return value2.length - value.length; } r8 = value9; continue reducibleLoop4; } } return value2.length - value.length; } function _fun17310(a0, a1) { // fn#17310, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:4520, offset: 0x00e69d11, size: 254 bytes, params: 3, frame: 24 var environment; var routeNames; var routeNames2; var value; var Error; var Object; var assign; let pattern = a1.pattern; if (a0[pattern]) { pattern = a1.pattern; routeNames = a0[pattern].routeNames; routeNames2 = a1.routeNames; if (routeNames.length > routeNames2.length ? routeNames2.every(function(a0, a1) { return routeNames[a1] === a0; }) : routeNames.every(_fun17312)) { Object = global.Object; assign = Object.assign; value = environment.__proto__; return Reflect.apply(assign, Object, [a0, env1_3({}, a1.pattern, a1)]); } Error = global.Error; pattern = a1.pattern; value = routeNames.join(' > '); value = "Found conflicting screens with the same pattern. The pattern '" + pattern + "' resolves to both '" + value + "' and '" + routeNames2.join(' > ') + "'. Patterns must be unique and cannot resolve to more than one screen."; throw new Error(); } Object = global.Object; assign = Object.assign; value = environment.__proto__; return Reflect.apply(assign, Object, [a0, env1_3({}, a1.pattern, a1)]); } function _fun17313(a0) { // fn#17313, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:4998, offset: 0x00e69e0f, size: 46 bytes, params: 2, frame: 12 return a0.path === '' && a0.routeNames.every(_fun17314); } function _fun17316(a0) { // fn#17316, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:5174, offset: 0x00e69e71, size: 11 bytes, params: 2, frame: 2 return {name: a0}; } function _fun17292(a0, a1, a2) { // fn#17292, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:543, offset: 0x00e68f5e, size: 102 bytes, params: 4, frame: 17 const Object = global.Object; const assign = Object.assign; let value = environment.__proto__.__proto__; const binding = env2_3; value = env0_0[2 * (a2 + 1)].replace(RegExp('\\/', ''), ''); value = binding({}, a1, value); return Reflect.apply(assign, Object, [a0, value]); } function _fun17293(a0) { // fn#17293, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:652, offset: 0x00e68fc4, size: 163 bytes, params: 2, frame: 16 var environment; var r2; var path; const env0_0 = a0; let value = environment.__proto__; value = require.find(_fun17294); const value2 = undefined; if (value == null) { r2 = value2; } else { path = value.path; if (path == null) { r2 = value2; } else { value = path.split('/'); value = value.filter(function(a0) { return a0.startsWith(':'); }); value = value.reduce(_fun17296, {}); r2 = value; } } return r2 && global.Object.keys(r2).length ? {name: a0, params: r2} : {name: a0}; } function _fun17314(a0) { // fn#17314, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:5049, offset: 0x00e69e3d, size: 52 bytes, params: 2, frame: 11 var environment; const env0_0 = a0; let value = environment.__proto__; value = env1_2.find(_fun17315); return !(value != null && value.path); } function _fun17294({screen}) { // fn#17294, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:680, offset: 0x00e69067, size: 22 bytes, params: 2, frame: 2 return screen === env0_0; } function _fun17296(a0, a1) { // fn#17296, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1655:819, offset: 0x00e6907d, size: 131 bytes, params: 3, frame: 16 var parse; let value = environment.__proto__; const property = env1_1[a1]; if (property) { value = a1.replace(RegExp('^:', ''), ''); value = value.replace(RegExp('\\?$', ''), ''); parse = env0_1.parse; a0[value] = parse == null ? property : parse[value] ? env0_1.parse[value](property) : property; } return a0; }