/* Metro module 1907; source: unknown; dependencies: [] */ function _fun20883(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#20883, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:6, offset: 0x00edeb8c, size: 37 bytes, params: 8, frame: 11 const value = _fun20884(); _fun20918(); module.exports = value; function _fun20884() { // fn#20884, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:43, offset: 0x00edebb1, size: 234 bytes, params: 1, frame: 13 const _getBPP = function(a0) { var property = a0.ctype; property = [1, null, 3, 1, 2, null, 4][property]; return property * a0.depth; }; const closure = function(a0, a1, a2) { var value = a0; var value2 = a1; var value3 = a2; var value4 = value + value2 - value3; var value5 = value4 - value; var value6 = value4 - value2; var value7 = value4 - value3; return value5 * value5 <= value6 * value6 && value5 * value5 <= value7 * value7 ? value : value6 * value6 <= value7 * value7 ? value2 : value3; }; const _copyTile2 = _copyTile; const object = {nextZero: function(a0, a1) { var r2; var r0; var value = a1; if (a0[value] == 0) { r0 = value; } else { for (r2 = value; true; r2 = value) { value = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (a0[value] == 0) { r0 = value; break; } } } return r0; }, readUshort: function(a0, a1) { return a0[a1] << 8 | a0[a1 + 1]; }, writeUshort: function(a0, a1, a2) { a0[a1] = a2 >> 8 & 255; a0[a1 + 1] = 255 & a2; }, readUint: function(a0, a1) { return 16777216 * a0[a1] + (a0[a1 + 1] << 16 | a0[a1 + 2] << 8 | a0[a1 + 3]); }, writeUint: function(a0, a1, a2) { a0[a1] = a2 >> 24 & 255; a0[a1 + 1] = a2 >> 16 & 255; a0[a1 + 2] = a2 >> 8 & 255; a0[a1 + 3] = 255 & a2; }, readASCII: function(a0, a1, a2) { var r1; var r3; var r0; var String; var value3; var value = 0; var value2 = ''; if (value < a2) { r1 = value2; for (r3 = value; true; r3 = value3) { String = global.String; value = r1 + String.fromCharCode(a0[a1 + r3]); value3 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; if (!(value3 < a2)) { r0 = value; break; } r1 = value; } } else { r0 = value2; } return r0; }, writeASCII: function(a0, a1, a2) { var r1; var value = 0; if (value < a2.length) { for (r1 = value; true; r1 = value) { value = a1 + r1; a0[value] = a2.charCodeAt(r1); value = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; if (!(value < a2.length)) { break; } } } }, readBytes: function(a0, a1, a2) { var r1; var items = []; var value = 0; if (value < a2) { for (r1 = value; true; r1 = value) { items.push(a0[a1 + r1]); value = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; if (!(value < a2)) { break; } } } return items; }, pad: function(a0) { var value = a0; return value.length < 2 ? '0' + value : value; }, readUTF8: readUTF8}; const env0_1 = _fun20903(); return {decode: decode_20916, toRGBA8: toRGBA8, _paeth: closure, _copyTile: _copyTile2, _bin: object}; function decodeImage(a0, a1, a2, a3) { // fn#20885, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:923, offset: 0x00edec9b, size: 2285 bytes, params: 5, frame: 47 var tRNS; var r12; var r30; var r33; var r7; var length; var r19; var r26; var r34; var r27; var r6; var r32; var r13; var r20; var r5; var r21; var r2; var tabs; var value10; var value11; var value12; var value13; var property; var value14; var value15; var value16; var value17; var value18; var value19; var value20; var value21; var value22; var value23; var value24; var value25; var value26; var value27; var value28; var value29; var value30; var value31; var value32; var value33; var value34; var value35; var value36; var value37; var value38; var value39; var value40; var value41; var value42; var value43; var value44; var value45; var PLTE; var value46; var value47; var value48; var value49; var value50; var value51; var value52; var value53; var value54; var value55; var value56; var value57; var value58; var value59; var value60; var value61; var value62; var value63; var value64; var value65; var value66; var value67; var value68; var value69; var value70; var value71; var value72; var value73; var property2; var property3; var value74; var value75; var property4; var property5; var value76; var value77; var value78; var value79; var value80; var value81; var property6; var value82; var value83; var value84; var value85; var value86; var value87; var value88; var value89; var value90; var value91; var property7; var value92; var value93; var value94; var value95; var value96; var value97; var value98; var value99; var value100; var value101; var value102; var value103; var value104; var value105; var value106; var value107; var value108; var value109; var value110; var value111; var value112; let value = a1 * a2; const value3 = _getBPP(a3); const Math = global.Math; const value4 = Math.ceil(a1 * value3 / 8); const Uint8Array = global.Uint8Array; const uint8Array = new Uint8Array(4 * value); const Uint32Array = global.Uint32Array; const uint32Array = new Uint32Array(uint8Array.buffer); const ctype = a3.ctype; const depth = a3.depth; const readUshort = env0_0.readUshort; const Date = global.Date; Date.now(); if (ctype == 6) { value <<= 2; reducibleJoin91: while (true) { if (depth != 8) { break reducibleJoin91; } value106 = 0; if (!(value106 < value)) { break reducibleJoin91; } r6 = value106; reducibleLoop90: while (true) { uint8Array[r6] = a0[r6]; value107 = r6 + 1; uint8Array[value107] = a0[value107]; value108 = r6 + 2; uint8Array[value108] = a0[value108]; value109 = r6 + 3; uint8Array[value109] = a0[value109]; value110 = r6 + 4; if (value110 < value) { r6 = value110; continue reducibleLoop90; } break reducibleJoin91; } } reducibleJoin94: while (true) { if (depth != 16) { break reducibleJoin94; } value111 = 0; if (!(value111 < value)) { break reducibleJoin94; } r2 = value111; reducibleLoop93: while (true) { uint8Array[r2] = a0[r2 << 1]; value112 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value112 < value) { r2 = value112; continue reducibleLoop93; } break reducibleJoin94; } } } else if (ctype == 2) { tRNS = a3.tabs.tRNS; if (tRNS == null) { reducibleJoin85: while (true) { if (depth != 8) { break reducibleJoin85; } value96 = 0; if (!(value96 < value)) { break reducibleJoin85; } r13 = value96; reducibleLoop84: while (true) { value97 = 3 * r13; value98 = a0[value97 + 2] << 16; value99 = a0[value97 + 1] << 8; property = a0[value97]; uint32Array[r13] = -16777216 | value98 | value99 | property; value100 = typeof r13 === 'bigint' ? r13 + 1n : +r13 + 1; if (value100 < value) { r13 = value100; continue reducibleLoop84; } break reducibleJoin85; } } reducibleJoin94: while (true) { if (depth != 16) { break reducibleJoin94; } value101 = 0; if (!(value101 < value)) { break reducibleJoin94; } r6 = value101; reducibleLoop87: while (true) { value102 = 6 * r6; value103 = a0[value102 + 4] << 16; value104 = a0[value102 + 2] << 8; property = a0[value102]; uint32Array[r6] = -16777216 | value103 | value104 | property; value105 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value105 < value) { r6 = value105; continue reducibleLoop87; } break reducibleJoin94; } } } else { value75 = 0; property = tRNS[value75]; property4 = tRNS[1]; property5 = tRNS[2]; reducibleJoin73: while (true) { if (depth != 8) { break reducibleJoin73; } if (!(value75 < value)) { break reducibleJoin73; } r5 = value75; reducibleLoop66: while (true) { value76 = r5 << 2; value77 = 3 * r5; value78 = value77 + 2; value79 = a0[value78] << 16; value80 = value77 + 1; value81 = a0[value80] << 8; property6 = a0[value77]; uint32Array[r5] = -16777216 | value79 | value81 | property6; value82 = a0[value77] == property; reducibleJoin68: while (true) { if (value82) { value83 = a0[value80] == property4; r21 = value83; break reducibleJoin68; } r21 = value82; break reducibleJoin68; } reducibleJoin70: while (true) { if (r21) { value84 = a0[value78] == property5; r21 = value84; break reducibleJoin70; } break reducibleJoin70; } reducibleJoin72: while (true) { if (r21) { uint8Array[value76 + 3] = value75; break reducibleJoin72; } break reducibleJoin72; } value85 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1; if (value85 < value) { r5 = value85; continue reducibleLoop66; } break reducibleJoin73; } } reducibleJoin94: while (true) { if (depth != 16) { break reducibleJoin94; } if (!(value75 < value)) { break reducibleJoin94; } r5 = value75; reducibleLoop75: while (true) { value86 = r5 << 2; value87 = 6 * r5; value88 = value87 + 4; value89 = a0[value88] << 16; value90 = value87 + 2; value91 = a0[value90] << 8; property7 = a0[value87]; uint32Array[r5] = -16777216 | value89 | value91 | property7; value92 = readUshort(a0, value87) == property; reducibleJoin77: while (true) { if (value92) { value93 = readUshort(a0, value90) == property4; r20 = value93; break reducibleJoin77; } r20 = value92; break reducibleJoin77; } reducibleJoin79: while (true) { if (r20) { value94 = readUshort(a0, value88) == property5; r20 = value94; break reducibleJoin79; } break reducibleJoin79; } reducibleJoin81: while (true) { if (r20) { uint8Array[value86 + 3] = value75; break reducibleJoin81; } break reducibleJoin81; } value95 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1; if (value95 < value) { r5 = value95; continue reducibleLoop75; } break reducibleJoin94; } } } } else if (ctype == 3) { tabs = a3.tabs; PLTE = tabs.PLTE; tabs = a3.tabs; tRNS = tabs.tRNS; value46 = 0; reducibleJoin37: while (true) { if (tRNS) { length = tRNS.length; break reducibleJoin37; } length = value46; break reducibleJoin37; } reducibleJoin44: while (true) { if (depth != 1) { break reducibleJoin44; } value47 = 255; if (!(value46 < a2)) { break reducibleJoin44; } r19 = value46; reducibleLoop39: while (true) { value48 = r19 * value4; value49 = r19 * a1; if (value46 < a1) { r26 = value46; reducibleLoop40: while (true) { value50 = value49 + r26 << 2; property = a0[value48 + (r26 >> 3)]; value51 = property >> 7 - (7 & r26) & 1; value52 = 3 * value51; uint8Array[value50] = PLTE[value52]; property = PLTE[value52 + 1]; uint8Array[value50 + 1] = property; property = PLTE[value52 + 2]; uint8Array[value50 + 2] = property; reducibleJoin42: while (true) { if (value51 < length) { property = tRNS[value51]; r34 = property; break reducibleJoin42; } r34 = value47; break reducibleJoin42; } uint8Array[value50 + 3] = r34; value53 = typeof r26 === 'bigint' ? r26 + 1n : +r26 + 1; if (value53 < a1) { r26 = value53; continue reducibleLoop40; } break reducibleLoop40; } } value54 = typeof r19 === 'bigint' ? r19 + 1n : +r19 + 1; if (value54 < a2) { r19 = value54; continue reducibleLoop39; } break reducibleJoin44; } } reducibleJoin51: while (true) { if (depth != 2) { break reducibleJoin51; } value55 = 255; if (!(value46 < a2)) { break reducibleJoin51; } r19 = value46; reducibleLoop46: while (true) { value56 = r19 * value4; value57 = r19 * a1; if (value46 < a1) { r27 = value46; reducibleLoop47: while (true) { value58 = value57 + r27 << 2; property = a0[value56 + (r27 >> 2)]; value59 = property >> 6 - ((3 & r27) << 1) & 3; value60 = 3 * value59; uint8Array[value58] = PLTE[value60]; property = PLTE[value60 + 1]; uint8Array[value58 + 1] = property; property = PLTE[value60 + 2]; uint8Array[value58 + 2] = property; reducibleJoin49: while (true) { if (value59 < length) { property = tRNS[value59]; r33 = property; break reducibleJoin49; } r33 = value55; break reducibleJoin49; } uint8Array[value58 + 3] = r33; value61 = typeof r27 === 'bigint' ? r27 + 1n : +r27 + 1; if (value61 < a1) { r27 = value61; continue reducibleLoop47; } break reducibleLoop47; } } value62 = typeof r19 === 'bigint' ? r19 + 1n : +r19 + 1; if (value62 < a2) { r19 = value62; continue reducibleLoop46; } break reducibleJoin51; } } reducibleJoin58: while (true) { if (depth != 4) { break reducibleJoin58; } value63 = 255; if (!(value46 < a2)) { break reducibleJoin58; } r6 = value46; reducibleLoop53: while (true) { value64 = r6 * value4; value65 = r6 * a1; if (value46 < a1) { r26 = value46; reducibleLoop54: while (true) { value66 = value65 + r26 << 2; property = a0[value64 + (r26 >> 1)]; value67 = property >> 4 - ((1 & r26) << 2) & 15; value68 = 3 * value67; uint8Array[value66] = PLTE[value68]; property = PLTE[value68 + 1]; uint8Array[value66 + 1] = property; property = PLTE[value68 + 2]; uint8Array[value66 + 2] = property; reducibleJoin56: while (true) { if (value67 < length) { property = tRNS[value67]; r32 = property; break reducibleJoin56; } r32 = value63; break reducibleJoin56; } uint8Array[value66 + 3] = r32; value69 = typeof r26 === 'bigint' ? r26 + 1n : +r26 + 1; if (value69 < a1) { r26 = value69; continue reducibleLoop54; } break reducibleLoop54; } } value70 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value70 < a2) { r6 = value70; continue reducibleLoop53; } break reducibleJoin58; } } reducibleJoin94: while (true) { if (depth != 8) { break reducibleJoin94; } value71 = 255; if (!(value46 < value)) { break reducibleJoin94; } r13 = value46; reducibleLoop60: while (true) { value72 = r13 << 2; property = a0[r13]; value73 = 3 * property; uint8Array[value72] = PLTE[value73]; property2 = PLTE[value73 + 1]; uint8Array[value72 + 1] = property2; property3 = PLTE[value73 + 2]; uint8Array[value72 + 2] = property3; reducibleJoin62: while (true) { if (property < length) { property = tRNS[property]; r20 = property; break reducibleJoin62; } r20 = value71; break reducibleJoin62; } uint8Array[value72 + 3] = r20; value74 = typeof r13 === 'bigint' ? r13 + 1n : +r13 + 1; if (value74 < value) { r13 = value74; continue reducibleLoop60; } break reducibleJoin94; } } } else if (ctype == 4) { reducibleJoin32: while (true) { if (depth != 8) { break reducibleJoin32; } value38 = 0; if (!(value38 < value)) { break reducibleJoin32; } r7 = value38; reducibleLoop31: while (true) { value39 = r7 << 2; value40 = r7 << 1; property = a0[value40]; uint8Array[value39] = property; uint8Array[value39 + 1] = property; uint8Array[value39 + 2] = property; property = a0[value40 + 1]; uint8Array[value39 + 3] = property; value41 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1; if (value41 < value) { r7 = value41; continue reducibleLoop31; } break reducibleJoin32; } } reducibleJoin94: while (true) { if (depth != 16) { break reducibleJoin94; } value42 = 0; if (!(value42 < value)) { break reducibleJoin94; } r7 = value42; reducibleLoop34: while (true) { value43 = r7 << 2; value44 = r7 << 2; property = a0[value44]; uint8Array[value43] = property; uint8Array[value43 + 1] = property; uint8Array[value43 + 2] = property; property = a0[value44 + 2]; uint8Array[value43 + 3] = property; value45 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1; if (value45 < value) { r7 = value45; continue reducibleLoop34; } break reducibleJoin94; } } } else { value = 0; reducibleJoin94: while (true) { if (value != ctype) { break reducibleJoin94; } tabs = a3.tabs; tRNS = tabs.tRNS; value10 = -1; reducibleJoin7: while (true) { if (tRNS) { tabs = a3.tabs; tRNS = tabs.tRNS; break reducibleJoin7; } tRNS = value10; break reducibleJoin7; } value11 = 255; if (!(value < a2)) { break reducibleJoin94; } r12 = value; reducibleLoop8: while (true) { value12 = r12 * value4; value13 = r12 * a1; if (depth == 1) { if (value < a1) { r30 = value; reducibleLoop26: while (true) { property = a0[value12 + (r30 >>> 3)]; value32 = value11 * (property >>> 7 - (7 & r30) & 1); r33 = value32 !== value11 * tRNS ? value11 : value; value33 = value13 + r30; value34 = r33 << 24; value35 = value34 | value32 << 16; uint32Array[value33] = value35 | value32 << 8 | value32; value36 = typeof r30 === 'bigint' ? r30 + 1n : +r30 + 1; if (value36 < a1) { r30 = value36; continue reducibleLoop26; } break reducibleLoop26; } } } else if (depth == 2) { if (value < a1) { r30 = value; reducibleLoop23: while (true) { property = a0[value12 + (r30 >>> 2)]; value27 = 85 * (property >>> 6 - ((3 & r30) << 1) & 3); r33 = value27 !== 85 * tRNS ? value11 : value; value28 = value13 + r30; value29 = r33 << 24; value30 = value29 | value27 << 16; uint32Array[value28] = value30 | value27 << 8 | value27; value31 = typeof r30 === 'bigint' ? r30 + 1n : +r30 + 1; if (value31 < a1) { r30 = value31; continue reducibleLoop23; } break reducibleLoop23; } } } else if (depth == 4) { if (value < a1) { r30 = value; reducibleLoop20: while (true) { property = a0[value12 + (r30 >>> 1)]; value22 = 17 * (property >>> 4 - ((1 & r30) << 2) & 15); r33 = value22 !== 17 * tRNS ? value11 : value; value23 = value13 + r30; value24 = r33 << 24; value25 = value24 | value22 << 16; uint32Array[value23] = value25 | value22 << 8 | value22; value26 = typeof r30 === 'bigint' ? r30 + 1n : +r30 + 1; if (value26 < a1) { r30 = value26; continue reducibleLoop20; } break reducibleLoop20; } } } else if (depth == 8) { if (value < a1) { r30 = value; reducibleLoop17: while (true) { property = a0[value12 + r30]; r33 = property == tRNS ? value : value11; value18 = value13 + r30; value19 = property << 16; value20 = property << 8; uint32Array[value18] = r33 << 24 | value19 | value20 | property; value21 = typeof r30 === 'bigint' ? r30 + 1n : +r30 + 1; if (value21 < a1) { r30 = value21; continue reducibleLoop17; } break reducibleLoop17; } } } else { reducibleJoin28: while (true) { if (depth != 16) { break reducibleJoin28; } if (!(value < a1)) { break reducibleJoin28; } r30 = value; reducibleLoop14: while (true) { property = a0[value12 + (r30 << 1)]; r33 = readUshort(a0, value12 + (r30 << 1)) == tRNS ? value : value11; value14 = value13 + r30; value15 = property << 16; value16 = property << 8; uint32Array[value14] = r33 << 24 | value15 | value16 | property; value17 = typeof r30 === 'bigint' ? r30 + 1n : +r30 + 1; if (value17 < a1) { r30 = value17; continue reducibleLoop14; } break reducibleJoin28; } } } value37 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1; if (value37 < a2) { r12 = value37; continue reducibleLoop8; } break reducibleJoin94; } } } return uint8Array; } function _decompress(a0, a1, a2, a3) { // fn#20886, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:3137, offset: 0x00edf588, size: 926 bytes, params: 5, frame: 66 var r12; var r13; var r33; var r34; var r35; var r36; var r38; var r39; var r48; var r49; var r50; var r0; var width; var height; var value11; var value12; var value13; var value14; var value15; var value16; var items5; var items2; var items3; var items4; var property; var property2; var property3; var value17; var value18; var property4; var value19; var value20; var value21; var property5; var property6; var value22; var property7; var value23; var value24; var value25; var property8; var value26; var value27; var property9; var value28; var value29; var value30; var property10; var value31; var value32; var property11; var value33; var value34; var value35; var property12; var value36; var value37; var value38; var value39; var value40; var value41; var value42; var value43; var value44; var value45; var value46; var value47; let Date = global.Date; Date.now(); const value2 = _getBPP(a0); let Math = global.Math; const value3 = Math.ceil(a2 * value2 / 8); let Uint8Array = global.Uint8Array; const value4 = value3 + 1; let interlace = a0.interlace; const value5 = (value4 + interlace) * a3; let prototype = Uint8Array.prototype; const value6 = Object.create(prototype, {constructor: {value: Uint8Array}}); let uint8Array = new Uint8Array(value5); const value7 = uint8Array instanceof Object ? uint8Array : value6; const r1 = a0.tabs.CgBI ? env0_1(a1, value7) : _inflate(a1, value7); Date = global.Date; Date.now(); interlace = a0.interlace; const value10 = 0; if (value10 == interlace) { _filterZero(r1, a0, value10, a2, a3); r0 = r1; } else { reducibleJoin27: while (true) { if (a0.interlace != 1) { r0 = r1; break reducibleJoin27; } width = a0.width; height = a0.height; value11 = _getBPP(a0); value12 = value11 >> 3; Math = global.Math; ceil = Math.ceil; value13 = Reflect.apply(ceil, Math, [width * value11 / 8]); Uint8Array = global.Uint8Array; value14 = height * value13; prototype = Uint8Array.prototype; value15 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value16 = uint8Array instanceof Object ? uint8Array : value15; items5 = [0, 0, 4, 0, 2, 0, 1]; items2 = [0, 4, 0, 2, 0, 1, 0]; items3 = [8, 8, 8, 4, 4, 2, 2]; items4 = [8, 8, 4, 4, 2, 2, 1]; r12 = value10; r13 = value10; reducibleLoop6: while (true) { property = items3[r12]; property2 = items4[r12]; property3 = items5[r12]; if (property3 < height) { r33 = value10; r34 = property3; reducibleLoop7: while (true) { value17 = r34 + property; value18 = typeof r33 === 'bigint' ? r33 + 1n : +r33 + 1; if (value17 < height) { r33 = value18; r34 = value17; continue reducibleLoop7; } r35 = value18; break reducibleLoop7; } } else { r35 = value10; } property4 = items2[r12]; if (property4 < width) { r34 = value10; r36 = property4; reducibleLoop9: while (true) { value19 = r36 + property2; value20 = typeof r34 === 'bigint' ? r34 + 1n : +r34 + 1; if (value19 < width) { r34 = value20; r36 = value19; continue reducibleLoop9; } r33 = value20; break reducibleLoop9; } } else { r33 = value10; } Math = global.Math; ceil = Math.ceil; value21 = Reflect.apply(ceil, Math, [r33 * value11 / 8]); _filterZero(r1, a0, r13, r33, r35); property5 = items5[r12]; if (property5 < height) { r38 = value10; r39 = property5; reducibleLoop11: while (true) { property6 = items2[r12]; value22 = r13 + r38 * value21 << 3; if (property6 < width) { r48 = value22; r49 = property6; reducibleLoop12: while (true) { reducibleJoin14: while (true) { if (value11 != 1) { break reducibleJoin14; } property7 = r1[r48 >> 3]; value23 = property7 >> 7 - (7 & r48); value24 = r39 * value13; value25 = value24 + (r49 >> 3); property8 = value16[value25]; value26 = 7 & r49; value27 = value23 & 1; value16[value25] = property8 | value27 << 7 - value26; break reducibleJoin14; } reducibleJoin16: while (true) { if (value11 != 2) { break reducibleJoin16; } property9 = r1[r48 >> 3]; value28 = property9 >> 6 - (7 & r48); value29 = r39 * value13; value30 = value29 + (r49 >> 2); property10 = value16[value30]; value31 = 3 & r49; value32 = value28 & 3; value16[value30] = property10 | value32 << 6 - (value31 << 1); break reducibleJoin16; } reducibleJoin18: while (true) { if (value11 != 4) { break reducibleJoin18; } property11 = r1[r48 >> 3]; value33 = property11 >> 4 - (7 & r48); value34 = r39 * value13; value35 = value34 + (r49 >> 1); property12 = value16[value35]; value36 = 1 & r49; value37 = value33 & 15; value16[value35] = property12 | value37 << 4 - (value36 << 2); break reducibleJoin18; } reducibleJoin21: while (true) { if (!(value11 >= 8)) { break reducibleJoin21; } value38 = r39 * value13; value39 = value38 + r49 * value12; if (!(value10 < value12)) { break reducibleJoin21; } r50 = value10; reducibleLoop20: while (true) { value40 = value39 + r50; value16[value40] = r1[(r48 >> 3) + r50]; value41 = typeof r50 === 'bigint' ? r50 + 1n : +r50 + 1; if (value41 < value12) { r50 = value41; continue reducibleLoop20; } break reducibleJoin21; } } value42 = r48 + value11; value43 = r49 + property2; if (value43 < width) { r48 = value42; r49 = value43; continue reducibleLoop12; } break reducibleLoop12; } } value44 = typeof r38 === 'bigint' ? r38 + 1n : +r38 + 1; value45 = r39 + property; if (value45 < height) { r38 = value44; r39 = value45; continue reducibleLoop11; } break reducibleLoop11; } } reducibleJoin25: while (true) { if (r33 * r35 == value10) { r33 = r13; break reducibleJoin25; } value46 = r13 + r35 * (1 + value21); r33 = value46; break reducibleJoin25; } value47 = r12 + 1; if (value47 < 7) { r12 = value47; r13 = r33; continue reducibleLoop6; } r0 = value16; break reducibleJoin27; } } } return r0; } function _inflate({buffer, length}, a1) { // fn#20887, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:4067, offset: 0x00edf926, size: 72 bytes, params: 3, frame: 16 const binding = env0_1; const Uint8Array = global.Uint8Array; const value = length - 6; const value2 = Object.create(Uint8Array.prototype, {constructor: {value: Uint8Array}}); const uint8Array = new Uint8Array(buffer, 2, value); return binding(uint8Array instanceof Object ? uint8Array : value2, a1); } function _filterZero(a0, a1, a2, a3, a4) { // fn#20889, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:7741, offset: 0x00edf991, size: 710 bytes, params: 6, frame: 31 var r1; var r15; var r12; var value5; var value6; var value7; var value9; var value10; var value11; var _paethBinding; var value12; var value13; var property2; var property3; var value14; var value15; var value16; var value17; var property4; var value18; var value19; var value20; var value21; var value22; var value23; var value24; var value25; var value26; var value27; const value2 = _getBPP(a1); let Math = global.Math; const value3 = Math.ceil(a3 * value2 / 8); Math = global.Math; const value4 = Math.ceil(value2 / 8); let property = a0[a2]; reducibleJoin2: while (true) { if (property > 1) { value5 = property - 2; a0[a2] = [0, 0, 1][value5]; break reducibleJoin2; } break reducibleJoin2; } reducibleJoin5: while (true) { if (property != 3) { break reducibleJoin5; } if (!(value4 < value3)) { break reducibleJoin5; } r1 = value4; reducibleLoop4: while (true) { value6 = r1 + 1; property = a0[r1 + 1]; a0[value6] = property + (a0[r1 + 1 - value4] >>> 1) & 255; value7 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; if (value7 < value3) { r1 = value7; continue reducibleLoop4; } break reducibleJoin5; } } const value8 = 0; if (value8 < a4) { r1 = value8; reducibleLoop6: while (true) { value9 = a2 + r1 * value3; value10 = value9 + r1 + 1; property = a0[value10 - 1]; if (value8 == property) { if (value8 < value3) { r12 = value8; reducibleLoop25: while (true) { value25 = value9 + r12; a0[value25] = a0[value10 + r12]; value26 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1; if (value26 < value3) { r12 = value26; continue reducibleLoop25; } break reducibleLoop25; } } } else if (property == 1) { if (value8 < value4) { r15 = value8; reducibleLoop21: while (true) { value21 = value9 + r15; a0[value21] = a0[value10 + r15]; value22 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1; if (value22 < value4) { r15 = value22; continue reducibleLoop21; } r12 = value22; break reducibleLoop21; } } else { r12 = value8; } if (r12 < value3) { reducibleLoop23: while (true) { value23 = value9 + r12; property = a0[value10 + r12]; a0[value23] = property + a0[value9 + r12 - value4]; value24 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1; if (value24 < value3) { r12 = value24; continue reducibleLoop23; } break reducibleLoop23; } } } else if (property == 2) { if (value8 < value3) { r12 = value8; reducibleLoop19: while (true) { value19 = value9 + r12; property = a0[value10 + r12]; a0[value19] = property + a0[value9 + r12 - value3]; value20 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1; if (value20 < value3) { r12 = value20; continue reducibleLoop19; } break reducibleLoop19; } } } else if (property == 3) { if (value8 < value4) { r15 = value8; reducibleLoop15: while (true) { value15 = value9 + r15; property = a0[value10 + r15]; a0[value15] = property + (a0[value9 + r15 - value3] >>> 1); value16 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1; if (value16 < value4) { r15 = value16; continue reducibleLoop15; } r12 = value16; break reducibleLoop15; } } else { r12 = value8; } if (r12 < value3) { reducibleLoop17: while (true) { value17 = value9 + r12; property = a0[value10 + r12]; property4 = a0[value9 + r12 - value3]; a0[value17] = property + (property4 + a0[value9 + r12 - value4] >>> 1); value18 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1; if (value18 < value3) { r12 = value18; continue reducibleLoop17; } break reducibleLoop17; } } } else { if (value8 < value4) { r15 = value8; reducibleLoop11: while (true) { value11 = value9 + r15; property = a0[value10 + r15]; a0[value11] = property + _paeth(value8, a0[value9 + r15 - value3], value8); value12 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1; if (value12 < value4) { r15 = value12; continue reducibleLoop11; } r12 = value12; break reducibleLoop11; } } else { r12 = value8; } if (r12 < value3) { reducibleLoop13: while (true) { value13 = value9 + r12; property = a0[value10 + r12]; _paethBinding = _paeth; property2 = a0[value9 + r12 - value4]; property3 = a0[value9 + r12 - value3]; a0[value13] = property + _paethBinding(property2, property3, a0[value9 + r12 - value4 - value3]); value14 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1; if (value14 < value3) { r12 = value14; continue reducibleLoop13; } break reducibleLoop13; } } } value27 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; if (value27 < a4) { r1 = value27; continue reducibleLoop6; } break reducibleLoop6; } } return a0; } function _IHDR(a0, a1, a2) { // fn#20891, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:8464, offset: 0x00edfca0, size: 133 bytes, params: 4, frame: 15 var value; let binding = env0_0; a2.width = binding.readUint(a0, a1); const value2 = a1 + 4; binding = env0_0; a2.height = binding.readUint(a0, value2); a2.depth = a0[value2 + 4]; value = typeof value === 'bigint' ? value + 1n : +value + 1; a2.ctype = a0[value]; value = typeof value === 'bigint' ? value + 1n : +value + 1; a2.compress = a0[value]; value = typeof value === 'bigint' ? value + 1n : +value + 1; a2.filter = a0[value]; a2.interlace = a0[typeof value === 'bigint' ? value + 1n : +value + 1]; } function readUTF8(a0, a1, a2) { // fn#20902, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:763, offset: 0x00ee0345, size: 135 bytes, params: 4, frame: 25 var r5; var r10; var binding; var pad; var property; var toString; var value4; var decodeURIComponent; var error; let value = ''; const value2 = 0; if (value2 < a2) { r5 = value; for (r10 = value2; true; r10 = value4) { binding = env0_0; pad = binding.pad; property = a0[a1 + r10]; toString = property.toString; value = r5 + ('%' + Reflect.apply(pad, binding, [Reflect.apply(toString, property, [16])])); value4 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1; if (!(value4 < a2)) { r5 = value; break; } r5 = value; } } else { r5 = value; } try { decodeURIComponent = global.decodeURIComponent; value = decodeURIComponent(r5); } catch (error) { binding = env0_0; return binding.readASCII(a0, a1, a2); } return value; } function _fun20903() { // fn#20903, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:4146, offset: 0x00ee03cc, size: 700 bytes, params: 1, frame: 16 const F = function(a0, a1, a2) { var value = a0[a1 >>> 3] | a0[1 + (a1 >>> 3)] << 8; var value2 = 7 & a1; var value3 = 1 << a2; value >>>= value2; return value & value3 - 1; }; const s_20908 = function(a0, a1, a2) { var value = a0[a1 >>> 3] | a0[1 + (a1 >>> 3)] << 8; var value2 = a0[2 + (a1 >>> 3)] << 16; var value3 = 7 & a1; var value4 = 1 << a2; value = (value | value2) >>> value3; return value & value4 - 1; }; const w_20909 = function(a0, a1) { return (a0[a1 >>> 3] | a0[1 + (a1 >>> 3)] << 8 | a0[2 + (a1 >>> 3)] << 16) >>> (7 & a1); }; const H = function(a0, a1) { var length = a0.length; if (a1 <= length) { return a0; } var Uint8Array = global.Uint8Array; var Math = global.Math; var value = Math.max(length << 1, a1); value = new Uint8Array(value); value.set(a0, 0); return value; }; const d = function(a0, a1, a2, a3) { var r6; var r7; var r0; var r1; var property; var value3; var value4; var value = a3.length >>> 1; var value2 = 0; if (value2 < a2) { r6 = value2; r7 = value2; while (true) { property = a0[r6 + a1]; a3[r6 << 1] = value2; a3[1 + (r6 << 1)] = property; r7 = property > r7 ? property : r7; value3 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value3 < a2) { r6 = value3; continue; } r0 = r7; r1 = value3; break; } } else { r0 = value2; r1 = value2; } if (r1 < value) { while (true) { a3[r1 << 1] = value2; a3[1 + (r1 << 1)] = value2; value4 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; if (!(value4 < value)) { break; } r1 = value4; } } return r0; }; const Uint16Array = global.Uint16Array; const Uint32Array = global.Uint32Array; const object = {}; object.m = new Uint16Array(16); object.v = new Uint16Array(16); object.d = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; object.o = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 999, 999, 999]; object.z = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0]; object.B = new Uint16Array(32); object.p = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 65535, 65535]; object.w = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0]; object.h = new Uint32Array(32); object.g = new Uint16Array(512); object.s = []; object.A = new Uint16Array(32); object.t = []; object.k = new Uint16Array(32768); object.c = []; object.a = []; object.n = new Uint16Array(32768); object.e = []; object.C = new Uint16Array(512); object.b = []; object.i = new Uint16Array(32768); object.r = new Uint32Array(286); object.f = new Uint32Array(30); object.l = new Uint32Array(19); object.u = new Uint32Array(15000); object.q = new Uint16Array(65536); object.j = new Uint16Array(32768); _fun20913(); return v; function C_20904(a0, a1) { // fn#20904, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:4866, offset: 0x00ee0688, size: 189 bytes, params: 3, frame: 11 var r1; var r0; var r7; var value3; var property; var property2; var value5; var value6; var property3; const length = a0.length; let value = environment; const v = env0_0.v; const value2 = 0; if (value2 <= a1) { for (r1 = value2; true; r1 = value3) { v[r1] = value2; value3 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; if (!(value3 <= a1)) { break; } } } const value4 = 1; if (value4 < length) { for (r1 = value4; true; r1 = value5) { property = a0[r1]; property2 = v[property]; v[property] = typeof property2 === 'bigint' ? property2 + 1n : +property2 + 1; value5 = r1 + 2; if (!(value5 < length)) { break; } } } const m = env0_0.m; v[value2] = value2; if (value4 <= a1) { r0 = value4; for (r7 = value2; true; r7 = value) { value = r7 + v[r0 - value4] << value4; m[r0] = value; value6 = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1; if (!(value6 <= a1)) { break; } r0 = value6; } } if (value2 < length) { r0 = value2; while (true) { property = a0[r0 + value4]; if (value2 != property) { a0[r0] = m[property]; property3 = m[property]; m[property] = typeof property3 === 'bigint' ? property3 + 1n : +property3 + 1; } value = r0 + 2; if (value < length) { r0 = value; continue; } break; } } } function t_20905(a0, a1, a2) { // fn#20905, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:5072, offset: 0x00ee0745, size: 163 bytes, params: 4, frame: 20 var r4; var r15; var value2; var property; var value3; var value4; var value5; var value6; var value7; var value8; const length = a0.length; const i = env0_0.i; const value = 0; if (value < length) { r4 = value; reducibleLoop1: while (true) { value2 = r4 + 1; reducibleJoin4: while (true) { if (value == a0[value2]) { break reducibleJoin4; } property = a0[value2]; value3 = r4 >> 1 << 4 | property; value4 = a1 - property; value5 = a0[r4] << value4; value6 = value5 + (1 << value4); if (value5 == value6) { break reducibleJoin4; } r15 = value5; reducibleLoop3: while (true) { property = i[r15]; a2[property >>> 15 - a1] = value3; value7 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1; if (value7 != value6) { r15 = value7; continue reducibleLoop3; } break reducibleJoin4; } } value8 = r4 + 2; if (value8 < length) { r4 = value8; continue reducibleLoop1; } break reducibleLoop1; } } } function g(a0, a1) { // fn#20906, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:5230, offset: 0x00ee07e8, size: 94 bytes, params: 3, frame: 9 var r3; var property; var value3; const i = env0_0.i; const value = 15 - a1; let length = a0.length; const value2 = 0; if (value2 < length) { for (r3 = value2; true; r3 = value3) { property = a0[r3]; a0[r3] = i[property << a1 - a0[r3 + 1]] >>> value; value3 = r3 + 2; length = a0.length; if (!(value3 < length)) { break; } } } } function B_20911(a0, a1, a2, a3, a4, a5) { // fn#20911, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:5658, offset: 0x00ee0994, size: 305 bytes, params: 7, frame: 47 var r4; var r5; var r33; var r34; var r35; var r31; var r24; var r25; var r0; var property; var value4; var value5; var value6; var value7; var value8; var value9; let value = a4; const value2 = 0; if (value2 < a2) { r4 = value2; r5 = value; reducibleLoop1: while (true) { property = a0[w_20909(a3, r5) & a1]; value = r5 + (15 & property); value4 = property >>> 4; if (value4 <= 15) { a5[r4] = value4; value9 = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1; r24 = value9; r25 = value; } else { if (value4 === 16) { value7 = 3 + F(a3, value, 2); value += 2; property = a5[r4 - 1]; r33 = value7; r34 = property; r35 = value; } else if (value4 === 17) { value6 = 3 + F(a3, value, 3); value += 3; r33 = value6; r34 = value2; r35 = value; } else { reducibleJoin8: while (true) { if (value4 !== 18) { r33 = value2; r34 = value2; r35 = value; break reducibleJoin8; } value5 = 11 + F(a3, value, 7); value += 7; r33 = value5; r34 = value2; r35 = value; break reducibleJoin8; } } value = r4 + r33; if (r4 < value) { r31 = r4; reducibleLoop9: while (true) { a5[r31] = r34; value8 = typeof r31 === 'bigint' ? r31 + 1n : +r31 + 1; if (value8 < value) { r31 = value8; continue reducibleLoop9; } r24 = value8; r25 = r35; break reducibleLoop9; } } else { r24 = r4; r25 = r35; } } if (r24 < a2) { r4 = r24; r5 = r25; continue reducibleLoop1; } r0 = r25; break reducibleLoop1; } } else { r0 = value; } return r0; } function _fun20913() { // fn#20913, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:6067, offset: 0x00ee0b3f, size: 637 bytes, params: 1, frame: 34 var r0; var value3; var value4; var value5; var value6; var value7; var value8; var value9; var value10; var value11; var value12; var i; var value13; var value14; var B; var o; var value15; var z; var h; var p; var value16; var w; var value17; const closure = function(a0, a1, a2) { var r2; var value3; var value = typeof a1 === 'bigint' ? a1 : +a1; if (value != 0) { for (r2 = typeof value === 'bigint' ? value - 1n : +value - 1; true; r2 = value3) { a0.push(0, a2); value = typeof r2 === 'bigint' ? r2 : +r2; value3 = typeof value === 'bigint' ? value - 1n : +value - 1; if (value == 0) { break; } } } }; let value = 0; let r7 = value; reducibleLoop1: while (true) { value3 = 2863311530 & r7; value4 = 1431655765 & r7; value5 = value3 >>> 1; value6 = value5 | value4 << 1; value7 = (3435973836 & value6) >>> 2; value8 = value7 | (858993459 & value6) << 2; value9 = (4042322160 & value8) >>> 4; value10 = value9 | (252645135 & value8) << 4; value11 = (4278255360 & value10) >>> 8; value12 = value11 | (16711935 & value10) << 8; i = env0_0.i; value13 = value12 >>> 16; i[r7] = (value13 | value12 << 16) >>> 17; value14 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1; if (value14 < 32768) { r7 = value14; continue reducibleLoop1; } r0 = value; break reducibleLoop1; } reducibleLoop2: while (true) { B = env0_0.B; o = env0_0.o; value15 = o[r0] << 3; z = env0_0.z; B[r0] = value15 | z[r0]; h = env0_0.h; p = env0_0.p; value16 = p[r0] << 4; w = env0_0.w; h[r0] = value16 | w[r0]; value17 = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1; if (value17 < 32) { r0 = value17; continue reducibleLoop2; } break reducibleLoop2; } closure(env0_0.s, 144, 8); closure(env0_0.s, 112, 9); closure(env0_0.s, 24, 7); closure(env0_0.s, 8, 8); C_20904(env0_0.s, 9); const t_20905Binding = t_20905; t_20905Binding(env0_0.s, 9, env0_0.g); const gBinding = g; gBinding(env0_0.s, 9); let t = env0_0.t; closure(t, 32, 5); C_20904(env0_0.t, 5); t = env0_0.t; const A = env0_0.A; t_20905Binding(t, 5, A); gBinding(env0_0.t, 5); closure(env0_0.b, 19, value); closure(env0_0.c, 286, value); closure(env0_0.e, 30, value); closure(env0_0.a, 320, value); } function v(a0, a1) { // fn#20915, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:6574, offset: 0x00ee0dea, size: 1608 bytes, params: 3, frame: 103 var r67; var r2; var r4; var r53; var r43; var r45; var r46; var r44; var r6; var r7; var r8; var r84; var r86; var r83; var r82; var r61; var r62; var r75; var r76; var r80; var r81; var r59; var r0; var length; var prototype; var value4; var uint8Array; var s_20908Binding; var value9; var value10; var value11; var value12; var value13; var value14; var property; var value15; var value16; var set; var buffer; var byteOffset; var value17; var value18; var value19; var value20; var value21; var value22; var g; var A; var value23; var value24; var value25; var value26; var b; var value27; var value28; var d2; var value29; var t_20905Binding; var C; var k; var n; var a; var value30; var value31; var value32; var dBinding; var c; var value33; var value34; var e; var value35; var value36; var value37; var value38; var value39; var B; var value40; var value41; var value42; var value43; var value44; var h; var value45; var value46; var value47; var value48; var value49; var value50; var value51; var value52; var value53; var value54; var value55; var value56; var slice; var value57; var value58; let value = a1; const Uint8Array = global.Uint8Array; const value2 = 0; if (a0[value2] == 3) { reducibleJoin2: while (true) { if (value2 == a0[1]) { reducibleJoin37: while (true) { if (value) { r0 = value; break reducibleJoin37; } prototype = Uint8Array.prototype; value = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(value2); value = uint8Array instanceof Object ? uint8Array : value; r0 = value; break reducibleJoin37; } return r0; } break reducibleJoin2; } } const value3 = value == null; reducibleJoin4: while (true) { if (value3) { length = a0.length; value = length >>> 2; prototype = Uint8Array.prototype; value4 = Object.create(prototype, {constructor: {value: Uint8Array}}); value <<= 3; uint8Array = new Uint8Array(value); value = uint8Array instanceof Object ? uint8Array : value4; r67 = value; break reducibleJoin4; } r67 = value; break reducibleJoin4; } value = undefined; const value6 = 1; const value7 = 511; const value8 = 31; let r14 = value2; let r15 = value2; let r19 = value; let r20 = value; let r65 = value2; let r66 = value2; reducibleLoop5: while (true) { s_20908Binding = s_20908; value9 = s_20908Binding(a0, r65, value6); value10 = s_20908Binding(a0, r65 + value6, 2); value11 = r65 + 3; if (value2 !== value10) { reducibleJoin13: while (true) { if (value3) { value22 = H(r67, r66 + 131072); r53 = value22; break reducibleJoin13; } r53 = r67; break reducibleJoin13; } reducibleJoin15: while (true) { if (value6 !== value10) { break reducibleJoin15; } g = env0_0.g; A = env0_0.A; r14 = value8; r15 = value7; r19 = A; r20 = g; break reducibleJoin15; } reducibleJoin22: while (true) { if (value10 !== 2) { r6 = value11; r7 = r66; r8 = r53; break reducibleJoin22; } value23 = F(a0, value11, 5) + 257; value24 = F(a0, value11 + 5, 5) + value6; value25 = F(a0, value11 + 10, 4) + 4; value26 = value11 + 14; r43 = value2; reducibleLoop17: while (true) { b = env0_0.b; b[r43] = value2; b = env0_0.b; b[r43 + value6] = value2; value27 = r43 + 2; if (value27 < 38) { r43 = value27; continue reducibleLoop17; } break reducibleLoop17; } if (value2 < value25) { r45 = value2; r46 = value6; reducibleLoop19: while (true) { value28 = F(a0, value26 + 3 * r45, 3); b = env0_0.b; d2 = env0_0.d; b[value6 + (d2[r45] << value6)] = value28; if (value28 > r46) { r46 = value28; } value29 = typeof r45 === 'bigint' ? r45 + 1n : +r45 + 1; if (value29 < value25) { r45 = value29; continue reducibleLoop19; } r44 = r46; break reducibleLoop19; } } else { r44 = value6; } b = env0_0.b; C_20904(b, r44); t_20905Binding = t_20905; b = env0_0.b; C = env0_0.C; t_20905Binding(b, r44, C); k = env0_0.k; n = env0_0.n; C = env0_0.C; a = env0_0.a; value30 = (value6 << r44) - value6; value31 = value23 + value24; value32 = B_20911(C, value30, value31, a0, value26 + 3 * value25, a); dBinding = d; a = env0_0.a; c = env0_0.c; value33 = dBinding(a, value2, value23, c); value34 = (value6 << value33) - value6; a = env0_0.a; e = env0_0.e; value35 = dBinding(a, value23, value24, e); value36 = (value6 << value35) - value6; c = env0_0.c; C_20904(c, value33); c = env0_0.c; t_20905Binding(c, value33, k); e = env0_0.e; C_20904(e, value35); e = env0_0.e; t_20905Binding(e, value35, n); r6 = value32; r7 = r66; r8 = r53; r14 = value36; r15 = value34; r19 = n; r20 = k; break reducibleJoin22; } reducibleLoop22: while (true) { property = r20[w_20909(a0, r6) & r15]; value37 = r6 + (15 & property); value38 = property >>> 4; reducibleJoin23: while (true) { if (value38 >>> 8 === value2) { value57 = typeof r7 === 'bigint' ? r7 : +r7; value58 = typeof value57 === 'bigint' ? value57 + 1n : +value57 + 1; r8[value57] = value38; r6 = value37; r7 = value58; continue reducibleLoop22; } break reducibleJoin23; } if (value38 === 256) { r61 = r8; r62 = r7; r65 = value37; r75 = r14; r76 = r15; r80 = r19; r81 = r20; break reducibleLoop22; } value39 = r7 + value38 - 254; reducibleJoin26: while (true) { if (value38 > 264) { B = env0_0.B; property = B[value38 - 257]; value40 = r7 + (property >>> 3); value41 = value40 + F(a0, value37, 7 & property); value42 = value37 + (7 & property); r84 = value42; r86 = value41; break reducibleJoin26; } r84 = value37; r86 = value39; break reducibleJoin26; } property = r19[w_20909(a0, r84) & r14]; value43 = r84 + (15 & property); value44 = property >>> 4; h = env0_0.h; property = h[value44]; value45 = property >>> 4; value46 = value45 + s_20908(a0, value43, 15 & property); value47 = value43 + (15 & property); reducibleJoin28: while (true) { if (value3) { value48 = H(r8, r7 + 131072); r83 = value48; break reducibleJoin28; } r83 = r8; break reducibleJoin28; } if (!(r7 < r86)) { r6 = value47; r7 = r86; r8 = r83; continue reducibleLoop22; } r82 = r7; reducibleLoop29: while (true) { value49 = typeof r82 === 'bigint' ? r82 : +r82; value50 = typeof value49 === 'bigint' ? value49 + 1n : +value49 + 1; r83[r82] = r83[value49 - value46]; value51 = typeof value50 === 'bigint' ? value50 : +value50; value52 = typeof value51 === 'bigint' ? value51 + 1n : +value51 + 1; r83[value50] = r83[value51 - value46]; value53 = typeof value52 === 'bigint' ? value52 : +value52; value54 = typeof value53 === 'bigint' ? value53 + 1n : +value53 + 1; r83[value52] = r83[value53 - value46]; value55 = typeof value54 === 'bigint' ? value54 : +value54; value56 = typeof value55 === 'bigint' ? value55 + 1n : +value55 + 1; r83[value54] = r83[value55 - value46]; if (value56 < r86) { r82 = value56; continue reducibleLoop29; } r6 = value47; r7 = r86; r8 = r83; continue reducibleLoop22; } continue reducibleLoop22; } } else { value12 = 7 & value11; reducibleJoin8: while (true) { if (value12) { value13 = value11 + (8 - value12); r2 = value13; break reducibleJoin8; } r2 = value11; break reducibleJoin8; } value14 = 4 + (r2 >>> 3); property = a0[value14 - 4]; value15 = property | a0[value14 - 3] << 8; reducibleJoin10: while (true) { if (value3) { value16 = H(r67, r66 + value15); r4 = value16; break reducibleJoin10; } r4 = r67; break reducibleJoin10; } set = r4.set; buffer = a0.buffer; byteOffset = a0.byteOffset; value17 = byteOffset + value14; prototype = Uint8Array.prototype; value18 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value19 = uint8Array instanceof Object ? uint8Array : value18; Reflect.apply(set, r4, [value19, r66]); value20 = value14 + value15 << 3; value21 = r66 + value15; r61 = r4; r62 = value21; r65 = value20; r75 = r14; r76 = r15; r80 = r19; r81 = r20; } if (value2 === value9) { r14 = r75; r15 = r76; r19 = r80; r20 = r81; r66 = r62; r67 = r61; continue reducibleLoop5; } break reducibleLoop5; } reducibleJoin33: while (true) { if (r61.length == r62) { r59 = r61; break reducibleJoin33; } slice = r61.slice; value = Reflect.apply(slice, r61, [value2, r62]); r59 = value; break reducibleJoin33; } return r59; } } function decode_20916(a0) { // fn#20916, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:9456, offset: 0x00ee1432, size: 3584 bytes, params: 2, frame: 93 var r16; var r17; var r18; var r58; var r75; var r3; var r62; var r64; var r65; var r66; var r74; var r6; var r7; var property; var value9; var readUint2; var value11; var value12; var readASCII; var value13; var value14; var ctype; var tabs; var value15; var items2; var value16; var readUint3; var value17; var items4; var readBytes; var PLTE; var value18; var push; var value19; var nextZero; var value20; var value21; var value22; var value23; var value24; var value25; var value26; var readUTF8; var value27; var value28; var _inflateBinding; var slice; var value29; var value30; var value31; var value32; var value33; var value34; var value35; var value36; var value37; var value38; var readUint4; var value39; var readUint5; var value40; var readUint6; var value41; var value42; var value43; var frames; var frames2; var _decompressBinding; var value44; var rect; var width; var height; var object; var value45; var object2; var value46; var object3; var value47; var value48; var value49; var value50; var value51; var value52; var value53; var value54; var value55; var error; var value56; var value57; var readUint7; var value58; var frames3; var value59; const value = undefined; let Uint8Array = global.Uint8Array; let prototype = Uint8Array.prototype; const value2 = Object.create(prototype, {constructor: {value: Uint8Array}}); let uint8Array = new Uint8Array(a0); const value3 = uint8Array instanceof Object ? uint8Array : value2; const value4 = 8; const binding = env0_0; const readUshort = binding.readUshort; const readUint = binding.readUint; const object4 = {tabs: {}, frames: []}; Uint8Array = global.Uint8Array; let length = value3.length; uint8Array = new Uint8Array(length); const items3 = [137, 80, 78, 71, 13, 10, 26, 10]; const value8 = 0; let r2 = value8; reducibleLoop1: while (true) { property = value3[r2]; if (property != items3[r2]) { throw 'The input is not a PNG file!'; } value9 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value9 < value4) { r2 = value9; continue reducibleLoop1; } break reducibleLoop1; } length = value3.length; if (value4 < length) { r16 = value8; r17 = value8; r18 = value; r58 = value4; reducibleLoop4: while (true) { readUint2 = binding.readUint; value11 = Reflect.apply(readUint2, binding, [value3, r58]); value12 = r58 + 4; readASCII = binding.readASCII; value13 = Reflect.apply(readASCII, binding, [value3, value12, 4]); value14 = value12 + 4; if (value13 == 'IHDR') { _IHDR(value3, value14, object4); r65 = r16; r66 = r18; r74 = r17; } else if (value13 == 'iCCP') { if (value8 == value3[value14]) { r62 = value14; } else { r62 = value14; reducibleLoop70: while (true) { value52 = typeof r62 === 'bigint' ? r62 + 1n : +r62 + 1; if (value8 != value3[value52]) { r62 = value52; continue reducibleLoop70; } r62 = value52; break reducibleLoop70; } } readASCII = binding.readASCII; Reflect.apply(readASCII, binding, [value3, value14, r62 - value14]); value3[r62 + 1]; slice = value3.slice; value53 = r62 + 2; value54 = Reflect.apply(slice, value3, [value53, value14 + value11]); reducibleJoin73: while (true) { reduciblePort76: while (true) { exceptionLanding75: while (true) { try { _inflateBinding = _inflate; } catch (error) { break exceptionLanding75; } break reducibleJoin73; } value56 = env0_1(value54); r64 = value56; break reduciblePort76; } tabs = object4.tabs; tabs[value13] = r64; r65 = r16; r66 = r18; r74 = r17; value57 = value14 + value11; readUint7 = binding.readUint; Reflect.apply(readUint7, binding, [value3, value57]); value58 = value57 + 4; length = value3.length; if (value58 < length) { r16 = r65; r17 = r74; r18 = r66; r58 = value58; continue reducibleLoop4; } r6 = r65; r7 = r66; break reducibleLoop4; } try { value55 = _inflateBinding(value54); } catch (error) { break exceptionLanding75; } r64 = value55; tabs = object4.tabs; tabs[value13] = r64; r65 = r16; r66 = r18; r74 = r17; } else if (value13 == 'CgBI') { tabs = object4.tabs; slice = value3.slice; tabs[value13] = Reflect.apply(slice, value3, [value14, value14 + 4]); r65 = r16; r66 = r18; r74 = r17; } else if (value13 == 'IDAT') { if (value8 < value11) { r75 = value8; reducibleLoop66: while (true) { value49 = r17 + r75; uint8Array[value49] = value3[value14 + r75]; value50 = typeof r75 === 'bigint' ? r75 + 1n : +r75 + 1; if (value50 < value11) { r75 = value50; continue reducibleLoop66; } break reducibleLoop66; } } value51 = r17 + value11; r65 = r16; r66 = r18; r74 = value51; } else if (value13 == 'acTL') { tabs = object4.tabs; object3 = {num_frames: readUint(value3, value14), num_plays: readUint(value3, value14 + 4)}; tabs[value13] = object3; Uint8Array = global.Uint8Array; length = value3.length; prototype = Uint8Array.prototype; value47 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(length); value48 = uint8Array instanceof Object ? uint8Array : value47; r65 = r16; r66 = value48; r74 = r17; } else if (value13 == 'fcTL') { reducibleJoin62: while (true) { if (value8 == r16) { r3 = r16; break reducibleJoin62; } frames = object4.frames; frames2 = object4.frames; length = frames2.length; property = frames[length - 1]; _decompressBinding = _decompress; slice = r18.slice; value44 = Reflect.apply(slice, r18, [value8, r16]); rect = property.rect; width = rect.width; rect = property.rect; height = rect.height; property.data = _decompressBinding(object4, value44, width, height); r3 = value8; break reducibleJoin62; } object = {x: readUint(value3, value14 + 12), y: readUint(value3, value14 + 16), width: readUint(value3, value14 + 4), height: readUint(value3, value14 + value4)}; value45 = readUshort(value3, value14 + 22); object2 = {rect: object}; value46 = readUshort(value3, value14 + 20); r2 = value8 == value45 ? 100 : value45; object2.delay = 1000 * (value46 / r2); object2.dispose = value3[value14 + 24]; object2.blend = value3[value14 + 25]; frames = object4.frames; push = frames.push; Reflect.apply(push, frames, [object2]); r65 = r3; r66 = r18; r74 = r17; } else if (value13 == 'fdAT') { if (value8 < value11 - 4) { r75 = value8; reducibleLoop58: while (true) { value41 = r16 + r75; r18[value41] = value3[value14 + r75 + 4]; value42 = typeof r75 === 'bigint' ? r75 + 1n : +r75 + 1; if (value42 < value11 - 4) { r75 = value42; continue reducibleLoop58; } break reducibleLoop58; } } value43 = r16 + (value11 - 4); r65 = value43; r66 = r18; r74 = r17; } else if (value13 == 'pHYs') { tabs = object4.tabs; readUint5 = binding.readUint; value40 = Reflect.apply(readUint5, binding, [value3, value14]); readUint6 = binding.readUint; tabs[value13] = [value40, Reflect.apply(readUint6, binding, [value3, value14 + 4]), value3[value14 + value4]]; r65 = r16; r66 = r18; r74 = r17; } else if (value13 == 'cHRM') { tabs = object4.tabs; tabs[value13] = []; r2 = value8; reducibleLoop55: while (true) { tabs = object4.tabs; property = tabs[value13]; push = property.push; readUint4 = binding.readUint; Reflect.apply(push, property, [Reflect.apply(readUint4, binding, [value3, value14 + 4 * r2])]); value39 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value39 < value4) { r2 = value39; continue reducibleLoop55; } r65 = r16; r66 = r18; r74 = r17; break reducibleLoop55; } } else { reducibleJoin78: while (true) { reducibleJoin50: while (true) { if (value13 == 'tEXt') { tabs = object4.tabs; if (tabs[value13] != null) { break reducibleJoin50; } tabs = object4.tabs; tabs[value13] = {}; break reducibleJoin50; } if (value13 == 'zTXt') { tabs = object4.tabs; if (tabs[value13] != null) { break reducibleJoin50; } tabs = object4.tabs; tabs[value13] = {}; break reducibleJoin50; } if (value13 == 'iTXt') { tabs = object4.tabs; reducibleJoin44: while (true) { if (tabs[value13] != null) { break reducibleJoin44; } tabs = object4.tabs; tabs[value13] = {}; break reducibleJoin44; } nextZero = binding.nextZero; value20 = Reflect.apply(nextZero, binding, [value3, value14]); readASCII = binding.readASCII; value21 = Reflect.apply(readASCII, binding, [value3, value14, value20 - value14]); value22 = value20 + 1; property = value3[value22]; value3[value22 + 1]; value23 = value22 + 2; nextZero = binding.nextZero; value24 = Reflect.apply(nextZero, binding, [value3, value23]); readASCII = binding.readASCII; Reflect.apply(readASCII, binding, [value3, value23, value24 - value23]); value25 = value24 + 1; nextZero = binding.nextZero; value26 = Reflect.apply(nextZero, binding, [value3, value25]); readUTF8 = binding.readUTF8; Reflect.apply(readUTF8, binding, [value3, value25, value26 - value25]); value27 = value26 + 1; value28 = value11 - (value27 - value14); if (value8 == property) { readUTF8 = binding.readUTF8; value31 = Reflect.apply(readUTF8, binding, [value3, value27, value28]); r2 = value31; } else { _inflateBinding = _inflate; slice = value3.slice; value29 = _inflateBinding(Reflect.apply(slice, value3, [value27, value27 + value28])); readUTF8 = binding.readUTF8; length = value29.length; value30 = Reflect.apply(readUTF8, binding, [value29, value8, length]); r2 = value30; } tabs = object4.tabs; tabs[value13][value21] = r2; r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } if (value13 == 'PLTE') { tabs = object4.tabs; readBytes = binding.readBytes; tabs[value13] = Reflect.apply(readBytes, binding, [value3, value14, value11]); r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } if (value13 == 'hIST') { tabs = object4.tabs; PLTE = tabs.PLTE; length = PLTE.length; value18 = length / 3; tabs = object4.tabs; tabs[value13] = []; if (value8 < value18) { r2 = value8; reducibleLoop40: while (true) { tabs = object4.tabs; property = tabs[value13]; push = property.push; Reflect.apply(push, property, [readUshort(value3, value14 + 2 * r2)]); value19 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value19 < value18) { r2 = value19; continue reducibleLoop40; } r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } value57 = value14 + value11; readUint7 = binding.readUint; Reflect.apply(readUint7, binding, [value3, value57]); value58 = value57 + 4; length = value3.length; if (value58 < length) { r16 = r65; r17 = r74; r18 = r66; r58 = value58; continue reducibleLoop4; } r6 = r65; r7 = r66; break reducibleLoop4; } r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } if (value13 == 'tRNS') { ctype = object4.ctype; if (ctype == 3) { tabs = object4.tabs; readBytes = binding.readBytes; tabs[value13] = Reflect.apply(readBytes, binding, [value3, value14, value11]); r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } ctype = object4.ctype; if (value8 == ctype) { object4.tabs[value13] = readUshort(value3, value14); r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } ctype = object4.ctype; if (ctype != 2) { r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } tabs = object4.tabs; value17 = readUshort(value3, value14); items4 = [value17, readUshort(value3, value14 + 2), readUshort(value3, value14 + 4)]; tabs[value13] = items4; r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } if (value13 == 'gAMA') { tabs = object4.tabs; readUint3 = binding.readUint; tabs[value13] = Reflect.apply(readUint3, binding, [value3, value14]) / 100000; r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } if (value13 == 'sRGB') { tabs = object4.tabs; tabs[value13] = value3[value14]; r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } if (value13 == 'bKGD') { ctype = object4.ctype; if (value8 != ctype) { ctype = object4.ctype; if (ctype != 4) { ctype = object4.ctype; if (ctype != 2) { ctype = object4.ctype; if (ctype != 6) { ctype = object4.ctype; if (ctype != 3) { r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } object4.tabs[value13] = value3[value14]; r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } } tabs = object4.tabs; value15 = readUshort(value3, value14); items2 = [value15, readUshort(value3, value14 + 2), readUshort(value3, value14 + 4)]; tabs[value13] = items2; r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } } tabs = object4.tabs; value16 = readUshort(value3, value14); tabs[value13] = [value16]; r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } if (value13 == 'IEND') { r6 = r16; r7 = r18; break reducibleLoop4; } r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } nextZero = binding.nextZero; value32 = Reflect.apply(nextZero, binding, [value3, value14]); readASCII = binding.readASCII; value33 = Reflect.apply(readASCII, binding, [value3, value14, value32 - value14]); value34 = value14 + value11 - value32 - 1; if (value13 == 'tEXt') { readASCII = binding.readASCII; value38 = Reflect.apply(readASCII, binding, [value3, value32 + 1, value34]); r2 = value38; } else { _inflateBinding = _inflate; slice = value3.slice; value35 = value32 + 2; value36 = _inflateBinding(Reflect.apply(slice, value3, [value35, value32 + 2 + value34])); readUTF8 = binding.readUTF8; length = value36.length; value37 = Reflect.apply(readUTF8, binding, [value36, value8, length]); r2 = value37; } tabs = object4.tabs; tabs[value13][value33] = r2; r65 = r16; r66 = r18; r74 = r17; break reducibleJoin78; } } value57 = value14 + value11; readUint7 = binding.readUint; Reflect.apply(readUint7, binding, [value3, value57]); value58 = value57 + 4; length = value3.length; if (value58 < length) { r16 = r65; r17 = r74; r18 = r66; r58 = value58; continue reducibleLoop4; } r6 = r65; r7 = r66; break reducibleLoop4; } } else { r6 = value8; r7 = value; } reducibleJoin81: while (true) { if (value8 == r6) { break reducibleJoin81; } frames = object4.frames; frames3 = object4.frames; length = frames3.length; property = frames[length - 1]; _decompressBinding = _decompress; slice = r7.slice; value59 = Reflect.apply(slice, r7, [value8, r6]); rect = property.rect; width = rect.width; rect = property.rect; height = rect.height; property.data = _decompressBinding(object4, value59, width, height); break reducibleJoin81; } object4.data = _decompress(object4, uint8Array, object4.width, object4.height); delete object4.compress; delete object4.interlace; delete object4.filter; return object4; } function toRGBA8(a0) { // fn#20917, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:11990, offset: 0x00ee2232, size: 615 bytes, params: 2, frame: 39 var r6; var r16; var r1; var property; var rect; var x; var y; var width2; var height2; var decodeImageBinding; var value10; var value11; var blend; var push; var buffer; var slice; var dispose; var value12; var value13; const width = a0.width; const height = a0.height; if (a0.tabs.acTL == null) { return [decodeImage(a0.data, width, height, a0).buffer]; } const items2 = []; let frames = a0.frames; const value = 0; let data = frames[value].data; reducibleJoin3: while (true) { if (data != null) { break reducibleJoin3; } frames = a0.frames; property = frames[value]; data = a0.data; property.data = data; break reducibleJoin3; } const value2 = width * height * 4; let Uint8Array = global.Uint8Array; let uint8Array = new Uint8Array(value2); Uint8Array = global.Uint8Array; uint8Array = new Uint8Array(value2); Uint8Array = global.Uint8Array; uint8Array = new Uint8Array(value2); let length = a0.frames.length; if (value < length) { r6 = value; reducibleLoop4: while (true) { frames = a0.frames; property = frames[r6]; rect = property.rect; x = rect.x; rect = property.rect; y = rect.y; rect = property.rect; width2 = rect.width; rect = property.rect; height2 = rect.height; decodeImageBinding = decodeImage; data = property.data; value10 = decodeImageBinding(data, width2, height2, a0); reducibleJoin7: while (true) { if (value == r6) { break reducibleJoin7; } if (!(value < value2)) { break reducibleJoin7; } r16 = value; reducibleLoop6: while (true) { uint8Array[r16] = uint8Array[r16]; value11 = typeof r16 === 'bigint' ? r16 + 1n : +r16 + 1; if (value11 < value2) { r16 = value11; continue reducibleLoop6; } break reducibleJoin7; } } blend = property.blend; if (value == blend) { _copyTile(value10, width2, height2, uint8Array, width, height, x, y, value); } else { blend = property.blend; reducibleJoin11: while (true) { if (blend != 1) { break reducibleJoin11; } _copyTile(value10, width2, height2, uint8Array, width, height, x, y, 1); break reducibleJoin11; } } push = items2.push; buffer = uint8Array.buffer; slice = buffer.slice; Reflect.apply(push, items2, [Reflect.apply(slice, buffer, [value])]); dispose = property.dispose; reducibleJoin17: while (true) { if (value == dispose) { break reducibleJoin17; } dispose = property.dispose; if (dispose == 1) { _copyTile(uint8Array, width2, height2, uint8Array, width, height, x, y, value); break reducibleJoin17; } dispose = property.dispose; if (dispose != 2) { break reducibleJoin17; } if (!(value < value2)) { break reducibleJoin17; } r1 = value; reducibleLoop15: while (true) { uint8Array[r1] = uint8Array[r1]; value12 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; if (value12 < value2) { r1 = value12; continue reducibleLoop15; } break reducibleJoin17; } } value13 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; frames = a0.frames; length = frames.length; if (value13 < length) { r6 = value13; continue reducibleLoop4; } break reducibleLoop4; } } return items2; } } function _fun20918() { // fn#20918, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:12673, offset: 0x00ee2499, size: 507 bytes, params: 1, frame: 29 var r17; var r18; var r16; var value3; var value4; var value5; var value6; var value7; const N_20920 = function(a0) { var Math = global.Math; var Math2 = global.Math; return Math.max(0, Math2.min(255, a0)); }; const D_20921 = function(a0, a1) { var value = a0[0] - a1[0]; var value2 = a0[1] - a1[1]; var value3 = a0[2] - a1[2]; var value4 = a0[3] - a1[3]; value *= value; value += value2 * value2; value += value3 * value3; return value + value4 * value4; }; const dither2 = dither; const compress2 = compress; const quantize_209302 = quantize_20930; const remap = function(a0, a1, a2) { var r1; var value = 0; if (value < a0.length) { for (r1 = value; true; r1 = value) { a1[r1] = a2[a0[r1]]; value = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; if (!(value < a0.length)) { break; } } } }; const findNearest2 = findNearest; const getKDtree2 = getKDtree; const getNearest2 = getNearest; const planeDst = function(a0, a1, a2, a3, a4) { var e = a0.e; var value = e[0] * a1; value += e[1] * a2; value += e[2] * a3; value += e[3] * a4; return value - a0.eMq; }; const vecDot = function(a0, a1, a2) { var value = a0[a1] * a2[0]; value += a0[a1 + 1] * a2[1]; value += a0[a1 + 2] * a2[2]; return value + a0[a1 + 3] * a2[3]; }; const binding = _copyTile; var _copyTile = binding._copyTile; const env0_1 = binding._bin; const env0_2 = binding._paeth; let object = {}; const Uint32Array = global.Uint32Array; const uint32Array = new Uint32Array(256); let value2 = 0; let r10 = value2; while (true) { r17 = value2; r18 = r10; while (true) { value3 = 1 & r18; value4 = r18 >>> 1; if (value3) { value5 = 3988292384 ^ value4; r16 = value5; } else { r16 = value4; } value6 = typeof r17 === 'bigint' ? r17 + 1n : +r17 + 1; if (value6 < 8) { r17 = value6; r18 = r16; continue; } break; } uint32Array[r10] = r16; value7 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1; if (value7 < 256) { r10 = value7; continue; } break; } object.table = uint32Array; object.update = update_20942; object.crc = crc; object = {multVec: multVec, dot: function(a0, a1) { var value = a0[0] * a1[0]; value += a0[1] * a1[1]; value += a0[2] * a1[2]; return value + a0[3] * a1[3]; }, sml: function(a0, a1) { return [a0 * a1[0], a0 * a1[1], a0 * a1[2], a0 * a1[3]]; }}; binding.encode = encode_20947; binding.encodeLL = encodeLL; binding.encode.compress = compress2; binding.encode.dither = dither2; binding.quantize = quantize_209302; binding.quantize.findNearest = findNearest2; binding.quantize.getKDtree = getKDtree2; binding.quantize.getNearest = getNearest2; function dither(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#20922, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:13261, offset: 0x00ee27ab, size: 1104 bytes, params: 8, frame: 57 var r24; var r0; var r3; var r8; var r13; var r14; var r12; var r2; var r5; var r31; var r36; var r33; var r34; var r41; var r39; var property; var push; var value2; var value3; var value6; var value7; var value8; var value9; var Math; var sqrt; var value10; var value11; var value17; var length3; var value19; var value20; var value21; var value22; var items5; var value23; var items6; var value24; var value25; var value26; var value27; var value28; var property2; var value29; var items7; var property3; var property4; var property5; var value30; var value31; var value32; let value = dependencyMap; reducibleJoin2: while (true) { if (value != null) { r24 = value; break reducibleJoin2; } value = 1; r24 = value; break reducibleJoin2; } const length = importAll.length; const items3 = []; const items2 = []; value = 0; if (value < length) { r0 = value; reducibleLoop3: while (true) { property = importAll[r0]; push = items3.push; value2 = property >>> value; Reflect.apply(push, items3, [[value2 & 255, property >>> 8 & 255, property >>> 16 & 255, property >>> 24 & 255]]); value3 = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1; if (value3 < length) { r0 = value3; continue reducibleLoop3; } break reducibleLoop3; } } const value4 = 4294967295; if (value < length) { r3 = value; reducibleLoop5: while (true) { if (value < length) { r8 = value; r13 = value4; reducibleLoop6: while (true) { property = items3[r3]; value6 = D_20921(property, items3[r8]); value7 = r8 != r3; reducibleJoin8: while (true) { if (value7) { value8 = value6 < r13; r14 = value8; break reducibleJoin8; } r14 = value7; break reducibleJoin8; } if (r14) { r13 = value6; } value9 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; if (value9 < length) { r8 = value9; continue reducibleLoop6; } r12 = r13; break reducibleLoop6; } } else { r12 = value4; } Math = global.Math; sqrt = Math.sqrt; value10 = Reflect.apply(sqrt, Math, [r12]) / 2; items2[r3] = ~~(value10 * value10); value11 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; if (value11 < length) { r3 = value11; continue reducibleLoop5; } break reducibleLoop5; } } const Uint32Array = global.Uint32Array; const uint32Array = new Uint32Array(module.buffer); const Int16Array = global.Int16Array; const int16Array = new Int16Array(require * importDefault * 4); const items4 = [0, 8, 2, 10, 12, 4, 14, 6, 3, 11, 1, 9, 15, 7, 13, 5]; if (value < items4.length) { r2 = value; reducibleLoop12: while (true) { items4[r2] = 255 * ((items4[r2] + 0.5) / 16 - 0.5); value17 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; length3 = items4.length; if (value17 < length3) { r2 = value17; continue reducibleLoop12; } break reducibleLoop12; } } if (value < importDefault) { r5 = value; reducibleLoop14: while (true) { if (value < require) { r31 = value; reducibleLoop15: while (true) { value19 = 4 * (r5 * require + r31); if (r24 != 2) { property = global[value19]; value23 = N_20920(property + int16Array[value19]); items6 = [value23]; value24 = value19 + 1; property = global[value24]; items6[1] = N_20920(property + int16Array[value24]); value25 = value19 + 2; property = global[value25]; items6[2] = N_20920(property + int16Array[value25]); value26 = value19 + 3; property = global[value26]; items6[3] = N_20920(property + int16Array[value26]); r36 = items6; } else { value20 = 3 & r5; value21 = 3 & r31; property = items4[4 * value20 + value21]; value22 = N_20920(global[value19] + property); items5 = [value22, N_20920(global[value19 + 1] + property), N_20920(global[value19 + 2] + property), N_20920(global[value19 + 3] + property)]; r36 = items5; } if (value < length) { r33 = 16777215; r34 = value; r41 = value; reducibleLoop19: while (true) { value27 = D_20921(r36, items3[r34]); if (value27 < r33) { r33 = value27; r41 = r34; } value28 = typeof r34 === 'bigint' ? r34 + 1n : +r34 + 1; if (value28 < length) { r34 = value28; continue reducibleLoop19; } r39 = r41; break reducibleLoop19; } } else { r39 = value; } property = items3[r39]; property2 = r36[value]; value29 = property2 - property[value]; items7 = [value29]; property3 = r36[1]; items7[1] = property3 - property[1]; property4 = r36[2]; items7[2] = property4 - property[2]; property5 = r36[3]; items7[3] = property5 - property[3]; reducibleJoin29: while (true) { if (r24 != 1) { break reducibleJoin29; } reducibleJoin24: while (true) { if (r31 == require - 1) { break reducibleJoin24; } addErr(items7, int16Array, value19 + 4, 7); break reducibleJoin24; } if (r5 == importDefault - 1) { break reducibleJoin29; } reducibleJoin27: while (true) { if (value == r31) { break reducibleJoin27; } addErr(items7, int16Array, value19 + 4 * require - 4, 3); break reducibleJoin27; } addErr(items7, int16Array, value19 + 4 * require, 5); if (r31 == require - 1) { break reducibleJoin29; } addErr(items7, int16Array, value19 + 4 * require + 4, 1); break reducibleJoin29; } value30 = value19 >> 2; exports[value30] = r39; uint32Array[value30] = importAll[r39]; value31 = typeof r31 === 'bigint' ? r31 + 1n : +r31 + 1; if (value31 < require) { r31 = value31; continue reducibleLoop15; } break reducibleLoop15; } } value32 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1; if (value32 < importDefault) { r5 = value32; continue reducibleLoop14; } break reducibleLoop14; } } } function _main(a0, a1, a2, a3, a4) { // fn#20923, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:14166, offset: 0x00ee2bfb, size: 1833 bytes, params: 6, frame: 39 var r14; var r0; var r1; var r9; var r11; var r12; var r16; var r10; var r18; var r25; var r8; var loop; var r24; var value3; var value6; var value7; var pako; var deflate; var value9; var value10; var plte; var value12; var value13; var value14; var value15; var value16; var value18; var cimg; var value19; var value20; var value21; var value25; var value27; var value28; var value29; var value30; var value31; var value32; var set; var value33; var value34; var value35; var value36; var value37; var value38; var value39; var value40; var value41; var value42; var value43; var value44; var value45; var value46; var value47; var value48; var value49; var property; var value50; var value51; var value52; var value53; var value54; var value55; var value56; var value57; var value58; var value59; var value60; var value61; var value62; var value63; var value64; var value65; var value66; var value67; var value68; var value69; var value72; var value73; var value74; var value75; var value76; var rect; var width; var value77; var height; var value78; var x; var value79; var y; var value80; var value81; var value82; var dispose; var value83; var blend; var value84; var value85; var value86; var value87; var value88; var value89; var value90; var value91; var value92; var value93; var value94; let value = a4; reducibleJoin2: while (true) { if (value != null) { r14 = value; break reducibleJoin2; } r14 = {}; break reducibleJoin2; } const crc = env0_3.crc; const writeUint = _bin.writeUint; const writeUshort = _bin.writeUshort; const writeASCII = _bin.writeASCII; let frames = a0.frames; let length = frames.length; value = length > 1; const value2 = 0; reducibleJoin4: while (true) { if (value) { value3 = 20; r0 = value3; break reducibleJoin4; } r0 = value2; break reducibleJoin4; } const value4 = 33; const value5 = value4 + r0; let sRGB = r14.sRGB; reducibleJoin6: while (true) { if (sRGB == null) { r1 = value5; break reducibleJoin6; } value6 = value5 + 13; r1 = value6; break reducibleJoin6; } let pHYs = r14.pHYs; reducibleJoin8: while (true) { if (pHYs == null) { r9 = r1; break reducibleJoin8; } value7 = r1 + 21; r9 = value7; break reducibleJoin8; } let iCCP = r14.iCCP; reducibleJoin10: while (true) { if (iCCP != null) { pako = global.pako; deflate = pako.deflate; iCCP = r14.iCCP; value9 = Reflect.apply(deflate, pako, [iCCP]); length = value9.length; value10 = r9 + (21 + length + 4); r1 = value9; r11 = value10; break reducibleJoin10; } r1 = undefined; r11 = r9; break reducibleJoin10; } const ctype = a0.ctype; const value11 = false; reducibleJoin18: while (true) { if (ctype == 3) { plte = a0.plte; length = plte.length; if (value2 < length) { r12 = value2; r16 = value11; reducibleLoop12: while (true) { plte = a0.plte; reducibleJoin14: while (true) { if (plte[r12] >>> 24 === 255) { break reducibleJoin14; } value12 = true; r16 = value12; break reducibleJoin14; } value13 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1; if (value13 < length) { r12 = value13; continue reducibleLoop12; } r10 = r16; break reducibleLoop12; } } else { r10 = value11; } value14 = 3 * length; reducibleJoin17: while (true) { if (r10) { value15 = 8 + 1 * length + 4; r12 = value15; break reducibleJoin17; } r12 = value2; break reducibleJoin17; } value16 = r11 + (8 + value14 + 4 + r12); r0 = value16; r9 = r10; break reducibleJoin18; } r0 = r11; r9 = value11; break reducibleJoin18; } length = a0.frames.length; const value17 = 4; if (value2 < length) { r12 = value2; r16 = r0; reducibleLoop19: while (true) { reducibleJoin21: while (true) { if (value) { value18 = r16 + 38; r18 = value18; break reducibleJoin21; } r18 = r16; break reducibleJoin21; } frames = a0.frames; cimg = frames[r12].cimg; length = cimg.length; value19 = r18 + (length + 12); reducibleJoin23: while (true) { if (value2 == r12) { r18 = value19; break reducibleJoin23; } value20 = value19 + value17; r18 = value20; break reducibleJoin23; } value21 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1; frames = a0.frames; length = frames.length; if (value21 < length) { r12 = value21; r16 = r18; continue reducibleLoop19; } r0 = r18; break reducibleLoop19; } } const Uint8Array = global.Uint8Array; const uint8Array = new Uint8Array(r0 + 12); const items2 = [137, 80, 78, 71, 13, 10, 26, 10]; r10 = value2; reducibleLoop25: while (true) { uint8Array[r10] = items2[r10]; value25 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1; if (value25 < 8) { r10 = value25; continue reducibleLoop25; } break reducibleLoop25; } writeUint(uint8Array, 8, 13); writeASCII(uint8Array, 12, 'IHDR'); writeUint(uint8Array, 16, a1); writeUint(uint8Array, 20, a2); uint8Array[24] = a0.depth; uint8Array[25] = a0.ctype; uint8Array[26] = value2; uint8Array[27] = value2; uint8Array[28] = value2; writeUint(uint8Array, 29, crc(uint8Array, 12, 17)); sRGB = r14.sRGB; reducibleJoin28: while (true) { if (sRGB != null) { writeUint(uint8Array, value4, 1); writeASCII(uint8Array, 37, 'sRGB'); sRGB = r14.sRGB; uint8Array[41] = sRGB; value27 = crc(uint8Array, 37, 5); writeUint(uint8Array, 42, value27); value28 = 46; r25 = value28; break reducibleJoin28; } r25 = value4; break reducibleJoin28; } reducibleJoin30: while (true) { if (r14.iCCP == null) { r8 = r25; break reducibleJoin30; } length = r1.length; value29 = 13 + length; writeUint(uint8Array, r25, value29); value30 = r25 + value17; writeASCII(uint8Array, value30, 'iCCP'); value31 = value30 + value17; writeASCII(uint8Array, value31, 'ICC profile'); value32 = value31 + 11 + 2; set = uint8Array.set; Reflect.apply(set, uint8Array, [r1, value32]); length = r1.length; value33 = value32 + length; value34 = value29 + value17; writeUint(uint8Array, value33, crc(uint8Array, value33 - value34, value34)); value35 = value33 + value17; r8 = value35; break reducibleJoin30; } pHYs = r14.pHYs; reducibleJoin32: while (true) { if (pHYs == null) { r1 = r8; break reducibleJoin32; } writeUint(uint8Array, r8, 9); value36 = r8 + value17; writeASCII(uint8Array, value36, 'pHYs'); value37 = value36 + value17; pHYs = r14.pHYs; writeUint(uint8Array, value37, pHYs[value2]); value38 = value37 + value17; pHYs = r14.pHYs; writeUint(uint8Array, value38, pHYs[1]); value39 = value38 + value17; pHYs = r14.pHYs; uint8Array[value39] = pHYs[2]; value40 = typeof value39 === 'bigint' ? value39 + 1n : +value39 + 1; writeUint(uint8Array, value40, crc(uint8Array, value40 - 13, 13)); value41 = value40 + value17; r1 = value41; break reducibleJoin32; } reducibleJoin36: while (true) { if (value) { writeUint(uint8Array, r1, 8); value42 = r1 + value17; writeASCII(uint8Array, value42, 'acTL'); value43 = value42 + value17; frames = a0.frames; length = frames.length; writeUint(uint8Array, value43, length); value44 = value43 + value17; loop = r14.loop; reducibleJoin35: while (true) { if (loop != null) { loop = r14.loop; break reducibleJoin35; } loop = value2; break reducibleJoin35; } writeUint(uint8Array, value44, loop); value45 = value44 + value17; writeUint(uint8Array, value45, crc(uint8Array, value45 - 12, 12)); value46 = value45 + value17; r8 = value46; break reducibleJoin36; } r8 = r1; break reducibleJoin36; } reducibleJoin43: while (true) { if (a0.ctype != 3) { r1 = r8; break reducibleJoin43; } plte = a0.plte; length = plte.length; writeUint(uint8Array, r8, 3 * length); value47 = r8 + value17; writeASCII(uint8Array, value47, 'PLTE'); value48 = value47 + value17; if (value2 < length) { r8 = value2; reducibleLoop38: while (true) { value49 = 3 * r8; plte = a0.plte; property = plte[r8]; value50 = 255 & property; value51 = property >>> 8; value52 = property >>> 16; value53 = value48 + value49; uint8Array[value53 + value2] = value50; value54 = value51 & 255; uint8Array[value53 + 1] = value54; value55 = value52 & 255; uint8Array[value53 + 2] = value55; value56 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; if (value56 < length) { r8 = value56; continue reducibleLoop38; } break reducibleLoop38; } } value57 = value48 + 3 * length; value58 = 3 * length; value59 = 3 * length; value60 = value57 - value58 - value17; writeUint(uint8Array, value57, crc(uint8Array, value60, value59 + value17)); value61 = value57 + value17; if (r9) { writeUint(uint8Array, value61, length); value62 = value61 + value17; writeASCII(uint8Array, value62, 'tRNS'); value63 = value62 + value17; if (value2 < length) { r9 = value2; reducibleLoop41: while (true) { value64 = value63 + r9; plte = a0.plte; uint8Array[value64] = plte[r9] >>> 24 & 255; value65 = typeof r9 === 'bigint' ? r9 + 1n : +r9 + 1; if (value65 < length) { r9 = value65; continue reducibleLoop41; } break reducibleLoop41; } } value66 = value63 + length; value67 = value66 - length; value68 = length + value17; writeUint(uint8Array, value66, crc(uint8Array, value67 - value17, value68)); value69 = value66 + value17; r1 = value69; break reducibleJoin43; } r1 = value61; break reducibleJoin43; } length = a0.frames.length; if (value2 < length) { r9 = value2; r10 = value2; r11 = r1; reducibleLoop44: while (true) { frames = a0.frames; property = frames[r10]; reducibleJoin46: while (true) { if (value) { writeUint(uint8Array, r11, 26); value72 = r11 + value17; writeASCII(uint8Array, value72, 'fcTL'); value73 = value72 + value17; value74 = typeof r9 === 'bigint' ? r9 : +r9; value75 = typeof value74 === 'bigint' ? value74 + 1n : +value74 + 1; writeUint(uint8Array, value73, value74); value76 = value73 + value17; rect = property.rect; width = rect.width; writeUint(uint8Array, value76, width); value77 = value76 + value17; rect = property.rect; height = rect.height; writeUint(uint8Array, value77, height); value78 = value77 + value17; rect = property.rect; x = rect.x; writeUint(uint8Array, value78, x); value79 = value78 + value17; rect = property.rect; y = rect.y; writeUint(uint8Array, value79, y); value80 = value79 + value17; writeUshort(uint8Array, value80, a3[r10]); value81 = value80 + 2; writeUshort(uint8Array, value81, 1000); value82 = value81 + 2; dispose = property.dispose; uint8Array[value82] = dispose; value83 = typeof value82 === 'bigint' ? value82 + 1n : +value82 + 1; blend = property.blend; uint8Array[value83] = blend; value84 = typeof value83 === 'bigint' ? value83 + 1n : +value83 + 1; writeUint(uint8Array, value84, crc(uint8Array, value84 - 30, 30)); value85 = value84 + value17; r8 = value85; r25 = value75; break reducibleJoin46; } r8 = r11; r25 = r9; break reducibleJoin46; } cimg = property.cimg; length = cimg.length; value86 = value2 == r10; r24 = value86 ? value2 : value17; writeUint(uint8Array, r8, length + r24); value87 = r8 + value17; r8 = value86 ? 'IDAT' : 'fdAT'; writeASCII(uint8Array, value87, r8); value88 = value87 + value17; reducibleJoin50: while (true) { if (value2 == r10) { r8 = value88; r9 = r25; break reducibleJoin50; } value89 = typeof r25 === 'bigint' ? r25 : +r25; value90 = typeof value89 === 'bigint' ? value89 + 1n : +value89 + 1; writeUint(uint8Array, value88, value89); value91 = value88 + value17; r8 = value91; r9 = value90; break reducibleJoin50; } set = uint8Array.set; Reflect.apply(set, uint8Array, [cimg, r8]); value92 = r8 + length; writeUint(uint8Array, value92, crc(uint8Array, value87, value92 - value87)); value93 = value92 + value17; value94 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1; frames = a0.frames; length = frames.length; if (value94 < length) { r10 = value94; r11 = value93; continue reducibleLoop44; } r1 = value93; break reducibleLoop44; } } writeUint(uint8Array, r1, value2); writeASCII(uint8Array, r1 + value17, 'IEND'); value += value17; writeUint(uint8Array, value, crc(uint8Array, value - value17, value17)); return uint8Array.buffer; } function compressPNG(a0, a1, a2) { // fn#20924, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:16107, offset: 0x00ee3324, size: 177 bytes, params: 4, frame: 28 var r4; var property; var rect; var height; var Uint8Array; var bpl; var prototype; var value3; var uint8Array; var _filterZero_20928Binding; var img; var bpp; let frames = a0.frames; let length = frames.length; let value = 0; if (value < length) { for (r4 = value; true; r4 = value) { frames = a0.frames; property = frames[r4]; rect = property.rect; rect.width; rect = property.rect; height = rect.height; Uint8Array = global.Uint8Array; bpl = property.bpl; value = height * bpl + height; prototype = Uint8Array.prototype; value3 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(value); value = uint8Array instanceof Object ? uint8Array : value3; _filterZero_20928Binding = _filterZero_20928; img = property.img; bpp = property.bpp; bpl = property.bpl; property.cimg = _filterZero_20928Binding(img, height, bpp, bpl, value, a1, a2); value = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1; frames = a0.frames; length = frames.length; if (!(value < length)) { break; } } } } function compress(a0, a1, a2, a3, a4) { // fn#20925, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:16294, offset: 0x00ee33d5, size: 3739 bytes, params: 6, frame: 123 var r8; var r13; var r6; var r16; var r15; var r1; var r35; var r49; var r59; var r65; var r66; var r67; var r69; var r70; var r71; var r72; var r77; var r81; var r82; var r85; var r86; var r87; var r88; var r94; var r95; var r96; var r105; var r103; var r104; var r97; var r99; var r100; var r101; var r102; var r90; var r91; var r92; var r93; var r74; var r79; var r80; var r84; var r76; var r58; var r61; var r62; var r63; var r64; var r60; var r50; var r52; var r53; var r54; var r55; var r2; var r10; var r31; var r3; var r14; var r29; var r30; var r5; var r0; var r11; var r12; var r41; var r45; var r48; var r28; var r37; var r38; var r4; var Uint8Array; var property7; var prototype; var value9; var uint8Array; var value10; var value11; var value12; var value13; var property8; var value18; var value19; var Uint32Array; var buffer; var value20; var uint32Array; var value21; var slice; var value22; var dispose; var property9; var property10; var value23; var value24; var value25; var property11; var value26; var value27; var value28; var value29; var value30; var value31; var value32; var value33; var value34; var property12; var value35; var value36; var value37; var value38; var value39; var _copyTileBinding; var value40; var value41; var value42; var push; var value43; var blend; var rect; var rect2; var Math; var min; var x; var x2; var value44; var y; var y2; var value45; var object3; var max; var width; var value46; var height; var value47; var value48; var img; var value49; var value50; var property13; var length2; var length3; var value51; var items4; var byteLength; var value52; var value53; var value54; var property14; var property15; var property16; var value55; var value56; var value57; var plte; var est; var rgba; var value58; var inds; var value59; var value60; var value61; var value62; var abuf; var value63; var value64; var ditherBinding; var set; var value65; var value66; var value67; var value69; var length5; var value70; var value71; var value72; var value73; var value74; var value75; var property17; var property18; var value76; var value77; var ceil; var value78; var value79; var value80; var value81; var property19; var value82; var value83; var value84; var property20; var property21; var value85; var value86; var property22; var property23; var value87; var value88; var property24; var property25; var value89; var value90; var value91; var value92; var value93; var length6; let value = a1; const value2 = a2; const value3 = 0; let property = a4[value3]; const value4 = 1; const property2 = a4[value4]; const value5 = 2; const property3 = a4[value5]; const value6 = 3; const property4 = a4[value6]; const value7 = 4; const property5 = a4[value7]; const property6 = a4[5]; let length = a0.length; const value8 = 255; if (value3 < length) { r8 = value3; r13 = value8; reducibleLoop1: while (true) { Uint8Array = global.Uint8Array; property7 = a0[r8]; prototype = Uint8Array.prototype; value9 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value10 = uint8Array instanceof Object ? uint8Array : value9; length = value10.length; if (value3 < length) { r6 = value3; r16 = r13; reducibleLoop2: while (true) { value11 = r16 & value10[r6 + value6]; value12 = r6 + value7; if (value12 < length) { r6 = value12; r16 = value11; continue reducibleLoop2; } r15 = value11; break reducibleLoop2; } } else { r15 = r13; } value13 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; length = a0.length; if (value13 < length) { r8 = value13; r13 = r15; continue reducibleLoop1; } r1 = r15; break reducibleLoop1; } } else { r1 = value8; } const value14 = value8 != r1; const items5 = []; length = a0.length; const value16 = 1000000000; const value17 = -1; if (value3 < length) { r35 = value3; reducibleLoop5: while (true) { Uint8Array = global.Uint8Array; property8 = a0[r35]; prototype = Uint8Array.prototype; value18 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value19 = uint8Array instanceof Object ? uint8Array : value18; Uint32Array = global.Uint32Array; buffer = value19.buffer; prototype = Uint32Array.prototype; value20 = Object.create(prototype, {constructor: {value: Uint32Array}}); uint32Array = new Uint32Array(); value21 = uint32Array instanceof Object ? uint32Array : value20; r49 = property ? value4 : value3; if (value3 != r35) { reducibleJoin12: while (true) { if (property3) { r59 = value4; break reducibleJoin12; } if (property) { r59 = value4; break reducibleJoin12; } if (value4 == r35) { r59 = value4; break reducibleJoin12; } dispose = items5[r35 - value5].dispose; if (value3 != dispose) { r59 = value4; break reducibleJoin12; } r59 = value5; break reducibleJoin12; } if (value3 < r59) { r65 = value3; r66 = value16; r67 = value3; r69 = value2; r70 = value; r71 = value3; r72 = value3; reducibleLoop13: while (true) { Uint8Array = global.Uint8Array; property9 = a0[r35 - value4 - r65]; prototype = Uint8Array.prototype; Object.create(prototype, {constructor: {value: Uint8Array}}); new Uint8Array(); Uint32Array = global.Uint32Array; property10 = a0[r35 - value4 - r65]; prototype = Uint32Array.prototype; value23 = Object.create(prototype, {constructor: {value: Uint32Array}}); uint32Array = new Uint32Array(); value24 = uint32Array instanceof Object ? uint32Array : value23; if (value3 < value2) { r77 = value3; r81 = value17; r82 = value17; r85 = value2; r86 = value; reducibleLoop14: while (true) { if (value3 < value) { r87 = value3; r88 = r81; r94 = r82; r95 = r85; r96 = r86; reducibleLoop15: while (true) { value25 = r77 * value + r87; property11 = value21[value25]; reducibleJoin21: while (true) { if (property11 == value24[value25]) { r99 = r88; r100 = r94; r101 = r95; r102 = r96; break reducibleJoin21; } r105 = r87 < r96 ? r87 : r96; r103 = r87 > r94 ? r87 : r94; r104 = r77 < r95 ? r77 : r95; r97 = r77 > r88 ? r77 : r88; r99 = r97; r100 = r103; r101 = r104; r102 = r105; break reducibleJoin21; } value26 = typeof r87 === 'bigint' ? r87 + 1n : +r87 + 1; if (value26 < value) { r87 = value26; r88 = r99; r94 = r100; r95 = r101; r96 = r102; continue reducibleLoop15; } r90 = r99; r91 = r100; r92 = r101; r93 = r102; break reducibleLoop15; } } else { r90 = r81; r91 = r82; r92 = r85; r93 = r86; } value27 = typeof r77 === 'bigint' ? r77 + 1n : +r77 + 1; if (value27 < value2) { r77 = value27; r81 = r90; r82 = r91; r85 = r92; r86 = r93; continue reducibleLoop14; } r74 = r93; r79 = r90; r80 = r91; r84 = r92; break reducibleLoop14; } } else { r74 = value; r79 = value17; r80 = value17; r84 = value2; } if (value17 == r80) { r74 = value3; r79 = value3; r80 = value3; r84 = value3; } reducibleJoin30: while (true) { if (property2) { reducibleJoin27: while (true) { if (value4 & ~r74) { r76 = r74; break reducibleJoin27; } value28 = typeof r74 === 'bigint' ? r74 - 1n : +r74 - 1; r76 = value28; break reducibleJoin27; } reducibleJoin29: while (true) { if (value4 & ~r84) { r74 = r84; break reducibleJoin29; } value29 = typeof r84 === 'bigint' ? r84 - 1n : +r84 - 1; r74 = value29; break reducibleJoin29; } r81 = r74; r82 = r76; break reducibleJoin30; } r81 = r84; r82 = r74; break reducibleJoin30; } value30 = r80 - r82 + value4; value31 = value30 * (r79 - r81 + value4); reducibleJoin32: while (true) { if (value31 < r66) { value32 = r80 - r82 + value4; value33 = r79 - r81 + value4; r66 = value31; r67 = r65; r69 = value33; r70 = value32; r71 = r81; r72 = r82; break reducibleJoin32; } break reducibleJoin32; } value34 = typeof r65 === 'bigint' ? r65 + 1n : +r65 + 1; if (value34 < r59) { r65 = value34; continue reducibleLoop13; } r58 = r67; r61 = r69; r62 = r70; r63 = r71; r64 = r72; break reducibleLoop13; } } else { r58 = value3; r61 = value2; r62 = value; r63 = value3; r64 = value3; } Uint8Array = global.Uint8Array; property12 = a0[r35 - value4 - r58]; prototype = Uint8Array.prototype; value35 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value36 = uint8Array instanceof Object ? uint8Array : value35; reducibleJoin35: while (true) { if (value4 != r58) { break reducibleJoin35; } items5[r35 - value4].dispose = value5; break reducibleJoin35; } Uint8Array = global.Uint8Array; value37 = r62 * r61 * value7; prototype = Uint8Array.prototype; value38 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value39 = uint8Array instanceof Object ? uint8Array : value38; _copyTileBinding = _copyTile; value40 = -r64; _copyTileBinding(value36, value, value2, value39, r62, r61, value40, -r63, value3); _copyTileBinding = _copyTile; value41 = -r64; r60 = _copyTileBinding(value19, value, value2, value39, r62, r61, value41, -r63, value6) ? value4 : value3; if (value4 === r60) { _prepareDiff(value19, value, value2, value39, {x: r64, y: r63, width: r62, height: r61}); r49 = r60; r50 = value39; r52 = r61; r53 = r62; r54 = r63; r55 = r64; } else { _copyTileBinding = _copyTile; value42 = -r64; _copyTileBinding(value19, value, value2, value39, r62, r61, value42, -r63, value3); r49 = r60; r50 = value39; r52 = r61; r53 = r62; r54 = r63; r55 = r64; } } else { slice = value19.slice; value22 = Reflect.apply(slice, value19, [value3]); r50 = value22; r52 = value2; r53 = value; r54 = value3; r55 = value3; } push = items5.push; Reflect.apply(push, items5, [{rect: {x: r55, y: r54, width: r53, height: r52}, img: r50, blend: r49, dispose: value3}]); value43 = typeof r35 === 'bigint' ? r35 + 1n : +r35 + 1; length = a0.length; if (value43 < length) { r35 = value43; continue reducibleLoop5; } break reducibleLoop5; } } reducibleJoin47: while (true) { if (!property) { break reducibleJoin47; } length = items5.length; if (!(value3 < length)) { break reducibleJoin47; } r6 = value3; reducibleLoop42: while (true) { property = items5[r6]; blend = property.blend; reducibleJoin46: while (true) { if (value4 == blend) { break reducibleJoin46; } rect = property.rect; rect2 = items5[r6 - value4].rect; Math = global.Math; min = Math.min; x = rect.x; x2 = rect2.x; value44 = Reflect.apply(min, Math, [x, x2]); Math = global.Math; min = Math.min; y = rect.y; y2 = rect2.y; value45 = Reflect.apply(min, Math, [y, y2]); object3 = {x: value44, y: value45}; Math = global.Math; max = Math.max; x = rect.x; width = rect.width; value46 = x + width; x = rect2.x; width = rect2.width; object3.width = Reflect.apply(max, Math, [value46, x + width]) - value44; Math = global.Math; max = Math.max; y = rect.y; height = rect.height; value47 = y + height; y = rect2.y; height = rect2.height; object3.height = Reflect.apply(max, Math, [value47, y + height]) - value45; items5[r6 - value4].dispose = value4; reducibleJoin45: while (true) { if (r6 - value4 === value3) { break reducibleJoin45; } _updateFrame(a0, value, value2, items5, r6 - value4, object3, property2); break reducibleJoin45; } _updateFrame(a0, value, value2, items5, r6, object3, property2); break reducibleJoin46; } value48 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; length = items5.length; if (value48 < length) { r6 = value48; continue reducibleLoop42; } break reducibleJoin47; } } length = a0.length; reducibleJoin50: while (true) { if (value4 == length) { break reducibleJoin50; } length = items5.length; if (!(value3 < length)) { break reducibleJoin50; } r2 = value3; reducibleLoop49: while (true) { property = items5[r2]; rect = property.rect; width = rect.width; rect = property.rect; height = rect.height; width * height; value = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; length = items5.length; if (value < length) { r2 = value; continue reducibleLoop49; } break reducibleJoin50; } } const object4 = {}; const items2 = []; const items3 = []; if (value3 != a3) { items4 = []; length = items5.length; if (value3 < length) { r3 = value3; reducibleLoop65: while (true) { push = items4.push; img = items5[r3].img; buffer = img.buffer; Reflect.apply(push, items4, [buffer]); value = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; length = items5.length; if (value < length) { r3 = value; continue reducibleLoop65; } break reducibleLoop65; } } length = items4.length; if (value3 < length) { r3 = value3; r10 = value3; reducibleLoop67: while (true) { byteLength = items4[r3].byteLength; value = r10 + byteLength; value52 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; length = items4.length; if (value52 < length) { r3 = value52; r10 = value; continue reducibleLoop67; } r6 = value; break reducibleLoop67; } } else { r6 = value3; } Uint8Array = global.Uint8Array; prototype = Uint8Array.prototype; value = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value = uint8Array instanceof Object ? uint8Array : value; length = items4.length; if (value3 < length) { r13 = value3; r14 = value3; reducibleLoop69: while (true) { Uint8Array = global.Uint8Array; property = items4[r14]; prototype = Uint8Array.prototype; value53 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(property); value54 = uint8Array instanceof Object ? uint8Array : value53; length = value54.length; if (value3 < length) { r16 = value3; reducibleLoop70: while (true) { property = value54[r16]; property14 = value54[r16 + value4]; property15 = value54[r16 + value5]; property16 = value54[r16 + value6]; if (value3 != property16) { r29 = property15; r30 = property14; r31 = property; } else { r29 = value3; r30 = value3; r31 = value3; } value[r13 + r16] = r31; value[r13 + r16 + value4] = r30; value[r13 + r16 + value5] = r29; value[r13 + r16 + value6] = property16; value55 = r16 + value7; if (value55 < length) { r16 = value55; continue reducibleLoop70; } break reducibleLoop70; } } value56 = r13 + length; value57 = typeof r14 === 'bigint' ? r14 + 1n : +r14 + 1; length = items4.length; if (value57 < length) { r13 = value56; r14 = value57; continue reducibleLoop69; } break reducibleLoop69; } } buffer = value.buffer; value = quantize_20930(buffer, a3); plte = value.plte; length = plte.length; if (value3 < length) { r3 = value3; reducibleLoop74: while (true) { push = items2.push; plte = value.plte; est = plte[r3].est; rgba = est.rgba; Reflect.apply(push, items2, [rgba]); value58 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; plte = value.plte; length = plte.length; if (value58 < length) { r3 = value58; continue reducibleLoop74; } break reducibleLoop74; } } length = items5.length; if (value3 < length) { r3 = value3; r5 = value3; reducibleLoop76: while (true) { property = items5[r5]; img = property.img; length = img.length; Uint8Array = global.Uint8Array; inds = value.inds; buffer = inds.buffer; value59 = r3 >> value5; value60 = length >> value5; prototype = Uint8Array.prototype; value61 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value62 = uint8Array instanceof Object ? uint8Array : value61; push = items3.push; Reflect.apply(push, items3, [value62]); Uint8Array = global.Uint8Array; abuf = value.abuf; prototype = Uint8Array.prototype; value63 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(abuf, r3, length); value64 = uint8Array instanceof Object ? uint8Array : value63; reducibleJoin78: while (true) { if (property6) { ditherBinding = dither; img = property.img; rect = property.rect; width = rect.width; rect = property.rect; height = rect.height; ditherBinding(img, width, height, items2, value64, value62); break reducibleJoin78; } break reducibleJoin78; } img = property.img; set = img.set; Reflect.apply(set, img, [value64]); value65 = r3 + length; value66 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1; length = items5.length; if (value66 < length) { r3 = value65; r5 = value66; continue reducibleLoop76; } break reducibleLoop76; } } } else { length = items5.length; if (value3 < length) { r10 = value3; reducibleLoop52: while (true) { property = items5[r10]; Uint32Array = global.Uint32Array; img = property.img; buffer = img.buffer; prototype = Uint32Array.prototype; value = Object.create(prototype, {constructor: {value: Uint32Array}}); uint32Array = new Uint32Array(); value = uint32Array instanceof Object ? uint32Array : value; rect = property.rect; width = rect.width; length = value.length; Uint8Array = global.Uint8Array; prototype = Uint8Array.prototype; value49 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(length); value50 = uint8Array instanceof Object ? uint8Array : value49; push = items3.push; Reflect.apply(push, items3, [value50]); if (value3 < length) { r15 = value3; reducibleLoop53: while (true) { property = value[r15]; if (value3 != r15) { reducibleJoin55: while (true) { if (property == value[r15 - value4]) { value50[r15] = value50[r15 - value4]; value51 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1; if (value51 < length) { r15 = value51; continue reducibleLoop53; } break reducibleLoop53; } break reducibleJoin55; } } if (r15 > width) { reducibleJoin57: while (true) { if (property == value[r15 - width]) { value50[r15] = value50[r15 - width]; value51 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1; if (value51 < length) { r15 = value51; continue reducibleLoop53; } break reducibleLoop53; } break reducibleJoin57; } } property13 = object4[property]; if (property13 != null) { r31 = property13; } else { length2 = items2.length; object4[property] = length2; push = items2.push; Reflect.apply(push, items2, [property]); length3 = items2.length; reducibleJoin59: while (true) { if (length3 >= 300) { break reducibleLoop53; } r31 = length2; break reducibleJoin59; } } value50[r15] = r31; value51 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1; if (value51 < length) { r15 = value51; continue reducibleLoop53; } break reducibleLoop53; } } value = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1; length = items5.length; if (value < length) { r10 = value; continue reducibleLoop52; } break reducibleLoop52; } } } length = items2.length; value = length <= 256; reducibleJoin81: while (true) { if (value) { value = value3 == property5; r0 = value; break reducibleJoin81; } r0 = value; break reducibleJoin81; } value = 8; reducibleJoin88: while (true) { if (r0) { reducibleJoin87: while (true) { if (length <= value5) { r6 = value4; break reducibleJoin87; } reducibleJoin86: while (true) { if (length <= value7) { r0 = value5; break reducibleJoin86; } r5 = length <= 16 ? value7 : value; r0 = r5; break reducibleJoin86; } r6 = r0; break reducibleJoin87; } Math = global.Math; max = Math.max; value67 = Reflect.apply(max, Math, [r6, property4]); r3 = value67; break reducibleJoin88; } r3 = value; break reducibleJoin88; } const length4 = items5.length; const value68 = 6; if (value3 < length4) { r11 = value3; r12 = value68; reducibleLoop89: while (true) { property = items5[r11]; rect = property.rect; rect.x; rect = property.rect; rect.y; rect = property.rect; width = rect.width; rect = property.rect; height = rect.height; img = property.img; Uint32Array = global.Uint32Array; buffer = img.buffer; prototype = Uint32Array.prototype; Object.create(prototype, {constructor: {value: Uint32Array}}); new Uint32Array(); value69 = value7 * width; reducibleJoin110: while (true) { reducibleJoin91: while (true) { if (length <= 256) { if (value3 == property5) { Math = global.Math; ceil = Math.ceil; value78 = Reflect.apply(ceil, Math, [r3 * width / value]); Uint8Array = global.Uint8Array; value79 = value78 * height; prototype = Uint8Array.prototype; value80 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value81 = uint8Array instanceof Object ? uint8Array : value80; property19 = items3[r11]; if (value3 < height) { r45 = value3; reducibleLoop97: while (true) { value82 = r45 * value78; value83 = r45 * width; if (value == r3) { if (value3 < width) { r48 = value3; reducibleLoop108: while (true) { value90 = value82 + r48; value81[value90] = property19[value83 + r48]; value91 = typeof r48 === 'bigint' ? r48 + 1n : +r48 + 1; if (value91 < width) { r48 = value91; continue reducibleLoop108; } break reducibleLoop108; } } } else if (value7 == r3) { if (value3 < width) { r48 = value3; reducibleLoop106: while (true) { value88 = value82 + (r48 >> value4); property24 = value81[value88]; property25 = property19[value83 + r48]; value81[value88] = property24 | property25 << value7 - value7 * (value4 & r48); value89 = typeof r48 === 'bigint' ? r48 + 1n : +r48 + 1; if (value89 < width) { r48 = value89; continue reducibleLoop106; } break reducibleLoop106; } } } else if (value5 == r3) { if (value3 < width) { r48 = value3; reducibleLoop104: while (true) { value86 = value82 + (r48 >> value5); property22 = value81[value86]; property23 = property19[value83 + r48]; value81[value86] = property22 | property23 << value68 - value5 * (value6 & r48); value87 = typeof r48 === 'bigint' ? r48 + 1n : +r48 + 1; if (value87 < width) { r48 = value87; continue reducibleLoop104; } break reducibleLoop104; } } } else { reducibleJoin109: while (true) { if (value4 != r3) { break reducibleJoin109; } if (!(value3 < width)) { break reducibleJoin109; } r48 = value3; reducibleLoop102: while (true) { value84 = value82 + (r48 >> value6); property20 = value81[value84]; property21 = property19[value83 + r48]; value81[value84] = property20 | property21 << 7 - value4 * (7 & r48); value85 = typeof r48 === 'bigint' ? r48 + 1n : +r48 + 1; if (value85 < width) { r48 = value85; continue reducibleLoop102; } break reducibleJoin109; } } } value92 = typeof r45 === 'bigint' ? r45 + 1n : +r45 + 1; if (value92 < height) { r45 = value92; continue reducibleLoop97; } r0 = value4; r28 = value6; r37 = value78; r38 = value81; break reducibleJoin110; } property.img = r38; property.bpl = r37; property.bpp = r0; value93 = typeof r11 === 'bigint' ? r11 + 1n : +r11 + 1; length6 = items5.length; if (value93 < length6) { r11 = value93; r12 = r28; continue reducibleLoop89; } r4 = r28; break reducibleLoop89; } r0 = value4; r28 = value6; r37 = value78; r38 = value81; break reducibleJoin110; } break reducibleJoin91; } break reducibleJoin91; } if (value3 != value14) { r0 = value7; r28 = r12; r37 = value69; r38 = img; break reducibleJoin110; } length5 = items5.length; if (value4 == length5) { Uint8Array = global.Uint8Array; value70 = width * height * value6; prototype = Uint8Array.prototype; value71 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value72 = uint8Array instanceof Object ? uint8Array : value71; value73 = width * height; if (value3 < value73) { r41 = value3; reducibleLoop94: while (true) { value74 = value6 * r41; value75 = value7 * r41; value72[value74] = img[value75]; property17 = img[value75 + value4]; value72[value74 + value4] = property17; property18 = img[value75 + value5]; value72[value74 + value5] = property18; value76 = typeof r41 === 'bigint' ? r41 + 1n : +r41 + 1; if (value76 < value73) { r41 = value76; continue reducibleLoop94; } break reducibleLoop94; } } value77 = value6 * width; r0 = value6; r28 = value5; r37 = value77; r38 = value72; break reducibleJoin110; } r0 = value7; r28 = r12; r37 = value69; r38 = img; break reducibleJoin110; } property.img = r38; property.bpl = r37; property.bpp = r0; value93 = typeof r11 === 'bigint' ? r11 + 1n : +r11 + 1; length6 = items5.length; if (value93 < length6) { r11 = value93; r12 = r28; continue reducibleLoop89; } r4 = r28; break reducibleLoop89; } } else { r4 = value68; } return {ctype: r4, depth: r3, plte: items2, frames: items5}; } function _updateFrame(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#20926, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:19475, offset: 0x00ee4270, size: 872 bytes, params: 8, frame: 69 var r28; var r21; var r22; var r23; var r24; var r25; var r36; var r37; var r38; var r39; var r40; var r45; var r46; var r12; var r51; var r49; var r50; var r47; var r48; var r32; var r33; var r34; var r35; var r3; var r11; var r15; var r17; var r16; var r1; var width; var x; var value17; var y; var value18; var value19; var value20; var dispose; var value21; var value22; var value23; var value24; var value25; var value26; var _copyTileBinding; var img; var _prepareDiffBinding; const value = require; const value2 = importDefault; let Uint8Array = global.Uint8Array; const Uint32Array = global.Uint32Array; let property = global[module - 1]; let uint8Array = new Uint8Array(property); let uint32Array = new Uint32Array(global[module - 1]); const value7 = module + 1; const length = global.length; const value8 = null; if (value7 < length) { uint8Array = new Uint8Array(global[module + 1]); } else { r28 = value8; } uint32Array = new Uint32Array(new Uint8Array(global[module]).buffer); let height = exports.height; const value15 = 0; const value16 = -1; if (value15 < height) { r21 = value15; r22 = value16; r23 = value16; r24 = value2; r25 = value; while (true) { width = exports.width; if (value15 < width) { r36 = value15; r37 = r22; r38 = r23; r39 = r24; r40 = r25; while (true) { x = exports.x; value17 = x + r36; y = exports.y; value18 = y + r21; value19 = value18 * value + value17; property = uint32Array[value19]; value20 = value15 == property; if (value20) { r12 = value20; } else { dispose = importAll[module - 1].dispose; value21 = value15 == dispose; if (!value21) { r45 = value21; continue; } value22 = uint32Array[value19] == property; r45 = value22; if (!r45) { continue; } value23 = value8 == r28; if (value23) { r46 = value23; continue; } value24 = value15 != r28[4 * value19 + 3]; r46 = value24; r45 = r46; r12 = r45; } if (r12) { r45 = r37; r46 = r38; r47 = r39; r48 = r40; continue; } if (value17 < r40) { r51 = value17; continue; } r51 = r40; continue; if (value17 > r38) { r49 = value17; continue; } r49 = r38; continue; if (value18 < r39) { r50 = value18; continue; } r50 = r39; continue; if (value18 > r37) { r12 = value18; continue; } r12 = r37; continue; r45 = r12; r46 = r49; r47 = r50; r48 = r51; value25 = typeof r36 === 'bigint' ? r36 + 1n : +r36 + 1; width = exports.width; if (value25 < width) { r36 = value25; r37 = r45; r38 = r46; r39 = r47; r40 = r48; continue; } r32 = r45; r33 = r46; r34 = r47; r35 = r48; break; } } else { r32 = r22; r33 = r23; r34 = r24; r35 = r25; } value26 = typeof r21 === 'bigint' ? r21 + 1n : +r21 + 1; height = exports.height; if (value26 < height) { r21 = value26; r22 = r32; r23 = r33; r24 = r34; r25 = r35; continue; } r3 = r35; r11 = r32; r15 = r33; r17 = r34; break; } } else { r3 = value; r11 = value16; r15 = value16; r17 = value2; } if (value16 == r15) { r3 = value15; r11 = value15; r15 = value15; r17 = value15; } if (dependencyMap) { r16 = 1 & ~r3 ? r3 : typeof r3 === 'bigint' ? r3 - 1n : +r3 - 1; r3 = 1 & ~r17 ? r17 : typeof r17 === 'bigint' ? r17 - 1n : +r17 - 1; r1 = r3; r12 = r16; } else { r1 = r17; r12 = r3; } const object = {x: r12, y: r1, width: r15 - r12 + 1, height: r11 - r1 + 1}; property = importAll[module]; property.rect = object; property.blend = 1; Uint8Array = global.Uint8Array; const value29 = object.width * object.height * 4; const value30 = Object.create(Uint8Array.prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(value29); property.img = uint8Array instanceof Object ? uint8Array : value30; if (value15 == importAll[module - 1].dispose) { _copyTileBinding = _copyTile; img = property.img; _copyTileBinding(uint8Array, value, value2, img, object.width, object.height, -object.x, -object.y, value15); _prepareDiffBinding = _prepareDiff; img = property.img; _prepareDiffBinding(uint8Array, value, value2, img, object); } else { _copyTile(uint8Array, value, value2, property.img, object.width, object.height, -object.x, -object.y, value15); } } function _prepareDiff(a0, a1, a2, a3, {width, height, x, y}) { // fn#20927, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:20136, offset: 0x00ee45d8, size: 61 bytes, params: 6, frame: 27 _copyTile(a0, a1, a2, a3, width, height, -x, -y, 2); } function _filterZero_20928(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#20928, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:20209, offset: 0x00ee4615, size: 352 bytes, params: 8, frame: 29 var r0; var items2; var r7; var r6; var r3; var r2; var r4; var r5; var value; var window; var UZIP; var pako; var value4; var push; var deflate; var value5; const items3 = []; if (exports != -1) { items2 = [exports]; } else { value = require * importAll > 500000; reducibleJoin3: while (true) { if (value) { r0 = value; break reducibleJoin3; } value = importDefault == 1; r0 = value; break reducibleJoin3; } reducibleJoin6: while (true) { if (r0) { items2 = [0]; break reducibleJoin6; } items2 = [0, 1, 2, 3, 4]; break reducibleJoin6; } } reducibleJoin8: while (true) { if (dependencyMap) { r7 = {level: 0}; break reducibleJoin8; } r7 = undefined; break reducibleJoin8; } let length = module.length; reducibleJoin12: while (true) { reducibleJoin10: while (true) { if (length > 10000000) { window = global.window; UZIP = window.UZIP; if (UZIP != null) { window = global.window; UZIP = window.UZIP; r6 = UZIP; break reducibleJoin12; } break reducibleJoin10; } break reducibleJoin10; } pako = global.pako; r6 = pako; break reducibleJoin12; } const Date = global.Date; Date.now(); length = items2.length; const value2 = 0; if (value2 < length) { r3 = value2; reducibleLoop13: while (true) { if (value2 < require) { r2 = value2; reducibleLoop14: while (true) { _filterLine(module, global, r2, importAll, importDefault, items2[r3]); value4 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value4 < require) { r2 = value4; continue reducibleLoop14; } break reducibleLoop14; } } push = items3.push; deflate = r6.deflate; Reflect.apply(push, items3, [Reflect.apply(deflate, r6, [module, r7])]); value5 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; length = items2.length; if (value5 < length) { r3 = value5; continue reducibleLoop13; } break reducibleLoop13; } } length = items3.length; if (value2 < length) { r3 = value; r4 = 1000000000; r5 = value2; reducibleLoop17: while (true) { length = items3[r5].length; reducibleJoin19: while (true) { if (length < r4) { length = items3[r5].length; r3 = r5; r4 = length; break reducibleJoin19; } break reducibleJoin19; } value = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1; length = items3.length; if (value < length) { r5 = value; continue reducibleLoop17; } r0 = r3; break reducibleLoop17; } } else { r0 = value; } return items3[r0]; } function _filterLine(a0, a1, a2, a3, a4, a5) { // fn#20929, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:20569, offset: 0x00ee4775, size: 915 bytes, params: 7, frame: 30 var r6; var r0; var value6; var value7; var value8; var value9; var value10; var value11; var value12; var value13; var property; var value14; var value15; var value16; var value17; var _paethBinding; var value18; var value19; var value20; var property2; var value21; var value22; var value23; var value24; var value25; var value26; var value27; var value28; var value29; var value30; var value31; var value32; var value33; var value34; var value35; var value36; let value = a4; const value2 = a2 * a3; const value3 = value2 + a2; a0[value3] = a5; const value4 = typeof value3 === 'bigint' ? value3 + 1n : +value3 + 1; const value5 = 0; if (value5 == a5) { if (a3 < 500) { if (value5 < a3) { r0 = value5; reducibleLoop34: while (true) { value = value4 + r0; a0[value] = a1[value2 + r0]; value = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1; if (value < a3) { r0 = value; continue reducibleLoop34; } break reducibleLoop34; } } } else { a0.set(new global.Uint8Array(a1.buffer, value2, a3), value4); } } else if (a5 == 1) { if (value5 < value) { r6 = value5; reducibleLoop28: while (true) { value33 = value4 + r6; a0[value33] = a1[value2 + r6]; value34 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value34 < value) { r6 = value34; continue reducibleLoop28; } break reducibleLoop28; } } if (value < a3) { r6 = value; reducibleLoop30: while (true) { value35 = value4 + r6; property = a1[value2 + r6]; a0[value35] = property - a1[value2 + r6 - value] + 256 & 255; value36 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value36 < a3) { r6 = value36; continue reducibleLoop30; } break reducibleLoop30; } } } else if (value5 == a2) { if (value5 < value) { r6 = value5; reducibleLoop17: while (true) { value23 = value4 + r6; a0[value23] = a1[value2 + r6]; value24 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value24 < value) { r6 = value24; continue reducibleLoop17; } break reducibleLoop17; } } reducibleJoin21: while (true) { if (a5 != 2) { break reducibleJoin21; } if (!(value < a3)) { break reducibleJoin21; } r6 = value; reducibleLoop20: while (true) { value25 = value4 + r6; a0[value25] = a1[value2 + r6]; value26 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value26 < a3) { r6 = value26; continue reducibleLoop20; } break reducibleJoin21; } } reducibleJoin24: while (true) { if (a5 != 3) { break reducibleJoin24; } if (!(value < a3)) { break reducibleJoin24; } r6 = value; reducibleLoop23: while (true) { value27 = value4 + r6; property = a1[value2 + r6]; a0[value27] = property - (a1[value2 + r6 - value] >> 1) + 256 & 255; value28 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value28 < a3) { r6 = value28; continue reducibleLoop23; } break reducibleJoin24; } } reducibleJoin35: while (true) { if (a5 != 4) { break reducibleJoin35; } value29 = environment; if (!(value < a3)) { break reducibleJoin35; } r6 = value; reducibleLoop26: while (true) { value30 = value4 + r6; property = a1[value2 + r6]; value31 = property - _paeth(a1[value2 + r6 - value], value5, value5) + 256 & 255; a0[value30] = value31; value32 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value32 < a3) { r6 = value32; continue reducibleLoop26; } break reducibleJoin35; } } } else { reducibleJoin6: while (true) { if (a5 != 2) { break reducibleJoin6; } if (!(value5 < a3)) { break reducibleJoin6; } r6 = value5; reducibleLoop5: while (true) { value6 = value4 + r6; value7 = a1[value2 + r6] + 256; a0[value6] = value7 - a1[value2 + r6 - a3] & 255; value8 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value8 < a3) { r6 = value8; continue reducibleLoop5; } break reducibleJoin6; } } reducibleJoin11: while (true) { if (a5 != 3) { break reducibleJoin11; } if (value5 < value) { r6 = value5; reducibleLoop8: while (true) { value9 = value4 + r6; value10 = a1[value2 + r6] + 256; a0[value9] = value10 - (a1[value2 + r6 - a3] >> 1) & 255; value11 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value11 < value) { r6 = value11; continue reducibleLoop8; } break reducibleLoop8; } } if (!(value < a3)) { break reducibleJoin11; } r6 = value; reducibleLoop10: while (true) { value12 = value4 + r6; value13 = a1[value2 + r6] + 256; property = a1[value2 + r6 - a3]; a0[value12] = value13 - (property + a1[value2 + r6 - value] >> 1) & 255; value14 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value14 < a3) { r6 = value14; continue reducibleLoop10; } break reducibleJoin11; } } reducibleJoin35: while (true) { if (a5 != 4) { break reducibleJoin35; } value15 = environment; if (value5 < value) { r6 = value5; reducibleLoop13: while (true) { value16 = value4 + r6; value17 = a1[value2 + r6] + 256; a0[value16] = value17 - _paeth(value5, a1[value2 + r6 - a3], value5) & 255; value18 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value18 < value) { r6 = value18; continue reducibleLoop13; } break reducibleLoop13; } } if (!(value < a3)) { break reducibleJoin35; } r6 = value; reducibleLoop15: while (true) { value19 = value4 + r6; value20 = a1[value2 + r6] + 256; _paethBinding = _paeth; property = a1[value2 + r6 - value]; property2 = a1[value2 + r6 - a3]; value21 = value20 - _paethBinding(property, property2, a1[value2 + r6 - value - a3]) & 255; a0[value19] = value21; value22 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; if (value22 < a3) { r6 = value22; continue reducibleLoop15; } break reducibleJoin35; } } } } function quantize_20930(a0, a1, a2) { // fn#20930, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:21336, offset: 0x00ee4b08, size: 774 bytes, params: 4, frame: 39 var r9; var r21; var r26; var r19; var r10; var r11; var r7; var est; var rgba; var value12; var value16; var value17; var value18; var value19; var left; var planeDstBinding; var right; var value20; var ind; var value21; var getNearestBinding; var value22; var value23; var value24; var nearestBinding; var value26; var value27; var length4; var value29; var value30; const Date = global.Date; Date.now(); let Uint8Array = global.Uint8Array; let uint8Array = new Uint8Array(a0); const value2 = 0; const value3 = uint8Array.slice(value2); let Uint32Array = global.Uint32Array; let uint32Array = new Uint32Array(value3.buffer); const kDtree = getKDtree(value3, a1); const property = kDtree[value2]; const property2 = kDtree[1]; const length = property2.length; Uint32Array = global.Uint32Array; uint32Array = new Uint32Array(length); Uint8Array = global.Uint8Array; uint8Array = new Uint8Array(uint32Array.buffer); if (value2 < length) { r9 = value2; reducibleLoop1: while (true) { est = property2[r9].est; rgba = est.rgba; uint32Array[r9] = rgba; value12 = typeof r9 === 'bigint' ? r9 + 1n : +r9 + 1; if (value12 < length) { r9 = value12; continue reducibleLoop1; } break reducibleLoop1; } } const length2 = uint8Array.length; Uint8Array = global.Uint8Array; uint8Array = new Uint8Array(length2 >> 2); if (length <= 60) { findNearest(uint8Array, uint8Array, uint8Array); remap(uint8Array, uint32Array, uint32Array); } else if (uint8Array.length < 32000000) { if (value2 < length2) { r9 = value2; reducibleLoop12: while (true) { getNearestBinding = getNearest; value22 = 0.00392156862745098 * uint8Array[r9]; value23 = 0.00392156862745098 * uint8Array[r9 + 1]; value24 = 0.00392156862745098 * uint8Array[r9 + 2]; nearestBinding = getNearestBinding(property, value22, value23, value24, 0.00392156862745098 * uint8Array[r9 + 3]); value26 = r9 >> 2; ind = nearestBinding.ind; uint8Array[value26] = ind; est = nearestBinding.est; rgba = est.rgba; uint32Array[value26] = rgba; value27 = r9 + 4; if (value27 < length2) { r9 = value27; continue reducibleLoop12; } break reducibleLoop12; } } } else if (value2 < length2) { r9 = value2; reducibleLoop5: while (true) { value16 = 0.00392156862745098 * uint8Array[r9]; value17 = 0.00392156862745098 * uint8Array[r9 + 1]; value18 = 0.00392156862745098 * uint8Array[r9 + 2]; value19 = 0.00392156862745098 * uint8Array[r9 + 3]; left = property.left; if (left) { r21 = property; reducibleLoop6: while (true) { planeDstBinding = planeDst; est = r21.est; if (planeDstBinding(est, value16, value17, value18, value19) <= value2) { r26 = r21.left; } else { right = r21.right; r26 = right; } left = r26.left; if (left) { r21 = r26; continue reducibleLoop6; } r19 = r26; break reducibleLoop6; } } else { r19 = property; } value20 = r9 >> 2; ind = r19.ind; uint8Array[value20] = ind; est = r19.est; rgba = est.rgba; uint32Array[value20] = rgba; value21 = r9 + 4; if (value21 < length2) { r9 = value21; continue reducibleLoop5; } break reducibleLoop5; } } const value28 = 1000000000; reducibleJoin21: while (true) { reducibleJoin20: while (true) { if (a2) { r10 = value28; r11 = value2; reducibleLoop16: while (true) { value29 = kmeans(uint8Array, uint8Array, uint8Array); if (value29 / r10 > 0.997) { break reducibleLoop16; } value30 = typeof r11 === 'bigint' ? r11 + 1n : +r11 + 1; if (value30 < 10) { r10 = value29; r11 = value30; continue reducibleLoop16; } break reducibleLoop16; } if (!(value2 < length)) { break reducibleJoin20; } r7 = value2; reducibleLoop19: while (true) { est = property2[r7].est; est.rgba = uint32Array[r7]; uint8Array = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1; if (uint8Array < length) { r7 = uint8Array; continue reducibleLoop19; } break reducibleJoin20; } } else { length4 = uint8Array.length; if (!(length4 * length < 40000000)) { break reducibleJoin21; } r10 = value28; r11 = value2; reducibleLoop16: while (true) { value29 = kmeans(uint8Array, uint8Array, uint8Array); if (value29 / r10 > 0.997) { break reducibleLoop16; } value30 = typeof r11 === 'bigint' ? r11 + 1n : +r11 + 1; if (value30 < 10) { r10 = value29; r11 = value30; continue reducibleLoop16; } break reducibleLoop16; } if (!(value2 < length)) { break reducibleJoin20; } r7 = value2; reducibleLoop19: while (true) { est = property2[r7].est; est.rgba = uint32Array[r7]; uint8Array = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1; if (uint8Array < length) { r7 = uint8Array; continue reducibleLoop19; } break reducibleJoin20; } } } remap(uint8Array, uint32Array, uint32Array); break reducibleJoin21; } return {abuf: value3.buffer, inds: uint8Array, plte: property2}; } function kmeans(a0, a1, a2) { // fn#20932, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:22310, offset: 0x00ee4e41, size: 314 bytes, params: 4, frame: 26 var r9; var r1; var property; var value7; var property2; var value8; var value9; var value10; var value11; var Math; var round; var value12; let length = a2.length; const value = length >>> 2; let Uint32Array = global.Uint32Array; let uint32Array = new Uint32Array(4 * value); Uint32Array = global.Uint32Array; uint32Array = new Uint32Array(value); length = a0.length; const value6 = 0; if (value6 < length) { for (r9 = value6; true; r9 = value11) { property = a1[r9 >>> 2]; value7 = 4 * property; property2 = uint32Array[property]; uint32Array[property] = typeof property2 === 'bigint' ? property2 + 1n : +property2 + 1; property = uint32Array[value7]; uint32Array[value7] = property + a0[r9]; value8 = value7 + 1; property = uint32Array[value8]; uint32Array[value8] = property + a0[r9 + 1]; value9 = value7 + 2; property = uint32Array[value9]; uint32Array[value9] = property + a0[r9 + 2]; value10 = value7 + 3; property = uint32Array[value10]; uint32Array[value10] = property + a0[r9 + 3]; value11 = r9 + 4; length = a0.length; if (!(value11 < length)) { break; } } } length = a2.length; if (value6 < length) { for (r1 = value6; true; r1 = value12) { Math = global.Math; round = Math.round; property = uint32Array[r1]; a2[r1] = Reflect.apply(round, Math, [property / uint32Array[r1 >>> 2]]); value12 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; length = a2.length; if (!(value12 < length)) { break; } } } return findNearest(a0, a1, a2); } function getKDtree(a0, a1, a2) { // fn#20934, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:23210, offset: 0x00ee5215, size: 789 bytes, params: 4, frame: 34 var r11; var r15; var r17; var r18; var r0; var r16; var r3; var est; var L; var value4; var property; var splitPixelsBinding; var e; var eMq255; var value5; var object; var object2; var N; var N2; var R; var R2; var property2; var R3; var value6; var m; var m2; var property3; var m3; var value7; var push; let value = a2; reducibleJoin2: while (true) { if (value != null) { r11 = value; break reducibleJoin2; } value = 0.0001; r11 = value; break reducibleJoin2; } const Uint32Array = global.Uint32Array; let uint32Array = new Uint32Array(a0.buffer); const object3 = {'i0': 0, 'i1': null, 'bst': null, 'est': null, 'tdst': 0, 'left': null, 'right': null}; const value2 = 0; let length = a0.length; object3.i1 = length; let statsBinding = stats; let i0 = object3.i0; let i1 = object3.i1; object3.bst = statsBinding(a0, i0, i1); let estatsBinding = estats; let bst = object3.bst; object3.est = estatsBinding(bst); const items2 = [object3]; length = items2.length; if (length < a1) { reducibleLoop3: while (true) { length = items2.length; if (value2 < length) { r15 = value2; r17 = value2; r18 = value2; reducibleLoop4: while (true) { est = items2[r15].est; L = est.L; reducibleJoin6: while (true) { if (L > r18) { est = items2[r15].est; L = est.L; r17 = r15; r18 = L; break reducibleJoin6; } break reducibleJoin6; } value4 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1; length = items2.length; if (value4 < length) { r15 = value4; continue reducibleLoop4; } r0 = r18; r16 = r17; break reducibleLoop4; } } else { r0 = value2; r16 = value2; } if (r0 < r11) { break reducibleLoop3; } property = items2[r16]; splitPixelsBinding = splitPixels; i0 = property.i0; i1 = property.i1; est = property.est; e = est.e; est = property.est; eMq255 = est.eMq255; value5 = splitPixelsBinding(a0, uint32Array, i0, i1, e, eMq255); i0 = property.i0; reducibleJoin15: while (true) { reducibleJoin14: while (true) { if (i0 >= value5) { break reducibleJoin14; } i1 = property.i1; if (i1 <= value5) { break reducibleJoin14; } object = {'i0': null, 'i1': null, 'bst': null, 'est': null, 'tdst': 0, 'left': null, 'right': null}; i0 = property.i0; object.i0 = i0; object.i1 = value5; statsBinding = stats; i0 = object.i0; i1 = object.i1; object.bst = statsBinding(a0, i0, i1); estatsBinding = estats; bst = object.bst; object.est = estatsBinding(bst); object2 = {'i0': null, 'i1': null, 'bst': null, 'est': null, 'tdst': 0, 'left': null, 'right': null}; object2.i0 = value5; i1 = property.i1; object2.i1 = i1; bst = property.bst; N = bst.N; bst = object.bst; N2 = bst.N; object2.bst = {R: [], m: [], N: N - N2}; r18 = value2; reducibleLoop11: while (true) { bst = object2.bst; R = bst.R; bst = property.bst; R2 = bst.R; property2 = R2[r18]; bst = object.bst; R3 = bst.R; R[r18] = property2 - R3[r18]; value6 = typeof r18 === 'bigint' ? r18 + 1n : +r18 + 1; if (value6 < 16) { r18 = value6; continue reducibleLoop11; } r17 = value2; break reducibleLoop11; } reducibleLoop12: while (true) { bst = object2.bst; m = bst.m; bst = property.bst; m2 = bst.m; property3 = m2[r17]; bst = object.bst; m3 = bst.m; m[r17] = property3 - m3[r17]; value7 = typeof r17 === 'bigint' ? r17 + 1n : +r17 + 1; if (value7 < 4) { r17 = value7; continue reducibleLoop12; } break reducibleLoop12; } estatsBinding = estats; bst = object2.bst; object2.est = estatsBinding(bst); property.left = object; property.right = object2; items2[r16] = object; push = items2.push; Reflect.apply(push, items2, [object2]); break reducibleJoin15; } est = property.est; est.L = value2; break reducibleJoin15; } length = items2.length; if (length < a1) { continue reducibleLoop3; } break reducibleLoop3; } } items2.sort(function(a0, a1) { var N = a1.bst.N; return N - a0.bst.N; }); length = items2.length; if (value2 < length) { r3 = value2; reducibleLoop17: while (true) { items2[r3].ind = r3; uint32Array = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; length = items2.length; if (uint32Array < length) { r3 = uint32Array; continue reducibleLoop17; } break reducibleLoop17; } } return [object3, items2]; } function getNearest(a0, a1, a2, a3, a4) { // fn#20936, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:24067, offset: 0x00ee554e, size: 267 bytes, params: 6, frame: 24 var r7; var r10; var value; var q; var value4; var value5; var value6; let left = a0.left; if (left == null) { q = a0.est.q; value = a1 - q[0]; value4 = a2 - q[1]; value5 = a3 - q[2]; value6 = a4 - q[3]; value *= value; value += value4 * value4; value += value5 * value5; a0.tdst = value + value6 * value6; return a0; } const value2 = planeDst(a0.est, a1, a2, a3, a4); left = a0.left; let right = a0.right; if (value2 > 0) { right = a0.right; r7 = a0.left; r10 = right; } else { r7 = right; r10 = left; } const nearest = getNearest(r10, a1, a2, a3, a4); if (nearest.tdst <= value2 * value2) { return nearest; } value = getNearest(r7, a1, a2, a3, a4); return value.tdst < nearest.tdst ? value : nearest; } function splitPixels(a0, a1, a2, a3, a4, a5) { // fn#20938, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:24496, offset: 0x00ee56b0, size: 243 bytes, params: 7, frame: 27 var r2; var r9; var r13; var r11; var r14; var r12; var r0; var r3; var property; var value4; var value5; let value = a2; const value2 = a3 - 4; if (value < value2) { r2 = value; r9 = value2; reducibleLoop1: while (true) { if (vecDot(a0, r2, a4) <= a5) { r13 = r2; reducibleLoop2: while (true) { value = r13 + 4; if (vecDot(a0, value, a4) <= a5) { r13 = value; continue reducibleLoop2; } r11 = value; break reducibleLoop2; } } else { r11 = r2; } if (vecDot(a0, r9, a4) > a5) { r14 = r9; reducibleLoop4: while (true) { value = r14 - 4; if (vecDot(a0, value, a4) > a5) { r14 = value; continue reducibleLoop4; } r12 = value; break reducibleLoop4; } } else { r12 = r9; } if (r11 >= r12) { r0 = r11; break reducibleLoop1; } property = a1[r11 >> 2]; value = r11 >> 2; value4 = r12 >> 2; a1[value] = a1[value4]; a1[value4] = property; value = r11 + 4; value5 = r12 - 4; if (value < value5) { r2 = value; r9 = value5; continue reducibleLoop1; } r0 = value; break reducibleLoop1; } } else { r0 = value; } if (vecDot(a0, r0, a4) > a5) { r3 = r0; reducibleLoop8: while (true) { value = r3 - 4; if (vecDot(a0, value, a4) > a5) { r3 = value; continue reducibleLoop8; } r0 = value; break reducibleLoop8; } } return r0 + 4; } function estats({R, m, N}) { // fn#20941, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:25214, offset: 0x00ee59b0, size: 975 bytes, params: 2, frame: 36 var r16; var r17; var r18; var r8; var r10; var value6; var sqrt; var dot; var value7; var value8; var value9; var value10; var value11; var value12; var abs; const property = m[0]; const property2 = m[1]; const property3 = m[2]; const property4 = m[3]; const r0 = N == 0 ? 0 : 1 / N; const items4 = [R[0] - property * property * r0]; items4[1] = R[1] - property * property2 * r0; items4[2] = R[2] - property * property3 * r0; items4[3] = R[3] - property * property4 * r0; items4[4] = R[4] - property2 * property * r0; items4[5] = R[5] - property2 * property2 * r0; items4[6] = R[6] - property2 * property3 * r0; items4[7] = R[7] - property2 * property4 * r0; items4[8] = R[8] - property3 * property * r0; items4[9] = R[9] - property3 * property2 * r0; items4[10] = R[10] - property3 * property3 * r0; items4[11] = R[11] - property3 * property4 * r0; items4[12] = R[12] - property4 * property * r0; items4[13] = R[13] - property4 * property2 * r0; items4[14] = R[14] - property4 * property3 * r0; items4[15] = R[15] - property4 * property4 * r0; const binding = env0_4; let Math = global.Math; const items2 = [Math.random()]; Math = global.Math; items2[1] = Math.random(); Math = global.Math; items2[2] = Math.random(); Math = global.Math; items2[3] = Math.random(); if (N != 0) { value6 = binding.multVec(items4, items2); Math = global.Math; sqrt = Math.sqrt; dot = binding.dot; value7 = Reflect.apply(sqrt, Math, [Reflect.apply(dot, binding, [value6, value6])]); value8 = binding.sml(1 / value7, value6); r16 = 0; r17 = value7; r18 = value8; while (true) { value9 = typeof r16 === 'bigint' ? r16 + 1n : +r16 + 1; if (!(value9 < 16)) { r8 = r17; r10 = r18; break; } value10 = binding.multVec(items4, r18); Math = global.Math; sqrt = Math.sqrt; dot = binding.dot; value11 = Reflect.apply(sqrt, Math, [Reflect.apply(dot, binding, [value10, value10])]); value12 = binding.sml(1 / value11, value10); if (value9 == 0) { r16 = value9; r17 = value11; r18 = value12; continue; } Math = global.Math; abs = Math.abs; if (Reflect.apply(abs, Math, [value11 - r17]) < 0.000000001) { r8 = r17; r10 = value12; break; } r16 = value9; r17 = value11; r18 = value12; continue; } } else { r8 = 0; r10 = items2; } const items3 = [property * r0, property2 * r0, property3 * r0, property4 * r0]; const object = {Cov: items4, q: items3, e: r10, L: r8}; object.eMq255 = binding.dot(binding.sml(255, items3), r10); object.eMq = binding.dot(r10, items3); Math = global.Math; const value15 = Math.round(255 * items3[3]) << 24; Math = global.Math; const value17 = Math.round(255 * items3[2]) << 16; Math = global.Math; const value18 = Math.round(255 * items3[1]) << 8; Math = global.Math; object.rgba = (value15 | value17 | value18 | Math.round(255 * items3[0])) >>> 0; return object; } function update_20942(a0, a1, a2, a3) { // fn#20942, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:12868, offset: 0x00ee5d7f, size: 83 bytes, params: 5, frame: 11 var r1; var r5; var r0; var table; var property; var value4; let value = a0; const value2 = 0; if (value2 < a3) { r1 = value; for (r5 = value2; true; r5 = value4) { table = env0_3.table; property = table[255 & (r1 ^ a1[a2 + r5])]; value = property ^ r1 >>> 8; value4 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1; if (!(value4 < a3)) { r0 = value; break; } r1 = value; } } else { r0 = value; } return r0; } function crc(a0, a1, a2) { // fn#20943, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:12959, offset: 0x00ee5dd2, size: 48 bytes, params: 4, frame: 17 const binding = env0_3; return 4294967295 ^ binding.update(4294967295, a0, a1, a2); } function encode_20947(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#20947, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:26229, offset: 0x00ee5fd3, size: 131 bytes, params: 8, frame: 21 const value3 = compress(global, require, importDefault, importAll ?? 0, [false, false, false, 0, dependencyMap ?? false, false]); compressPNG(value3, -1); return _main(value3, require, importDefault, module, exports); } function encodeLL(a0, a1, a2, a3, a4, a5, a6, a7) { // fn#20948, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:26387, offset: 0x00ee6056, size: 323 bytes, params: 9, frame: 29 var r3; var r1; var frames; var push; var object; var Uint8Array; var property; var prototype; var value5; var uint8Array; var value6; var Math; var ceil; var value7; const object2 = {}; let value = 2; reducibleJoin2: while (true) { if (a3 == 1) { value = 0; r3 = value; break reducibleJoin2; } r3 = value; break reducibleJoin2; } value = 0; object2.ctype = value + r3 + (value == a4 ? value : 4); object2.depth = a5; object2.frames = []; const Date = global.Date; Date.now(); const value3 = (a3 + a4) * a5; const value4 = value3 * a1; let length = a0.length; if (value < length) { r1 = value; reducibleLoop4: while (true) { frames = object2.frames; push = frames.push; object = {}; object.rect = {'x': 0, 'y': 0, width: a1, height: a2}; Uint8Array = global.Uint8Array; property = a0[r1]; prototype = Uint8Array.prototype; value5 = Object.create(prototype, {constructor: {value: Uint8Array}}); uint8Array = new Uint8Array(); value6 = uint8Array instanceof Object ? uint8Array : value5; object.img = value6; object.blend = value; object.dispose = 1; Math = global.Math; ceil = Math.ceil; object.bpp = Reflect.apply(ceil, Math, [value3 / 8]); Math = global.Math; ceil = Math.ceil; object.bpl = Reflect.apply(ceil, Math, [value4 / 8]); Reflect.apply(push, frames, [object]); value7 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; length = a0.length; if (value7 < length) { r1 = value7; continue reducibleLoop4; } break reducibleLoop4; } } compressPNG(object2, value, true); return _main(object2, a1, a2, a6, a7); } } } function _copyTile(a0, a1, a2, a3, a4, a5, a6, a7, a8) { // fn#20892, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:8638, offset: 0x00edfd25, size: 1071 bytes, params: 10, frame: 77 var r10; var r40; var r51; var r52; var r65; var value4; var value5; var value6; var value7; var property; var property2; var property3; var property4; var property5; var property6; var property7; var property8; var property9; var property10; var property11; var value8; var property12; var property13; var value9; var property14; var value10; var property15; var value11; var value12; var value13; var value14; var value15; var value16; var value17; var value18; var value19; var value20; var value21; var value22; var value23; var value24; var value25; var value26; var value27; let Math = global.Math; const value = Math.min(a1, a4); Math = global.Math; const value2 = Math.min(a2, a5); const value3 = 0; if (value3 < value2) { r10 = value3; reducibleLoop1: while (true) { if (value3 < value) { r40 = value3; reducibleLoop2: while (true) { reducibleJoin6: while (true) { reducibleJoin4: while (true) { if (a6 >= value3) { if (a7 >= value3) { value6 = r10 * a1 + r40 << 2; value7 = (a7 + r10) * a4 + a6 + r40 << 2; r51 = value7; r52 = value6; break reducibleJoin6; } break reducibleJoin4; } break reducibleJoin4; } value4 = (-a7 + r10) * a1 - a6 + r40 << 2; value5 = r10 * a4 + r40 << 2; r51 = value5; r52 = value4; break reducibleJoin6; } if (value3 == a8) { a3[r51] = a0[r52]; property = a0[r52 + 1]; a3[r51 + 1] = property; property = a0[r52 + 2]; a3[r51 + 2] = property; property = a0[r52 + 3]; a3[r51 + 3] = property; } else if (a8 == 1) { value11 = 0.00392156862745098 * a0[r52 + 3]; value12 = a0[r52] * value11; value13 = a0[r52 + 1] * value11; value14 = a0[r52 + 2] * value11; value15 = r51 + 3; value16 = 0.00392156862745098 * a3[value15]; value17 = a3[r51] * value16; value18 = r51 + 1; value19 = a3[value18] * value16; value20 = r51 + 2; value21 = a3[value20] * value16; value22 = 1 - value11; value23 = value11 + value16 * value22; reducibleJoin25: while (true) { if (value3 === value23) { r65 = value3; break reducibleJoin25; } value24 = 1 / value23; r65 = value24; break reducibleJoin25; } a3[value15] = 255 * value23; value25 = (value12 + value17 * value22) * r65; a3[r51 + value3] = value25; a3[value18] = (value13 + value19 * value22) * r65; a3[value20] = (value14 + value21 * value22) * r65; } else if (a8 == 2) { property = a0[r52 + 3]; property9 = a0[r52]; property10 = a0[r52 + 1]; property11 = a0[r52 + 2]; value8 = r51 + 3; property12 = a3[value8]; property13 = a3[r51]; value9 = r51 + 1; property14 = a3[value9]; value10 = r51 + 2; property15 = a3[value10]; reducibleJoin27: while (true) { reducibleJoin21: while (true) { if (property != property12) { break reducibleJoin21; } if (property9 != property13) { break reducibleJoin21; } if (property10 != property14) { break reducibleJoin21; } if (property11 == property15) { a3[r51] = value3; a3[value9] = value3; a3[value10] = value3; a3[value8] = value3; break reducibleJoin27; } break reducibleJoin21; } a3[r51] = property9; a3[value9] = property10; a3[value10] = property11; a3[value8] = property; break reducibleJoin27; } } else { reducibleJoin27: while (true) { if (a8 != 3) { break reducibleJoin27; } property = a0[r52 + 3]; property2 = a0[r52]; property3 = a0[r52 + 1]; property4 = a0[r52 + 2]; property5 = a3[r51 + 3]; property6 = a3[r51]; property7 = a3[r51 + 1]; property8 = a3[r51 + 2]; if (property == property5) { reducibleJoin14: while (true) { if (property2 != property6) { break reducibleJoin14; } if (property3 != property7) { break reducibleJoin14; } if (property4 == property8) { break reducibleJoin27; } break reducibleJoin14; } } if (property < 220) { if (property5 > 20) { return false; } break reducibleJoin27; } break reducibleJoin27; } } value26 = typeof r40 === 'bigint' ? r40 + 1n : +r40 + 1; if (value26 < value) { r40 = value26; continue reducibleLoop2; } break reducibleLoop2; } } value27 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1; if (!(value27 < value2)) { return true; } r10 = value27; continue reducibleLoop1; } } return true; } function addErr(a0, a1, a2, a3) { // fn#20919, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:13026, offset: 0x00ee2694, size: 138 bytes, params: 5, frame: 8 a1[a2] = a1[a2] + (a0[0] * a3 >> 4); let value = a2 + 1; a1[value] = a1[value] + (a0[1] * a3 >> 4); value = a2 + 2; a1[value] = a1[value] + (a0[2] * a3 >> 4); value = a2 + 3; a1[value] = a1[value] + (a0[3] * a3 >> 4); } function findNearest(a0, a1, a2) { // fn#20933, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:22623, offset: 0x00ee4f7b, size: 666 bytes, params: 4, frame: 42 var r3; var r21; var r23; var r31; var r22; var r4; var r5; var r20; var r17; var r1; var value5; var property; var property2; var property3; var property4; var value6; var value7; var value8; var value9; var value10; var value11; var value12; var value13; var value14; var value15; var Math; var sqrt; var value16; var property5; var property6; var property7; var value17; var property8; var value18; var value19; var value20; var value21; var value22; var value23; var value24; var value25; var value26; var value27; var value28; var value29; var value30; var value31; var value32; var value33; var value34; var value35; var value36; var value37; var value38; let length = a2.length; const value = length >>> 2; const items2 = []; const value2 = 0; const value3 = value2 < value; const value4 = 1000000000; if (value3) { r3 = value2; reducibleLoop1: while (true) { value5 = 4 * r3; property = a2[value5]; property2 = a2[value5 + 1]; property3 = a2[value5 + 2]; property4 = a2[value5 + 3]; if (value3) { r21 = value2; r23 = value4; reducibleLoop2: while (true) { reducibleJoin4: while (true) { if (r3 == r21) { r31 = r23; break reducibleJoin4; } value6 = 4 * r21; value7 = property - a2[value6]; value8 = value7 * value7; value9 = property2 - a2[value6 + 1]; value10 = value8 + value9 * value9; value11 = property3 - a2[value6 + 2]; value12 = value10 + value11 * value11; value13 = property4 - a2[value6 + 3]; value14 = value12 + value13 * value13; if (value14 < r23) { r31 = value14; break reducibleJoin4; } r31 = r23; break reducibleJoin4; } value15 = typeof r21 === 'bigint' ? r21 + 1n : +r21 + 1; if (value15 < value) { r21 = value15; r23 = r31; continue reducibleLoop2; } r22 = r31; break reducibleLoop2; } } else { r22 = value4; } Math = global.Math; sqrt = Math.sqrt; items2[r3] = 0.5 * Reflect.apply(sqrt, Math, [r22]); property = items2[r3]; items2[r3] = property * items2[r3]; value16 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; if (value16 < value) { r3 = value16; continue reducibleLoop1; } break reducibleLoop1; } } length = a0.length; if (value2 < length) { r4 = value2; r5 = value2; reducibleLoop7: while (true) { property = a0[r4]; property5 = a0[r4 + 1]; property6 = a0[r4 + 2]; property7 = a0[r4 + 3]; value17 = r4 >>> 2; property8 = a1[value17]; value18 = 4 * property8; value19 = property - a2[value18]; value20 = value19 * value19; value21 = property5 - a2[value18 + 1]; value22 = value20 + value21 * value21; value23 = property6 - a2[value18 + 2]; value24 = value22 + value23 * value23; value25 = property7 - a2[value18 + 3]; value26 = value24 + value25 * value25; reducibleJoin12: while (true) { if (!(value26 > items2[property8])) { r3 = value26; r17 = property8; break reducibleJoin12; } if (!value3) { r3 = value26; r17 = property8; break reducibleJoin12; } r20 = value2; r21 = value26; r22 = property8; reducibleLoop9: while (true) { value27 = 4 * r20; value28 = property - a2[value27]; value29 = value28 * value28; value30 = property5 - a2[value27 + 1]; value31 = value29 + value30 * value30; value32 = property6 - a2[value27 + 2]; value33 = value31 + value32 * value32; value34 = property7 - a2[value27 + 3]; value35 = value33 + value34 * value34; if (value35 < r21) { reducibleJoin11: while (true) { if (value35 < items2[r20]) { r3 = value35; r17 = r20; break reducibleJoin12; } r21 = value35; r22 = r20; break reducibleJoin11; } } value36 = typeof r20 === 'bigint' ? r20 + 1n : +r20 + 1; if (value36 < value) { r20 = value36; continue reducibleLoop9; } r3 = r21; r17 = r22; break reducibleJoin12; } } a1[value17] = r17; value37 = r5 + r3; value38 = r4 + 4; length = a0.length; if (value38 < length) { r4 = value38; r5 = value37; continue reducibleLoop7; } r1 = value37; break reducibleLoop7; } } else { r1 = value2; } return r1 / (a0.length >>> 2); } function stats(a0, a1, a2) { // fn#20940, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:24779, offset: 0x00ee5801, size: 431 bytes, params: 4, frame: 24 var r16; var value3; var value4; var value5; var property; let value = a1; const items3 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; const items2 = [0, 0, 0, 0]; const value2 = a2 - value >> 2; if (value < a2) { for (r16 = value; true; r16 = value) { value = 0.00392156862745098 * a0[r16]; value3 = 0.00392156862745098 * a0[r16 + 1]; value4 = 0.00392156862745098 * a0[r16 + 2]; value5 = 0.00392156862745098 * a0[r16 + 3]; items2[0] += value; items2[1] += value3; items2[2] += value4; items2[3] += value5; property = items3[0]; items3[0] = property + value * value; property = items3[1]; items3[1] = property + value * value3; property = items3[2]; items3[2] = property + value * value4; property = items3[3]; items3[3] = property + value * value5; property = items3[5]; items3[5] = property + value3 * value3; property = items3[6]; items3[6] = property + value3 * value4; property = items3[7]; items3[7] = property + value3 * value5; property = items3[10]; items3[10] = property + value4 * value4; property = items3[11]; items3[11] = property + value4 * value5; property = items3[15]; items3[15] = property + value5 * value5; value = r16 + 4; if (!(value < a2)) { break; } } } items3[4] = items3[1]; items3[8] = items3[2]; items3[9] = items3[6]; items3[12] = items3[3]; items3[13] = items3[7]; items3[14] = items3[11]; return {R: items3, m: items2, N: value2}; } function multVec([property, property, property, property, property, property, property, property, property, property, property, property, property, property, property, property], a1) { // fn#20944, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:25893, offset: 0x00ee5e02, size: 315 bytes, params: 3, frame: 10 let value = property * a1[0]; value += property * a1[1]; value += property * a1[2]; value += property * a1[3]; const items2 = [value]; value = property * a1[0]; value += property * a1[1]; value += property * a1[2]; items2[1] = value + property * a1[3]; value = property * a1[0]; value += property * a1[1]; value += property * a1[2]; items2[2] = value + property * a1[3]; value = property * a1[0]; value += property * a1[1]; value += property * a1[2]; items2[3] = value + property * a1[3]; return items2; } global.__d(_fun20883, 1907, []) /* metro module 1907 */;