/* Metro module 7452; source: unknown; dependencies: [] */ function _fun60118(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60118, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7630:6, offset: 0x016fc496, size: 72 bytes, params: 8, frame: 16 const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); exports.getClientIPAddress = getClientIPAddress_60119; exports.ipHeaderNames = ['X-Client-IP', 'X-Forwarded-For', 'Fly-Client-IP', 'CF-Connecting-IP', 'Fastly-Client-Ip', 'True-Client-Ip', 'X-Real-IP', 'X-Cluster-Client-IP', 'X-Forwarded', 'Forwarded-For', 'Forwarded', 'X-Vercel-Forwarded-For']; function getClientIPAddress_60119(a0) { // fn#60119, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7630:312, offset: 0x016fc4de, size: 75 bytes, params: 2, frame: 14 const env0_0 = a0; let value = env0_0.map(_fun60120); value = value.reduce(function(a0, a1) { var r0; var value = a0; if (a1) { value = value.concat(a1); r0 = value; } else { r0 = value; } return r0; }, []); value = value.find(function(a0) { return a0 !== null && RegExp('(?:^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$)|(?:^(?:(?:[a-fA-F\\d]{1,4}:){7}(?:[a-fA-F\\d]{1,4}|:)|(?:[a-fA-F\\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|:[a-fA-F\\d]{1,4}|:)|(?:[a-fA-F\\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,2}|:)|(?:[a-fA-F\\d]{1,4}:){4}(?:(?::[a-fA-F\\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,3}|:)|(?:[a-fA-F\\d]{1,4}:){3}(?:(?::[a-fA-F\\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,4}|:)|(?:[a-fA-F\\d]{1,4}:){2}(?:(?::[a-fA-F\\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,5}|:)|(?:[a-fA-F\\d]{1,4}:){1}(?:(?::[a-fA-F\\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,6}|:)|(?::(?:(?::[a-fA-F\\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,7}|:)))(?:%[0-9a-zA-Z]{1,})?$)', '').test(a0); }); return value || null; function _fun60120(a0) { // fn#60120, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7630:357, offset: 0x016fc529, size: 204 bytes, params: 2, frame: 18 var environment; var r5; var r0; var r3; var r1; var value; var property; var Array; var isArray; var join; var split; var map; var iterator; var iterator2; var item; var item2; var startsWith; var value2; var slice; var error; exceptionSkip18: while (true) { exceptionLanding18: while (true) { value = environment; property = env0_0[a0]; Array = global.Array; isArray = Array.isArray; if (Reflect.apply(isArray, Array, [property])) { join = property.join; r5 = Reflect.apply(join, property, [';']); } else { r5 = property; } if (a0 === 'Forwarded') { value = null; if (!r5) { r1 = value; continue; } split = r5.split; iterator = Reflect.apply(split, r5, [';'])[Symbol.iterator](); iterator2 = iterator.next; r3 = iterator; loopExit8: while (true) { item2 = Reflect.apply(iterator2, r3, []); item = item2.value; item2 = item2.done ? undefined : r3; if (item2 === undefined) { r1 = value; break loopExit8; } try { startsWith = item.startsWith; } catch (error) { break exceptionLanding18; } try { value2 = Reflect.apply(startsWith, item, ['for=']); } catch (error) { break exceptionLanding18; } if (value2) { try { slice = item.slice; } catch (error) { break exceptionLanding18; } try { value = Reflect.apply(slice, item, [4]); } catch (error) { break exceptionLanding18; } item2.return(); r1 = value; break loopExit8; } r3 = item2; continue; } r0 = r1; } else { if (!r5) { r0 = r5; continue; } split = r5.split; value = Reflect.apply(split, r5, [',']); map = value.map; value = Reflect.apply(map, value, [function(a0) { return a0.trim(); }]); r0 = value; } return r0; break exceptionSkip18; } try { item2.return(); } catch { } throw error; break exceptionSkip18; } } } } global.__d(_fun60118, 7452, []) /* metro module 7452 */;