// Metro module 4023 (f4024). import { isMemo, ForwardRef, Memo } from "./Module4021"; let c2301_2, c2301_3, c2301_4, c2301_5, defineProperty, getOwnPropertyNames, getOwnPropertySymbols, getOwnPropertyDescriptor, getPrototypeOf, prototype, hoistNonReactStatics; const getStatics = function getStatics(a0) { return isMemo(a0) ? c2301_4 : c2301_5[a0.$$typeof] || c2301_2; }; c2301_2 = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }; c2301_3 = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }; c2301_4 = { $$typeof: true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true }; c2301_5 = {}; c2301_5[ForwardRef] = { $$typeof: true, render: true, defaultProps: true, displayName: true, propTypes: true }; c2301_5[Memo] = c2301_4; defineProperty = Object.defineProperty; getOwnPropertyNames = Object.getOwnPropertyNames; getOwnPropertySymbols = Object.getOwnPropertySymbols; getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; getPrototypeOf = Object.getPrototypeOf; prototype = Object.prototype; hoistNonReactStatics = function hoistNonReactStatics(a0, a1, a2) { let r29; if (typeof a1 !== "string") { if (prototype) { const prototypeOf = getPrototypeOf(a1); if (prototypeOf && prototypeOf !== prototype) { hoistNonReactStatics(a0, prototypeOf, a2); } } const ownPropertyNames = getOwnPropertyNames(a1); const r6 = getOwnPropertySymbols ? ownPropertyNames.concat(getOwnPropertySymbols(a1)) : ownPropertyNames; let r23 = 0; const statics = getStatics(a0); const statics2 = getStatics(a1); if (0 < r6.length) { do { L19: { const r13 = r6[r23]; const r11 = c2301_3[r13]; r29 = r23; if (!r11) { if (a2 && a2[r13]) { break L19; } if (statics2 && statics2[r13]) { break L19; } if (statics && statics[r13]) { break L19; } const ownPropertyDescriptor = getOwnPropertyDescriptor(a1, r13); try { defineProperty(a0, r13, ownPropertyDescriptor); } catch ($e) {} } } r23 = r29 + 1; } while (r23 < r6.length); } } return a0; }; module.exports = hoistNonReactStatics;