!function(global, factory) { "object" == typeof exports && "undefined" != typeof module ? factory(exports, require("react")) : "function" == typeof define && define.amd ? define([ "exports", "react" ], factory) : factory((global = global || self).ReactDOM = { }, global.React); }(this, function(exports, React) { "use strict"; var devToolsConfig, prevLog, prevInfo, prevWarn, prevError, prevGroup, prevGroupCollapsed, prevGroupEnd, prefix, componentFrameCache, didWarnValueDefaultValue$1, reusableSVGContainer, attemptUserBlockingHydration, attemptContinuousHydration, attemptHydrationAtCurrentPriority, attemptHydrationAtPriority, lastMovementX, lastMovementY, lastMouseEvent, warnedUnknownTags, suppressHydrationWarning, validatePropertiesInDevelopment, warnForTextDifference, warnForPropDifference, warnForExtraAttributes, warnForInvalidEventListener, canDiffStyleForHydrationWarning, normalizeMarkupForTextOrAttribute, normalizeHTML, SUPPRESS_HYDRATION_WARNING$1, fiberStack, warnedAboutMissingGetChildContext, rendererSigil, didWarnUpdateInsideUpdate, currentlyProcessingQueue, didWarnAboutStateAssignmentForComponent, didWarnAboutUninitializedState, didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate, didWarnAboutLegacyLifecyclesAndDerivedState, didWarnAboutUndefinedDerivedState, warnOnUndefinedDerivedState, warnOnInvalidCallback, didWarnAboutDirectlyAssigningPropsToState, didWarnAboutContextTypeAndContextTypes, didWarnAboutInvalidateContextType, didWarnAboutMaps, didWarnAboutGenerators, didWarnAboutStringRefs, ownerHasKeyUseWarning, ownerHasFunctionTypeWarning, rendererSigil$1, didWarnAboutMismatchedHooksForComponent, didWarnAboutUseOpaqueIdentifier, didWarnAboutBadClass, didWarnAboutModulePatternComponent, didWarnAboutContextTypeOnFunctionComponent, didWarnAboutGetDerivedStateOnFunctionComponent, didWarnAboutFunctionRefs, didWarnAboutReassigningProps, didWarnAboutRevealOrder, didWarnAboutTailOptions, appendAllChildren, updateHostContainer, updateHostComponent$1, updateHostText$1, beginWork$1, didWarnAboutUpdateInRenderForAnotherComponent, hasBadMapPolyfill, didWarnAboutNestedUpdates, didWarnAboutFindNodeInStrictMode, topLevelUpdateWarnings, ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; function warn(format) { for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++)args[_key - 1] = arguments[_key]; printWarning("warn", format, args); } function error(format) { for(var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++)args[_key2 - 1] = arguments[_key2]; printWarning("error", format, args); } function printWarning(level, format, args) { var stack = ReactSharedInternals.ReactDebugCurrentFrame.getStackAddendum(); "" !== stack && (format += "%s", args = args.concat([ stack ])); var argsWithFormat = args.map(function(item) { return "" + item; }); argsWithFormat.unshift("Warning: " + format), Function.prototype.apply.call(console[level], console, argsWithFormat); } if (!React) throw Error("ReactDOM was loaded before React. Make sure you load the React package before loading ReactDOM."); var enableProfilerTimer = !0, enableFundamentalAPI = !1, enableNewReconciler = !1, warnAboutStringRefs = !1, allNativeEvents = new Set(), registrationNameDependencies = { }, possibleRegistrationNames = { }; function registerTwoPhaseEvent(registrationName, dependencies) { registerDirectEvent(registrationName, dependencies), registerDirectEvent(registrationName + "Capture", dependencies); } function registerDirectEvent(registrationName, dependencies) { registrationNameDependencies[registrationName] && error("EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.", registrationName), registrationNameDependencies[registrationName] = dependencies, possibleRegistrationNames[registrationName.toLowerCase()] = registrationName, "onDoubleClick" === registrationName && (possibleRegistrationNames.ondblclick = registrationName); for(var i = 0; i < dependencies.length; i++)allNativeEvents.add(dependencies[i]); } var canUseDOM = !!("undefined" != typeof window && void 0 !== window.document && void 0 !== window.document.createElement), ATTRIBUTE_NAME_CHAR = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040", VALID_ATTRIBUTE_NAME_REGEX = new RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][" + ATTRIBUTE_NAME_CHAR + "]*$"), hasOwnProperty = Object.prototype.hasOwnProperty, illegalAttributeNameCache = { }, validatedAttributeNameCache = { }; function isAttributeNameSafe(attributeName) { return !!hasOwnProperty.call(validatedAttributeNameCache, attributeName) || !hasOwnProperty.call(illegalAttributeNameCache, attributeName) && (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName) ? (validatedAttributeNameCache[attributeName] = !0, !0) : (illegalAttributeNameCache[attributeName] = !0, error("Invalid attribute name: `%s`", attributeName), !1)); } function shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) { return null !== propertyInfo ? 0 === propertyInfo.type : !isCustomComponentTag && name.length > 2 && ("o" === name[0] || "O" === name[0]) && ("n" === name[1] || "N" === name[1]); } function shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) { if (null !== propertyInfo && 0 === propertyInfo.type) return !1; switch(typeof value){ case "function": case "symbol": return !0; case "boolean": if (isCustomComponentTag) return !1; if (null !== propertyInfo) return !propertyInfo.acceptsBooleans; var prefix = name.toLowerCase().slice(0, 5); return "data-" !== prefix && "aria-" !== prefix; default: return !1; } } function shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) { if (null == value) return !0; if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) return !0; if (isCustomComponentTag) return !1; if (null !== propertyInfo) switch(propertyInfo.type){ case 3: return !value; case 4: return !1 === value; case 5: return isNaN(value); case 6: return isNaN(value) || value < 1; } return !1; } function getPropertyInfo(name) { return properties.hasOwnProperty(name) ? properties[name] : null; } function PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL, removeEmptyString) { this.acceptsBooleans = 2 === type || 3 === type || 4 === type, this.attributeName = attributeName, this.attributeNamespace = attributeNamespace, this.mustUseProperty = mustUseProperty, this.propertyName = name, this.type = type, this.sanitizeURL = sanitizeURL, this.removeEmptyString = removeEmptyString; } var properties = { }; [ "children", "dangerouslySetInnerHTML", "defaultValue", "defaultChecked", "innerHTML", "suppressContentEditableWarning", "suppressHydrationWarning", "style" ].forEach(function(name) { properties[name] = new PropertyInfoRecord(name, 0, !1, name, null, !1, !1); }), [ [ "acceptCharset", "accept-charset" ], [ "className", "class" ], [ "htmlFor", "for" ], [ "httpEquiv", "http-equiv" ] ].forEach(function(_ref) { var name = _ref[0], attributeName = _ref[1]; properties[name] = new PropertyInfoRecord(name, 1, !1, attributeName, null, !1, !1); }), [ "contentEditable", "draggable", "spellCheck", "value" ].forEach(function(name) { properties[name] = new PropertyInfoRecord(name, 2, !1, name.toLowerCase(), null, !1, !1); }), [ "autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha" ].forEach(function(name) { properties[name] = new PropertyInfoRecord(name, 2, !1, name, null, !1, !1); }), [ "allowFullScreen", "async", "autoFocus", "autoPlay", "controls", "default", "defer", "disabled", "disablePictureInPicture", "disableRemotePlayback", "formNoValidate", "hidden", "loop", "noModule", "noValidate", "open", "playsInline", "readOnly", "required", "reversed", "scoped", "seamless", "itemScope" ].forEach(function(name) { properties[name] = new PropertyInfoRecord(name, 3, !1, name.toLowerCase(), null, !1, !1); }), [ "checked", "multiple", "muted", "selected" ].forEach(function(name) { properties[name] = new PropertyInfoRecord(name, 3, !0, name, null, !1, !1); }), [ "capture", "download" ].forEach(function(name) { properties[name] = new PropertyInfoRecord(name, 4, !1, name, null, !1, !1); }), [ "cols", "rows", "size", "span" ].forEach(function(name) { properties[name] = new PropertyInfoRecord(name, 6, !1, name, null, !1, !1); }), [ "rowSpan", "start" ].forEach(function(name) { properties[name] = new PropertyInfoRecord(name, 5, !1, name.toLowerCase(), null, !1, !1); }); var CAMELIZE = /[\-\:]([a-z])/g, capitalize = function(token) { return token[1].toUpperCase(); }; [ "accent-height", "alignment-baseline", "arabic-form", "baseline-shift", "cap-height", "clip-path", "clip-rule", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "dominant-baseline", "enable-background", "fill-opacity", "fill-rule", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "glyph-name", "glyph-orientation-horizontal", "glyph-orientation-vertical", "horiz-adv-x", "horiz-origin-x", "image-rendering", "letter-spacing", "lighting-color", "marker-end", "marker-mid", "marker-start", "overline-position", "overline-thickness", "paint-order", "panose-1", "pointer-events", "rendering-intent", "shape-rendering", "stop-color", "stop-opacity", "strikethrough-position", "strikethrough-thickness", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "text-anchor", "text-decoration", "text-rendering", "underline-position", "underline-thickness", "unicode-bidi", "unicode-range", "units-per-em", "v-alphabetic", "v-hanging", "v-ideographic", "v-mathematical", "vector-effect", "vert-adv-y", "vert-origin-x", "vert-origin-y", "word-spacing", "writing-mode", "xmlns:xlink", "x-height" ].forEach(function(attributeName) { var name = attributeName.replace(CAMELIZE, capitalize); properties[name] = new PropertyInfoRecord(name, 1, !1, attributeName, null, !1, !1); }), [ "xlink:actuate", "xlink:arcrole", "xlink:role", "xlink:show", "xlink:title", "xlink:type" ].forEach(function(attributeName) { var name = attributeName.replace(CAMELIZE, capitalize); properties[name] = new PropertyInfoRecord(name, 1, !1, attributeName, "http://www.w3.org/1999/xlink", !1, !1); }), [ "xml:base", "xml:lang", "xml:space" ].forEach(function(attributeName) { var name = attributeName.replace(CAMELIZE, capitalize); properties[name] = new PropertyInfoRecord(name, 1, !1, attributeName, "http://www.w3.org/XML/1998/namespace", !1, !1); }), [ "tabIndex", "crossOrigin" ].forEach(function(attributeName) { properties[attributeName] = new PropertyInfoRecord(attributeName, 1, !1, attributeName.toLowerCase(), null, !1, !1); }), properties.xlinkHref = new PropertyInfoRecord("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0, !1), [ "src", "href", "action", "formAction" ].forEach(function(attributeName) { properties[attributeName] = new PropertyInfoRecord(attributeName, 1, !1, attributeName.toLowerCase(), null, !0, !0); }); var isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i, didWarn = !1; function sanitizeURL(url) { !didWarn && isJavaScriptProtocol.test(url) && (didWarn = !0, error("A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.", JSON.stringify(url))); } function getValueForProperty(node, name, expected, propertyInfo) { if (propertyInfo.mustUseProperty) return node[propertyInfo.propertyName]; propertyInfo.sanitizeURL && sanitizeURL("" + expected); var attributeName = propertyInfo.attributeName, stringValue = null; if (4 === propertyInfo.type) { if (node.hasAttribute(attributeName)) { var value = node.getAttribute(attributeName); return "" === value || (shouldRemoveAttribute(name, expected, propertyInfo, !1) ? value : value === "" + expected ? expected : value); } } else if (node.hasAttribute(attributeName)) return shouldRemoveAttribute(name, expected, propertyInfo, !1) ? node.getAttribute(attributeName) : 3 === propertyInfo.type ? expected : void (stringValue = node.getAttribute(attributeName)); return shouldRemoveAttribute(name, expected, propertyInfo, !1) ? null === stringValue ? expected : stringValue : stringValue === "" + expected ? expected : stringValue; } function getValueForAttribute(node, name, expected) { if (isAttributeNameSafe(name)) { if (isOpaqueHydratingObject(expected)) return expected; if (!node.hasAttribute(name)) return void 0 === expected ? void 0 : null; var value = node.getAttribute(name); return value === "" + expected ? expected : value; } } function setValueForProperty(node, name, value, isCustomComponentTag) { var propertyInfo = getPropertyInfo(name); if (!shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) { if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) && (value = null), isCustomComponentTag || null === propertyInfo) { if (isAttributeNameSafe(name)) { var _attributeName = name; null === value ? node.removeAttribute(_attributeName) : node.setAttribute(_attributeName, "" + value); } return; } if (propertyInfo.mustUseProperty) { var propertyName = propertyInfo.propertyName; if (null === value) { var type = propertyInfo.type; node[propertyName] = 3 !== type && ""; } else node[propertyName] = value; return; } var attributeName = propertyInfo.attributeName, attributeNamespace = propertyInfo.attributeNamespace; if (null === value) node.removeAttribute(attributeName); else { var attributeValue, _type = propertyInfo.type; 3 === _type || 4 === _type && !0 === value ? attributeValue = "" : (attributeValue = "" + value, propertyInfo.sanitizeURL && sanitizeURL(attributeValue.toString())), attributeNamespace ? node.setAttributeNS(attributeNamespace, attributeName, attributeValue) : node.setAttribute(attributeName, attributeValue); } } } var _assign = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.assign, REACT_ELEMENT_TYPE = 60103, REACT_PORTAL_TYPE = 60106, REACT_FRAGMENT_TYPE = 60107, REACT_STRICT_MODE_TYPE = 60108, REACT_PROFILER_TYPE = 60114, REACT_PROVIDER_TYPE = 60109, REACT_CONTEXT_TYPE = 60110, REACT_FORWARD_REF_TYPE = 60112, REACT_SUSPENSE_TYPE = 60113, REACT_SUSPENSE_LIST_TYPE = 60120, REACT_MEMO_TYPE = 60115, REACT_LAZY_TYPE = 60116, REACT_BLOCK_TYPE = 60121, REACT_SCOPE_TYPE = 60119, REACT_OPAQUE_ID_TYPE = 60128, REACT_DEBUG_TRACING_MODE_TYPE = 60129, REACT_OFFSCREEN_TYPE = 60130, REACT_LEGACY_HIDDEN_TYPE = 60131; if ("function" == typeof Symbol && Symbol.for) { var symbolFor = Symbol.for; REACT_ELEMENT_TYPE = symbolFor("react.element"), REACT_PORTAL_TYPE = symbolFor("react.portal"), REACT_FRAGMENT_TYPE = symbolFor("react.fragment"), REACT_STRICT_MODE_TYPE = symbolFor("react.strict_mode"), REACT_PROFILER_TYPE = symbolFor("react.profiler"), REACT_PROVIDER_TYPE = symbolFor("react.provider"), REACT_CONTEXT_TYPE = symbolFor("react.context"), REACT_FORWARD_REF_TYPE = symbolFor("react.forward_ref"), REACT_SUSPENSE_TYPE = symbolFor("react.suspense"), REACT_SUSPENSE_LIST_TYPE = symbolFor("react.suspense_list"), REACT_MEMO_TYPE = symbolFor("react.memo"), REACT_LAZY_TYPE = symbolFor("react.lazy"), REACT_BLOCK_TYPE = symbolFor("react.block"), symbolFor("react.server.block"), symbolFor("react.fundamental"), REACT_SCOPE_TYPE = symbolFor("react.scope"), REACT_OPAQUE_ID_TYPE = symbolFor("react.opaque.id"), REACT_DEBUG_TRACING_MODE_TYPE = symbolFor("react.debug_trace_mode"), REACT_OFFSCREEN_TYPE = symbolFor("react.offscreen"), REACT_LEGACY_HIDDEN_TYPE = symbolFor("react.legacy_hidden"); } var MAYBE_ITERATOR_SYMBOL = "function" == typeof Symbol && Symbol.iterator; function getIteratorFn(maybeIterable) { if (null === maybeIterable || "object" != typeof maybeIterable) return null; var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; return "function" == typeof maybeIterator ? maybeIterator : null; } var disabledDepth = 0; function disabledLog() { } function disableLogs() { if (0 === disabledDepth) { prevLog = console.log, prevInfo = console.info, prevWarn = console.warn, prevError = console.error, prevGroup = console.group, prevGroupCollapsed = console.groupCollapsed, prevGroupEnd = console.groupEnd; var props = { configurable: !0, enumerable: !0, value: disabledLog, writable: !0 }; Object.defineProperties(console, { info: props, log: props, warn: props, error: props, group: props, groupCollapsed: props, groupEnd: props }); } disabledDepth++; } function reenableLogs() { if (disabledDepth--, 0 === disabledDepth) { var props = { configurable: !0, enumerable: !0, writable: !0 }; Object.defineProperties(console, { log: _assign({ }, props, { value: prevLog }), info: _assign({ }, props, { value: prevInfo }), warn: _assign({ }, props, { value: prevWarn }), error: _assign({ }, props, { value: prevError }), group: _assign({ }, props, { value: prevGroup }), groupCollapsed: _assign({ }, props, { value: prevGroupCollapsed }), groupEnd: _assign({ }, props, { value: prevGroupEnd }) }); } disabledDepth < 0 && error("disabledDepth fell below zero. This is a bug in React. Please file an issue."); } disabledLog.__reactDisabledLog = !0; var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; function describeBuiltInComponentFrame(name, source, ownerFn) { if (void 0 === prefix) try { throw Error(); } catch (x) { var match = x.stack.trim().match(/\n( *(at )?)/); prefix = match && match[1] || ""; } return "\n" + prefix + name; } var reentry = !1; function describeNativeComponentFrame(fn, construct) { if (!fn || reentry) return ""; var control, frame = componentFrameCache.get(fn); if (void 0 !== frame) return frame; reentry = !0; var previousPrepareStackTrace = Error.prepareStackTrace; Error.prepareStackTrace = void 0, ReactCurrentDispatcher.current, ReactCurrentDispatcher.current = null, disableLogs(); try { if (construct) { var Fake = function() { throw Error(); }; if (Object.defineProperty(Fake.prototype, "props", { set: function() { throw Error(); } }), "object" == typeof Reflect && Reflect.construct) { try { Reflect.construct(Fake, []); } catch (x) { control = x; } Reflect.construct(fn, [], Fake); } else { try { Fake.call(); } catch (x) { control = x; } fn.call(Fake.prototype); } } else { try { throw Error(); } catch (x) { control = x; } fn(); } } catch (sample) { if (sample && control && "string" == typeof sample.stack) { for(var sampleLines = sample.stack.split("\n"), controlLines = control.stack.split("\n"), s = sampleLines.length - 1, c = controlLines.length - 1; s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c];)c--; for(; s >= 1 && c >= 0; s--, c--)if (sampleLines[s] !== controlLines[c]) { if (1 !== s || 1 !== c) do if (s--, c--, c < 0 || sampleLines[s] !== controlLines[c]) { var _frame = "\n" + sampleLines[s].replace(" at new ", " at "); return "function" == typeof fn && componentFrameCache.set(fn, _frame), _frame; } while (s >= 1 && c >= 0) break; } } } finally{ reentry = !1, ReactCurrentDispatcher.current = ReactCurrentDispatcher.current, reenableLogs(), Error.prepareStackTrace = previousPrepareStackTrace; } var name = fn ? fn.displayName || fn.name : "", syntheticFrame = name ? describeBuiltInComponentFrame(name) : ""; return "function" == typeof fn && componentFrameCache.set(fn, syntheticFrame), syntheticFrame; } function describeClassComponentFrame(ctor, source, ownerFn) { return describeNativeComponentFrame(ctor, !0); } function describeFunctionComponentFrame(fn, source, ownerFn) { return describeNativeComponentFrame(fn, !1); } function shouldConstruct(Component) { var prototype = Component.prototype; return !!(prototype && prototype.isReactComponent); } function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { if (null == type) return ""; if ("function" == typeof type) return describeNativeComponentFrame(type, shouldConstruct(type)); if ("string" == typeof type) return describeBuiltInComponentFrame(type); switch(type){ case REACT_SUSPENSE_TYPE: return describeBuiltInComponentFrame("Suspense"); case REACT_SUSPENSE_LIST_TYPE: return describeBuiltInComponentFrame("SuspenseList"); } if ("object" == typeof type) switch(type.$$typeof){ case REACT_FORWARD_REF_TYPE: return describeFunctionComponentFrame(type.render); case REACT_MEMO_TYPE: return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); case REACT_BLOCK_TYPE: return describeFunctionComponentFrame(type._render); case REACT_LAZY_TYPE: var lazyComponent = type, payload = lazyComponent._payload, init = lazyComponent._init; try { return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); } catch (x) { } } return ""; } function describeFiber(fiber) { switch(fiber._debugOwner && fiber._debugOwner.type, fiber.tag){ case 5: return describeBuiltInComponentFrame(fiber.type); case 16: return describeBuiltInComponentFrame("Lazy"); case 13: return describeBuiltInComponentFrame("Suspense"); case 19: return describeBuiltInComponentFrame("SuspenseList"); case 0: case 2: case 15: return describeFunctionComponentFrame(fiber.type); case 11: return describeFunctionComponentFrame(fiber.type.render); case 22: return describeFunctionComponentFrame(fiber.type._render); case 1: return describeClassComponentFrame(fiber.type); default: return ""; } } function getStackByFiberInDevAndProd(workInProgress) { try { var info = "", node = workInProgress; do info += describeFiber(node), node = node.return; while (node) return info; } catch (x) { return "\nError generating stack: " + x.message + "\n" + x.stack; } } function getWrappedName(outerType, innerType, wrapperName) { var functionName = innerType.displayName || innerType.name || ""; return outerType.displayName || ("" !== functionName ? wrapperName + "(" + functionName + ")" : wrapperName); } function getContextName(type) { return type.displayName || "Context"; } function getComponentName(type) { if (null == type) return null; if ("number" == typeof type.tag && error("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."), "function" == typeof type) return type.displayName || type.name || null; if ("string" == typeof type) return type; switch(type){ case REACT_FRAGMENT_TYPE: return "Fragment"; case REACT_PORTAL_TYPE: return "Portal"; case REACT_PROFILER_TYPE: return "Profiler"; case REACT_STRICT_MODE_TYPE: return "StrictMode"; case REACT_SUSPENSE_TYPE: return "Suspense"; case REACT_SUSPENSE_LIST_TYPE: return "SuspenseList"; } if ("object" == typeof type) switch(type.$$typeof){ case REACT_CONTEXT_TYPE: return getContextName(type) + ".Consumer"; case REACT_PROVIDER_TYPE: return getContextName(type._context) + ".Provider"; case REACT_FORWARD_REF_TYPE: return getWrappedName(type, type.render, "ForwardRef"); case REACT_MEMO_TYPE: return getComponentName(type.type); case REACT_BLOCK_TYPE: return getComponentName(type._render); case REACT_LAZY_TYPE: var lazyComponent = type, payload = lazyComponent._payload, init = lazyComponent._init; try { return getComponentName(init(payload)); } catch (x) { return null; } } return null; } componentFrameCache = new ("function" == typeof WeakMap ? WeakMap : Map)(); var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame, current = null, isRendering = !1; function getCurrentFiberOwnerNameInDevOrNull() { if (null === current) return null; var owner = current._debugOwner; return null != owner ? getComponentName(owner.type) : null; } function getCurrentFiberStackInDev() { return null === current ? "" : getStackByFiberInDevAndProd(current); } function resetCurrentFiber() { ReactDebugCurrentFrame.getCurrentStack = null, current = null, isRendering = !1; } function setCurrentFiber(fiber) { ReactDebugCurrentFrame.getCurrentStack = getCurrentFiberStackInDev, current = fiber, isRendering = !1; } function setIsRendering(rendering) { isRendering = rendering; } function getIsRendering() { return isRendering; } function toString(value) { return "" + value; } function getToStringValue(value) { switch(typeof value){ case "boolean": case "number": case "object": case "string": case "undefined": return value; default: return ""; } } var hasReadOnlyValue = { button: !0, checkbox: !0, image: !0, hidden: !0, radio: !0, reset: !0, submit: !0 }; function checkControlledValueProps(tagName, props) { hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || null == props.value || error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."), props.onChange || props.readOnly || props.disabled || null == props.checked || error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`."); } function isCheckable(elem) { var type = elem.type, nodeName = elem.nodeName; return nodeName && "input" === nodeName.toLowerCase() && ("checkbox" === type || "radio" === type); } function getTracker(node) { return node._valueTracker; } function detachTracker(node) { node._valueTracker = null; } function getValueFromNode(node) { var value = ""; return node ? value = isCheckable(node) ? node.checked ? "true" : "false" : node.value : value; } function trackValueOnNode(node) { var valueField = isCheckable(node) ? "checked" : "value", descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField), currentValue = "" + node[valueField]; if (!node.hasOwnProperty(valueField) && void 0 !== descriptor && "function" == typeof descriptor.get && "function" == typeof descriptor.set) { var get = descriptor.get, set = descriptor.set; return Object.defineProperty(node, valueField, { configurable: !0, get: function() { return get.call(this); }, set: function(value) { currentValue = "" + value, set.call(this, value); } }), Object.defineProperty(node, valueField, { enumerable: descriptor.enumerable }), { getValue: function() { return currentValue; }, setValue: function(value) { currentValue = "" + value; }, stopTracking: function() { detachTracker(node), delete node[valueField]; } }; } } function track(node) { getTracker(node) || (node._valueTracker = trackValueOnNode(node)); } function updateValueIfChanged(node) { if (!node) return !1; var tracker = getTracker(node); if (!tracker) return !0; var lastValue = tracker.getValue(), nextValue = getValueFromNode(node); return nextValue !== lastValue && (tracker.setValue(nextValue), !0); } function getActiveElement(doc) { if (void 0 === (doc = doc || ("undefined" != typeof document ? document : void 0))) return null; try { return doc.activeElement || doc.body; } catch (e) { return doc.body; } } var didWarnValueDefaultValue = !1, didWarnCheckedDefaultChecked = !1, didWarnControlledToUncontrolled = !1, didWarnUncontrolledToControlled = !1; function isControlled(props) { return "checkbox" === props.type || "radio" === props.type ? null != props.checked : null != props.value; } function getHostProps(element, props) { var checked = props.checked; return _assign({ }, props, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: null != checked ? checked : element._wrapperState.initialChecked }); } function initWrapperState(element, props) { checkControlledValueProps("input", props), void 0 === props.checked || void 0 === props.defaultChecked || didWarnCheckedDefaultChecked || (error("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", getCurrentFiberOwnerNameInDevOrNull() || "A component", props.type), didWarnCheckedDefaultChecked = !0), void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue || (error("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", getCurrentFiberOwnerNameInDevOrNull() || "A component", props.type), didWarnValueDefaultValue = !0); var node = element, defaultValue = null == props.defaultValue ? "" : props.defaultValue; node._wrapperState = { initialChecked: null != props.checked ? props.checked : props.defaultChecked, initialValue: getToStringValue(null != props.value ? props.value : defaultValue), controlled: isControlled(props) }; } function updateChecked(element, props) { var checked = props.checked; null != checked && setValueForProperty(element, "checked", checked, !1); } function updateWrapper(element, props) { var node = element, controlled = isControlled(props); node._wrapperState.controlled || !controlled || didWarnUncontrolledToControlled || (error("A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"), didWarnUncontrolledToControlled = !0), !node._wrapperState.controlled || controlled || didWarnControlledToUncontrolled || (error("A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"), didWarnControlledToUncontrolled = !0), updateChecked(element, props); var value = getToStringValue(props.value), type = props.type; if (null != value) "number" === type ? (0 === value && "" === node.value || node.value != value) && (node.value = toString(value)) : node.value !== toString(value) && (node.value = toString(value)); else if ("submit" === type || "reset" === type) return void node.removeAttribute("value"); props.hasOwnProperty("value") ? setDefaultValue(node, props.type, value) : props.hasOwnProperty("defaultValue") && setDefaultValue(node, props.type, getToStringValue(props.defaultValue)), null == props.checked && null != props.defaultChecked && (node.defaultChecked = !!props.defaultChecked); } function postMountWrapper(element, props, isHydrating) { var node = element; if (props.hasOwnProperty("value") || props.hasOwnProperty("defaultValue")) { var type = props.type; if ("submit" !== type && "reset" !== type || void 0 !== props.value && null !== props.value) { var initialValue = toString(node._wrapperState.initialValue); isHydrating || initialValue !== node.value && (node.value = initialValue), node.defaultValue = initialValue; } } var name = node.name; "" !== name && (node.name = ""), node.defaultChecked = !node.defaultChecked, node.defaultChecked = !!node._wrapperState.initialChecked, "" !== name && (node.name = name); } function restoreControlledState(element, props) { var node = element; updateWrapper(node, props), updateNamedCousins(node, props); } function updateNamedCousins(rootNode, props) { var name = props.name; if ("radio" === props.type && null != name) { for(var queryRoot = rootNode; queryRoot.parentNode;)queryRoot = queryRoot.parentNode; for(var group = queryRoot.querySelectorAll("input[name=" + JSON.stringify("" + name) + "][type=\"radio\"]"), i = 0; i < group.length; i++){ var otherNode = group[i]; if (otherNode !== rootNode && otherNode.form === rootNode.form) { var otherProps = getFiberCurrentPropsFromNode(otherNode); if (!otherProps) throw Error("ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported."); updateValueIfChanged(otherNode), updateWrapper(otherNode, otherProps); } } } } function setDefaultValue(node, type, value) { ("number" !== type || getActiveElement(node.ownerDocument) !== node) && (null == value ? node.defaultValue = toString(node._wrapperState.initialValue) : node.defaultValue !== toString(value) && (node.defaultValue = toString(value))); } var didWarnSelectedSetOnOption = !1, didWarnInvalidChild = !1; function flattenChildren(children) { var content = ""; return React.Children.forEach(children, function(child) { null != child && (content += child); }), content; } function validateProps(element, props) { "object" == typeof props.children && null !== props.children && React.Children.forEach(props.children, function(child) { null != child && "string" != typeof child && "number" != typeof child && "string" == typeof child.type && (didWarnInvalidChild || (didWarnInvalidChild = !0, error("Only strings and numbers are supported as