/* Metro module 305; source: unknown; dependencies: [65, 77, 29, 6, 7, 15, 17, 18, 31, 27, 33, 306, 307, 44, 79, 308, 309, 310, 311, 304, 312, 313, 314, 48, 315, 316] */
import ClassCallCheck from './module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from './module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from './module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from './module-00017.js'; /* Metro dependency 17 */
import Inherits from './module-00018-Inherits.js'; /* Metro dependency 18 */
import ObjectWithoutProperties from './module-00029-ObjectWithoutProperties.js'; /* Metro dependency 29 */
import Module00065 from './module-00065.js'; /* Metro dependency 65 */
import Module00077 from './module-00077.js'; /* Metro dependency 77 */
import Module00306 from './module-00306.js'; /* Metro dependency 306 */
import defaultImport23 from './module-00307.js'; /* Metro dependency 307 */
import defaultImport3 from './module-00309.js'; /* Metro dependency 309 */
import Module00312 from './module-00312.jsx'; /* Metro dependency 312 */
import * as ReactModule from './module-00031-React.js'; /* Metro dependency 31 */
import * as Module00079Module from './module-00079.js'; /* Metro dependency 79 */
import * as Module00304Module from './module-00304.js'; /* Metro dependency 304 */
import * as Module00311Module from './module-00311.js'; /* Metro dependency 311 */
import * as VirtualizedListModule from './module-00313-VirtualizedList.jsx'; /* Metro dependency 313 */
function _fun4604(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#4604, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:6, offset: 0x00cc71c4, size: 604 bytes, params: 8, frame: 22
const env0_0 = require;
const getScrollingThreshold = function(a0, a1) {
return a0 * a1 / 2;
};
const env0_4 = ['onContentSizeChange'];
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = ReactModule;
const env0_14 = value.cloneElement;
const env0_15 = value.isValidElement;
value = require(27) /* metro dependency 27 */;
const env0_16 = value.I18nManager;
value.Platform;
const env0_17 = value.RefreshControl;
const env0_18 = value.ScrollView;
const StyleSheet = value.StyleSheet;
const env0_20 = value.View;
const env0_21 = value.findNodeHandle;
value = require(33) /* metro dependency 33 */;
const env0_22 = value.jsx;
const env0_23 = value.jsxs;
value = importDefault(316) /* metro dependency 316 */;
value = _fun4609(value);
const VirtualizedListContext = (VirtualizedListModule).VirtualizedListContext;
value.contextType = VirtualizedListContext;
const env0_26 = StyleSheet.create({verticallyInverted: {transform: [{scale: -1}]},
horizontallyInverted: {transform: [{scaleX: -1}]}, debug: {flex: 1}, debugOverlayBase: {'position': 'absolute',
'top': 0, 'right': 0}, debugOverlay: {'bottom': 0, 'width': 20, 'borderColor': 'blue', 'borderWidth': 1},
debugOverlayFrame: {'left': 0, 'backgroundColor': 'orange'}, debugOverlayFrameLast: {'left': 0,
'borderColor': 'green', 'borderWidth': 2}, debugOverlayFrameVis: {'left': 0, 'borderColor': 'red',
'borderWidth': 2}});
exports.default = value;
function _isNativeReflectConstruct_4605() { // fn#4605, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:426, offset: 0x00cc7420, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_4605_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun4609(a0) { // fn#4609, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:714, offset: 0x00cc7491, size: 1233 bytes, params: 2, frame: 18
const VirtualizedList2 = VirtualizedList;
Inherits(VirtualizedList2, a0);
return CreateClass(VirtualizedList2, [{key: 'scrollToEnd', value: value_4646}, {key: 'scrollToIndex', value: value_4647},
{key: 'scrollToItem', value: function(a0) {
var r2;
var value3;
var property = a0.item;
var props = this.props;
var data = props.data;
var getItem = props.getItem;
var value = (0, props.getItemCount)(data);
var value2 = 0;
if (value2 < value) {
r2 = value2;
loopExit1: while (true) {
if (getItem(data, r2) === property) {
property = global.Object;
this.scrollToIndex(property.assign({}, a0, {index: r2}));
break loopExit1;
}
value3 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value3 < value) {
r2 = value3;
continue;
}
break loopExit1;
}
}
}}, {key: 'scrollToOffset', value: value_4649}, {key: '_scrollToParamsFromOffset', value: function(a0) {
var object;
var value = this._orientation();
var horizontal = value.horizontal;
if (horizontal) {
if (value.rtl) {
value = this._listMetrics.cartesianOffset(a0 + this._scrollMetrics.visibleLength);
object = {};
if (horizontal) {
object.x = value;
} else {
object.y = value;
}
return object;
}
}
object = {};
if (horizontal) {
object.x = a0;
} else {
object.y = a0;
}
return object;
}}, {key: 'recordInteraction', value: function() {
this._nestedChildLists.forEach(_fun4652);
this._viewabilityTuples.forEach(_fun4653);
this._updateViewableItems(this.props, this.state.cellsAroundViewport);
}}, {key: 'flashScrollIndicators', value: function() {
if (this._scrollRef != null) {
this._scrollRef.flashScrollIndicators();
}
}}, {key: 'getScrollResponder', value: function() {
if (this._scrollRef) {
if (this._scrollRef.getScrollResponder) {
return this._scrollRef.getScrollResponder();
}
}
}}, {key: 'getScrollableNode', value: value_4656}, {key: 'getScrollRef', value: function() {
return this._scrollRef && this._scrollRef.getScrollRef ? this._scrollRef.getScrollRef() : this._scrollRef;
}}, {key: 'setNativeProps', value: function(a0) {
if (this._scrollRef) {
this._scrollRef.setNativeProps(a0);
}
}}, {key: '_getCellKey', value: function() {
var r0;
r0 = this.context?.cellKey;
r0 = !r0 ? 'rootList' : r0;
return r0;
}}, {key: 'hasMore', value: function() {
return this._hasMore;
}}, {key: '_checkProps', value: value_4661}, {key: '_adjustCellsAroundViewport', value: value_4662},
{key: '_findFirstChildWithMore', value: function(a0, a1) {
var r4;
var property;
var value = a0;
if (value <= a1) {
r4 = value;
reducibleLoop1: while (true) {
property = this._indicesToKeys;
value = property.get(r4);
if (value != null) {
property = this._nestedChildLists;
reducibleJoin3: while (true) {
if (property.anyInCell(value, _fun4664)) {
return r4;
}
break reducibleJoin3;
}
}
value = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1;
if (!(value <= a1)) {
return null;
}
r4 = value;
continue reducibleLoop1;
}
}
return null;
}}, {key: 'componentDidMount', value: function() {
if (this._isNestedWithSameOrientation()) {
this.context.registerAsNestedChild({ref: this, cellKey: this.context.cellKey});
}
}}, {key: 'componentWillUnmount', value: function() {
if (this._isNestedWithSameOrientation()) {
this.context.unregisterAsNestedChild({ref: this});
}
global.clearTimeout(this._updateCellsToRenderTimeoutID);
this._viewabilityTuples.forEach(_fun4667);
this._fillRateHelper.deactivateAndFlush();
}}, {key: '_pushCells', value: value_4668}, {key: '_isNestedWithSameOrientation', value: value_4671},
{key: '_renderEmptyComponent', value: value_4672}, {key: 'render', value: value_4674},
{key: 'componentDidUpdate', value: function(a0) {
var property = this.props;
var data = property.data;
var extraData = property.extraData;
property = property.getItemLayout;
if (!(data === a0.data && extraData === a0.extraData)) {
this._viewabilityTuples.forEach(_fun4676);
}
var _hiPriInProgress = this._hiPriInProgress;
this._scheduleCellsToRenderUpdate();
if (_hiPriInProgress) {
this._hiPriInProgress = false;
}
if (property != null) {
this._maybeCallOnEdgeReached();
}
}}, {key: '_computeBlankness', value: function() {
this._fillRateHelper.computeBlankness(this.props, this.state.cellsAroundViewport, this._scrollMetrics);
}}, {key: '_triggerRemeasureForChildListsInCell', value: function(a0) {
this._nestedChildLists.forEachInCell(a0, _fun4679);
}}, {key: 'measureLayoutRelativeToContainingList', value: function() {
var property;
var measureLayout;
var context;
var getOutermostParentListRef;
var value;
var getScrollRef;
var closure;
var closure2;
var error;
var env0_0 = this;
reducibleJoin2: while (true) {
reduciblePort15: while (true) {
exceptionLanding14: while (true) {
try {
property = this._scrollRef;
} catch (error) {
break exceptionLanding14;
}
break reducibleJoin2;
}
property = global.console;
property.warn('measureLayoutRelativeToContainingList threw an error', error.stack);
break reduciblePort15;
}
return undefined;
}
if (property) {
try {
property = this._scrollRef;
} catch (error) {
break exceptionLanding14;
}
try {
measureLayout = property.measureLayout;
} catch (error) {
break exceptionLanding14;
}
try {
context = this.context;
} catch (error) {
break exceptionLanding14;
}
try {
getOutermostParentListRef = context.getOutermostParentListRef;
} catch (error) {
break exceptionLanding14;
}
try {
value = Reflect.apply(getOutermostParentListRef, context, []);
} catch (error) {
break exceptionLanding14;
}
try {
getScrollRef = value.getScrollRef;
} catch (error) {
break exceptionLanding14;
}
try {
value = Reflect.apply(getScrollRef, value, []);
} catch (error) {
break exceptionLanding14;
}
try {
closure = _fun4681;
} catch (error) {
break exceptionLanding14;
}
try {
closure2 = _fun4683;
} catch (error) {
break exceptionLanding14;
}
try {
Reflect.apply(measureLayout, property, [value, closure, closure2]);
} catch (error) {
break exceptionLanding14;
}
}
}}, {key: '_getFooterCellKey', value: function() {
return this._getCellKey() + '-footer';
}}, {key: '_renderDebugOverlay', value: value_4685}, {key: '_selectLength', value: value_4687},
{key: '_selectOffset', value: function({x, y}) {
return this._orientation().horizontal ? x : y;
}}, {key: '_orientation', value: function() {
var object = {};
object.horizontal = require(dependencyMap[18]).horizontalOrDefault(this.props.horizontal);
object.rtl = I18nManager.isRTL;
return object;
}}, {key: '_maybeCallOnEdgeReached', value: value_4690}, {key: '_maybeScrollToInitialScrollIndex',
value: value_4691}, {key: 'unstable_onScroll', value: function(a0) {
this._onScroll(a0);
}}, {key: '_offsetFromScrollEvent', value: function({nativeEvent}) {
var r0;
var contentOffset = nativeEvent.contentOffset;
var contentSize = nativeEvent.contentSize;
nativeEvent = nativeEvent.layoutMeasurement;
var value = this._orientation();
if (value.horizontal) {
if (value.rtl) {
value = this._selectLength(contentSize);
value -= this._selectOffset(contentOffset) + this._selectLength(nativeEvent);
r0 = value;
} else {
r0 = this._selectOffset(contentOffset);
}
} else {
r0 = this._selectOffset(contentOffset);
}
return r0;
}}, {key: '_scheduleCellsToRenderUpdate', value: value_4694}, {key: '_shouldRenderWithPriority', value: value_4696},
{key: 'unstable_onScrollBeginDrag', value: function(a0) {
this._onScrollBeginDrag(a0);
}}, {key: 'unstable_onScrollEndDrag', value: function(a0) {
this._onScrollEndDrag(a0);
}}, {key: 'unstable_onMomentumScrollBegin', value: function(a0) {
this._onMomentumScrollBegin(a0);
}}, {key: 'unstable_onMomentumScrollEnd', value: function(a0) {
this._onMomentumScrollEnd(a0);
}}, {key: '__getListMetrics', value: function() {
return this._listMetrics;
}}, {key: '_updateViewableItems', value: function(a0, a1) {
var env0_0 = a0;
var env0_1 = a1;
var env0_2 = this;
if (!(this.state.pendingScrollUpdateCount > 0)) {
this._viewabilityTuples.forEach(_fun4703);
}
}}], [{key: '_findItemIndexWithKey', value: value_4704}, {key: '_getItemKey', value: function(a0, a1) {
return VirtualizedList._keyExtractor(a0.getItem(a0.data, a1), a1, a0);
}}, {key: '_createRenderMask', value: value_4706}, {key: '_initialRenderRegion', value: value_4707},
{key: '_ensureClosestStickyHeader', value: function(a0, a1, a2, a3) {
var r1;
var r0;
var value4;
var value = 0;
r1 = a0.ListHeaderComponent ? 1 : value;
var value3 = a3 - 1;
if (value3 >= value) {
r0 = value3;
loopExit3: while (true) {
if (a1.has(r0 + r1)) {
a2.addCells({first: r0, last: r0});
break loopExit3;
}
value4 = typeof r0 === 'bigint' ? r0 - 1n : +r0 - 1;
if (value4 >= value) {
r0 = value4;
continue;
}
break loopExit3;
}
}
}}, {key: 'getDerivedStateFromProps', value: value_4709}, {key: '_constrainToItemCount', value: value_4710},
{key: '_keyExtractor', value: value_4711}]);
function VirtualizedList(a0) { // fn#4610, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:726, offset: 0x00cc7962, size: 1034 bytes, params: 2, frame: 27
var environment;
var onViewableItemsChanged;
var _viewabilityTuples;
var push;
let value = environment.__proto__;
const binding = env1_8;
const value3 = undefined;
binding(this, VirtualizedList);
let object = [a0];
const value4 = env1_11(VirtualizedList);
const value7 = env1_10(this, _isNativeReflectConstruct_4605() ? global.Reflect.construct(value4, object,
env1_11(this).constructor) : value4.apply(this, object));
value7._getScrollMetrics = _getScrollMetrics;
value7._getOutermostParentListRef = _getOutermostParentListRef;
value7._registerAsNestedChild = _registerAsNestedChild;
value7._unregisterAsNestedChild = _unregisterAsNestedChild;
value7._onUpdateSeparators = function(a0, a1) {
var env0_0 = a1;
a0.forEach(_fun4616);
};
value7._getSpacerKey = function(a0) {
return a0 ? 'height' : 'width';
};
value7._cellRefs = {};
const defaultImport = Module00306;
const value8 = Object.create(defaultImport.prototype, {constructor: {value: defaultImport}});
const defaultImport4 = new defaultImport();
value7._listMetrics = defaultImport4 instanceof Object ? defaultImport4 : value8;
const value11 = 0;
value7._footerLength = value11;
value7._hasTriggeredInitialScrollToIndex = false;
value7._hasInteracted = false;
value7._hasMore = false;
value7._hasWarned = {};
value7._headerLength = value11;
value7._hiPriInProgress = false;
const Map = global.Map;
const value12 = Object.create(Map.prototype, {constructor: {value: Map}});
const map = new Map();
value7._indicesToKeys = map instanceof Object ? map : value12;
const value14 = null;
value7._lastFocusedCellKey = value14;
const defaultImport2 = defaultImport23;
const value15 = Object.create(defaultImport2.prototype, {constructor: {value: defaultImport2}});
const defaultImport22 = new defaultImport2();
value7._nestedChildLists = defaultImport22 instanceof Object ? defaultImport22 : value15;
value7._offsetFromParentVirtualizedList = value11;
value7._pendingViewabilityUpdate = false;
value7._prevParentOffset = value11;
const value18 = 1;
value7._scrollMetrics = {'dOffset': 0, 'dt': 10, 'offset': 0, 'timestamp': 0, 'velocity': 0, 'visibleLength': 0,
'zoomScale': 1};
value7._scrollRef = value14;
value7._sentStartForContentLength = value11;
value7._sentEndForContentLength = value11;
value7._updateCellsToRenderTimeoutID = value14;
value7._viewabilityTuples = [];
value7._captureScrollRef = _captureScrollRef;
value7._defaultRenderScrollComponent = _defaultRenderScrollComponent;
value7._onCellLayout = _onCellLayout;
value7._onCellFocusCapture = _onCellFocusCapture;
value7._onCellUnmount = _onCellUnmount;
value7._onLayout = _onLayout;
value7._onLayoutEmpty = _onLayoutEmpty;
value7._onLayoutFooter = _onLayoutFooter;
value7._onLayoutHeader = _onLayoutHeader;
value7._onContentSizeChange = _onContentSizeChange;
value7._convertParentScrollMetrics = _convertParentScrollMetrics;
value7._onScroll = _onScroll;
value7._onScrollBeginDrag = _onScrollBeginDrag;
value7._onScrollEndDrag = _onScrollEndDrag;
value7._onMomentumScrollBegin = _onMomentumScrollBegin;
value7._onMomentumScrollEnd = _onMomentumScrollEnd;
value7._updateCellsToRender = _updateCellsToRender;
value7._createViewToken = function(a0, a1, a2) {
var value = (0, a2.getItem)(a2.data, a0);
var object = {index: a0, item: value};
object.key = VirtualizedList._keyExtractor(value, a0, a2);
object.isViewable = a1;
return object;
};
value7._getNonViewportRenderRegions = _getNonViewportRenderRegions;
value7._checkProps(a0);
const _listMetrics = value7._listMetrics;
const value19 = Object.create(defaultImport3.prototype, {constructor: {value: defaultImport3}});
const defaultImport32 = new defaultImport3(_listMetrics);
value7._fillRateHelper = defaultImport32 instanceof Object ? defaultImport32 : value19;
let props = value7.props;
const viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs;
props = value7.props;
if (viewabilityConfigCallbackPairs) {
value7._viewabilityTuples = props.viewabilityConfigCallbackPairs.map(_fun4645);
} else {
onViewableItemsChanged = props.onViewableItemsChanged;
if (onViewableItemsChanged) {
_viewabilityTuples = value7._viewabilityTuples;
push = _viewabilityTuples.push;
value = importDefault(310) /* metro dependency 310 */;
value = new value(props.viewabilityConfig);
Reflect.apply(push, _viewabilityTuples, [{viewabilityHelper: value,
onViewableItemsChanged: onViewableItemsChanged}]);
}
}
value = VirtualizedList._initialRenderRegion(a0);
const maintainVisibleContentPosition = value7.props.maintainVisibleContentPosition;
const minIndexForVisible = value14 == maintainVisibleContentPosition ? value3 : maintainVisibleContentPosition.minIndexForVisible;
const r9 = value14 != minIndexForVisible ? minIndexForVisible : value11;
object = {cellsAroundViewport: value};
object.renderMask = VirtualizedList._createRenderMask(a0, value);
props = value7.props;
const getItemCount = props.getItemCount;
object.firstVisibleItemKey = Reflect.apply(getItemCount, props,
[value7.props.data]) > r9 ? VirtualizedList._getItemKey(value7.props, r9) : value14;
object.pendingScrollUpdateCount = value14 != value7.props.initialScrollIndex && value7.props.initialScrollIndex > value11 ? value18 : value11;
value7.state = object;
return value7;
function _getScrollMetrics() { // fn#4611, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:971, owner: VirtualizedList._getScrollMetrics, offset: 0x00cc7d6c, size: 15 bytes, params: 1, frame: 1
return env0_0._scrollMetrics;
}
function _getOutermostParentListRef() { // fn#4612, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:1036, owner: VirtualizedList._getOutermostParentListRef, offset: 0x00cc7d7b, size: 46 bytes, params: 1, frame: 10
let binding = env0_0;
const value2 = binding._isNestedWithSameOrientation();
binding = env0_0;
return value2 ? binding.context.getOutermostParentListRef() : binding;
}
function _registerAsNestedChild(a0) { // fn#4613, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:1153, owner: VirtualizedList._registerAsNestedChild, offset: 0x00cc7da9, size: 66 bytes, params: 2, frame: 15
const binding = env0_0;
const _nestedChildLists = binding._nestedChildLists;
_nestedChildLists.add(a0.ref, a0.cellKey);
if (binding._hasInteracted) {
a0.ref.recordInteraction();
}
}
function _unregisterAsNestedChild({ref}) { // fn#4614, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:1278, owner: VirtualizedList._unregisterAsNestedChild, offset: 0x00cc7deb, size: 36 bytes, params: 2, frame: 11
env0_0._nestedChildLists.remove(ref);
}
function _onUpdateSeparators(a0, a1) { // fn#4615, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:1347, owner: VirtualizedList._onUpdateSeparators, offset: 0x00cc7e0f, size: 31 bytes, params: 3, frame: 11
const env0_0 = a1;
a0.forEach(_fun4616);
function _fun4616(a0) { // fn#4616, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:1372, offset: 0x00cc7e2e, size: 54 bytes, params: 2, frame: 11
const r2 = a0 != null && env1_0._cellRefs[a0];
if (r2) {
r2.updateSeparatorProps(require);
}
}
}
function _captureScrollRef(a0) { // fn#4618, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:2127, owner: VirtualizedList._captureScrollRef, offset: 0x00cc7e74, size: 20 bytes, params: 2, frame: 2
env0_0._scrollRef = a0;
}
function _defaultRenderScrollComponent(a0) { // fn#4619, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:2187, owner: VirtualizedList._defaultRenderScrollComponent, offset: 0x00cc7e88, size: 347 bytes, params: 2, frame: 25
var r1;
var Object;
var assign;
var refreshing;
var JSON;
var object;
const onRefresh = a0.onRefresh;
let value = env0_0._isNestedWithSameOrientation();
if (value) {
a0.onContentSizeChange;
value = env2_7(a0, env2_4);
Object = global.Object;
return ;
}
if (onRefresh) {
value = importDefault(44) /* metro dependency 44 */;
refreshing = a0.refreshing;
JSON = global.JSON;
value(typeof refreshing === 'boolean',
'`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' + JSON.stringify(a0.refreshing ?? 'undefined') + '`');
Object = global.Object;
assign = Object.assign;
object = {};
object.refreshControl = a0.refreshControl ?? ;
value = ;
r1 = value;
} else {
value = global.Object.assign({}, a0);
value = ;
r1 = value;
}
return r1;
}
function _onCellLayout({nativeEvent}, a1, a2) { // fn#4620, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:2725, owner: VirtualizedList._onCellLayout, offset: 0x00cc7fe3, size: 151 bytes, params: 4, frame: 16
let binding = env0_0;
const _listMetrics = binding._listMetrics;
const notifyCellLayout = _listMetrics.notifyCellLayout;
const object = {cellIndex: a2, cellKey: a1};
object.layout = nativeEvent.layout;
object.orientation = binding._orientation();
if (Reflect.apply(notifyCellLayout, _listMetrics, [object])) {
env0_0._scheduleCellsToRenderUpdate();
}
binding = env0_0;
binding._triggerRemeasureForChildListsInCell(a1);
binding._computeBlankness();
binding._updateViewableItems(binding.props, binding.state.cellsAroundViewport);
}
function _onCellFocusCapture(a0) { // fn#4621, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:3036, owner: VirtualizedList._onCellFocusCapture, offset: 0x00cc807a, size: 82 bytes, params: 2, frame: 12
env0_0._lastFocusedCellKey = a0;
const value3 = (Module00079Module).deferFlatListFocusChangeRenderUpdate();
const binding = env0_0;
if (value3) {
binding._scheduleCellsToRenderUpdate();
} else {
binding._updateCellsToRender();
}
}
function _onCellUnmount(a0) { // fn#4622, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:3196, owner: VirtualizedList._onCellUnmount, offset: 0x00cc80cc, size: 41 bytes, params: 2, frame: 11
const binding = env0_0;
delete binding._cellRefs[a0];
binding._listMetrics.notifyCellUnmounted(a0);
}
function _onLayout(a0) { // fn#4623, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:3281, owner: VirtualizedList._onLayout, offset: 0x00cc80f5, size: 140 bytes, params: 2, frame: 14
let binding = env0_0;
const value2 = binding._isNestedWithSameOrientation();
binding = env0_0;
if (value2) {
binding.measureLayoutRelativeToContainingList();
} else {
binding._scrollMetrics.visibleLength = binding._selectLength(a0.nativeEvent.layout);
}
if (env0_0.props.onLayout) {
env0_0.props.onLayout(a0);
}
binding = env0_0;
binding._scheduleCellsToRenderUpdate();
binding._maybeCallOnEdgeReached();
}
function _onLayoutEmpty(a0) { // fn#4624, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:3554, owner: VirtualizedList._onLayoutEmpty, offset: 0x00cc8181, size: 48 bytes, params: 2, frame: 11
if (env0_0.props.onLayout) {
env0_0.props.onLayout(a0);
}
}
function _onLayoutFooter({nativeEvent}) { // fn#4625, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:3623, owner: VirtualizedList._onLayoutFooter, offset: 0x00cc81b1, size: 64 bytes, params: 2, frame: 11
const binding = env0_0;
binding._triggerRemeasureForChildListsInCell(binding._getFooterCellKey());
binding._footerLength = binding._selectLength(nativeEvent.layout);
}
function _onLayoutHeader({nativeEvent}) { // fn#4626, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:3770, owner: VirtualizedList._onLayoutHeader, offset: 0x00cc81f1, size: 43 bytes, params: 2, frame: 11
const binding = env0_0;
binding._headerLength = binding._selectLength(nativeEvent.layout);
}
function _onContentSizeChange(a0, a1) { // fn#4627, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:3860, owner: VirtualizedList._onContentSizeChange, offset: 0x00cc821c, size: 137 bytes, params: 3, frame: 18
let binding = env0_0;
const _listMetrics = binding._listMetrics;
const notifyListContentLayout = _listMetrics.notifyListContentLayout;
const object = {};
object.layout = {width: a0, height: a1};
object.orientation = binding._orientation();
Reflect.apply(notifyListContentLayout, _listMetrics, [object]);
binding._maybeScrollToInitialScrollIndex(a0, a1);
if (binding.props.onContentSizeChange) {
env0_0.props.onContentSizeChange(a0, a1);
}
binding = env0_0;
binding._scheduleCellsToRenderUpdate();
binding._maybeCallOnEdgeReached();
}
function _convertParentScrollMetrics({offset, visibleLength}) { // fn#4628, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:4165, owner: VirtualizedList._convertParentScrollMetrics, offset: 0x00cc82a5, size: 88 bytes, params: 2, frame: 12
const binding = env0_0;
const value = offset - binding._offsetFromParentVirtualizedList;
const value2 = value - binding._scrollMetrics.offset;
const object = {visibleLength: visibleLength};
object.contentLength = binding._listMetrics.getContentLength();
object.offset = value;
object.dOffset = value2;
return object;
}
function _onScroll(a0) { // fn#4629, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:4377, owner: VirtualizedList._onScroll, offset: 0x00cc82fd, size: 705 bytes, params: 2, frame: 25
var environment;
var r5;
var r7;
var r9;
var r10;
var value7;
var visibleLength;
var contentLength;
var dOffset;
var value15;
var defaultImport;
const env0_0 = a0;
let binding = env0_0;
binding._nestedChildLists.forEach(_fun4630);
if (binding.props.onScroll) {
env0_0.props.onScroll(a0);
}
const timeStamp = a0.timeStamp;
binding = env0_0;
const value2 = binding._selectLength(a0.nativeEvent.layoutMeasurement);
const value3 = binding._selectLength(a0.nativeEvent.contentSize);
const value4 = binding._offsetFromScrollEvent(a0);
let offset = binding._scrollMetrics.offset;
if (binding._isNestedWithSameOrientation()) {
if (env0_0._listMetrics.getContentLength() === 0) {
return undefined;
}
binding = env0_0;
value7 = binding._convertParentScrollMetrics({visibleLength: value2, offset: value4});
visibleLength = value7.visibleLength;
contentLength = value7.contentLength;
offset = value7.offset;
dOffset = value7.dOffset;
r5 = contentLength;
r7 = visibleLength;
r9 = offset;
r10 = dOffset;
} else {
r5 = value3;
r7 = value2;
r9 = value4;
r10 = value4 - offset;
}
const timestamp = env0_0._scrollMetrics.timestamp;
const value8 = 1;
const r11 = timestamp ? global.Math.max(value8, timeStamp - env0_0._scrollMetrics.timestamp) : value8;
const value10 = r10 / r11;
if (r11 > 500 && env0_0._scrollMetrics.dt > 500 && r5 > 5 * r7 && !env0_0._hasWarned.perf) {
value15 = environment.__proto__.__proto__;
defaultImport = importDefault(308) /* metro dependency 308 */;
binding = env0_0;
defaultImport('VirtualizedList: You have a large list that is slow to update - make sure your renderItem function renders components that follow React performance best practices like PureComponent, shouldComponentUpdate, etc.',
{dt: r11, prevDt: binding._scrollMetrics.dt, contentLength: r5});
binding._hasWarned.perf = true;
}
let zoomScale = a0.nativeEvent.zoomScale;
zoomScale = zoomScale < 0 ? value8 : a0.nativeEvent.zoomScale;
binding = env0_0;
binding._scrollMetrics = {dt: r11, dOffset: r10, offset: r9, timestamp: timeStamp, velocity: value10,
visibleLength: r7, zoomScale: zoomScale};
if (binding.state.pendingScrollUpdateCount > 0) {
env0_0.setState(function(a0) {
return {pendingScrollUpdateCount: a0.pendingScrollUpdateCount - 1};
});
}
binding = env0_0;
binding._updateViewableItems(binding.props, binding.state.cellsAroundViewport);
if (binding.props) {
binding = env0_0;
binding._maybeCallOnEdgeReached();
if (value10 !== 0) {
env0_0._fillRateHelper.activate();
}
binding = env0_0;
binding._computeBlankness();
binding._scheduleCellsToRenderUpdate();
}
function _fun4630(a0) { // fn#4630, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:4418, offset: 0x00cc85be, size: 25 bytes, params: 2, frame: 11
a0._onScroll(env0_0);
}
}
function _onScrollBeginDrag(a0) { // fn#4632, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:5794, owner: VirtualizedList._onScrollBeginDrag, offset: 0x00cc85f0, size: 104 bytes, params: 2, frame: 15
const env0_0 = a0;
const binding = env0_0;
binding._nestedChildLists.forEach(_fun4633);
binding._viewabilityTuples.forEach(function({viewabilityHelper}) {
viewabilityHelper.recordInteraction();
});
binding._hasInteracted = true;
if (binding.props.onScrollBeginDrag) {
env0_0.props.onScrollBeginDrag(a0);
}
function _fun4633(a0) { // fn#4633, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:5835, offset: 0x00cc8658, size: 25 bytes, params: 2, frame: 11
a0._onScrollBeginDrag(env0_0);
}
}
function _onScrollEndDrag(a0) { // fn#4635, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:6055, owner: VirtualizedList._onScrollEndDrag, offset: 0x00cc8688, size: 131 bytes, params: 2, frame: 14
var binding;
const env0_0 = a0;
env0_0._nestedChildLists.forEach(_fun4636);
const velocity = a0.nativeEvent.velocity;
if (velocity) {
binding = env0_0;
binding._scrollMetrics.velocity = binding._selectOffset(velocity);
}
binding = env0_0;
binding._computeBlankness();
if (binding.props.onScrollEndDrag) {
env0_0.props.onScrollEndDrag(a0);
}
function _fun4636(a0) { // fn#4636, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:6096, offset: 0x00cc870b, size: 25 bytes, params: 2, frame: 11
a0._onScrollEndDrag(env0_0);
}
}
function _onMomentumScrollBegin(a0) { // fn#4637, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:6312, owner: VirtualizedList._onMomentumScrollBegin, offset: 0x00cc8724, size: 75 bytes, params: 2, frame: 14
const env0_0 = a0;
const binding = env0_0;
binding._nestedChildLists.forEach(_fun4638);
if (binding.props.onMomentumScrollBegin) {
env0_0.props.onMomentumScrollBegin(a0);
}
function _fun4638(a0) { // fn#4638, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:6353, offset: 0x00cc876f, size: 25 bytes, params: 2, frame: 11
a0._onMomentumScrollBegin(env0_0);
}
}
function _onMomentumScrollEnd(a0) { // fn#4639, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:6484, owner: VirtualizedList._onMomentumScrollEnd, offset: 0x00cc8788, size: 99 bytes, params: 2, frame: 14
const env0_0 = a0;
const binding = env0_0;
binding._nestedChildLists.forEach(_fun4640);
binding._scrollMetrics.velocity = 0;
binding._computeBlankness();
if (binding.props.onMomentumScrollEnd) {
env0_0.props.onMomentumScrollEnd(a0);
}
function _fun4640(a0) { // fn#4640, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:6525, offset: 0x00cc87eb, size: 25 bytes, params: 2, frame: 11
a0._onMomentumScrollEnd(env0_0);
}
}
function _updateCellsToRender() { // fn#4641, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:6700, owner: VirtualizedList._updateCellsToRender, offset: 0x00cc8804, size: 57 bytes, params: 1, frame: 13
const binding = env0_0;
binding._updateViewableItems(binding.props, binding.state.cellsAroundViewport);
binding.setState(_fun4642);
function _fun4642(a0, a1) { // fn#4642, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:6783, offset: 0x00cc883d, size: 152 bytes, params: 3, frame: 17
let value = environment.__proto__;
const binding = env1_0;
value = binding._adjustCellsAroundViewport(a1, a0.cellsAroundViewport, a0.pendingScrollUpdateCount);
const value3 = VirtualizedList._createRenderMask(a1, value, binding._getNonViewportRenderRegions(a1));
return value.first !== a0.cellsAroundViewport.first || value.last !== a0.cellsAroundViewport.last ? {cellsAroundViewport: value,
renderMask: value3} : value3.equals(a0.renderMask) ? null : {cellsAroundViewport: value, renderMask: value3};
}
}
function _getNonViewportRenderRegions(a0) { // fn#4644, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:7289, owner: VirtualizedList._getNonViewportRenderRegions, offset: 0x00cc891a, size: 394 bytes, params: 2, frame: 22
var r3;
var r4;
var r10;
var r2;
var r5;
var r0;
var binding;
var _cellRefs;
var index;
var value2;
var value3;
var value4;
var value5;
var value6;
var _scrollMetrics;
var visibleLength;
var value7;
var _listMetrics;
var getCellMetricsApprox;
var length;
var value8;
var value9;
var value10;
var value11;
var value12;
var value13;
let _lastFocusedCellKey = env0_0._lastFocusedCellKey;
if (_lastFocusedCellKey) {
binding = env0_0;
_cellRefs = binding._cellRefs;
_lastFocusedCellKey = binding._lastFocusedCellKey;
if (_cellRefs[_lastFocusedCellKey]) {
binding = env0_0;
_cellRefs = binding._cellRefs;
_lastFocusedCellKey = binding._lastFocusedCellKey;
index = _cellRefs[_lastFocusedCellKey].props.index;
value2 = a0.getItemCount(a0.data);
if (index >= value2) {
return [];
}
value3 = environment.__proto__;
value4 = VirtualizedList._getItemKey(a0, index);
_lastFocusedCellKey = env0_0._lastFocusedCellKey;
if (value4 !== _lastFocusedCellKey) {
return [];
}
value5 = index - 1;
value6 = 0;
if (value5 >= value6) {
_scrollMetrics = env0_0._scrollMetrics;
visibleLength = _scrollMetrics.visibleLength;
if (value6 < visibleLength) {
r3 = value6;
r4 = index;
r10 = value5;
while (true) {
value7 = typeof r4 === 'bigint' ? r4 - 1n : +r4 - 1;
_listMetrics = env0_0._listMetrics;
getCellMetricsApprox = _listMetrics.getCellMetricsApprox;
length = Reflect.apply(getCellMetricsApprox, _listMetrics, [r10, a0]).length;
value8 = r3 + length;
value9 = typeof r10 === 'bigint' ? r10 - 1n : +r10 - 1;
if (!(value9 >= value6)) {
r2 = value7;
break;
}
_scrollMetrics = env0_0._scrollMetrics;
visibleLength = _scrollMetrics.visibleLength;
if (value8 < visibleLength) {
r3 = value8;
r4 = value7;
r10 = value9;
continue;
}
r2 = value7;
break;
}
} else {
r2 = index;
}
} else {
r2 = index;
}
value10 = index + 1;
if (value10 < value2) {
_scrollMetrics = env0_0._scrollMetrics;
visibleLength = _scrollMetrics.visibleLength;
if (value6 < visibleLength) {
r3 = index;
r4 = value10;
r5 = value6;
while (true) {
value11 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
_listMetrics = env0_0._listMetrics;
getCellMetricsApprox = _listMetrics.getCellMetricsApprox;
length = Reflect.apply(getCellMetricsApprox, _listMetrics, [r4, a0]).length;
value12 = r5 + length;
value13 = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1;
if (!(value13 < value2)) {
r0 = value11;
break;
}
_scrollMetrics = env0_0._scrollMetrics;
visibleLength = _scrollMetrics.visibleLength;
if (value12 < visibleLength) {
r3 = value11;
r4 = value13;
r5 = value12;
continue;
}
r0 = value11;
break;
}
} else {
r0 = index;
}
} else {
r0 = index;
}
return [{first: r2, last: r0}];
}
}
return [];
}
function _fun4645({viewabilityConfig, onViewableItemsChanged}) { // fn#4645, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:7962, offset: 0x00cc8aa4, size: 74 bytes, params: 2, frame: 13
let value = environment.__proto__.__proto__;
value = importDefault(310) /* metro dependency 310 */;
value = new value(viewabilityConfig);
return {viewabilityHelper: value, onViewableItemsChanged: onViewableItemsChanged};
}
}
function value_4647({animated, index, viewOffset, viewPosition}) { // fn#4647, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:9063, offset: 0x00cc8b95, size: 506 bytes, params: 2, frame: 34
var _listMetrics;
var object;
const {data, getItemCount, getItemLayout, onScrollToIndexFailed} = this.props;
let value = environment.__proto__;
(importDefault(44) /* metro dependency 44 */)(index >= 0,
'scrollToIndex out of range: requested index ' + index + ' but minimum is 0');
(importDefault(44) /* metro dependency 44 */)(getItemCount(data) >= 1,
'scrollToIndex out of range: item length ' + getItemCount(data) + ' but minimum is 1');
(importDefault(44) /* metro dependency 44 */)(index < getItemCount(data),
'scrollToIndex out of range: requested index ' + index + ' is out of 0 to ' + (getItemCount(data) - 1));
if (!getItemLayout) {
_listMetrics = this._listMetrics;
var getHighestMeasuredCellIndex = _listMetrics.getHighestMeasuredCellIndex;
if (index > Reflect.apply(getHighestMeasuredCellIndex, _listMetrics, [])) {
(importDefault(44) /* metro dependency 44 */)(!!onScrollToIndexFailed,
'scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, otherwise there is no way to know the location of offscreen indices or handle failures.');
object = {};
_listMetrics = this._listMetrics;
object.averageItemLength = _listMetrics.getAverageCellLength();
_listMetrics = this._listMetrics;
object.highestMeasuredFrameIndex = _listMetrics.getHighestMeasuredCellIndex();
object.index = index;
onScrollToIndexFailed(object);
return undefined;
}
}
_listMetrics = this._listMetrics;
const getCellMetricsApprox = _listMetrics.getCellMetricsApprox;
let Math = global.Math;
value = Math.floor(index);
value = Reflect.apply(getCellMetricsApprox, _listMetrics, [value, this.props]);
Math = global.Math;
const max = Math.max;
const cellOffsetApprox = this._listMetrics.getCellOffsetApprox(index, this.props);
viewPosition = !viewPosition ? 0 : viewPosition;
value = Reflect.apply(max, Math, [0,
cellOffsetApprox - viewPosition * (this._scrollMetrics.visibleLength - value.length)]);
viewOffset = !viewOffset ? 0 : viewOffset;
value -= viewOffset;
this.scrollToOffset({offset: value, animated: animated});
}
function value_4651() { // fn#4651, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:11245, offset: 0x00cc8f32, size: 79 bytes, params: 1, frame: 14
this._nestedChildLists.forEach(function(a0) {
a0.recordInteraction();
});
this._viewabilityTuples.forEach(function({viewabilityHelper}) {
viewabilityHelper.recordInteraction();
});
this._updateViewableItems(this.props, this.state.cellsAroundViewport);
}
function value_4656() { // fn#4656, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:11829, offset: 0x00cc8fe6, size: 67 bytes, params: 1, frame: 12
var r0;
var value;
if (this._scrollRef) {
if (this._scrollRef.getScrollableNode) {
r0 = this._scrollRef.getScrollableNode();
} else {
value = environment.__proto__;
value = findNodeHandle(this._scrollRef);
r0 = value;
}
} else {
value = environment.__proto__;
value = findNodeHandle(this._scrollRef);
r0 = value;
}
return r0;
}
function value_4661({onScroll, windowSize, getItemCount, data, initialScrollIndex}) { // fn#4661, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:12437, offset: 0x00cc90b1, size: 308 bytes, params: 2, frame: 23
let value = environment.__proto__;
(importDefault(44) /* metro dependency 44 */)(onScroll ? !onScroll.__isNative : !onScroll,
'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent to support native onScroll events with useNativeDriver');
const defaultImport2 = importDefault(44) /* metro dependency 44 */;
value = require(311) /* metro dependency 311 */;
value = value.windowSizeOrDefault(windowSize);
defaultImport2(value > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.');
defaultImport2(getItemCount, 'VirtualizedList: The "getItemCount" prop must be provided');
value = getItemCount(data);
let r2 = initialScrollIndex == null || this._hasTriggeredInitialScrollToIndex;
r2 = !r2 ? !(initialScrollIndex < 0 || value > 0 && initialScrollIndex >= value) : r2;
r2 = !r2 ? this._hasWarned.initialScrollIndex : r2;
if (!r2) {
global.console.warn('initialScrollIndex "' + initialScrollIndex + '" is not valid (list has ' + value + ' items)');
this._hasWarned.initialScrollIndex = true;
}
}
function value_4662(a0, a1, a2) { // fn#4662, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:13203, offset: 0x00cc91e5, size: 534 bytes, params: 4, frame: 32
var r13;
var r10;
var r2;
var r0;
var moduleValue5;
var object;
var Math;
var min;
let value = a1;
const data = a0.data;
const getItemCount = a0.getItemCount;
const moduleValue = require(311) /* metro dependency 311 */;
const value3 = moduleValue.onEndReachedThresholdOrDefault(a0.onEndReachedThreshold);
const {offset, visibleLength} = this._scrollMetrics;
const contentLength = this._listMetrics.getContentLength();
const value5 = contentLength - visibleLength - offset;
const value6 = 0;
if (visibleLength <= value6) {
if (value.last >= getItemCount(data)) {
value = VirtualizedList._constrainToItemCount(value, a0);
r0 = value;
} else {
r0 = value;
}
return r0;
}
if (contentLength <= value6) {
if (value.last >= getItemCount(data)) {
value = VirtualizedList._constrainToItemCount(value, a0);
r0 = value;
} else {
r0 = value;
}
return r0;
}
if (a0.disableVirtualization) {
if (value5 < value3 * visibleLength) {
moduleValue5 = moduleValue;
r10 = moduleValue5.maxToRenderPerBatchOrDefault(a0.maxToRenderPerBatch);
} else {
r10 = value6;
}
object = {first: value6};
Math = global.Math;
min = Math.min;
value = value.last + r10;
object.last = Reflect.apply(min, Math, [value, getItemCount(data) - 1]);
r2 = object;
} else {
if (a2 > value6) {
if (value.last >= getItemCount(data)) {
value = VirtualizedList._constrainToItemCount(value, a0);
r13 = value;
} else {
r13 = value;
}
return r13;
}
var moduleValue2 = require(304) /* metro dependency 304 */;
var computeWindowedRenderLimits = moduleValue2.computeWindowedRenderLimits;
var moduleValue3 = require(311) /* metro dependency 311 */;
var value7 = moduleValue3.maxToRenderPerBatchOrDefault(a0.maxToRenderPerBatch);
var moduleValue4 = require(311) /* metro dependency 311 */;
value = Reflect.apply(computeWindowedRenderLimits, moduleValue2, [a0, value7,
moduleValue4.windowSizeOrDefault(a0.windowSize), value, this._listMetrics, this._scrollMetrics]);
(importDefault(44) /* metro dependency 44 */)(value.last < getItemCount(data),
'computeWindowedRenderLimits() should return range in-bounds');
r2 = value;
}
const _nestedChildLists = this._nestedChildLists;
if (_nestedChildLists.size() > value6) {
r2.last = this._findFirstChildWithMore(r2.first, r2.last) ?? r2.last;
}
return r2;
}
function value_4663(a0, a1) { // fn#4663, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:14176, offset: 0x00cc93fb, size: 77 bytes, params: 3, frame: 19
var r4;
var _indicesToKeys;
var get;
var _nestedChildLists;
var anyInCell;
let value = a0;
if (value <= a1) {
r4 = value;
reducibleLoop1: while (true) {
_indicesToKeys = this._indicesToKeys;
get = _indicesToKeys.get;
value = Reflect.apply(get, _indicesToKeys, [r4]);
if (value != null) {
_nestedChildLists = this._nestedChildLists;
anyInCell = _nestedChildLists.anyInCell;
reducibleJoin3: while (true) {
if (Reflect.apply(anyInCell, _nestedChildLists, [value, function(a0) {
return a0.hasMore();
}])) {
return r4;
}
break reducibleJoin3;
}
}
value = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1;
if (!(value <= a1)) {
return null;
}
r4 = value;
continue reducibleLoop1;
}
}
return null;
}
function value_4666() { // fn#4666, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:14583, offset: 0x00cc9491, size: 100 bytes, params: 1, frame: 13
if (this._isNestedWithSameOrientation()) {
this.context.unregisterAsNestedChild({ref: this});
}
global.clearTimeout(this._updateCellsToRenderTimeoutID);
this._viewabilityTuples.forEach(function({viewabilityHelper}) {
viewabilityHelper.dispose();
});
this._fillRateHelper.deactivateAndFlush();
}
function value_4668(a0, a1, a2, a3, a4, a5) { // fn#4668, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:14896, offset: 0x00cc950c, size: 228 bytes, params: 7, frame: 16
var r0;
var r3;
var value3;
let value = a3;
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
const env0_3 = a5;
const props = this.props;
const env0_6 = props.CellRendererComponent;
const env0_7 = props.ItemSeparatorComponent;
const ListHeaderComponent = props.ListHeaderComponent;
const env0_8 = props.ListItemComponent;
const data = props.data;
const env0_10 = props.debug;
const env0_11 = props.getItem;
const getItemCount = props.getItemCount;
const env0_12 = props.getItemLayout;
const env0_13 = props.horizontal;
const env0_14 = props.renderItem;
reducibleJoin2: while (true) {
if (ListHeaderComponent) {
value3 = 1;
r0 = value3;
break reducibleJoin2;
}
r0 = 0;
break reducibleJoin2;
}
const value5 = getItemCount(data) - 1;
const Math = global.Math;
const value6 = Math.min(value5, a4);
const value_4668_loop2 = value_4668_loop;
var env0_17;
if (value <= value6) {
r3 = value;
reducibleLoop3: while (true) {
value_4668_loop2();
value = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
env0_17 = value;
if (value <= value6) {
r3 = value;
continue reducibleLoop3;
}
break reducibleLoop3;
}
}
function value_4668_loop() { // fn#4669, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:15193, owner: value_4668._loop, offset: 0x00cc95f0, size: 415 bytes, params: 1, frame: 25
const getItemBinding = getItem;
const dataBinding = data;
const value2 = undefined;
const itemBinding = getItemBinding(dataBinding, importAll);
const _keyExtractor = VirtualizedList._keyExtractor;
let binding = Module00065;
const value5 = Reflect.apply(_keyExtractor, VirtualizedList, [itemBinding, importAll, binding.props]);
const env0_0 = value5;
const _indicesToKeys = binding._indicesToKeys;
_indicesToKeys.set(importAll, value5);
if (importDefault.has(importAll + env0_15)) {
require.push(env0_0.length);
}
let r10 = getItemLayout == null || debug;
r10 = !r10 ? Module00065._fillRateHelper.enabled() : r10;
binding = env0_0;
const push = binding.push;
const defaultImport = Module00312;
const Object = global.Object;
const assign = Object.assign;
const ItemSeparatorComponent2 = importAll < env0_16 ? ItemSeparatorComponent : value2;
r10 = r10 && ({onCellLayout: Module00065._onCellLayout});
Reflect.apply(push, binding, [((Component) => )(defaultImport)]);
return value2;
function ref(a0) { // fn#4670, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:15666, owner: value_4668._loop.ref, offset: 0x00cc978f, size: 31 bytes, params: 2, frame: 3
env1_5._cellRefs[env0_0] = a0;
}
}
}
function value_4671() { // fn#4671, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:15819, offset: 0x00cc97ae, size: 82 bytes, params: 1, frame: 14
var r0;
var horizontal;
var horizontalOrDefault;
const context = this.context;
let value = !context;
if (context) {
horizontal = context.horizontal;
value = environment.__proto__;
value = require(311) /* metro dependency 311 */;
horizontalOrDefault = value.horizontalOrDefault;
horizontal = this.props.horizontal;
value = Reflect.apply(horizontalOrDefault, value, [horizontal]);
value = !!horizontal !== value;
r0 = value;
} else {
r0 = value;
}
return !r0;
}
function value_4672(a0, a1) { // fn#4672, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:15997, offset: 0x00cc9800, size: 100 bytes, params: 3, frame: 17
var r0;
let value = a0;
const type = value.type;
const Fragment = env1_13.Fragment;
if (type === Fragment) {
r0 = value;
} else {
value = cloneElement(value, {onLayout: onLayout, style: StyleSheet.compose(a1, value.props.style)});
r0 = value;
}
return r0;
function onLayout(a0) { // fn#4673, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:16087, owner: value_4672.onLayout, offset: 0x00cc9864, size: 63 bytes, params: 2, frame: 12
env0_1._onLayoutEmpty(a0);
if (env0_0.props.onLayout) {
env0_0.props.onLayout(a0);
}
}
}
function value_4674() { // fn#4674, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:16224, offset: 0x00cc98a3, size: 1956 bytes, params: 1, frame: 43
var r1;
var r22;
var r8;
var r82;
var r25;
var r5;
var r16;
var r0;
var r15;
var r6;
var value3;
var moduleValue;
var value4;
var binding;
var push;
var value7;
var jsxRuntimeEnv1_22Binding;
const VirtualizedListCellContextProvider = require(dependencyMap[21]).VirtualizedListCellContextProvider;
var value9;
var _onLayoutHeader;
var compose;
var value12;
var value15;
var value16;
var value17;
var length;
var property;
var isSpacer;
var iterator;
var iterator2;
var item;
var item2;
var _pushCells;
var first;
var disableVirtualization;
var value18;
var getItemLayout;
var defaultImport;
var value19;
var _listMetrics;
var getHighestMeasuredCellIndex;
var value20;
var value21;
var getCellMetricsApprox;
var value22;
var value23;
var offset;
var value24;
var value25;
var object;
var object5;
var value26;
var HermesInternal;
var concat;
var value27;
var view;
var error;
var _hasWarned;
var keys;
var console;
var warn;
var value30;
var listFooterComponent;
var _getFooterCellKey;
var _onLayoutFooter;
var ListFooterComponentStyle;
var Object2;
var assign2;
var props10;
var props11;
var maintainVisibleContentPosition2;
var minIndexForVisible;
var props12;
var value33;
var value34;
var _defaultRenderScrollComponent;
var jsxRuntimeEnv1_23Binding;
var _renderDebugOverlay;
let value = undefined;
const _checkProps = this._checkProps;
let props = this.props;
Reflect.apply(_checkProps, this, [props]);
props = this.props;
const ListEmptyComponent = props.ListEmptyComponent;
const ListFooterComponent = props.ListFooterComponent;
let ListHeaderComponent = props.ListHeaderComponent;
props = this.props;
const data = props.data;
const horizontal = props.horizontal;
const inverted = this.props.inverted;
const value2 = null;
if (inverted) {
value3 = environment.__proto__;
moduleValue = require(dependencyMap[18]);
value4 = moduleValue.horizontalOrDefault(this.props.horizontal);
binding = env1_26;
r1 = value4 ? binding.horizontallyInverted : binding.verticallyInverted;
} else {
r1 = value2;
}
const items2 = [];
const Set = global.Set;
const set = new Set(this.props.stickyHeaderIndices);
const items3 = [];
if (ListHeaderComponent) {
if (set.has(0)) {
items3.push(0);
}
value7 = environment.__proto__;
r22 = (
isValidElement(ListHeaderComponent)
? ListHeaderComponent
: (
)
);
push = items2.push;
value9 = this._getCellKey();
_onLayoutHeader = this._onLayoutHeader;
compose = StyleSheet.compose;
Reflect.apply(push, items2,
[{r22}]);
}
const itemCount = this.props.getItemCount(data);
const value11 = 0;
if (value11 === itemCount) {
if (ListEmptyComponent) {
value12 = environment.__proto__;
items2.push({this._renderEmptyComponent(isValidElement(ListEmptyComponent) ? ListEmptyComponent : ,
r1)});
}
}
if (itemCount > value11) {
value15 = environment.__proto__;
env1_24 = false;
env1_25 = '';
value16 = this._getSpacerKey(!horizontal);
value17 = this.state.renderMask.enumerateRegions();
length = value17.length;
property = value17[length - 1];
if (value2 != property) {
isSpacer = property.isSpacer;
r8 = isSpacer ? property : value2;
} else {
r8 = value2;
}
iterator = value17[Symbol.iterator]();
iterator2 = iterator.next;
r82 = iterator;
item2 = Reflect.apply(iterator2, r82, []);
item = item2.value;
item2 = item2.done ? undefined : r82;
if (item2 === value) {
}
keys = this._hasWarned.keys;
if (keys) {
r5 = !keys;
} else {
binding = env1_24;
r5 = binding;
}
if (r5) {
console = global.console;
console.warn('VirtualizedList: missing keys for items, make sure to specify a key or id property on each item or provide a custom keyExtractor.',
env1_25);
this._hasWarned.keys = true;
}
}
if (ListFooterComponent) {
value30 = environment.__proto__;
if (isValidElement(ListFooterComponent)) {
r16 = ListFooterComponent;
} else {
listFooterComponent = ;
r16 = listFooterComponent;
}
push = items2.push;
var virtualizedListCellContextProviderProps = {cellKey: this._getFooterCellKey()};
_onLayoutFooter = this._onLayoutFooter;
compose = StyleSheet.compose;
ListFooterComponentStyle = this.props.ListFooterComponentStyle;
Reflect.apply(push, items2,
[{r16}]);
}
let Object = global.Object;
let assign = Object.assign;
props = this.props;
let object6 = {};
object6.onContentSizeChange = this._onContentSizeChange;
object6.onLayout = this._onLayout;
object6.onScroll = this._onScroll;
object6.onScrollBeginDrag = this._onScrollBeginDrag;
object6.onScrollEndDrag = this._onScrollEndDrag;
object6.onMomentumScrollBegin = this._onMomentumScrollBegin;
object6.onMomentumScrollEnd = this._onMomentumScrollEnd;
let scrollEventThrottle = this.props.scrollEventThrottle;
object6.scrollEventThrottle = value2 != scrollEventThrottle ? scrollEventThrottle : 0.0001;
object6.invertStickyHeaders = value !== this.props.invertStickyHeaders ? this.props.invertStickyHeaders : this.props.inverted;
object6.stickyHeaderIndices = items3;
object6.style = r1 ? [r1, this.props.style] : this.props.style;
object6.isInvertedVirtualizedList = this.props.inverted;
let maintainVisibleContentPosition = this.props.maintainVisibleContentPosition;
if (value2 != maintainVisibleContentPosition) {
Object2 = global.Object;
assign2 = Object2.assign;
props10 = this.props;
maintainVisibleContentPosition = props10.maintainVisibleContentPosition;
props11 = this.props;
maintainVisibleContentPosition2 = props11.maintainVisibleContentPosition;
minIndexForVisible = maintainVisibleContentPosition2.minIndexForVisible;
props12 = this.props;
ListHeaderComponent = props12.ListHeaderComponent;
if (ListHeaderComponent) {
value33 = 1;
r15 = value33;
} else {
r15 = value11;
}
value34 = Reflect.apply(assign2, Object2, [{}, maintainVisibleContentPosition,
{minIndexForVisible: minIndexForVisible + r15}]);
r0 = value34;
} else {
r0 = value;
}
object6.maintainVisibleContentPosition = r0;
let value35 = Reflect.apply(assign, Object, [{}, props, object6]);
let last = this.state.cellsAroundViewport.last;
this._hasMore = last < itemCount - 1;
const VirtualizedListContextProvider = require(dependencyMap[21]).VirtualizedListContextProvider;
let object8 = {cellKey: value2};
object8.getScrollMetrics = this._getScrollMetrics;
let moduleValue2 = require(dependencyMap[18]);
object8.horizontal = moduleValue2.horizontalOrDefault(this.props.horizontal);
object8.getOutermostParentListRef = this._getOutermostParentListRef;
object8.registerAsNestedChild = this._registerAsNestedChild;
object8.unregisterAsNestedChild = this._unregisterAsNestedChild;
let cloneElementBinding = cloneElement;
let renderScrollComponent = this.props.renderScrollComponent;
if (renderScrollComponent) {
r6 = renderScrollComponent;
} else {
_defaultRenderScrollComponent = this._defaultRenderScrollComponent;
r6 = _defaultRenderScrollComponent;
}
let virtualizedListContextProvider = (
{cloneElementBinding(r6(value35), {ref: this._captureScrollRef}, items2)}
);
let debug = this.props.debug;
if (debug) {
_renderDebugOverlay = this._renderDebugOverlay;
value = (
{[virtualizedListContextProvider, Reflect.apply(_renderDebugOverlay, this, [])]}
);
r0 = value;
} else {
r0 = virtualizedListContextProvider;
}
return r0;
reducibleLoop21: while (true) {
try {
isSpacer = item.isSpacer;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (isSpacer) {
try {
props = this.props;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
disableVirtualization = props.disableVirtualization;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin20: while (true) {
if (disableVirtualization) {
r82 = item2;
break reducibleJoin20;
}
try {
value18 = item !== r8;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin54: while (true) {
reducibleJoin53: while (true) {
if (value18) {
break reducibleJoin53;
}
try {
props = this.props;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
getItemLayout = props.getItemLayout;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (getItemLayout) {
break reducibleJoin53;
}
try {
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
property = dependencyMap[22];
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
defaultImport = importDefault(property);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
first = item.first;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value19 = first - 1;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
last = item.last;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
_listMetrics = this._listMetrics;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
getHighestMeasuredCellIndex = _listMetrics.getHighestMeasuredCellIndex;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value20 = Reflect.apply(getHighestMeasuredCellIndex, _listMetrics, []);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value21 = defaultImport(value19, last, value20);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r25 = value21;
break reducibleJoin54;
}
try {
last = item.last;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r25 = last;
break reducibleJoin54;
}
try {
_listMetrics = this._listMetrics;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
getCellMetricsApprox = _listMetrics.getCellMetricsApprox;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
first = item.first;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
props = this.props;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value22 = Reflect.apply(getCellMetricsApprox, _listMetrics, [first, props]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
_listMetrics = this._listMetrics;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
getCellMetricsApprox = _listMetrics.getCellMetricsApprox;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
props = this.props;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value23 = Reflect.apply(getCellMetricsApprox, _listMetrics, [r25, props]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
offset = value23.offset;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
length = value23.length;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value24 = offset + length;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
offset = value22.offset;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value25 = value24 - offset;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
push = items2.push;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
jsxRuntimeEnv1_22Binding = jsxRuntimeEnv1_22;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
binding = env1_6;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object5 = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value26 = binding(object5, value16, value25);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.style = value26;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
first = item.first;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
HermesInternal = global.HermesInternal;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
concat = HermesInternal.concat;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value27 = '$spacer-' + first;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
view = ;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Reflect.apply(push, items2, [view]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r82 = item2;
break reducibleJoin20;
}
} else {
try {
_pushCells = this._pushCells;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
first = item.first;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
last = item.last;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Reflect.apply(_pushCells, this, [items2, items3, set, first, last, r1]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r82 = item2;
}
item2 = Reflect.apply(iterator2, r82, []);
item = item2.value;
item2 = item2.done ? undefined : r82;
if (item2 === value) {
break reducibleLoop21;
}
continue reducibleLoop21;
}
keys = this._hasWarned.keys;
reducibleJoin88: while (true) {
if (keys) {
r5 = !keys;
break reducibleJoin88;
}
binding = env1_24;
r5 = binding;
break reducibleJoin88;
}
reducibleJoin90: while (true) {
if (r5) {
console = global.console;
warn = console.warn;
Reflect.apply(warn, console,
['VirtualizedList: missing keys for items, make sure to specify a key or id property on each item or provide a custom keyExtractor.',
env1_25]);
_hasWarned = this._hasWarned;
_hasWarned.keys = true;
break reducibleJoin90;
}
break reducibleJoin90;
}
reducibleJoin94: while (true) {
if (ListFooterComponent) {
value30 = environment.__proto__;
reducibleJoin93: while (true) {
if (isValidElement(ListFooterComponent)) {
r16 = ListFooterComponent;
break reducibleJoin93;
}
jsxRuntimeEnv1_22Binding = jsxRuntimeEnv1_22;
listFooterComponent = ;
r16 = listFooterComponent;
break reducibleJoin93;
}
push = items2.push;
jsxRuntimeEnv1_22Binding = jsxRuntimeEnv1_22;
_getFooterCellKey = this._getFooterCellKey;
_onLayoutFooter = this._onLayoutFooter;
compose = StyleSheet.compose;
props = this.props;
ListFooterComponentStyle = props.ListFooterComponentStyle;
Reflect.apply(push, items2, [{r16}]);
break reducibleJoin94;
}
break reducibleJoin94;
}
Object = global.Object;
assign = Object.assign;
props = this.props;
object6 = {onContentSizeChange: this._onContentSizeChange, onLayout: this._onLayout, onScroll: this._onScroll,
onScrollBeginDrag: this._onScrollBeginDrag, onScrollEndDrag: this._onScrollEndDrag,
onMomentumScrollBegin: this._onMomentumScrollBegin, onMomentumScrollEnd: this._onMomentumScrollEnd};
scrollEventThrottle = this.props.scrollEventThrottle;
object6.scrollEventThrottle = value2 != scrollEventThrottle ? scrollEventThrottle : 0.0001;
object6.invertStickyHeaders = value !== this.props.invertStickyHeaders ? this.props.invertStickyHeaders : this.props.inverted;
object6.stickyHeaderIndices = items3;
object6.style = r1 ? [r1, this.props.style] : this.props.style;
object6.isInvertedVirtualizedList = this.props.inverted;
maintainVisibleContentPosition = this.props.maintainVisibleContentPosition;
reducibleJoin105: while (true) {
if (value2 != maintainVisibleContentPosition) {
Object2 = global.Object;
assign2 = Object2.assign;
props10 = this.props;
maintainVisibleContentPosition = props10.maintainVisibleContentPosition;
props11 = this.props;
maintainVisibleContentPosition2 = props11.maintainVisibleContentPosition;
minIndexForVisible = maintainVisibleContentPosition2.minIndexForVisible;
props12 = this.props;
ListHeaderComponent = props12.ListHeaderComponent;
reducibleJoin104: while (true) {
if (ListHeaderComponent) {
value33 = 1;
r15 = value33;
break reducibleJoin104;
}
r15 = value11;
break reducibleJoin104;
}
value34 = Reflect.apply(assign2, Object2, [{}, maintainVisibleContentPosition,
{minIndexForVisible: minIndexForVisible + r15}]);
r0 = value34;
break reducibleJoin105;
}
r0 = value;
break reducibleJoin105;
}
object6.maintainVisibleContentPosition = r0;
value35 = Reflect.apply(assign, Object, [{}, props, object6]);
this._hasMore = this.state.cellsAroundViewport.last < itemCount - 1;
object8 = {cellKey: value2};
object8.getScrollMetrics = this._getScrollMetrics;
moduleValue2 = require(dependencyMap[18]);
object8.horizontal = moduleValue2.horizontalOrDefault(this.props.horizontal);
object8.getOutermostParentListRef = this._getOutermostParentListRef;
object8.registerAsNestedChild = this._registerAsNestedChild;
object8.unregisterAsNestedChild = this._unregisterAsNestedChild;
cloneElementBinding = cloneElement;
renderScrollComponent = this.props.renderScrollComponent;
reducibleJoin107: while (true) {
if (renderScrollComponent) {
r6 = renderScrollComponent;
break reducibleJoin107;
}
_defaultRenderScrollComponent = this._defaultRenderScrollComponent;
r6 = _defaultRenderScrollComponent;
break reducibleJoin107;
}
virtualizedListContextProvider = (
{cloneElementBinding(r6(value35), {ref: this._captureScrollRef}, items2)}
);
debug = this.props.debug;
reducibleJoin109: while (true) {
if (debug) {
jsxRuntimeEnv1_23Binding = jsxRuntimeEnv1_23;
debug = env1_26.debug;
_renderDebugOverlay = this._renderDebugOverlay;
value = (
{[virtualizedListContextProvider, Reflect.apply(_renderDebugOverlay, this, [])]}
);
r0 = value;
break reducibleJoin109;
}
r0 = virtualizedListContextProvider;
break reducibleJoin109;
}
return r0;
}
function value_4675(a0) { // fn#4675, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:19573, offset: 0x00cca047, size: 123 bytes, params: 2, frame: 14
const {data, extraData, getItemLayout} = this.props;
if (!(data === a0.data && extraData === a0.extraData)) {
this._viewabilityTuples.forEach(function({viewabilityHelper}) {
viewabilityHelper.resetViewableIndices();
});
}
const _hiPriInProgress = this._hiPriInProgress;
this._scheduleCellsToRenderUpdate();
if (_hiPriInProgress) {
this._hiPriInProgress = false;
}
if (getItemLayout != null) {
this._maybeCallOnEdgeReached();
}
}
function value_4678(a0) { // fn#4678, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:20131, offset: 0x00cca109, size: 35 bytes, params: 2, frame: 13
this._nestedChildLists.forEachInCell(a0, function(a0) {
a0.measureLayoutRelativeToContainingList();
});
}
function value_4680() { // fn#4680, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:20330, offset: 0x00cca13d, size: 115 bytes, params: 1, frame: 15
var _scrollRef;
var measureLayout;
var context;
var getOutermostParentListRef;
var value;
var getScrollRef;
var closure;
var closure2;
var error;
var console;
var warn;
var stack;
reducibleJoin2: while (true) {
reduciblePort15: while (true) {
exceptionLanding14: while (true) {
try {
_scrollRef = this._scrollRef;
} catch (error) {
break exceptionLanding14;
}
break reducibleJoin2;
}
console = global.console;
warn = console.warn;
stack = error.stack;
Reflect.apply(warn, console, ['measureLayoutRelativeToContainingList threw an error', stack]);
break reduciblePort15;
}
return undefined;
}
if (_scrollRef) {
try {
_scrollRef = this._scrollRef;
} catch (error) {
break exceptionLanding14;
}
try {
measureLayout = _scrollRef.measureLayout;
} catch (error) {
break exceptionLanding14;
}
try {
context = this.context;
} catch (error) {
break exceptionLanding14;
}
try {
getOutermostParentListRef = context.getOutermostParentListRef;
} catch (error) {
break exceptionLanding14;
}
try {
value = Reflect.apply(getOutermostParentListRef, context, []);
} catch (error) {
break exceptionLanding14;
}
try {
getScrollRef = value.getScrollRef;
} catch (error) {
break exceptionLanding14;
}
try {
value = Reflect.apply(getScrollRef, value, []);
} catch (error) {
break exceptionLanding14;
}
try {
closure = _fun4681;
} catch (error) {
break exceptionLanding14;
}
try {
closure2 = function(a0) {
global.console.warn("VirtualizedList: Encountered an error while measuring a list's offset from its containing VirtualizedList.");
};
} catch (error) {
break exceptionLanding14;
}
try {
Reflect.apply(measureLayout, _scrollRef, [value, closure, closure2]);
} catch (error) {
break exceptionLanding14;
}
}
function _fun4681(a0, a1, a2, a3) { // fn#4681, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:20508, offset: 0x00cca1b0, size: 242 bytes, params: 5, frame: 15
let binding = env0_0;
binding._offsetFromParentVirtualizedList = binding._selectOffset({x: a0, y: a1});
const _listMetrics = binding._listMetrics;
const notifyListContentLayout = _listMetrics.notifyListContentLayout;
object = {};
object.layout = {width: a2, height: a3};
object.orientation = binding._orientation();
Reflect.apply(notifyListContentLayout, _listMetrics, [object]);
const _convertParentScrollMetrics = binding._convertParentScrollMetrics;
const context = binding.context;
const getScrollMetrics = context.getScrollMetrics;
const value2 = Reflect.apply(_convertParentScrollMetrics, binding, [Reflect.apply(getScrollMetrics, context, [])]);
let _scrollMetrics = binding._scrollMetrics;
if (_scrollMetrics.visibleLength !== value2.visibleLength || env0_0._scrollMetrics.offset !== value2.offset) {
binding = env0_0;
_scrollMetrics = binding._scrollMetrics;
_scrollMetrics.visibleLength = value2.visibleLength;
_scrollMetrics = binding._scrollMetrics;
_scrollMetrics.offset = value2.offset;
binding._nestedChildLists.forEach(function(a0) {
a0.measureLayoutRelativeToContainingList();
});
}
}
}
function value_4685() { // fn#4685, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:21368, offset: 0x00cca2d7, size: 497 bytes, params: 1, frame: 23
var r2;
var getCellMetricsApprox;
var value4;
var isMounted;
var value5;
let visibleLength = this._scrollMetrics.visibleLength;
let _listMetrics = this._listMetrics;
let value = _listMetrics.getContentLength();
value = visibleLength / (value || 1);
let items3 = [];
let props = this.props;
const itemCount = props.getItemCount(this.props.data);
const value3 = 0;
if (value3 < itemCount) {
r2 = value3;
while (true) {
_listMetrics = this._listMetrics;
getCellMetricsApprox = _listMetrics.getCellMetricsApprox;
props = this.props;
value4 = Reflect.apply(getCellMetricsApprox, _listMetrics, [r2, props]);
isMounted = value4.isMounted;
if (isMounted) {
items3.push(value4);
}
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < itemCount) {
r2 = value5;
continue;
}
break;
}
}
_listMetrics = this._listMetrics;
getCellMetricsApprox = _listMetrics.getCellMetricsApprox;
const offset = Reflect.apply(getCellMetricsApprox, _listMetrics, [this.state.cellsAroundViewport.first,
this.props]).offset;
const cellMetricsApprox = this._listMetrics.getCellMetricsApprox(this.state.cellsAroundViewport.last, this.props);
const value7 = cellMetricsApprox.offset + cellMetricsApprox.length - offset;
const offset3 = this._scrollMetrics.offset;
visibleLength = this._scrollMetrics.visibleLength;
const items2 = [env1_26.debugOverlayBase];
items2[1] = env1_26.debugOverlay;
items3 = [items3.map(_fun4686)];
items3[1] = (
);
items3[2] = (
);
return (
{items3}
);
function _fun4686(a0, a1) { // fn#4686, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:21976, offset: 0x00cca4c8, size: 118 bytes, params: 3, frame: 19
return (
);
}
}
function value_4687(a0) { // fn#4687, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:22284, offset: 0x00cca53e, size: 70 bytes, params: 2, frame: 12
let value = environment.__proto__;
value = require(311) /* metro dependency 311 */;
return value.horizontalOrDefault(this.props.horizontal) ? a0.width : a0.height;
}
function value_4691(a0, a1) { // fn#4691, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:23700, offset: 0x00cca7b3, size: 238 bytes, params: 3, frame: 14
var props;
var initialScrollIndex;
var object;
var scrollToIndex;
let value = a0 > 0;
let r0 = value && a1 > 0 && this.props.initialScrollIndex != null;
r0 = r0 && this.props.initialScrollIndex > 0 && !this._hasTriggeredInitialScrollToIndex;
if (r0) {
props = this.props;
if (props.contentOffset == null) {
props = this.props;
initialScrollIndex = props.initialScrollIndex;
props = this.props;
if (initialScrollIndex < props.getItemCount(this.props.data)) {
scrollToIndex = this.scrollToIndex;
object = {animated: false};
value = environment.__proto__;
value = importDefault(48) /* metro dependency 48 */;
object.index = value(this.props.initialScrollIndex);
Reflect.apply(scrollToIndex, this, [object]);
} else {
this.scrollToEnd({animated: false});
}
}
this._hasTriggeredInitialScrollToIndex = true;
}
}
function value_4694() { // fn#4694, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:24552, offset: 0x00cca928, size: 198 bytes, params: 1, frame: 15
if (!(this._listMetrics.getAverageCellLength() > 0)) {
var getItemLayout = this.props.getItemLayout;
if (getItemLayout == null) {
if (this._updateCellsToRenderTimeoutID == null) {
this._updateCellsToRenderTimeoutID = global.setTimeout(_fun4695,
this.props.updateCellsBatchingPeriod ?? 50);
}
return undefined;
}
}
if (this._shouldRenderWithPriority()) {
if (this._hiPriInProgress) {
if (this._updateCellsToRenderTimeoutID == null) {
this._updateCellsToRenderTimeoutID = global.setTimeout(_fun4695,
this.props.updateCellsBatchingPeriod ?? 50);
}
return undefined;
}
this._hiPriInProgress = true;
if (this._updateCellsToRenderTimeoutID != null) {
global.clearTimeout(this._updateCellsToRenderTimeoutID);
this._updateCellsToRenderTimeoutID = null;
}
this._updateCellsToRender();
} else if (this._updateCellsToRenderTimeoutID == null) {
this._updateCellsToRenderTimeoutID = global.setTimeout(_fun4695, this.props.updateCellsBatchingPeriod ?? 50);
}
function _fun4695() { // fn#4695, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:25031, offset: 0x00cca9ee, size: 29 bytes, params: 1, frame: 9
const binding = env0_0;
binding._updateCellsToRenderTimeoutID = null;
binding._updateCellsToRender();
}
}
function value_4696() { // fn#4696, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:25201, offset: 0x00ccaa0b, size: 341 bytes, params: 1, frame: 25
var r0;
var r10;
var r2;
var r1;
var _listMetrics;
var value6;
var value10;
var value11;
const {first, last} = this.state.cellsAroundViewport;
const {offset, visibleLength, velocity} = this._scrollMetrics;
let value = this.props.getItemCount(this.props.data);
const value3 = Module00311Module.onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold);
const value4 = Module00311Module.onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold);
if (first > 0) {
_listMetrics = this._listMetrics;
value6 = offset - _listMetrics.getCellMetricsApprox(first, this.props).offset;
r10 = value6 < 0 || velocity < -2 && value6 < getScrollingThreshold(value3, visibleLength);
} else {
r10 = false;
}
if (r10) {
r0 = r10;
} else if (last >= 0) {
if (last < value - 1) {
_listMetrics = this._listMetrics;
value = _listMetrics.getCellMetricsApprox(last, this.props).offset - (offset + visibleLength);
value10 = value < 0;
if (value10) {
r1 = value10;
} else {
value11 = velocity > 2;
if (value11) {
value = value < getScrollingThreshold(value4, visibleLength);
r2 = value;
} else {
r2 = value11;
}
r1 = r2;
}
r0 = r1;
} else {
r0 = r10;
}
} else {
r0 = r10;
}
return r0;
}
function value_4702(a0, a1) { // fn#4702, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:26387, offset: 0x00ccabbf, size: 65 bytes, params: 3, frame: 12
const env0_0 = a0;
const env0_1 = a1;
if (!(this.state.pendingScrollUpdateCount > 0)) {
this._viewabilityTuples.forEach(_fun4703);
}
function _fun4703({viewabilityHelper, onViewableItemsChanged}) { // fn#4703, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:26505, offset: 0x00ccac00, size: 83 bytes, params: 2, frame: 23
const onUpdate = viewabilityHelper.onUpdate;
const binding = env0_0;
const binding2 = env0_2;
Reflect.apply(onUpdate, viewabilityHelper, [binding, binding2._scrollMetrics.offset,
binding2._scrollMetrics.visibleLength, binding2._listMetrics, binding2._createViewToken, onViewableItemsChanged,
require]);
}
}
function value_4704(a0, a1, a2) { // fn#4704, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:26707, offset: 0x00ccac53, size: 112 bytes, params: 4, frame: 18
var r4;
var value2;
var _getItemKey;
var value5;
const itemCount = a0.getItemCount(a0.data);
if (a2 != null) {
reducibleJoin4: while (true) {
if (a2 >= 0) {
if (a2 < itemCount) {
value2 = environment;
_getItemKey = VirtualizedList._getItemKey;
if (Reflect.apply(_getItemKey, VirtualizedList, [a0, a2]) === a1) {
return a2;
}
break reducibleJoin4;
}
break reducibleJoin4;
}
break reducibleJoin4;
}
}
const value3 = 0;
if (value3 < itemCount) {
r4 = value3;
reducibleLoop5: while (true) {
_getItemKey = VirtualizedList._getItemKey;
if (Reflect.apply(_getItemKey, VirtualizedList, [a0, r4]) === a1) {
return r4;
}
value5 = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1;
if (!(value5 < itemCount)) {
return null;
}
r4 = value5;
continue reducibleLoop5;
}
}
return null;
}
function value_4706(a0, a1, a2) { // fn#4706, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:27081, offset: 0x00ccacf0, size: 407 bytes, params: 4, frame: 28
var r9;
var r10;
var r7;
var value;
var getItemCount;
var data;
var value2;
var value3;
var defaultImport;
var first;
var value4;
var last;
var value5;
var value6;
var HermesInternal;
var concat;
var CellRenderMask;
var prototype;
var value7;
var cellRenderMask;
var value8;
var items2;
var binding;
var iterator;
var iterator2;
var item;
var item2;
var addCells;
var error;
var initialScrollIndex;
var _initialRenderRegion;
var Set;
var stickyHeaderIndices;
var set;
var value9;
var _ensureClosestStickyHeader;
exceptionSkip12: while (true) {
exceptionLanding12: while (true) {
value = a2;
getItemCount = a0.getItemCount;
data = a0.data;
value2 = Reflect.apply(getItemCount, a0, [data]);
value3 = environment.__proto__;
defaultImport = importDefault(44) /* metro dependency 44 */;
first = a1.first;
value4 = first >= 0;
if (value4) {
value5 = a1.last >= a1.first - 1;
r9 = value5;
} else {
r9 = value4;
}
if (r9) {
value6 = a1.last < value2;
r9 = value6;
}
first = a1.first;
last = a1.last;
HermesInternal = global.HermesInternal;
concat = HermesInternal.concat;
defaultImport(r9,
'Invalid cells around viewport "[' + first + ', ' + last + ']" was passed to VirtualizedList._createRenderMask');
CellRenderMask = (require(315) /* metro dependency 315 */).CellRenderMask;
prototype = CellRenderMask.prototype;
value7 = Object.create(prototype, {constructor: {value: CellRenderMask}});
cellRenderMask = new CellRenderMask();
value8 = cellRenderMask instanceof Object ? cellRenderMask : value7;
if (value2 > 0) {
items2 = [a1];
concat = items2.concat;
binding = env1_5;
if (value != null) {
r10 = value;
continue;
}
iterator = Reflect.apply(concat, items2, [binding([])])[Symbol.iterator]();
iterator2 = iterator.next;
for (r7 = iterator; true; r7 = item2) {
item2 = Reflect.apply(iterator2, r7, []);
item = item2.value;
item2 = item2.done ? undefined : r7;
if (item2 === undefined) {
break;
}
try {
addCells = value8.addCells;
} catch (error) {
break exceptionLanding12;
}
try {
Reflect.apply(addCells, value8, [item]);
} catch (error) {
break exceptionLanding12;
}
}
initialScrollIndex = a0.initialScrollIndex;
if (initialScrollIndex == null) {
value = environment;
_initialRenderRegion = VirtualizedList._initialRenderRegion;
value = Reflect.apply(_initialRenderRegion, VirtualizedList, [a0]);
addCells = value8.addCells;
Reflect.apply(addCells, value8, [value]);
} else {
initialScrollIndex = a0.initialScrollIndex;
if (!(initialScrollIndex <= 0)) {
continue;
}
value = environment;
_initialRenderRegion = VirtualizedList._initialRenderRegion;
value = Reflect.apply(_initialRenderRegion, VirtualizedList, [a0]);
addCells = value8.addCells;
Reflect.apply(addCells, value8, [value]);
}
Set = global.Set;
stickyHeaderIndices = a0.stickyHeaderIndices;
prototype = Set.prototype;
value = Object.create(prototype, {constructor: {value: Set}});
set = new Set();
value = set instanceof Object ? set : value;
value9 = environment;
_ensureClosestStickyHeader = VirtualizedList._ensureClosestStickyHeader;
first = a1.first;
Reflect.apply(_ensureClosestStickyHeader, VirtualizedList, [a0, value, value8, first]);
}
return value8;
break exceptionSkip12;
}
try {
item2.return();
} catch {
}
throw error;
break exceptionSkip12;
}
}
function value_4707(a0) { // fn#4707, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:27667, offset: 0x00ccae87, size: 182 bytes, params: 2, frame: 24
const itemCount = a0.getItemCount(a0.data);
let Math = global.Math;
const max = Math.max;
const Math2 = global.Math;
let min = Math2.min;
const value2 = itemCount - 1;
const Math3 = global.Math;
const floor = Math3.floor;
const initialScrollIndex = a0.initialScrollIndex;
const value3 = 0;
const value4 = Reflect.apply(max, Math, [value3, Reflect.apply(min, Math2, [value2, Reflect.apply(floor, Math3,
[initialScrollIndex ?? value3])])]);
const object = {first: value4};
Math = global.Math;
min = Math.min;
object.last = Reflect.apply(min, Math, [itemCount,
value4 + Module00311Module.initialNumToRenderOrDefault(a0.initialNumToRender)]) - 1;
return object;
}
function value_4709(a0, a1) { // fn#4709, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:28131, offset: 0x00ccaf9c, size: 370 bytes, params: 3, frame: 21
var r2;
var r10;
var r1;
var object;
let getItemCount = a0.getItemCount;
let value = Reflect.apply(getItemCount, a0, [a0.data]);
let renderMask = a1.renderMask;
if (value === renderMask.numCells()) {
return a1;
}
const firstVisibleItemKey = a1.firstVisibleItemKey;
const maintainVisibleContentPosition = a0.maintainVisibleContentPosition;
const value2 = null;
const minIndexForVisible = value2 == maintainVisibleContentPosition ? undefined : maintainVisibleContentPosition.minIndexForVisible;
const r5 = value2 != minIndexForVisible ? minIndexForVisible : 0;
getItemCount = a0.getItemCount;
const r3 = Reflect.apply(getItemCount, a0, [a0.data]) > r5 ? VirtualizedList._getItemKey(a0, r5) : value2;
if (value2 != a0.maintainVisibleContentPosition) {
if (value2 != firstVisibleItemKey) {
if (value2 != r3) {
if (r3 === firstVisibleItemKey) {
r10 = value2;
} else {
renderMask = a1.renderMask;
value = value - renderMask.numCells() + r5;
value = VirtualizedList._findItemIndexWithKey(a0, firstVisibleItemKey, value);
if (value2 != value) {
value -= r5;
r2 = value;
} else {
r2 = value2;
}
r10 = r2;
}
} else {
r10 = value2;
}
} else {
r10 = value2;
}
} else {
r10 = value2;
}
const _constrainToItemCount = VirtualizedList._constrainToItemCount;
const value8 = value2 != r10;
let cellsAroundViewport = a1.cellsAroundViewport;
if (value8) {
object = {};
object.first = cellsAroundViewport.first + r10;
cellsAroundViewport = a1.cellsAroundViewport;
object.last = cellsAroundViewport.last + r10;
r1 = object;
} else {
r1 = cellsAroundViewport;
}
const value9 = Reflect.apply(_constrainToItemCount, VirtualizedList, [r1, a0]);
object = {cellsAroundViewport: value9};
object.renderMask = VirtualizedList._createRenderMask(a0, value9);
object.firstVisibleItemKey = r3;
const pendingScrollUpdateCount = a1.pendingScrollUpdateCount;
object.pendingScrollUpdateCount = value8 ? pendingScrollUpdateCount + 1 : pendingScrollUpdateCount;
return object;
}
function value_4710({first, last}, a1) { // fn#4710, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:28989, offset: 0x00ccb10e, size: 162 bytes, params: 3, frame: 20
let value = a1.getItemCount(a1.data);
value -= 1;
const value3 = Module00311Module.maxToRenderPerBatchOrDefault(a1.maxToRenderPerBatch);
let Math = global.Math;
const value4 = Math.max(0, value - value3);
const object = {};
object.first = (importDefault(314) /* metro dependency 314 */)(0, first, value4);
Math = global.Math;
object.last = Math.min(value, last);
return object;
}
function value_4711(a0, a1, a2) { // fn#4711, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:29228, offset: 0x00ccb1b0, size: 132 bytes, params: 4, frame: 16
var displayName;
if (a2.keyExtractor != null) {
return a2.keyExtractor(a0, a1);
}
const value2 = (Module00304Module).keyExtractor(a0, a1);
const String = global.String;
if (value2 === String(a1)) {
if (a0.type && a0.type.displayName) {
displayName = a0.type.displayName;
}
}
return value2;
}
}
}
function value_4646(a0) { // fn#4646, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:8745, offset: 0x00cc8aee, size: 167 bytes, params: 2, frame: 16
var _listMetrics;
var Math;
var max;
const r4 = a0 ? a0.animated : !a0;
value = this.props.getItemCount(this.props.data);
value -= 1;
if (!(value < 0)) {
_listMetrics = this._listMetrics;
value = _listMetrics.getCellMetricsApprox(value, this.props);
Math = global.Math;
max = Math.max;
value = value.offset + value.length;
value += this._footerLength;
value = Reflect.apply(max, Math, [0, value - this._scrollMetrics.visibleLength]);
this.scrollToOffset({animated: r4, offset: value});
}
}
function value_4649({animated, offset}) { // fn#4649, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:10389, offset: 0x00cc8dff, size: 194 bytes, params: 2, frame: 17
var scrollTo;
var value;
var _listMetrics;
var Object;
const _scrollRef = this._scrollRef;
if (_scrollRef != null) {
scrollTo = _scrollRef.scrollTo;
if (scrollTo != null) {
value = this._orientation();
if (value.horizontal) {
if (value.rtl) {
_listMetrics = this._listMetrics;
if (_listMetrics.hasContentLength()) {
scrollTo = _scrollRef.scrollTo;
Object = global.Object;
Reflect.apply(scrollTo, _scrollRef, [Object.assign({animated: animated},
this._scrollToParamsFromOffset(offset))]);
} else {
global.console.warn('scrollToOffset may not be called in RTL before content is laid out');
}
} else {
scrollTo = _scrollRef.scrollTo;
Object = global.Object;
Reflect.apply(scrollTo, _scrollRef, [Object.assign({animated: animated},
this._scrollToParamsFromOffset(offset))]);
}
} else {
scrollTo = _scrollRef.scrollTo;
Object = global.Object;
Reflect.apply(scrollTo, _scrollRef, [Object.assign({animated: animated},
this._scrollToParamsFromOffset(offset))]);
}
} else {
global.console.warn('No scrollTo method provided. This may be because you have two nested VirtualizedLists with the same orientation, or because you are using a custom component that does not implement scrollTo.');
}
}
}
function _fun4652(a0) { // fn#4652, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:11306, offset: 0x00cc8f81, size: 17 bytes, params: 2, frame: 9
a0.recordInteraction();
}
function _fun4653({viewabilityHelper}) { // fn#4653, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:11376, offset: 0x00cc8671, size: 23 bytes, params: 2, frame: 9
viewabilityHelper.recordInteraction();
}
function _fun4664(a0) { // fn#4664, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:14317, offset: 0x00cc9448, size: 15 bytes, params: 2, frame: 9
return a0.hasMore();
}
function _fun4667({viewabilityHelper}) { // fn#4667, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:14783, offset: 0x00cc94f5, size: 23 bytes, params: 2, frame: 9
viewabilityHelper.dispose();
}
function _fun4676({viewabilityHelper}) { // fn#4676, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:19724, offset: 0x00cca0c2, size: 23 bytes, params: 2, frame: 9
viewabilityHelper.resetViewableIndices();
}
function _fun4679(a0) { // fn#4679, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:20220, offset: 0x00cca12c, size: 17 bytes, params: 2, frame: 9
a0.measureLayoutRelativeToContainingList();
}
function _fun4683(a0) { // fn#4683, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:21010, offset: 0x00cca2a2, size: 28 bytes, params: 2, frame: 11
global.console.warn("VirtualizedList: Encountered an error while measuring a list's offset from its containing VirtualizedList.");
}
function value_4690() { // fn#4690, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:346:22673, offset: 0x00cca5f6, size: 445 bytes, params: 1, frame: 23
var offset;
var r7;
var r8;
var r5;
var _scrollMetrics;
var visibleLength;
var value;
var value2;
var value3;
var value5;
var value7;
const {data, getItemCount, onStartReached, onStartReachedThreshold, onEndReached,
onEndReachedThreshold} = this.props;
let _listMetrics = this._listMetrics;
if (_listMetrics.hasContentLength()) {
_scrollMetrics = this._scrollMetrics;
visibleLength = _scrollMetrics.visibleLength;
value = 0;
if (value !== visibleLength) {
if (!(this.state.pendingScrollUpdateCount > value)) {
_scrollMetrics = this._scrollMetrics;
visibleLength = _scrollMetrics.visibleLength;
offset = _scrollMetrics.offset;
_listMetrics = this._listMetrics;
value2 = _listMetrics.getContentLength() - visibleLength - offset;
offset = offset < 0.001 ? value : offset;
r7 = value2 < 0.001 ? value : value2;
value3 = 2;
value5 = offset <= (onStartReachedThreshold != null ? onStartReachedThreshold * visibleLength : value3);
value7 = r7 <= (onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : value3);
r8 = onEndReached && this.state.cellsAroundViewport.last === getItemCount(data) - 1;
r8 = r8 && value7;
r8 = r8 && this._listMetrics.getContentLength() !== this._sentEndForContentLength;
if (r8) {
_listMetrics = this._listMetrics;
this._sentEndForContentLength = _listMetrics.getContentLength();
onEndReached({distanceFromEnd: r7});
}
r5 = onStartReached != null && value === this.state.cellsAroundViewport.first;
r5 = r5 && value5;
r5 = r5 && this._listMetrics.getContentLength() !== this._sentStartForContentLength;
if (r5) {
_listMetrics = this._listMetrics;
this._sentStartForContentLength = _listMetrics.getContentLength();
onStartReached({distanceFromStart: offset});
}
if (!value5) {
this._sentStartForContentLength = value;
}
if (!value7) {
this._sentEndForContentLength = value;
}
}
}
}
}
global.__d(_fun4604, 305, [65, 77, 29, 6, 7, 15, 17, 18, 31, 27, 33, 306, 307, 44, 79, 308, 309, 310, 311, 304, 312,
313, 314, 48, 315,
316]) /* metro module 305, dependencies: [65, 77, 29, 6, 7, 15, 17, 18, 31, 27, 33, 306, 307, 44, 79, 308, 309, 310, 311, 304, 312, 313, 314, 48, 315, 316] */;