jspsych-tangram 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +25 -0
  2. package/dist/construct/index.browser.js +20431 -0
  3. package/dist/construct/index.browser.js.map +1 -0
  4. package/dist/construct/index.browser.min.js +42 -0
  5. package/dist/construct/index.browser.min.js.map +1 -0
  6. package/dist/construct/index.cjs +3720 -0
  7. package/dist/construct/index.cjs.map +1 -0
  8. package/dist/construct/index.d.ts +204 -0
  9. package/dist/construct/index.js +3718 -0
  10. package/dist/construct/index.js.map +1 -0
  11. package/dist/index.cjs +3920 -0
  12. package/dist/index.cjs.map +1 -0
  13. package/dist/index.d.ts +340 -0
  14. package/dist/index.js +3917 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/prep/index.browser.js +20455 -0
  17. package/dist/prep/index.browser.js.map +1 -0
  18. package/dist/prep/index.browser.min.js +42 -0
  19. package/dist/prep/index.browser.min.js.map +1 -0
  20. package/dist/prep/index.cjs +3744 -0
  21. package/dist/prep/index.cjs.map +1 -0
  22. package/dist/prep/index.d.ts +139 -0
  23. package/dist/prep/index.js +3742 -0
  24. package/dist/prep/index.js.map +1 -0
  25. package/package.json +77 -0
  26. package/src/core/components/README.md +249 -0
  27. package/src/core/components/board/BoardView.tsx +352 -0
  28. package/src/core/components/board/GameBoard.tsx +682 -0
  29. package/src/core/components/board/index.ts +70 -0
  30. package/src/core/components/board/useAnchorGrid.ts +110 -0
  31. package/src/core/components/board/useClickController.ts +436 -0
  32. package/src/core/components/board/useDragController.ts +1051 -0
  33. package/src/core/components/board/usePieceState.ts +178 -0
  34. package/src/core/components/board/utils.ts +76 -0
  35. package/src/core/components/index.ts +33 -0
  36. package/src/core/components/pieces/BlueprintRing.tsx +238 -0
  37. package/src/core/config/config.ts +85 -0
  38. package/src/core/domain/blueprints.ts +25 -0
  39. package/src/core/domain/layout.ts +159 -0
  40. package/src/core/domain/primitives.ts +159 -0
  41. package/src/core/domain/solve.ts +184 -0
  42. package/src/core/domain/types.ts +111 -0
  43. package/src/core/engine/collision/grid-snapping.ts +283 -0
  44. package/src/core/engine/collision/index.ts +4 -0
  45. package/src/core/engine/collision/sat-collision.ts +46 -0
  46. package/src/core/engine/collision/validation.ts +166 -0
  47. package/src/core/engine/geometry/bounds.ts +91 -0
  48. package/src/core/engine/geometry/collision.ts +64 -0
  49. package/src/core/engine/geometry/index.ts +19 -0
  50. package/src/core/engine/geometry/math.ts +101 -0
  51. package/src/core/engine/geometry/pieces.ts +290 -0
  52. package/src/core/engine/geometry/polygons.ts +43 -0
  53. package/src/core/engine/state/BaseGameController.ts +368 -0
  54. package/src/core/engine/validation/border-rendering.ts +318 -0
  55. package/src/core/engine/validation/complete.ts +102 -0
  56. package/src/core/engine/validation/face-to-face.ts +217 -0
  57. package/src/core/index.ts +3 -0
  58. package/src/core/io/InteractionTracker.ts +742 -0
  59. package/src/core/io/data-tracking.ts +271 -0
  60. package/src/core/io/json-to-tangram-spec.ts +110 -0
  61. package/src/core/io/quickstash.ts +141 -0
  62. package/src/core/io/stims.ts +110 -0
  63. package/src/core/types/index.ts +5 -0
  64. package/src/core/types/plugin-interfaces.ts +101 -0
  65. package/src/index.spec.ts +19 -0
  66. package/src/index.ts +2 -0
  67. package/src/plugins/tangram-construct/ConstructionApp.tsx +105 -0
  68. package/src/plugins/tangram-construct/index.ts +156 -0
  69. package/src/plugins/tangram-prep/PrepApp.tsx +182 -0
  70. package/src/plugins/tangram-prep/index.ts +122 -0
  71. package/tangram-construct.min.js +42 -0
  72. package/tangram-prep.min.js +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser.js","sources":["../../node_modules/react/cjs/react.production.js","../../node_modules/react/index.js","../../node_modules/scheduler/cjs/scheduler.production.js","../../node_modules/scheduler/index.js","../../node_modules/react-dom/cjs/react-dom.production.js","../../node_modules/react-dom/index.js","../../node_modules/react-dom/cjs/react-dom-client.production.js","../../node_modules/react-dom/client.js","../../src/core/config/config.ts","../../src/core/domain/blueprints.ts","../../src/core/engine/state/BaseGameController.ts","../../src/core/engine/geometry/math.ts","../../src/core/engine/geometry/collision.ts","../../src/core/engine/geometry/bounds.ts","../../src/core/engine/geometry/pieces.ts","../../src/core/domain/solve.ts","../../src/core/domain/layout.ts","../../src/core/engine/validation/border-rendering.ts","../../src/core/components/board/BoardView.tsx","../../src/core/engine/validation/complete.ts","../../src/core/components/board/utils.ts","../../src/core/components/board/usePieceState.ts","../../src/core/engine/collision/grid-snapping.ts","../../src/core/components/board/useAnchorGrid.ts","../../src/core/engine/validation/face-to-face.ts","../../src/core/components/board/useDragController.ts","../../src/core/components/board/useClickController.ts","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/v4.js","../../src/core/io/InteractionTracker.ts","../../src/core/components/board/GameBoard.tsx","../../src/core/domain/primitives.ts","../../src/core/io/quickstash.ts","../../src/plugins/tangram-construct/ConstructionApp.tsx","../../src/plugins/tangram-construct/index.ts"],"sourcesContent":["/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals = { H: null, A: null, T: null, S: null, V: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== self ? self : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n void 0,\n oldElement.props\n );\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction noop$1() {}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction noop() {}\nexports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n};\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = void 0;\n if (null != config)\n for (propName in (void 0 !== config.ref && (owner = void 0),\n void 0 !== config.key && (key = \"\" + config.key),\n config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, void 0, void 0, owner, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, void 0, void 0, null, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, createDeps, update) {\n var dispatcher = ReactSharedInternals.H;\n if (\"function\" === typeof update)\n throw Error(\n \"useEffect CRUD overload is not enabled in this build of React.\"\n );\n return dispatcher.useEffect(create, createDeps);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.1.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nexports.unstable_now = void 0;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n needsPaint = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\nfunction shouldYieldToHost() {\n return needsPaint\n ? !0\n : exports.unstable_now() - startTime < frameInterval\n ? !1\n : !0;\n}\nfunction performWorkUntilDeadline() {\n needsPaint = !1;\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_cancelCallback = function (task) {\n task.callback = null;\n};\nexports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n};\nexports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n};\nexports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_requestPaint = function () {\n needsPaint = !0;\n};\nexports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline())));\n return priorityLevel;\n};\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.1.1\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-dom-client.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\nvar Scheduler = require(\"scheduler\"),\n React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction isValidContainer(node) {\n return !(\n !node ||\n (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType)\n );\n}\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState &&\n ((fiber = fiber.alternate),\n null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) {\n for (child$0 = parentB.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nvar assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_PROVIDER_TYPE = Symbol.for(\"react.provider\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nvar REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\");\nSymbol.for(\"react.view_transition\");\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n switch (nextRootInstance.nodeType) {\n case 9:\n case 11:\n fiber = (fiber = nextRootInstance.documentElement)\n ? (fiber = fiber.namespaceURI)\n ? getOwnHostContext(fiber)\n : 0\n : 0;\n break;\n default:\n if (\n ((fiber = nextRootInstance.tagName),\n (nextRootInstance = nextRootInstance.namespaceURI))\n )\n (nextRootInstance = getOwnHostContext(nextRootInstance)),\n (fiber = getChildHostContextProd(nextRootInstance, fiber));\n else\n switch (fiber) {\n case \"svg\":\n fiber = 1;\n break;\n case \"math\":\n fiber = 2;\n break;\n default:\n fiber = 0;\n }\n }\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current;\n var JSCompiler_inline_result = getChildHostContextProd(context, fiber.type);\n context !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue = sharedNotPendingObject));\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n LowPriority = Scheduler.unstable_LowPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionLane = 256,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n return 128;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 4194048;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes, rootHasPendingCommit) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n root = root.warmLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = nonIdlePendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = pendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (rootHasPendingCommit = wipLanes & -wipLanes),\n suspendedLanes >= rootHasPendingCommit ||\n (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n case 64:\n return currentTime + 250;\n case 16:\n case 32:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextTransitionLane() {\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n 0 === (nextTransitionLane & 4194048) && (nextTransitionLane = 256);\n return lane;\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$5 = 31 - clz32(remainingLanes),\n lane = 1 << index$5;\n entanglements[index$5] = 0;\n expirationTimes[index$5] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$5];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$5] = null, index$5 = 0;\n index$5 < hiddenUpdatesForLane.length;\n index$5++\n ) {\n var update = hiddenUpdatesForLane[index$5];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 4194090);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$6 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$6;\n (lane & entangledLanes) | (root[index$6] & entangledLanes) &&\n (root[index$6] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydrationByLane(lane) {\n switch (lane) {\n case 2:\n lane = 1;\n break;\n case 8:\n lane = 4;\n break;\n case 32:\n lane = 16;\n break;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n lane = 128;\n break;\n case 268435456:\n lane = 134217728;\n break;\n default:\n lane = 0;\n }\n return lane;\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority ? 32 : getEventPriority(updatePriority.type);\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return (ReactDOMSharedInternals.p = priority), fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n}\nvar randomKey = Math.random().toString(36).slice(2),\n internalInstanceKey = \"__reactFiber$\" + randomKey,\n internalPropsKey = \"__reactProps$\" + randomKey,\n internalContainerInstanceKey = \"__reactContainer$\" + randomKey,\n internalEventHandlersKey = \"__reactEvents$\" + randomKey,\n internalEventHandlerListenersKey = \"__reactListeners$\" + randomKey,\n internalEventHandlesSetKey = \"__reactHandles$\" + randomKey,\n internalRootNodeResourcesKey = \"__reactResources$\" + randomKey,\n internalHoistableMarker = \"__reactMarker$\" + randomKey;\nfunction detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n if (targetInst) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode; ) {\n if (\n (targetInst =\n parentNode[internalContainerInstanceKey] ||\n parentNode[internalInstanceKey])\n ) {\n parentNode = targetInst.alternate;\n if (\n null !== targetInst.child ||\n (null !== parentNode && null !== parentNode.child)\n )\n for (\n targetNode = getParentSuspenseInstance(targetNode);\n null !== targetNode;\n\n ) {\n if ((parentNode = targetNode[internalInstanceKey])) return parentNode;\n targetNode = getParentSuspenseInstance(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n}\nfunction getInstanceFromNode(node) {\n if (\n (node = node[internalInstanceKey] || node[internalContainerInstanceKey])\n ) {\n var tag = node.tag;\n if (\n 5 === tag ||\n 6 === tag ||\n 13 === tag ||\n 26 === tag ||\n 27 === tag ||\n 3 === tag\n )\n return node;\n }\n return null;\n}\nfunction getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode;\n throw Error(formatProdErrorMessage(33));\n}\nfunction getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources ||\n (resources = root[internalRootNodeResourcesKey] =\n { hoistableStyles: new Map(), hoistableScripts: new Map() });\n return resources;\n}\nfunction markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n}\nvar allNativeEvents = new Set(),\n registrationNameDependencies = {};\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] = dependencies;\n for (\n registrationName = 0;\n registrationName < dependencies.length;\n registrationName++\n )\n allNativeEvents.add(dependencies[registrationName]);\n}\nvar VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[: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][: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]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nfunction setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name))\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix$8 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$8 && \"aria-\" !== prefix$8) {\n node.removeAttribute(name);\n return;\n }\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttributeNS(namespace, name, \"\" + value);\n }\n}\nvar prefix, suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$9) {\n control = x$9;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$10) {\n control = x$10;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"<anonymous>\") &&\n (frame = frame.replace(\"<anonymous>\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return describeNativeComponentFrame(fiber.type, !1);\n case 11:\n return describeNativeComponentFrame(fiber.type.render, !1);\n case 1:\n return describeNativeComponentFrame(fiber.type, !0);\n case 31:\n return describeBuiltInComponentFrame(\"Activity\");\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\";\n do\n (info += describeFiber(workInProgress)),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return value;\n default:\n return \"\";\n }\n}\nfunction isCheckable(elem) {\n var type = elem.type;\n return (\n (elem = elem.nodeName) &&\n \"input\" === elem.toLowerCase() &&\n (\"checkbox\" === type || \"radio\" === type)\n );\n}\nfunction trackValueOnNode(node) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\",\n descriptor = Object.getOwnPropertyDescriptor(\n node.constructor.prototype,\n valueField\n ),\n currentValue = \"\" + node[valueField];\n if (\n !node.hasOwnProperty(valueField) &&\n \"undefined\" !== typeof descriptor &&\n \"function\" === typeof descriptor.get &&\n \"function\" === typeof descriptor.set\n ) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n}\nfunction track(node) {\n node._valueTracker || (node._valueTracker = trackValueOnNode(node));\n}\nfunction updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node &&\n (value = isCheckable(node)\n ? node.checked\n ? \"true\"\n : \"false\"\n : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n}\nfunction getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\nvar escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\"\\\\]/g;\nfunction escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(\n escapeSelectorAttributeValueInsideDoubleQuotesRegex,\n function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n }\n );\n}\nfunction updateInput(\n element,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n) {\n element.name = \"\";\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type\n ? (element.type = type)\n : element.removeAttribute(\"type\");\n if (null != value)\n if (\"number\" === type) {\n if ((0 === value && \"\" === element.value) || element.value != value)\n element.value = \"\" + getToStringValue(value);\n } else\n element.value !== \"\" + getToStringValue(value) &&\n (element.value = \"\" + getToStringValue(value));\n else\n (\"submit\" !== type && \"reset\" !== type) || element.removeAttribute(\"value\");\n null != value\n ? setDefaultValue(element, type, getToStringValue(value))\n : null != defaultValue\n ? setDefaultValue(element, type, getToStringValue(defaultValue))\n : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked &&\n null != defaultChecked &&\n (element.defaultChecked = !!defaultChecked);\n null != checked &&\n (element.checked =\n checked && \"function\" !== typeof checked && \"symbol\" !== typeof checked);\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name\n ? (element.name = \"\" + getToStringValue(name))\n : element.removeAttribute(\"name\");\n}\nfunction initInput(\n element,\n value,\n defaultValue,\n checked,\n defaultChecked,\n type,\n name,\n isHydrating\n) {\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type &&\n (element.type = type);\n if (null != value || null != defaultValue) {\n if (\n !(\n (\"submit\" !== type && \"reset\" !== type) ||\n (void 0 !== value && null !== value)\n )\n )\n return;\n defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked =\n \"function\" !== typeof checked && \"symbol\" !== typeof checked && !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name &&\n (element.name = name);\n}\nfunction setDefaultValue(node, type, value) {\n (\"number\" === type && getActiveElement(node.ownerDocument) === node) ||\n node.defaultValue === \"\" + value ||\n (node.defaultValue = \"\" + value);\n}\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n node = node.options;\n if (multiple) {\n multiple = {};\n for (var i = 0; i < propValue.length; i++)\n multiple[\"$\" + propValue[i]] = !0;\n for (propValue = 0; propValue < node.length; propValue++)\n (i = multiple.hasOwnProperty(\"$\" + node[propValue].value)),\n node[propValue].selected !== i && (node[propValue].selected = i),\n i && setDefaultSelected && (node[propValue].defaultSelected = !0);\n } else {\n propValue = \"\" + getToStringValue(propValue);\n multiple = null;\n for (i = 0; i < node.length; i++) {\n if (node[i].value === propValue) {\n node[i].selected = !0;\n setDefaultSelected && (node[i].defaultSelected = !0);\n return;\n }\n null !== multiple || node[i].disabled || (multiple = node[i]);\n }\n null !== multiple && (multiple.selected = !0);\n }\n}\nfunction updateTextarea(element, value, defaultValue) {\n if (\n null != value &&\n ((value = \"\" + getToStringValue(value)),\n value !== element.value && (element.value = value),\n null == defaultValue)\n ) {\n element.defaultValue !== value && (element.defaultValue = value);\n return;\n }\n element.defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n}\nfunction initTextarea(element, value, defaultValue, children) {\n if (null == value) {\n if (null != children) {\n if (null != defaultValue) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children)) {\n if (1 < children.length) throw Error(formatProdErrorMessage(93));\n children = children[0];\n }\n defaultValue = children;\n }\n null == defaultValue && (defaultValue = \"\");\n value = defaultValue;\n }\n defaultValue = getToStringValue(value);\n element.defaultValue = defaultValue;\n children = element.textContent;\n children === defaultValue &&\n \"\" !== children &&\n null !== children &&\n (element.value = children);\n}\nfunction setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n if (\n firstChild &&\n firstChild === node.lastChild &&\n 3 === firstChild.nodeType\n ) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n);\nfunction setValueForStyle(style, styleName, value) {\n var isCustomProperty = 0 === styleName.indexOf(\"--\");\n null == value || \"boolean\" === typeof value || \"\" === value\n ? isCustomProperty\n ? style.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (style.cssFloat = \"\")\n : (style[styleName] = \"\")\n : isCustomProperty\n ? style.setProperty(styleName, value)\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? \"float\" === styleName\n ? (style.cssFloat = value)\n : (style[styleName] = (\"\" + value).trim())\n : (style[styleName] = value + \"px\");\n}\nfunction setValueForStyles(node, styles, prevStyles) {\n if (null != styles && \"object\" !== typeof styles)\n throw Error(formatProdErrorMessage(62));\n node = node.style;\n if (null != prevStyles) {\n for (var styleName in prevStyles)\n !prevStyles.hasOwnProperty(styleName) ||\n (null != styles && styles.hasOwnProperty(styleName)) ||\n (0 === styleName.indexOf(\"--\")\n ? node.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (node.cssFloat = \"\")\n : (node[styleName] = \"\"));\n for (var styleName$16 in styles)\n (styleName = styles[styleName$16]),\n styles.hasOwnProperty(styleName$16) &&\n prevStyles[styleName$16] !== styleName &&\n setValueForStyle(node, styleName$16, styleName);\n } else\n for (var styleName$17 in styles)\n styles.hasOwnProperty(styleName$17) &&\n setValueForStyle(node, styleName$17, styles[styleName$17]);\n}\nfunction isCustomElement(tagName) {\n if (-1 === tagName.indexOf(\"-\")) return !1;\n switch (tagName) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n}\nvar aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n isJavaScriptProtocol =\n /^[\\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;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nvar currentReplayingEvent = null;\nfunction getEventTarget(nativeEvent) {\n nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;\n nativeEvent.correspondingUseElement &&\n (nativeEvent = nativeEvent.correspondingUseElement);\n return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;\n}\nvar restoreTarget = null,\n restoreQueue = null;\nfunction restoreStateOfTarget(target) {\n var internalInstance = getInstanceFromNode(target);\n if (internalInstance && (target = internalInstance.stateNode)) {\n var props = target[internalPropsKey] || null;\n a: switch (((target = internalInstance.stateNode), internalInstance.type)) {\n case \"input\":\n updateInput(\n target,\n props.value,\n props.defaultValue,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name\n );\n internalInstance = props.name;\n if (\"radio\" === props.type && null != internalInstance) {\n for (props = target; props.parentNode; ) props = props.parentNode;\n props = props.querySelectorAll(\n 'input[name=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n \"\" + internalInstance\n ) +\n '\"][type=\"radio\"]'\n );\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n ) {\n var otherNode = props[internalInstance];\n if (otherNode !== target && otherNode.form === target.form) {\n var otherProps = otherNode[internalPropsKey] || null;\n if (!otherProps) throw Error(formatProdErrorMessage(90));\n updateInput(\n otherNode,\n otherProps.value,\n otherProps.defaultValue,\n otherProps.defaultValue,\n otherProps.checked,\n otherProps.defaultChecked,\n otherProps.type,\n otherProps.name\n );\n }\n }\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n )\n (otherNode = props[internalInstance]),\n otherNode.form === target.form && updateValueIfChanged(otherNode);\n }\n break a;\n case \"textarea\":\n updateTextarea(target, props.value, props.defaultValue);\n break a;\n case \"select\":\n (internalInstance = props.value),\n null != internalInstance &&\n updateOptions(target, !!props.multiple, internalInstance, !1);\n }\n }\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, a, b) {\n if (isInsideEventHandler) return fn(a, b);\n isInsideEventHandler = !0;\n try {\n var JSCompiler_inline_result = fn(a);\n return JSCompiler_inline_result;\n } finally {\n if (\n ((isInsideEventHandler = !1),\n null !== restoreTarget || null !== restoreQueue)\n )\n if (\n (flushSyncWork$1(),\n restoreTarget &&\n ((a = restoreTarget),\n (fn = restoreQueue),\n (restoreQueue = restoreTarget = null),\n restoreStateOfTarget(a),\n fn))\n )\n for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);\n }\n}\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n var props = stateNode[internalPropsKey] || null;\n if (null === props) return null;\n stateNode = props[registrationName];\n a: switch (registrationName) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (props = !props.disabled) ||\n ((inst = inst.type),\n (props = !(\n \"button\" === inst ||\n \"input\" === inst ||\n \"select\" === inst ||\n \"textarea\" === inst\n )));\n inst = !props;\n break a;\n default:\n inst = !1;\n }\n if (inst) return null;\n if (stateNode && \"function\" !== typeof stateNode)\n throw Error(\n formatProdErrorMessage(231, registrationName, typeof stateNode)\n );\n return stateNode;\n}\nvar canUseDOM = !(\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ),\n passiveBrowserEventsSupported = !1;\nif (canUseDOM)\n try {\n var options = {};\n Object.defineProperty(options, \"passive\", {\n get: function () {\n passiveBrowserEventsSupported = !0;\n }\n });\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (e) {\n passiveBrowserEventsSupported = !1;\n }\nvar root = null,\n startText = null,\n fallbackText = null;\nfunction getData() {\n if (fallbackText) return fallbackText;\n var start,\n startValue = startText,\n startLength = startValue.length,\n end,\n endValue = \"value\" in root ? root.value : root.textContent,\n endLength = endValue.length;\n for (\n start = 0;\n start < startLength && startValue[start] === endValue[start];\n start++\n );\n var minEnd = startLength - start;\n for (\n end = 1;\n end <= minEnd &&\n startValue[startLength - end] === endValue[endLength - end];\n end++\n );\n return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0));\n}\nfunction getEventCharCode(nativeEvent) {\n var keyCode = nativeEvent.keyCode;\n \"charCode\" in nativeEvent\n ? ((nativeEvent = nativeEvent.charCode),\n 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13))\n : (nativeEvent = keyCode);\n 10 === nativeEvent && (nativeEvent = 13);\n return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction createSyntheticEvent(Interface) {\n function SyntheticBaseEvent(\n reactName,\n reactEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n for (var propName in Interface)\n Interface.hasOwnProperty(propName) &&\n ((reactName = Interface[propName]),\n (this[propName] = reactName\n ? reactName(nativeEvent)\n : nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble &&\n (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {},\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n SyntheticEvent = createSyntheticEvent(EventInterface),\n UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }),\n SyntheticUIEvent = createSyntheticEvent(UIEventInterface),\n lastMovementX,\n lastMovementY,\n lastMouseEvent,\n MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n return void 0 === event.relatedTarget\n ? event.fromElement === event.srcElement\n ? event.toElement\n : event.fromElement\n : event.relatedTarget;\n },\n movementX: function (event) {\n if (\"movementX\" in event) return event.movementX;\n event !== lastMouseEvent &&\n (lastMouseEvent && \"mousemove\" === event.type\n ? ((lastMovementX = event.screenX - lastMouseEvent.screenX),\n (lastMovementY = event.screenY - lastMouseEvent.screenY))\n : (lastMovementY = lastMovementX = 0),\n (lastMouseEvent = event));\n return lastMovementX;\n },\n movementY: function (event) {\n return \"movementY\" in event ? event.movementY : lastMovementY;\n }\n }),\n SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface),\n DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }),\n SyntheticDragEvent = createSyntheticEvent(DragEventInterface),\n FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }),\n SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface),\n AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface),\n ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return \"clipboardData\" in event\n ? event.clipboardData\n : window.clipboardData;\n }\n }),\n SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface),\n CompositionEventInterface = assign({}, EventInterface, { data: 0 }),\n SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface),\n normalizeKey = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n translateToKey = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n modifierKeyToProp = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n };\nfunction modifierStateGetter(keyArg) {\n var nativeEvent = this.nativeEvent;\n return nativeEvent.getModifierState\n ? nativeEvent.getModifierState(keyArg)\n : (keyArg = modifierKeyToProp[keyArg])\n ? !!nativeEvent[keyArg]\n : !1;\n}\nfunction getEventModifierState() {\n return modifierStateGetter;\n}\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: function (nativeEvent) {\n if (nativeEvent.key) {\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (\"Unidentified\" !== key) return key;\n }\n return \"keypress\" === nativeEvent.type\n ? ((nativeEvent = getEventCharCode(nativeEvent)),\n 13 === nativeEvent ? \"Enter\" : String.fromCharCode(nativeEvent))\n : \"keydown\" === nativeEvent.type || \"keyup\" === nativeEvent.type\n ? translateToKey[nativeEvent.keyCode] || \"Unidentified\"\n : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n charCode: function (event) {\n return \"keypress\" === event.type ? getEventCharCode(event) : 0;\n },\n keyCode: function (event) {\n return \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n },\n which: function (event) {\n return \"keypress\" === event.type\n ? getEventCharCode(event)\n : \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n }\n }),\n SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface),\n PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface),\n TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n }),\n SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface),\n TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface),\n WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return \"deltaX\" in event\n ? event.deltaX\n : \"wheelDeltaX\" in event\n ? -event.wheelDeltaX\n : 0;\n },\n deltaY: function (event) {\n return \"deltaY\" in event\n ? event.deltaY\n : \"wheelDeltaY\" in event\n ? -event.wheelDeltaY\n : \"wheelDelta\" in event\n ? -event.wheelDelta\n : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),\n ToggleEventInterface = assign({}, EventInterface, {\n newState: 0,\n oldState: 0\n }),\n SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),\n END_KEYCODES = [9, 13, 27, 32],\n canUseCompositionEvent = canUseDOM && \"CompositionEvent\" in window,\n documentMode = null;\ncanUseDOM &&\n \"documentMode\" in document &&\n (documentMode = document.documentMode);\nvar canUseTextInputEvent = canUseDOM && \"TextEvent\" in window && !documentMode,\n useFallbackCompositionData =\n canUseDOM &&\n (!canUseCompositionEvent ||\n (documentMode && 8 < documentMode && 11 >= documentMode)),\n SPACEBAR_CHAR = String.fromCharCode(32),\n hasSpaceKeypress = !1;\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"keyup\":\n return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);\n case \"keydown\":\n return 229 !== nativeEvent.keyCode;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n}\nfunction getDataFromCustomEvent(nativeEvent) {\n nativeEvent = nativeEvent.detail;\n return \"object\" === typeof nativeEvent && \"data\" in nativeEvent\n ? nativeEvent.data\n : null;\n}\nvar isComposing = !1;\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"compositionend\":\n return getDataFromCustomEvent(nativeEvent);\n case \"keypress\":\n if (32 !== nativeEvent.which) return null;\n hasSpaceKeypress = !0;\n return SPACEBAR_CHAR;\n case \"textInput\":\n return (\n (domEventName = nativeEvent.data),\n domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName\n );\n default:\n return null;\n }\n}\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n if (isComposing)\n return \"compositionend\" === domEventName ||\n (!canUseCompositionEvent &&\n isFallbackCompositionEnd(domEventName, nativeEvent))\n ? ((domEventName = getData()),\n (fallbackText = startText = root = null),\n (isComposing = !1),\n domEventName)\n : null;\n switch (domEventName) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (\n !(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) ||\n (nativeEvent.ctrlKey && nativeEvent.altKey)\n ) {\n if (nativeEvent.char && 1 < nativeEvent.char.length)\n return nativeEvent.char;\n if (nativeEvent.which) return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case \"compositionend\":\n return useFallbackCompositionData && \"ko\" !== nativeEvent.locale\n ? null\n : nativeEvent.data;\n default:\n return null;\n }\n}\nvar supportedInputTypes = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return \"input\" === nodeName\n ? !!supportedInputTypes[elem.type]\n : \"textarea\" === nodeName\n ? !0\n : !1;\n}\nfunction createAndAccumulateChangeEvent(\n dispatchQueue,\n inst,\n nativeEvent,\n target\n) {\n restoreTarget\n ? restoreQueue\n ? restoreQueue.push(target)\n : (restoreQueue = [target])\n : (restoreTarget = target);\n inst = accumulateTwoPhaseListeners(inst, \"onChange\");\n 0 < inst.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onChange\",\n \"change\",\n null,\n nativeEvent,\n target\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: inst }));\n}\nvar activeElement$1 = null,\n activeElementInst$1 = null;\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n if (updateValueIfChanged(targetNode)) return targetInst;\n}\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (\"change\" === domEventName) return targetInst;\n}\nvar isInputEventSupported = !1;\nif (canUseDOM) {\n var JSCompiler_inline_result$jscomp$282;\n if (canUseDOM) {\n var isSupported$jscomp$inline_417 = \"oninput\" in document;\n if (!isSupported$jscomp$inline_417) {\n var element$jscomp$inline_418 = document.createElement(\"div\");\n element$jscomp$inline_418.setAttribute(\"oninput\", \"return;\");\n isSupported$jscomp$inline_417 =\n \"function\" === typeof element$jscomp$inline_418.oninput;\n }\n JSCompiler_inline_result$jscomp$282 = isSupported$jscomp$inline_417;\n } else JSCompiler_inline_result$jscomp$282 = !1;\n isInputEventSupported =\n JSCompiler_inline_result$jscomp$282 &&\n (!document.documentMode || 9 < document.documentMode);\n}\nfunction stopWatchingForValueChange() {\n activeElement$1 &&\n (activeElement$1.detachEvent(\"onpropertychange\", handlePropertyChange),\n (activeElementInst$1 = activeElement$1 = null));\n}\nfunction handlePropertyChange(nativeEvent) {\n if (\n \"value\" === nativeEvent.propertyName &&\n getInstIfValueChanged(activeElementInst$1)\n ) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(\n dispatchQueue,\n activeElementInst$1,\n nativeEvent,\n getEventTarget(nativeEvent)\n );\n batchedUpdates$1(runEventInBatch, dispatchQueue);\n }\n}\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n \"focusin\" === domEventName\n ? (stopWatchingForValueChange(),\n (activeElement$1 = target),\n (activeElementInst$1 = targetInst),\n activeElement$1.attachEvent(\"onpropertychange\", handlePropertyChange))\n : \"focusout\" === domEventName && stopWatchingForValueChange();\n}\nfunction getTargetInstForInputEventPolyfill(domEventName) {\n if (\n \"selectionchange\" === domEventName ||\n \"keyup\" === domEventName ||\n \"keydown\" === domEventName\n )\n return getInstIfValueChanged(activeElementInst$1);\n}\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (\"click\" === domEventName) return getInstIfValueChanged(targetInst);\n}\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (\"input\" === domEventName || \"change\" === domEventName)\n return getInstIfValueChanged(targetInst);\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nfunction getLeafNode(node) {\n for (; node && node.firstChild; ) node = node.firstChild;\n return node;\n}\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n root = 0;\n for (var nodeEnd; node; ) {\n if (3 === node.nodeType) {\n nodeEnd = root + node.textContent.length;\n if (root <= offset && nodeEnd >= offset)\n return { node: node, offset: offset - root };\n root = nodeEnd;\n }\n a: {\n for (; node; ) {\n if (node.nextSibling) {\n node = node.nextSibling;\n break a;\n }\n node = node.parentNode;\n }\n node = void 0;\n }\n node = getLeafNode(node);\n }\n}\nfunction containsNode(outerNode, innerNode) {\n return outerNode && innerNode\n ? outerNode === innerNode\n ? !0\n : outerNode && 3 === outerNode.nodeType\n ? !1\n : innerNode && 3 === innerNode.nodeType\n ? containsNode(outerNode, innerNode.parentNode)\n : \"contains\" in outerNode\n ? outerNode.contains(innerNode)\n : outerNode.compareDocumentPosition\n ? !!(outerNode.compareDocumentPosition(innerNode) & 16)\n : !1\n : !1;\n}\nfunction getActiveElementDeep(containerInfo) {\n containerInfo =\n null != containerInfo &&\n null != containerInfo.ownerDocument &&\n null != containerInfo.ownerDocument.defaultView\n ? containerInfo.ownerDocument.defaultView\n : window;\n for (\n var element = getActiveElement(containerInfo.document);\n element instanceof containerInfo.HTMLIFrameElement;\n\n ) {\n try {\n var JSCompiler_inline_result =\n \"string\" === typeof element.contentWindow.location.href;\n } catch (err) {\n JSCompiler_inline_result = !1;\n }\n if (JSCompiler_inline_result) containerInfo = element.contentWindow;\n else break;\n element = getActiveElement(containerInfo.document);\n }\n return element;\n}\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return (\n nodeName &&\n ((\"input\" === nodeName &&\n (\"text\" === elem.type ||\n \"search\" === elem.type ||\n \"tel\" === elem.type ||\n \"url\" === elem.type ||\n \"password\" === elem.type)) ||\n \"textarea\" === nodeName ||\n \"true\" === elem.contentEditable)\n );\n}\nvar skipSelectionChangeEvent =\n canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n activeElement = null,\n activeElementInst = null,\n lastSelection = null,\n mouseDown = !1;\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n var doc =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget.document\n : 9 === nativeEventTarget.nodeType\n ? nativeEventTarget\n : nativeEventTarget.ownerDocument;\n mouseDown ||\n null == activeElement ||\n activeElement !== getActiveElement(doc) ||\n ((doc = activeElement),\n \"selectionStart\" in doc && hasSelectionCapabilities(doc)\n ? (doc = { start: doc.selectionStart, end: doc.selectionEnd })\n : ((doc = (\n (doc.ownerDocument && doc.ownerDocument.defaultView) ||\n window\n ).getSelection()),\n (doc = {\n anchorNode: doc.anchorNode,\n anchorOffset: doc.anchorOffset,\n focusNode: doc.focusNode,\n focusOffset: doc.focusOffset\n })),\n (lastSelection && shallowEqual(lastSelection, doc)) ||\n ((lastSelection = doc),\n (doc = accumulateTwoPhaseListeners(activeElementInst, \"onSelect\")),\n 0 < doc.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onSelect\",\n \"select\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: doc }),\n (nativeEvent.target = activeElement))));\n}\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\" + styleProp] = \"webkit\" + eventName;\n prefixes[\"Moz\" + styleProp] = \"moz\" + eventName;\n return prefixes;\n}\nvar vendorPrefixes = {\n animationend: makePrefixMap(\"Animation\", \"AnimationEnd\"),\n animationiteration: makePrefixMap(\"Animation\", \"AnimationIteration\"),\n animationstart: makePrefixMap(\"Animation\", \"AnimationStart\"),\n transitionrun: makePrefixMap(\"Transition\", \"TransitionRun\"),\n transitionstart: makePrefixMap(\"Transition\", \"TransitionStart\"),\n transitioncancel: makePrefixMap(\"Transition\", \"TransitionCancel\"),\n transitionend: makePrefixMap(\"Transition\", \"TransitionEnd\")\n },\n prefixedEventNames = {},\n style = {};\ncanUseDOM &&\n ((style = document.createElement(\"div\").style),\n \"AnimationEvent\" in window ||\n (delete vendorPrefixes.animationend.animation,\n delete vendorPrefixes.animationiteration.animation,\n delete vendorPrefixes.animationstart.animation),\n \"TransitionEvent\" in window ||\n delete vendorPrefixes.transitionend.transition);\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];\n if (!vendorPrefixes[eventName]) return eventName;\n var prefixMap = vendorPrefixes[eventName],\n styleProp;\n for (styleProp in prefixMap)\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)\n return (prefixedEventNames[eventName] = prefixMap[styleProp]);\n return eventName;\n}\nvar ANIMATION_END = getVendorPrefixedEventName(\"animationend\"),\n ANIMATION_ITERATION = getVendorPrefixedEventName(\"animationiteration\"),\n ANIMATION_START = getVendorPrefixedEventName(\"animationstart\"),\n TRANSITION_RUN = getVendorPrefixedEventName(\"transitionrun\"),\n TRANSITION_START = getVendorPrefixedEventName(\"transitionstart\"),\n TRANSITION_CANCEL = getVendorPrefixedEventName(\"transitioncancel\"),\n TRANSITION_END = getVendorPrefixedEventName(\"transitionend\"),\n topLevelEventsToReactNames = new Map(),\n simpleEventPluginEvents =\n \"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\n \" \"\n );\nsimpleEventPluginEvents.push(\"scrollEnd\");\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\nvar CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n return 3 === sourceFiber.tag\n ? ((parent = sourceFiber.stateNode),\n isHidden &&\n null !== update &&\n ((isHidden = 31 - clz32(lane)),\n (sourceFiber = parent.hiddenUpdates),\n (alternate = sourceFiber[isHidden]),\n null === alternate\n ? (sourceFiber[isHidden] = [update])\n : alternate.push(update),\n (update.lane = lane | 536870912)),\n parent)\n : null;\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar emptyContextObject = {};\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 65011712;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 65011714;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type)\n fiberTag = isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : \"html\" === type || \"head\" === type || \"body\" === type\n ? 27\n : 5;\n else\n a: switch (type) {\n case REACT_ACTIVITY_TYPE:\n return (\n (type = createFiberImplClass(31, pendingProps, key, mode)),\n (type.elementType = REACT_ACTIVITY_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(130, null === type ? \"null\" : typeof type, \"\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nvar forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\";\nfunction pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n}\nfunction pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n}\nfunction popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n}\nvar hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519));\nfunction throwOnHydrationMismatch(fiber) {\n var error = Error(formatProdErrorMessage(418, \"\"));\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n}\nfunction prepareToHydrateHostInstance(fiber) {\n var instance = fiber.stateNode,\n type = fiber.type,\n props = fiber.memoizedProps;\n instance[internalInstanceKey] = fiber;\n instance[internalPropsKey] = props;\n switch (type) {\n case \"dialog\":\n listenToNonDelegatedEvent(\"cancel\", instance);\n listenToNonDelegatedEvent(\"close\", instance);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"video\":\n case \"audio\":\n for (type = 0; type < mediaEventTypes.length; type++)\n listenToNonDelegatedEvent(mediaEventTypes[type], instance);\n break;\n case \"source\":\n listenToNonDelegatedEvent(\"error\", instance);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", instance);\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", instance);\n break;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n initInput(\n instance,\n props.value,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name,\n !0\n );\n track(instance);\n break;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n break;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", instance),\n initTextarea(instance, props.value, props.defaultValue, props.children),\n track(instance);\n }\n type = props.children;\n (\"string\" !== typeof type &&\n \"number\" !== typeof type &&\n \"bigint\" !== typeof type) ||\n instance.textContent === \"\" + type ||\n !0 === props.suppressHydrationWarning ||\n checkForUnmatchedText(instance.textContent, type)\n ? (null != props.popover &&\n (listenToNonDelegatedEvent(\"beforetoggle\", instance),\n listenToNonDelegatedEvent(\"toggle\", instance)),\n null != props.onScroll && listenToNonDelegatedEvent(\"scroll\", instance),\n null != props.onScrollEnd &&\n listenToNonDelegatedEvent(\"scrollend\", instance),\n null != props.onClick && (instance.onclick = noop$1),\n (instance = !0))\n : (instance = !1);\n instance || throwOnHydrationMismatch(fiber);\n}\nfunction popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 5:\n case 13:\n rootOrSingletonContext = !1;\n return;\n case 27:\n case 3:\n rootOrSingletonContext = !0;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n}\nfunction popHydrationState(fiber) {\n if (fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var tag = fiber.tag,\n JSCompiler_temp;\n if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {\n if ((JSCompiler_temp = 5 === tag))\n (JSCompiler_temp = fiber.type),\n (JSCompiler_temp =\n !(\"form\" !== JSCompiler_temp && \"button\" !== JSCompiler_temp) ||\n shouldSetTextContent(fiber.type, fiber.memoizedProps));\n JSCompiler_temp = !JSCompiler_temp;\n }\n JSCompiler_temp && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n a: {\n fiber = fiber.nextSibling;\n for (tag = 0; fiber; ) {\n if (8 === fiber.nodeType)\n if (((JSCompiler_temp = fiber.data), \"/$\" === JSCompiler_temp)) {\n if (0 === tag) {\n nextHydratableInstance = getNextHydratable(fiber.nextSibling);\n break a;\n }\n tag--;\n } else\n (\"$\" !== JSCompiler_temp &&\n \"$!\" !== JSCompiler_temp &&\n \"$?\" !== JSCompiler_temp) ||\n tag++;\n fiber = fiber.nextSibling;\n }\n nextHydratableInstance = null;\n }\n } else\n 27 === tag\n ? ((tag = nextHydratableInstance),\n isSingletonScope(fiber.type)\n ? ((fiber = previousHydratableOnEnteringScopedSingleton),\n (previousHydratableOnEnteringScopedSingleton = null),\n (nextHydratableInstance = fiber))\n : (nextHydratableInstance = tag))\n : (nextHydratableInstance = hydrationParentFiber\n ? getNextHydratable(fiber.stateNode.nextSibling)\n : null);\n return !0;\n}\nfunction resetHydrationState() {\n nextHydratableInstance = hydrationParentFiber = null;\n isHydrating = !1;\n}\nfunction upgradeHydrationErrorsToRecoverable() {\n var queuedErrors = hydrationErrors;\n null !== queuedErrors &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = queuedErrors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n queuedErrors\n ),\n (hydrationErrors = null));\n return queuedErrors;\n}\nfunction queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber$1 = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue);\n context._currentValue = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber$1 = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber$1, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$2 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$2(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n}\nvar SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n SuspenseActionException = Error(formatProdErrorMessage(542)),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction noop$3() {}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop$3, noop$3), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$3, noop$3);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (\n rejectedReason === SuspenseException ||\n rejectedReason === SuspenseActionException\n )\n throw Error(formatProdErrorMessage(483));\n}\nvar hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar renderLanes = 0,\n currentlyRenderingFiber = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter$1 = 0,\n thenableState$1 = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter$1 = 0;\n thenableState$1 = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState$1 = null);\n thenableIndexCounter$1 = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber.flags |= 1024);\n return maybeThenable;\n}\nfunction checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter$1 = localIdCounter = 0;\n thenableState$1 = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nfunction createFunctionComponentUpdateQueue() {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n}\nfunction useThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n thenable = trackUsedThenable(thenableState$1, thenable, index);\n index = currentlyRenderingFiber;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$32 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$32 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$32 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$32 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n var create = subscribeToStore.bind(null, fiber, hook, subscribe);\n updateEffectImpl(2048, 8, create, [subscribe]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n createEffectInstance(),\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 124) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$38) {\n onActionError(actionQueue, node, error$38);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber;\n if (isHydrating) {\n if (nextHydratableInstance) {\n b: {\n var JSCompiler_inline_result$jscomp$0 = nextHydratableInstance;\n for (\n var inRootOrSingleton = rootOrSingletonContext;\n 8 !== JSCompiler_inline_result$jscomp$0.nodeType;\n\n ) {\n if (!inRootOrSingleton) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n JSCompiler_inline_result$jscomp$0 = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n if (null === JSCompiler_inline_result$jscomp$0) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n }\n inRootOrSingleton = JSCompiler_inline_result$jscomp$0.data;\n JSCompiler_inline_result$jscomp$0 =\n \"F!\" === inRootOrSingleton || \"F\" === inRootOrSingleton\n ? JSCompiler_inline_result$jscomp$0\n : null;\n }\n if (JSCompiler_inline_result$jscomp$0) {\n nextHydratableInstance = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n JSCompiler_inline_result =\n \"F!\" === JSCompiler_inline_result$jscomp$0.data;\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n inRootOrSingleton = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n JSCompiler_inline_result$jscomp$0 = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = JSCompiler_inline_result$jscomp$0;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result$jscomp$0,\n inRootOrSingleton,\n ssrFormState\n );\n JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n if (\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n )\n try {\n var state = useThenable(currentStateHook);\n } catch (x) {\n if (x === SuspenseException) throw SuspenseActionException;\n throw x;\n }\n else state = currentStateHook;\n currentStateHook = updateWorkInProgressHook();\n var actionQueue = currentStateHook.queue,\n dispatch = actionQueue.dispatch;\n action !== currentStateHook.memoizedState &&\n ((currentlyRenderingFiber.flags |= 2048),\n pushSimpleEffect(\n 9,\n createEffectInstance(),\n actionStateActionEffect.bind(null, actionQueue, action),\n null\n ));\n return [state, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushSimpleEffect(tag, inst, create, createDeps) {\n tag = { tag: tag, create: create, deps: createDeps, inst: inst, next: null };\n inst = currentlyRenderingFiber.updateQueue;\n null === inst &&\n ((inst = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = inst));\n create = inst.lastEffect;\n null === create\n ? (inst.lastEffect = tag.next = tag)\n : ((createDeps = create.next),\n (create.next = tag),\n (tag.next = createDeps),\n (inst.lastEffect = tag));\n return tag;\n}\nfunction createEffectInstance() {\n return { destroy: void 0, resource: void 0 };\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, createDeps) {\n var hook = mountWorkInProgressHook();\n createDeps = void 0 === createDeps ? null : createDeps;\n currentlyRenderingFiber.flags |= fiberFlags;\n hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n createEffectInstance(),\n create,\n createDeps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps))\n : ((currentlyRenderingFiber.flags |= fiberFlags),\n (hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n inst,\n create,\n deps\n )));\n}\nfunction mountEffect(create, createDeps) {\n mountEffectImpl(8390656, 8, create, createDeps);\n}\nfunction updateEffect(create, createDeps) {\n updateEffectImpl(2048, 8, create, createDeps);\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (void 0 === initialValue || 0 !== (renderLanes & 1073741824))\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (0 === (renderLanes & 42))\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction noop$2() {}\nfunction startHostTransition(formFiber, pendingState, action, formData) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n sharedNotPendingObject,\n null === action\n ? noop$2\n : function () {\n requestFormReset$1(formFiber);\n return action(formData);\n }\n );\n}\nfunction ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: sharedNotPendingObject,\n baseState: sharedNotPendingObject,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: sharedNotPendingObject\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n}\nfunction requestFormReset$1(formFiber) {\n var resetStateQueue = ensureFormComponentIsStateful(formFiber).next.queue;\n dispatchSetStateInternal(formFiber, resetStateQueue, {}, requestUpdateLane());\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root$41 = enqueueUpdate(provider, fiber, lane);\n null !== root$41 &&\n (scheduleUpdateOnFiber(root$41, provider, lane),\n entangleTransitions(root$41, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber ||\n (null !== alternate && alternate === currentlyRenderingFiber)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194048)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n useHostTransitionStatus: throwInvalidHookError,\n useFormState: throwInvalidHookError,\n useActionState: throwInvalidHookError,\n useOptimistic: throwInvalidHookError,\n useMemoCache: throwInvalidHookError,\n useCacheRefresh: throwInvalidHookError\n },\n HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 124) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n createEffectInstance(),\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \"\\u00ab\" + identifierPrefix + \"R\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \"\\u00bb\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \"\\u00ab\" +\n identifierPrefix +\n \"r\" +\n JSCompiler_inline_result.toString(32) +\n \"\\u00bb\");\n return (hook.memoizedState = identifierPrefix);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: mountActionState,\n useActionState: mountActionState,\n useOptimistic: function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber\n ));\n }\n },\n HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: updateActionState,\n useActionState: updateActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n },\n HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: rerenderActionState,\n useActionState: rerenderActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n },\n thenableState = null,\n thenableIndexCounter = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n return trackUsedThenable(thenableState, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n}\nfunction resolveLazy(lazyType) {\n var init = lazyType._init;\n return init(lazyType._payload);\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 67108866), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 67108866;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 67108866);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return createChild(returnFiber, newChild, lanes);\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key) throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException || x === SuspenseActionException) throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n if (22 === fiber.tag) {\n if (\n (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary)\n ) {\n var current = fiber.alternate;\n null !== current &&\n null !== current.memoizedState &&\n (shellBoundary = fiber);\n }\n } else reuseSuspenseHandlerOnStack(fiber);\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n \"$?\" === state.data ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$73 in Component)\n void 0 === newProps[propName$73] &&\n (newProps[propName$73] = Component[propName$73]);\n }\n return newProps;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction defaultOnUncaughtError(error) {\n reportGlobalError(error);\n}\nfunction defaultOnCaughtError(error) {\n console.error(error);\n}\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e$74) {\n setTimeout(function () {\n throw e$74;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e$75) {\n setTimeout(function () {\n throw e$75;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(createCapturedValueAtFiber(root, sourceFiber))))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (wrapperError = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(wrapperError)))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n if (\"hidden\" === nextProps.mode) {\n if (0 !== (workInProgress.flags & 128)) {\n nextProps =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextChildren = workInProgress.child = current.child;\n for (prevState = 0; null !== nextChildren; )\n (prevState =\n prevState | nextChildren.lanes | nextChildren.childLanes),\n (nextChildren = nextChildren.sibling);\n workInProgress.childLanes = prevState & ~nextProps;\n } else (workInProgress.childLanes = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (workInProgress.lanes = workInProgress.childLanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n return null;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 4194816);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 4194816;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state ? context.state : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(context, context.state, null),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n}\nfunction mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0,\n hydrationErrors: null\n};\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n if (isHydrating) {\n var nextInstance = nextHydratableInstance,\n JSCompiler_temp$jscomp$0;\n if ((JSCompiler_temp$jscomp$0 = nextInstance)) {\n c: {\n JSCompiler_temp$jscomp$0 = nextInstance;\n for (\n nextInstance = rootOrSingletonContext;\n 8 !== JSCompiler_temp$jscomp$0.nodeType;\n\n ) {\n if (!nextInstance) {\n nextInstance = null;\n break c;\n }\n JSCompiler_temp$jscomp$0 = getNextHydratable(\n JSCompiler_temp$jscomp$0.nextSibling\n );\n if (null === JSCompiler_temp$jscomp$0) {\n nextInstance = null;\n break c;\n }\n }\n nextInstance = JSCompiler_temp$jscomp$0;\n }\n null !== nextInstance\n ? ((workInProgress.memoizedState = {\n dehydrated: nextInstance,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (JSCompiler_temp$jscomp$0 = createFiberImplClass(\n 18,\n null,\n null,\n 0\n )),\n (JSCompiler_temp$jscomp$0.stateNode = nextInstance),\n (JSCompiler_temp$jscomp$0.return = workInProgress),\n (workInProgress.child = JSCompiler_temp$jscomp$0),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (JSCompiler_temp$jscomp$0 = !0))\n : (JSCompiler_temp$jscomp$0 = !1);\n }\n JSCompiler_temp$jscomp$0 || throwOnHydrationMismatch(workInProgress);\n }\n nextInstance = workInProgress.memoizedState;\n if (\n null !== nextInstance &&\n ((nextInstance = nextInstance.dehydrated), null !== nextInstance)\n )\n return (\n isSuspenseInstanceFallback(nextInstance)\n ? (workInProgress.lanes = 32)\n : (workInProgress.lanes = 536870912),\n null\n );\n popSuspenseHandler(workInProgress);\n }\n nextInstance = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (nextInstance = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: nextInstance },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (nextInstance.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextInstance.sibling = nextProps),\n (workInProgress.child = nextInstance),\n (showFallback = workInProgress.child),\n (showFallback.memoizedState = mountSuspenseOffscreenState(renderLanes)),\n (showFallback.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextInstance);\n }\n JSCompiler_temp$jscomp$0 = current.memoizedState;\n if (\n null !== JSCompiler_temp$jscomp$0 &&\n ((nextInstance = JSCompiler_temp$jscomp$0.dehydrated),\n null !== nextInstance)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = nextProps.fallback),\n (nextInstance = workInProgress.mode),\n (nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n nextInstance\n )),\n (showFallback = createFiberFromFragment(\n showFallback,\n nextInstance,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2),\n (nextProps.return = workInProgress),\n (showFallback.return = workInProgress),\n (nextProps.sibling = showFallback),\n (workInProgress.child = nextProps),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = showFallback));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isSuspenseInstanceFallback(nextInstance))\n ) {\n JSCompiler_temp =\n nextInstance.nextSibling && nextInstance.nextSibling.dataset;\n if (JSCompiler_temp) var digest = JSCompiler_temp.dgst;\n JSCompiler_temp = digest;\n nextProps = Error(formatProdErrorMessage(419));\n nextProps.stack = \"\";\n nextProps.digest = JSCompiler_temp;\n queueHydrationError({ value: nextProps, source: null, stack: null });\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (\n null !== JSCompiler_temp &&\n ((nextProps = renderLanes & -renderLanes),\n (nextProps =\n 0 !== (nextProps & 42)\n ? 1\n : getBumpedLaneForHydrationByLane(nextProps)),\n (nextProps =\n 0 !== (nextProps & (JSCompiler_temp.suspendedLanes | renderLanes))\n ? 0\n : nextProps),\n 0 !== nextProps && nextProps !== JSCompiler_temp$jscomp$0.retryLane)\n )\n throw (\n ((JSCompiler_temp$jscomp$0.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n \"$?\" === nextInstance.data || renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n \"$?\" === nextInstance.data\n ? ((workInProgress.flags |= 192),\n (workInProgress.child = current.child),\n (workInProgress = null))\n : ((current = JSCompiler_temp$jscomp$0.treeContext),\n (nextHydratableInstance = getNextHydratable(\n nextInstance.nextSibling\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n ((idStack[idStackIndex++] = treeContextId),\n (idStack[idStackIndex++] = treeContextOverflow),\n (idStack[idStackIndex++] = treeContextProvider),\n (treeContextId = current.id),\n (treeContextOverflow = current.overflow),\n (treeContextProvider = workInProgress)),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = nextProps.fallback),\n (nextInstance = workInProgress.mode),\n (JSCompiler_temp$jscomp$0 = current.child),\n (digest = JSCompiler_temp$jscomp$0.sibling),\n (nextProps = createWorkInProgress(JSCompiler_temp$jscomp$0, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags =\n JSCompiler_temp$jscomp$0.subtreeFlags & 65011712),\n null !== digest\n ? (showFallback = createWorkInProgress(digest, showFallback))\n : ((showFallback = createFiberFromFragment(\n showFallback,\n nextInstance,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2)),\n (showFallback.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = showFallback),\n (workInProgress.child = nextProps),\n (nextProps = showFallback),\n (showFallback = workInProgress.child),\n (nextInstance = current.child.memoizedState),\n null === nextInstance\n ? (nextInstance = mountSuspenseOffscreenState(renderLanes))\n : ((JSCompiler_temp$jscomp$0 = nextInstance.cachePool),\n null !== JSCompiler_temp$jscomp$0\n ? ((digest = CacheContext._currentValue),\n (JSCompiler_temp$jscomp$0 =\n JSCompiler_temp$jscomp$0.parent !== digest\n ? { parent: digest, pool: digest }\n : JSCompiler_temp$jscomp$0))\n : (JSCompiler_temp$jscomp$0 = getSuspendedCache()),\n (nextInstance = {\n baseLanes: nextInstance.baseLanes | renderLanes,\n cachePool: JSCompiler_temp$jscomp$0\n })),\n (showFallback.memoizedState = nextInstance),\n (showFallback.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n offscreenProps = createFiberImplClass(22, offscreenProps, null, mode);\n offscreenProps.lanes = 0;\n offscreenProps.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n };\n return offscreenProps;\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n reconcileChildren(current, workInProgress, nextProps.children, renderLanes);\n nextProps = suspenseStackCursor.current;\n if (0 !== (nextProps & 2))\n (nextProps = (nextProps & 1) | 2), (workInProgress.flags |= 128);\n else {\n if (null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n nextProps &= 1;\n }\n push(suspenseStackCursor, nextProps);\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child), (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode\n );\n break;\n case \"backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode\n );\n break;\n case \"together\":\n initSuspenseListRenderState(workInProgress, !1, null, null, void 0);\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 13:\n var state = workInProgress.memoizedState;\n if (null !== state) {\n if (null !== state.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state = 0 !== (renderLanes & workInProgress.childLanes);\n state ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state) break;\n else return null;\n case 22:\n case 23:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(current, workInProgress, renderLanes)\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n current = workInProgress.pendingProps;\n var lazyComponent = workInProgress.elementType,\n init = lazyComponent._init;\n lazyComponent = init(lazyComponent._payload);\n workInProgress.type = lazyComponent;\n if (\"function\" === typeof lazyComponent)\n shouldConstruct(lazyComponent)\n ? ((current = resolveClassComponentProps(lazyComponent, current)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n )));\n else {\n if (void 0 !== lazyComponent && null !== lazyComponent)\n if (\n ((init = lazyComponent.$$typeof), init === REACT_FORWARD_REF_TYPE)\n ) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n );\n break a;\n } else if (init === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n );\n break a;\n }\n workInProgress =\n getComponentNameFromType(lazyComponent) || lazyComponent;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (lazyComponent = workInProgress.type),\n (init = resolveClassComponentProps(\n lazyComponent,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n lazyComponent,\n init,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n lazyComponent = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n init = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, lazyComponent, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n lazyComponent = nextState.cache;\n pushProvider(workInProgress, CacheContext, lazyComponent);\n lazyComponent !== prevState.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n lazyComponent = nextState.element;\n if (prevState.isDehydrated)\n if (\n ((prevState = {\n element: lazyComponent,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = prevState),\n (workInProgress.memoizedState = prevState),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n );\n break a;\n } else if (lazyComponent !== init) {\n init = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError(init);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n );\n break a;\n } else {\n current = workInProgress.stateNode.containerInfo;\n switch (current.nodeType) {\n case 9:\n current = current.body;\n break;\n default:\n current =\n \"HTML\" === current.nodeName\n ? current.ownerDocument.body\n : current;\n }\n nextHydratableInstance = getNextHydratable(current.firstChild);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n rootOrSingletonContext = !0;\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n lazyComponent,\n renderLanes\n );\n for (workInProgress.child = renderLanes; renderLanes; )\n (renderLanes.flags = (renderLanes.flags & -3) | 4096),\n (renderLanes = renderLanes.sibling);\n }\n else {\n resetHydrationState();\n if (lazyComponent === init) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n );\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n ((renderLanes = workInProgress.type),\n (current = workInProgress.pendingProps),\n (lazyComponent = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n ).createElement(renderLanes)),\n (lazyComponent[internalInstanceKey] = workInProgress),\n (lazyComponent[internalPropsKey] = current),\n setInitialProperties(lazyComponent, renderLanes, current),\n markNodeAsHoistable(lazyComponent),\n (workInProgress.stateNode = lazyComponent))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n return (\n pushHostContext(workInProgress),\n null === current &&\n isHydrating &&\n ((lazyComponent = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n (init = nextHydratableInstance),\n isSingletonScope(workInProgress.type)\n ? ((previousHydratableOnEnteringScopedSingleton = init),\n (nextHydratableInstance = getNextHydratable(\n lazyComponent.firstChild\n )))\n : (nextHydratableInstance = init)),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n markRef(current, workInProgress),\n null === current && (workInProgress.flags |= 4194304),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n if ((init = lazyComponent = nextHydratableInstance))\n (lazyComponent = canHydrateInstance(\n lazyComponent,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== lazyComponent\n ? ((workInProgress.stateNode = lazyComponent),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = getNextHydratable(\n lazyComponent.firstChild\n )),\n (rootOrSingletonContext = !1),\n (init = !0))\n : (init = !1);\n init || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n init = workInProgress.type;\n prevState = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n lazyComponent = prevState.children;\n shouldSetTextContent(init, prevState)\n ? (lazyComponent = null)\n : null !== nextState &&\n shouldSetTextContent(init, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n ((init = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = init));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, lazyComponent, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (lazyComponent = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n lazyComponent,\n renderLanes\n ))\n : reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n ),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (lazyComponent = workInProgress.pendingProps),\n pushProvider(workInProgress, workInProgress.type, lazyComponent.value),\n reconcileChildren(\n current,\n workInProgress,\n lazyComponent.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 9:\n return (\n (init = workInProgress.type._context),\n (lazyComponent = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n (init = readContext(init)),\n (lazyComponent = lazyComponent(init)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, lazyComponent, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 31:\n return (\n (lazyComponent = workInProgress.pendingProps),\n (renderLanes = workInProgress.mode),\n (lazyComponent = {\n mode: lazyComponent.mode,\n children: lazyComponent.children\n }),\n null === current\n ? ((renderLanes = mountWorkInProgressOffscreenFiber(\n lazyComponent,\n renderLanes\n )),\n (renderLanes.ref = workInProgress.ref),\n (workInProgress.child = renderLanes),\n (renderLanes.return = workInProgress),\n (workInProgress = renderLanes))\n : ((renderLanes = createWorkInProgress(current.child, lazyComponent)),\n (renderLanes.ref = workInProgress.ref),\n (workInProgress.child = renderLanes),\n (renderLanes.return = workInProgress),\n (workInProgress = renderLanes)),\n workInProgress\n );\n case 22:\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (lazyComponent = readContext(CacheContext)),\n null === current\n ? ((init = peekCacheFromPool()),\n null === init &&\n ((init = workInProgressRoot),\n (prevState = createCache()),\n (init.pooledCache = prevState),\n prevState.refCount++,\n null !== prevState && (init.pooledCacheLanes |= renderLanes),\n (init = prevState)),\n (workInProgress.memoizedState = {\n parent: lazyComponent,\n cache: init\n }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, init))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n (init = current.memoizedState),\n (prevState = workInProgress.memoizedState),\n init.parent !== lazyComponent\n ? ((init = { parent: lazyComponent, cache: lazyComponent }),\n (workInProgress.memoizedState = init),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n init),\n pushProvider(workInProgress, CacheContext, lazyComponent))\n : ((lazyComponent = prevState.cache),\n pushProvider(workInProgress, CacheContext, lazyComponent),\n lazyComponent !== init.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n}\nfunction preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (\"stylesheet\" !== resource.type || 0 !== (resource.state.loading & 4))\n workInProgress.flags &= -16777217;\n else if (((workInProgress.flags |= 16777216), !preloadResource(resource))) {\n resource = suspenseHandlerStackCursor.current;\n if (\n null !== resource &&\n ((workInProgressRootRenderLanes & 4194048) ===\n workInProgressRootRenderLanes\n ? null !== shellBoundary\n : ((workInProgressRootRenderLanes & 62914560) !==\n workInProgressRootRenderLanes &&\n 0 === (workInProgressRootRenderLanes & 536870912)) ||\n resource !== shellBoundary)\n )\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n workInProgress.flags |= 8192;\n }\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$113 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$113 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$113\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$113.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$114 = completedWork.child; null !== child$114; )\n (newChildLanes |= child$114.lanes | child$114.childLanes),\n (subtreeFlags |= child$114.subtreeFlags & 65011712),\n (subtreeFlags |= child$114.flags & 65011712),\n (child$114.return = completedWork),\n (child$114 = child$114.sibling);\n else\n for (child$114 = completedWork.child; null !== child$114; )\n (newChildLanes |= child$114.lanes | child$114.childLanes),\n (subtreeFlags |= child$114.subtreeFlags),\n (subtreeFlags |= child$114.flags),\n (child$114.return = completedWork),\n (child$114 = child$114.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 31:\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n upgradeHydrationErrorsToRecoverable());\n bubbleProperties(workInProgress);\n return null;\n case 26:\n return (\n (renderLanes = workInProgress.memoizedState),\n null === current\n ? (markUpdate(workInProgress),\n null !== renderLanes\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, renderLanes))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217)))\n : renderLanes\n ? renderLanes !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, renderLanes))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : (current.memoizedProps !== newProps && markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217)),\n null\n );\n case 27:\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n var type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(type, newProps, renderLanes)),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n case 5:\n popHostContext(workInProgress);\n renderLanes = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n if (popHydrationState(workInProgress))\n prepareToHydrateHostInstance(workInProgress, current);\n else {\n type = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n );\n switch (current) {\n case 1:\n current = type.createElementNS(\n \"http://www.w3.org/2000/svg\",\n renderLanes\n );\n break;\n case 2:\n current = type.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n renderLanes\n );\n break;\n default:\n switch (renderLanes) {\n case \"svg\":\n current = type.createElementNS(\n \"http://www.w3.org/2000/svg\",\n renderLanes\n );\n break;\n case \"math\":\n current = type.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n renderLanes\n );\n break;\n case \"script\":\n current = type.createElement(\"div\");\n current.innerHTML = \"<script>\\x3c/script>\";\n current = current.removeChild(current.firstChild);\n break;\n case \"select\":\n current =\n \"string\" === typeof newProps.is\n ? type.createElement(\"select\", { is: newProps.is })\n : type.createElement(\"select\");\n newProps.multiple\n ? (current.multiple = !0)\n : newProps.size && (current.size = newProps.size);\n break;\n default:\n current =\n \"string\" === typeof newProps.is\n ? type.createElement(renderLanes, { is: newProps.is })\n : type.createElement(renderLanes);\n }\n }\n current[internalInstanceKey] = workInProgress;\n current[internalPropsKey] = newProps;\n a: for (type = workInProgress.child; null !== type; ) {\n if (5 === type.tag || 6 === type.tag)\n current.appendChild(type.stateNode);\n else if (4 !== type.tag && 27 !== type.tag && null !== type.child) {\n type.child.return = type;\n type = type.child;\n continue;\n }\n if (type === workInProgress) break a;\n for (; null === type.sibling; ) {\n if (null === type.return || type.return === workInProgress)\n break a;\n type = type.return;\n }\n type.sibling.return = type.return;\n type = type.sibling;\n }\n workInProgress.stateNode = current;\n a: switch (\n (setInitialProperties(current, renderLanes, newProps), renderLanes)\n ) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n current = !!newProps.autoFocus;\n break a;\n case \"img\":\n current = !0;\n break a;\n default:\n current = !1;\n }\n current && markUpdate(workInProgress);\n }\n }\n bubbleProperties(workInProgress);\n workInProgress.flags &= -16777217;\n return null;\n case 6:\n if (current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (\"string\" !== typeof newProps && null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n current = rootInstanceStackCursor.current;\n if (popHydrationState(workInProgress)) {\n current = workInProgress.stateNode;\n renderLanes = workInProgress.memoizedProps;\n newProps = null;\n type = hydrationParentFiber;\n if (null !== type)\n switch (type.tag) {\n case 27:\n case 5:\n newProps = type.memoizedProps;\n }\n current[internalInstanceKey] = workInProgress;\n current =\n current.nodeValue === renderLanes ||\n (null !== newProps && !0 === newProps.suppressHydrationWarning) ||\n checkForUnmatchedText(current.nodeValue, renderLanes)\n ? !0\n : !1;\n current || throwOnHydrationMismatch(workInProgress);\n } else\n (current =\n getOwnerDocumentFromRootContainer(current).createTextNode(\n newProps\n )),\n (current[internalInstanceKey] = workInProgress),\n (workInProgress.stateNode = current);\n }\n bubbleProperties(workInProgress);\n return null;\n case 13:\n newProps = workInProgress.memoizedState;\n if (\n null === current ||\n (null !== current.memoizedState &&\n null !== current.memoizedState.dehydrated)\n ) {\n type = popHydrationState(workInProgress);\n if (null !== newProps && null !== newProps.dehydrated) {\n if (null === current) {\n if (!type) throw Error(formatProdErrorMessage(318));\n type = workInProgress.memoizedState;\n type = null !== type ? type.dehydrated : null;\n if (!type) throw Error(formatProdErrorMessage(317));\n type[internalInstanceKey] = workInProgress;\n } else\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n type = !1;\n } else\n (type = upgradeHydrationErrorsToRecoverable()),\n null !== current &&\n null !== current.memoizedState &&\n (current.memoizedState.hydrationErrors = type),\n (type = !0);\n if (!type) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n }\n popSuspenseHandler(workInProgress);\n if (0 !== (workInProgress.flags & 128))\n return (workInProgress.lanes = renderLanes), workInProgress;\n renderLanes = null !== newProps;\n current = null !== current && null !== current.memoizedState;\n if (renderLanes) {\n newProps = workInProgress.child;\n type = null;\n null !== newProps.alternate &&\n null !== newProps.alternate.memoizedState &&\n null !== newProps.alternate.memoizedState.cachePool &&\n (type = newProps.alternate.memoizedState.cachePool.pool);\n var cache$127 = null;\n null !== newProps.memoizedState &&\n null !== newProps.memoizedState.cachePool &&\n (cache$127 = newProps.memoizedState.cachePool.pool);\n cache$127 !== type && (newProps.flags |= 2048);\n }\n renderLanes !== current &&\n renderLanes &&\n (workInProgress.child.flags |= 8192);\n scheduleRetryEffect(workInProgress, workInProgress.updateQueue);\n bubbleProperties(workInProgress);\n return null;\n case 4:\n return (\n popHostContainer(),\n null === current &&\n listenToAllSupportedEvents(workInProgress.stateNode.containerInfo),\n bubbleProperties(workInProgress),\n null\n );\n case 10:\n return (\n popProvider(workInProgress.type), bubbleProperties(workInProgress), null\n );\n case 19:\n pop(suspenseStackCursor);\n type = workInProgress.memoizedState;\n if (null === type) return bubbleProperties(workInProgress), null;\n newProps = 0 !== (workInProgress.flags & 128);\n cache$127 = type.rendering;\n if (null === cache$127)\n if (newProps) cutOffTailIfNeeded(type, !1);\n else {\n if (\n 0 !== workInProgressRootExitStatus ||\n (null !== current && 0 !== (current.flags & 128))\n )\n for (current = workInProgress.child; null !== current; ) {\n cache$127 = findFirstSuspended(current);\n if (null !== cache$127) {\n workInProgress.flags |= 128;\n cutOffTailIfNeeded(type, !1);\n current = cache$127.updateQueue;\n workInProgress.updateQueue = current;\n scheduleRetryEffect(workInProgress, current);\n workInProgress.subtreeFlags = 0;\n current = renderLanes;\n for (renderLanes = workInProgress.child; null !== renderLanes; )\n resetWorkInProgress(renderLanes, current),\n (renderLanes = renderLanes.sibling);\n push(\n suspenseStackCursor,\n (suspenseStackCursor.current & 1) | 2\n );\n return workInProgress.child;\n }\n current = current.sibling;\n }\n null !== type.tail &&\n now() > workInProgressRootRenderTargetTime &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(type, !1),\n (workInProgress.lanes = 4194304));\n }\n else {\n if (!newProps)\n if (((current = findFirstSuspended(cache$127)), null !== current)) {\n if (\n ((workInProgress.flags |= 128),\n (newProps = !0),\n (current = current.updateQueue),\n (workInProgress.updateQueue = current),\n scheduleRetryEffect(workInProgress, current),\n cutOffTailIfNeeded(type, !0),\n null === type.tail &&\n \"hidden\" === type.tailMode &&\n !cache$127.alternate &&\n !isHydrating)\n )\n return bubbleProperties(workInProgress), null;\n } else\n 2 * now() - type.renderingStartTime >\n workInProgressRootRenderTargetTime &&\n 536870912 !== renderLanes &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(type, !1),\n (workInProgress.lanes = 4194304));\n type.isBackwards\n ? ((cache$127.sibling = workInProgress.child),\n (workInProgress.child = cache$127))\n : ((current = type.last),\n null !== current\n ? (current.sibling = cache$127)\n : (workInProgress.child = cache$127),\n (type.last = cache$127));\n }\n if (null !== type.tail)\n return (\n (workInProgress = type.tail),\n (type.rendering = workInProgress),\n (type.tail = workInProgress.sibling),\n (type.renderingStartTime = now()),\n (workInProgress.sibling = null),\n (current = suspenseStackCursor.current),\n push(suspenseStackCursor, newProps ? (current & 1) | 2 : current & 1),\n workInProgress\n );\n bubbleProperties(workInProgress);\n return null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n (newProps = null !== workInProgress.memoizedState),\n null !== current\n ? (null !== current.memoizedState) !== newProps &&\n (workInProgress.flags |= 8192)\n : newProps && (workInProgress.flags |= 8192),\n newProps\n ? 0 !== (renderLanes & 536870912) &&\n 0 === (workInProgress.flags & 128) &&\n (bubbleProperties(workInProgress),\n workInProgress.subtreeFlags & 6 && (workInProgress.flags |= 8192))\n : bubbleProperties(workInProgress),\n (renderLanes = workInProgress.updateQueue),\n null !== renderLanes &&\n scheduleRetryEffect(workInProgress, renderLanes.retryQueue),\n (renderLanes = null),\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (renderLanes = current.memoizedState.cachePool.pool),\n (newProps = null),\n null !== workInProgress.memoizedState &&\n null !== workInProgress.memoizedState.cachePool &&\n (newProps = workInProgress.memoizedState.cachePool.pool),\n newProps !== renderLanes && (workInProgress.flags |= 2048),\n null !== current && pop(resumedCache),\n null\n );\n case 24:\n return (\n (renderLanes = null),\n null !== current && (renderLanes = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== renderLanes &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext),\n bubbleProperties(workInProgress),\n null\n );\n case 25:\n return null;\n case 30:\n return null;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction unwindWork(current, workInProgress) {\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 1:\n return (\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 3:\n return (\n popProvider(CacheContext),\n popHostContainer(),\n (current = workInProgress.flags),\n 0 !== (current & 65536) && 0 === (current & 128)\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 26:\n case 27:\n case 5:\n return popHostContext(workInProgress), null;\n case 13:\n popSuspenseHandler(workInProgress);\n current = workInProgress.memoizedState;\n if (null !== current && null !== current.dehydrated) {\n if (null === workInProgress.alternate)\n throw Error(formatProdErrorMessage(340));\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 19:\n return pop(suspenseStackCursor), null;\n case 4:\n return popHostContainer(), null;\n case 10:\n return popProvider(workInProgress.type), null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n null !== current && pop(resumedCache),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 24:\n return popProvider(CacheContext), null;\n case 25:\n return null;\n default:\n return null;\n }\n}\nfunction unwindInterruptedWork(current, interruptedWork) {\n popTreeContext(interruptedWork);\n switch (interruptedWork.tag) {\n case 3:\n popProvider(CacheContext);\n popHostContainer();\n break;\n case 26:\n case 27:\n case 5:\n popHostContext(interruptedWork);\n break;\n case 4:\n popHostContainer();\n break;\n case 13:\n popSuspenseHandler(interruptedWork);\n break;\n case 19:\n pop(suspenseStackCursor);\n break;\n case 10:\n popProvider(interruptedWork.type);\n break;\n case 22:\n case 23:\n popSuspenseHandler(interruptedWork);\n popHiddenContext();\n null !== current && pop(resumedCache);\n break;\n case 24:\n popProvider(CacheContext);\n }\n}\nfunction commitHookEffectListMount(flags, finishedWork) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n lastEffect = void 0;\n var create = updateQueue.create,\n inst = updateQueue.inst;\n lastEffect = create();\n inst.destroy = lastEffect;\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHookEffectListUnmount(\n flags,\n finishedWork,\n nearestMountedAncestor$jscomp$0\n) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n var inst = updateQueue.inst,\n destroy = inst.destroy;\n if (void 0 !== destroy) {\n inst.destroy = void 0;\n lastEffect = finishedWork;\n var nearestMountedAncestor = nearestMountedAncestor$jscomp$0,\n destroy_ = destroy;\n try {\n destroy_();\n } catch (error) {\n captureCommitPhaseError(\n lastEffect,\n nearestMountedAncestor,\n error\n );\n }\n }\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitClassCallbacks(finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n if (null !== updateQueue) {\n var instance = finishedWork.stateNode;\n try {\n commitCallbacks(updateQueue, instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\nfunction safelyCallComponentWillUnmount(\n current,\n nearestMountedAncestor,\n instance\n) {\n instance.props = resolveClassComponentProps(\n current.type,\n current.memoizedProps\n );\n instance.state = current.memoizedState;\n try {\n instance.componentWillUnmount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n var ref = current.ref;\n if (null !== ref) {\n switch (current.tag) {\n case 26:\n case 27:\n case 5:\n var instanceToUse = current.stateNode;\n break;\n case 30:\n instanceToUse = current.stateNode;\n break;\n default:\n instanceToUse = current.stateNode;\n }\n \"function\" === typeof ref\n ? (current.refCleanup = ref(instanceToUse))\n : (ref.current = instanceToUse);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref,\n refCleanup = current.refCleanup;\n if (null !== ref)\n if (\"function\" === typeof refCleanup)\n try {\n refCleanup();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n } finally {\n (current.refCleanup = null),\n (current = current.alternate),\n null != current && (current.refCleanup = null);\n }\n else if (\"function\" === typeof ref)\n try {\n ref(null);\n } catch (error$143) {\n captureCommitPhaseError(current, nearestMountedAncestor, error$143);\n }\n else ref.current = null;\n}\nfunction commitHostMount(finishedWork) {\n var type = finishedWork.type,\n props = finishedWork.memoizedProps,\n instance = finishedWork.stateNode;\n try {\n a: switch (type) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n props.autoFocus && instance.focus();\n break a;\n case \"img\":\n props.src\n ? (instance.src = props.src)\n : props.srcSet && (instance.srcset = props.srcSet);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHostUpdate(finishedWork, newProps, oldProps) {\n try {\n var domElement = finishedWork.stateNode;\n updateProperties(domElement, finishedWork.type, oldProps, newProps);\n domElement[internalPropsKey] = newProps;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction isHostParent(fiber) {\n return (\n 5 === fiber.tag ||\n 3 === fiber.tag ||\n 26 === fiber.tag ||\n (27 === fiber.tag && isSingletonScope(fiber.type)) ||\n 4 === fiber.tag\n );\n}\nfunction getHostSibling(fiber) {\n a: for (;;) {\n for (; null === fiber.sibling; ) {\n if (null === fiber.return || isHostParent(fiber.return)) return null;\n fiber = fiber.return;\n }\n fiber.sibling.return = fiber.return;\n for (\n fiber = fiber.sibling;\n 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag;\n\n ) {\n if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a;\n if (fiber.flags & 2) continue a;\n if (null === fiber.child || 4 === fiber.tag) continue a;\n else (fiber.child.return = fiber), (fiber = fiber.child);\n }\n if (!(fiber.flags & 2)) return fiber.stateNode;\n }\n}\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before\n ? (9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent\n ).insertBefore(node, before)\n : ((before =\n 9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent),\n before.appendChild(node),\n (parent = parent._reactRootContainer),\n (null !== parent && void 0 !== parent) ||\n null !== before.onclick ||\n (before.onclick = noop$1));\n else if (\n 4 !== tag &&\n (27 === tag &&\n isSingletonScope(node.type) &&\n ((parent = node.stateNode), (before = null)),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n (node = node.sibling);\n}\nfunction insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before ? parent.insertBefore(node, before) : parent.appendChild(node);\n else if (\n 4 !== tag &&\n (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNode(node, before, parent), node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNode(node, before, parent), (node = node.sibling);\n}\nfunction commitHostSingletonAcquisition(finishedWork) {\n var singleton = finishedWork.stateNode,\n props = finishedWork.memoizedProps;\n try {\n for (\n var type = finishedWork.type, attributes = singleton.attributes;\n attributes.length;\n\n )\n singleton.removeAttributeNode(attributes[0]);\n setInitialProperties(singleton, type, props);\n singleton[internalInstanceKey] = finishedWork;\n singleton[internalPropsKey] = props;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nvar offscreenSubtreeIsHidden = !1,\n offscreenSubtreeWasHidden = !1,\n needsFormReset = !1,\n PossiblyWeakSet = \"function\" === typeof WeakSet ? WeakSet : Set,\n nextEffect = null;\nfunction commitBeforeMutationEffects(root, firstChild) {\n root = root.containerInfo;\n eventsEnabled = _enabled;\n root = getActiveElementDeep(root);\n if (hasSelectionCapabilities(root)) {\n if (\"selectionStart\" in root)\n var JSCompiler_temp = {\n start: root.selectionStart,\n end: root.selectionEnd\n };\n else\n a: {\n JSCompiler_temp =\n ((JSCompiler_temp = root.ownerDocument) &&\n JSCompiler_temp.defaultView) ||\n window;\n var selection =\n JSCompiler_temp.getSelection && JSCompiler_temp.getSelection();\n if (selection && 0 !== selection.rangeCount) {\n JSCompiler_temp = selection.anchorNode;\n var anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode;\n selection = selection.focusOffset;\n try {\n JSCompiler_temp.nodeType, focusNode.nodeType;\n } catch (e$20) {\n JSCompiler_temp = null;\n break a;\n }\n var length = 0,\n start = -1,\n end = -1,\n indexWithinAnchor = 0,\n indexWithinFocus = 0,\n node = root,\n parentNode = null;\n b: for (;;) {\n for (var next; ; ) {\n node !== JSCompiler_temp ||\n (0 !== anchorOffset && 3 !== node.nodeType) ||\n (start = length + anchorOffset);\n node !== focusNode ||\n (0 !== selection && 3 !== node.nodeType) ||\n (end = length + selection);\n 3 === node.nodeType && (length += node.nodeValue.length);\n if (null === (next = node.firstChild)) break;\n parentNode = node;\n node = next;\n }\n for (;;) {\n if (node === root) break b;\n parentNode === JSCompiler_temp &&\n ++indexWithinAnchor === anchorOffset &&\n (start = length);\n parentNode === focusNode &&\n ++indexWithinFocus === selection &&\n (end = length);\n if (null !== (next = node.nextSibling)) break;\n node = parentNode;\n parentNode = node.parentNode;\n }\n node = next;\n }\n JSCompiler_temp =\n -1 === start || -1 === end ? null : { start: start, end: end };\n } else JSCompiler_temp = null;\n }\n JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 };\n } else JSCompiler_temp = null;\n selectionInformation = { focusedElem: root, selectionRange: JSCompiler_temp };\n _enabled = !1;\n for (nextEffect = firstChild; null !== nextEffect; )\n if (\n ((firstChild = nextEffect),\n (root = firstChild.child),\n 0 !== (firstChild.subtreeFlags & 1024) && null !== root)\n )\n (root.return = firstChild), (nextEffect = root);\n else\n for (; null !== nextEffect; ) {\n firstChild = nextEffect;\n focusNode = firstChild.alternate;\n root = firstChild.flags;\n switch (firstChild.tag) {\n case 0:\n break;\n case 11:\n case 15:\n break;\n case 1:\n if (0 !== (root & 1024) && null !== focusNode) {\n root = void 0;\n JSCompiler_temp = firstChild;\n anchorOffset = focusNode.memoizedProps;\n focusNode = focusNode.memoizedState;\n selection = JSCompiler_temp.stateNode;\n try {\n var resolvedPrevProps = resolveClassComponentProps(\n JSCompiler_temp.type,\n anchorOffset,\n JSCompiler_temp.elementType === JSCompiler_temp.type\n );\n root = selection.getSnapshotBeforeUpdate(\n resolvedPrevProps,\n focusNode\n );\n selection.__reactInternalSnapshotBeforeUpdate = root;\n } catch (error) {\n captureCommitPhaseError(\n JSCompiler_temp,\n JSCompiler_temp.return,\n error\n );\n }\n }\n break;\n case 3:\n if (0 !== (root & 1024))\n if (\n ((root = firstChild.stateNode.containerInfo),\n (JSCompiler_temp = root.nodeType),\n 9 === JSCompiler_temp)\n )\n clearContainerSparingly(root);\n else if (1 === JSCompiler_temp)\n switch (root.nodeName) {\n case \"HEAD\":\n case \"HTML\":\n case \"BODY\":\n clearContainerSparingly(root);\n break;\n default:\n root.textContent = \"\";\n }\n break;\n case 5:\n case 26:\n case 27:\n case 6:\n case 4:\n case 17:\n break;\n default:\n if (0 !== (root & 1024)) throw Error(formatProdErrorMessage(163));\n }\n root = firstChild.sibling;\n if (null !== root) {\n root.return = firstChild.return;\n nextEffect = root;\n break;\n }\n nextEffect = firstChild.return;\n }\n}\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitHookEffectListMount(5, finishedWork);\n break;\n case 1:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 4)\n if (((finishedRoot = finishedWork.stateNode), null === current))\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n else {\n var prevProps = resolveClassComponentProps(\n finishedWork.type,\n current.memoizedProps\n );\n current = current.memoizedState;\n try {\n finishedRoot.componentDidUpdate(\n prevProps,\n current,\n finishedRoot.__reactInternalSnapshotBeforeUpdate\n );\n } catch (error$142) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error$142\n );\n }\n }\n flags & 64 && commitClassCallbacks(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (\n flags & 64 &&\n ((finishedRoot = finishedWork.updateQueue), null !== finishedRoot)\n ) {\n current = null;\n if (null !== finishedWork.child)\n switch (finishedWork.child.tag) {\n case 27:\n case 5:\n current = finishedWork.child.stateNode;\n break;\n case 1:\n current = finishedWork.child.stateNode;\n }\n try {\n commitCallbacks(finishedRoot, current);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 27:\n null === current &&\n flags & 4 &&\n commitHostSingletonAcquisition(finishedWork);\n case 26:\n case 5:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n null === current && flags & 4 && commitHostMount(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n flags & 64 &&\n ((finishedRoot = finishedWork.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated),\n null !== finishedRoot &&\n ((finishedWork = retryDehydratedSuspenseBoundary.bind(\n null,\n finishedWork\n )),\n registerSuspenseInstanceRetry(finishedRoot, finishedWork))));\n break;\n case 22:\n flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;\n if (!flags) {\n current =\n (null !== current && null !== current.memoizedState) ||\n offscreenSubtreeWasHidden;\n prevProps = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = flags;\n (offscreenSubtreeWasHidden = current) && !prevOffscreenSubtreeWasHidden\n ? recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n 0 !== (finishedWork.subtreeFlags & 8772)\n )\n : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n offscreenSubtreeIsHidden = prevProps;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n }\n break;\n case 30:\n break;\n default:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n}\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n null !== alternate &&\n ((fiber.alternate = null), detachFiberAfterEffects(alternate));\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null;\n 5 === fiber.tag &&\n ((alternate = fiber.stateNode),\n null !== alternate && detachDeletedInstance(alternate));\n fiber.stateNode = null;\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null;\n fiber.updateQueue = null;\n}\nvar hostParent = null,\n hostParentIsContainer = !1;\nfunction recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n parent\n) {\n for (parent = parent.child; null !== parent; )\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, parent),\n (parent = parent.sibling);\n}\nfunction commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberUnmount)\n try {\n injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);\n } catch (err) {}\n switch (deletedFiber.tag) {\n case 26:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n deletedFiber.memoizedState\n ? deletedFiber.memoizedState.count--\n : deletedFiber.stateNode &&\n ((deletedFiber = deletedFiber.stateNode),\n deletedFiber.parentNode.removeChild(deletedFiber));\n break;\n case 27:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var prevHostParent = hostParent,\n prevHostParentIsContainer = hostParentIsContainer;\n isSingletonScope(deletedFiber.type) &&\n ((hostParent = deletedFiber.stateNode), (hostParentIsContainer = !1));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n releaseSingletonInstance(deletedFiber.stateNode);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 5:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n case 6:\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n if (null !== hostParent)\n if (hostParentIsContainer)\n try {\n (9 === hostParent.nodeType\n ? hostParent.body\n : \"HTML\" === hostParent.nodeName\n ? hostParent.ownerDocument.body\n : hostParent\n ).removeChild(deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n else\n try {\n hostParent.removeChild(deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n break;\n case 18:\n null !== hostParent &&\n (hostParentIsContainer\n ? ((finishedRoot = hostParent),\n clearSuspenseBoundary(\n 9 === finishedRoot.nodeType\n ? finishedRoot.body\n : \"HTML\" === finishedRoot.nodeName\n ? finishedRoot.ownerDocument.body\n : finishedRoot,\n deletedFiber.stateNode\n ),\n retryIfBlockedOn(finishedRoot))\n : clearSuspenseBoundary(hostParent, deletedFiber.stateNode));\n break;\n case 4:\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = !0;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 0:\n case 11:\n case 14:\n case 15:\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(2, deletedFiber, nearestMountedAncestor);\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(4, deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 1:\n offscreenSubtreeWasHidden ||\n (safelyDetachRef(deletedFiber, nearestMountedAncestor),\n (prevHostParent = deletedFiber.stateNode),\n \"function\" === typeof prevHostParent.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n deletedFiber,\n nearestMountedAncestor,\n prevHostParent\n ));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 21:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 22:\n offscreenSubtreeWasHidden =\n (prevHostParent = offscreenSubtreeWasHidden) ||\n null !== deletedFiber.memoizedState;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n offscreenSubtreeWasHidden = prevHostParent;\n break;\n default:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n }\n}\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated), null !== finishedRoot)))\n )\n try {\n retryIfBlockedOn(finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction getRetryCache(finishedWork) {\n switch (finishedWork.tag) {\n case 13:\n case 19:\n var retryCache = finishedWork.stateNode;\n null === retryCache &&\n (retryCache = finishedWork.stateNode = new PossiblyWeakSet());\n return retryCache;\n case 22:\n return (\n (finishedWork = finishedWork.stateNode),\n (retryCache = finishedWork._retryCache),\n null === retryCache &&\n (retryCache = finishedWork._retryCache = new PossiblyWeakSet()),\n retryCache\n );\n default:\n throw Error(formatProdErrorMessage(435, finishedWork.tag));\n }\n}\nfunction attachSuspenseRetryListeners(finishedWork, wakeables) {\n var retryCache = getRetryCache(finishedWork);\n wakeables.forEach(function (wakeable) {\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n retryCache.has(wakeable) ||\n (retryCache.add(wakeable), wakeable.then(retry, retry));\n });\n}\nfunction recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {\n var deletions = parentFiber.deletions;\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i],\n root = root$jscomp$0,\n returnFiber = parentFiber,\n parent = returnFiber;\n a: for (; null !== parent; ) {\n switch (parent.tag) {\n case 27:\n if (isSingletonScope(parent.type)) {\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n }\n break;\n case 5:\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n case 3:\n case 4:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n }\n parent = parent.return;\n }\n if (null === hostParent) throw Error(formatProdErrorMessage(160));\n commitDeletionEffectsOnFiber(root, returnFiber, childToDelete);\n hostParent = null;\n hostParentIsContainer = !1;\n root = childToDelete.alternate;\n null !== root && (root.return = null);\n childToDelete.return = null;\n }\n if (parentFiber.subtreeFlags & 13878)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitMutationEffectsOnFiber(parentFiber, root$jscomp$0),\n (parentFiber = parentFiber.sibling);\n}\nvar currentHoistableRoot = null;\nfunction commitMutationEffectsOnFiber(finishedWork, root) {\n var current = finishedWork.alternate,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n (commitHookEffectListUnmount(3, finishedWork, finishedWork.return),\n commitHookEffectListMount(3, finishedWork),\n commitHookEffectListUnmount(5, finishedWork, finishedWork.return));\n break;\n case 1:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags & 64 &&\n offscreenSubtreeIsHidden &&\n ((finishedWork = finishedWork.updateQueue),\n null !== finishedWork &&\n ((flags = finishedWork.callbacks),\n null !== flags &&\n ((current = finishedWork.shared.hiddenCallbacks),\n (finishedWork.shared.hiddenCallbacks =\n null === current ? flags : current.concat(flags)))));\n break;\n case 26:\n var hoistableRoot = currentHoistableRoot;\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (flags & 4) {\n var currentResource = null !== current ? current.memoizedState : null;\n flags = finishedWork.memoizedState;\n if (null === current)\n if (null === flags)\n if (null === finishedWork.stateNode) {\n a: {\n flags = finishedWork.type;\n current = finishedWork.memoizedProps;\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n b: switch (flags) {\n case \"title\":\n currentResource =\n hoistableRoot.getElementsByTagName(\"title\")[0];\n if (\n !currentResource ||\n currentResource[internalHoistableMarker] ||\n currentResource[internalInstanceKey] ||\n \"http://www.w3.org/2000/svg\" ===\n currentResource.namespaceURI ||\n currentResource.hasAttribute(\"itemprop\")\n )\n (currentResource = hoistableRoot.createElement(flags)),\n hoistableRoot.head.insertBefore(\n currentResource,\n hoistableRoot.querySelector(\"head > title\")\n );\n setInitialProperties(currentResource, flags, current);\n currentResource[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(currentResource);\n flags = currentResource;\n break a;\n case \"link\":\n var maybeNodes = getHydratableHoistableCache(\n \"link\",\n \"href\",\n hoistableRoot\n ).get(flags + (current.href || \"\"));\n if (maybeNodes)\n for (var i = 0; i < maybeNodes.length; i++)\n if (\n ((currentResource = maybeNodes[i]),\n currentResource.getAttribute(\"href\") ===\n (null == current.href || \"\" === current.href\n ? null\n : current.href) &&\n currentResource.getAttribute(\"rel\") ===\n (null == current.rel ? null : current.rel) &&\n currentResource.getAttribute(\"title\") ===\n (null == current.title ? null : current.title) &&\n currentResource.getAttribute(\"crossorigin\") ===\n (null == current.crossOrigin\n ? null\n : current.crossOrigin))\n ) {\n maybeNodes.splice(i, 1);\n break b;\n }\n currentResource = hoistableRoot.createElement(flags);\n setInitialProperties(currentResource, flags, current);\n hoistableRoot.head.appendChild(currentResource);\n break;\n case \"meta\":\n if (\n (maybeNodes = getHydratableHoistableCache(\n \"meta\",\n \"content\",\n hoistableRoot\n ).get(flags + (current.content || \"\")))\n )\n for (i = 0; i < maybeNodes.length; i++)\n if (\n ((currentResource = maybeNodes[i]),\n currentResource.getAttribute(\"content\") ===\n (null == current.content\n ? null\n : \"\" + current.content) &&\n currentResource.getAttribute(\"name\") ===\n (null == current.name ? null : current.name) &&\n currentResource.getAttribute(\"property\") ===\n (null == current.property\n ? null\n : current.property) &&\n currentResource.getAttribute(\"http-equiv\") ===\n (null == current.httpEquiv\n ? null\n : current.httpEquiv) &&\n currentResource.getAttribute(\"charset\") ===\n (null == current.charSet\n ? null\n : current.charSet))\n ) {\n maybeNodes.splice(i, 1);\n break b;\n }\n currentResource = hoistableRoot.createElement(flags);\n setInitialProperties(currentResource, flags, current);\n hoistableRoot.head.appendChild(currentResource);\n break;\n default:\n throw Error(formatProdErrorMessage(468, flags));\n }\n currentResource[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(currentResource);\n flags = currentResource;\n }\n finishedWork.stateNode = flags;\n } else\n mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n );\n else\n finishedWork.stateNode = acquireResource(\n hoistableRoot,\n flags,\n finishedWork.memoizedProps\n );\n else\n currentResource !== flags\n ? (null === currentResource\n ? null !== current.stateNode &&\n ((current = current.stateNode),\n current.parentNode.removeChild(current))\n : currentResource.count--,\n null === flags\n ? mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n )\n : acquireResource(\n hoistableRoot,\n flags,\n finishedWork.memoizedProps\n ))\n : null === flags &&\n null !== finishedWork.stateNode &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n }\n break;\n case 27:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n null !== current &&\n flags & 4 &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n break;\n case 5:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (finishedWork.flags & 32) {\n hoistableRoot = finishedWork.stateNode;\n try {\n setTextContent(hoistableRoot, \"\");\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n flags & 4 &&\n null != finishedWork.stateNode &&\n ((hoistableRoot = finishedWork.memoizedProps),\n commitHostUpdate(\n finishedWork,\n hoistableRoot,\n null !== current ? current.memoizedProps : hoistableRoot\n ));\n flags & 1024 && (needsFormReset = !0);\n break;\n case 6:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n if (flags & 4) {\n if (null === finishedWork.stateNode)\n throw Error(formatProdErrorMessage(162));\n flags = finishedWork.memoizedProps;\n current = finishedWork.stateNode;\n try {\n current.nodeValue = flags;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 3:\n tagCaches = null;\n hoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(root.containerInfo);\n recursivelyTraverseMutationEffects(root, finishedWork);\n currentHoistableRoot = hoistableRoot;\n commitReconciliationEffects(finishedWork);\n if (flags & 4 && null !== current && current.memoizedState.isDehydrated)\n try {\n retryIfBlockedOn(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n needsFormReset &&\n ((needsFormReset = !1), recursivelyResetForms(finishedWork));\n break;\n case 4:\n flags = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(\n finishedWork.stateNode.containerInfo\n );\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n currentHoistableRoot = flags;\n break;\n case 12:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 13:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n finishedWork.child.flags & 8192 &&\n (null !== finishedWork.memoizedState) !==\n (null !== current && null !== current.memoizedState) &&\n (globalMostRecentFallbackTime = now());\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 22:\n hoistableRoot = null !== finishedWork.memoizedState;\n var wasHidden = null !== current && null !== current.memoizedState,\n prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || hoistableRoot;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n commitReconciliationEffects(finishedWork);\n if (flags & 8192)\n a: for (\n root = finishedWork.stateNode,\n root._visibility = hoistableRoot\n ? root._visibility & -2\n : root._visibility | 1,\n hoistableRoot &&\n (null === current ||\n wasHidden ||\n offscreenSubtreeIsHidden ||\n offscreenSubtreeWasHidden ||\n recursivelyTraverseDisappearLayoutEffects(finishedWork)),\n current = null,\n root = finishedWork;\n ;\n\n ) {\n if (5 === root.tag || 26 === root.tag) {\n if (null === current) {\n wasHidden = current = root;\n try {\n if (((currentResource = wasHidden.stateNode), hoistableRoot))\n (maybeNodes = currentResource.style),\n \"function\" === typeof maybeNodes.setProperty\n ? maybeNodes.setProperty(\"display\", \"none\", \"important\")\n : (maybeNodes.display = \"none\");\n else {\n i = wasHidden.stateNode;\n var styleProp = wasHidden.memoizedProps.style,\n display =\n void 0 !== styleProp &&\n null !== styleProp &&\n styleProp.hasOwnProperty(\"display\")\n ? styleProp.display\n : null;\n i.style.display =\n null == display || \"boolean\" === typeof display\n ? \"\"\n : (\"\" + display).trim();\n }\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (6 === root.tag) {\n if (null === current) {\n wasHidden = root;\n try {\n wasHidden.stateNode.nodeValue = hoistableRoot\n ? \"\"\n : wasHidden.memoizedProps;\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (\n ((22 !== root.tag && 23 !== root.tag) ||\n null === root.memoizedState ||\n root === finishedWork) &&\n null !== root.child\n ) {\n root.child.return = root;\n root = root.child;\n continue;\n }\n if (root === finishedWork) break a;\n for (; null === root.sibling; ) {\n if (null === root.return || root.return === finishedWork) break a;\n current === root && (current = null);\n root = root.return;\n }\n current === root && (current = null);\n root.sibling.return = root.return;\n root = root.sibling;\n }\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((current = flags.retryQueue),\n null !== current &&\n ((flags.retryQueue = null),\n attachSuspenseRetryListeners(finishedWork, current))));\n break;\n case 19:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 30:\n break;\n case 21:\n break;\n default:\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork);\n }\n}\nfunction commitReconciliationEffects(finishedWork) {\n var flags = finishedWork.flags;\n if (flags & 2) {\n try {\n for (\n var hostParentFiber, parentFiber = finishedWork.return;\n null !== parentFiber;\n\n ) {\n if (isHostParent(parentFiber)) {\n hostParentFiber = parentFiber;\n break;\n }\n parentFiber = parentFiber.return;\n }\n if (null == hostParentFiber) throw Error(formatProdErrorMessage(160));\n switch (hostParentFiber.tag) {\n case 27:\n var parent = hostParentFiber.stateNode,\n before = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(finishedWork, before, parent);\n break;\n case 5:\n var parent$144 = hostParentFiber.stateNode;\n hostParentFiber.flags & 32 &&\n (setTextContent(parent$144, \"\"), (hostParentFiber.flags &= -33));\n var before$145 = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(finishedWork, before$145, parent$144);\n break;\n case 3:\n case 4:\n var parent$146 = hostParentFiber.stateNode.containerInfo,\n before$147 = getHostSibling(finishedWork);\n insertOrAppendPlacementNodeIntoContainer(\n finishedWork,\n before$147,\n parent$146\n );\n break;\n default:\n throw Error(formatProdErrorMessage(161));\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n finishedWork.flags &= -3;\n }\n flags & 4096 && (finishedWork.flags &= -4097);\n}\nfunction recursivelyResetForms(parentFiber) {\n if (parentFiber.subtreeFlags & 1024)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var fiber = parentFiber;\n recursivelyResetForms(fiber);\n 5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset();\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseLayoutEffects(root, parentFiber) {\n if (parentFiber.subtreeFlags & 8772)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitLayoutEffectOnFiber(root, parentFiber.alternate, parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction recursivelyTraverseDisappearLayoutEffects(parentFiber) {\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedWork = parentFiber;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(4, finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 1:\n safelyDetachRef(finishedWork, finishedWork.return);\n var instance = finishedWork.stateNode;\n \"function\" === typeof instance.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n finishedWork,\n finishedWork.return,\n instance\n );\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 27:\n releaseSingletonInstance(finishedWork.stateNode);\n case 26:\n case 5:\n safelyDetachRef(finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 30:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n default:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseReappearLayoutEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var current = parentFiber.alternate,\n finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(4, finishedWork);\n break;\n case 1:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n current = finishedWork;\n finishedRoot = current.stateNode;\n if (\"function\" === typeof finishedRoot.componentDidMount)\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n current = finishedWork;\n finishedRoot = current.updateQueue;\n if (null !== finishedRoot) {\n var instance = current.stateNode;\n try {\n var hiddenCallbacks = finishedRoot.shared.hiddenCallbacks;\n if (null !== hiddenCallbacks)\n for (\n finishedRoot.shared.hiddenCallbacks = null, finishedRoot = 0;\n finishedRoot < hiddenCallbacks.length;\n finishedRoot++\n )\n callCallback(hiddenCallbacks[finishedRoot], instance);\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n }\n includeWorkInProgressEffects &&\n flags & 64 &&\n commitClassCallbacks(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 27:\n commitHostSingletonAcquisition(finishedWork);\n case 26:\n case 5:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n null === current &&\n flags & 4 &&\n commitHostMount(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n break;\n case 13:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 30:\n break;\n default:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitOffscreenPassiveMountEffects(current, finishedWork) {\n var previousCache = null;\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (previousCache = current.memoizedState.cachePool.pool);\n current = null;\n null !== finishedWork.memoizedState &&\n null !== finishedWork.memoizedState.cachePool &&\n (current = finishedWork.memoizedState.cachePool.pool);\n current !== previousCache &&\n (null != current && current.refCount++,\n null != previousCache && releaseCache(previousCache));\n}\nfunction commitCachePassiveMountEffect(current, finishedWork) {\n current = null;\n null !== finishedWork.alternate &&\n (current = finishedWork.alternate.memoizedState.cache);\n finishedWork = finishedWork.memoizedState.cache;\n finishedWork !== current &&\n (finishedWork.refCount++, null != current && releaseCache(current));\n}\nfunction recursivelyTraversePassiveMountEffects(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveMountOnFiber(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveMountOnFiber(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 && commitHookEffectListMount(9, finishedWork);\n break;\n case 1:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 3:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n ((finishedRoot = null),\n null !== finishedWork.alternate &&\n (finishedRoot = finishedWork.alternate.memoizedState.cache),\n (finishedWork = finishedWork.memoizedState.cache),\n finishedWork !== finishedRoot &&\n (finishedWork.refCount++,\n null != finishedRoot && releaseCache(finishedRoot)));\n break;\n case 12:\n if (flags & 2048) {\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n finishedRoot = finishedWork.stateNode;\n try {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n id = _finishedWork$memoize2.id,\n onPostCommit = _finishedWork$memoize2.onPostCommit;\n \"function\" === typeof onPostCommit &&\n onPostCommit(\n id,\n null === finishedWork.alternate ? \"mount\" : \"update\",\n finishedRoot.passiveEffectDuration,\n -0\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 13:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 23:\n break;\n case 22:\n _finishedWork$memoize2 = finishedWork.stateNode;\n id = finishedWork.alternate;\n null !== finishedWork.memoizedState\n ? _finishedWork$memoize2._visibility & 2\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork)\n : _finishedWork$memoize2._visibility & 2\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : ((_finishedWork$memoize2._visibility |= 2),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n 0 !== (finishedWork.subtreeFlags & 10256)\n ));\n flags & 2048 && commitOffscreenPassiveMountEffects(id, finishedWork);\n break;\n case 24:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n }\n}\nfunction recursivelyTraverseReconnectPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n committedLanes$jscomp$0,\n committedTransitions$jscomp$0,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 10256);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n committedLanes = committedLanes$jscomp$0,\n committedTransitions = committedTransitions$jscomp$0,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(8, finishedWork);\n break;\n case 23:\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? instance._visibility & 2\n ? recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((instance._visibility |= 2),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ));\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseAtomicPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 22:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nvar suspenseyCommitFlag = 8192;\nfunction recursivelyAccumulateSuspenseyCommit(parentFiber) {\n if (parentFiber.subtreeFlags & suspenseyCommitFlag)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n accumulateSuspenseyCommitOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction accumulateSuspenseyCommitOnFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n recursivelyAccumulateSuspenseyCommit(fiber);\n fiber.flags & suspenseyCommitFlag &&\n null !== fiber.memoizedState &&\n suspendResource(\n currentHoistableRoot,\n fiber.memoizedState,\n fiber.memoizedProps\n );\n break;\n case 5:\n recursivelyAccumulateSuspenseyCommit(fiber);\n break;\n case 3:\n case 4:\n var previousHoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(fiber.stateNode.containerInfo);\n recursivelyAccumulateSuspenseyCommit(fiber);\n currentHoistableRoot = previousHoistableRoot;\n break;\n case 22:\n null === fiber.memoizedState &&\n ((previousHoistableRoot = fiber.alternate),\n null !== previousHoistableRoot &&\n null !== previousHoistableRoot.memoizedState\n ? ((previousHoistableRoot = suspenseyCommitFlag),\n (suspenseyCommitFlag = 16777216),\n recursivelyAccumulateSuspenseyCommit(fiber),\n (suspenseyCommitFlag = previousHoistableRoot))\n : recursivelyAccumulateSuspenseyCommit(fiber));\n break;\n default:\n recursivelyAccumulateSuspenseyCommit(fiber);\n }\n}\nfunction detachAlternateSiblings(parentFiber) {\n var previousFiber = parentFiber.alternate;\n if (\n null !== previousFiber &&\n ((parentFiber = previousFiber.child), null !== parentFiber)\n ) {\n previousFiber.child = null;\n do\n (previousFiber = parentFiber.sibling),\n (parentFiber.sibling = null),\n (parentFiber = previousFiber);\n while (null !== parentFiber);\n }\n}\nfunction recursivelyTraversePassiveUnmountEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveUnmountOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.flags & 2048 &&\n commitHookEffectListUnmount(9, finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 12:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState &&\n instance._visibility & 2 &&\n (null === finishedWork.return || 13 !== finishedWork.return.tag)\n ? ((instance._visibility &= -3),\n recursivelyTraverseDisconnectPassiveEffects(finishedWork))\n : recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n default:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n }\n}\nfunction recursivelyTraverseDisconnectPassiveEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n deletions = parentFiber;\n switch (deletions.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, deletions, deletions.return);\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n break;\n case 22:\n i = deletions.stateNode;\n i._visibility & 2 &&\n ((i._visibility &= -3),\n recursivelyTraverseDisconnectPassiveEffects(deletions));\n break;\n default:\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n deletedSubtreeRoot,\n nearestMountedAncestor\n) {\n for (; null !== nextEffect; ) {\n var fiber = nextEffect;\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, fiber, nearestMountedAncestor);\n break;\n case 23:\n case 22:\n if (\n null !== fiber.memoizedState &&\n null !== fiber.memoizedState.cachePool\n ) {\n var cache = fiber.memoizedState.cachePool.pool;\n null != cache && cache.refCount++;\n }\n break;\n case 24:\n releaseCache(fiber.memoizedState.cache);\n }\n cache = fiber.child;\n if (null !== cache) (cache.return = fiber), (nextEffect = cache);\n else\n a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {\n cache = nextEffect;\n var sibling = cache.sibling,\n returnFiber = cache.return;\n detachFiberAfterEffects(cache);\n if (cache === fiber) {\n nextEffect = null;\n break a;\n }\n if (null !== sibling) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n break a;\n }\n nextEffect = returnFiber;\n }\n }\n}\nvar DefaultAsyncDispatcher = {\n getCacheForType: function (resourceType) {\n var cache = readContext(CacheContext),\n cacheForType = cache.data.get(resourceType);\n void 0 === cacheForType &&\n ((cacheForType = resourceType()),\n cache.data.set(resourceType, cacheForType));\n return cacheForType;\n }\n },\n PossiblyWeakMap = \"function\" === typeof WeakMap ? WeakMap : Map,\n executionContext = 0,\n workInProgressRoot = null,\n workInProgress = null,\n workInProgressRootRenderLanes = 0,\n workInProgressSuspendedReason = 0,\n workInProgressThrownValue = null,\n workInProgressRootDidSkipSuspendedSiblings = !1,\n workInProgressRootIsPrerendering = !1,\n workInProgressRootDidAttachPingListener = !1,\n entangledRenderLanes = 0,\n workInProgressRootExitStatus = 0,\n workInProgressRootSkippedLanes = 0,\n workInProgressRootInterleavedUpdatedLanes = 0,\n workInProgressRootPingedLanes = 0,\n workInProgressDeferredLane = 0,\n workInProgressSuspendedRetryLanes = 0,\n workInProgressRootConcurrentErrors = null,\n workInProgressRootRecoverableErrors = null,\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1,\n globalMostRecentFallbackTime = 0,\n workInProgressRootRenderTargetTime = Infinity,\n workInProgressTransitions = null,\n legacyErrorBoundariesThatAlreadyFailed = null,\n pendingEffectsStatus = 0,\n pendingEffectsRoot = null,\n pendingFinishedWork = null,\n pendingEffectsLanes = 0,\n pendingEffectsRemainingLanes = 0,\n pendingPassiveTransitions = null,\n pendingRecoverableErrors = null,\n nestedUpdateCount = 0,\n rootWithNestedUpdates = null;\nfunction requestUpdateLane() {\n if (0 !== (executionContext & 2) && 0 !== workInProgressRootRenderLanes)\n return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;\n if (null !== ReactSharedInternals.T) {\n var actionScopeLane = currentEntangledLane;\n return 0 !== actionScopeLane ? actionScopeLane : requestTransitionLane();\n }\n return resolveUpdatePriority();\n}\nfunction requestDeferredLane() {\n 0 === workInProgressDeferredLane &&\n (workInProgressDeferredLane =\n 0 === (workInProgressRootRenderLanes & 536870912) || isHydrating\n ? claimNextTransitionLane()\n : 536870912);\n var suspenseHandler = suspenseHandlerStackCursor.current;\n null !== suspenseHandler && (suspenseHandler.flags |= 32);\n return workInProgressDeferredLane;\n}\nfunction scheduleUpdateOnFiber(root, fiber, lane) {\n if (\n (root === workInProgressRoot &&\n (2 === workInProgressSuspendedReason ||\n 9 === workInProgressSuspendedReason)) ||\n null !== root.cancelPendingCommit\n )\n prepareFreshStack(root, 0),\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n markRootUpdated$1(root, lane);\n if (0 === (executionContext & 2) || root !== workInProgressRoot)\n root === workInProgressRoot &&\n (0 === (executionContext & 2) &&\n (workInProgressRootInterleavedUpdatedLanes |= lane),\n 4 === workInProgressRootExitStatus &&\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n )),\n ensureRootIsScheduled(root);\n}\nfunction performWorkOnRoot(root$jscomp$0, lanes, forceSync) {\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n var shouldTimeSlice =\n (!forceSync &&\n 0 === (lanes & 124) &&\n 0 === (lanes & root$jscomp$0.expiredLanes)) ||\n checkIfRootIsPrerendering(root$jscomp$0, lanes),\n exitStatus = shouldTimeSlice\n ? renderRootConcurrent(root$jscomp$0, lanes)\n : renderRootSync(root$jscomp$0, lanes, !0),\n renderWasConcurrent = shouldTimeSlice;\n do {\n if (0 === exitStatus) {\n workInProgressRootIsPrerendering &&\n !shouldTimeSlice &&\n markRootSuspended(root$jscomp$0, lanes, 0, !1);\n break;\n } else {\n forceSync = root$jscomp$0.current.alternate;\n if (\n renderWasConcurrent &&\n !isRenderConsistentWithExternalStores(forceSync)\n ) {\n exitStatus = renderRootSync(root$jscomp$0, lanes, !1);\n renderWasConcurrent = !1;\n continue;\n }\n if (2 === exitStatus) {\n renderWasConcurrent = lanes;\n if (root$jscomp$0.errorRecoveryDisabledLanes & renderWasConcurrent)\n var JSCompiler_inline_result = 0;\n else\n (JSCompiler_inline_result = root$jscomp$0.pendingLanes & -536870913),\n (JSCompiler_inline_result =\n 0 !== JSCompiler_inline_result\n ? JSCompiler_inline_result\n : JSCompiler_inline_result & 536870912\n ? 536870912\n : 0);\n if (0 !== JSCompiler_inline_result) {\n lanes = JSCompiler_inline_result;\n a: {\n var root = root$jscomp$0;\n exitStatus = workInProgressRootConcurrentErrors;\n var wasRootDehydrated = root.current.memoizedState.isDehydrated;\n wasRootDehydrated &&\n (prepareFreshStack(root, JSCompiler_inline_result).flags |= 256);\n JSCompiler_inline_result = renderRootSync(\n root,\n JSCompiler_inline_result,\n !1\n );\n if (2 !== JSCompiler_inline_result) {\n if (\n workInProgressRootDidAttachPingListener &&\n !wasRootDehydrated\n ) {\n root.errorRecoveryDisabledLanes |= renderWasConcurrent;\n workInProgressRootInterleavedUpdatedLanes |=\n renderWasConcurrent;\n exitStatus = 4;\n break a;\n }\n renderWasConcurrent = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = exitStatus;\n null !== renderWasConcurrent &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = renderWasConcurrent)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n renderWasConcurrent\n ));\n }\n exitStatus = JSCompiler_inline_result;\n }\n renderWasConcurrent = !1;\n if (2 !== exitStatus) continue;\n }\n }\n if (1 === exitStatus) {\n prepareFreshStack(root$jscomp$0, 0);\n markRootSuspended(root$jscomp$0, lanes, 0, !0);\n break;\n }\n a: {\n shouldTimeSlice = root$jscomp$0;\n renderWasConcurrent = exitStatus;\n switch (renderWasConcurrent) {\n case 0:\n case 1:\n throw Error(formatProdErrorMessage(345));\n case 4:\n if ((lanes & 4194048) !== lanes) break;\n case 6:\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n break a;\n case 2:\n workInProgressRootRecoverableErrors = null;\n break;\n case 3:\n case 5:\n break;\n default:\n throw Error(formatProdErrorMessage(329));\n }\n if (\n (lanes & 62914560) === lanes &&\n ((exitStatus = globalMostRecentFallbackTime + 300 - now()),\n 10 < exitStatus)\n ) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n if (0 !== getNextLanes(shouldTimeSlice, 0, !0)) break a;\n shouldTimeSlice.timeoutHandle = scheduleTimeout(\n commitRootWhenReady.bind(\n null,\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n renderWasConcurrent,\n 2,\n -0,\n 0\n ),\n exitStatus\n );\n break a;\n }\n commitRootWhenReady(\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n renderWasConcurrent,\n 0,\n -0,\n 0\n );\n }\n }\n break;\n } while (1);\n ensureRootIsScheduled(root$jscomp$0);\n}\nfunction commitRootWhenReady(\n root,\n finishedWork,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n exitStatus,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n) {\n root.timeoutHandle = -1;\n suspendedCommitReason = finishedWork.subtreeFlags;\n if (\n suspendedCommitReason & 8192 ||\n 16785408 === (suspendedCommitReason & 16785408)\n )\n if (\n ((suspendedState = { stylesheets: null, count: 0, unsuspend: noop }),\n accumulateSuspenseyCommitOnFiber(finishedWork),\n (suspendedCommitReason = waitForCommitToBeReady()),\n null !== suspendedCommitReason)\n ) {\n root.cancelPendingCommit = suspendedCommitReason(\n commitRoot.bind(\n null,\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n exitStatus,\n 1,\n completedRenderStartTime,\n completedRenderEndTime\n )\n );\n markRootSuspended(root, lanes, spawnedLane, !didSkipSuspendedSiblings);\n return;\n }\n commitRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n}\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n for (var node = finishedWork; ; ) {\n var tag = node.tag;\n if (\n (0 === tag || 11 === tag || 15 === tag) &&\n node.flags & 16384 &&\n ((tag = node.updateQueue),\n null !== tag && ((tag = tag.stores), null !== tag))\n )\n for (var i = 0; i < tag.length; i++) {\n var check = tag[i],\n getSnapshot = check.getSnapshot;\n check = check.value;\n try {\n if (!objectIs(getSnapshot(), check)) return !1;\n } catch (error) {\n return !1;\n }\n }\n tag = node.child;\n if (node.subtreeFlags & 16384 && null !== tag)\n (tag.return = node), (node = tag);\n else {\n if (node === finishedWork) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === finishedWork) return !0;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n return !0;\n}\nfunction markRootSuspended(\n root,\n suspendedLanes,\n spawnedLane,\n didAttemptEntireTree\n) {\n suspendedLanes &= ~workInProgressRootPingedLanes;\n suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes;\n didAttemptEntireTree && (root.warmLanes |= suspendedLanes);\n didAttemptEntireTree = root.expirationTimes;\n for (var lanes = suspendedLanes; 0 < lanes; ) {\n var index$4 = 31 - clz32(lanes),\n lane = 1 << index$4;\n didAttemptEntireTree[index$4] = -1;\n lanes &= ~lane;\n }\n 0 !== spawnedLane &&\n markSpawnedDeferredLane(root, spawnedLane, suspendedLanes);\n}\nfunction flushSyncWork$1() {\n return 0 === (executionContext & 6)\n ? (flushSyncWorkAcrossRoots_impl(0, !1), !1)\n : !0;\n}\nfunction resetWorkInProgressStack() {\n if (null !== workInProgress) {\n if (0 === workInProgressSuspendedReason)\n var interruptedWork = workInProgress.return;\n else\n (interruptedWork = workInProgress),\n (lastContextDependency = currentlyRenderingFiber$1 = null),\n resetHooksOnUnwind(interruptedWork),\n (thenableState = null),\n (thenableIndexCounter = 0),\n (interruptedWork = workInProgress);\n for (; null !== interruptedWork; )\n unwindInterruptedWork(interruptedWork.alternate, interruptedWork),\n (interruptedWork = interruptedWork.return);\n workInProgress = null;\n }\n}\nfunction prepareFreshStack(root, lanes) {\n var timeoutHandle = root.timeoutHandle;\n -1 !== timeoutHandle &&\n ((root.timeoutHandle = -1), cancelTimeout(timeoutHandle));\n timeoutHandle = root.cancelPendingCommit;\n null !== timeoutHandle &&\n ((root.cancelPendingCommit = null), timeoutHandle());\n resetWorkInProgressStack();\n workInProgressRoot = root;\n workInProgress = timeoutHandle = createWorkInProgress(root.current, null);\n workInProgressRootRenderLanes = lanes;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n workInProgressRootDidSkipSuspendedSiblings = !1;\n workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes);\n workInProgressRootDidAttachPingListener = !1;\n workInProgressSuspendedRetryLanes =\n workInProgressDeferredLane =\n workInProgressRootPingedLanes =\n workInProgressRootInterleavedUpdatedLanes =\n workInProgressRootSkippedLanes =\n workInProgressRootExitStatus =\n 0;\n workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors =\n null;\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1;\n 0 !== (lanes & 8) && (lanes |= lanes & 32);\n var allEntangledLanes = root.entangledLanes;\n if (0 !== allEntangledLanes)\n for (\n root = root.entanglements, allEntangledLanes &= lanes;\n 0 < allEntangledLanes;\n\n ) {\n var index$2 = 31 - clz32(allEntangledLanes),\n lane = 1 << index$2;\n lanes |= root[index$2];\n allEntangledLanes &= ~lane;\n }\n entangledRenderLanes = lanes;\n finishQueueingConcurrentUpdates();\n return timeoutHandle;\n}\nfunction handleThrow(root, thrownValue) {\n currentlyRenderingFiber = null;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n thrownValue === SuspenseException || thrownValue === SuspenseActionException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 3))\n : thrownValue === SuspenseyCommitException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 4))\n : (workInProgressSuspendedReason =\n thrownValue === SelectiveHydrationException\n ? 8\n : null !== thrownValue &&\n \"object\" === typeof thrownValue &&\n \"function\" === typeof thrownValue.then\n ? 6\n : 1);\n workInProgressThrownValue = thrownValue;\n null === workInProgress &&\n ((workInProgressRootExitStatus = 1),\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n ));\n}\nfunction pushDispatcher() {\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;\n}\nfunction pushAsyncDispatcher() {\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n return prevAsyncDispatcher;\n}\nfunction renderDidSuspendDelayIfPossible() {\n workInProgressRootExitStatus = 4;\n workInProgressRootDidSkipSuspendedSiblings ||\n ((workInProgressRootRenderLanes & 4194048) !==\n workInProgressRootRenderLanes &&\n null !== suspenseHandlerStackCursor.current) ||\n (workInProgressRootIsPrerendering = !0);\n (0 === (workInProgressRootSkippedLanes & 134217727) &&\n 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727)) ||\n null === workInProgressRoot ||\n markRootSuspended(\n workInProgressRoot,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n}\nfunction renderRootSync(root, lanes, shouldYieldForPrerendering) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes)\n (workInProgressTransitions = null), prepareFreshStack(root, lanes);\n lanes = !1;\n var exitStatus = workInProgressRootExitStatus;\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n var unitOfWork = workInProgress,\n thrownValue = workInProgressThrownValue;\n switch (workInProgressSuspendedReason) {\n case 8:\n resetWorkInProgressStack();\n exitStatus = 6;\n break a;\n case 3:\n case 2:\n case 9:\n case 6:\n null === suspenseHandlerStackCursor.current && (lanes = !0);\n var reason = workInProgressSuspendedReason;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n if (\n shouldYieldForPrerendering &&\n workInProgressRootIsPrerendering\n ) {\n exitStatus = 0;\n break a;\n }\n break;\n default:\n (reason = workInProgressSuspendedReason),\n (workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n }\n }\n workLoopSync();\n exitStatus = workInProgressRootExitStatus;\n break;\n } catch (thrownValue$167) {\n handleThrow(root, thrownValue$167);\n }\n while (1);\n lanes && root.shellSuspendCounter++;\n lastContextDependency = currentlyRenderingFiber$1 = null;\n executionContext = prevExecutionContext;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n null === workInProgress &&\n ((workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0),\n finishQueueingConcurrentUpdates());\n return exitStatus;\n}\nfunction workLoopSync() {\n for (; null !== workInProgress; ) performUnitOfWork(workInProgress);\n}\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes\n ? ((workInProgressTransitions = null),\n (workInProgressRootRenderTargetTime = now() + 500),\n prepareFreshStack(root, lanes))\n : (workInProgressRootIsPrerendering = checkIfRootIsPrerendering(\n root,\n lanes\n ));\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n lanes = workInProgress;\n var thrownValue = workInProgressThrownValue;\n b: switch (workInProgressSuspendedReason) {\n case 1:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 1);\n break;\n case 2:\n case 9:\n if (isThenableResolved(thrownValue)) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(lanes);\n break;\n }\n lanes = function () {\n (2 !== workInProgressSuspendedReason &&\n 9 !== workInProgressSuspendedReason) ||\n workInProgressRoot !== root ||\n (workInProgressSuspendedReason = 7);\n ensureRootIsScheduled(root);\n };\n thrownValue.then(lanes, lanes);\n break a;\n case 3:\n workInProgressSuspendedReason = 7;\n break a;\n case 4:\n workInProgressSuspendedReason = 5;\n break a;\n case 7:\n isThenableResolved(thrownValue)\n ? ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n replaySuspendedUnitOfWork(lanes))\n : ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 7));\n break;\n case 5:\n var resource = null;\n switch (workInProgress.tag) {\n case 26:\n resource = workInProgress.memoizedState;\n case 5:\n case 27:\n var hostFiber = workInProgress;\n if (resource ? preloadResource(resource) : 1) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n var sibling = hostFiber.sibling;\n if (null !== sibling) workInProgress = sibling;\n else {\n var returnFiber = hostFiber.return;\n null !== returnFiber\n ? ((workInProgress = returnFiber),\n completeUnitOfWork(returnFiber))\n : (workInProgress = null);\n }\n break b;\n }\n }\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 5);\n break;\n case 6:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 6);\n break;\n case 8:\n resetWorkInProgressStack();\n workInProgressRootExitStatus = 6;\n break a;\n default:\n throw Error(formatProdErrorMessage(462));\n }\n }\n workLoopConcurrentByScheduler();\n break;\n } catch (thrownValue$169) {\n handleThrow(root, thrownValue$169);\n }\n while (1);\n lastContextDependency = currentlyRenderingFiber$1 = null;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n executionContext = prevExecutionContext;\n if (null !== workInProgress) return 0;\n workInProgressRoot = null;\n workInProgressRootRenderLanes = 0;\n finishQueueingConcurrentUpdates();\n return workInProgressRootExitStatus;\n}\nfunction workLoopConcurrentByScheduler() {\n for (; null !== workInProgress && !shouldYield(); )\n performUnitOfWork(workInProgress);\n}\nfunction performUnitOfWork(unitOfWork) {\n var next = beginWork(unitOfWork.alternate, unitOfWork, entangledRenderLanes);\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction replaySuspendedUnitOfWork(unitOfWork) {\n var next = unitOfWork;\n var current = next.alternate;\n switch (next.tag) {\n case 15:\n case 0:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type,\n void 0,\n workInProgressRootRenderLanes\n );\n break;\n case 11:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type.render,\n next.ref,\n workInProgressRootRenderLanes\n );\n break;\n case 5:\n resetHooksOnUnwind(next);\n default:\n unwindInterruptedWork(current, next),\n (next = workInProgress =\n resetWorkInProgress(next, entangledRenderLanes)),\n (next = beginWork(current, next, entangledRenderLanes));\n }\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction throwAndUnwindWorkLoop(\n root,\n unitOfWork,\n thrownValue,\n suspendedReason\n) {\n lastContextDependency = currentlyRenderingFiber$1 = null;\n resetHooksOnUnwind(unitOfWork);\n thenableState = null;\n thenableIndexCounter = 0;\n var returnFiber = unitOfWork.return;\n try {\n if (\n throwException(\n root,\n returnFiber,\n unitOfWork,\n thrownValue,\n workInProgressRootRenderLanes\n )\n ) {\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n } catch (error) {\n if (null !== returnFiber) throw ((workInProgress = returnFiber), error);\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n if (unitOfWork.flags & 32768) {\n if (isHydrating || 1 === suspendedReason) root = !0;\n else if (\n workInProgressRootIsPrerendering ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n )\n root = !1;\n else if (\n ((workInProgressRootDidSkipSuspendedSiblings = root = !0),\n 2 === suspendedReason ||\n 9 === suspendedReason ||\n 3 === suspendedReason ||\n 6 === suspendedReason)\n )\n (suspendedReason = suspenseHandlerStackCursor.current),\n null !== suspendedReason &&\n 13 === suspendedReason.tag &&\n (suspendedReason.flags |= 16384);\n unwindUnitOfWork(unitOfWork, root);\n } else completeUnitOfWork(unitOfWork);\n}\nfunction completeUnitOfWork(unitOfWork) {\n var completedWork = unitOfWork;\n do {\n if (0 !== (completedWork.flags & 32768)) {\n unwindUnitOfWork(\n completedWork,\n workInProgressRootDidSkipSuspendedSiblings\n );\n return;\n }\n unitOfWork = completedWork.return;\n var next = completeWork(\n completedWork.alternate,\n completedWork,\n entangledRenderLanes\n );\n if (null !== next) {\n workInProgress = next;\n return;\n }\n completedWork = completedWork.sibling;\n if (null !== completedWork) {\n workInProgress = completedWork;\n return;\n }\n workInProgress = completedWork = unitOfWork;\n } while (null !== completedWork);\n 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);\n}\nfunction unwindUnitOfWork(unitOfWork, skipSiblings) {\n do {\n var next = unwindWork(unitOfWork.alternate, unitOfWork);\n if (null !== next) {\n next.flags &= 32767;\n workInProgress = next;\n return;\n }\n next = unitOfWork.return;\n null !== next &&\n ((next.flags |= 32768), (next.subtreeFlags = 0), (next.deletions = null));\n if (\n !skipSiblings &&\n ((unitOfWork = unitOfWork.sibling), null !== unitOfWork)\n ) {\n workInProgress = unitOfWork;\n return;\n }\n workInProgress = unitOfWork = next;\n } while (null !== unitOfWork);\n workInProgressRootExitStatus = 6;\n workInProgress = null;\n}\nfunction commitRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n root.cancelPendingCommit = null;\n do flushPendingEffects();\n while (0 !== pendingEffectsStatus);\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n if (null !== finishedWork) {\n if (finishedWork === root.current) throw Error(formatProdErrorMessage(177));\n didIncludeRenderPhaseUpdate = finishedWork.lanes | finishedWork.childLanes;\n didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes;\n markRootFinished(\n root,\n lanes,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n root === workInProgressRoot &&\n ((workInProgress = workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0));\n pendingFinishedWork = finishedWork;\n pendingEffectsRoot = root;\n pendingEffectsLanes = lanes;\n pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate;\n pendingPassiveTransitions = transitions;\n pendingRecoverableErrors = recoverableErrors;\n 0 !== (finishedWork.subtreeFlags & 10256) ||\n 0 !== (finishedWork.flags & 10256)\n ? ((root.callbackNode = null),\n (root.callbackPriority = 0),\n scheduleCallback$1(NormalPriority$1, function () {\n flushPassiveEffects(!0);\n return null;\n }))\n : ((root.callbackNode = null), (root.callbackPriority = 0));\n recoverableErrors = 0 !== (finishedWork.flags & 13878);\n if (0 !== (finishedWork.subtreeFlags & 13878) || recoverableErrors) {\n recoverableErrors = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n transitions = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n spawnedLane = executionContext;\n executionContext |= 4;\n try {\n commitBeforeMutationEffects(root, finishedWork, lanes);\n } finally {\n (executionContext = spawnedLane),\n (ReactDOMSharedInternals.p = transitions),\n (ReactSharedInternals.T = recoverableErrors);\n }\n }\n pendingEffectsStatus = 1;\n flushMutationEffects();\n flushLayoutEffects();\n flushSpawnedWork();\n }\n}\nfunction flushMutationEffects() {\n if (1 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n rootMutationHasEffect = 0 !== (finishedWork.flags & 13878);\n if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) {\n rootMutationHasEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n try {\n commitMutationEffectsOnFiber(finishedWork, root);\n var priorSelectionInformation = selectionInformation,\n curFocusedElem = getActiveElementDeep(root.containerInfo),\n priorFocusedElem = priorSelectionInformation.focusedElem,\n priorSelectionRange = priorSelectionInformation.selectionRange;\n if (\n curFocusedElem !== priorFocusedElem &&\n priorFocusedElem &&\n priorFocusedElem.ownerDocument &&\n containsNode(\n priorFocusedElem.ownerDocument.documentElement,\n priorFocusedElem\n )\n ) {\n if (\n null !== priorSelectionRange &&\n hasSelectionCapabilities(priorFocusedElem)\n ) {\n var start = priorSelectionRange.start,\n end = priorSelectionRange.end;\n void 0 === end && (end = start);\n if (\"selectionStart\" in priorFocusedElem)\n (priorFocusedElem.selectionStart = start),\n (priorFocusedElem.selectionEnd = Math.min(\n end,\n priorFocusedElem.value.length\n ));\n else {\n var doc = priorFocusedElem.ownerDocument || document,\n win = (doc && doc.defaultView) || window;\n if (win.getSelection) {\n var selection = win.getSelection(),\n length = priorFocusedElem.textContent.length,\n start$jscomp$0 = Math.min(priorSelectionRange.start, length),\n end$jscomp$0 =\n void 0 === priorSelectionRange.end\n ? start$jscomp$0\n : Math.min(priorSelectionRange.end, length);\n !selection.extend &&\n start$jscomp$0 > end$jscomp$0 &&\n ((curFocusedElem = end$jscomp$0),\n (end$jscomp$0 = start$jscomp$0),\n (start$jscomp$0 = curFocusedElem));\n var startMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n start$jscomp$0\n ),\n endMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n end$jscomp$0\n );\n if (\n startMarker &&\n endMarker &&\n (1 !== selection.rangeCount ||\n selection.anchorNode !== startMarker.node ||\n selection.anchorOffset !== startMarker.offset ||\n selection.focusNode !== endMarker.node ||\n selection.focusOffset !== endMarker.offset)\n ) {\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n start$jscomp$0 > end$jscomp$0\n ? (selection.addRange(range),\n selection.extend(endMarker.node, endMarker.offset))\n : (range.setEnd(endMarker.node, endMarker.offset),\n selection.addRange(range));\n }\n }\n }\n }\n doc = [];\n for (\n selection = priorFocusedElem;\n (selection = selection.parentNode);\n\n )\n 1 === selection.nodeType &&\n doc.push({\n element: selection,\n left: selection.scrollLeft,\n top: selection.scrollTop\n });\n \"function\" === typeof priorFocusedElem.focus &&\n priorFocusedElem.focus();\n for (\n priorFocusedElem = 0;\n priorFocusedElem < doc.length;\n priorFocusedElem++\n ) {\n var info = doc[priorFocusedElem];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n _enabled = !!eventsEnabled;\n selectionInformation = eventsEnabled = null;\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootMutationHasEffect);\n }\n }\n root.current = finishedWork;\n pendingEffectsStatus = 2;\n }\n}\nfunction flushLayoutEffects() {\n if (2 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n rootHasLayoutEffect = 0 !== (finishedWork.flags & 8772);\n if (0 !== (finishedWork.subtreeFlags & 8772) || rootHasLayoutEffect) {\n rootHasLayoutEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n try {\n commitLayoutEffectOnFiber(root, finishedWork.alternate, finishedWork);\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootHasLayoutEffect);\n }\n }\n pendingEffectsStatus = 3;\n }\n}\nfunction flushSpawnedWork() {\n if (4 === pendingEffectsStatus || 3 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n requestPaint();\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n lanes = pendingEffectsLanes,\n recoverableErrors = pendingRecoverableErrors;\n 0 !== (finishedWork.subtreeFlags & 10256) ||\n 0 !== (finishedWork.flags & 10256)\n ? (pendingEffectsStatus = 5)\n : ((pendingEffectsStatus = 0),\n (pendingFinishedWork = pendingEffectsRoot = null),\n releaseRootPooledCache(root, root.pendingLanes));\n var remainingLanes = root.pendingLanes;\n 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);\n lanesToEventPriority(lanes);\n finishedWork = finishedWork.stateNode;\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberRoot)\n try {\n injectedHook.onCommitFiberRoot(\n rendererID,\n finishedWork,\n void 0,\n 128 === (finishedWork.current.flags & 128)\n );\n } catch (err) {}\n if (null !== recoverableErrors) {\n finishedWork = ReactSharedInternals.T;\n remainingLanes = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n ReactSharedInternals.T = null;\n try {\n for (\n var onRecoverableError = root.onRecoverableError, i = 0;\n i < recoverableErrors.length;\n i++\n ) {\n var recoverableError = recoverableErrors[i];\n onRecoverableError(recoverableError.value, {\n componentStack: recoverableError.stack\n });\n }\n } finally {\n (ReactSharedInternals.T = finishedWork),\n (ReactDOMSharedInternals.p = remainingLanes);\n }\n }\n 0 !== (pendingEffectsLanes & 3) && flushPendingEffects();\n ensureRootIsScheduled(root);\n remainingLanes = root.pendingLanes;\n 0 !== (lanes & 4194090) && 0 !== (remainingLanes & 42)\n ? root === rootWithNestedUpdates\n ? nestedUpdateCount++\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = root))\n : (nestedUpdateCount = 0);\n flushSyncWorkAcrossRoots_impl(0, !1);\n }\n}\nfunction releaseRootPooledCache(root, remainingLanes) {\n 0 === (root.pooledCacheLanes &= remainingLanes) &&\n ((remainingLanes = root.pooledCache),\n null != remainingLanes &&\n ((root.pooledCache = null), releaseCache(remainingLanes)));\n}\nfunction flushPendingEffects(wasDelayedCommit) {\n flushMutationEffects();\n flushLayoutEffects();\n flushSpawnedWork();\n return flushPassiveEffects(wasDelayedCommit);\n}\nfunction flushPassiveEffects() {\n if (5 !== pendingEffectsStatus) return !1;\n var root = pendingEffectsRoot,\n remainingLanes = pendingEffectsRemainingLanes;\n pendingEffectsRemainingLanes = 0;\n var renderPriority = lanesToEventPriority(pendingEffectsLanes),\n prevTransition = ReactSharedInternals.T,\n previousPriority = ReactDOMSharedInternals.p;\n try {\n ReactDOMSharedInternals.p = 32 > renderPriority ? 32 : renderPriority;\n ReactSharedInternals.T = null;\n renderPriority = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root$jscomp$0 = pendingEffectsRoot,\n lanes = pendingEffectsLanes;\n pendingEffectsStatus = 0;\n pendingFinishedWork = pendingEffectsRoot = null;\n pendingEffectsLanes = 0;\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(331));\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n commitPassiveUnmountOnFiber(root$jscomp$0.current);\n commitPassiveMountOnFiber(\n root$jscomp$0,\n root$jscomp$0.current,\n lanes,\n renderPriority\n );\n executionContext = prevExecutionContext;\n flushSyncWorkAcrossRoots_impl(0, !1);\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onPostCommitFiberRoot\n )\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0);\n } catch (err) {}\n return !0;\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition),\n releaseRootPooledCache(root, remainingLanes);\n }\n}\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);\n rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);\n null !== rootFiber &&\n (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));\n}\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {\n if (3 === sourceFiber.tag)\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\n else\n for (; null !== nearestMountedAncestor; ) {\n if (3 === nearestMountedAncestor.tag) {\n captureCommitPhaseErrorOnRoot(\n nearestMountedAncestor,\n sourceFiber,\n error\n );\n break;\n } else if (1 === nearestMountedAncestor.tag) {\n var instance = nearestMountedAncestor.stateNode;\n if (\n \"function\" ===\n typeof nearestMountedAncestor.type.getDerivedStateFromError ||\n (\"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance)))\n ) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n error = createClassErrorUpdate(2);\n instance = enqueueUpdate(nearestMountedAncestor, error, 2);\n null !== instance &&\n (initializeClassErrorUpdate(\n error,\n instance,\n nearestMountedAncestor,\n sourceFiber\n ),\n markRootUpdated$1(instance, 2),\n ensureRootIsScheduled(instance));\n break;\n }\n }\n nearestMountedAncestor = nearestMountedAncestor.return;\n }\n}\nfunction attachPingListener(root, wakeable, lanes) {\n var pingCache = root.pingCache;\n if (null === pingCache) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n var threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else\n (threadIDs = pingCache.get(wakeable)),\n void 0 === threadIDs &&\n ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));\n threadIDs.has(lanes) ||\n ((workInProgressRootDidAttachPingListener = !0),\n threadIDs.add(lanes),\n (root = pingSuspendedRoot.bind(null, root, wakeable, lanes)),\n wakeable.then(root, root));\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n null !== pingCache && pingCache.delete(wakeable);\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n root.warmLanes &= ~pingedLanes;\n workInProgressRoot === root &&\n (workInProgressRootRenderLanes & pingedLanes) === pingedLanes &&\n (4 === workInProgressRootExitStatus ||\n (3 === workInProgressRootExitStatus &&\n (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes &&\n 300 > now() - globalMostRecentFallbackTime)\n ? 0 === (executionContext & 2) && prepareFreshStack(root, 0)\n : (workInProgressRootPingedLanes |= pingedLanes),\n workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes &&\n (workInProgressSuspendedRetryLanes = 0));\n ensureRootIsScheduled(root);\n}\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n 0 === retryLane && (retryLane = claimNextRetryLane());\n boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n null !== boundaryFiber &&\n (markRootUpdated$1(boundaryFiber, retryLane),\n ensureRootIsScheduled(boundaryFiber));\n}\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState,\n retryLane = 0;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = 0;\n switch (boundaryFiber.tag) {\n case 13:\n var retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n break;\n case 19:\n retryCache = boundaryFiber.stateNode;\n break;\n case 22:\n retryCache = boundaryFiber.stateNode._retryCache;\n break;\n default:\n throw Error(formatProdErrorMessage(314));\n }\n null !== retryCache && retryCache.delete(wakeable);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction scheduleCallback$1(priorityLevel, callback) {\n return scheduleCallback$3(priorityLevel, callback);\n}\nvar firstScheduledRoot = null,\n lastScheduledRoot = null,\n didScheduleMicrotask = !1,\n mightHavePendingSyncWork = !1,\n isFlushingWork = !1,\n currentEventTransitionLane = 0;\nfunction ensureRootIsScheduled(root) {\n root !== lastScheduledRoot &&\n null === root.next &&\n (null === lastScheduledRoot\n ? (firstScheduledRoot = lastScheduledRoot = root)\n : (lastScheduledRoot = lastScheduledRoot.next = root));\n mightHavePendingSyncWork = !0;\n didScheduleMicrotask ||\n ((didScheduleMicrotask = !0), scheduleImmediateRootScheduleTask());\n}\nfunction flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {\n if (!isFlushingWork && mightHavePendingSyncWork) {\n isFlushingWork = !0;\n do {\n var didPerformSomeWork = !1;\n for (var root$174 = firstScheduledRoot; null !== root$174; ) {\n if (!onlyLegacy)\n if (0 !== syncTransitionLanes) {\n var pendingLanes = root$174.pendingLanes;\n if (0 === pendingLanes) var JSCompiler_inline_result = 0;\n else {\n var suspendedLanes = root$174.suspendedLanes,\n pingedLanes = root$174.pingedLanes;\n JSCompiler_inline_result =\n (1 << (31 - clz32(42 | syncTransitionLanes) + 1)) - 1;\n JSCompiler_inline_result &=\n pendingLanes & ~(suspendedLanes & ~pingedLanes);\n JSCompiler_inline_result =\n JSCompiler_inline_result & 201326741\n ? (JSCompiler_inline_result & 201326741) | 1\n : JSCompiler_inline_result\n ? JSCompiler_inline_result | 2\n : 0;\n }\n 0 !== JSCompiler_inline_result &&\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root$174, JSCompiler_inline_result));\n } else\n (JSCompiler_inline_result = workInProgressRootRenderLanes),\n (JSCompiler_inline_result = getNextLanes(\n root$174,\n root$174 === workInProgressRoot ? JSCompiler_inline_result : 0,\n null !== root$174.cancelPendingCommit ||\n -1 !== root$174.timeoutHandle\n )),\n 0 === (JSCompiler_inline_result & 3) ||\n checkIfRootIsPrerendering(root$174, JSCompiler_inline_result) ||\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root$174, JSCompiler_inline_result));\n root$174 = root$174.next;\n }\n } while (didPerformSomeWork);\n isFlushingWork = !1;\n }\n}\nfunction processRootScheduleInImmediateTask() {\n processRootScheduleInMicrotask();\n}\nfunction processRootScheduleInMicrotask() {\n mightHavePendingSyncWork = didScheduleMicrotask = !1;\n var syncTransitionLanes = 0;\n 0 !== currentEventTransitionLane &&\n (shouldAttemptEagerTransition() &&\n (syncTransitionLanes = currentEventTransitionLane),\n (currentEventTransitionLane = 0));\n for (\n var currentTime = now(), prev = null, root = firstScheduledRoot;\n null !== root;\n\n ) {\n var next = root.next,\n nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime);\n if (0 === nextLanes)\n (root.next = null),\n null === prev ? (firstScheduledRoot = next) : (prev.next = next),\n null === next && (lastScheduledRoot = prev);\n else if (\n ((prev = root), 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))\n )\n mightHavePendingSyncWork = !0;\n root = next;\n }\n flushSyncWorkAcrossRoots_impl(syncTransitionLanes, !1);\n}\nfunction scheduleTaskForRootDuringMicrotask(root, currentTime) {\n for (\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n expirationTimes = root.expirationTimes,\n lanes = root.pendingLanes & -62914561;\n 0 < lanes;\n\n ) {\n var index$3 = 31 - clz32(lanes),\n lane = 1 << index$3,\n expirationTime = expirationTimes[index$3];\n if (-1 === expirationTime) {\n if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))\n expirationTimes[index$3] = computeExpirationTime(lane, currentTime);\n } else expirationTime <= currentTime && (root.expiredLanes |= lane);\n lanes &= ~lane;\n }\n currentTime = workInProgressRoot;\n suspendedLanes = workInProgressRootRenderLanes;\n suspendedLanes = getNextLanes(\n root,\n root === currentTime ? suspendedLanes : 0,\n null !== root.cancelPendingCommit || -1 !== root.timeoutHandle\n );\n pingedLanes = root.callbackNode;\n if (\n 0 === suspendedLanes ||\n (root === currentTime &&\n (2 === workInProgressSuspendedReason ||\n 9 === workInProgressSuspendedReason)) ||\n null !== root.cancelPendingCommit\n )\n return (\n null !== pingedLanes &&\n null !== pingedLanes &&\n cancelCallback$1(pingedLanes),\n (root.callbackNode = null),\n (root.callbackPriority = 0)\n );\n if (\n 0 === (suspendedLanes & 3) ||\n checkIfRootIsPrerendering(root, suspendedLanes)\n ) {\n currentTime = suspendedLanes & -suspendedLanes;\n if (currentTime === root.callbackPriority) return currentTime;\n null !== pingedLanes && cancelCallback$1(pingedLanes);\n switch (lanesToEventPriority(suspendedLanes)) {\n case 2:\n case 8:\n suspendedLanes = UserBlockingPriority;\n break;\n case 32:\n suspendedLanes = NormalPriority$1;\n break;\n case 268435456:\n suspendedLanes = IdlePriority;\n break;\n default:\n suspendedLanes = NormalPriority$1;\n }\n pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);\n suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);\n root.callbackPriority = currentTime;\n root.callbackNode = suspendedLanes;\n return currentTime;\n }\n null !== pingedLanes && null !== pingedLanes && cancelCallback$1(pingedLanes);\n root.callbackPriority = 2;\n root.callbackNode = null;\n return 2;\n}\nfunction performWorkOnRootViaSchedulerTask(root, didTimeout) {\n if (0 !== pendingEffectsStatus && 5 !== pendingEffectsStatus)\n return (root.callbackNode = null), (root.callbackPriority = 0), null;\n var originalCallbackNode = root.callbackNode;\n if (flushPendingEffects(!0) && root.callbackNode !== originalCallbackNode)\n return null;\n var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;\n workInProgressRootRenderLanes$jscomp$0 = getNextLanes(\n root,\n root === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0,\n null !== root.cancelPendingCommit || -1 !== root.timeoutHandle\n );\n if (0 === workInProgressRootRenderLanes$jscomp$0) return null;\n performWorkOnRoot(root, workInProgressRootRenderLanes$jscomp$0, didTimeout);\n scheduleTaskForRootDuringMicrotask(root, now());\n return null != root.callbackNode && root.callbackNode === originalCallbackNode\n ? performWorkOnRootViaSchedulerTask.bind(null, root)\n : null;\n}\nfunction performSyncWorkOnRoot(root, lanes) {\n if (flushPendingEffects()) return null;\n performWorkOnRoot(root, lanes, !0);\n}\nfunction scheduleImmediateRootScheduleTask() {\n scheduleMicrotask(function () {\n 0 !== (executionContext & 6)\n ? scheduleCallback$3(\n ImmediatePriority,\n processRootScheduleInImmediateTask\n )\n : processRootScheduleInMicrotask();\n });\n}\nfunction requestTransitionLane() {\n 0 === currentEventTransitionLane &&\n (currentEventTransitionLane = claimNextTransitionLane());\n return currentEventTransitionLane;\n}\nfunction coerceFormActionProp(actionProp) {\n return null == actionProp ||\n \"symbol\" === typeof actionProp ||\n \"boolean\" === typeof actionProp\n ? null\n : \"function\" === typeof actionProp\n ? actionProp\n : sanitizeURL(\"\" + actionProp);\n}\nfunction createFormDataWithSubmitter(form, submitter) {\n var temp = submitter.ownerDocument.createElement(\"input\");\n temp.name = submitter.name;\n temp.value = submitter.value;\n form.id && temp.setAttribute(\"form\", form.id);\n submitter.parentNode.insertBefore(temp, submitter);\n form = new FormData(form);\n temp.parentNode.removeChild(temp);\n return form;\n}\nfunction extractEvents$1(\n dispatchQueue,\n domEventName,\n maybeTargetInst,\n nativeEvent,\n nativeEventTarget\n) {\n if (\n \"submit\" === domEventName &&\n maybeTargetInst &&\n maybeTargetInst.stateNode === nativeEventTarget\n ) {\n var action = coerceFormActionProp(\n (nativeEventTarget[internalPropsKey] || null).action\n ),\n submitter = nativeEvent.submitter;\n submitter &&\n ((domEventName = (domEventName = submitter[internalPropsKey] || null)\n ? coerceFormActionProp(domEventName.formAction)\n : submitter.getAttribute(\"formAction\")),\n null !== domEventName && ((action = domEventName), (submitter = null)));\n var event = new SyntheticEvent(\n \"action\",\n \"action\",\n null,\n nativeEvent,\n nativeEventTarget\n );\n dispatchQueue.push({\n event: event,\n listeners: [\n {\n instance: null,\n listener: function () {\n if (nativeEvent.defaultPrevented) {\n if (0 !== currentEventTransitionLane) {\n var formData = submitter\n ? createFormDataWithSubmitter(nativeEventTarget, submitter)\n : new FormData(nativeEventTarget);\n startHostTransition(\n maybeTargetInst,\n {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n },\n null,\n formData\n );\n }\n } else\n \"function\" === typeof action &&\n (event.preventDefault(),\n (formData = submitter\n ? createFormDataWithSubmitter(nativeEventTarget, submitter)\n : new FormData(nativeEventTarget)),\n startHostTransition(\n maybeTargetInst,\n {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n },\n action,\n formData\n ));\n },\n currentTarget: nativeEventTarget\n }\n ]\n });\n }\n}\nfor (\n var i$jscomp$inline_1528 = 0;\n i$jscomp$inline_1528 < simpleEventPluginEvents.length;\n i$jscomp$inline_1528++\n) {\n var eventName$jscomp$inline_1529 =\n simpleEventPluginEvents[i$jscomp$inline_1528],\n domEventName$jscomp$inline_1530 =\n eventName$jscomp$inline_1529.toLowerCase(),\n capitalizedEvent$jscomp$inline_1531 =\n eventName$jscomp$inline_1529[0].toUpperCase() +\n eventName$jscomp$inline_1529.slice(1);\n registerSimpleEvent(\n domEventName$jscomp$inline_1530,\n \"on\" + capitalizedEvent$jscomp$inline_1531\n );\n}\nregisterSimpleEvent(ANIMATION_END, \"onAnimationEnd\");\nregisterSimpleEvent(ANIMATION_ITERATION, \"onAnimationIteration\");\nregisterSimpleEvent(ANIMATION_START, \"onAnimationStart\");\nregisterSimpleEvent(\"dblclick\", \"onDoubleClick\");\nregisterSimpleEvent(\"focusin\", \"onFocus\");\nregisterSimpleEvent(\"focusout\", \"onBlur\");\nregisterSimpleEvent(TRANSITION_RUN, \"onTransitionRun\");\nregisterSimpleEvent(TRANSITION_START, \"onTransitionStart\");\nregisterSimpleEvent(TRANSITION_CANCEL, \"onTransitionCancel\");\nregisterSimpleEvent(TRANSITION_END, \"onTransitionEnd\");\nregisterDirectEvent(\"onMouseEnter\", [\"mouseout\", \"mouseover\"]);\nregisterDirectEvent(\"onMouseLeave\", [\"mouseout\", \"mouseover\"]);\nregisterDirectEvent(\"onPointerEnter\", [\"pointerout\", \"pointerover\"]);\nregisterDirectEvent(\"onPointerLeave\", [\"pointerout\", \"pointerover\"]);\nregisterTwoPhaseEvent(\n \"onChange\",\n \"change click focusin focusout input keydown keyup selectionchange\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onSelect\",\n \"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\n \" \"\n )\n);\nregisterTwoPhaseEvent(\"onBeforeInput\", [\n \"compositionend\",\n \"keypress\",\n \"textInput\",\n \"paste\"\n]);\nregisterTwoPhaseEvent(\n \"onCompositionEnd\",\n \"compositionend focusout keydown keypress keyup mousedown\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onCompositionStart\",\n \"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onCompositionUpdate\",\n \"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \")\n);\nvar mediaEventTypes =\n \"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\n \" \"\n ),\n nonDelegatedEvents = new Set(\n \"beforetoggle cancel close invalid load scroll scrollend toggle\"\n .split(\" \")\n .concat(mediaEventTypes)\n );\nfunction processDispatchQueue(dispatchQueue, eventSystemFlags) {\n eventSystemFlags = 0 !== (eventSystemFlags & 4);\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i],\n event = _dispatchQueue$i.event;\n _dispatchQueue$i = _dispatchQueue$i.listeners;\n a: {\n var previousInstance = void 0;\n if (eventSystemFlags)\n for (\n var i$jscomp$0 = _dispatchQueue$i.length - 1;\n 0 <= i$jscomp$0;\n i$jscomp$0--\n ) {\n var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n previousInstance = _dispatchListeners$i;\n event.currentTarget = currentTarget;\n try {\n previousInstance(event);\n } catch (error) {\n reportGlobalError(error);\n }\n event.currentTarget = null;\n previousInstance = instance;\n }\n else\n for (\n i$jscomp$0 = 0;\n i$jscomp$0 < _dispatchQueue$i.length;\n i$jscomp$0++\n ) {\n _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0];\n instance = _dispatchListeners$i.instance;\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n previousInstance = _dispatchListeners$i;\n event.currentTarget = currentTarget;\n try {\n previousInstance(event);\n } catch (error) {\n reportGlobalError(error);\n }\n event.currentTarget = null;\n previousInstance = instance;\n }\n }\n }\n}\nfunction listenToNonDelegatedEvent(domEventName, targetElement) {\n var JSCompiler_inline_result = targetElement[internalEventHandlersKey];\n void 0 === JSCompiler_inline_result &&\n (JSCompiler_inline_result = targetElement[internalEventHandlersKey] =\n new Set());\n var listenerSetKey = domEventName + \"__bubble\";\n JSCompiler_inline_result.has(listenerSetKey) ||\n (addTrappedEventListener(targetElement, domEventName, 2, !1),\n JSCompiler_inline_result.add(listenerSetKey));\n}\nfunction listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n var eventSystemFlags = 0;\n isCapturePhaseListener && (eventSystemFlags |= 4);\n addTrappedEventListener(\n target,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n );\n}\nvar listeningMarker = \"_reactListening\" + Math.random().toString(36).slice(2);\nfunction listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = !0;\n allNativeEvents.forEach(function (domEventName) {\n \"selectionchange\" !== domEventName &&\n (nonDelegatedEvents.has(domEventName) ||\n listenToNativeEvent(domEventName, !1, rootContainerElement),\n listenToNativeEvent(domEventName, !0, rootContainerElement));\n });\n var ownerDocument =\n 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n null === ownerDocument ||\n ownerDocument[listeningMarker] ||\n ((ownerDocument[listeningMarker] = !0),\n listenToNativeEvent(\"selectionchange\", !1, ownerDocument));\n }\n}\nfunction addTrappedEventListener(\n targetContainer,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n) {\n switch (getEventPriority(domEventName)) {\n case 2:\n var listenerWrapper = dispatchDiscreteEvent;\n break;\n case 8:\n listenerWrapper = dispatchContinuousEvent;\n break;\n default:\n listenerWrapper = dispatchEvent;\n }\n eventSystemFlags = listenerWrapper.bind(\n null,\n domEventName,\n eventSystemFlags,\n targetContainer\n );\n listenerWrapper = void 0;\n !passiveBrowserEventsSupported ||\n (\"touchstart\" !== domEventName &&\n \"touchmove\" !== domEventName &&\n \"wheel\" !== domEventName) ||\n (listenerWrapper = !0);\n isCapturePhaseListener\n ? void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n capture: !0,\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(domEventName, eventSystemFlags, !0)\n : void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(domEventName, eventSystemFlags, !1);\n}\nfunction dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n targetInst$jscomp$0,\n targetContainer\n) {\n var ancestorInst = targetInst$jscomp$0;\n if (\n 0 === (eventSystemFlags & 1) &&\n 0 === (eventSystemFlags & 2) &&\n null !== targetInst$jscomp$0\n )\n a: for (;;) {\n if (null === targetInst$jscomp$0) return;\n var nodeTag = targetInst$jscomp$0.tag;\n if (3 === nodeTag || 4 === nodeTag) {\n var container = targetInst$jscomp$0.stateNode.containerInfo;\n if (container === targetContainer) break;\n if (4 === nodeTag)\n for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) {\n var grandTag = nodeTag.tag;\n if (\n (3 === grandTag || 4 === grandTag) &&\n nodeTag.stateNode.containerInfo === targetContainer\n )\n return;\n nodeTag = nodeTag.return;\n }\n for (; null !== container; ) {\n nodeTag = getClosestInstanceFromNode(container);\n if (null === nodeTag) return;\n grandTag = nodeTag.tag;\n if (\n 5 === grandTag ||\n 6 === grandTag ||\n 26 === grandTag ||\n 27 === grandTag\n ) {\n targetInst$jscomp$0 = ancestorInst = nodeTag;\n continue a;\n }\n container = container.parentNode;\n }\n }\n targetInst$jscomp$0 = targetInst$jscomp$0.return;\n }\n batchedUpdates$1(function () {\n var targetInst = ancestorInst,\n nativeEventTarget = getEventTarget(nativeEvent),\n dispatchQueue = [];\n a: {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n if (void 0 !== reactName) {\n var SyntheticEventCtor = SyntheticEvent,\n reactEventType = domEventName;\n switch (domEventName) {\n case \"keypress\":\n if (0 === getEventCharCode(nativeEvent)) break a;\n case \"keydown\":\n case \"keyup\":\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n case \"focusin\":\n reactEventType = \"focus\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"focusout\":\n reactEventType = \"blur\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"beforeblur\":\n case \"afterblur\":\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"click\":\n if (2 === nativeEvent.button) break a;\n case \"auxclick\":\n case \"dblclick\":\n case \"mousedown\":\n case \"mousemove\":\n case \"mouseup\":\n case \"mouseout\":\n case \"mouseover\":\n case \"contextmenu\":\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n case \"drag\":\n case \"dragend\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"dragstart\":\n case \"drop\":\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n case \"touchcancel\":\n case \"touchend\":\n case \"touchmove\":\n case \"touchstart\":\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n case \"scroll\":\n case \"scrollend\":\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n case \"wheel\":\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n case \"copy\":\n case \"cut\":\n case \"paste\":\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"pointerup\":\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n case \"toggle\":\n case \"beforetoggle\":\n SyntheticEventCtor = SyntheticToggleEvent;\n }\n var inCapturePhase = 0 !== (eventSystemFlags & 4),\n accumulateTargetOnly =\n !inCapturePhase &&\n (\"scroll\" === domEventName || \"scrollend\" === domEventName),\n reactEventName = inCapturePhase\n ? null !== reactName\n ? reactName + \"Capture\"\n : null\n : reactName;\n inCapturePhase = [];\n for (\n var instance = targetInst, lastHostComponent;\n null !== instance;\n\n ) {\n var _instance = instance;\n lastHostComponent = _instance.stateNode;\n _instance = _instance.tag;\n (5 !== _instance && 26 !== _instance && 27 !== _instance) ||\n null === lastHostComponent ||\n null === reactEventName ||\n ((_instance = getListener(instance, reactEventName)),\n null != _instance &&\n inCapturePhase.push(\n createDispatchListener(instance, _instance, lastHostComponent)\n ));\n if (accumulateTargetOnly) break;\n instance = instance.return;\n }\n 0 < inCapturePhase.length &&\n ((reactName = new SyntheticEventCtor(\n reactName,\n reactEventType,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: reactName, listeners: inCapturePhase }));\n }\n }\n if (0 === (eventSystemFlags & 7)) {\n a: {\n reactName =\n \"mouseover\" === domEventName || \"pointerover\" === domEventName;\n SyntheticEventCtor =\n \"mouseout\" === domEventName || \"pointerout\" === domEventName;\n if (\n reactName &&\n nativeEvent !== currentReplayingEvent &&\n (reactEventType =\n nativeEvent.relatedTarget || nativeEvent.fromElement) &&\n (getClosestInstanceFromNode(reactEventType) ||\n reactEventType[internalContainerInstanceKey])\n )\n break a;\n if (SyntheticEventCtor || reactName) {\n reactName =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget\n : (reactName = nativeEventTarget.ownerDocument)\n ? reactName.defaultView || reactName.parentWindow\n : window;\n if (SyntheticEventCtor) {\n if (\n ((reactEventType =\n nativeEvent.relatedTarget || nativeEvent.toElement),\n (SyntheticEventCtor = targetInst),\n (reactEventType = reactEventType\n ? getClosestInstanceFromNode(reactEventType)\n : null),\n null !== reactEventType &&\n ((accumulateTargetOnly =\n getNearestMountedFiber(reactEventType)),\n (inCapturePhase = reactEventType.tag),\n reactEventType !== accumulateTargetOnly ||\n (5 !== inCapturePhase &&\n 27 !== inCapturePhase &&\n 6 !== inCapturePhase)))\n )\n reactEventType = null;\n } else (SyntheticEventCtor = null), (reactEventType = targetInst);\n if (SyntheticEventCtor !== reactEventType) {\n inCapturePhase = SyntheticMouseEvent;\n _instance = \"onMouseLeave\";\n reactEventName = \"onMouseEnter\";\n instance = \"mouse\";\n if (\"pointerout\" === domEventName || \"pointerover\" === domEventName)\n (inCapturePhase = SyntheticPointerEvent),\n (_instance = \"onPointerLeave\"),\n (reactEventName = \"onPointerEnter\"),\n (instance = \"pointer\");\n accumulateTargetOnly =\n null == SyntheticEventCtor\n ? reactName\n : getNodeFromInstance(SyntheticEventCtor);\n lastHostComponent =\n null == reactEventType\n ? reactName\n : getNodeFromInstance(reactEventType);\n reactName = new inCapturePhase(\n _instance,\n instance + \"leave\",\n SyntheticEventCtor,\n nativeEvent,\n nativeEventTarget\n );\n reactName.target = accumulateTargetOnly;\n reactName.relatedTarget = lastHostComponent;\n _instance = null;\n getClosestInstanceFromNode(nativeEventTarget) === targetInst &&\n ((inCapturePhase = new inCapturePhase(\n reactEventName,\n instance + \"enter\",\n reactEventType,\n nativeEvent,\n nativeEventTarget\n )),\n (inCapturePhase.target = lastHostComponent),\n (inCapturePhase.relatedTarget = accumulateTargetOnly),\n (_instance = inCapturePhase));\n accumulateTargetOnly = _instance;\n if (SyntheticEventCtor && reactEventType)\n b: {\n inCapturePhase = SyntheticEventCtor;\n reactEventName = reactEventType;\n instance = 0;\n for (\n lastHostComponent = inCapturePhase;\n lastHostComponent;\n lastHostComponent = getParent(lastHostComponent)\n )\n instance++;\n lastHostComponent = 0;\n for (\n _instance = reactEventName;\n _instance;\n _instance = getParent(_instance)\n )\n lastHostComponent++;\n for (; 0 < instance - lastHostComponent; )\n (inCapturePhase = getParent(inCapturePhase)), instance--;\n for (; 0 < lastHostComponent - instance; )\n (reactEventName = getParent(reactEventName)),\n lastHostComponent--;\n for (; instance--; ) {\n if (\n inCapturePhase === reactEventName ||\n (null !== reactEventName &&\n inCapturePhase === reactEventName.alternate)\n )\n break b;\n inCapturePhase = getParent(inCapturePhase);\n reactEventName = getParent(reactEventName);\n }\n inCapturePhase = null;\n }\n else inCapturePhase = null;\n null !== SyntheticEventCtor &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n reactName,\n SyntheticEventCtor,\n inCapturePhase,\n !1\n );\n null !== reactEventType &&\n null !== accumulateTargetOnly &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n accumulateTargetOnly,\n reactEventType,\n inCapturePhase,\n !0\n );\n }\n }\n }\n a: {\n reactName = targetInst ? getNodeFromInstance(targetInst) : window;\n SyntheticEventCtor =\n reactName.nodeName && reactName.nodeName.toLowerCase();\n if (\n \"select\" === SyntheticEventCtor ||\n (\"input\" === SyntheticEventCtor && \"file\" === reactName.type)\n )\n var getTargetInstFunc = getTargetInstForChangeEvent;\n else if (isTextInputElement(reactName))\n if (isInputEventSupported)\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n var handleEventFunc = handleEventsForInputEventPolyfill;\n }\n else\n (SyntheticEventCtor = reactName.nodeName),\n !SyntheticEventCtor ||\n \"input\" !== SyntheticEventCtor.toLowerCase() ||\n (\"checkbox\" !== reactName.type && \"radio\" !== reactName.type)\n ? targetInst &&\n isCustomElement(targetInst.elementType) &&\n (getTargetInstFunc = getTargetInstForChangeEvent)\n : (getTargetInstFunc = getTargetInstForClickEvent);\n if (\n getTargetInstFunc &&\n (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))\n ) {\n createAndAccumulateChangeEvent(\n dispatchQueue,\n getTargetInstFunc,\n nativeEvent,\n nativeEventTarget\n );\n break a;\n }\n handleEventFunc && handleEventFunc(domEventName, reactName, targetInst);\n \"focusout\" === domEventName &&\n targetInst &&\n \"number\" === reactName.type &&\n null != targetInst.memoizedProps.value &&\n setDefaultValue(reactName, \"number\", reactName.value);\n }\n handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window;\n switch (domEventName) {\n case \"focusin\":\n if (\n isTextInputElement(handleEventFunc) ||\n \"true\" === handleEventFunc.contentEditable\n )\n (activeElement = handleEventFunc),\n (activeElementInst = targetInst),\n (lastSelection = null);\n break;\n case \"focusout\":\n lastSelection = activeElementInst = activeElement = null;\n break;\n case \"mousedown\":\n mouseDown = !0;\n break;\n case \"contextmenu\":\n case \"mouseup\":\n case \"dragend\":\n mouseDown = !1;\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n break;\n case \"selectionchange\":\n if (skipSelectionChangeEvent) break;\n case \"keydown\":\n case \"keyup\":\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n }\n var fallbackData;\n if (canUseCompositionEvent)\n b: {\n switch (domEventName) {\n case \"compositionstart\":\n var eventType = \"onCompositionStart\";\n break b;\n case \"compositionend\":\n eventType = \"onCompositionEnd\";\n break b;\n case \"compositionupdate\":\n eventType = \"onCompositionUpdate\";\n break b;\n }\n eventType = void 0;\n }\n else\n isComposing\n ? isFallbackCompositionEnd(domEventName, nativeEvent) &&\n (eventType = \"onCompositionEnd\")\n : \"keydown\" === domEventName &&\n 229 === nativeEvent.keyCode &&\n (eventType = \"onCompositionStart\");\n eventType &&\n (useFallbackCompositionData &&\n \"ko\" !== nativeEvent.locale &&\n (isComposing || \"onCompositionStart\" !== eventType\n ? \"onCompositionEnd\" === eventType &&\n isComposing &&\n (fallbackData = getData())\n : ((root = nativeEventTarget),\n (startText = \"value\" in root ? root.value : root.textContent),\n (isComposing = !0))),\n (handleEventFunc = accumulateTwoPhaseListeners(targetInst, eventType)),\n 0 < handleEventFunc.length &&\n ((eventType = new SyntheticCompositionEvent(\n eventType,\n domEventName,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: eventType, listeners: handleEventFunc }),\n fallbackData\n ? (eventType.data = fallbackData)\n : ((fallbackData = getDataFromCustomEvent(nativeEvent)),\n null !== fallbackData && (eventType.data = fallbackData))));\n if (\n (fallbackData = canUseTextInputEvent\n ? getNativeBeforeInputChars(domEventName, nativeEvent)\n : getFallbackBeforeInputChars(domEventName, nativeEvent))\n )\n (eventType = accumulateTwoPhaseListeners(targetInst, \"onBeforeInput\")),\n 0 < eventType.length &&\n ((handleEventFunc = new SyntheticCompositionEvent(\n \"onBeforeInput\",\n \"beforeinput\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({\n event: handleEventFunc,\n listeners: eventType\n }),\n (handleEventFunc.data = fallbackData));\n extractEvents$1(\n dispatchQueue,\n domEventName,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n }\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n });\n}\nfunction createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n}\nfunction accumulateTwoPhaseListeners(targetFiber, reactName) {\n for (\n var captureName = reactName + \"Capture\", listeners = [];\n null !== targetFiber;\n\n ) {\n var _instance2 = targetFiber,\n stateNode = _instance2.stateNode;\n _instance2 = _instance2.tag;\n (5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2) ||\n null === stateNode ||\n ((_instance2 = getListener(targetFiber, captureName)),\n null != _instance2 &&\n listeners.unshift(\n createDispatchListener(targetFiber, _instance2, stateNode)\n ),\n (_instance2 = getListener(targetFiber, reactName)),\n null != _instance2 &&\n listeners.push(\n createDispatchListener(targetFiber, _instance2, stateNode)\n ));\n if (3 === targetFiber.tag) return listeners;\n targetFiber = targetFiber.return;\n }\n return [];\n}\nfunction getParent(inst) {\n if (null === inst) return null;\n do inst = inst.return;\n while (inst && 5 !== inst.tag && 27 !== inst.tag);\n return inst ? inst : null;\n}\nfunction accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n event,\n target,\n common,\n inCapturePhase\n) {\n for (\n var registrationName = event._reactName, listeners = [];\n null !== target && target !== common;\n\n ) {\n var _instance3 = target,\n alternate = _instance3.alternate,\n stateNode = _instance3.stateNode;\n _instance3 = _instance3.tag;\n if (null !== alternate && alternate === common) break;\n (5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3) ||\n null === stateNode ||\n ((alternate = stateNode),\n inCapturePhase\n ? ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.unshift(\n createDispatchListener(target, stateNode, alternate)\n ))\n : inCapturePhase ||\n ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.push(\n createDispatchListener(target, stateNode, alternate)\n )));\n target = target.return;\n }\n 0 !== listeners.length &&\n dispatchQueue.push({ event: event, listeners: listeners });\n}\nvar NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g,\n NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g;\nfunction normalizeMarkupForTextOrAttribute(markup) {\n return (\"string\" === typeof markup ? markup : \"\" + markup)\n .replace(NORMALIZE_NEWLINES_REGEX, \"\\n\")\n .replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, \"\");\n}\nfunction checkForUnmatchedText(serverText, clientText) {\n clientText = normalizeMarkupForTextOrAttribute(clientText);\n return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;\n}\nfunction noop$1() {}\nfunction setProp(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case \"children\":\n \"string\" === typeof value\n ? \"body\" === tag ||\n (\"textarea\" === tag && \"\" === value) ||\n setTextContent(domElement, value)\n : (\"number\" === typeof value || \"bigint\" === typeof value) &&\n \"body\" !== tag &&\n setTextContent(domElement, \"\" + value);\n break;\n case \"className\":\n setValueForKnownAttribute(domElement, \"class\", value);\n break;\n case \"tabIndex\":\n setValueForKnownAttribute(domElement, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n setValueForKnownAttribute(domElement, key, value);\n break;\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n break;\n case \"data\":\n if (\"object\" !== tag) {\n setValueForKnownAttribute(domElement, \"data\", value);\n break;\n }\n case \"src\":\n case \"href\":\n if (\"\" === value && (\"a\" !== tag || \"href\" !== key)) {\n domElement.removeAttribute(key);\n break;\n }\n if (\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n value = sanitizeURL(\"\" + value);\n domElement.setAttribute(key, value);\n break;\n case \"action\":\n case \"formAction\":\n if (\"function\" === typeof value) {\n domElement.setAttribute(\n key,\n \"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')\"\n );\n break;\n } else\n \"function\" === typeof prevValue &&\n (\"formAction\" === key\n ? (\"input\" !== tag &&\n setProp(domElement, tag, \"name\", props.name, props, null),\n setProp(\n domElement,\n tag,\n \"formEncType\",\n props.formEncType,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formMethod\",\n props.formMethod,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formTarget\",\n props.formTarget,\n props,\n null\n ))\n : (setProp(domElement, tag, \"encType\", props.encType, props, null),\n setProp(domElement, tag, \"method\", props.method, props, null),\n setProp(domElement, tag, \"target\", props.target, props, null)));\n if (\n null == value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n value = sanitizeURL(\"\" + value);\n domElement.setAttribute(key, value);\n break;\n case \"onClick\":\n null != value && (domElement.onclick = noop$1);\n break;\n case \"onScroll\":\n null != value && listenToNonDelegatedEvent(\"scroll\", domElement);\n break;\n case \"onScrollEnd\":\n null != value && listenToNonDelegatedEvent(\"scrollend\", domElement);\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(formatProdErrorMessage(61));\n key = value.__html;\n if (null != key) {\n if (null != props.children) throw Error(formatProdErrorMessage(60));\n domElement.innerHTML = key;\n }\n }\n break;\n case \"multiple\":\n domElement.multiple =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"muted\":\n domElement.muted =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"ref\":\n break;\n case \"autoFocus\":\n break;\n case \"xlinkHref\":\n if (\n null == value ||\n \"function\" === typeof value ||\n \"boolean\" === typeof value ||\n \"symbol\" === typeof value\n ) {\n domElement.removeAttribute(\"xlink:href\");\n break;\n }\n key = sanitizeURL(\"\" + value);\n domElement.setAttributeNS(\n \"http://www.w3.org/1999/xlink\",\n \"xlink:href\",\n key\n );\n break;\n case \"contentEditable\":\n case \"spellCheck\":\n case \"draggable\":\n case \"value\":\n case \"autoReverse\":\n case \"externalResourcesRequired\":\n case \"focusable\":\n case \"preserveAlpha\":\n null != value && \"function\" !== typeof value && \"symbol\" !== typeof value\n ? domElement.setAttribute(key, \"\" + value)\n : domElement.removeAttribute(key);\n break;\n case \"inert\":\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n value && \"function\" !== typeof value && \"symbol\" !== typeof value\n ? domElement.setAttribute(key, \"\")\n : domElement.removeAttribute(key);\n break;\n case \"capture\":\n case \"download\":\n !0 === value\n ? domElement.setAttribute(key, \"\")\n : !1 !== value &&\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value\n ? domElement.setAttribute(key, value)\n : domElement.removeAttribute(key);\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n !isNaN(value) &&\n 1 <= value\n ? domElement.setAttribute(key, value)\n : domElement.removeAttribute(key);\n break;\n case \"rowSpan\":\n case \"start\":\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n isNaN(value)\n ? domElement.removeAttribute(key)\n : domElement.setAttribute(key, value);\n break;\n case \"popover\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n setValueForAttribute(domElement, \"popover\", value);\n break;\n case \"xlinkActuate\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:actuate\",\n value\n );\n break;\n case \"xlinkArcrole\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:arcrole\",\n value\n );\n break;\n case \"xlinkRole\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:role\",\n value\n );\n break;\n case \"xlinkShow\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:show\",\n value\n );\n break;\n case \"xlinkTitle\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:title\",\n value\n );\n break;\n case \"xlinkType\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:type\",\n value\n );\n break;\n case \"xmlBase\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:base\",\n value\n );\n break;\n case \"xmlLang\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:lang\",\n value\n );\n break;\n case \"xmlSpace\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:space\",\n value\n );\n break;\n case \"is\":\n setValueForAttribute(domElement, \"is\", value);\n break;\n case \"innerText\":\n case \"textContent\":\n break;\n default:\n if (\n !(2 < key.length) ||\n (\"o\" !== key[0] && \"O\" !== key[0]) ||\n (\"n\" !== key[1] && \"N\" !== key[1])\n )\n (key = aliases.get(key) || key),\n setValueForAttribute(domElement, key, value);\n }\n}\nfunction setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(formatProdErrorMessage(61));\n key = value.__html;\n if (null != key) {\n if (null != props.children) throw Error(formatProdErrorMessage(60));\n domElement.innerHTML = key;\n }\n }\n break;\n case \"children\":\n \"string\" === typeof value\n ? setTextContent(domElement, value)\n : (\"number\" === typeof value || \"bigint\" === typeof value) &&\n setTextContent(domElement, \"\" + value);\n break;\n case \"onScroll\":\n null != value && listenToNonDelegatedEvent(\"scroll\", domElement);\n break;\n case \"onScrollEnd\":\n null != value && listenToNonDelegatedEvent(\"scrollend\", domElement);\n break;\n case \"onClick\":\n null != value && (domElement.onclick = noop$1);\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"innerHTML\":\n case \"ref\":\n break;\n case \"innerText\":\n case \"textContent\":\n break;\n default:\n if (!registrationNameDependencies.hasOwnProperty(key))\n a: {\n if (\n \"o\" === key[0] &&\n \"n\" === key[1] &&\n ((props = key.endsWith(\"Capture\")),\n (tag = key.slice(2, props ? key.length - 7 : void 0)),\n (prevValue = domElement[internalPropsKey] || null),\n (prevValue = null != prevValue ? prevValue[key] : null),\n \"function\" === typeof prevValue &&\n domElement.removeEventListener(tag, prevValue, props),\n \"function\" === typeof value)\n ) {\n \"function\" !== typeof prevValue &&\n null !== prevValue &&\n (key in domElement\n ? (domElement[key] = null)\n : domElement.hasAttribute(key) &&\n domElement.removeAttribute(key));\n domElement.addEventListener(tag, value, props);\n break a;\n }\n key in domElement\n ? (domElement[key] = value)\n : !0 === value\n ? domElement.setAttribute(key, \"\")\n : setValueForAttribute(domElement, key, value);\n }\n }\n}\nfunction setInitialProperties(domElement, tag, props) {\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"img\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n var hasSrc = !1,\n hasSrcSet = !1,\n propKey;\n for (propKey in props)\n if (props.hasOwnProperty(propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"src\":\n hasSrc = !0;\n break;\n case \"srcSet\":\n hasSrcSet = !0;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(137, tag));\n default:\n setProp(domElement, tag, propKey, propValue, props, null);\n }\n }\n hasSrcSet &&\n setProp(domElement, tag, \"srcSet\", props.srcSet, props, null);\n hasSrc && setProp(domElement, tag, \"src\", props.src, props, null);\n return;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n var defaultValue = (propKey = propValue = hasSrcSet = null),\n checked = null,\n defaultChecked = null;\n for (hasSrc in props)\n if (props.hasOwnProperty(hasSrc)) {\n var propValue$188 = props[hasSrc];\n if (null != propValue$188)\n switch (hasSrc) {\n case \"name\":\n hasSrcSet = propValue$188;\n break;\n case \"type\":\n propValue = propValue$188;\n break;\n case \"checked\":\n checked = propValue$188;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$188;\n break;\n case \"value\":\n propKey = propValue$188;\n break;\n case \"defaultValue\":\n defaultValue = propValue$188;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propValue$188)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n setProp(domElement, tag, hasSrc, propValue$188, props, null);\n }\n }\n initInput(\n domElement,\n propKey,\n defaultValue,\n checked,\n defaultChecked,\n propValue,\n hasSrcSet,\n !1\n );\n track(domElement);\n return;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n hasSrc = propValue = propKey = null;\n for (hasSrcSet in props)\n if (\n props.hasOwnProperty(hasSrcSet) &&\n ((defaultValue = props[hasSrcSet]), null != defaultValue)\n )\n switch (hasSrcSet) {\n case \"value\":\n propKey = defaultValue;\n break;\n case \"defaultValue\":\n propValue = defaultValue;\n break;\n case \"multiple\":\n hasSrc = defaultValue;\n default:\n setProp(domElement, tag, hasSrcSet, defaultValue, props, null);\n }\n tag = propKey;\n props = propValue;\n domElement.multiple = !!hasSrc;\n null != tag\n ? updateOptions(domElement, !!hasSrc, tag, !1)\n : null != props && updateOptions(domElement, !!hasSrc, props, !0);\n return;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n propKey = hasSrcSet = hasSrc = null;\n for (propValue in props)\n if (\n props.hasOwnProperty(propValue) &&\n ((defaultValue = props[propValue]), null != defaultValue)\n )\n switch (propValue) {\n case \"value\":\n hasSrc = defaultValue;\n break;\n case \"defaultValue\":\n hasSrcSet = defaultValue;\n break;\n case \"children\":\n propKey = defaultValue;\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != defaultValue) throw Error(formatProdErrorMessage(91));\n break;\n default:\n setProp(domElement, tag, propValue, defaultValue, props, null);\n }\n initTextarea(domElement, hasSrc, hasSrcSet, propKey);\n track(domElement);\n return;\n case \"option\":\n for (checked in props)\n if (\n props.hasOwnProperty(checked) &&\n ((hasSrc = props[checked]), null != hasSrc)\n )\n switch (checked) {\n case \"selected\":\n domElement.selected =\n hasSrc &&\n \"function\" !== typeof hasSrc &&\n \"symbol\" !== typeof hasSrc;\n break;\n default:\n setProp(domElement, tag, checked, hasSrc, props, null);\n }\n return;\n case \"dialog\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n listenToNonDelegatedEvent(\"cancel\", domElement);\n listenToNonDelegatedEvent(\"close\", domElement);\n break;\n case \"iframe\":\n case \"object\":\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"video\":\n case \"audio\":\n for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++)\n listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement);\n break;\n case \"image\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", domElement);\n break;\n case \"embed\":\n case \"source\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", domElement),\n listenToNonDelegatedEvent(\"load\", domElement);\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (defaultChecked in props)\n if (\n props.hasOwnProperty(defaultChecked) &&\n ((hasSrc = props[defaultChecked]), null != hasSrc)\n )\n switch (defaultChecked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(137, tag));\n default:\n setProp(domElement, tag, defaultChecked, hasSrc, props, null);\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (propValue$188 in props)\n props.hasOwnProperty(propValue$188) &&\n ((hasSrc = props[propValue$188]),\n void 0 !== hasSrc &&\n setPropOnCustomElement(\n domElement,\n tag,\n propValue$188,\n hasSrc,\n props,\n void 0\n ));\n return;\n }\n }\n for (defaultValue in props)\n props.hasOwnProperty(defaultValue) &&\n ((hasSrc = props[defaultValue]),\n null != hasSrc &&\n setProp(domElement, tag, defaultValue, hasSrc, props, null));\n}\nfunction updateProperties(domElement, tag, lastProps, nextProps) {\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"input\":\n var name = null,\n type = null,\n value = null,\n defaultValue = null,\n lastDefaultValue = null,\n checked = null,\n defaultChecked = null;\n for (propKey in lastProps) {\n var lastProp = lastProps[propKey];\n if (lastProps.hasOwnProperty(propKey) && null != lastProp)\n switch (propKey) {\n case \"checked\":\n break;\n case \"value\":\n break;\n case \"defaultValue\":\n lastDefaultValue = lastProp;\n default:\n nextProps.hasOwnProperty(propKey) ||\n setProp(domElement, tag, propKey, null, nextProps, lastProp);\n }\n }\n for (var propKey$205 in nextProps) {\n var propKey = nextProps[propKey$205];\n lastProp = lastProps[propKey$205];\n if (\n nextProps.hasOwnProperty(propKey$205) &&\n (null != propKey || null != lastProp)\n )\n switch (propKey$205) {\n case \"type\":\n type = propKey;\n break;\n case \"name\":\n name = propKey;\n break;\n case \"checked\":\n checked = propKey;\n break;\n case \"defaultChecked\":\n defaultChecked = propKey;\n break;\n case \"value\":\n value = propKey;\n break;\n case \"defaultValue\":\n defaultValue = propKey;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propKey)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n propKey !== lastProp &&\n setProp(\n domElement,\n tag,\n propKey$205,\n propKey,\n nextProps,\n lastProp\n );\n }\n }\n updateInput(\n domElement,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n );\n return;\n case \"select\":\n propKey = value = defaultValue = propKey$205 = null;\n for (type in lastProps)\n if (\n ((lastDefaultValue = lastProps[type]),\n lastProps.hasOwnProperty(type) && null != lastDefaultValue)\n )\n switch (type) {\n case \"value\":\n break;\n case \"multiple\":\n propKey = lastDefaultValue;\n default:\n nextProps.hasOwnProperty(type) ||\n setProp(\n domElement,\n tag,\n type,\n null,\n nextProps,\n lastDefaultValue\n );\n }\n for (name in nextProps)\n if (\n ((type = nextProps[name]),\n (lastDefaultValue = lastProps[name]),\n nextProps.hasOwnProperty(name) &&\n (null != type || null != lastDefaultValue))\n )\n switch (name) {\n case \"value\":\n propKey$205 = type;\n break;\n case \"defaultValue\":\n defaultValue = type;\n break;\n case \"multiple\":\n value = type;\n default:\n type !== lastDefaultValue &&\n setProp(\n domElement,\n tag,\n name,\n type,\n nextProps,\n lastDefaultValue\n );\n }\n tag = defaultValue;\n lastProps = value;\n nextProps = propKey;\n null != propKey$205\n ? updateOptions(domElement, !!lastProps, propKey$205, !1)\n : !!nextProps !== !!lastProps &&\n (null != tag\n ? updateOptions(domElement, !!lastProps, tag, !0)\n : updateOptions(domElement, !!lastProps, lastProps ? [] : \"\", !1));\n return;\n case \"textarea\":\n propKey = propKey$205 = null;\n for (defaultValue in lastProps)\n if (\n ((name = lastProps[defaultValue]),\n lastProps.hasOwnProperty(defaultValue) &&\n null != name &&\n !nextProps.hasOwnProperty(defaultValue))\n )\n switch (defaultValue) {\n case \"value\":\n break;\n case \"children\":\n break;\n default:\n setProp(domElement, tag, defaultValue, null, nextProps, name);\n }\n for (value in nextProps)\n if (\n ((name = nextProps[value]),\n (type = lastProps[value]),\n nextProps.hasOwnProperty(value) && (null != name || null != type))\n )\n switch (value) {\n case \"value\":\n propKey$205 = name;\n break;\n case \"defaultValue\":\n propKey = name;\n break;\n case \"children\":\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != name) throw Error(formatProdErrorMessage(91));\n break;\n default:\n name !== type &&\n setProp(domElement, tag, value, name, nextProps, type);\n }\n updateTextarea(domElement, propKey$205, propKey);\n return;\n case \"option\":\n for (var propKey$221 in lastProps)\n if (\n ((propKey$205 = lastProps[propKey$221]),\n lastProps.hasOwnProperty(propKey$221) &&\n null != propKey$205 &&\n !nextProps.hasOwnProperty(propKey$221))\n )\n switch (propKey$221) {\n case \"selected\":\n domElement.selected = !1;\n break;\n default:\n setProp(\n domElement,\n tag,\n propKey$221,\n null,\n nextProps,\n propKey$205\n );\n }\n for (lastDefaultValue in nextProps)\n if (\n ((propKey$205 = nextProps[lastDefaultValue]),\n (propKey = lastProps[lastDefaultValue]),\n nextProps.hasOwnProperty(lastDefaultValue) &&\n propKey$205 !== propKey &&\n (null != propKey$205 || null != propKey))\n )\n switch (lastDefaultValue) {\n case \"selected\":\n domElement.selected =\n propKey$205 &&\n \"function\" !== typeof propKey$205 &&\n \"symbol\" !== typeof propKey$205;\n break;\n default:\n setProp(\n domElement,\n tag,\n lastDefaultValue,\n propKey$205,\n nextProps,\n propKey\n );\n }\n return;\n case \"img\":\n case \"link\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (var propKey$226 in lastProps)\n (propKey$205 = lastProps[propKey$226]),\n lastProps.hasOwnProperty(propKey$226) &&\n null != propKey$205 &&\n !nextProps.hasOwnProperty(propKey$226) &&\n setProp(domElement, tag, propKey$226, null, nextProps, propKey$205);\n for (checked in nextProps)\n if (\n ((propKey$205 = nextProps[checked]),\n (propKey = lastProps[checked]),\n nextProps.hasOwnProperty(checked) &&\n propKey$205 !== propKey &&\n (null != propKey$205 || null != propKey))\n )\n switch (checked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propKey$205)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n setProp(\n domElement,\n tag,\n checked,\n propKey$205,\n nextProps,\n propKey\n );\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (var propKey$231 in lastProps)\n (propKey$205 = lastProps[propKey$231]),\n lastProps.hasOwnProperty(propKey$231) &&\n void 0 !== propKey$205 &&\n !nextProps.hasOwnProperty(propKey$231) &&\n setPropOnCustomElement(\n domElement,\n tag,\n propKey$231,\n void 0,\n nextProps,\n propKey$205\n );\n for (defaultChecked in nextProps)\n (propKey$205 = nextProps[defaultChecked]),\n (propKey = lastProps[defaultChecked]),\n !nextProps.hasOwnProperty(defaultChecked) ||\n propKey$205 === propKey ||\n (void 0 === propKey$205 && void 0 === propKey) ||\n setPropOnCustomElement(\n domElement,\n tag,\n defaultChecked,\n propKey$205,\n nextProps,\n propKey\n );\n return;\n }\n }\n for (var propKey$236 in lastProps)\n (propKey$205 = lastProps[propKey$236]),\n lastProps.hasOwnProperty(propKey$236) &&\n null != propKey$205 &&\n !nextProps.hasOwnProperty(propKey$236) &&\n setProp(domElement, tag, propKey$236, null, nextProps, propKey$205);\n for (lastProp in nextProps)\n (propKey$205 = nextProps[lastProp]),\n (propKey = lastProps[lastProp]),\n !nextProps.hasOwnProperty(lastProp) ||\n propKey$205 === propKey ||\n (null == propKey$205 && null == propKey) ||\n setProp(domElement, tag, lastProp, propKey$205, nextProps, propKey);\n}\nvar eventsEnabled = null,\n selectionInformation = null;\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\n return 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n}\nfunction getOwnHostContext(namespaceURI) {\n switch (namespaceURI) {\n case \"http://www.w3.org/2000/svg\":\n return 1;\n case \"http://www.w3.org/1998/Math/MathML\":\n return 2;\n default:\n return 0;\n }\n}\nfunction getChildHostContextProd(parentNamespace, type) {\n if (0 === parentNamespace)\n switch (type) {\n case \"svg\":\n return 1;\n case \"math\":\n return 2;\n default:\n return 0;\n }\n return 1 === parentNamespace && \"foreignObject\" === type\n ? 0\n : parentNamespace;\n}\nfunction shouldSetTextContent(type, props) {\n return (\n \"textarea\" === type ||\n \"noscript\" === type ||\n \"string\" === typeof props.children ||\n \"number\" === typeof props.children ||\n \"bigint\" === typeof props.children ||\n (\"object\" === typeof props.dangerouslySetInnerHTML &&\n null !== props.dangerouslySetInnerHTML &&\n null != props.dangerouslySetInnerHTML.__html)\n );\n}\nvar currentPopstateTransitionEvent = null;\nfunction shouldAttemptEagerTransition() {\n var event = window.event;\n if (event && \"popstate\" === event.type) {\n if (event === currentPopstateTransitionEvent) return !1;\n currentPopstateTransitionEvent = event;\n return !0;\n }\n currentPopstateTransitionEvent = null;\n return !1;\n}\nvar scheduleTimeout = \"function\" === typeof setTimeout ? setTimeout : void 0,\n cancelTimeout = \"function\" === typeof clearTimeout ? clearTimeout : void 0,\n localPromise = \"function\" === typeof Promise ? Promise : void 0,\n scheduleMicrotask =\n \"function\" === typeof queueMicrotask\n ? queueMicrotask\n : \"undefined\" !== typeof localPromise\n ? function (callback) {\n return localPromise\n .resolve(null)\n .then(callback)\n .catch(handleErrorInNextTick);\n }\n : scheduleTimeout;\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n}\nfunction isSingletonScope(type) {\n return \"head\" === type;\n}\nfunction clearSuspenseBoundary(parentInstance, suspenseInstance) {\n var node = suspenseInstance,\n possiblePreambleContribution = 0,\n depth = 0;\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n if (nextNode && 8 === nextNode.nodeType)\n if (((node = nextNode.data), \"/$\" === node)) {\n if (\n 0 < possiblePreambleContribution &&\n 8 > possiblePreambleContribution\n ) {\n node = possiblePreambleContribution;\n var ownerDocument = parentInstance.ownerDocument;\n node & 1 && releaseSingletonInstance(ownerDocument.documentElement);\n node & 2 && releaseSingletonInstance(ownerDocument.body);\n if (node & 4)\n for (\n node = ownerDocument.head,\n releaseSingletonInstance(node),\n ownerDocument = node.firstChild;\n ownerDocument;\n\n ) {\n var nextNode$jscomp$0 = ownerDocument.nextSibling,\n nodeName = ownerDocument.nodeName;\n ownerDocument[internalHoistableMarker] ||\n \"SCRIPT\" === nodeName ||\n \"STYLE\" === nodeName ||\n (\"LINK\" === nodeName &&\n \"stylesheet\" === ownerDocument.rel.toLowerCase()) ||\n node.removeChild(ownerDocument);\n ownerDocument = nextNode$jscomp$0;\n }\n }\n if (0 === depth) {\n parentInstance.removeChild(nextNode);\n retryIfBlockedOn(suspenseInstance);\n return;\n }\n depth--;\n } else\n \"$\" === node || \"$?\" === node || \"$!\" === node\n ? depth++\n : (possiblePreambleContribution = node.charCodeAt(0) - 48);\n else possiblePreambleContribution = 0;\n node = nextNode;\n } while (node);\n retryIfBlockedOn(suspenseInstance);\n}\nfunction clearContainerSparingly(container) {\n var nextNode = container.firstChild;\n nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling);\n for (; nextNode; ) {\n var node = nextNode;\n nextNode = nextNode.nextSibling;\n switch (node.nodeName) {\n case \"HTML\":\n case \"HEAD\":\n case \"BODY\":\n clearContainerSparingly(node);\n detachDeletedInstance(node);\n continue;\n case \"SCRIPT\":\n case \"STYLE\":\n continue;\n case \"LINK\":\n if (\"stylesheet\" === node.rel.toLowerCase()) continue;\n }\n container.removeChild(node);\n }\n}\nfunction canHydrateInstance(instance, type, props, inRootOrSingleton) {\n for (; 1 === instance.nodeType; ) {\n var anyProps = props;\n if (instance.nodeName.toLowerCase() !== type.toLowerCase()) {\n if (\n !inRootOrSingleton &&\n (\"INPUT\" !== instance.nodeName || \"hidden\" !== instance.type)\n )\n break;\n } else if (!inRootOrSingleton)\n if (\"input\" === type && \"hidden\" === instance.type) {\n var name = null == anyProps.name ? null : \"\" + anyProps.name;\n if (\n \"hidden\" === anyProps.type &&\n instance.getAttribute(\"name\") === name\n )\n return instance;\n } else return instance;\n else if (!instance[internalHoistableMarker])\n switch (type) {\n case \"meta\":\n if (!instance.hasAttribute(\"itemprop\")) break;\n return instance;\n case \"link\":\n name = instance.getAttribute(\"rel\");\n if (\"stylesheet\" === name && instance.hasAttribute(\"data-precedence\"))\n break;\n else if (\n name !== anyProps.rel ||\n instance.getAttribute(\"href\") !==\n (null == anyProps.href || \"\" === anyProps.href\n ? null\n : anyProps.href) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin ? null : anyProps.crossOrigin) ||\n instance.getAttribute(\"title\") !==\n (null == anyProps.title ? null : anyProps.title)\n )\n break;\n return instance;\n case \"style\":\n if (instance.hasAttribute(\"data-precedence\")) break;\n return instance;\n case \"script\":\n name = instance.getAttribute(\"src\");\n if (\n (name !== (null == anyProps.src ? null : anyProps.src) ||\n instance.getAttribute(\"type\") !==\n (null == anyProps.type ? null : anyProps.type) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin ? null : anyProps.crossOrigin)) &&\n name &&\n instance.hasAttribute(\"async\") &&\n !instance.hasAttribute(\"itemprop\")\n )\n break;\n return instance;\n default:\n return instance;\n }\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) break;\n }\n return null;\n}\nfunction canHydrateTextInstance(instance, text, inRootOrSingleton) {\n if (\"\" === text) return null;\n for (; 3 !== instance.nodeType; ) {\n if (\n (1 !== instance.nodeType ||\n \"INPUT\" !== instance.nodeName ||\n \"hidden\" !== instance.type) &&\n !inRootOrSingleton\n )\n return null;\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) return null;\n }\n return instance;\n}\nfunction isSuspenseInstanceFallback(instance) {\n return (\n \"$!\" === instance.data ||\n (\"$?\" === instance.data && \"complete\" === instance.ownerDocument.readyState)\n );\n}\nfunction registerSuspenseInstanceRetry(instance, callback) {\n var ownerDocument = instance.ownerDocument;\n if (\"$?\" !== instance.data || \"complete\" === ownerDocument.readyState)\n callback();\n else {\n var listener = function () {\n callback();\n ownerDocument.removeEventListener(\"DOMContentLoaded\", listener);\n };\n ownerDocument.addEventListener(\"DOMContentLoaded\", listener);\n instance._reactRetry = listener;\n }\n}\nfunction getNextHydratable(node) {\n for (; null != node; node = node.nextSibling) {\n var nodeType = node.nodeType;\n if (1 === nodeType || 3 === nodeType) break;\n if (8 === nodeType) {\n nodeType = node.data;\n if (\n \"$\" === nodeType ||\n \"$!\" === nodeType ||\n \"$?\" === nodeType ||\n \"F!\" === nodeType ||\n \"F\" === nodeType\n )\n break;\n if (\"/$\" === nodeType) return null;\n }\n }\n return node;\n}\nvar previousHydratableOnEnteringScopedSingleton = null;\nfunction getParentSuspenseInstance(targetInstance) {\n targetInstance = targetInstance.previousSibling;\n for (var depth = 0; targetInstance; ) {\n if (8 === targetInstance.nodeType) {\n var data = targetInstance.data;\n if (\"$\" === data || \"$!\" === data || \"$?\" === data) {\n if (0 === depth) return targetInstance;\n depth--;\n } else \"/$\" === data && depth++;\n }\n targetInstance = targetInstance.previousSibling;\n }\n return null;\n}\nfunction resolveSingletonInstance(type, props, rootContainerInstance) {\n props = getOwnerDocumentFromRootContainer(rootContainerInstance);\n switch (type) {\n case \"html\":\n type = props.documentElement;\n if (!type) throw Error(formatProdErrorMessage(452));\n return type;\n case \"head\":\n type = props.head;\n if (!type) throw Error(formatProdErrorMessage(453));\n return type;\n case \"body\":\n type = props.body;\n if (!type) throw Error(formatProdErrorMessage(454));\n return type;\n default:\n throw Error(formatProdErrorMessage(451));\n }\n}\nfunction releaseSingletonInstance(instance) {\n for (var attributes = instance.attributes; attributes.length; )\n instance.removeAttributeNode(attributes[0]);\n detachDeletedInstance(instance);\n}\nvar preloadPropsMap = new Map(),\n preconnectsSet = new Set();\nfunction getHoistableRoot(container) {\n return \"function\" === typeof container.getRootNode\n ? container.getRootNode()\n : 9 === container.nodeType\n ? container\n : container.ownerDocument;\n}\nvar previousDispatcher = ReactDOMSharedInternals.d;\nReactDOMSharedInternals.d = {\n f: flushSyncWork,\n r: requestFormReset,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n};\nfunction flushSyncWork() {\n var previousWasRendering = previousDispatcher.f(),\n wasRendering = flushSyncWork$1();\n return previousWasRendering || wasRendering;\n}\nfunction requestFormReset(form) {\n var formInst = getInstanceFromNode(form);\n null !== formInst && 5 === formInst.tag && \"form\" === formInst.type\n ? requestFormReset$1(formInst)\n : previousDispatcher.r(form);\n}\nvar globalDocument = \"undefined\" === typeof document ? null : document;\nfunction preconnectAs(rel, href, crossOrigin) {\n var ownerDocument = globalDocument;\n if (ownerDocument && \"string\" === typeof href && href) {\n var limitedEscapedHref =\n escapeSelectorAttributeValueInsideDoubleQuotes(href);\n limitedEscapedHref =\n 'link[rel=\"' + rel + '\"][href=\"' + limitedEscapedHref + '\"]';\n \"string\" === typeof crossOrigin &&\n (limitedEscapedHref += '[crossorigin=\"' + crossOrigin + '\"]');\n preconnectsSet.has(limitedEscapedHref) ||\n (preconnectsSet.add(limitedEscapedHref),\n (rel = { rel: rel, crossOrigin: crossOrigin, href: href }),\n null === ownerDocument.querySelector(limitedEscapedHref) &&\n ((href = ownerDocument.createElement(\"link\")),\n setInitialProperties(href, \"link\", rel),\n markNodeAsHoistable(href),\n ownerDocument.head.appendChild(href)));\n }\n}\nfunction prefetchDNS(href) {\n previousDispatcher.D(href);\n preconnectAs(\"dns-prefetch\", href, null);\n}\nfunction preconnect(href, crossOrigin) {\n previousDispatcher.C(href, crossOrigin);\n preconnectAs(\"preconnect\", href, crossOrigin);\n}\nfunction preload(href, as, options) {\n previousDispatcher.L(href, as, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href && as) {\n var preloadSelector =\n 'link[rel=\"preload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"]';\n \"image\" === as\n ? options && options.imageSrcSet\n ? ((preloadSelector +=\n '[imagesrcset=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSrcSet\n ) +\n '\"]'),\n \"string\" === typeof options.imageSizes &&\n (preloadSelector +=\n '[imagesizes=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSizes\n ) +\n '\"]'))\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]')\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]');\n var key = preloadSelector;\n switch (as) {\n case \"style\":\n key = getStyleKey(href);\n break;\n case \"script\":\n key = getScriptKey(href);\n }\n preloadPropsMap.has(key) ||\n ((href = assign(\n {\n rel: \"preload\",\n href:\n \"image\" === as && options && options.imageSrcSet ? void 0 : href,\n as: as\n },\n options\n )),\n preloadPropsMap.set(key, href),\n null !== ownerDocument.querySelector(preloadSelector) ||\n (\"style\" === as &&\n ownerDocument.querySelector(getStylesheetSelectorFromKey(key))) ||\n (\"script\" === as &&\n ownerDocument.querySelector(getScriptSelectorFromKey(key))) ||\n ((as = ownerDocument.createElement(\"link\")),\n setInitialProperties(as, \"link\", href),\n markNodeAsHoistable(as),\n ownerDocument.head.appendChild(as)));\n }\n}\nfunction preloadModule(href, options) {\n previousDispatcher.m(href, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var as = options && \"string\" === typeof options.as ? options.as : \"script\",\n preloadSelector =\n 'link[rel=\"modulepreload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"][href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]',\n key = preloadSelector;\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n key = getScriptKey(href);\n }\n if (\n !preloadPropsMap.has(key) &&\n ((href = assign({ rel: \"modulepreload\", href: href }, options)),\n preloadPropsMap.set(key, href),\n null === ownerDocument.querySelector(preloadSelector))\n ) {\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n if (ownerDocument.querySelector(getScriptSelectorFromKey(key)))\n return;\n }\n as = ownerDocument.createElement(\"link\");\n setInitialProperties(as, \"link\", href);\n markNodeAsHoistable(as);\n ownerDocument.head.appendChild(as);\n }\n }\n}\nfunction preinitStyle(href, precedence, options) {\n previousDispatcher.S(href, precedence, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var styles = getResourcesFromRoot(ownerDocument).hoistableStyles,\n key = getStyleKey(href);\n precedence = precedence || \"default\";\n var resource = styles.get(key);\n if (!resource) {\n var state = { loading: 0, preload: null };\n if (\n (resource = ownerDocument.querySelector(\n getStylesheetSelectorFromKey(key)\n ))\n )\n state.loading = 5;\n else {\n href = assign(\n { rel: \"stylesheet\", href: href, \"data-precedence\": precedence },\n options\n );\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(href, options);\n var link = (resource = ownerDocument.createElement(\"link\"));\n markNodeAsHoistable(link);\n setInitialProperties(link, \"link\", href);\n link._p = new Promise(function (resolve, reject) {\n link.onload = resolve;\n link.onerror = reject;\n });\n link.addEventListener(\"load\", function () {\n state.loading |= 1;\n });\n link.addEventListener(\"error\", function () {\n state.loading |= 2;\n });\n state.loading |= 4;\n insertStylesheet(resource, precedence, ownerDocument);\n }\n resource = {\n type: \"stylesheet\",\n instance: resource,\n count: 1,\n state: state\n };\n styles.set(key, resource);\n }\n }\n}\nfunction preinitScript(src, options) {\n previousDispatcher.X(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),\n resource ||\n ((src = assign({ src: src, async: !0 }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n}\nfunction preinitModuleScript(src, options) {\n previousDispatcher.M(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),\n resource ||\n ((src = assign({ src: src, async: !0, type: \"module\" }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n}\nfunction getResource(type, currentProps, pendingProps, currentResource) {\n var JSCompiler_inline_result = (JSCompiler_inline_result =\n rootInstanceStackCursor.current)\n ? getHoistableRoot(JSCompiler_inline_result)\n : null;\n if (!JSCompiler_inline_result) throw Error(formatProdErrorMessage(446));\n switch (type) {\n case \"meta\":\n case \"title\":\n return null;\n case \"style\":\n return \"string\" === typeof pendingProps.precedence &&\n \"string\" === typeof pendingProps.href\n ? ((currentProps = getStyleKey(pendingProps.href)),\n (pendingProps = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableStyles),\n (currentResource = pendingProps.get(currentProps)),\n currentResource ||\n ((currentResource = {\n type: \"style\",\n instance: null,\n count: 0,\n state: null\n }),\n pendingProps.set(currentProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null };\n case \"link\":\n if (\n \"stylesheet\" === pendingProps.rel &&\n \"string\" === typeof pendingProps.href &&\n \"string\" === typeof pendingProps.precedence\n ) {\n type = getStyleKey(pendingProps.href);\n var styles$244 = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableStyles,\n resource$245 = styles$244.get(type);\n resource$245 ||\n ((JSCompiler_inline_result =\n JSCompiler_inline_result.ownerDocument || JSCompiler_inline_result),\n (resource$245 = {\n type: \"stylesheet\",\n instance: null,\n count: 0,\n state: { loading: 0, preload: null }\n }),\n styles$244.set(type, resource$245),\n (styles$244 = JSCompiler_inline_result.querySelector(\n getStylesheetSelectorFromKey(type)\n )) &&\n !styles$244._p &&\n ((resource$245.instance = styles$244),\n (resource$245.state.loading = 5)),\n preloadPropsMap.has(type) ||\n ((pendingProps = {\n rel: \"preload\",\n as: \"style\",\n href: pendingProps.href,\n crossOrigin: pendingProps.crossOrigin,\n integrity: pendingProps.integrity,\n media: pendingProps.media,\n hrefLang: pendingProps.hrefLang,\n referrerPolicy: pendingProps.referrerPolicy\n }),\n preloadPropsMap.set(type, pendingProps),\n styles$244 ||\n preloadStylesheet(\n JSCompiler_inline_result,\n type,\n pendingProps,\n resource$245.state\n )));\n if (currentProps && null === currentResource)\n throw Error(formatProdErrorMessage(528, \"\"));\n return resource$245;\n }\n if (currentProps && null !== currentResource)\n throw Error(formatProdErrorMessage(529, \"\"));\n return null;\n case \"script\":\n return (\n (currentProps = pendingProps.async),\n (pendingProps = pendingProps.src),\n \"string\" === typeof pendingProps &&\n currentProps &&\n \"function\" !== typeof currentProps &&\n \"symbol\" !== typeof currentProps\n ? ((currentProps = getScriptKey(pendingProps)),\n (pendingProps = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableScripts),\n (currentResource = pendingProps.get(currentProps)),\n currentResource ||\n ((currentResource = {\n type: \"script\",\n instance: null,\n count: 0,\n state: null\n }),\n pendingProps.set(currentProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null }\n );\n default:\n throw Error(formatProdErrorMessage(444, type));\n }\n}\nfunction getStyleKey(href) {\n return 'href=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '\"';\n}\nfunction getStylesheetSelectorFromKey(key) {\n return 'link[rel=\"stylesheet\"][' + key + \"]\";\n}\nfunction stylesheetPropsFromRawProps(rawProps) {\n return assign({}, rawProps, {\n \"data-precedence\": rawProps.precedence,\n precedence: null\n });\n}\nfunction preloadStylesheet(ownerDocument, key, preloadProps, state) {\n ownerDocument.querySelector('link[rel=\"preload\"][as=\"style\"][' + key + \"]\")\n ? (state.loading = 1)\n : ((key = ownerDocument.createElement(\"link\")),\n (state.preload = key),\n key.addEventListener(\"load\", function () {\n return (state.loading |= 1);\n }),\n key.addEventListener(\"error\", function () {\n return (state.loading |= 2);\n }),\n setInitialProperties(key, \"link\", preloadProps),\n markNodeAsHoistable(key),\n ownerDocument.head.appendChild(key));\n}\nfunction getScriptKey(src) {\n return '[src=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '\"]';\n}\nfunction getScriptSelectorFromKey(key) {\n return \"script[async]\" + key;\n}\nfunction acquireResource(hoistableRoot, resource, props) {\n resource.count++;\n if (null === resource.instance)\n switch (resource.type) {\n case \"style\":\n var instance = hoistableRoot.querySelector(\n 'style[data-href~=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(props.href) +\n '\"]'\n );\n if (instance)\n return (\n (resource.instance = instance),\n markNodeAsHoistable(instance),\n instance\n );\n var styleProps = assign({}, props, {\n \"data-href\": props.href,\n \"data-precedence\": props.precedence,\n href: null,\n precedence: null\n });\n instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement(\n \"style\"\n );\n markNodeAsHoistable(instance);\n setInitialProperties(instance, \"style\", styleProps);\n insertStylesheet(instance, props.precedence, hoistableRoot);\n return (resource.instance = instance);\n case \"stylesheet\":\n styleProps = getStyleKey(props.href);\n var instance$250 = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(styleProps)\n );\n if (instance$250)\n return (\n (resource.state.loading |= 4),\n (resource.instance = instance$250),\n markNodeAsHoistable(instance$250),\n instance$250\n );\n instance = stylesheetPropsFromRawProps(props);\n (styleProps = preloadPropsMap.get(styleProps)) &&\n adoptPreloadPropsForStylesheet(instance, styleProps);\n instance$250 = (\n hoistableRoot.ownerDocument || hoistableRoot\n ).createElement(\"link\");\n markNodeAsHoistable(instance$250);\n var linkInstance = instance$250;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance$250, \"link\", instance);\n resource.state.loading |= 4;\n insertStylesheet(instance$250, props.precedence, hoistableRoot);\n return (resource.instance = instance$250);\n case \"script\":\n instance$250 = getScriptKey(props.src);\n if (\n (styleProps = hoistableRoot.querySelector(\n getScriptSelectorFromKey(instance$250)\n ))\n )\n return (\n (resource.instance = styleProps),\n markNodeAsHoistable(styleProps),\n styleProps\n );\n instance = props;\n if ((styleProps = preloadPropsMap.get(instance$250)))\n (instance = assign({}, props)),\n adoptPreloadPropsForScript(instance, styleProps);\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n styleProps = hoistableRoot.createElement(\"script\");\n markNodeAsHoistable(styleProps);\n setInitialProperties(styleProps, \"link\", instance);\n hoistableRoot.head.appendChild(styleProps);\n return (resource.instance = styleProps);\n case \"void\":\n return null;\n default:\n throw Error(formatProdErrorMessage(443, resource.type));\n }\n else\n \"stylesheet\" === resource.type &&\n 0 === (resource.state.loading & 4) &&\n ((instance = resource.instance),\n (resource.state.loading |= 4),\n insertStylesheet(instance, props.precedence, hoistableRoot));\n return resource.instance;\n}\nfunction insertStylesheet(instance, precedence, root) {\n for (\n var nodes = root.querySelectorAll(\n 'link[rel=\"stylesheet\"][data-precedence],style[data-precedence]'\n ),\n last = nodes.length ? nodes[nodes.length - 1] : null,\n prior = last,\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (node.dataset.precedence === precedence) prior = node;\n else if (prior !== last) break;\n }\n prior\n ? prior.parentNode.insertBefore(instance, prior.nextSibling)\n : ((precedence = 9 === root.nodeType ? root.head : root),\n precedence.insertBefore(instance, precedence.firstChild));\n}\nfunction adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) {\n null == stylesheetProps.crossOrigin &&\n (stylesheetProps.crossOrigin = preloadProps.crossOrigin);\n null == stylesheetProps.referrerPolicy &&\n (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy);\n null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title);\n}\nfunction adoptPreloadPropsForScript(scriptProps, preloadProps) {\n null == scriptProps.crossOrigin &&\n (scriptProps.crossOrigin = preloadProps.crossOrigin);\n null == scriptProps.referrerPolicy &&\n (scriptProps.referrerPolicy = preloadProps.referrerPolicy);\n null == scriptProps.integrity &&\n (scriptProps.integrity = preloadProps.integrity);\n}\nvar tagCaches = null;\nfunction getHydratableHoistableCache(type, keyAttribute, ownerDocument) {\n if (null === tagCaches) {\n var cache = new Map();\n var caches = (tagCaches = new Map());\n caches.set(ownerDocument, cache);\n } else\n (caches = tagCaches),\n (cache = caches.get(ownerDocument)),\n cache || ((cache = new Map()), caches.set(ownerDocument, cache));\n if (cache.has(type)) return cache;\n cache.set(type, null);\n ownerDocument = ownerDocument.getElementsByTagName(type);\n for (caches = 0; caches < ownerDocument.length; caches++) {\n var node = ownerDocument[caches];\n if (\n !(\n node[internalHoistableMarker] ||\n node[internalInstanceKey] ||\n (\"link\" === type && \"stylesheet\" === node.getAttribute(\"rel\"))\n ) &&\n \"http://www.w3.org/2000/svg\" !== node.namespaceURI\n ) {\n var nodeKey = node.getAttribute(keyAttribute) || \"\";\n nodeKey = type + nodeKey;\n var existing = cache.get(nodeKey);\n existing ? existing.push(node) : cache.set(nodeKey, [node]);\n }\n }\n return cache;\n}\nfunction mountHoistable(hoistableRoot, type, instance) {\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n hoistableRoot.head.insertBefore(\n instance,\n \"title\" === type ? hoistableRoot.querySelector(\"head > title\") : null\n );\n}\nfunction isHostHoistableType(type, props, hostContext) {\n if (1 === hostContext || null != props.itemProp) return !1;\n switch (type) {\n case \"meta\":\n case \"title\":\n return !0;\n case \"style\":\n if (\n \"string\" !== typeof props.precedence ||\n \"string\" !== typeof props.href ||\n \"\" === props.href\n )\n break;\n return !0;\n case \"link\":\n if (\n \"string\" !== typeof props.rel ||\n \"string\" !== typeof props.href ||\n \"\" === props.href ||\n props.onLoad ||\n props.onError\n )\n break;\n switch (props.rel) {\n case \"stylesheet\":\n return (\n (type = props.disabled),\n \"string\" === typeof props.precedence && null == type\n );\n default:\n return !0;\n }\n case \"script\":\n if (\n props.async &&\n \"function\" !== typeof props.async &&\n \"symbol\" !== typeof props.async &&\n !props.onLoad &&\n !props.onError &&\n props.src &&\n \"string\" === typeof props.src\n )\n return !0;\n }\n return !1;\n}\nfunction preloadResource(resource) {\n return \"stylesheet\" === resource.type && 0 === (resource.state.loading & 3)\n ? !1\n : !0;\n}\nvar suspendedState = null;\nfunction noop() {}\nfunction suspendResource(hoistableRoot, resource, props) {\n if (null === suspendedState) throw Error(formatProdErrorMessage(475));\n var state = suspendedState;\n if (\n \"stylesheet\" === resource.type &&\n (\"string\" !== typeof props.media ||\n !1 !== matchMedia(props.media).matches) &&\n 0 === (resource.state.loading & 4)\n ) {\n if (null === resource.instance) {\n var key = getStyleKey(props.href),\n instance = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(key)\n );\n if (instance) {\n hoistableRoot = instance._p;\n null !== hoistableRoot &&\n \"object\" === typeof hoistableRoot &&\n \"function\" === typeof hoistableRoot.then &&\n (state.count++,\n (state = onUnsuspend.bind(state)),\n hoistableRoot.then(state, state));\n resource.state.loading |= 4;\n resource.instance = instance;\n markNodeAsHoistable(instance);\n return;\n }\n instance = hoistableRoot.ownerDocument || hoistableRoot;\n props = stylesheetPropsFromRawProps(props);\n (key = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(props, key);\n instance = instance.createElement(\"link\");\n markNodeAsHoistable(instance);\n var linkInstance = instance;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance, \"link\", props);\n resource.instance = instance;\n }\n null === state.stylesheets && (state.stylesheets = new Map());\n state.stylesheets.set(resource, hoistableRoot);\n (hoistableRoot = resource.state.preload) &&\n 0 === (resource.state.loading & 3) &&\n (state.count++,\n (resource = onUnsuspend.bind(state)),\n hoistableRoot.addEventListener(\"load\", resource),\n hoistableRoot.addEventListener(\"error\", resource));\n }\n}\nfunction waitForCommitToBeReady() {\n if (null === suspendedState) throw Error(formatProdErrorMessage(475));\n var state = suspendedState;\n state.stylesheets &&\n 0 === state.count &&\n insertSuspendedStylesheets(state, state.stylesheets);\n return 0 < state.count\n ? function (commit) {\n var stylesheetTimer = setTimeout(function () {\n state.stylesheets &&\n insertSuspendedStylesheets(state, state.stylesheets);\n if (state.unsuspend) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n }, 6e4);\n state.unsuspend = commit;\n return function () {\n state.unsuspend = null;\n clearTimeout(stylesheetTimer);\n };\n }\n : null;\n}\nfunction onUnsuspend() {\n this.count--;\n if (0 === this.count)\n if (this.stylesheets) insertSuspendedStylesheets(this, this.stylesheets);\n else if (this.unsuspend) {\n var unsuspend = this.unsuspend;\n this.unsuspend = null;\n unsuspend();\n }\n}\nvar precedencesByRoot = null;\nfunction insertSuspendedStylesheets(state, resources) {\n state.stylesheets = null;\n null !== state.unsuspend &&\n (state.count++,\n (precedencesByRoot = new Map()),\n resources.forEach(insertStylesheetIntoRoot, state),\n (precedencesByRoot = null),\n onUnsuspend.call(state));\n}\nfunction insertStylesheetIntoRoot(root, resource) {\n if (!(resource.state.loading & 4)) {\n var precedences = precedencesByRoot.get(root);\n if (precedences) var last = precedences.get(null);\n else {\n precedences = new Map();\n precedencesByRoot.set(root, precedences);\n for (\n var nodes = root.querySelectorAll(\n \"link[data-precedence],style[data-precedence]\"\n ),\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (\n \"LINK\" === node.nodeName ||\n \"not all\" !== node.getAttribute(\"media\")\n )\n precedences.set(node.dataset.precedence, node), (last = node);\n }\n last && precedences.set(null, last);\n }\n nodes = resource.instance;\n node = nodes.getAttribute(\"data-precedence\");\n i = precedences.get(node) || last;\n i === last && precedences.set(null, nodes);\n precedences.set(node, nodes);\n this.count++;\n last = onUnsuspend.bind(this);\n nodes.addEventListener(\"load\", last);\n nodes.addEventListener(\"error\", last);\n i\n ? i.parentNode.insertBefore(nodes, i.nextSibling)\n : ((root = 9 === root.nodeType ? root.head : root),\n root.insertBefore(nodes, root.firstChild));\n resource.state.loading |= 4;\n }\n}\nvar HostTransitionContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Provider: null,\n Consumer: null,\n _currentValue: sharedNotPendingObject,\n _currentValue2: sharedNotPendingObject,\n _threadCount: 0\n};\nfunction FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n formState\n) {\n this.tag = 1;\n this.containerInfo = containerInfo;\n this.pingCache = this.current = this.pendingChildren = null;\n this.timeoutHandle = -1;\n this.callbackNode =\n this.next =\n this.pendingContext =\n this.context =\n this.cancelPendingCommit =\n null;\n this.callbackPriority = 0;\n this.expirationTimes = createLaneMap(-1);\n this.entangledLanes =\n this.shellSuspendCounter =\n this.errorRecoveryDisabledLanes =\n this.expiredLanes =\n this.warmLanes =\n this.pingedLanes =\n this.suspendedLanes =\n this.pendingLanes =\n 0;\n this.entanglements = createLaneMap(0);\n this.hiddenUpdates = createLaneMap(null);\n this.identifierPrefix = identifierPrefix;\n this.onUncaughtError = onUncaughtError;\n this.onCaughtError = onCaughtError;\n this.onRecoverableError = onRecoverableError;\n this.pooledCache = null;\n this.pooledCacheLanes = 0;\n this.formState = formState;\n this.incompleteTransitions = new Map();\n}\nfunction createFiberRoot(\n containerInfo,\n tag,\n hydrate,\n initialChildren,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n formState\n) {\n containerInfo = new FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n formState\n );\n tag = 1;\n !0 === isStrictMode && (tag |= 24);\n isStrictMode = createFiberImplClass(3, null, null, tag);\n containerInfo.current = isStrictMode;\n isStrictMode.stateNode = containerInfo;\n tag = createCache();\n tag.refCount++;\n containerInfo.pooledCache = tag;\n tag.refCount++;\n isStrictMode.memoizedState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: tag\n };\n initializeUpdateQueue(isStrictMode);\n return containerInfo;\n}\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) return emptyContextObject;\n parentComponent = emptyContextObject;\n return parentComponent;\n}\nfunction updateContainerImpl(\n rootFiber,\n lane,\n element,\n container,\n parentComponent,\n callback\n) {\n parentComponent = getContextForSubtree(parentComponent);\n null === container.context\n ? (container.context = parentComponent)\n : (container.pendingContext = parentComponent);\n container = createUpdate(lane);\n container.payload = { element: element };\n callback = void 0 === callback ? null : callback;\n null !== callback && (container.callback = callback);\n element = enqueueUpdate(rootFiber, container, lane);\n null !== element &&\n (scheduleUpdateOnFiber(element, rootFiber, lane),\n entangleTransitions(element, rootFiber, lane));\n}\nfunction markRetryLaneImpl(fiber, retryLane) {\n fiber = fiber.memoizedState;\n if (null !== fiber && null !== fiber.dehydrated) {\n var a = fiber.retryLane;\n fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane;\n }\n}\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);\n}\nfunction attemptContinuousHydration(fiber) {\n if (13 === fiber.tag) {\n var root = enqueueConcurrentRenderForLane(fiber, 67108864);\n null !== root && scheduleUpdateOnFiber(root, fiber, 67108864);\n markRetryLaneIfNotHydrated(fiber, 67108864);\n }\n}\nvar _enabled = !0;\nfunction dispatchDiscreteEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = 2),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction dispatchContinuousEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = 8),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction dispatchEvent(\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n if (_enabled) {\n var blockedOn = findInstanceBlockingEvent(nativeEvent);\n if (null === blockedOn)\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n ),\n clearIfContinuousEvent(domEventName, nativeEvent);\n else if (\n queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n )\n nativeEvent.stopPropagation();\n else if (\n (clearIfContinuousEvent(domEventName, nativeEvent),\n eventSystemFlags & 4 &&\n -1 < discreteReplayableEvents.indexOf(domEventName))\n ) {\n for (; null !== blockedOn; ) {\n var fiber = getInstanceFromNode(blockedOn);\n if (null !== fiber)\n switch (fiber.tag) {\n case 3:\n fiber = fiber.stateNode;\n if (fiber.current.memoizedState.isDehydrated) {\n var lanes = getHighestPriorityLanes(fiber.pendingLanes);\n if (0 !== lanes) {\n var root = fiber;\n root.pendingLanes |= 2;\n for (root.entangledLanes |= 2; lanes; ) {\n var lane = 1 << (31 - clz32(lanes));\n root.entanglements[1] |= lane;\n lanes &= ~lane;\n }\n ensureRootIsScheduled(fiber);\n 0 === (executionContext & 6) &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n flushSyncWorkAcrossRoots_impl(0, !1));\n }\n }\n break;\n case 13:\n (root = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== root && scheduleUpdateOnFiber(root, fiber, 2),\n flushSyncWork$1(),\n markRetryLaneIfNotHydrated(fiber, 2);\n }\n fiber = findInstanceBlockingEvent(nativeEvent);\n null === fiber &&\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n );\n if (fiber === blockedOn) break;\n blockedOn = fiber;\n }\n null !== blockedOn && nativeEvent.stopPropagation();\n } else\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n null,\n targetContainer\n );\n }\n}\nfunction findInstanceBlockingEvent(nativeEvent) {\n nativeEvent = getEventTarget(nativeEvent);\n return findInstanceBlockingTarget(nativeEvent);\n}\nvar return_targetInst = null;\nfunction findInstanceBlockingTarget(targetNode) {\n return_targetInst = null;\n targetNode = getClosestInstanceFromNode(targetNode);\n if (null !== targetNode) {\n var nearestMounted = getNearestMountedFiber(targetNode);\n if (null === nearestMounted) targetNode = null;\n else {\n var tag = nearestMounted.tag;\n if (13 === tag) {\n targetNode = getSuspenseInstanceFromFiber(nearestMounted);\n if (null !== targetNode) return targetNode;\n targetNode = null;\n } else if (3 === tag) {\n if (nearestMounted.stateNode.current.memoizedState.isDehydrated)\n return 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n targetNode = null;\n } else nearestMounted !== targetNode && (targetNode = null);\n }\n }\n return_targetInst = targetNode;\n return null;\n}\nfunction getEventPriority(domEventName) {\n switch (domEventName) {\n case \"beforetoggle\":\n case \"cancel\":\n case \"click\":\n case \"close\":\n case \"contextmenu\":\n case \"copy\":\n case \"cut\":\n case \"auxclick\":\n case \"dblclick\":\n case \"dragend\":\n case \"dragstart\":\n case \"drop\":\n case \"focusin\":\n case \"focusout\":\n case \"input\":\n case \"invalid\":\n case \"keydown\":\n case \"keypress\":\n case \"keyup\":\n case \"mousedown\":\n case \"mouseup\":\n case \"paste\":\n case \"pause\":\n case \"play\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointerup\":\n case \"ratechange\":\n case \"reset\":\n case \"resize\":\n case \"seeked\":\n case \"submit\":\n case \"toggle\":\n case \"touchcancel\":\n case \"touchend\":\n case \"touchstart\":\n case \"volumechange\":\n case \"change\":\n case \"selectionchange\":\n case \"textInput\":\n case \"compositionstart\":\n case \"compositionend\":\n case \"compositionupdate\":\n case \"beforeblur\":\n case \"afterblur\":\n case \"beforeinput\":\n case \"blur\":\n case \"fullscreenchange\":\n case \"focus\":\n case \"hashchange\":\n case \"popstate\":\n case \"select\":\n case \"selectstart\":\n return 2;\n case \"drag\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"mousemove\":\n case \"mouseout\":\n case \"mouseover\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"scroll\":\n case \"touchmove\":\n case \"wheel\":\n case \"mouseenter\":\n case \"mouseleave\":\n case \"pointerenter\":\n case \"pointerleave\":\n return 8;\n case \"message\":\n switch (getCurrentPriorityLevel()) {\n case ImmediatePriority:\n return 2;\n case UserBlockingPriority:\n return 8;\n case NormalPriority$1:\n case LowPriority:\n return 32;\n case IdlePriority:\n return 268435456;\n default:\n return 32;\n }\n default:\n return 32;\n }\n}\nvar hasScheduledReplayAttempt = !1,\n queuedFocus = null,\n queuedDrag = null,\n queuedMouse = null,\n queuedPointers = new Map(),\n queuedPointerCaptures = new Map(),\n queuedExplicitHydrationTargets = [],\n discreteReplayableEvents =\n \"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset\".split(\n \" \"\n );\nfunction clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"focusin\":\n case \"focusout\":\n queuedFocus = null;\n break;\n case \"dragenter\":\n case \"dragleave\":\n queuedDrag = null;\n break;\n case \"mouseover\":\n case \"mouseout\":\n queuedMouse = null;\n break;\n case \"pointerover\":\n case \"pointerout\":\n queuedPointers.delete(nativeEvent.pointerId);\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n queuedPointerCaptures.delete(nativeEvent.pointerId);\n }\n}\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(\n existingQueuedEvent,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n if (\n null === existingQueuedEvent ||\n existingQueuedEvent.nativeEvent !== nativeEvent\n )\n return (\n (existingQueuedEvent = {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n }),\n null !== blockedOn &&\n ((blockedOn = getInstanceFromNode(blockedOn)),\n null !== blockedOn && attemptContinuousHydration(blockedOn)),\n existingQueuedEvent\n );\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n blockedOn = existingQueuedEvent.targetContainers;\n null !== targetContainer &&\n -1 === blockedOn.indexOf(targetContainer) &&\n blockedOn.push(targetContainer);\n return existingQueuedEvent;\n}\nfunction queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n switch (domEventName) {\n case \"focusin\":\n return (\n (queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedFocus,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"dragenter\":\n return (\n (queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedDrag,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"mouseover\":\n return (\n (queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedMouse,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"pointerover\":\n var pointerId = nativeEvent.pointerId;\n queuedPointers.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointers.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n );\n return !0;\n case \"gotpointercapture\":\n return (\n (pointerId = nativeEvent.pointerId),\n queuedPointerCaptures.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointerCaptures.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n ),\n !0\n );\n }\n return !1;\n}\nfunction attemptExplicitHydrationTarget(queuedTarget) {\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n if (null !== targetInst) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n if (null !== nearestMounted)\n if (((targetInst = nearestMounted.tag), 13 === targetInst)) {\n if (\n ((targetInst = getSuspenseInstanceFromFiber(nearestMounted)),\n null !== targetInst)\n ) {\n queuedTarget.blockedOn = targetInst;\n runWithPriority(queuedTarget.priority, function () {\n if (13 === nearestMounted.tag) {\n var lane = requestUpdateLane();\n lane = getBumpedLaneForHydrationByLane(lane);\n var root = enqueueConcurrentRenderForLane(nearestMounted, lane);\n null !== root &&\n scheduleUpdateOnFiber(root, nearestMounted, lane);\n markRetryLaneIfNotHydrated(nearestMounted, lane);\n }\n });\n return;\n }\n } else if (\n 3 === targetInst &&\n nearestMounted.stateNode.current.memoizedState.isDehydrated\n ) {\n queuedTarget.blockedOn =\n 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n return;\n }\n }\n queuedTarget.blockedOn = null;\n}\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (null !== queuedEvent.blockedOn) return !1;\n for (\n var targetContainers = queuedEvent.targetContainers;\n 0 < targetContainers.length;\n\n ) {\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent);\n if (null === nextBlockedOn) {\n nextBlockedOn = queuedEvent.nativeEvent;\n var nativeEventClone = new nextBlockedOn.constructor(\n nextBlockedOn.type,\n nextBlockedOn\n );\n currentReplayingEvent = nativeEventClone;\n nextBlockedOn.target.dispatchEvent(nativeEventClone);\n currentReplayingEvent = null;\n } else\n return (\n (targetContainers = getInstanceFromNode(nextBlockedOn)),\n null !== targetContainers &&\n attemptContinuousHydration(targetContainers),\n (queuedEvent.blockedOn = nextBlockedOn),\n !1\n );\n targetContainers.shift();\n }\n return !0;\n}\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key);\n}\nfunction replayUnblockedEvents() {\n hasScheduledReplayAttempt = !1;\n null !== queuedFocus &&\n attemptReplayContinuousQueuedEvent(queuedFocus) &&\n (queuedFocus = null);\n null !== queuedDrag &&\n attemptReplayContinuousQueuedEvent(queuedDrag) &&\n (queuedDrag = null);\n null !== queuedMouse &&\n attemptReplayContinuousQueuedEvent(queuedMouse) &&\n (queuedMouse = null);\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n}\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n queuedEvent.blockedOn === unblocked &&\n ((queuedEvent.blockedOn = null),\n hasScheduledReplayAttempt ||\n ((hasScheduledReplayAttempt = !0),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n replayUnblockedEvents\n )));\n}\nvar lastScheduledReplayQueue = null;\nfunction scheduleReplayQueueIfNeeded(formReplayingQueue) {\n lastScheduledReplayQueue !== formReplayingQueue &&\n ((lastScheduledReplayQueue = formReplayingQueue),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n function () {\n lastScheduledReplayQueue === formReplayingQueue &&\n (lastScheduledReplayQueue = null);\n for (var i = 0; i < formReplayingQueue.length; i += 3) {\n var form = formReplayingQueue[i],\n submitterOrAction = formReplayingQueue[i + 1],\n formData = formReplayingQueue[i + 2];\n if (\"function\" !== typeof submitterOrAction)\n if (null === findInstanceBlockingTarget(submitterOrAction || form))\n continue;\n else break;\n var formInst = getInstanceFromNode(form);\n null !== formInst &&\n (formReplayingQueue.splice(i, 3),\n (i -= 3),\n startHostTransition(\n formInst,\n {\n pending: !0,\n data: formData,\n method: form.method,\n action: submitterOrAction\n },\n submitterOrAction,\n formData\n ));\n }\n }\n ));\n}\nfunction retryIfBlockedOn(unblocked) {\n function unblock(queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n }\n null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) {\n var queuedTarget = queuedExplicitHydrationTargets[i];\n queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null);\n }\n for (\n ;\n 0 < queuedExplicitHydrationTargets.length &&\n ((i = queuedExplicitHydrationTargets[0]), null === i.blockedOn);\n\n )\n attemptExplicitHydrationTarget(i),\n null === i.blockedOn && queuedExplicitHydrationTargets.shift();\n i = (unblocked.ownerDocument || unblocked).$$reactFormReplay;\n if (null != i)\n for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) {\n var form = i[queuedTarget],\n submitterOrAction = i[queuedTarget + 1],\n formProps = form[internalPropsKey] || null;\n if (\"function\" === typeof submitterOrAction)\n formProps || scheduleReplayQueueIfNeeded(i);\n else if (formProps) {\n var action = null;\n if (submitterOrAction && submitterOrAction.hasAttribute(\"formAction\"))\n if (\n ((form = submitterOrAction),\n (formProps = submitterOrAction[internalPropsKey] || null))\n )\n action = formProps.formAction;\n else {\n if (null !== findInstanceBlockingTarget(form)) continue;\n }\n else action = formProps.action;\n \"function\" === typeof action\n ? (i[queuedTarget + 1] = action)\n : (i.splice(queuedTarget, 3), (queuedTarget -= 3));\n scheduleReplayQueueIfNeeded(i);\n }\n }\n}\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render =\n function (children) {\n var root = this._internalRoot;\n if (null === root) throw Error(formatProdErrorMessage(409));\n var current = root.current,\n lane = requestUpdateLane();\n updateContainerImpl(current, lane, children, root, null, null);\n };\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount =\n function () {\n var root = this._internalRoot;\n if (null !== root) {\n this._internalRoot = null;\n var container = root.containerInfo;\n updateContainerImpl(root.current, 2, null, root, null, null);\n flushSyncWork$1();\n container[internalContainerInstanceKey] = null;\n }\n };\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {\n if (target) {\n var updatePriority = resolveUpdatePriority();\n target = { blockedOn: null, target: target, priority: updatePriority };\n for (\n var i = 0;\n i < queuedExplicitHydrationTargets.length &&\n 0 !== updatePriority &&\n updatePriority < queuedExplicitHydrationTargets[i].priority;\n i++\n );\n queuedExplicitHydrationTargets.splice(i, 0, target);\n 0 === i && attemptExplicitHydrationTarget(target);\n }\n};\nvar isomorphicReactPackageVersion$jscomp$inline_1785 = React.version;\nif (\n \"19.1.1\" !==\n isomorphicReactPackageVersion$jscomp$inline_1785\n)\n throw Error(\n formatProdErrorMessage(\n 527,\n isomorphicReactPackageVersion$jscomp$inline_1785,\n \"19.1.1\"\n )\n );\nReactDOMSharedInternals.findDOMNode = function (componentOrElement) {\n var fiber = componentOrElement._reactInternals;\n if (void 0 === fiber) {\n if (\"function\" === typeof componentOrElement.render)\n throw Error(formatProdErrorMessage(188));\n componentOrElement = Object.keys(componentOrElement).join(\",\");\n throw Error(formatProdErrorMessage(268, componentOrElement));\n }\n componentOrElement = findCurrentFiberUsingSlowPath(fiber);\n componentOrElement =\n null !== componentOrElement\n ? findCurrentHostFiberImpl(componentOrElement)\n : null;\n componentOrElement =\n null === componentOrElement ? null : componentOrElement.stateNode;\n return componentOrElement;\n};\nvar internals$jscomp$inline_2256 = {\n bundleType: 0,\n version: \"19.1.1\",\n rendererPackageName: \"react-dom\",\n currentDispatcherRef: ReactSharedInternals,\n reconcilerVersion: \"19.1.1\"\n};\nif (\"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {\n var hook$jscomp$inline_2257 = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (\n !hook$jscomp$inline_2257.isDisabled &&\n hook$jscomp$inline_2257.supportsFiber\n )\n try {\n (rendererID = hook$jscomp$inline_2257.inject(\n internals$jscomp$inline_2256\n )),\n (injectedHook = hook$jscomp$inline_2257);\n } catch (err) {}\n}\nexports.createRoot = function (container, options) {\n if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError,\n transitionCallbacks = null;\n null !== options &&\n void 0 !== options &&\n (!0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError),\n void 0 !== options.unstable_transitionCallbacks &&\n (transitionCallbacks = options.unstable_transitionCallbacks));\n options = createFiberRoot(\n container,\n 1,\n !1,\n null,\n null,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n null\n );\n container[internalContainerInstanceKey] = options.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMRoot(options);\n};\nexports.hydrateRoot = function (container, initialChildren, options) {\n if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError,\n transitionCallbacks = null,\n formState = null;\n null !== options &&\n void 0 !== options &&\n (!0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError),\n void 0 !== options.unstable_transitionCallbacks &&\n (transitionCallbacks = options.unstable_transitionCallbacks),\n void 0 !== options.formState && (formState = options.formState));\n initialChildren = createFiberRoot(\n container,\n 1,\n !0,\n initialChildren,\n null != options ? options : null,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n formState\n );\n initialChildren.context = getContextForSubtree(null);\n options = initialChildren.current;\n isStrictMode = requestUpdateLane();\n isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode);\n identifierPrefix = createUpdate(isStrictMode);\n identifierPrefix.callback = null;\n enqueueUpdate(options, identifierPrefix, isStrictMode);\n options = isStrictMode;\n initialChildren.current.lanes = options;\n markRootUpdated$1(initialChildren, options);\n ensureRootIsScheduled(initialChildren);\n container[internalContainerInstanceKey] = initialChildren.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMHydrationRoot(initialChildren);\n};\nexports.version = \"19.1.1\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom-client.production.js');\n} else {\n module.exports = require('./cjs/react-dom-client.development.js');\n}\n","// src/core/config/config.ts\nexport type Config = {\n color: {\n bands: {\n silhouette: { fillEven: string; fillOdd: string; stroke: string };\n workspace: { fillEven: string; fillOdd: string; stroke: string };\n };\n completion: { fill: string; stroke: string };\n silhouetteMask: string;\n anchors: { invalid: string; valid: string };\n piece: { draggingFill: string; validFill: string; invalidFill: string; invalidStroke: string; selectedStroke: string; allGreenStroke: string; borderStroke: string };\n ui: { light: string; dark: string };\n blueprint: { fill: string; selectedStroke: string; badgeFill: string; labelFill: string };\n };\n opacity: {\n blueprint: number;\n silhouetteMask: number;\n anchors: { invalid: number; valid: number };\n piece: { invalid: number; dragging: number; locked: number; normal: number };\n };\n size: {\n stroke: { bandPx: number; pieceSelectedPx: number; allGreenStrokePx: number; pieceBorderPx: number };\n anchorRadiusPx: { valid: number; invalid: number };\n badgeFontPx: number;\n centerBadge: { fractionOfOuterR: number; minPx: number; marginPx: number };\n };\n layout: {\n grid: { stepPx: number; unitPx: number };\n paddingPx: number;\n /** renamed from capacity → constraints */\n constraints: {\n workspaceDiamAnchors: number;\n quickstashDiamAnchors: number;\n primitiveDiamAnchors: number;\n };\n defaults: { maxQuickstashSlots: number };\n };\n game: {\n snapRadiusPx: number;\n showBorders: boolean;\n hideTouchingBorders: boolean;\n };\n};\n\nexport const CONFIG: Config = {\n color: {\n bands: {\n silhouette: { fillEven: \"#eef2ff\", fillOdd: \"#f6f7fb\", stroke: \"#c7d2fe\" },\n workspace: { fillEven: \"#f3f4f6\", fillOdd: \"#f9fafb\", stroke: \"#e5e7eb\" }\n },\n completion: { fill: \"#dcfce7\", stroke: \"#86efac\" },\n silhouetteMask: \"#94a3b8\",\n anchors: { invalid: \"#7dd3fc\", valid: \"#475569\" },\n piece: { draggingFill: \"#1d4ed8\", validFill: \"#60a5fa\", invalidFill: \"#ef4444\", invalidStroke: \"#dc2626\", selectedStroke: \"#111827\", allGreenStroke: \"#86efac\", borderStroke: \"#374151\" },\n ui: { light: \"#60a5fa\", dark: \"#1d4ed8\" },\n blueprint: { fill: \"#374151\", selectedStroke: \"#111827\", badgeFill: \"#eef2ff\", labelFill: \"#374151\" }\n },\n opacity: {\n blueprint: 0.95,\n silhouetteMask: 0.45,\n anchors: { valid: 0.80, invalid: 0.50 },\n piece: { invalid: 0.35, dragging: 0.60, locked: 0.70, normal: 0.95 },\n },\n size: {\n stroke: { bandPx: 1, pieceSelectedPx: 1.5, allGreenStrokePx: 6, pieceBorderPx: 1 },\n anchorRadiusPx: { valid: 1.0, invalid: 1.0 },\n badgeFontPx: 12,\n centerBadge: { fractionOfOuterR: 0.15, minPx: 20, marginPx: 4 }\n },\n layout: {\n grid: { stepPx: 20, unitPx: 40 },\n paddingPx: 1,\n constraints: {\n workspaceDiamAnchors: 10, // num anchors req'd to be on diagonal\n quickstashDiamAnchors: 7, // num anchors req'd to be in single quickstash slot\n primitiveDiamAnchors: 5,\n },\n defaults: { maxQuickstashSlots: 1 }\n },\n game: {\n snapRadiusPx: 15,\n showBorders: true,\n hideTouchingBorders: true\n }\n};","import type {\n Blueprint, PrimitiveBlueprint, CompositeBlueprint, TanKind\n} from \"./types\";\n\nexport function isComposite(bp: Blueprint): bp is CompositeBlueprint {\n return (bp as CompositeBlueprint).parts !== undefined;\n}\nexport function isPrimitive(bp: Blueprint): bp is PrimitiveBlueprint {\n return !isComposite(bp);\n}\n\nexport class BlueprintRegistry {\n private byId = new Map<string, Blueprint>();\n private primitivesByKind = new Map<TanKind, PrimitiveBlueprint>();\n\n registerAll(bps: Blueprint[]) {\n for (const bp of bps) this.register(bp);\n }\n register(bp: Blueprint) {\n this.byId.set(bp.id, bp);\n if (isPrimitive(bp)) this.primitivesByKind.set(bp.kind, bp);\n }\n get(id: string) { return this.byId.get(id); }\n getPrimitive(kind: TanKind | string) { return this.primitivesByKind.get(kind as TanKind); }\n}\n","/**\n * BaseGameController with dependency injection - PHASE 2 MILESTONE\n * \n * Maintains compatibility with existing RoundController API while implementing\n * clean separation between configuration and data. All game content is injected\n * via constructor parameters, no hardcoded defaults.\n */\n\nimport type { \n Blueprint, \n Sector, \n LayoutMode,\n PlacementTarget,\n InputMode,\n RoundState,\n SectorState,\n TanKind,\n PrimitiveBlueprint\n} from '../../domain/types';\nimport { CONFIG } from '../../config/config';\nimport { BlueprintRegistry } from '../../domain/blueprints';\n\nexport interface GameConfig {\n n: number;\n layout: LayoutMode;\n target: PlacementTarget; // CRITICAL: \"workspace\" | \"silhouette\"\n input: InputMode; // CRITICAL: \"click\" | \"drag\"\n timeLimitMs: number;\n maxQuickstashSlots: number;\n maxCompositeSize?: number; // Optional - only used in prep mode\n mode: \"construction\" | \"prep\"; // NEW: Distinguishes prep vs construction behavior\n minPiecesPerMacro?: number; // NEW: Minimum pieces required per macro (prep mode)\n requireAllSlots?: boolean; // NEW: Whether all slots must be filled (prep mode)\n}\n\nlet PID = 0;\nconst newId = () => `p_${++PID}`;\nconst NOW = () => performance.now();\n\n// Event tracking callbacks (optional - set by InteractionTracker)\nexport interface TrackingCallbacks {\n onPiecePickup?: (pieceId: string, blueprintId: string, blueprintType: 'primitive' | 'composite', source: 'blueprint' | 'sector', position: { x: number; y: number }, vertices: number[][][], sectorId?: string) => void;\n onPiecePlacedown?: (outcome: 'placed' | 'deleted', sectorId?: string, position?: { x: number; y: number }, vertices?: number[][][], anchorId?: string, wasValid?: boolean, wasOverlapping?: boolean) => void;\n onClickEvent?: (location: { x: number; y: number }, anchorX: number, anchorY: number, clickType: 'blueprint_view_switch' | 'invalid_placement' | 'sector_complete_attempt', metadata?: any) => void;\n onMouseMove?: (anchorX: number, anchorY: number, sectorId?: string) => void;\n onSectorCompleted?: (sectorId: string) => void;\n}\n\nexport class BaseGameController {\n // Core data - injected, not hardcoded\n private sectors: Sector[];\n private quickstash: Blueprint[];\n private primitives: PrimitiveBlueprint[];\n\n // Configuration\n private config: GameConfig;\n\n // State and registry\n public state: RoundState;\n private t0: number;\n private registry = new BlueprintRegistry();\n\n // React state update tracking\n private _updateCount = 0;\n public get updateCount() { return this._updateCount; }\n private notifyStateChange() { this._updateCount++; }\n\n // Event tracking (optional)\n private trackingCallbacks: TrackingCallbacks | null = null;\n \n constructor(\n sectors: Sector[],\n quickstash: Blueprint[],\n primitives: PrimitiveBlueprint[],\n config: GameConfig\n ) {\n // Validate required inputs - fail fast\n if (!sectors || sectors.length === 0) {\n throw new Error(\"BaseGameController: sectors array is required and cannot be empty\");\n }\n if (!primitives || primitives.length === 0) {\n throw new Error(\"BaseGameController: primitives array is required and cannot be empty\");\n }\n if (!config) {\n throw new Error(\"BaseGameController: config is required\");\n }\n\n // CRITICAL: All data is injected, no defaults\n this.sectors = sectors;\n this.quickstash = quickstash || [];\n this.primitives = primitives;\n this.config = config;\n \n // Initialize registry\n this.registry.registerAll(primitives);\n this.registry.registerAll(quickstash);\n \n // Initialize state\n this.t0 = NOW();\n this.state = this.initializeState();\n }\n \n private initializeState(): RoundState {\n // Create state that matches existing RoundController structure\n const sectors: Record<string, SectorState> = {};\n for (const s of this.sectors) {\n sectors[s.id] = { sectorId: s.id, pieces: [] };\n }\n\n return {\n cfg: {\n n: this.config.n,\n layout: this.config.layout,\n target: this.config.target,\n input: this.config.input,\n maxQuickstashSlots: this.config.maxQuickstashSlots,\n timeLimitMs: this.config.timeLimitMs,\n snapRadiusPx: CONFIG.game.snapRadiusPx,\n maxCompositeSize: this.config.maxCompositeSize ?? 0, // Default to 0 for legacy compatibility\n sectors: this.sectors,\n mode: this.config.mode\n },\n blueprintView: this.config.mode === \"prep\" ? \"primitives\" : \"quickstash\", // Start with primitives in prep mode\n primitives: this.primitives,\n quickstash: this.quickstash,\n sectors,\n startedAt: this.t0\n };\n }\n\n // ===== Event Tracking =====\n // Methods for InteractionTracker integration\n\n /**\n * Set tracking callbacks for data collection\n * Called by InteractionTracker to register itself\n */\n setTrackingCallbacks(callbacks: TrackingCallbacks | null): void {\n this.trackingCallbacks = callbacks;\n }\n\n // ===== RoundController Compatibility Interface =====\n // These methods maintain compatibility with Board.tsx expectations\n\n getState(): RoundState {\n return this.state;\n }\n\n getSnapRadius(): number {\n return CONFIG.game.snapRadiusPx;\n }\n\n // CRITICAL: Preserve target and input mode access\n getTarget(): PlacementTarget {\n return this.config.target;\n }\n\n getInputMode(): InputMode {\n return this.config.input;\n }\n\n // ===== Blueprint and Piece Management =====\n // Methods that Board.tsx expects\n\n getBlueprint(id: string): Blueprint | undefined {\n return this.registry.get(id);\n }\n\n getPrimitive(kind: TanKind | string): PrimitiveBlueprint | undefined {\n return this.registry.getPrimitive(kind);\n }\n\n getPiecesInSector(sectorId: string): any[] {\n const sectorState = this.state.sectors[sectorId];\n return sectorState ? sectorState.pieces : [];\n }\n\n // ===== Completion Management =====\n // Critical for Board.tsx validation\n\n isSectorCompleted(sectorId: string): boolean {\n return !!this.state.sectors[sectorId]?.completedAt;\n }\n\n markSectorCompleted(sectorId: string): void {\n const ss = this.state.sectors[sectorId];\n if (!ss || ss.completedAt) return;\n\n ss.completedAt = NOW();\n\n // Notify tracking system\n if (this.trackingCallbacks?.onSectorCompleted) {\n this.trackingCallbacks.onSectorCompleted(sectorId);\n }\n\n const allDone = Object.values(this.state.sectors).every((s: SectorState) => !!s.completedAt);\n if (allDone && !this.state.endedAt) {\n this.state.endedAt = NOW();\n console.log(\"[BaseGameController] all sectors complete\");\n }\n }\n\n // ===== Piece Operations =====\n // Methods that Board.tsx uses for drag/drop\n\n spawnFromBlueprint(bp: Blueprint, at: { x: number; y: number }): string {\n const id = newId();\n const piece = { id, blueprintId: bp.id, pos: { ...at } };\n this.getFloating().pieces.push(piece);\n this.notifyStateChange();\n return id;\n }\n\n move(id: string, to: { x: number; y: number }): void {\n const p = this.findPiece(id);\n if (!p) {\n return;\n }\n p.pos = { ...to };\n this.notifyStateChange();\n }\n\n drop(id: string, sectorId?: string): void {\n const p = this.findPiece(id);\n if (!p) {\n return;\n }\n\n // Remove from current location\n const where = this.findPieceLocation(id);\n this.removeFromCurrent(id);\n if (where?.sectorId) delete p.sectorId;\n\n // Inner-hole or no sector → float\n if (!sectorId) {\n this.getFloating().pieces.push(p);\n this.notifyStateChange();\n return;\n }\n\n // Completed sector → delete (already removed above)\n if (this.isSectorCompleted(sectorId)) {\n this.notifyStateChange();\n return;\n }\n\n // Place in sector\n const sector = this.state.sectors[sectorId];\n if (!sector) {\n return;\n }\n \n sector.pieces.push(p);\n p.sectorId = sectorId;\n this.notifyStateChange();\n }\n\n remove(id: string): void {\n const loc = this.findPieceLocation(id);\n if (!loc) return;\n loc.array.splice(loc.index, 1);\n this.notifyStateChange();\n }\n\n // ===== Helper Methods =====\n // Internal methods that support the public API\n\n findPiece(id: string): any {\n for (const s of Object.values(this.state.sectors)) {\n const sectorState = s as SectorState;\n const p = sectorState.pieces.find((pp) => pp.id === id);\n if (p) return p;\n }\n return this.getFloating().pieces.find((pp) => pp.id === id) ?? null;\n }\n\n private getFloating(): SectorState {\n if (!(this as any)._floating) {\n (this as any)._floating = { sectorId: \"-floating-\", pieces: [] } as SectorState;\n }\n return (this as any)._floating;\n }\n\n private findPieceLocation(id: string): \n | { sectorId?: string; array: SectorState[\"pieces\"]; index: number }\n | null {\n for (const s of Object.values(this.state.sectors)) {\n const sectorState = s as SectorState;\n const idx = sectorState.pieces.findIndex((pp) => pp.id === id);\n if (idx >= 0) return { sectorId: sectorState.sectorId, array: sectorState.pieces, index: idx };\n }\n const f = this.getFloating();\n const i = f.pieces.findIndex((pp) => pp.id === id);\n return i >= 0 ? { array: f.pieces, index: i } : null;\n }\n\n private removeFromCurrent(id: string): void {\n const loc = this.findPieceLocation(id);\n if (!loc) return;\n loc.array.splice(loc.index, 1);\n }\n\n // ===== Additional Compatibility Methods =====\n\n switchBlueprintView(): void {\n // Disable toggle in prep mode - keep primitives always visible\n if (this.config.mode === \"prep\") return;\n \n const to = this.state.blueprintView === \"primitives\" ? \"quickstash\" : \"primitives\";\n this.state.blueprintView = to;\n }\n\n /**\n * Check if submit button should be enabled in prep mode\n * Validates macro completion based on piece count and slot requirements\n */\n isSubmitEnabled(): boolean {\n if (this.config.mode !== \"prep\") return true; // Not applicable to construction mode\n \n const minPieces = this.config.minPiecesPerMacro ?? 2;\n const maxPieces = this.config.maxCompositeSize ?? Infinity; // No upper limit if not specified\n const requireAll = this.config.requireAllSlots ?? false;\n \n // Get all sectors (macro slots)\n const allSectors = Object.values(this.state.sectors);\n \n // Check each sector for valid piece count\n let validSectorCount = 0;\n for (const sector of allSectors) {\n const pieceCount = sector.pieces.length;\n \n // Valid if between min and max pieces (inclusive)\n if (pieceCount >= minPieces && pieceCount <= maxPieces) {\n validSectorCount++;\n }\n // Invalid if has pieces but not enough or too many\n else if (pieceCount > 0) {\n return false; // Has pieces but invalid count\n }\n // Empty sector (pieceCount === 0) is allowed, will be checked below\n }\n \n if (requireAll) {\n // All slots must have valid macros\n return validSectorCount === allSectors.length;\n } else {\n // At least 0 valid macros (can submit nothing)\n return true; // No invalid sectors found above, so can submit\n }\n }\n\n snapshot(): any {\n const perSector = Object.values(this.state.sectors).map((s) => {\n const sectorState = s as SectorState;\n const base = {\n sectorId: sectorState.sectorId,\n pieceCount: sectorState.pieces.length,\n };\n return sectorState.completedAt ? { ...base, completedAt: sectorState.completedAt } : base;\n });\n return {\n perSector,\n events: [], // TODO: Will be implemented in validation separation phase\n timeMs: NOW() - this.t0,\n completed: !!this.state.endedAt,\n };\n }\n}","/**\n * Pure vector and polygon mathematical operations\n * No game logic dependencies - just geometric math\n */\n\nimport type { Vec, Poly } from '@/core/domain/types';\n\n// ===== Constants =====\n\nexport const EPS = 1e-6;\n\n// ===== Vector Operations =====\n\nexport const vsub = (a: Vec, b: Vec): Vec => ({ x: a.x - b.x, y: a.y - b.y });\nexport const vlen = (v: Vec) => Math.hypot(v.x, v.y);\nexport const vscale = (v: Vec, s: number): Vec => ({ x: v.x * s, y: v.y * s });\nexport const vadd = (a: Vec, b: Vec): Vec => ({ x: a.x + b.x, y: a.y + b.y });\n\n/** Squared distance between two points (faster than full distance) */\nexport const dist2 = (a: Vec, b: Vec): number => {\n const dx = a.x - b.x, dy = a.y - b.y;\n return dx * dx + dy * dy;\n};\n\n/**\n * Check if point p lies on the line segment from a to b (within epsilon tolerance)\n */\nexport function pointOnSegment(p: Vec, a: Vec, b: Vec, eps = 1e-9): boolean {\n // collinear?\n const cross = (b.y - a.y) * (p.x - a.x) - (b.x - a.x) * (p.y - a.y);\n if (Math.abs(cross) > eps) return false;\n // within bounding box?\n const minX = Math.min(a.x, b.x) - eps, maxX = Math.max(a.x, b.x) + eps;\n const minY = Math.min(a.y, b.y) - eps, maxY = Math.max(a.y, b.y) + eps;\n return p.x >= minX && p.x <= maxX && p.y >= minY && p.y <= maxY;\n}\n\n/**\n * Return an array of points subdividing the segment [a,b] into `n` equal parts (excluding `a`).\n */\nexport function subdivideSegment(a: Vec, b: Vec, n: number): Vec[] {\n if (n <= 1) return [b];\n const ab = vsub(b, a);\n const step = 1 / n;\n const pts: Vec[] = [];\n for (let i = 1; i <= n; i++) pts.push(vadd(a, vscale(ab, step * i)));\n return pts;\n}\n\n// ===== Polygon Operations =====\n\n/** Boundary-inclusive even–odd point-in-polygon test */\nexport function pointInPolygon(pt: Vec, poly: Poly): boolean {\n // 1) On-edge / on-vertex counts as inside\n for (let i = 0, j = poly.length - 1; i < poly.length; j = i++) {\n const vertexJ = poly[j];\n const vertexI = poly[i];\n if (!vertexJ || !vertexI) continue;\n if (pointOnSegment(pt, vertexJ, vertexI)) return true;\n }\n\n // 2) Standard even–odd ray casting (edges strictly above/below pivot)\n // Using the common (yi > y) !== (yj > y) test avoids counting horizontal edges twice.\n let inside = false;\n for (let i = 0, j = poly.length - 1; i < poly.length; j = i++) {\n const vertexI = poly[i];\n const vertexJ = poly[j];\n if (!vertexI || !vertexJ) continue;\n const xi = vertexI.x, yi = vertexI.y;\n const xj = vertexJ.x, yj = vertexJ.y;\n\n const intersects = (yi > pt.y) !== (yj > pt.y)\n && pt.x < ((xj - xi) * (pt.y - yi)) / (yj - yi + 1e-12) + xi;\n\n if (intersects) inside = !inside;\n }\n return inside;\n}\n\n/** Project a polygon onto axis (nx, ny) and return min/max projection values */\nexport function project(poly: Poly, nx: number, ny: number) {\n let min = Infinity, max = -Infinity;\n for (const p of poly) {\n const s = p.x * nx + p.y * ny;\n if (s < min) min = s;\n if (s > max) max = s;\n }\n return { min, max };\n}\n\n/** Calculate axis-aligned bounding box for a polygon */\nexport function polygonAABB(poly: Poly) {\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n for (const pt of poly) {\n if (pt.x < minX) minX = pt.x;\n if (pt.y < minY) minY = pt.y;\n if (pt.x > maxX) maxX = pt.x;\n if (pt.y > maxY) maxY = pt.y;\n }\n return { minX, minY, maxX, maxY };\n}\n","/**\n * SAT (Separating Axis Theorem) collision detection for convex polygons\n * Extracted from polygon.ts for better organization\n */\n\nimport type { Poly } from '@/core/domain/types';\nimport { project } from './math';\n\nconst SEP_EPS = 1e-6; // allow touching within this tolerance\n\n/** SAT for convex polygons. Edges/vertices touching are allowed (non-overlap). */\nexport function convexIntersects(a: Poly, b: Poly): boolean {\n const polys = [a, b];\n for (const poly of polys) {\n for (let i = 0; i < poly.length; i++) {\n const p0 = poly[i], p1 = poly[(i + 1) % poly.length];\n if (!p0 || !p1) continue;\n const ex = p1.x - p0.x, ey = p1.y - p0.y;\n const nx = -ey, ny = ex; // outward normal\n const pa = project(a, nx, ny);\n const pb = project(b, nx, ny);\n // Treat touching (zero overlap) as separated: allow edges/vertices to touch.\n if (pa.max <= pb.min + SEP_EPS || pb.max <= pa.min + SEP_EPS) return false;\n }\n }\n return true;\n}\n\n/** True if any poly from A overlaps any poly from B (fast AABB short-circuit). */\nexport function polysOverlap(aPolys: Poly[], bPolys: Poly[]): boolean {\n // quick AABB test to skip obvious separations\n const aabbsA = aPolys.map(p => {\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n for (const pt of p) {\n if (pt.x < minX) minX = pt.x;\n if (pt.y < minY) minY = pt.y;\n if (pt.x > maxX) maxX = pt.x;\n if (pt.y > maxY) maxY = pt.y;\n }\n return { minX, minY, maxX, maxY };\n });\n const aabbsB = bPolys.map(p => {\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n for (const pt of p) {\n if (pt.x < minX) minX = pt.x;\n if (pt.y < minY) minY = pt.y;\n if (pt.x > maxX) maxX = pt.x;\n if (pt.y > maxY) maxY = pt.y;\n }\n return { minX, minY, maxX, maxY };\n });\n\n for (let i = 0; i < aPolys.length; i++) {\n for (let j = 0; j < bPolys.length; j++) {\n const A = aPolys[i], B = bPolys[j];\n const aa = aabbsA[i], bb = aabbsB[j];\n if (!A || !B || !aa || !bb) continue;\n if (aa.maxX <= bb.minX + SEP_EPS || bb.maxX <= aa.minX + SEP_EPS ||\n aa.maxY <= bb.minY + SEP_EPS || bb.maxY <= aa.minY + SEP_EPS) continue;\n if (convexIntersects(A, B)) return true;\n }\n }\n return false;\n}\n","import type { Poly, Vec, PrimitiveBlueprint, CompositeBlueprint, Blueprint } from \"@/core/domain/types\";\n\nexport type AABB = { min: Vec; max: Vec; width: number; height: number };\n\n/** AABB of a single polygon (numeric). */\nexport function aabbOf(poly: Poly): { minX: number; minY: number; maxX: number; maxY: number } {\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n for (const p of poly) {\n if (p.x < minX) minX = p.x;\n if (p.y < minY) minY = p.y;\n if (p.x > maxX) maxX = p.x;\n if (p.y > maxY) maxY = p.y;\n }\n return { minX, minY, maxX, maxY };\n}\n\n/** AABB of one or more polygons with width/height and center. */\nexport function polysAABB(polys: Poly[]) {\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n for (const poly of polys) {\n for (const p of poly) {\n if (p.x < minX) minX = p.x;\n if (p.y < minY) minY = p.y;\n if (p.x > maxX) maxX = p.x;\n if (p.y > maxY) maxY = p.y;\n }\n }\n const width = Math.max(1, maxX - minX);\n const height = Math.max(1, maxY - minY);\n return { min: { x: minX, y: minY }, max: { x: maxX, y: maxY }, width, height, cx:(minX+maxX)/2, cy:(minY+maxY)/2 };\n}\n\n/** Bounds of multiple polygons at the origin. */\nexport function boundsOfShapes(shapes: Poly[]): AABB {\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n for (const poly of shapes) {\n for (const p of poly) {\n if (p.x < minX) minX = p.x;\n if (p.y < minY) minY = p.y;\n if (p.x > maxX) maxX = p.x;\n if (p.y > maxY) maxY = p.y;\n }\n }\n const width = Math.max(0, maxX - minX);\n const height = Math.max(0, maxY - minY);\n return { min: { x: minX, y: minY }, max: { x: maxX, y: maxY }, width, height };\n}\n\n/** Bounds of a primitive blueprint (uses its canonical shape). */\nexport function boundsOfPrimitive(bp: PrimitiveBlueprint): AABB {\n return boundsOfShapes(bp.shape);\n}\n\n/**\n * Bounds of a composite blueprint.\n * If `shape` is provided as precomputed union polygons, we use that.\n * Otherwise we bound the parts’ primitives at their offsets (loose but safe).\n */\nexport function boundsOfComposite(\n bp: CompositeBlueprint,\n primitiveLookup: (kind: string) => PrimitiveBlueprint | undefined\n): AABB {\n if (bp.shape && bp.shape.length) return boundsOfShapes(bp.shape);\n\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n for (const part of bp.parts) {\n const prim = primitiveLookup(part.kind);\n if (!prim) continue;\n const b = boundsOfPrimitive(prim);\n const pMinX = part.offset.x + b.min.x;\n const pMinY = part.offset.y + b.min.y;\n const pMaxX = part.offset.x + b.max.x;\n const pMaxY = part.offset.y + b.max.y;\n if (pMinX < minX) minX = pMinX;\n if (pMinY < minY) minY = pMinY;\n if (pMaxX > maxX) maxX = pMaxX;\n if (pMaxY > maxY) maxY = pMaxY;\n }\n const width = Math.max(0, maxX - minX);\n const height = Math.max(0, maxY - minY);\n return { min: { x: minX, y: minY }, max: { x: maxX, y: maxY }, width, height };\n}\n\n/** Unified bounds helper. */\nexport function boundsOfBlueprint(\n bp: Blueprint,\n primitiveLookup: (kind: string) => PrimitiveBlueprint | undefined\n): AABB {\n if (\"parts\" in bp) return boundsOfComposite(bp, primitiveLookup);\n return boundsOfPrimitive(bp);\n}\n","/**\n * Game-specific piece geometry operations\n * Includes: piece positioning, placement, grid snapping, and anchor generation\n *\n * Consolidated from: piece.ts, placement.ts, grid.ts, anchors.ts\n */\n\nimport type { Blueprint, Vec, Poly, Anchor } from \"@/core/domain/types\";\nimport type { CircleLayout, SectorGeom } from \"@/core/domain/layout\";\nimport { polysAABB } from \"./bounds\";\nimport { pointInPolygon, dist2 } from \"./math\";\nimport { CONFIG } from \"@/core/config/config\";\n\nconst GRID_PX = CONFIG.layout.grid.stepPx;\n\n// ===== Piece Positioning (from piece.ts) =====\n\n/** Translate blueprint polys to world coords for a given top-left (TL). */\nexport function piecePolysAt(\n bp: Blueprint,\n bb: { min: { x: number; y: number } },\n tl: { x: number; y: number }\n) {\n const ox = tl.x - bb.min.x;\n const oy = tl.y - bb.min.y;\n const polys = (\"shape\" in bp && bp.shape) ? bp.shape : [];\n return polys.map(poly => poly.map(p => ({ x: p.x + ox, y: p.y + oy })));\n}\n\n/** Build support offsets: each vertex relative to the AABB center. */\nexport function computeSupportOffsets(\n bp: Blueprint,\n bb: { min: { x: number; y: number }; width: number; height: number }\n) {\n const cx = bb.min.x + bb.width / 2;\n const cy = bb.min.y + bb.height / 2;\n\n const polys = (\"shape\" in bp && bp.shape && bp.shape.length)\n ? bp.shape\n : [[\n { x: bb.min.x, y: bb.min.y },\n { x: bb.min.x + bb.width, y: bb.min.y },\n { x: bb.min.x + bb.width, y: bb.min.y + bb.height },\n { x: bb.min.x, y: bb.min.y + bb.height },\n ]];\n\n const offs: Vec[] = [];\n for (const poly of polys) for (const v of poly) offs.push({ x: v.x - cx, y: v.y - cy });\n return offs;\n}\n\n/** Clamp using directional vertex support → exact contact with the ring. */\nexport function clampTopLeftBySupport(\n tlx: number,\n tly: number,\n d: {\n aabb: { width: number; height: number };\n support: { x: number; y: number }[];\n },\n layout: CircleLayout,\n target: \"workspace\" | \"silhouette\",\n pointerInsideCenter: boolean\n) {\n const cx0 = tlx + d.aabb.width / 2;\n const cy0 = tly + d.aabb.height / 2;\n\n const vx = cx0 - layout.cx;\n const vy = cy0 - layout.cy;\n const r = Math.hypot(vx, vy);\n if (r === 0) return { x: tlx, y: tly };\n\n const ux = vx / r, uy = vy / r;\n\n let h_out = -Infinity, h_in = -Infinity;\n for (const o of d.support) {\n const outProj = o.x * ux + o.y * uy;\n if (outProj > h_out) h_out = outProj;\n const inProj = -(o.x * ux + o.y * uy);\n if (inProj > h_in) h_in = inProj;\n }\n\n if (target === \"workspace\") {\n const [rIn, rOut] = layout.bands.workspace;\n const minR = pointerInsideCenter ? 0 : (rIn + h_in);\n const maxR = rOut - h_out;\n const rClamped = Math.min(Math.max(r, minR), maxR);\n if (Math.abs(rClamped - r) < 1e-6) return { x: tlx, y: tly };\n const newCx = layout.cx + rClamped * ux;\n const newCy = layout.cy + rClamped * uy;\n return { x: newCx - d.aabb.width / 2, y: newCy - d.aabb.height / 2 };\n } else {\n const rOut = layout.bands.silhouette[1];\n const maxR = rOut - h_out;\n if (r <= maxR) return { x: tlx, y: tly };\n const newCx = layout.cx + maxR * ux;\n const newCy = layout.cy + maxR * uy;\n return { x: newCx - d.aabb.width / 2, y: newCy - d.aabb.height / 2 };\n }\n}\n\n// ===== Placement (from placement.ts) =====\n\n/** gcd for positive integers */\nfunction igcd(a: number, b: number) {\n a = Math.round(Math.abs(a)); b = Math.round(Math.abs(b));\n while (b) [a, b] = [b, a % b];\n return a || 1;\n}\n\n/** Infer the base lattice unit in raw silhouette coordinates. */\nexport function inferUnitFromPolys(polys: Poly[]): number {\n let g = 0;\n for (const poly of polys) {\n for (let i = 0; i < poly.length; i++) {\n const a = poly[i], b = poly[(i + 1) % poly.length];\n if (!a || !b) continue;\n const dx = Math.round(Math.abs(b.x - a.x));\n const dy = Math.round(Math.abs(b.y - a.y));\n if (dx) g = g ? igcd(g, dx) : dx;\n if (dy) g = g ? igcd(g, dy) : dy;\n }\n }\n return g || 1;\n}\n\n/**\n * Place polys using scale S, re-centered, and translation snapped to GRID_PX; returns polys.\n * The center is snapped to the grid so the lattice points under the silhouette stay invariant.\n */\nexport function placeSilhouetteGridAlignedAsPolys(\n polys: Poly[],\n S: number,\n rectCenter: { cx: number; cy: number }\n): Poly[] {\n if (!polys || polys.length === 0) return [];\n const a = polysAABB(polys);\n const cx0 = (a.min.x + a.max.x) / 2;\n const cy0 = (a.min.y + a.max.y) / 2;\n const cx = Math.round(rectCenter.cx / GRID_PX) * GRID_PX;\n const cy = Math.round(rectCenter.cy / GRID_PX) * GRID_PX;\n const tx = cx - S * cx0;\n const ty = cy - S * cy0;\n const stx = Math.round(tx / GRID_PX) * GRID_PX;\n const sty = Math.round(ty / GRID_PX) * GRID_PX;\n return polys.map(poly => poly.map(p => ({ x: S * p.x + stx, y: S * p.y + sty })));\n}\n\n// ===== Grid Operations (from grid.ts) =====\n\nexport function nearestGridNode(p: Vec): Vec {\n return { x: Math.round(p.x / GRID_PX) * GRID_PX, y: Math.round(p.y / GRID_PX) * GRID_PX };\n}\n\n/** Generate grid nodes inside an AABB. */\nexport function gridNodesInAABB(min: Vec, max: Vec): Vec[] {\n const out: Vec[] = [];\n const x0 = Math.ceil(min.x / GRID_PX) * GRID_PX;\n const y0 = Math.ceil(min.y / GRID_PX) * GRID_PX;\n for (let y = y0; y <= max.y; y += GRID_PX) {\n for (let x = x0; x <= max.x; x += GRID_PX) out.push({ x, y });\n }\n return out;\n}\n\n/** Keep nodes in a band (and optional sector wedge). */\nexport function filterNodesToBandAndSector(\n nodes: Vec[],\n layout: CircleLayout,\n band: \"workspace\" | \"silhouette\",\n sector?: SectorGeom\n): Vec[] {\n const [rIn, rOut] = layout.bands[band];\n const out: Vec[] = [];\n for (const n of nodes) {\n const dx = n.x - layout.cx, dy = n.y - layout.cy;\n const r = Math.hypot(dx, dy);\n if (r < rIn || r > rOut) continue;\n\n if (sector) {\n let theta = Math.atan2(dy, dx);\n if (layout.mode === \"circle\") {\n if (theta < -Math.PI / 2) theta += 2 * Math.PI;\n } else {\n if (theta < Math.PI) theta += 2 * Math.PI;\n }\n if (theta < sector.start || theta >= sector.end) continue;\n }\n out.push(n);\n }\n return out;\n}\n\n/** Keep nodes that lie inside any of the polygons. */\nexport function filterNodesInPolys(\n nodes: Vec[],\n polys: Poly[],\n pointInPolyFn: (pt: Vec, poly: Poly) => boolean = pointInPolygon\n): Vec[] {\n const out: Vec[] = [];\n node: for (const n of nodes) {\n for (const poly of polys) {\n if (pointInPolyFn(n, poly)) { out.push(n); continue node; }\n }\n }\n return out;\n}\n\n// ===== Anchor Operations (from anchors.ts) =====\n\n/**\n * Find the nearest anchor that \"accepts\" a piece signature (kind/compositeSignature).\n * Returns null if none within the optional radius.\n */\nexport function nearestAcceptingAnchor(\n anchors: Anchor[] | undefined,\n point: Vec,\n accepts: { kind?: string; compositeSignature?: string },\n withinPx: number = Infinity\n): { anchor: Anchor; d2: number } | null {\n if (!anchors || !anchors.length) return null;\n\n const { kind, compositeSignature } = accepts;\n const r2 = withinPx === Infinity ? Infinity : withinPx * withinPx;\n\n let best: { anchor: Anchor; d2: number } | null = null;\n for (const a of anchors) {\n const ok = a.accepts.some(acc =>\n (acc.kind === undefined || acc.kind === kind) &&\n (acc.compositeSignature === undefined || acc.compositeSignature === compositeSignature)\n );\n if (!ok) continue;\n\n const d2val = dist2(point, a.position);\n if (d2val <= r2 && (!best || d2val < best.d2)) {\n best = { anchor: a, d2: d2val };\n }\n }\n return best;\n}\n\n/** True if `point` is within `withinPx` of the given anchor. */\nexport function withinAnchor(anchor: Anchor, point: Vec, withinPx: number): boolean {\n const r2 = withinPx * withinPx;\n return dist2(point, anchor.position) <= r2;\n}\n\n// Node-grid helpers for anchor generation\nexport function workspaceNodes(layout: CircleLayout, sector: SectorGeom): Vec[] {\n const pad = 6;\n const min = { x: layout.cx - layout.outerR, y: layout.cy - layout.outerR - pad };\n const max = { x: layout.cx + layout.outerR, y: layout.cy + layout.outerR + pad };\n const nodes = gridNodesInAABB(min, max);\n return filterNodesToBandAndSector(nodes, layout, \"workspace\", sector);\n}\n\nexport function silhouetteNodes(layout: CircleLayout, sector: SectorGeom, fittedMask: Poly[]): Vec[] {\n const pad = 6;\n const min = { x: layout.cx - layout.outerR, y: layout.cy - layout.outerR - pad };\n const max = { x: layout.cx + layout.outerR, y: layout.cy + layout.outerR + pad };\n const nodes = gridNodesInAABB(min, max);\n const banded = filterNodesToBandAndSector(nodes, layout, \"silhouette\", sector);\n return filterNodesInPolys(banded, fittedMask);\n}\n\nexport function silhouetteBandNodes(layout: CircleLayout, sector: SectorGeom): Vec[] {\n const pad = 6;\n const min = { x: layout.cx - layout.outerR, y: layout.cy - layout.outerR - pad };\n const max = { x: layout.cx + layout.outerR, y: layout.cy + layout.outerR + pad };\n const nodes = gridNodesInAABB(min, max);\n return filterNodesToBandAndSector(nodes, layout, \"silhouette\", sector);\n}\n\n/** Generate anchor grid nodes for the inner ring (radius < innerR) */\nexport function innerRingNodes(layout: CircleLayout): Vec[] {\n const pad = 6;\n const min = { x: layout.cx - layout.innerR, y: layout.cy - layout.innerR - pad };\n const max = { x: layout.cx + layout.innerR, y: layout.cy + layout.innerR + pad };\n const nodes = gridNodesInAABB(min, max);\n // Filter to nodes within the inner circle\n const out: Vec[] = [];\n for (const n of nodes) {\n const dx = n.x - layout.cx, dy = n.y - layout.cy;\n const r = Math.hypot(dx, dy);\n if (r < layout.innerR) out.push(n);\n }\n return out;\n}\n\nexport const anchorsDiameterToPx = (anchorsDiag: number, gridPx: number = GRID_PX) =>\n anchorsDiag * Math.SQRT2 * gridPx;\n","// src/core/domain/solve.ts\nimport type { LayoutMode, PlacementTarget, Poly } from \"@/core/domain/types\";\nimport { anchorsDiameterToPx } from \"@/core/engine/geometry\";\nimport { CONFIG } from \"@/core/config/config\";\n\n// --- helpers to infer lattice unit and silhouette radius -------------------\nfunction igcd(a: number, b: number) {\n a = Math.round(Math.abs(a)); b = Math.round(Math.abs(b));\n while (b) [a, b] = [b, a % b];\n return a || 1;\n}\nfunction inferUnitFromPolys(polys: Poly[]): number {\n let g = 0;\n for (const poly of polys) {\n for (let i = 0; i < poly.length; i++) {\n const a = poly[i], b = poly[(i + 1) % poly.length];\n if (!a || !b) continue;\n const dx = Math.round(Math.abs(b.x - a.x));\n const dy = Math.round(Math.abs(b.y - a.y));\n if (dx) g = g ? igcd(g, dx) : dx;\n if (dy) g = g ? igcd(g, dy) : dy;\n }\n }\n return g || 1;\n}\nfunction polysAABB(polys: Poly[]) {\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n for (const poly of polys) for (const p of poly) {\n if (p.x < minX) minX = p.x;\n if (p.y < minY) minY = p.y;\n if (p.x > maxX) maxX = p.x;\n if (p.y > maxY) maxY = p.y;\n }\n const cx = (minX + maxX) / 2, cy = (minY + maxY) / 2;\n return { minX, minY, maxX, maxY, cx, cy };\n}\n\ntype RadiiParams = {\n n: number; // number of outer sectors\n layoutMode: LayoutMode; // \"circle\" | \"semicircle\"\n target: PlacementTarget; // \"workspace\" | \"silhouette\"\n qsMaxSlots: number; // number of quickstash slots on inner ring\n primitivesSlots: number; // number of primitive slots on inner ring\n gridPx?: number; // override GRID_PX (rare)\n reqWorkspaceDiamAnchors?: number; // override default capacity (rare)\n reqQuickstashDiamAnchors?: number; // override default capacity (rare)\n reqPrimitiveDiamAnchors?: number; // override defaults (rare)\n layoutPadPx?: number; // override outer pad (rare)\n masks?: Poly[][]; // raw silhouette polys per sector (for workspace fit calc)\n};\n\nexport type RadiiSolution = {\n innerR_min: number;\n dr_min: number;\n outerR_min: number;\n Tw_min: number; // minimal workspace-band thickness (px) (= required diagonal diameter)\n Tp_min: number; // minimal silhouette-plate thickness (px) (= 2*max silhouette radius or 0)\n Rshape_px_max: number; // max raw-shape radius after canonical unit scaling\n};\n\nexport function solveRadii(params: RadiiParams): RadiiSolution {\n const {\n n,\n layoutMode,\n target,\n qsMaxSlots,\n primitivesSlots,\n gridPx = CONFIG.layout.grid.stepPx,\n reqWorkspaceDiamAnchors = CONFIG.layout.constraints.workspaceDiamAnchors,\n reqQuickstashDiamAnchors = CONFIG.layout.constraints.quickstashDiamAnchors,\n reqPrimitiveDiamAnchors = CONFIG.layout.constraints.primitiveDiamAnchors,\n } = params;\n\n // Canonical lattice scale from raw masks (if provided)\n const allPolys: Poly[] = (params.masks ?? []).flat();\n const rawUnit = allPolys.length ? inferUnitFromPolys(allPolys) : 0;\n const unitScaleS = rawUnit ? (2 * gridPx) / rawUnit : 1;\n\n // Max silhouette radius (px) across all sectors, measured from each sector mask AABB center\n let Rshape_px_max = 0;\n if (params.masks && params.masks.length) {\n for (const sectorPolys of params.masks) {\n if (!sectorPolys?.length) continue;\n const a = polysAABB(sectorPolys);\n const { cx, cy } = a;\n for (const poly of sectorPolys) {\n for (const p of poly) {\n const rx = (p.x - cx) * unitScaleS;\n const ry = (p.y - cy) * unitScaleS;\n const r = Math.hypot(rx, ry);\n if (r > Rshape_px_max) Rshape_px_max = r;\n }\n }\n }\n }\n\n const sweep = layoutMode === \"circle\" ? Math.PI * 2 : Math.PI;\n const dOut = sweep / Math.max(1, n);\n const dIn = sweep / Math.max(1, qsMaxSlots);\n const dPrim = sweep / Math.max(1, primitivesSlots);\n const sinOut = Math.sin(dOut / 2);\n const sinIn = Math.sin(dIn / 2);\n const sinPrim = Math.sin(dPrim / 2);\n\n // Diagonal-based anchor diameters (so \"X anchors\" refers to the 45° lattice)\n const D_ws = anchorsDiameterToPx(reqWorkspaceDiamAnchors, gridPx);\n const D_bp = anchorsDiameterToPx(reqQuickstashDiamAnchors, gridPx);\n const D_prim = anchorsDiameterToPx(reqPrimitiveDiamAnchors, gridPx);\n\n // Inner-ring minimum from chord ≥ required diameter (blueprints + primitives)\n const innerR_min_bp = D_bp * (0.5 + 1 / (2 * Math.max(1e-9, sinIn)));\n const innerR_min_prim = D_prim * (0.5 + 1 / (2 * Math.max(1e-9, sinPrim)));\n const innerR_min_ws = D_ws / (2 * Math.max(1e-9, sinOut)) - D_ws / 2;\n\n const innerR_min = Math.max(innerR_min_bp, innerR_min_prim, innerR_min_ws);\n\n // Component minima: workspace band must be at least D_ws thick; silhouette plate\n // must be thick enough to contain the largest mask radius (both sides).\n const Tw_min = D_ws;\n const Tp_min = target === \"workspace\" ? (2 * Rshape_px_max) : 0;\n const dr_min = Tw_min + Tp_min;\n\n const outerR_min = innerR_min + dr_min;\n\n return { innerR_min, dr_min, outerR_min, Tw_min, Tp_min, Rshape_px_max };\n}\n\nexport function optimizeBandSplit(args: {\n outerRViewportBound: number;\n innerR_min: number;\n Tw_min: number;\n Tp_min: number;\n Rshape_px_max: number;\n D_ws_px: number; // anchorsDiameterToPx(REQ_WORKSPACE_DIAM_ANCHORS)\n}): { innerR: number; Tw: number; Tp: number; outerR: number } {\n const { outerRViewportBound, innerR_min, Tw_min, Tp_min, Rshape_px_max, D_ws_px } = args;\n\n const dr_min = Tw_min + Tp_min;\n\n // If the viewport can’t even accommodate the minima, clamp to the minimal feasible ring.\n if (outerRViewportBound < innerR_min + dr_min) {\n const outerR = innerR_min + dr_min;\n return { innerR: innerR_min, Tw: Tw_min, Tp: Tp_min, outerR };\n }\n\n // Maximize ring thickness by minimizing innerR (this maximizes anchor size everywhere).\n const outerR = outerRViewportBound;\n const innerR = innerR_min;\n const dr = outerR - innerR;\n\n // Distribute slack between bands with a gentle bias towards the silhouette plate\n // when masks have large radial extent (so they don’t look cramped).\n const slack = Math.max(0, dr - dr_min);\n const wWork = 1;\n const wSil = 1 + (Rshape_px_max / Math.max(1e-9, D_ws_px));\n const addWork = slack * (wWork / (wWork + wSil));\n const Tw = Tw_min + addWork;\n const Tp = dr - Tw;\n\n return { innerR, Tw, Tp, outerR };\n}\n\n/**\n * Compute the *logical* SVG viewBox (LOGICAL_W/H) from the minimal feasible\n * outer radius implied by the anchor-capacity constraints. The result ensures\n * lattice density is invariant across devices/zoom levels.\n *\n * NOTE: This should be called prior to computeCircleLayout and the returned\n * width/height must be passed as the viewport to computeCircleLayout so both\n * functions agree on the same bound.\n */\nexport function solveLogicalBox(params: RadiiParams & { layoutPadPx: number }): { LOGICAL_W: number; LOGICAL_H: number } {\n const { layoutMode, layoutPadPx } = params;\n const { outerR_min } = solveRadii(params);\n\n if (layoutMode === \"circle\") {\n const LOGICAL_W = 2 * (outerR_min + layoutPadPx);\n return { LOGICAL_W, LOGICAL_H: LOGICAL_W };\n } else {\n // semicircle: height is half the width; outerR computed against both axes ends up ~W/2\n const LOGICAL_W = 2 * (outerR_min + layoutPadPx);\n return { LOGICAL_W, LOGICAL_H: LOGICAL_W / 2 };\n }\n}","import type { LayoutMode, PlacementTarget, Poly } from \"./types\";\nimport { anchorsDiameterToPx } from \"@/core/engine/geometry\";\nimport { solveRadii, optimizeBandSplit } from \"@/core/domain/solve\";\nimport { CONFIG } from \"@/core/config/config\";\n\nexport type SectorGeom = { id: string; index: number; start: number; end: number; mid: number };\n\nexport type RingBands = {\n silhouette: [number, number];\n workspace: [number, number];\n};\n\nexport type CircleLayout = {\n mode: LayoutMode;\n cx: number; cy: number;\n innerR: number; outerR: number;\n sectors: SectorGeom[];\n bands: RingBands;\n sweepStart: number;\n sweepEnd: number;\n};\n\nexport function computeCircleLayout(\n viewport: { w: number; h: number },\n n: number,\n sectorIds: string[],\n mode: LayoutMode = \"circle\",\n target: PlacementTarget = \"workspace\",\n extras: { qsMaxSlots: number; primitivesSlots: number; masks?: Poly[][] }\n): CircleLayout {\n const pad = CONFIG.layout.paddingPx;\n\n // place the semicircle so its diameter sits on the bottom edge of the SVG\n const cx = viewport.w / 2;\n const cy = mode === \"semicircle\" ? viewport.h : viewport.h / 2;\n\n // The viewport bound must match the viewBox computed by solveLogicalBox so ring sizes stay consistent.\n // vertical radius must not cross the top padding\n const maxRVertical = mode === \"semicircle\" ? (viewport.h - pad) : cy;\n const outerRViewportBound = Math.min(cx, maxRVertical) - pad;\n\n // Solve *minimum* feasible radii and then optimize the band split within the viewport bound\n const sol = solveRadii({\n n,\n layoutMode: mode,\n target,\n qsMaxSlots: extras.qsMaxSlots,\n primitivesSlots: extras.primitivesSlots,\n masks: extras.masks ?? [],\n });\n\n let innerR: number, outerR: number, bands: RingBands;\n\n if (target === \"workspace\") {\n const D_ws_px = anchorsDiameterToPx(CONFIG.layout.constraints.workspaceDiamAnchors);\n const opt = optimizeBandSplit({\n outerRViewportBound,\n innerR_min: sol.innerR_min,\n Tw_min: sol.Tw_min,\n Tp_min: sol.Tp_min,\n Rshape_px_max: sol.Rshape_px_max,\n D_ws_px,\n });\n innerR = opt.innerR;\n outerR = opt.outerR;\n bands = {\n workspace: [opt.innerR, opt.innerR + opt.Tw],\n silhouette: [opt.innerR + opt.Tw, opt.outerR],\n };\n } else {\n // silhouette-only: maximize thickness; entire ring is silhouette\n outerR = Math.max(outerRViewportBound, sol.outerR_min);\n // minimize innerR to maximize thickness, but not below minimal requirement\n innerR = Math.min(sol.innerR_min, outerR);\n if (outerR < sol.outerR_min) { outerR = sol.outerR_min; innerR = sol.innerR_min; }\n bands = { silhouette: [innerR, outerR], workspace: [innerR, outerR] };\n }\n\n const sweep = mode === \"circle\" ? Math.PI * 2 : Math.PI;\n // semicircle: sweep the upper arc by anchoring the diameter on the bottom (π→2π)\n const sweepStart = mode === \"circle\" ? -Math.PI / 2 : Math.PI;\n const sweepEnd = sweepStart + sweep;\n const step = sweep / n;\n\n const sectors: SectorGeom[] = [];\n for (let i = 0; i < n; i++) {\n const id = sectorIds[i] ?? String(i);\n const start = sweepStart + i * step;\n const end = start + step;\n const mid = (start + end) / 2;\n sectors.push({ id, index: i, start, end, mid });\n }\n return { mode, cx, cy, innerR, outerR, sectors, bands, sweepStart, sweepEnd };\n}\n\n/** Ring wedge path helper */\nexport function wedgePath(\n cx: number, cy: number,\n innerR: number, outerR: number,\n start: number, end: number\n): string {\n const largeArc = end - start > Math.PI ? 1 : 0;\n const x0 = cx + innerR * Math.cos(start);\n const y0 = cy + innerR * Math.sin(start);\n const x1 = cx + outerR * Math.cos(start);\n const y1 = cy + outerR * Math.sin(start);\n const x2 = cx + outerR * Math.cos(end);\n const y2 = cy + outerR * Math.sin(end);\n const x3 = cx + innerR * Math.cos(end);\n const y3 = cy + innerR * Math.sin(end);\n return [\n `M ${x0} ${y0}`,\n `L ${x1} ${y1}`,\n `A ${outerR} ${outerR} 0 ${largeArc} 1 ${x2} ${y2}`,\n `L ${x3} ${y3}`,\n `A ${innerR} ${innerR} 0 ${largeArc} 0 ${x0} ${y0}`,\n \"Z\",\n ].join(\" \");\n}\n\n/** Sector hit-test (band optional) */\nexport function sectorAtPoint(\n x: number, y: number, layout: CircleLayout, band?: keyof RingBands\n): string | undefined {\n const dx = x - layout.cx;\n const dy = y - layout.cy;\n const r = Math.hypot(dx, dy);\n\n const [rIn, rOut] = band ? layout.bands[band] : [layout.innerR, layout.outerR];\n if (r < rIn || r > rOut) return undefined;\n\n let theta = Math.atan2(dy, dx); // [-π, +π]\n if (layout.mode === \"circle\") {\n if (theta < -Math.PI / 2) theta += 2 * Math.PI;\n } else {\n // semicircle covers [π, 2π]\n if (theta < Math.PI) theta += 2 * Math.PI;\n }\n\n for (const s of layout.sectors) {\n if (theta >= s.start && theta < s.end) return s.id;\n }\n return layout.sectors.at(-1)?.id;\n}\n\n/** Convenience: axis-aligned rect for fitting silhouettes in a band */\nexport function rectForBand(\n layout: CircleLayout, sector: SectorGeom, band: keyof RingBands, pad = 0.85\n) {\n const [rIn, rOut] = layout.bands[band];\n const rMid = (rIn + rOut) / 2;\n const dr = rOut - rIn;\n const arc = (sector.end - sector.start) * rMid * 0.9;\n const w = arc * pad;\n const h = dr * pad;\n const cx = layout.cx + rMid * Math.cos(sector.mid);\n const cy = layout.cy + rMid * Math.sin(sector.mid);\n return { cx, cy, w, h };\n}","/**\n * Border Rendering Utilities for Edge-Aware Piece Borders\n * \n * This module provides utilities for rendering piece borders with edge-aware logic.\n * Uses the same coordinate system and approach as face-to-face.ts for consistency.\n * Visual polish - hides borders between touching pieces\n */\n\nimport type { Vec, Piece, Blueprint } from \"../../domain/types\";\nimport { CONFIG } from \"../../config/config\";\nimport { boundsOfBlueprint } from \"../geometry\";\n\nexport interface UnitSegment {\n a: Vec;\n b: Vec;\n}\n\n/**\n * Generate SVG path data for individual edge strokes\n * Each edge becomes a separate path element for selective rendering\n */\nexport function generateEdgeStrokePaths(poly: Vec[]): string[] {\n const strokePaths: string[] = [];\n \n for (let i = 0; i < poly.length; i++) {\n const current = poly[i];\n const next = poly[(i + 1) % poly.length];\n \n if (current && next) {\n strokePaths.push(`M ${current.x} ${current.y} L ${next.x} ${next.y}`);\n }\n }\n \n return strokePaths;\n}\n\n/**\n * Convert a polygon edge into unit-length segments\n * Uses the same logic as face-to-face.ts for consistency\n */\nfunction edgeToUnitSegments(start: Vec, end: Vec, gridSize: number): UnitSegment[] {\n const segments: UnitSegment[] = [];\n \n // Convert to grid coordinates\n const startGrid = {\n x: Math.round(start.x / gridSize),\n y: Math.round(start.y / gridSize)\n };\n const endGrid = {\n x: Math.round(end.x / gridSize),\n y: Math.round(end.y / gridSize)\n };\n \n const dx = endGrid.x - startGrid.x;\n const dy = endGrid.y - startGrid.y;\n \n if (dx === 0 && dy === 0) return []; // Zero-length edge\n \n const steps = Math.max(Math.abs(dx), Math.abs(dy));\n const stepX = dx / steps;\n const stepY = dy / steps;\n \n for (let i = 0; i < steps; i++) {\n const aX = Math.round(startGrid.x + i * stepX);\n const aY = Math.round(startGrid.y + i * stepY);\n const bX = Math.round(startGrid.x + (i + 1) * stepX);\n const bY = Math.round(startGrid.y + (i + 1) * stepY);\n segments.push({ \n a: { x: aX, y: aY }, \n b: { x: bX, y: bY } \n });\n }\n \n return segments;\n}\n\n/**\n * Get all unit segments for a piece (same logic as face-to-face.ts)\n * Currently unused - kept for reference\n */\n/*\nfunction getPieceUnitSegments(\n piece: Piece, \n getBlueprint: (id: string) => Blueprint | undefined,\n getPrimitive: (kind: string) => any,\n gridSize: number\n): UnitSegment[] {\n // Defensive check: if getBlueprint fails, return empty segments\n let blueprint: Blueprint | undefined;\n try {\n blueprint = getBlueprint(piece.blueprintId);\n } catch (error) {\n console.warn('getBlueprint failed in getPieceUnitSegments:', error);\n return [];\n }\n\n if (!blueprint?.shape) return [];\n \n // Calculate offset using same logic as piecePolysAt\n const bb = boundsOfBlueprint(blueprint, getPrimitive);\n const ox = piece.pos.x - bb.min.x;\n const oy = piece.pos.y - bb.min.y;\n \n const allSegments: UnitSegment[] = [];\n \n // Translate polygons and convert edges to unit segments\n for (const poly of blueprint.shape) {\n const translatedPoly = poly.map((vertex: Vec) => ({\n x: vertex.x + ox,\n y: vertex.y + oy\n }));\n \n for (let i = 0; i < translatedPoly.length; i++) {\n const current = translatedPoly[i];\n const next = translatedPoly[(i + 1) % translatedPoly.length];\n \n if (!current || !next) continue;\n \n allSegments.push(...edgeToUnitSegments(current, next, gridSize));\n }\n }\n \n return allSegments;\n}\n*/\n\n/**\n * Check which edges should be hidden for a specific polygon within a piece\n * Handles both internal composite edges and external touching between pieces\n */\nexport function getHiddenEdgesForPolygon(\n piece: Piece,\n polyIndex: number,\n allPiecesInSector: Piece[],\n getBlueprint: (id: string) => Blueprint | undefined,\n getPrimitive: (kind: string) => any\n): boolean[] {\n // Defensive check: if getBlueprint fails, return no hidden edges\n let blueprint: Blueprint | undefined;\n try {\n blueprint = getBlueprint(piece.blueprintId);\n } catch (error) {\n console.warn('getBlueprint failed in getHiddenEdgesForPolygon:', error);\n return [];\n }\n\n if (!blueprint?.shape) {\n return [];\n }\n\n const poly = blueprint.shape[polyIndex];\n if (!poly) return [];\n\n const gridSize = CONFIG.layout.grid.stepPx;\n const bb = boundsOfBlueprint(blueprint, getPrimitive);\n const ox = piece.pos.x - bb.min.x;\n const oy = piece.pos.y - bb.min.y;\n \n const translatedPoly = poly.map((vertex: Vec) => ({\n x: vertex.x + ox,\n y: vertex.y + oy\n }));\n\n const hiddenEdges: boolean[] = [];\n\n // For each edge in this polygon\n for (let i = 0; i < translatedPoly.length; i++) {\n const current = translatedPoly[i];\n const next = translatedPoly[(i + 1) % translatedPoly.length];\n \n if (!current || !next) {\n hiddenEdges.push(false);\n continue;\n }\n\n // Get segments for this edge\n const edgeSegments = edgeToUnitSegments(current, next, gridSize);\n \n // Check if any of these segments are touching other pieces\n let isTouching = false;\n \n // 1. Check internal composite edges (if this is a composite)\n if (piece.blueprintId.startsWith('comp:')) {\n // Check against other polygons in the same composite\n for (let otherPolyIndex = 0; otherPolyIndex < blueprint.shape.length; otherPolyIndex++) {\n if (otherPolyIndex === polyIndex) continue; // Skip self\n \n const otherPoly = blueprint.shape[otherPolyIndex];\n if (!otherPoly) continue;\n \n const otherTranslatedPoly = otherPoly.map((vertex: Vec) => ({\n x: vertex.x + ox,\n y: vertex.y + oy\n }));\n\n // Check if this edge touches any edge of the other polygon\n for (let j = 0; j < otherTranslatedPoly.length; j++) {\n const otherCurrent = otherTranslatedPoly[j];\n const otherNext = otherTranslatedPoly[(j + 1) % otherTranslatedPoly.length];\n \n if (!otherCurrent || !otherNext) continue;\n\n const otherEdgeSegments = edgeToUnitSegments(otherCurrent, otherNext, gridSize);\n \n // Check if any segments are shared\n for (const edgeSeg of edgeSegments) {\n const isShared = otherEdgeSegments.some(otherSeg => \n // Check if segments share the same endpoints (identical or reversed)\n (edgeSeg.a.x === otherSeg.a.x && edgeSeg.a.y === otherSeg.a.y &&\n edgeSeg.b.x === otherSeg.b.x && edgeSeg.b.y === otherSeg.b.y) ||\n (edgeSeg.a.x === otherSeg.b.x && edgeSeg.a.y === otherSeg.b.y &&\n edgeSeg.b.x === otherSeg.a.x && edgeSeg.b.y === otherSeg.a.y)\n );\n \n if (isShared) {\n isTouching = true;\n break;\n }\n }\n \n if (isTouching) break;\n }\n \n if (isTouching) break;\n }\n }\n \n // 2. Check external touching between different pieces (if not already touching internally)\n // Only check external touching when hideTouchingBorders is true\n if (!isTouching && CONFIG.game.hideTouchingBorders) {\n for (const otherPiece of allPiecesInSector) {\n if (otherPiece.id === piece.id) continue; // Skip self\n \n const otherBlueprint = getBlueprint(otherPiece.blueprintId);\n if (!otherBlueprint?.shape) continue;\n\n const otherBb = boundsOfBlueprint(otherBlueprint, getPrimitive);\n const otherOx = otherPiece.pos.x - otherBb.min.x;\n const otherOy = otherPiece.pos.y - otherBb.min.y;\n\n // Check if this edge touches any edge of the other piece\n for (const otherPoly of otherBlueprint.shape) {\n const otherTranslatedPoly = otherPoly.map((vertex: Vec) => ({\n x: vertex.x + otherOx,\n y: vertex.y + otherOy\n }));\n\n for (let j = 0; j < otherTranslatedPoly.length; j++) {\n const otherCurrent = otherTranslatedPoly[j];\n const otherNext = otherTranslatedPoly[(j + 1) % otherTranslatedPoly.length];\n \n if (!otherCurrent || !otherNext) continue;\n\n const otherEdgeSegments = edgeToUnitSegments(otherCurrent, otherNext, gridSize);\n \n // Check if any segments are shared\n for (const edgeSeg of edgeSegments) {\n const isShared = otherEdgeSegments.some(otherSeg => \n // Check if segments share the same endpoints (identical or reversed)\n (edgeSeg.a.x === otherSeg.a.x && edgeSeg.a.y === otherSeg.a.y &&\n edgeSeg.b.x === otherSeg.b.x && edgeSeg.b.y === otherSeg.b.y) ||\n (edgeSeg.a.x === otherSeg.b.x && edgeSeg.a.y === otherSeg.b.y &&\n edgeSeg.b.x === otherSeg.a.x && edgeSeg.b.y === otherSeg.a.y)\n );\n \n if (isShared) {\n isTouching = true;\n break;\n }\n }\n \n if (isTouching) break;\n }\n \n if (isTouching) break;\n }\n \n if (isTouching) break;\n }\n }\n\n hiddenEdges.push(isTouching);\n }\n\n return hiddenEdges;\n}\n\n/**\n * Check if borders should be shown at all\n * If false, neither primitives nor composites have borders\n */\nexport function shouldShowBorders(): boolean {\n return CONFIG.game.showBorders;\n}\n\n/**\n * Check if touching borders should be hidden\n * Only relevant when showBorders is true\n * - true: All pieces use selective border rendering\n * - false: Only composites use selective border rendering\n */\nexport function shouldHideTouchingBorders(): boolean {\n return CONFIG.game.hideTouchingBorders;\n}\n\n/**\n * Check if a piece should have selective border rendering\n * This determines whether to use edge-aware borders or full borders\n */\nexport function shouldUseSelectiveBorders(blueprintId: string): boolean {\n // Use selective borders if:\n // 1. Borders are enabled globally AND\n // 2. Either hideTouchingBorders is true (ALL pieces) OR this is a composite piece\n return CONFIG.game.showBorders && (\n CONFIG.game.hideTouchingBorders || // If true, ALL pieces use selective borders\n blueprintId.startsWith('comp:') // If false, only composites use selective borders\n );\n}","import React from \"react\";\nimport type { Poly, TanKind, Blueprint, PrimitiveBlueprint } from \"@/core/domain/types\";\nimport { wedgePath, type CircleLayout } from \"@/core/domain/layout\";\nimport { boundsOfBlueprint } from \"@/core/engine/geometry\";\nimport { CONFIG } from \"@/core/config/config\";\nimport { generateEdgeStrokePaths, shouldUseSelectiveBorders, shouldShowBorders, getHiddenEdgesForPolygon } from \"@/core/engine/validation/border-rendering\";\n\nexport type PieceView = { id: string; blueprintId: string; x: number; y: number; sectorId?: string };\nexport type AnchorDots = { sectorId: string; valid: {x:number;y:number}[]; invalid: {x:number;y:number}[] };\n\nexport type BoardViewProps = {\n controller: any; // RoundController (kept loose to avoid circular deps here)\n layout: CircleLayout;\n viewBox: { w: number; h: number };\n width?: number;\n height?: number;\n\n // derived visuals/geometry\n badgeR: number;\n badgeCenter: { x: number; y: number };\n placedSilBySector: Map<string, Poly[]>;\n anchorDots: AnchorDots[];\n pieces: PieceView[];\n\n // UI state flags\n clickMode: boolean;\n draggingId: string | null;\n selectedPieceId: string | null;\n dragInvalid: boolean;\n lockedPieceId: string | null;\n\n // refs + handlers wired by the container\n svgRef: React.RefObject<SVGSVGElement>;\n setPieceRef: (id: string) => (el: SVGGElement | null) => void;\n onPiecePointerDown: (\n e: React.PointerEvent<SVGPathElement | SVGGElement>,\n p: PieceView\n ) => void;\n onBlueprintPointerDown: (\n e: React.PointerEvent,\n bp: Blueprint,\n bpGeom: { bx: number; by: number; cx: number; cy: number }\n ) => void;\n onRootPointerDown: (e: React.PointerEvent<SVGSVGElement>) => void;\n onPointerMove: (e: React.PointerEvent<SVGSVGElement>) => void;\n onPointerUp: () => void;\n onCenterBadgePointerDown: (e: React.PointerEvent) => void;\n};\n\nfunction pathD(poly: Poly) {\n return `M ${poly.map((pt) => `${pt.x} ${pt.y}`).join(\" L \")} Z`;\n}\n\nexport default function BoardView(props: BoardViewProps) {\n const {\n controller, layout, viewBox, width, height,\n badgeR, badgeCenter,\n placedSilBySector, anchorDots, pieces,\n clickMode, draggingId, selectedPieceId, dragInvalid, lockedPieceId,\n svgRef, setPieceRef,\n onPiecePointerDown, onBlueprintPointerDown, onRootPointerDown, onPointerMove, onPointerUp, onCenterBadgePointerDown,\n } = props;\n\n const VW = viewBox.w, VH = viewBox.h;\n\n // blueprint ring geometry\n const centerView = controller.state.blueprintView;\n const bps: Blueprint[] =\n centerView === \"primitives\"\n ? (controller.state.primitives as PrimitiveBlueprint[])\n : (controller.state.quickstash as Blueprint[]);\n\n const QS_SLOTS = controller.state.cfg.maxQuickstashSlots;\n const PRIM_SLOTS = controller.state.primitives.length;\n const slotsForView = centerView === \"primitives\" ? Math.max(1, PRIM_SLOTS) : Math.max(1, QS_SLOTS);\n const sweep = layout.mode === \"circle\" ? Math.PI * 2 : Math.PI;\n const delta = sweep / slotsForView;\n\n const start = layout.mode === \"circle\" ? -Math.PI / 2 : Math.PI;\n const blueprintTheta = (i: number) => start + (i + 0.5) * delta;\n\n // chord requirement (reuse same logic as container already used for radii)\n const anchorsDiameterToPx = (anchorsDiag: number, gridPx: number = CONFIG.layout.grid.stepPx) =>\n anchorsDiag * Math.SQRT2 * gridPx;\n const reqAnchors = centerView === \"primitives\"\n ? CONFIG.layout.constraints.primitiveDiamAnchors\n : CONFIG.layout.constraints.quickstashDiamAnchors;\n const D_slot = anchorsDiameterToPx(reqAnchors);\n const R_needed = D_slot / (2 * Math.max(1e-9, Math.sin(delta / 2)));\n \n // Minimum radius to avoid overlapping with badge\n // Badge takes up: badgeR + margin, plus we need half the slot diameter for clearance\n const R_min = badgeR + CONFIG.size.centerBadge.marginPx + D_slot / 2;\n const ringMax = layout.innerR - (badgeR + CONFIG.size.centerBadge.marginPx);\n \n // Clamp to [R_min, ringMax]\n const blueprintRingR = Math.min(Math.max(R_needed, R_min), ringMax);\n\n const renderBlueprintGlyph = (bp: Blueprint, bx: number, by: number) => {\n const bb = boundsOfBlueprint(bp, (k: string) => controller.getPrimitive(k as TanKind)!);\n const cx = bb.min.x + bb.width / 2;\n const cy = bb.min.y + bb.height / 2;\n const selected = false; // container highlights via pending state; optional\n\n return (\n <g\n key={bp.id}\n transform={`translate(${bx}, ${by}) scale(1) translate(${-cx}, ${-cy})`}\n >\n {(\"shape\" in bp ? bp.shape : []).map((poly, idx) => (\n <path\n key={idx}\n d={pathD(poly)}\n fill={CONFIG.color.blueprint.fill}\n opacity={CONFIG.opacity.blueprint}\n stroke={selected ? CONFIG.color.blueprint.selectedStroke : \"none\"}\n strokeWidth={selected ? 2 : 0}\n pointerEvents=\"visiblePainted\"\n style={{ cursor: \"pointer\" }}\n onPointerDown={(e) => onBlueprintPointerDown(e as any, bp, { bx, by, cx, cy })}\n />\n ))}\n </g>\n );\n };\n\n return (\n <svg\n ref={svgRef}\n width={width}\n height={height}\n viewBox={`0 0 ${VW} ${VH}`}\n preserveAspectRatio=\"xMidYMid meet\"\n onPointerMove={onPointerMove}\n onPointerUp={onPointerUp}\n onPointerDown={(e) => {\n onRootPointerDown(e);\n }}\n style={{ background: \"#fff\", touchAction: \"none\", userSelect: \"none\" }}\n >\n {/* bands as wedges */}\n {layout.sectors.map((s, i) => {\n const done = !!controller.state.sectors[s.id].completedAt;\n const baseSil = i % 2 ? CONFIG.color.bands.silhouette.fillOdd : CONFIG.color.bands.silhouette.fillEven;\n const baseWork = i % 2 ? CONFIG.color.bands.workspace.fillOdd : CONFIG.color.bands.workspace.fillEven;\n const sil = layout.bands.silhouette;\n const work = layout.bands.workspace;\n return (\n <g key={`bands-${s.id}`}>\n {controller.state.cfg.target === \"workspace\" ? (\n <>\n <path d={wedgePath(layout.cx, layout.cy, sil[0], sil[1], s.start, s.end)} fill={baseSil} stroke={CONFIG.color.bands.silhouette.stroke} strokeWidth={CONFIG.size.stroke.bandPx} pointerEvents=\"none\" />\n <path d={wedgePath(layout.cx, layout.cy, work[0], work[1], s.start, s.end)} fill={done ? CONFIG.color.completion.fill : baseWork} stroke={done ? CONFIG.color.completion.stroke : CONFIG.color.bands.workspace.stroke} strokeWidth={CONFIG.size.stroke.bandPx} pointerEvents=\"none\" />\n </>\n ) : (\n <path d={wedgePath(layout.cx, layout.cy, sil[0], sil[1], s.start, s.end)} fill={done ? CONFIG.color.completion.fill : baseSil} stroke={done ? CONFIG.color.completion.stroke : CONFIG.color.bands.silhouette.stroke} strokeWidth={CONFIG.size.stroke.bandPx} pointerEvents=\"none\" />\n )}\n </g>\n );\n })}\n\n\n {/* live pieces - MOVED ABOVE SILHOUETTES FOR TESTING */}\n {pieces\n .sort((a, b) => {\n // Sort so that dragged piece is rendered last (on top)\n if (draggingId === a.id) return 1;\n if (draggingId === b.id) return -1;\n return 0;\n })\n .map((p) => {\n const bp = controller.getBlueprint(p.blueprintId)!;\n const bb = boundsOfBlueprint(bp, (k: string) => controller.getPrimitive(k as TanKind)!);\n const isDragging = draggingId === p.id;\n const locked = p.sectorId && controller.isSectorCompleted(p.sectorId);\n const isConnectivityLocked = lockedPieceId === p.id;\n const isSelected = selectedPieceId === p.id;\n const isCarriedInvalid = isDragging && dragInvalid;\n const translateX = p.x - bb.min.x;\n const translateY = p.y - bb.min.y;\n return (\n <g key={p.id} ref={setPieceRef(p.id)} transform={`translate(${translateX}, ${translateY})`} style={{ cursor: locked ? \"default\" : clickMode ? \"pointer\" : \"grab\" }} pointerEvents={clickMode && isDragging ? \"none\" : \"auto\"}>\n {(\"shape\" in bp ? bp.shape : []).map((poly: any, idx: number) => {\n const showBorders = shouldShowBorders();\n const useSelectiveBorders = shouldUseSelectiveBorders(p.blueprintId);\n return (\n <React.Fragment key={idx}>\n {/* Fill path - always rendered with no borders */}\n <path\n d={pathD(poly)}\n fill={isConnectivityLocked ? CONFIG.color.piece.invalidFill : (isCarriedInvalid ? CONFIG.color.piece.invalidFill : (isDragging ? CONFIG.color.piece.draggingFill : CONFIG.color.piece.validFill))}\n opacity={isConnectivityLocked ? CONFIG.opacity.piece.invalid : (isCarriedInvalid ? CONFIG.opacity.piece.invalid : (isDragging ? CONFIG.opacity.piece.dragging : (locked ? CONFIG.opacity.piece.locked : CONFIG.opacity.piece.normal)))}\n stroke=\"none\"\n onPointerDown={(e) => onPiecePointerDown(e, p)}\n />\n \n {/* Border paths - only rendered if borders are enabled */}\n {showBorders && (\n useSelectiveBorders ? (\n // For pieces with selective borders: render individual edge strokes with edge detection\n (() => {\n const allPiecesInSector = pieces.filter(piece => piece.sectorId === p.sectorId);\n const pieceAsPiece = { ...p, pos: { x: p.x, y: p.y } };\n const allPiecesAsPieces = allPiecesInSector.map(piece => ({ ...piece, pos: { x: piece.x, y: piece.y } }));\n const hiddenEdges = getHiddenEdgesForPolygon(pieceAsPiece, idx, allPiecesAsPieces, (id) => controller.getBlueprint(id), (kind) => controller.getPrimitive(kind));\n \n // Check if this piece's edges were hidden due to touching the dragged piece\n const draggedPiece = draggingId ? allPiecesInSector.find(piece => piece.id === draggingId) : null;\n \n // For composites, we need to distinguish between internal edges (always hidden) and external edges (shown when dragging)\n let wasTouchingDraggedPiece: boolean[];\n if (p.blueprintId.startsWith('comp:')) {\n // For composites, check internal edges separately from external edges\n const internalHiddenEdges = getHiddenEdgesForPolygon(pieceAsPiece, idx, [], (id) => controller.getBlueprint(id), (kind) => controller.getPrimitive(kind));\n const externalHiddenEdges = draggedPiece ? \n getHiddenEdgesForPolygon(pieceAsPiece, idx, [{ ...draggedPiece, pos: { x: draggedPiece.x, y: draggedPiece.y } }], (id) => controller.getBlueprint(id), (kind) => controller.getPrimitive(kind)) : \n new Array(hiddenEdges.length).fill(false);\n \n // Only consider external edges as \"touching dragged piece\"\n wasTouchingDraggedPiece = externalHiddenEdges.map((external, i) => external && !internalHiddenEdges[i]);\n } else {\n // For primitives, all hidden edges are external\n wasTouchingDraggedPiece = draggedPiece ? \n getHiddenEdgesForPolygon(pieceAsPiece, idx, [{ ...draggedPiece, pos: { x: draggedPiece.x, y: draggedPiece.y } }], (id) => controller.getBlueprint(id), (kind) => controller.getPrimitive(kind)) : \n new Array(hiddenEdges.length).fill(false);\n }\n \n return generateEdgeStrokePaths(poly).map((strokePath, strokeIdx) => {\n // Show border if: 1) it wasn't hidden originally, OR 2) it was hidden due to touching the dragged piece\n const wasHiddenDueToDraggedPiece = wasTouchingDraggedPiece[strokeIdx] || false;\n \n // Special case: if this piece is being dragged and it's a composite, keep internal edges hidden\n let isHidden: boolean;\n if (isDragging && p.blueprintId.startsWith('comp:')) {\n // For dragged composites, only show external edges (not internal ones)\n const internalHiddenEdges = getHiddenEdgesForPolygon(pieceAsPiece, idx, [], (id) => controller.getBlueprint(id), (kind) => controller.getPrimitive(kind));\n isHidden = internalHiddenEdges[strokeIdx] || false;\n } else {\n // Normal logic for non-dragged pieces or primitives\n isHidden = isDragging ? false : ((hiddenEdges[strokeIdx] || false) && !wasHiddenDueToDraggedPiece);\n }\n \n return (\n <path\n key={`stroke-${idx}-${strokeIdx}`}\n d={strokePath}\n fill=\"none\"\n stroke={isHidden ? \"none\" : (isConnectivityLocked ? CONFIG.color.piece.invalidStroke : (isCarriedInvalid ? CONFIG.color.piece.invalidStroke : (isSelected || isDragging ? CONFIG.color.piece.selectedStroke : CONFIG.color.piece.borderStroke)))}\n strokeWidth={isHidden ? 0 : ((isSelected || isDragging) ? CONFIG.size.stroke.pieceSelectedPx : CONFIG.size.stroke.pieceBorderPx)}\n onPointerDown={(e) => onPiecePointerDown(e, p)}\n />\n );\n });\n })()\n ) : (\n // For primitives or composites without selective borders: render full border\n <path\n d={pathD(poly)}\n fill=\"none\"\n stroke={isConnectivityLocked ? CONFIG.color.piece.invalidStroke : (isCarriedInvalid ? CONFIG.color.piece.invalidStroke : (isSelected || isDragging ? CONFIG.color.piece.selectedStroke : CONFIG.color.piece.borderStroke))}\n strokeWidth={(isSelected || isDragging) ? CONFIG.size.stroke.pieceSelectedPx : CONFIG.size.stroke.pieceBorderPx}\n onPointerDown={(e) => onPiecePointerDown(e, p)}\n />\n )\n )}\n </React.Fragment>\n );\n })}\n </g>\n );\n })}\n\n {/* silhouettes (use pre-placed polys) */}\n {layout.sectors.map((s) => {\n const placedPolys = placedSilBySector.get(s.id) ?? [];\n if (!placedPolys.length) return null;\n return (\n <g key={`sil-${s.id}`} pointerEvents=\"none\">\n {placedPolys.map((poly, i) => (\n <path key={i} d={pathD(poly)} fill={CONFIG.color.silhouetteMask} opacity={CONFIG.opacity.silhouetteMask} />\n ))}\n </g>\n );\n })}\n\n {/* anchor grid */}\n {anchorDots.map(({ sectorId, valid, invalid }) => {\n const isInnerRing = sectorId === \"inner-ring\";\n return (\n <g key={`anchors-${sectorId}`} pointerEvents=\"none\">\n {invalid.map((p, i) => (\n <circle key={`inv-${i}`} cx={p.x} cy={p.y} r={CONFIG.size.anchorRadiusPx.invalid} fill={CONFIG.color.anchors.invalid} opacity={CONFIG.opacity.anchors.invalid} />\n ))}\n {valid.map((p, i) => (\n <circle\n key={`val-${i}`}\n cx={p.x}\n cy={p.y}\n r={isInnerRing ? CONFIG.size.anchorRadiusPx.invalid : CONFIG.size.anchorRadiusPx.valid}\n fill={isInnerRing ? CONFIG.color.anchors.invalid : CONFIG.color.anchors.valid}\n opacity={isInnerRing ? CONFIG.opacity.anchors.invalid : CONFIG.opacity.anchors.valid}\n />\n ))}\n </g>\n );\n })}\n\n {/* center badge */}\n {(() => {\n const isPrep = controller.state.cfg.mode === \"prep\";\n const isSubmitEnabled = isPrep ? controller.isSubmitEnabled() : true;\n const isClickable = !draggingId && (!isPrep || isSubmitEnabled);\n \n return (\n <g transform={`translate(${badgeCenter.x}, ${badgeCenter.y})`} \n style={{ cursor: isClickable ? \"pointer\" : \"default\" }} \n onPointerDown={isClickable ? onCenterBadgePointerDown : undefined}>\n <circle r={badgeR} \n fill={isSubmitEnabled ? CONFIG.color.blueprint.badgeFill : \"#ccc\"} \n opacity={isSubmitEnabled ? 1.0 : 0.5} />\n <text textAnchor=\"middle\" \n dominantBaseline=\"middle\" \n fontSize={CONFIG.size.badgeFontPx} \n fill={isSubmitEnabled ? CONFIG.color.blueprint.labelFill : \"#888\"} \n pointerEvents=\"none\">\n {isPrep ? \"Submit\" : controller.state.blueprintView}\n </text>\n </g>\n );\n })()}\n\n {/* blueprint glyphs */}\n {bps.map((bp: any, i: number) => {\n const theta = blueprintTheta(i);\n const bx = layout.cx + blueprintRingR * Math.cos(theta);\n const by = layout.cy + blueprintRingR * Math.sin(theta);\n return renderBlueprintGlyph(bp, bx, by);\n })}\n\n\n {/* all green pulse */}\n {controller.state.endedAt && (\n <g pointerEvents=\"none\">\n <circle cx={layout.cx} cy={layout.cy} r={layout.outerR - 3} fill=\"none\" stroke={CONFIG.color.piece.allGreenStroke} strokeWidth={CONFIG.size.stroke.allGreenStrokePx} opacity={0}>\n <animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"160ms\" fill=\"freeze\" />\n <animate attributeName=\"opacity\" from=\"1\" to=\"0\" begin=\"560ms\" dur=\"520ms\" fill=\"freeze\" />\n </circle>\n </g>\n )}\n </svg>\n );\n}","// core/validate/complete.ts\nimport type { Poly, Vec } from \"@/core/domain/types\";\nimport { pointInPolygon } from \"@/core/engine/geometry\";\nimport { CONFIG } from \"@/core/config/config\";\n\n/** AABB of one or more polys */\nfunction aabb(polys: Poly[]) {\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n for (const poly of polys) for (const p of poly) {\n if (p.x < minX) minX = p.x;\n if (p.y < minY) minY = p.y;\n if (p.x > maxX) maxX = p.x;\n if (p.y > maxY) maxY = p.y;\n }\n return { minX, minY, maxX, maxY };\n}\n\n/** Cell centers over an AABB, aligned to GRID_PX centers (k + GRID_PX/2). */\nfunction cellCentersInAABB(minX: number, minY: number, maxX: number, maxY: number): Vec[] {\n const GRID_PX = CONFIG.layout.grid.stepPx;\n const x0 = Math.floor((minX - GRID_PX/2) / GRID_PX) * GRID_PX + GRID_PX/2;\n const y0 = Math.floor((minY - GRID_PX/2) / GRID_PX) * GRID_PX + GRID_PX/2;\n const out: Vec[] = [];\n for (let y = y0; y <= maxY; y += GRID_PX) {\n for (let x = x0; x <= maxX; x += GRID_PX) out.push({ x, y });\n }\n return out;\n}\n\n/** Build a set of grid centers that lie inside ANY of the polygons. */\nexport function cellSetForPolys(polys: Poly[]): Set<string> {\n if (!polys.length) return new Set();\n const { minX, minY, maxX, maxY } = aabb(polys);\n const centers = cellCentersInAABB(minX, minY, maxX, maxY);\n const key = (p: Vec) => `${p.x},${p.y}`;\n const S = new Set<string>();\n center: for (const c of centers) {\n for (const poly of polys) {\n if (pointInPolygon(c, poly)) { S.add(key(c)); continue center; }\n }\n }\n return S;\n}\n\n/** Anchors | Silhouette: complete iff silhouette cell set ⊆ piece cell set. */\nexport function anchorsSilhouetteComplete(silPolys: Poly[], piecePolys: Poly[]): boolean {\n if (!silPolys.length) return false;\n const S = cellSetForPolys(silPolys);\n if (S.size === 0) return false;\n const P = cellSetForPolys(piecePolys);\n if (P.size === 0) return false;\n for (const k of S) if (!P.has(k)) return false;\n return true;\n}\n\n// --- helpers for translation-invariant equality on the grid -----------------\nfunction stringSetToVecs(S: Set<string>): Vec[] {\n const out: Vec[] = [];\n for (const k of S) {\n const [xs, ys] = k.split(\",\");\n out.push({ x: Number(xs), y: Number(ys) });\n }\n return out;\n}\n\nfunction normalizeCells(S: Set<string>): Set<string> {\n if (S.size === 0) return S;\n const pts = stringSetToVecs(S);\n let minX = Infinity,\n minY = Infinity;\n for (const p of pts) {\n if (p.x < minX) minX = p.x;\n if (p.y < minY) minY = p.y;\n }\n const N = new Set<string>();\n for (const p of pts) N.add(`${p.x - minX},${p.y - minY}`);\n return N;\n}\n\nfunction setsEqual(a: Set<string>, b: Set<string>): boolean {\n if (a.size !== b.size) return false;\n for (const k of a) if (!b.has(k)) return false;\n return true;\n}\n\n/**\n * Anchors | Workspace:\n * complete iff the pieces form the sector's silhouette pattern up to a GRID_PX translation.\n * (No rotation/mirror; exact coverage — no extra cells.)\n */\nexport function anchorsWorkspaceComplete(\n silPolys: Poly[],\n piecePolys: Poly[]\n): boolean {\n if (!silPolys.length) return false;\n const Sraw = cellSetForPolys(silPolys);\n const Praw = cellSetForPolys(piecePolys);\n if (Sraw.size === 0 || Praw.size === 0) return false;\n const S = normalizeCells(Sraw);\n const P = normalizeCells(Praw);\n return setsEqual(S, P);\n}","import type { Poly } from \"@/core/domain/types\";\n\n/**\n * Board Component Utilities\n * \n * This module provides utility functions used by board interaction hooks.\n * These functions handle coordinate transformations and geometric operations\n * needed for blueprint interaction and polygon scaling.\n */\n\n/**\n * Convert world coordinates to blueprint local coordinates\n * \n * When a user clicks on a blueprint glyph in the blueprint ring, this function\n * converts the world click coordinates to local coordinates within the blueprint's\n * coordinate system. This is needed to maintain the clicked point under the cursor\n * when spawning and dragging new pieces.\n * \n * @param px - World X coordinate (SVG space)\n * @param py - World Y coordinate (SVG space) \n * @param bpGeom - Blueprint geometry information\n * @param bpGeom.bx - Blueprint center X in world space\n * @param bpGeom.by - Blueprint center Y in world space\n * @param bpGeom.cx - Blueprint local center X\n * @param bpGeom.cy - Blueprint local center Y\n * @returns Local coordinates within the blueprint's coordinate system\n * \n * @example\n * ```typescript\n * const localPoint = blueprintLocalFromWorld(100, 200, {\n * bx: 50, by: 50, // Blueprint is rendered at (50, 50) in world space\n * cx: 25, cy: 25 // Blueprint's local center is at (25, 25)\n * });\n * // Result: { x: 75, y: 175 } - point in blueprint's local coordinate system\n * ```\n */\nexport function blueprintLocalFromWorld(\n px: number,\n py: number,\n bpGeom: { bx: number; by: number; cx: number; cy: number }\n) {\n return { x: px - bpGeom.bx + bpGeom.cx, y: py - bpGeom.by + bpGeom.cy };\n}\n\n/**\n * Scale polygons by factor S about the origin (no translation/snapping)\n * \n * This function scales polygon coordinates by a factor S around the origin (0,0).\n * Used for scaling silhouette masks and other geometric shapes when computing\n * layouts with different scaling factors. The scaling is uniform (same factor\n * for both X and Y axes).\n * \n * @param polys - Array of polygons to scale\n * @param S - Scale factor (1.0 = no change, 0.5 = half size, 2.0 = double size)\n * @returns New array of scaled polygons (original polygons are not modified)\n * \n * @example\n * ```typescript\n * const originalPolys = [[\n * { x: 10, y: 10 },\n * { x: 20, y: 10 }, \n * { x: 15, y: 20 }\n * ]];\n * \n * const scaledPolys = scalePolys(originalPolys, 2.0);\n * // Result: [[\n * // { x: 20, y: 20 },\n * // { x: 40, y: 20 },\n * // { x: 30, y: 40 }\n * // ]]\n * ```\n */\nexport function scalePolys(polys: Poly[], S: number): Poly[] {\n if (!polys || polys.length === 0) return [];\n return polys.map(poly => poly.map(p => ({ x: S * p.x, y: S * p.y })));\n}","import React from \"react\";\nimport { BaseGameController } from \"@/core/engine/state/BaseGameController\";\nimport type { Poly } from \"@/core/domain/types\";\nimport { boundsOfBlueprint, piecePolysAt } from \"@/core/engine/geometry\";\n\n/**\n * Piece data interface used throughout the hook system\n * \n * Represents a tangram piece instance with position and blueprint information.\n * This is the normalized interface used across all board components.\n */\nexport interface PieceData {\n /** Unique identifier for this piece instance */\n id: string;\n \n /** ID of the blueprint that defines this piece's shape */\n blueprintId: string;\n \n /** X coordinate of the piece's top-left position in SVG space */\n x: number;\n \n /** Y coordinate of the piece's top-left position in SVG space */\n y: number;\n \n /** ID of the sector containing this piece (undefined if floating) */\n sectorId?: string;\n}\n\n/**\n * Return interface for usePieceState hook\n * \n * Provides normalized piece data and computed polygon functions for collision\n * detection and rendering. All functions are memoized for optimal performance.\n */\nexport interface PieceStateHook {\n /** Array of all pieces from all sectors plus floating pieces */\n pieces: PieceData[];\n \n /** \n * Lookup function to find a piece by its ID\n * @param id - Piece ID to lookup (null-safe)\n * @returns PieceData or null if not found\n */\n pieceById: (id: string | null) => PieceData | null;\n \n /** \n * Compute world polygons for all pieces in a sector (live/no cache)\n * @param sectorId - Target sector ID\n * @returns Array of world-space polygons\n */\n sectorPiecePolysLive: (sectorId: string) => Poly[];\n \n /** \n * Cached version of sectorPiecePolysLive with signature-based invalidation\n * @param sectorId - Target sector ID \n * @returns Cached array of world-space polygons\n */\n getSectorPiecePolysCached: (sectorId: string) => Poly[];\n}\n\n/**\n * Hook for managing piece data and computed polygon states\n * \n * This hook provides normalized access to piece data from the BaseGameController,\n * combining pieces from sectors and floating state into a unified interface.\n * It also provides optimized polygon computation functions for collision detection.\n * \n * ## Key Features\n * - **Unified piece access**: Combines sector and floating pieces\n * - **Polygon caching**: Optimized collision detection with signature-based cache\n * - **Live updates**: Reactively updates when controller state changes\n * - **Null-safe lookups**: Safe piece retrieval by ID\n * \n * ## Performance\n * - Pieces array is memoized based on controller.updateCount\n * - Polygon cache uses sector \"signature\" (piece positions) for invalidation\n * - Live polygon computation bypasses cache for real-time operations\n * \n * @param controller - BaseGameController instance managing game state\n * @returns Hook interface with piece data and polygon functions\n * \n * @example\n * ```typescript\n * const pieceState = usePieceState(controller);\n * const allPieces = pieceState.pieces;\n * const piece = pieceState.pieceById(\"piece_123\");\n * const sectorPolygons = pieceState.sectorPiecePolysLive(\"sector_1\");\n * ```\n */\nexport function usePieceState(controller: BaseGameController): PieceStateHook {\n // --- pieces ---------------------------------------------------------------\n const pieces = React.useMemo(() => {\n const out: PieceData[] = [];\n for (const s of Object.values(controller.state.sectors)) {\n for (const p of s.pieces) {\n out.push({\n id: p.id,\n blueprintId: p.blueprintId,\n x: p.pos.x,\n y: p.pos.y,\n sectorId: s.sectorId\n });\n }\n }\n const floating: any = (controller as any)._floating;\n if (floating?.pieces) {\n for (const p of floating.pieces) {\n out.push({\n id: p.id,\n blueprintId: p.blueprintId,\n x: p.pos.x,\n y: p.pos.y\n });\n }\n }\n return out;\n }, [controller.state.sectors, (controller as any)._floating, controller.updateCount]);\n\n const pieceById = React.useCallback(\n (id: string | null) => (id ? pieces.find(p => p.id === id) ?? null : null),\n [pieces]\n );\n\n // --- LIVE sector polys (reads controller.state directly) -----------------\n const sectorPiecePolysLive = React.useCallback(\n (sectorId: string): Poly[] => {\n const out: Poly[] = [];\n const ss = controller.state.sectors[sectorId];\n if (!ss) return out;\n for (const p of ss.pieces) {\n const bp = controller.getBlueprint(p.blueprintId)!;\n const bb = boundsOfBlueprint(bp, controller.getPrimitive);\n out.push(...piecePolysAt(bp, bb, { x: p.pos.x, y: p.pos.y }));\n }\n return out;\n },\n [controller]\n );\n\n // --- OPTIONAL: cached variant keyed by a sector \"signature\" --------------\n // Sig = pieceId@x,y;... (order-insensitive)\n const polyCacheRef = React.useRef(\n new Map<string, { sig: string; polys: Poly[] }>()\n );\n\n const sectorSignature = React.useCallback(\n (sectorId: string): string => {\n const ss = controller.state.sectors[sectorId];\n if (!ss) return \"\";\n // stable order by id\n const parts = ss.pieces\n .slice()\n .sort((a, b) => (a.id < b.id ? -1 : 1))\n .map(p => `${p.id}@${p.pos.x},${p.pos.y}`);\n return parts.join(\"|\");\n },\n [controller.state.sectors]\n );\n\n const getSectorPiecePolysCached = React.useCallback(\n (sectorId: string): Poly[] => {\n const sig = sectorSignature(sectorId);\n const hit = polyCacheRef.current.get(sectorId);\n if (hit && hit.sig === sig) return hit.polys;\n const polys = sectorPiecePolysLive(sectorId);\n polyCacheRef.current.set(sectorId, { sig, polys });\n return polys;\n },\n [sectorSignature, sectorPiecePolysLive]\n );\n\n return {\n pieces,\n pieceById,\n sectorPiecePolysLive,\n getSectorPiecePolysCached\n };\n}","/**\n * Grid Snapping Engine - PHASE 2 MILESTONE\n * \n * Consolidates duplicate anchor functions from anchors.ts and anchors-mode.ts\n * into a single, parameterized grid snapping system.\n */\n\nimport type { Blueprint, Poly, Vec, PrimitiveBlueprint } from \"../../domain/types\";\nimport type { CircleLayout, SectorGeom } from \"../../domain/layout\";\nimport { \n boundsOfBlueprint, \n pointInPolygon, \n gridNodesInAABB, \n filterNodesToBandAndSector, \n filterNodesInPolys\n} from \"../geometry\";\nimport { CONFIG } from \"../../config/config\";\n\nexport interface GridConfig {\n stepPx: number;\n snapRadiusPx: number;\n densitySampleStepPx?: number; // For polyFullyInside sampling\n}\n\nexport interface SnapResult {\n tl: Vec;\n node: Vec | null;\n dist: number;\n accepted: boolean;\n}\n\n/**\n * GridSnapper handles all anchor-based snapping and node generation\n */\nexport class GridSnapper {\n private config: GridConfig;\n\n constructor(config: GridConfig) {\n this.config = config;\n }\n\n // ===== Reference Vertex Management =====\n \n /**\n * Choose a reference vertex (v0 of first poly) for snapping.\n * Consolidated from both anchors.ts and anchors-mode.ts\n */\n referenceVertex(bp: Blueprint): Vec {\n const poly = (\"shape\" in bp && bp.shape?.[0]) ? bp.shape[0] : [{x:0,y:0}];\n return poly[0] ?? { x: 0, y: 0 };\n }\n\n // ===== Snapping Operations =====\n\n /**\n * Perform nearest-node snapping with configurable snap radius\n * Consolidated from both files with enhanced configuration\n */\n nearestNodeSnap(\n tl: Vec,\n bp: Blueprint,\n primitiveLookup: (k: string) => PrimitiveBlueprint | undefined,\n nodes: Vec[]\n ): SnapResult {\n if (!nodes.length) {\n return { tl, node: null, dist: Infinity, accepted: false };\n }\n\n const bb = boundsOfBlueprint(bp, primitiveLookup);\n const v0 = this.referenceVertex(bp);\n const v0World = { x: tl.x + (v0.x - bb.min.x), y: tl.y + (v0.y - bb.min.y) };\n\n let best: Vec | null = null;\n let bestD2 = Infinity;\n \n for (const n of nodes) {\n const dx = n.x - v0World.x;\n const dy = n.y - v0World.y;\n const d2 = dx * dx + dy * dy;\n if (d2 < bestD2) { \n bestD2 = d2; \n best = n; \n }\n }\n\n const distance = Math.sqrt(bestD2);\n const accepted = distance <= this.config.snapRadiusPx;\n \n const snapped = (best && accepted)\n ? { x: tl.x + (best.x - v0World.x), y: tl.y + (best.y - v0World.y) }\n : tl;\n\n return { \n tl: snapped, \n node: best, \n dist: distance, \n accepted \n };\n }\n\n /**\n * Back-compatibility shim for existing Board.tsx usage\n */\n snapTopLeftToNodes(\n tl: Vec,\n bp: Blueprint,\n primitiveLookup: (k: string) => PrimitiveBlueprint | undefined,\n nodes: Vec[]\n ): { x: number; y: number } {\n const { tl: snapped } = this.nearestNodeSnap(tl, bp, primitiveLookup, nodes);\n return snapped;\n }\n\n // ===== Node Generation =====\n\n /**\n * Generate workspace-band grid nodes for a sector\n * Extracted from anchors-mode.ts\n */\n generateWorkspaceNodes(layout: CircleLayout, sector: SectorGeom): Vec[] {\n const pad = 6;\n const min = { x: layout.cx - layout.outerR, y: layout.cy - layout.outerR - pad };\n const max = { x: layout.cx + layout.outerR, y: layout.cy + layout.outerR + pad };\n const nodes = gridNodesInAABB(min, max);\n return filterNodesToBandAndSector(nodes, layout, \"workspace\", sector);\n }\n\n /**\n * Generate silhouette-mask nodes for a sector\n * Extracted from anchors-mode.ts\n */\n generateSilhouetteNodes(layout: CircleLayout, sector: SectorGeom, fittedMask: Poly[]): Vec[] {\n const pad = 6;\n const min = { x: layout.cx - layout.outerR, y: layout.cy - layout.outerR - pad };\n const max = { x: layout.cx + layout.outerR, y: layout.cy + layout.outerR + pad };\n const nodes = gridNodesInAABB(min, max);\n const banded = filterNodesToBandAndSector(nodes, layout, \"silhouette\", sector);\n return filterNodesInPolys(banded, fittedMask, pointInPolygon);\n }\n\n /**\n * Generate silhouette-band nodes for a sector (no mask filter)\n * Extracted from anchors-mode.ts\n */\n generateSilhouetteBandNodes(layout: CircleLayout, sector: SectorGeom): Vec[] {\n const pad = 6;\n const min = { x: layout.cx - layout.outerR, y: layout.cy - layout.outerR - pad };\n const max = { x: layout.cx + layout.outerR, y: layout.cy + layout.outerR + pad };\n const nodes = gridNodesInAABB(min, max);\n return filterNodesToBandAndSector(nodes, layout, \"silhouette\", sector);\n }\n\n // ===== Validation Helpers =====\n\n /**\n * Check if point lies inside any silhouette polygon (union semantics)\n * Private helper used by polyFullyInside\n */\n private insideAnySilhouette(pt: Vec, silPolys: Poly[]): boolean {\n for (const sp of silPolys) {\n if (pointInPolygon(pt, sp)) return true;\n }\n return false;\n }\n\n /**\n * Robust \"fully inside\" check with configurable sampling density\n * Consolidated from both files with enhanced configuration\n */\n polyFullyInside(\n piecePolys: Poly[],\n silhouettePolys: Poly[],\n customStep?: number\n ): boolean {\n // Quick exits\n if (!piecePolys.length) return true;\n if (!silhouettePolys.length) return false;\n\n const step = customStep ?? \n this.config.densitySampleStepPx ?? \n Math.max(1, Math.round(CONFIG.layout.grid.stepPx / 3));\n\n for (const poly of piecePolys) {\n if (poly.length < 2) continue;\n\n for (let i = 0; i < poly.length; i++) {\n const a = poly[i];\n const b = poly[(i + 1) % poly.length];\n \n if (!a || !b) continue;\n \n const dx = b.x - a.x;\n const dy = b.y - a.y;\n const len = Math.hypot(dx, dy);\n const n = Math.max(1, Math.ceil(len / step));\n\n // Sample all points along the edge, including endpoints\n for (let k = 0; k <= n; k++) {\n const t = k / n;\n const p = { x: a.x + t * dx, y: a.y + t * dy };\n if (!this.insideAnySilhouette(p, silhouettePolys)) {\n return false; // One point outside → reject\n }\n }\n }\n }\n return true;\n }\n}\n\n// ===== Factory Functions =====\n\n/**\n * Create a GridSnapper with default configuration\n */\nexport function createDefaultGridSnapper(): GridSnapper {\n return new GridSnapper({\n stepPx: CONFIG.layout.grid.stepPx,\n snapRadiusPx: CONFIG.game.snapRadiusPx,\n densitySampleStepPx: Math.max(1, Math.round(CONFIG.layout.grid.stepPx / 3))\n });\n}\n\n/**\n * Create a GridSnapper with custom snap radius\n */\nexport function createGridSnapper(snapRadiusPx: number): GridSnapper {\n return new GridSnapper({\n stepPx: CONFIG.layout.grid.stepPx,\n snapRadiusPx,\n densitySampleStepPx: Math.max(1, Math.round(CONFIG.layout.grid.stepPx / 3))\n });\n}\n\n// ===== Legacy Compatibility Exports =====\n// These maintain compatibility with existing code while using the new system\n\nexport const defaultGridSnapper = createDefaultGridSnapper();\n\nexport function referenceVertex(bp: Blueprint): Vec {\n return defaultGridSnapper.referenceVertex(bp);\n}\n\nexport function nearestNodeSnap(\n tl: Vec,\n bp: Blueprint,\n primitiveLookup: (k: string) => PrimitiveBlueprint | undefined,\n nodes: Vec[]\n): { tl: Vec; node: Vec | null; dist: number } {\n const result = defaultGridSnapper.nearestNodeSnap(tl, bp, primitiveLookup, nodes);\n return { tl: result.tl, node: result.node, dist: result.dist };\n}\n\nexport function snapTopLeftToNodes(\n tl: Vec,\n bp: Blueprint,\n primitiveLookup: (k: string) => PrimitiveBlueprint | undefined,\n nodes: Vec[]\n): { x: number; y: number } {\n return defaultGridSnapper.snapTopLeftToNodes(tl, bp, primitiveLookup, nodes);\n}\n\nexport function polyFullyInside(\n piecePolys: Poly[],\n silhouettePolys: Poly[],\n step?: number\n): boolean {\n return defaultGridSnapper.polyFullyInside(piecePolys, silhouettePolys, step);\n}\n\nexport function workspaceNodes(layout: CircleLayout, sector: SectorGeom): Vec[] {\n return defaultGridSnapper.generateWorkspaceNodes(layout, sector);\n}\n\nexport function silhouetteNodes(layout: CircleLayout, sector: SectorGeom, fittedMask: Poly[]): Vec[] {\n return defaultGridSnapper.generateSilhouetteNodes(layout, sector, fittedMask);\n}\n\nexport function silhouetteBandNodes(layout: CircleLayout, sector: SectorGeom): Vec[] {\n return defaultGridSnapper.generateSilhouetteBandNodes(layout, sector);\n}\n\nexport { innerRingNodes } from \"../geometry\";","import React from \"react\";\nimport { BaseGameController } from \"@/core/engine/state/BaseGameController\";\nimport type { CircleLayout } from \"@/core/domain/layout\";\nimport { rectForBand } from \"@/core/domain/layout\";\nimport { placeSilhouetteGridAlignedAsPolys } from \"@/core/engine/geometry\";\nimport {\n workspaceNodes,\n silhouetteNodes,\n silhouetteBandNodes,\n innerRingNodes\n} from \"@/core/engine/collision/grid-snapping\";\n\n/**\n * Anchor dots data for a single sector\n * \n * Represents the valid and invalid snap points for piece placement within\n * a sector. Valid dots allow piece placement, invalid dots show grid structure\n * but don't allow snapping.\n */\nexport interface AnchorDots {\n /** Sector ID these anchor dots belong to */\n sectorId: string;\n \n /** Array of valid snap points where pieces can be placed */\n valid: { x: number; y: number }[];\n \n /** Array of invalid snap points (visual grid, no placement allowed) */\n invalid: { x: number; y: number }[];\n}\n\n/**\n * Return interface for useAnchorGrid hook\n * \n * Provides computed anchor grid data for all active sectors in the layout.\n * Used by rendering components to draw snap points and by interaction hooks\n * for piece placement validation.\n */\nexport interface AnchorGridHook {\n /** Array of anchor dot data for all sectors (excludes completed sectors) */\n anchorDots: AnchorDots[];\n}\n\n/**\n * Hook for computing anchor grid data for all sectors\n * \n * This hook computes the snap points (anchor dots) for piece placement validation\n * across all active sectors. It handles both workspace and silhouette target modes,\n * computing appropriate valid and invalid snap points for each.\n * \n * ## Key Features\n * - **Workspace mode**: All grid nodes within sector bounds are valid\n * - **Silhouette mode**: Only nodes within silhouette mask are valid\n * - **Completion hiding**: Completed sectors don't show anchor dots\n * - **Scale-aware**: Handles silhouette scaling for proper grid alignment\n * \n * ## Target Mode Behavior\n * - **Workspace**: `valid` contains all workspace nodes, `invalid` is empty\n * - **Silhouette**: `valid` contains nodes inside silhouette, `invalid` contains band nodes outside\n * \n * @param controller - BaseGameController instance for accessing game state\n * @param layout - Computed CircleLayout containing sector geometry\n * @param scaleS - Scaling factor for silhouette placement (from solveLogicalBox)\n * @returns Hook interface with anchor dots for all active sectors\n * \n * @example\n * ```typescript\n * const { anchorDots } = useAnchorGrid(controller, layout, scaleS);\n * const sectorAnchors = anchorDots.find(a => a.sectorId === \"sector_1\");\n * const snapPoints = sectorAnchors?.valid ?? [];\n * ```\n */\nexport function useAnchorGrid(\n controller: BaseGameController,\n layout: CircleLayout,\n scaleS: number\n): AnchorGridHook {\n const cfg = controller.state.cfg;\n\n const anchorDots: AnchorDots[] = React.useMemo(() => {\n const out: AnchorDots[] = [];\n\n // Add inner ring anchors (always valid, shown throughout)\n out.push({ sectorId: \"inner-ring\", valid: innerRingNodes(layout), invalid: [] });\n\n for (const s of layout.sectors) {\n // Show anchors for ALL sectors, including completed ones\n if (cfg.target === \"workspace\") {\n out.push({ sectorId: s.id, valid: workspaceNodes(layout, s), invalid: [] });\n } else {\n const mask = controller.state.cfg.sectors.find(ss => ss.id === s.id)?.silhouette.mask ?? [];\n if (!mask || mask.length === 0) continue;\n const rect = rectForBand(layout, s, \"silhouette\", 1.0); // center only; size was handled in global scale\n const placedPolys = placeSilhouetteGridAlignedAsPolys(mask, scaleS, { cx: rect.cx, cy: rect.cy });\n const bandAll = silhouetteBandNodes(layout, s);\n const valid = silhouetteNodes(layout, s, placedPolys);\n // invalid = bandAll \\ valid (by coordinate)\n const key = (p: { x: number; y: number }) => `${p.x},${p.y}`;\n const validSet = new Set(valid.map(key));\n const invalid = bandAll.filter(p => !validSet.has(key(p)));\n out.push({ sectorId: s.id, valid, invalid });\n }\n }\n return out;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cfg.target, controller.state.sectors, layout, scaleS]);\n\n return {\n anchorDots\n };\n}","/**\n * Face-to-Face Attachment Validation for Prep Mode\n * \n * Validates that pieces in prep mode attach to existing pieces by sharing\n * at least 1 anchor unit of edge contact. Uses discrete unit segments\n * for precise edge detection.\n */\n\nimport type { Piece, Vec, Blueprint } from \"../../domain/types\";\nimport { CONFIG } from \"../../config/config\";\nimport { boundsOfBlueprint } from \"../geometry\";\n\nexport interface EdgeAttachmentResult {\n isAttached: boolean;\n attachedPieceIds: string[];\n sharedEdgeLength: number; // In anchor units\n}\n\nexport interface UnitSegment {\n a: Vec;\n b: Vec;\n}\n\n/**\n * Convert a polygon edge into unit-length segments\n * Each segment represents a discrete coordinate unit along the edge\n */\nfunction edgeToUnitSegments(start: Vec, end: Vec, gridSize: number): UnitSegment[] {\n const segments: UnitSegment[] = [];\n \n // Convert to grid coordinates\n const startGrid = {\n x: Math.round(start.x / gridSize),\n y: Math.round(start.y / gridSize)\n };\n const endGrid = {\n x: Math.round(end.x / gridSize),\n y: Math.round(end.y / gridSize)\n };\n \n const dx = endGrid.x - startGrid.x;\n const dy = endGrid.y - startGrid.y;\n \n if (dx === 0 && dy === 0) return []; // Zero-length edge\n \n const steps = Math.max(Math.abs(dx), Math.abs(dy));\n const stepX = dx / steps;\n const stepY = dy / steps;\n \n for (let i = 0; i < steps; i++) {\n const aX = Math.round(startGrid.x + i * stepX);\n const aY = Math.round(startGrid.y + i * stepY);\n const bX = Math.round(startGrid.x + (i + 1) * stepX);\n const bY = Math.round(startGrid.y + (i + 1) * stepY);\n segments.push({ \n a: { x: aX, y: aY }, \n b: { x: bX, y: bY } \n });\n }\n \n return segments;\n}\n\n\n\n/**\n * Get all unit segments for a piece (all edges broken down into unit-length segments)\n * Uses the same coordinate system as piecePolysAt for consistency with visual rendering\n */\nfunction getPieceUnitSegments(\n piece: Piece, \n getBlueprint: (id: string) => Blueprint | undefined,\n getPrimitive: (kind: string) => any,\n gridSize: number\n): UnitSegment[] {\n const blueprint = getBlueprint(piece.blueprintId);\n if (!blueprint?.shape) return [];\n \n // Calculate offset using same logic as piecePolysAt\n const bb = boundsOfBlueprint(blueprint, getPrimitive);\n const ox = piece.pos.x - bb.min.x;\n const oy = piece.pos.y - bb.min.y;\n \n const allSegments: UnitSegment[] = [];\n \n // Translate polygons and convert edges to unit segments\n for (const poly of blueprint.shape) {\n const translatedPoly = poly.map((vertex: Vec) => ({\n x: vertex.x + ox,\n y: vertex.y + oy\n }));\n \n for (let i = 0; i < translatedPoly.length; i++) {\n const current = translatedPoly[i];\n const next = translatedPoly[(i + 1) % translatedPoly.length];\n \n if (!current || !next) continue;\n \n allSegments.push(...edgeToUnitSegments(current, next, gridSize));\n }\n }\n \n return allSegments;\n}\n\n/**\n * Main face-to-face attachment validation function\n */\nexport function checkFaceToFaceAttachment(\n piece: Piece,\n existingPieces: Piece[],\n getBlueprint: (id: string) => Blueprint | undefined,\n getPrimitive: (kind: string) => any\n): EdgeAttachmentResult {\n if (existingPieces.length === 0) {\n return { isAttached: true, attachedPieceIds: [], sharedEdgeLength: 0 };\n }\n \n const gridSize = CONFIG.layout.grid.stepPx;\n const newPieceSegments = getPieceUnitSegments(piece, getBlueprint, getPrimitive, gridSize);\n \n if (newPieceSegments.length === 0) {\n return { isAttached: false, attachedPieceIds: [], sharedEdgeLength: 0 };\n }\n \n let totalSharedLength = 0;\n const attachedPieceIds: string[] = [];\n \n // Check against each existing piece\n for (const existingPiece of existingPieces) {\n const existingSegments = getPieceUnitSegments(existingPiece, getBlueprint, getPrimitive, gridSize);\n \n // Find shared segments (undirected edge matching)\n const sharedSegments = newPieceSegments.filter(newSeg => \n existingSegments.some(existingSeg => \n // Check if segments share the same endpoints (identical or reversed)\n (newSeg.a.x === existingSeg.a.x && newSeg.a.y === existingSeg.a.y &&\n newSeg.b.x === existingSeg.b.x && newSeg.b.y === existingSeg.b.y) ||\n (newSeg.a.x === existingSeg.b.x && newSeg.a.y === existingSeg.b.y &&\n newSeg.b.x === existingSeg.a.x && newSeg.b.y === existingSeg.a.y)\n )\n );\n \n if (sharedSegments.length > 0) {\n totalSharedLength += sharedSegments.length;\n attachedPieceIds.push(existingPiece.id);\n }\n }\n \n return {\n isAttached: totalSharedLength >= 1,\n attachedPieceIds,\n sharedEdgeLength: totalSharedLength\n };\n}\n\n/**\n * Check if removing a piece would disconnect the remaining pieces in a sector\n * Uses graph connectivity to ensure all remaining pieces stay connected\n */\nexport function wouldRemovalDisconnectSector(\n pieceToRemove: Piece,\n allPiecesInSector: Piece[],\n getBlueprint: (id: string) => Blueprint | undefined,\n getPrimitive: (kind: string) => any\n): boolean {\n // If there are 0 or 1 pieces remaining, no disconnection possible\n if (allPiecesInSector.length <= 2) return false;\n \n const remainingPieces = allPiecesInSector.filter(p => p.id !== pieceToRemove.id);\n if (remainingPieces.length <= 1) return false;\n \n // Build adjacency graph of remaining pieces\n const adjacencyMap = new Map<string, string[]>();\n \n // Initialize adjacency map\n for (const piece of remainingPieces) {\n adjacencyMap.set(piece.id, []);\n }\n \n // Check all pairs of remaining pieces for connectivity\n for (let i = 0; i < remainingPieces.length; i++) {\n for (let j = i + 1; j < remainingPieces.length; j++) {\n const piece1 = remainingPieces[i];\n const piece2 = remainingPieces[j];\n \n if (!piece1 || !piece2) continue;\n \n const result = checkFaceToFaceAttachment(piece1, [piece2], getBlueprint, getPrimitive);\n if (result.isAttached) {\n adjacencyMap.get(piece1.id)!.push(piece2.id);\n adjacencyMap.get(piece2.id)!.push(piece1.id);\n }\n }\n }\n \n // Check if graph is connected using DFS\n const visited = new Set<string>();\n const startPiece = remainingPieces[0];\n \n if (!startPiece) return false;\n \n function dfs(pieceId: string) {\n if (visited.has(pieceId)) return;\n visited.add(pieceId);\n \n const neighbors = adjacencyMap.get(pieceId) || [];\n for (const neighborId of neighbors) {\n dfs(neighborId);\n }\n }\n \n dfs(startPiece.id);\n \n // If we visited all pieces, the graph is connected\n return visited.size !== remainingPieces.length;\n}","import React from \"react\";\nimport { BaseGameController } from \"@/core/engine/state/BaseGameController\";\nimport type { CircleLayout } from \"@/core/domain/layout\";\nimport type { Blueprint } from \"@/core/domain/types\";\nimport { sectorAtPoint } from \"@/core/domain/layout\";\nimport { \n boundsOfBlueprint, \n computeSupportOffsets, \n clampTopLeftBySupport, \n polysOverlap, \n piecePolysAt \n} from \"@/core/engine/geometry\";\nimport { nearestNodeSnap, polyFullyInside } from \"@/core/engine/collision/grid-snapping\";\nimport { checkFaceToFaceAttachment, wouldRemovalDisconnectSector } from \"@/core/engine/validation/face-to-face\";\nimport { blueprintLocalFromWorld } from \"./utils\";\nimport type { AnchorDots } from \"./useAnchorGrid\";\nimport type { PieceData } from \"./usePieceState\";\nimport { CONFIG } from \"@/core/config/config\";\n\ninterface DragState {\n id: string;\n dx: number;\n dy: number;\n tlx: number;\n tly: number;\n aabb: { width: number; height: number };\n minx: number;\n miny: number;\n support: { x: number; y: number }[];\n fromIcon?: boolean;\n validSnap?: boolean;\n prevValidSnap?: boolean;\n raf?: number | null;\n originalPos?: { x: number; y: number; sectorId: string | undefined } | undefined; // For prep mode: return to original position when invalid\n pointerAnchor?: { x: number; y: number } | null;\n pointerAnchorId?: string | null;\n pointerAnchorSectorId?: string | undefined;\n snapAnchor?: { x: number; y: number } | null;\n snapAnchorId?: string | null;\n snapAnchorSectorId?: string | undefined;\n snapAnchorDist?: number | null;\n overlaps?: boolean;\n maxExceeded?: boolean;\n}\n\n/**\n * Return interface for useDragController hook\n * \n * Provides complete drag interaction functionality for both click and drag input modes.\n * Handles piece spawning, dragging, collision detection, snapping, and placement validation.\n */\nexport interface DragControllerHook {\n // State\n /** ID of currently dragging piece (null if none) */\n draggingId: string | null;\n \n /** True if current drag position is invalid (for visual feedback) */\n dragInvalid: boolean;\n \n /** ID of piece that is locked due to connectivity constraints (for visual feedback) */\n lockedPieceId: string | null;\n \n /** Ref to SVG element for coordinate transformation and pointer capture */\n svgRef: React.RefObject<SVGSVGElement>;\n \n // Handlers\n /** \n * Handler for piece pointer down events (both click and drag modes)\n * @param e - Pointer event from SVG path or group element\n * @param p - Piece data including position and blueprint information\n */\n onPiecePointerDown: (\n e: React.PointerEvent<SVGPathElement | SVGGElement>,\n p: { id: string; x: number; y: number; blueprintId: string; sectorId?: string }\n ) => void;\n \n /** \n * Handler for blueprint icon pointer down events (spawning new pieces)\n * @param e - Pointer event from blueprint icon\n * @param bp - Blueprint definition for the new piece\n * @param bpGeom - Geometry information for the blueprint icon\n */\n onBlueprintPointerDown: (\n e: React.PointerEvent,\n bp: Blueprint,\n bpGeom: { bx: number; by: number; cx: number; cy: number }\n ) => void;\n \n /** \n * Handler for pointer move events during drag operations\n * @param e - Pointer event from SVG root element\n */\n onPointerMove: (e: React.PointerEvent<SVGSVGElement>) => void;\n \n /** Handler for pointer up events (completing drag operations) */\n onPointerUp: () => void;\n \n /** \n * Factory function for piece element refs (for direct DOM manipulation)\n * @param id - Piece ID\n * @returns Ref callback for SVG group element\n */\n setPieceRef: (id: string) => (el: SVGGElement | null) => void;\n \n // Click controller integration\n /** \n * Setter for dragging ID (used by click controller for carry state)\n * @param id - Piece ID or null to clear\n */\n setDraggingId: (id: string | null) => void;\n \n // TODO: Remove this once click mode is extracted - temporary for compatibility\n /** Internal drag state ref (temporary for click controller integration) */\n dragRef: React.RefObject<DragState | null>;\n}\n\n/**\n * Hook for managing drag interactions with RAF optimization and collision detection\n * \n * This is the most complex hook in the system, handling all aspects of piece interaction\n * for both click and drag input modes. It manages piece spawning, dragging, collision\n * detection, grid snapping, placement validation, and visual feedback.\n * \n * ## Key Features\n * - **Dual input mode support**: Handles both click and drag interaction patterns\n * - **RAF-optimized rendering**: Uses requestAnimationFrame for smooth drag performance\n * - **Collision detection**: Real-time overlap checking with existing pieces\n * - **Grid snapping**: Automatic snapping to anchor points with validation\n * - **Placement validation**: Comprehensive validation for workspace/silhouette modes\n * - **Visual feedback**: Real-time visual indicators for valid/invalid placement\n * \n * ## Input Mode Behavior\n * - **Click mode**: First click starts \"carry\" state, second click places/cancels\n * - **Drag mode**: Traditional drag-and-drop with immediate visual feedback\n * \n * ## Validation Rules\n * - **Workspace mode**: Pieces must not overlap, any grid position valid\n * - **Silhouette mode**: Pieces must be within silhouette mask, on valid anchors, no overlap\n * - **Completed sectors**: No placement allowed, pieces deleted if dropped\n * \n * @param controller - BaseGameController for state management\n * @param layout - Computed CircleLayout for sector geometry\n * @param pieces - Current piece data from usePieceState\n * @param pieceById - Lookup function for piece data\n * @param anchorDots - Anchor grid data from useAnchorGrid\n * @param placedSilBySector - Silhouette polygons for containment checking\n * @param isSectorLocked - Function to check if sector is completed\n * @param maybeCompleteSector - Callback to check sector completion after placement\n * @param force - Force React re-render function\n * @param clickController - Optional click controller integration\n * @returns Hook interface with drag state and event handlers\n * \n * @example\n * ```typescript\n * const dragController = useDragController(\n * controller, layout, pieces, pieceById, anchorDots,\n * placedSilBySector, isSectorLocked, maybeCompleteSector, force\n * );\n * \n * // Usage in JSX:\n * <svg ref={dragController.svgRef} onPointerMove={dragController.onPointerMove}>\n * <g onPointerDown={(e) => dragController.onPiecePointerDown(e, piece)}>\n * <path /> \n * </g>\n * </svg>\n * ```\n */\nexport function useDragController(\n controller: BaseGameController,\n layout: CircleLayout,\n pieces: PieceData[],\n pieceById: (id: string | null) => PieceData | null,\n anchorDots: AnchorDots[],\n placedSilBySector: Map<string, any[]>,\n isSectorLocked: (id: string) => boolean,\n maybeCompleteSector: (secId: string) => boolean,\n force: () => void,\n // Click controller integration\n clickController?: {\n setSelectedPiece: (id: string | null) => void;\n setPendingBp: (id: string | null) => void;\n },\n // Interaction tracking\n tracker?: {\n recordPickup: (\n pieceId: string,\n blueprintId: string,\n blueprintType: 'primitive' | 'composite',\n source: 'blueprint' | 'sector',\n position: { x: number; y: number },\n vertices: number[][][],\n sectorId?: string\n ) => void;\n recordPlacedown: (\n outcome: 'placed' | 'deleted',\n sectorId?: string,\n position?: { x: number; y: number },\n vertices?: number[][][],\n anchorId?: string,\n wasValid?: boolean,\n wasOverlapping?: boolean,\n completedSector?: boolean\n ) => void;\n recordMouseMove?: (anchorX: number, anchorY: number, sectorId?: string) => void;\n recordClickEvent?: (\n location: { x: number; y: number },\n clickType: 'blueprint_view_switch' | 'invalid_placement' | 'sector_complete_attempt',\n metadata?: any\n ) => void;\n } | null\n): DragControllerHook {\n const cfg = controller.state.cfg;\n const clickMode = cfg.input === \"click\";\n \n // Core drag state\n const svgRef = React.useRef<SVGSVGElement | null>(null);\n const dragRef = React.useRef<DragState | null>(null);\n const [draggingId, setDraggingId] = React.useState<string | null>(null);\n const elMap = React.useRef(new Map<string, SVGGElement>());\n \n // Visual feedback for connectivity-locked pieces\n const [lockedPieceId, setLockedPieceId] = React.useState<string | null>(null);\n \n // Ensure dragRef is cleared when draggingId becomes null (for click controller integration)\n React.useEffect(() => {\n if (draggingId === null) {\n dragRef.current = null;\n }\n }, [draggingId]);\n\n const setPieceRef = (id: string) => (el: SVGGElement | null) => {\n const m = elMap.current;\n if (el) m.set(id, el); else m.delete(id);\n };\n\n const svgPoint = (clientX: number, clientY: number) => {\n const svg = svgRef.current!;\n const pt = svg.createSVGPoint();\n pt.x = clientX; pt.y = clientY;\n const ctm = svg.getScreenCTM();\n if (!ctm) return { x: 0, y: 0 };\n const sp = pt.matrixTransform(ctm.inverse());\n return { x: sp.x, y: sp.y };\n };\n\n const scheduleFrame = () => {\n if (!dragRef.current) return;\n const d = dragRef.current;\n if (d.raf != null) return;\n d.raf = requestAnimationFrame(() => {\n d.raf = null;\n const g = elMap.current.get(d.id);\n if (g) g.setAttribute(\"transform\", `translate(${d.tlx - d.minx}, ${d.tly - d.miny})`);\n });\n };\n\n const sectorIdAt = (x: number, y: number) => sectorAtPoint(x, y, layout, cfg.target);\n const GRID_STEP = CONFIG.layout.grid.stepPx;\n\n const anchorIdFromNode = (node: { x: number; y: number } | null | undefined): string | null => {\n if (!node) return null;\n const ax = Math.round(node.x / GRID_STEP);\n const ay = Math.round(node.y / GRID_STEP);\n return `${ax},${ay}`;\n };\n\n const anchorNodeFromPoint = (point: { x: number; y: number }) => ({\n x: Math.round(point.x / GRID_STEP) * GRID_STEP,\n y: Math.round(point.y / GRID_STEP) * GRID_STEP\n });\n\n const updatePointerAnchor = (point: { x: number; y: number }, sectorId: string | undefined) => {\n if (!dragRef.current) return;\n const d = dragRef.current;\n const anchorNode = anchorNodeFromPoint(point);\n const anchorId = anchorIdFromNode(anchorNode);\n\n if (tracker?.recordMouseMove && (anchorId !== d.pointerAnchorId || sectorId !== d.pointerAnchorSectorId)) {\n tracker.recordMouseMove(anchorNode.x, anchorNode.y, sectorId);\n }\n\n d.pointerAnchor = anchorNode;\n d.pointerAnchorId = anchorId;\n d.pointerAnchorSectorId = sectorId;\n };\n\n const updateSnapAnchor = (\n node: { x: number; y: number } | null,\n sectorId: string | undefined,\n dist?: number\n ) => {\n if (!dragRef.current) return;\n const d = dragRef.current;\n d.snapAnchor = node;\n d.snapAnchorId = anchorIdFromNode(node);\n d.snapAnchorSectorId = sectorId;\n d.snapAnchorDist = node && dist !== undefined ? dist : null;\n };\n\n const emitClickEvent = (\n location: { x: number; y: number },\n clickType: 'blueprint_view_switch' | 'invalid_placement' | 'sector_complete_attempt',\n metadata?: any\n ) => {\n if (!tracker?.recordClickEvent) return;\n tracker.recordClickEvent(location, clickType, metadata);\n };\n\n // Helper: Compute piece vertices in world space\n const getPieceVertices = (pieceId: string): number[][][] => {\n const piece = controller.findPiece(pieceId);\n if (!piece) return [];\n const bp = controller.getBlueprint(piece.blueprintId);\n if (!bp) return [];\n const bb = boundsOfBlueprint(bp, controller.getPrimitive);\n const polys = piecePolysAt(bp, bb, piece.pos);\n // Convert from {x,y}[][] to number[][][]\n return polys.map(ring => ring.map(pt => [pt.x, pt.y]));\n };\n\n const onPiecePointerDown = (\n e: React.PointerEvent<SVGPathElement | SVGGElement>,\n p: { id: string; x: number; y: number; blueprintId: string; sectorId?: string }\n ) => {\n if (p.sectorId && isSectorLocked(p.sectorId)) return;\n if (clickMode && draggingId) return; // ignore if already carrying\n\n // Check connectivity in prep mode - prevent removal if it would disconnect remaining pieces\n if (cfg.mode === \"prep\" && p.sectorId) {\n const allPiecesInSector = controller.getPiecesInSector(p.sectorId);\n const pieceToRemove = controller.findPiece(p.id);\n \n if (pieceToRemove && wouldRemovalDisconnectSector(\n pieceToRemove,\n allPiecesInSector,\n (id) => controller.getBlueprint(id),\n (kind) => controller.getPrimitive(kind)\n )) {\n // Flash red briefly to indicate piece cannot be removed\n setLockedPieceId(p.id);\n setTimeout(() => setLockedPieceId(null), 500);\n return; // Prevent pickup\n }\n }\n\n if (clickMode) {\n // Start a \"carry\" in click mode: make the piece follow the cursor\n e.stopPropagation();\n clickController?.setSelectedPiece(p.id);\n clickController?.setPendingBp(null);\n\n const bp = controller.getBlueprint(p.blueprintId)!;\n const bb = boundsOfBlueprint(bp, (k) => controller.getPrimitive(k));\n const support = computeSupportOffsets(bp, bb);\n const { x, y } = svgPoint(e.clientX, e.clientY);\n\n const pointerAnchorNode = anchorNodeFromPoint({ x, y });\n const pointerSector = p.sectorId;\n if (tracker?.recordMouseMove) {\n tracker.recordMouseMove(pointerAnchorNode.x, pointerAnchorNode.y, pointerSector);\n }\n\n // Record pickup event\n if (tracker) {\n const blueprintType = ('kind' in bp) ? 'primitive' : 'composite';\n tracker.recordPickup(\n p.id,\n p.blueprintId,\n blueprintType,\n 'sector',\n { x: p.x, y: p.y },\n getPieceVertices(p.id),\n p.sectorId\n );\n }\n\n dragRef.current = {\n id: p.id,\n dx: x - p.x, dy: y - p.y,\n tlx: p.x, tly: p.y,\n aabb: { width: bb.width, height: bb.height },\n minx: bb.min.x, miny: bb.min.y,\n support,\n fromIcon: false,\n validSnap: true,\n prevValidSnap: true,\n raf: null,\n originalPos: { x: p.x, y: p.y, sectorId: p.sectorId },\n pointerAnchor: pointerAnchorNode,\n pointerAnchorId: anchorIdFromNode(pointerAnchorNode),\n pointerAnchorSectorId: pointerSector,\n snapAnchor: null,\n snapAnchorId: null,\n snapAnchorSectorId: undefined,\n snapAnchorDist: null,\n overlaps: false,\n maxExceeded: false,\n };\n updateSnapAnchor(null, p.sectorId);\n setDraggingId(p.id);\n force();\n return;\n }\n\n // DRAG path\n svgRef.current?.setPointerCapture(e.pointerId);\n const bp = controller.getBlueprint(p.blueprintId)!;\n const bb = boundsOfBlueprint(bp, (k) => controller.getPrimitive(k));\n const support = computeSupportOffsets(bp, bb);\n const { x, y } = svgPoint(e.clientX, e.clientY);\n\n const pointerAnchorNode = anchorNodeFromPoint({ x, y });\n const pointerSector = p.sectorId;\n if (tracker?.recordMouseMove) {\n tracker.recordMouseMove(pointerAnchorNode.x, pointerAnchorNode.y, pointerSector);\n }\n\n // Record pickup event\n if (tracker) {\n const blueprintType = ('kind' in bp) ? 'primitive' : 'composite';\n tracker.recordPickup(\n p.id,\n p.blueprintId,\n blueprintType,\n 'sector',\n { x: p.x, y: p.y },\n getPieceVertices(p.id),\n p.sectorId\n );\n }\n\n dragRef.current = {\n id: p.id,\n dx: x - p.x, dy: y - p.y,\n tlx: p.x, tly: p.y,\n aabb: { width: bb.width, height: bb.height },\n minx: bb.min.x, miny: bb.min.y,\n support,\n fromIcon: false,\n validSnap: true,\n prevValidSnap: true,\n raf: null,\n originalPos: { x: p.x, y: p.y, sectorId: p.sectorId },\n pointerAnchor: pointerAnchorNode,\n pointerAnchorId: anchorIdFromNode(pointerAnchorNode),\n pointerAnchorSectorId: pointerSector,\n snapAnchor: null,\n snapAnchorId: null,\n snapAnchorSectorId: undefined,\n snapAnchorDist: null,\n overlaps: false,\n maxExceeded: false,\n };\n updateSnapAnchor(null, p.sectorId);\n setDraggingId(p.id);\n force();\n };\n\n const onPointerMove = (e: React.PointerEvent<SVGSVGElement>) => {\n const { x, y } = svgPoint(e.clientX, e.clientY);\n\n // Always log pointer movement for mouse tracking, even before pickup\n const pointerAnchorNode = anchorNodeFromPoint({ x, y });\n const pointerR = Math.hypot(x - layout.cx, y - layout.cy);\n const pointerSectorId = pointerR < layout.innerR ? undefined : sectorIdAt(x, y) ?? undefined;\n if (!dragRef.current) {\n if (tracker?.recordMouseMove) {\n tracker.recordMouseMove(pointerAnchorNode.x, pointerAnchorNode.y, pointerSectorId);\n }\n return;\n }\n\n const d = dragRef.current;\n const tlx = x - d.dx, tly = y - d.dy;\n\n updatePointerAnchor({ x, y }, pointerSectorId);\n\n const clamped = clampTopLeftBySupport(\n tlx, tly,\n { aabb: d.aabb, support: d.support },\n layout,\n controller.state.cfg.target,\n pointerR < layout.innerR\n );\n\n let tl = clamped;\n // Snap the *piece itself* to nearest nodes in the active sector (or inner ring),\n // and compute validity (silhouette: within snapRadius; workspace: always valid).\n const centerX = tl.x + d.aabb.width / 2;\n const centerY = tl.y + d.aabb.height / 2;\n const rFromCenter = Math.hypot(centerX - layout.cx, centerY - layout.cy);\n const inInnerRing = rFromCenter < layout.innerR;\n const secId = inInnerRing ? null : sectorIdAt(centerX, centerY);\n let snapNode: { x: number; y: number } | null = null;\n let snapDist: number | null = null;\n let snapSectorId: string | undefined = secId ?? undefined;\n let overlapsDetected = false;\n let maxExceededDetected = false;\n\n // Check for inner ring snapping first\n if (inInnerRing) {\n const innerEntry = anchorDots.find(a => a.sectorId === \"inner-ring\");\n if (innerEntry && innerEntry.valid.length) {\n const piece = pieceById(d.id);\n if (piece) {\n const bp = controller.getBlueprint(piece.blueprintId)!;\n const snap = nearestNodeSnap(tl, bp, controller.getPrimitive, innerEntry.valid);\n tl = snap.tl;\n snapNode = snap.node;\n snapDist = snap.dist;\n snapSectorId = undefined;\n }\n }\n // Inner ring shows RED (invalid) to indicate piece will be deleted\n d.validSnap = false;\n } else if (secId) {\n const isCompletedSector = isSectorLocked(secId);\n const entry = anchorDots.find(a => a.sectorId === secId);\n const allNodes =\n (cfg.target === \"workspace\" && cfg.mode !== \"prep\")\n ? (entry?.valid ?? []) // Construction workspace: only valid nodes\n : [ ...(entry?.valid ?? []), ...(entry?.invalid ?? []) ]; // Silhouette + Prep: all nodes\n\n // Snap to anchors even in completed sectors\n if (allNodes.length) {\n const piece = pieceById(d.id);\n if (piece) {\n const bp = controller.getBlueprint(piece.blueprintId)!;\n const snap = nearestNodeSnap(\n tl,\n bp,\n controller.getPrimitive,\n allNodes\n );\n tl = snap.tl;\n snapNode = snap.node;\n snapDist = snap.dist;\n snapSectorId = secId;\n\n // Completed sectors: always show red (invalid)\n if (isCompletedSector) {\n d.validSnap = false;\n } else {\n // Normal validation for incomplete sectors\n const radius = controller.state.cfg.snapRadiusPx;\n // Gather world polys for the carried piece at the *snapped* TL\n const carried = pieceById(d.id);\n let overlapsOk = true;\n if (carried) {\n const bpCar = controller.getBlueprint(carried.blueprintId)!;\n const bbCar = boundsOfBlueprint(\n bpCar,\n controller.getPrimitive\n );\n const carriedPolys = piecePolysAt(bpCar, bbCar, tl);\n\n // only compare against pieces in the same sector we're currently over\n const sameSector = pieces.filter(\n pp =>\n pp.id !== d.id &&\n sectorIdAt(\n pp.x +\n boundsOfBlueprint(\n controller.getBlueprint(pp.blueprintId)!,\n controller.getPrimitive\n ).width / 2,\n pp.y +\n boundsOfBlueprint(\n controller.getBlueprint(pp.blueprintId)!,\n controller.getPrimitive\n ).height / 2,\n ) === secId\n );\n\n for (const other of sameSector) {\n const bpO = controller.getBlueprint(other.blueprintId)!;\n const bbO = boundsOfBlueprint(\n bpO,\n controller.getPrimitive\n );\n const otherPolys = piecePolysAt(bpO, bbO, { x: other.x, y: other.y });\n if (polysOverlap(carriedPolys, otherPolys)) {\n overlapsOk = false;\n break;\n }\n }\n\n // workspace: validity depends on mode\n if (cfg.target === \"workspace\") {\n if (cfg.mode === \"prep\") {\n // Prep mode: ALWAYS allow movement (just show visual feedback)\n // Face-to-face validation only affects visual feedback, not movement\n const allPiecesInSector = controller.getPiecesInSector(secId);\n const otherPiecesInSector = allPiecesInSector.filter(piece => piece.id !== d.id);\n const isFirstPiece = otherPiecesInSector.length === 0;\n const storedPiece = controller.findPiece(d.id);\n const currentSectorId = storedPiece?.sectorId;\n const maxPieces = controller.state.cfg.maxCompositeSize ?? 0;\n const enforceMaxPieces = maxPieces > 0;\n const effectiveCount = allPiecesInSector.length - (currentSectorId === secId ? 1 : 0);\n const wouldExceedMax = enforceMaxPieces && (effectiveCount + 1 > maxPieces);\n\n if (isFirstPiece) {\n // First piece: visual feedback based on overlaps and max-piece limit\n d.validSnap = overlapsOk && !wouldExceedMax;\n maxExceededDetected = wouldExceedMax;\n } else if (storedPiece) {\n // Subsequent pieces: visual feedback based on face-to-face attachment\n const pieceAtDragPosition = {\n ...storedPiece,\n pos: { x: tl.x, y: tl.y }\n };\n\n const attachmentResult = checkFaceToFaceAttachment(\n pieceAtDragPosition,\n otherPiecesInSector,\n (id) => controller.getBlueprint(id),\n (kind) => controller.getPrimitive(kind)\n );\n\n d.validSnap = overlapsOk && attachmentResult.isAttached && !wouldExceedMax;\n maxExceededDetected = wouldExceedMax;\n } else {\n d.validSnap = overlapsOk && !wouldExceedMax;\n maxExceededDetected = wouldExceedMax;\n }\n\n // IMPORTANT: In prep mode, always allow movement regardless of validSnap\n // validSnap is only for visual feedback (red/blue coloring)\n } else {\n // Construction mode: original behavior (validSnap blocks movement)\n d.validSnap = overlapsOk;\n maxExceededDetected = false;\n }\n overlapsDetected = !overlapsOk;\n } else {\n // silhouette: node must be valid AND fully inside AND !overlap\n const key = (p: { x: number; y: number }) => `${p.x},${p.y}`;\n const validSet = new Set((entry?.valid ?? []).map(key));\n const nodeOk =\n !!snap.node && validSet.has(key(snap.node)) && snap.dist <= (radius ?? 0);\n let insideOk = false;\n if (nodeOk) {\n const silPolys = placedSilBySector.get(secId) ?? [];\n insideOk = polyFullyInside(carriedPolys, silPolys);\n }\n d.validSnap = nodeOk && insideOk && overlapsOk;\n overlapsDetected = !overlapsOk;\n }\n }\n }\n }\n }\n } else { \n // not over any sector band\n d.validSnap = (controller.state.cfg.target === \"workspace\");\n snapNode = null;\n snapDist = null;\n snapSectorId = undefined;\n maxExceededDetected = false;\n }\n d.overlaps = overlapsDetected;\n d.maxExceeded = maxExceededDetected;\n updateSnapAnchor(snapNode, snapSectorId, snapDist ?? undefined);\n d.tlx = tl.x; d.tly = tl.y;\n\n // If the validity state changed, force a React render so fill/stroke update immediately.\n if (d.prevValidSnap !== d.validSnap) {\n d.prevValidSnap = d.validSnap ?? false;\n force();\n }\n\n scheduleFrame();\n };\n\n const onPointerUp = () => {\n if (!dragRef.current) return;\n if (clickMode) return;\n\n const d = dragRef.current;\n // If the candidate is invalid for any reason (overlap/outside/bad node), handle based on mode\n if (d.validSnap === false) {\n const piece = controller.findPiece(d.id);\n const cfg = controller.state.cfg;\n const centerX = d.tlx + d.aabb.width / 2;\n const centerY = d.tly + d.aabb.height / 2;\n const attemptedSector = sectorIdAt(centerX, centerY);\n let invalidReason: 'overlapping' | 'outside_bounds' | 'no_valid_anchor' | 'sector_complete' = 'outside_bounds';\n if (d.maxExceeded) {\n invalidReason = 'no_valid_anchor';\n } else if (d.overlaps) {\n invalidReason = 'overlapping';\n } else if (attemptedSector) {\n invalidReason = 'no_valid_anchor';\n }\n emitClickEvent(\n { x: centerX, y: centerY },\n 'invalid_placement',\n { invalidPlacement: { reason: invalidReason, attemptedSectorId: attemptedSector ?? undefined } }\n );\n\n // In prep mode: return to original position (if exists) or delete (if from icon)\n if (cfg.mode === \"prep\" && d.originalPos) {\n // Return piece to its original position\n controller.move(d.id, { x: d.originalPos.x, y: d.originalPos.y });\n\n // Record placedown as \"placed\" back in original position\n if (tracker) {\n tracker.recordPlacedown(\n 'placed',\n d.originalPos.sectorId,\n { x: d.originalPos.x, y: d.originalPos.y },\n getPieceVertices(d.id),\n d.snapAnchorId ?? undefined,\n false,\n d.overlaps ?? false\n );\n }\n } else {\n // Construction mode or fromIcon in prep mode: delete piece\n const removedFromSector = piece?.sectorId;\n controller.remove(d.id);\n // Re-check completion for the sector the piece was removed from\n if (removedFromSector) maybeCompleteSector(removedFromSector);\n\n // Record placedown as \"deleted\"\n if (tracker) {\n tracker.recordPlacedown(\n 'deleted',\n removedFromSector,\n undefined,\n undefined,\n d.snapAnchorId ?? undefined,\n false,\n d.overlaps ?? false\n );\n }\n }\n\n dragRef.current = null;\n setDraggingId(null);\n force();\n return;\n }\n \n dragRef.current = null;\n if (d.raf) { cancelAnimationFrame(d.raf); d.raf = null; }\n\n const commitTL = { x: d.tlx, y: d.tly };\n const centerX = commitTL.x + d.aabb.width / 2;\n const centerY = commitTL.y + d.aabb.height / 2;\n\n // delete if inside the inner hole\n const rFromCenter = Math.hypot(centerX - layout.cx, centerY - layout.cy);\n if (rFromCenter < layout.innerR) {\n const piece = controller.findPiece(d.id);\n const removedFromSector = piece?.sectorId;\n controller.remove(d.id);\n // Re-check completion for the sector the piece was removed from\n if (removedFromSector) maybeCompleteSector(removedFromSector);\n\n // Record placedown as \"deleted\"\n if (tracker) {\n tracker.recordPlacedown(\n 'deleted',\n removedFromSector,\n undefined,\n undefined,\n d.snapAnchorId ?? undefined,\n false,\n d.overlaps ?? false\n );\n }\n\n setDraggingId(null);\n force();\n return;\n }\n\n const secId = sectorIdAt(centerX, centerY);\n\n // Completed sector: no-op (do nothing, same as clicking incomplete sector in silhouette mode)\n if (secId && isSectorLocked(secId)) {\n emitClickEvent(\n { x: centerX, y: centerY },\n 'sector_complete_attempt',\n { invalidPlacement: { reason: 'sector_complete', attemptedSectorId: secId } }\n );\n // Return piece to original position if it exists, otherwise delete (from icon spawn)\n if (d.originalPos) {\n controller.move(d.id, { x: d.originalPos.x, y: d.originalPos.y });\n if (d.originalPos.sectorId) {\n controller.drop(d.id, d.originalPos.sectorId);\n }\n\n // Record placedown as \"placed\" back in original position\n if (tracker) {\n tracker.recordPlacedown(\n 'placed',\n d.originalPos.sectorId,\n { x: d.originalPos.x, y: d.originalPos.y },\n getPieceVertices(d.id),\n d.snapAnchorId ?? undefined,\n false,\n d.overlaps ?? false\n );\n }\n } else {\n // Piece was spawned from icon and dropped in completed sector → delete\n controller.remove(d.id);\n\n // Record placedown as \"deleted\"\n if (tracker) {\n tracker.recordPlacedown(\n 'deleted',\n undefined,\n undefined,\n undefined,\n d.snapAnchorId ?? undefined,\n false,\n d.overlaps ?? false\n );\n }\n }\n setDraggingId(null);\n force();\n return;\n }\n\n controller.move(d.id, commitTL);\n controller.drop(d.id, secId);\n\n const justCompleted = secId ? maybeCompleteSector(secId) : false;\n\n // Record placedown as \"placed\" successfully\n const wasValid = d.validSnap === undefined ? true : d.validSnap;\n if (tracker) {\n tracker.recordPlacedown(\n 'placed',\n secId,\n commitTL,\n getPieceVertices(d.id),\n d.snapAnchorId ?? undefined,\n wasValid,\n d.overlaps ?? false,\n justCompleted\n );\n }\n\n setDraggingId(null);\n\n // auto-revert AFTER completing a drag spawn from the center\n if (d.fromIcon && controller.state.blueprintView === \"primitives\") {\n controller.switchBlueprintView();\n }\n force();\n };\n\n const onBlueprintPointerDown = (\n e: React.PointerEvent,\n bp: Blueprint,\n bpGeom: { bx: number; by: number; cx: number; cy: number }\n ) => {\n if (clickMode && draggingId) return;\n e.stopPropagation();\n\n const { x: px, y: py } = svgPoint(e.clientX, e.clientY);\n const bb = boundsOfBlueprint(bp, controller.getPrimitive);\n const support = computeSupportOffsets(bp, bb);\n\n if (clickMode) {\n // Click mode: spawn then enter carry state\n \n // Compute the local point of the blueprint glyph that was clicked\n const q = blueprintLocalFromWorld(px, py, bpGeom);\n // Compute TL so that the clicked point stays under the cursor\n const tl0 = { x: px - (q.x - bb.min.x), y: py - (q.y - bb.min.y) };\n const pointerR = Math.hypot(px - layout.cx, py - layout.cy);\n const allowInside = pointerR < layout.innerR;\n const clamped = clampTopLeftBySupport(\n tl0.x, tl0.y,\n { aabb: bb, support },\n layout,\n controller.state.cfg.target,\n allowInside\n );\n const pieceId = controller.spawnFromBlueprint(bp, clamped);\n const pointerAnchorNode = anchorNodeFromPoint({ x: px, y: py });\n const pointerSector = sectorIdAt(px, py) ?? undefined;\n if (tracker?.recordMouseMove) {\n tracker.recordMouseMove(pointerAnchorNode.x, pointerAnchorNode.y, pointerSector);\n }\n\n // Record pickup event for blueprint spawn\n if (tracker) {\n const blueprintType = ('kind' in bp) ? 'primitive' : 'composite';\n tracker.recordPickup(\n pieceId,\n bp.id,\n blueprintType,\n 'blueprint',\n clamped,\n getPieceVertices(pieceId),\n undefined\n );\n }\n\n const tl = clamped;\n // If anchors mode, immediately snap initial TL to the nearest nodes in the active sector\n let finalTl = tl;\n let snapInfo: { node: { x: number; y: number } | null; dist: number } | null = null;\n const centerX = tl.x + bb.width / 2;\n const centerY = tl.y + bb.height / 2;\n const secId = sectorIdAt(centerX, centerY);\n if (secId) {\n const entry = anchorDots.find(a => a.sectorId === secId);\n const nodes =\n controller.state.cfg.target === \"workspace\"\n ? (entry?.valid ?? [])\n : [ ...(entry?.valid ?? []), ...(entry?.invalid ?? []) ];\n if (nodes.length) {\n const snap = nearestNodeSnap(tl, bp, controller.getPrimitive, nodes);\n finalTl = snap.tl;\n snapInfo = { node: snap.node, dist: snap.dist };\n }\n }\n \n controller.move(pieceId, finalTl);\n dragRef.current = {\n id: pieceId,\n dx: px - finalTl.x,\n dy: py - finalTl.y,\n tlx: finalTl.x,\n tly: finalTl.y,\n aabb: bb,\n minx: bb.min.x,\n miny: bb.min.y,\n support,\n fromIcon: true,\n validSnap: true,\n prevValidSnap: true,\n raf: null,\n originalPos: undefined, // No original position for fromIcon drags\n pointerAnchor: pointerAnchorNode,\n pointerAnchorId: anchorIdFromNode(pointerAnchorNode),\n pointerAnchorSectorId: pointerSector,\n snapAnchor: null,\n snapAnchorId: null,\n snapAnchorSectorId: undefined,\n snapAnchorDist: null,\n overlaps: false,\n maxExceeded: false,\n };\n updatePointerAnchor({ x: px, y: py }, pointerSector);\n const snappingSecId = sectorIdAt(finalTl.x + bb.width / 2, finalTl.y + bb.height / 2) ?? undefined;\n updateSnapAnchor(snapInfo?.node ?? null, snappingSecId, snapInfo?.dist);\n setDraggingId(pieceId); // now onPointerMove will keep it in sync\n force();\n scheduleFrame();\n return;\n }\n\n // Drag mode: spawn at pointer with immediate drag\n svgRef.current?.setPointerCapture(e.pointerId);\n\n // Compute the local point of the blueprint glyph that was clicked\n const q = blueprintLocalFromWorld(px, py, bpGeom);\n // Compute TL so that the clicked point stays under the cursor\n const tl0 = { x: px - (q.x - bb.min.x), y: py - (q.y - bb.min.y) };\n const pointerR = Math.hypot(px - layout.cx, py - layout.cy);\n const allowInside = pointerR < layout.innerR;\n const clamped = clampTopLeftBySupport(\n tl0.x, tl0.y,\n { aabb: bb, support },\n layout,\n controller.state.cfg.target,\n allowInside\n );\n const pieceId = controller.spawnFromBlueprint(bp, clamped);\n const pointerAnchorNode = anchorNodeFromPoint({ x: px, y: py });\n const pointerSector = sectorIdAt(px, py) ?? undefined;\n if (tracker?.recordMouseMove) {\n tracker.recordMouseMove(pointerAnchorNode.x, pointerAnchorNode.y, pointerSector);\n }\n\n // Record pickup event for blueprint spawn\n if (tracker) {\n const blueprintType = ('kind' in bp) ? 'primitive' : 'composite';\n tracker.recordPickup(\n pieceId,\n bp.id,\n blueprintType,\n 'blueprint',\n clamped,\n getPieceVertices(pieceId),\n undefined\n );\n }\n\n dragRef.current = {\n id: pieceId,\n dx: px - clamped.x,\n dy: py - clamped.y,\n tlx: clamped.x,\n tly: clamped.y,\n aabb: bb,\n minx: bb.min.x,\n miny: bb.min.y,\n support,\n fromIcon: true,\n validSnap: true,\n prevValidSnap: true,\n raf: null,\n originalPos: undefined, // No original position for fromIcon drags\n pointerAnchor: pointerAnchorNode,\n pointerAnchorId: anchorIdFromNode(pointerAnchorNode),\n pointerAnchorSectorId: pointerSector,\n snapAnchor: null,\n snapAnchorId: null,\n snapAnchorSectorId: undefined,\n snapAnchorDist: null,\n overlaps: false,\n };\n updatePointerAnchor({ x: px, y: py }, pointerSector);\n updateSnapAnchor(null, undefined);\n setDraggingId(pieceId);\n force();\n scheduleFrame();\n };\n\n return {\n // State\n draggingId,\n dragInvalid: !!(dragRef.current && dragRef.current.validSnap === false),\n lockedPieceId,\n svgRef,\n \n // Handlers\n onPiecePointerDown,\n onBlueprintPointerDown,\n onPointerMove,\n onPointerUp,\n setPieceRef,\n \n // Click controller integration\n setDraggingId,\n\n // TODO: Remove this once click mode is extracted - temporary for compatibility\n dragRef\n };\n}\n","import React from \"react\";\nimport { BaseGameController } from \"@/core/engine/state/BaseGameController\";\nimport type { CircleLayout } from \"@/core/domain/layout\";\nimport { sectorAtPoint } from \"@/core/domain/layout\";\nimport { boundsOfBlueprint, computeSupportOffsets, clampTopLeftBySupport, piecePolysAt } from \"@/core/engine/geometry\";\nimport type { PieceData } from \"./usePieceState\";\n\n// Click controller state is managed internally with React hooks\n\n/**\n * Return interface for useClickController hook\n * \n * Provides click-based interaction functionality that works alongside\n * useDragController to support click-and-place interaction patterns.\n */\nexport interface ClickControllerHook {\n // State\n /** ID of pending blueprint for placement (from blueprint ring clicks) */\n pendingBpId: string | null;\n \n /** ID of currently selected piece (for click-to-move functionality) */\n selectedPieceId: string | null;\n \n // Handlers \n /** \n * Handler for root SVG clicks (placement, movement, deletion)\n * @param e - Pointer event from SVG root element\n */\n onRootPointerDown: (e: React.PointerEvent<SVGSVGElement>) => void;\n \n // Helper methods for drag controller integration\n /** Clear all selection state */\n clearSelection: () => void;\n \n /** \n * Set pending blueprint ID for placement\n * @param id - Blueprint ID or null to clear\n */\n setPendingBp: (id: string | null) => void;\n \n /** \n * Set selected piece ID for movement\n * @param id - Piece ID or null to clear\n */\n setSelectedPiece: (id: string | null) => void;\n}\n\n/**\n * Hook for managing click-based interactions in click input mode\n * \n * This hook works in conjunction with useDragController to provide click-and-place\n * interaction patterns. It manages the selection state for both blueprint icons and\n * live pieces, handling placement, movement, and deletion through click interactions.\n * \n * ## Click Interaction Patterns\n * - **Blueprint click**: Selects blueprint for placement (pendingBpId)\n * - **Piece click**: Starts \"carry\" state via drag controller integration\n * - **Empty click**: Places pending blueprint or moves selected piece\n * - **Center badge click**: Deletes carried/selected piece\n * - **Completed sector click**: Deletes pieces (invalid placement)\n * \n * ## State Management\n * - **pendingBpId**: Blueprint selected from ring, awaiting placement\n * - **selectedPieceId**: Live piece selected for movement\n * - **Integration with drag controller**: Uses draggingId for \"carry\" state\n * \n * ## Dependencies\n * This hook requires tight integration with useDragController as it uses the\n * drag controller's carry mechanism for piece movement in click mode.\n * \n * @param controller - BaseGameController for state management\n * @param layout - Computed CircleLayout for sector geometry\n * @param pieces - Current piece data from usePieceState\n * @param clickMode - Whether click input mode is active\n * @param draggingId - Current dragging piece ID from drag controller\n * @param setDraggingId - Setter for dragging ID (drag controller integration)\n * @param dragRef - Drag state ref from drag controller\n * @param isInsideBadge - Function to check if point is inside center badge\n * @param isSectorLocked - Function to check if sector is completed\n * @param maybeCompleteSector - Callback to check sector completion\n * @param svgPoint - Function to convert screen to SVG coordinates\n * @param force - Force React re-render function\n * @returns Hook interface with click state and handlers\n * \n * @example\n * ```typescript\n * const clickController = useClickController(\n * controller, layout, pieces, clickMode, \n * draggingId, setDraggingId, dragRef,\n * isInsideBadge, isSectorLocked, maybeCompleteSector, svgPoint, force\n * );\n * \n * // Usage in JSX:\n * <svg onPointerDown={clickController.onRootPointerDown}>\n * Game content\n * </svg>\n * ```\n */\nexport function useClickController(\n controller: BaseGameController,\n layout: CircleLayout,\n pieces: PieceData[],\n clickMode: boolean,\n draggingId: string | null,\n setDraggingId: (id: string | null) => void,\n dragRef: React.RefObject<any>,\n isInsideBadge: (x: number, y: number) => boolean,\n isSectorLocked: (id: string) => boolean,\n maybeCompleteSector: (secId: string) => boolean,\n svgPoint: (clientX: number, clientY: number) => { x: number; y: number },\n force: () => void,\n // Interaction tracking\n tracker?: {\n recordPlacedown: (\n outcome: 'placed' | 'deleted',\n sectorId?: string,\n position?: { x: number; y: number },\n vertices?: number[][][],\n anchorId?: string,\n wasValid?: boolean,\n wasOverlapping?: boolean,\n completedSector?: boolean\n ) => void;\n recordClickEvent?: (\n location: { x: number; y: number },\n clickType: 'blueprint_view_switch' | 'invalid_placement' | 'sector_complete_attempt',\n metadata?: any\n ) => void;\n } | null\n): ClickControllerHook {\n const cfg = controller.state.cfg;\n const sectorIdAt = (x: number, y: number) => sectorAtPoint(x, y, layout, cfg.target);\n\n // Helper: Compute piece vertices in world space\n const getPieceVertices = (pieceId: string): number[][][] => {\n const piece = controller.findPiece(pieceId);\n if (!piece) return [];\n const bp = controller.getBlueprint(piece.blueprintId);\n if (!bp) return [];\n const bb = boundsOfBlueprint(bp, controller.getPrimitive);\n const polys = piecePolysAt(bp, bb, piece.pos);\n // Convert from {x,y}[][] to number[][][]\n return polys.map(ring => ring.map(pt => [pt.x, pt.y]));\n };\n\n const getCurrentAnchorInfo = () => {\n const d = dragRef.current;\n return {\n anchorId: d?.snapAnchorId ?? d?.pointerAnchorId ?? undefined,\n wasValid: d?.validSnap !== false,\n wasOverlapping: d?.overlaps ?? false,\n anchorX: d?.pointerAnchor?.x,\n anchorY: d?.pointerAnchor?.y,\n sectorId: d?.snapAnchorSectorId ?? d?.pointerAnchorSectorId\n };\n };\n\n const emitClickEvent = (\n location: { x: number; y: number },\n clickType: 'blueprint_view_switch' | 'invalid_placement' | 'sector_complete_attempt',\n metadata?: any\n ) => {\n if (!tracker?.recordClickEvent) return;\n tracker.recordClickEvent(location, clickType, metadata);\n };\n\n // Click mode state\n const [pendingBpId, setPendingBpId] = React.useState<string | null>(null); // selected icon\n const [selectedPieceId, setSelectedPieceId] = React.useState<string | null>(null); // selected live piece\n\n const onRootPointerDown = (e: React.PointerEvent<SVGSVGElement>) => {\n const { x: px, y: py } = svgPoint(e.clientX, e.clientY);\n\n // --- CLICK MODE: second-click behaviors (move/delete/place)\n if (clickMode) {\n const secId = sectorIdAt(px, py);\n\n // If we're currently carrying a piece (draggingId set via click), this click commits (or deletes)\n if (draggingId && dragRef.current) {\n const d = dragRef.current;\n const centerX2 = d.tlx + d.aabb.width / 2;\n const centerY2 = d.tly + d.aabb.height / 2;\n\n // delete/cancel if clicked center (carry piece is already under pointer)\n if (isInsideBadge(px, py)) {\n const piece = controller.findPiece(d.id);\n const removedFromSector = piece?.sectorId;\n const anchorInfo = getCurrentAnchorInfo();\n controller.remove(d.id);\n // Re-check completion for the sector the piece was removed from\n if (removedFromSector) maybeCompleteSector(removedFromSector);\n\n // Record placedown as \"deleted\"\n if (tracker) {\n tracker.recordPlacedown(\n 'deleted',\n removedFromSector,\n undefined,\n undefined,\n anchorInfo.anchorId,\n anchorInfo.wasValid,\n anchorInfo.wasOverlapping\n );\n }\n\n // TODO: Remove dragRef manipulation once drag controller provides proper interface\n // dragRef.current = null; // Cannot assign to readonly property - drag controller should handle this\n setDraggingId(null);\n setSelectedPieceId(null);\n setPendingBpId(null);\n force();\n return; // don't toggle view\n }\n\n // Check if piece is in inner ring - if so, delete it\n const rFromCenter = Math.hypot(centerX2 - layout.cx, centerY2 - layout.cy);\n if (rFromCenter < layout.innerR) {\n const piece = controller.findPiece(d.id);\n const removedFromSector = piece?.sectorId;\n const anchorInfo = getCurrentAnchorInfo();\n controller.remove(d.id);\n if (removedFromSector) maybeCompleteSector(removedFromSector);\n\n // Record placedown as \"deleted\"\n if (tracker) {\n tracker.recordPlacedown(\n 'deleted',\n removedFromSector,\n undefined,\n undefined,\n anchorInfo.anchorId,\n anchorInfo.wasValid,\n anchorInfo.wasOverlapping\n );\n }\n\n setDraggingId(null);\n setSelectedPieceId(null);\n setPendingBpId(null);\n force();\n return;\n }\n\n const secId2 = sectorIdAt(centerX2, centerY2);\n\n if (!secId2) {\n emitClickEvent(\n { x: centerX2, y: centerY2 },\n 'invalid_placement',\n { invalidPlacement: { reason: 'outside_bounds' } }\n );\n force();\n return;\n }\n\n if (isSectorLocked(secId2)) {\n emitClickEvent(\n { x: centerX2, y: centerY2 },\n 'sector_complete_attempt',\n { invalidPlacement: { reason: 'sector_complete', attemptedSectorId: secId2 } }\n );\n force();\n return;\n }\n\n // If the candidate is invalid for any reason (overlap / outside / bad node), keep carrying\n if (d.validSnap === false) {\n const anchorInfo = getCurrentAnchorInfo();\n const invalidReason = anchorInfo.wasOverlapping ? 'overlapping' : 'no_valid_anchor';\n emitClickEvent(\n { x: centerX2, y: centerY2 },\n 'invalid_placement',\n { invalidPlacement: { reason: invalidReason, attemptedSectorId: secId2 } }\n );\n force();\n return;\n }\n \n controller.move(d.id, { x: d.tlx, y: d.tly }); // TL already snapped (valid)\n controller.drop(d.id, secId2);\n\n const anchorInfo = getCurrentAnchorInfo();\n const justCompleted = maybeCompleteSector(secId2);\n\n // Record placedown as \"placed\" successfully\n if (tracker) {\n tracker.recordPlacedown(\n 'placed',\n secId2,\n { x: d.tlx, y: d.tly },\n getPieceVertices(d.id),\n anchorInfo.anchorId,\n anchorInfo.wasValid,\n anchorInfo.wasOverlapping,\n justCompleted\n );\n }\n // TODO: Remove dragRef manipulation once drag controller provides proper interface\n // dragRef.current = null; // Cannot assign to readonly property - drag controller should handle this\n setDraggingId(null);\n setSelectedPieceId(null);\n setPendingBpId(null);\n // auto-revert AFTER placement completes (click mode)\n if (controller.state.blueprintView === \"primitives\") {\n controller.switchBlueprintView();\n }\n force();\n return;\n }\n\n // Selected piece → delete / move / deselect\n if (selectedPieceId) {\n if (isInsideBadge(px, py)) {\n const piece = controller.findPiece(selectedPieceId);\n const removedFromSector = piece?.sectorId;\n controller.remove(selectedPieceId);\n // Re-check completion for the sector the piece was removed from\n if (removedFromSector) maybeCompleteSector(removedFromSector);\n\n // Record placedown as \"deleted\"\n if (tracker) {\n tracker.recordPlacedown('deleted');\n }\n\n setSelectedPieceId(null);\n force();\n return; // DO NOT toggle view after delete\n }\n // Completed sector: no-op (do nothing, same as incomplete sector in silhouette mode)\n if (secId && isSectorLocked(secId)) {\n setSelectedPieceId(null);\n force();\n return;\n }\n if (secId) {\n const p = pieces.find(pp => pp.id === selectedPieceId);\n setSelectedPieceId(null);\n if (p) {\n const bp = controller.getBlueprint(p.blueprintId)!;\n const bb = boundsOfBlueprint(bp, controller.getPrimitive);\n const support = computeSupportOffsets(bp, bb);\n const tl0 = { x: px - bb.width / 2, y: py - bb.height / 2 };\n const clamped = clampTopLeftBySupport(\n tl0.x, tl0.y,\n { aabb: { width: bb.width, height: bb.height }, support },\n layout,\n controller.state.cfg.target,\n false\n );\n\n const maxPieces = controller.state.cfg.maxCompositeSize ?? 0;\n if (controller.state.cfg.mode === \"prep\" && maxPieces > 0) {\n const sectorPieces = controller.getPiecesInSector(secId);\n const effectiveCount = sectorPieces.length - (p.sectorId === secId ? 1 : 0);\n if (effectiveCount + 1 > maxPieces) {\n force();\n return;\n }\n }\n\n controller.move(p.id, { x: clamped.x, y: clamped.y });\n controller.drop(p.id, secId);\n maybeCompleteSector(secId);\n force();\n }\n return;\n }\n // click outside → deselect only\n setSelectedPieceId(null);\n force();\n return;\n }\n\n // Pending icon → place\n if (pendingBpId) {\n const secId2 = sectorIdAt(px, py);\n\n if (isInsideBadge(px, py) || !secId2 || isSectorLocked(secId2)) {\n setPendingBpId(null); // cancel\n force();\n return;\n }\n\n const bp = controller.getBlueprint(pendingBpId)!;\n const bb = boundsOfBlueprint(bp, controller.getPrimitive);\n const support = computeSupportOffsets(bp, bb);\n const tl0 = { x: px - bb.width / 2, y: py - bb.height / 2 };\n const clamped = clampTopLeftBySupport(\n tl0.x, tl0.y,\n { aabb: { width: bb.width, height: bb.height }, support },\n layout,\n controller.state.cfg.target,\n false\n );\n const id = controller.spawnFromBlueprint(bp, clamped);\n\n const maxPieces = controller.state.cfg.maxCompositeSize ?? 0;\n if (controller.state.cfg.mode === \"prep\" && maxPieces > 0) {\n const sectorPieces = controller.getPiecesInSector(secId2);\n if (sectorPieces.length + 1 > maxPieces) {\n controller.remove(id);\n setPendingBpId(null);\n force();\n return;\n }\n }\n\n controller.drop(id, secId2);\n setPendingBpId(null);\n maybeCompleteSector(secId2);\n\n // auto-revert AFTER placement completes (click mode)\n if (controller.state.blueprintView === \"primitives\") controller.switchBlueprintView();\n force();\n return;\n }\n }\n };\n\n return {\n // State\n pendingBpId,\n selectedPieceId,\n \n // Handlers\n onRootPointerDown,\n \n // Helper methods for integration\n clearSelection: () => {\n setSelectedPieceId(null);\n setPendingBpId(null);\n },\n setPendingBp: setPendingBpId,\n setSelectedPiece: setSelectedPieceId,\n };\n}\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","/**\n * InteractionTracker - Event accumulation and data tracking for experiments\n *\n * This class listens to game controller events and builds structured data\n * according to the data-tracking.ts schema. It generates InteractionEvent\n * objects and accumulates TrialEndData for export.\n *\n * ## Key Responsibilities\n * - Track interaction lifecycle (pickup → placedown)\n * - Accumulate click events and mouse tracking between interactions\n * - Generate InteractionEvent objects with state snapshots\n * - Build TrialEndData on trial completion\n * - Call onInteraction/onTrialEnd callbacks for data export\n *\n * ## Architecture\n * ```\n * User Interaction\n * ↓\n * UI Controllers (drag/click)\n * ↓\n * BaseGameController Events\n * ↓\n * InteractionTracker\n * ↓\n * onInteraction(event) → socket.emit()\n * onTrialEnd(data) → socket.emit()\n * ```\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport type { BaseGameController } from '../engine/state/BaseGameController';\nimport { boundsOfBlueprint, piecePolysAt } from '../engine/geometry';\nimport { CONFIG } from '../config/config';\nimport type {\n InteractionEvent,\n StateSnapshot,\n ConstructionTrialData,\n PrepTrialData,\n DataTrackingCallbacks,\n SectorSnapshot,\n PieceSnapshot,\n MacroSnapshot\n} from './data-tracking';\n\n/**\n * Pickup event data (temporary storage until placedown)\n */\ninterface PickupData {\n pieceId: string;\n blueprintId: string;\n blueprintType: 'primitive' | 'composite';\n timestamp: number;\n source: 'blueprint' | 'sector';\n sectorId: string | undefined;\n position: { x: number; y: number };\n vertices: number[][][];\n}\n\n/**\n * Click event data (accumulated until interaction completes)\n */\ninterface ClickEventData {\n timestamp: number;\n location: { x: number; y: number };\n clickType: 'blueprint_view_switch' | 'invalid_placement' | 'sector_complete_attempt';\n blueprintViewSwitch?: {\n from: 'quickstash' | 'primitives';\n to: 'quickstash' | 'primitives';\n };\n invalidPlacement?: {\n reason: 'overlapping' | 'outside_bounds' | 'no_valid_anchor' | 'sector_complete';\n attemptedSectorId?: string;\n };\n}\n\n/**\n * Mouse tracking event data (accumulated until interaction completes)\n */\ninterface MouseTrackingData {\n timestamp: number;\n anchorX: number;\n anchorY: number;\n sectorId: string | undefined;\n phase: 'before_pickup' | 'while_holding';\n}\n\n/**\n * InteractionTracker - Main tracking class\n */\nexport class InteractionTracker {\n // IDs\n private gameId: string;\n private trialId: string;\n\n // Callbacks\n private callbacks: DataTrackingCallbacks;\n\n // Controller reference\n private controller: BaseGameController;\n\n // Trial timing\n private trialStartTime: number;\n private readonly gridStep: number = CONFIG.layout.grid.stepPx;\n\n // Interaction state\n private interactionIndex: number = 0;\n private currentPickup: PickupData | null = null;\n private previousSnapshotId: string | undefined = undefined;\n\n // Event accumulation (reset after each interaction)\n private clickEvents: ClickEventData[] = [];\n private mouseTracking: MouseTrackingData[] = [];\n\n // Interaction history (for TrialEndData)\n private interactions: InteractionEvent[] = [];\n\n // Construction-specific tracking\n private completionTimes: Array<{ sectorId: string; completedAt: number }> = [];\n\n // Prep-specific tracking\n private createdMacros: MacroSnapshot[] = [];\n\n constructor(\n controller: BaseGameController,\n callbacks: DataTrackingCallbacks,\n trialId?: string,\n gameId?: string\n ) {\n this.controller = controller;\n this.callbacks = callbacks;\n this.trialId = trialId || uuidv4();\n this.gameId = gameId || uuidv4();\n this.trialStartTime = Date.now();\n\n // Register tracking callbacks with controller\n this.controller.setTrackingCallbacks({\n onSectorCompleted: (sectorId) => this.recordSectorCompletion(sectorId)\n });\n }\n\n /**\n * Cleanup method to unregister from controller\n */\n dispose(): void {\n this.controller.setTrackingCallbacks(null);\n }\n\n // ===== Event Recording Methods =====\n // Called by UI controllers to record events\n\n /**\n * Record piece pickup event\n */\n recordPickup(\n pieceId: string,\n blueprintId: string,\n blueprintType: 'primitive' | 'composite',\n source: 'blueprint' | 'sector',\n position: { x: number; y: number },\n vertices: number[][][],\n sectorId?: string\n ): void {\n const anchorPosition = this.toAnchorPoint(position);\n const anchorVertices = this.toAnchorVertices(vertices);\n\n this.currentPickup = {\n pieceId,\n blueprintId,\n blueprintType,\n timestamp: Date.now(),\n source,\n sectorId,\n position: anchorPosition,\n vertices: anchorVertices\n };\n\n // Mark all subsequent mouse tracking as \"while_holding\"\n // (UI controllers should call recordMouseMove after this)\n }\n\n /**\n * Record piece placedown event\n */\n recordPlacedown(\n outcome: 'placed' | 'deleted',\n sectorId?: string,\n position?: { x: number; y: number },\n vertices?: number[][][],\n anchorId?: string,\n wasValid?: boolean,\n wasOverlapping?: boolean,\n completedSector?: boolean\n ): void {\n if (!this.currentPickup) {\n console.warn('[InteractionTracker] recordPlacedown called without pickup');\n return;\n }\n\n const interactionType = this.determineInteractionType(this.currentPickup.source, outcome);\n const placedownTimestamp = Date.now();\n const holdDuration = placedownTimestamp - this.currentPickup.timestamp;\n\n // Build post-interaction snapshot\n // If this placement completes a sector, mark it in the snapshot\n const postSnapshot = this.buildStateSnapshot(completedSector ? sectorId : undefined);\n\n const anchorPosition = position ? this.toAnchorPoint(position) : undefined;\n const anchorVertices = vertices ? this.toAnchorVertices(vertices) : undefined;\n\n // Create interaction event - build incrementally to satisfy exactOptionalPropertyTypes\n const event: InteractionEvent = {\n // Metadata\n interactionId: uuidv4(),\n trialId: this.trialId,\n gameId: this.gameId,\n interactionIndex: this.interactionIndex++,\n\n // Interaction type\n interactionType,\n\n // Piece information\n pieceId: this.currentPickup.pieceId,\n blueprintId: this.currentPickup.blueprintId,\n blueprintType: this.currentPickup.blueprintType,\n\n // Pickup event\n pickupTimestamp: this.currentPickup.timestamp,\n pickupSource: this.currentPickup.source,\n pickupSectorId: this.currentPickup.sectorId,\n pickupPosition: this.currentPickup.position,\n pickupVertices: this.currentPickup.vertices,\n\n // Placedown event\n placedownTimestamp,\n placedownOutcome: outcome,\n\n // Validation context\n wasValid: outcome === 'placed' && wasValid === true,\n wasOverlapping: outcome === 'placed' && wasOverlapping === true,\n\n // Timing\n holdDuration,\n\n // Events\n clickEvents: [...this.clickEvents],\n mouseTracking: [...this.mouseTracking],\n\n // Snapshots\n postSnapshot\n };\n\n // Add optional placedown properties based on outcome\n if (outcome === 'placed' && sectorId) {\n event.placedownSectorId = sectorId;\n }\n if (outcome === 'placed' && anchorPosition) {\n event.placedownPosition = anchorPosition;\n }\n if (outcome === 'placed' && anchorVertices) {\n event.placedownVertices = anchorVertices;\n }\n if (anchorId) {\n event.placedownAnchorId = anchorId;\n }\n if (this.previousSnapshotId !== undefined) {\n event.preSnapshotId = this.previousSnapshotId;\n }\n\n // Store for trial end data\n this.interactions.push(event);\n this.previousSnapshotId = postSnapshot.snapshotId;\n\n // Call interaction callback\n if (this.callbacks.onInteraction) {\n this.callbacks.onInteraction(event);\n }\n\n // Reset interaction state\n this.currentPickup = null;\n this.clickEvents = [];\n this.mouseTracking = [];\n }\n\n /**\n * Record click event\n */\n recordClickEvent(\n location: { x: number; y: number },\n clickType: 'blueprint_view_switch' | 'invalid_placement' | 'sector_complete_attempt',\n metadata?: {\n blueprintViewSwitch?: { from: 'quickstash' | 'primitives'; to: 'quickstash' | 'primitives' };\n invalidPlacement?: { reason: 'overlapping' | 'outside_bounds' | 'no_valid_anchor' | 'sector_complete'; attemptedSectorId?: string };\n }\n ): void {\n const anchorLocation = this.toAnchorPoint(location);\n\n this.clickEvents.push({\n timestamp: Date.now(),\n location: anchorLocation,\n clickType,\n ...metadata\n });\n }\n\n /**\n * Record mouse movement to different anchor\n */\n recordMouseMove(\n anchorX: number,\n anchorY: number,\n sectorId?: string\n ): void {\n const phase: 'before_pickup' | 'while_holding' = this.currentPickup ? 'while_holding' : 'before_pickup';\n const anchorCoordX = this.toAnchorValue(anchorX);\n const anchorCoordY = this.toAnchorValue(anchorY);\n\n // Only record if anchor position changed\n const lastTracking = this.mouseTracking[this.mouseTracking.length - 1];\n if (lastTracking && lastTracking.anchorX === anchorCoordX && lastTracking.anchorY === anchorCoordY) {\n return; // Same position, skip\n }\n\n this.mouseTracking.push({\n timestamp: Date.now(),\n anchorX: anchorCoordX,\n anchorY: anchorCoordY,\n sectorId,\n phase\n });\n }\n\n /**\n * Record sector completion\n */\n recordSectorCompletion(sectorId: string): void {\n this.completionTimes.push({\n sectorId,\n completedAt: Date.now()\n });\n }\n\n /**\n * Record macro creation (prep mode only)\n */\n recordMacroCreation(macro: MacroSnapshot): void {\n this.createdMacros.push(macro);\n }\n\n // ===== Trial Completion =====\n\n /**\n * Finalize trial and call onTrialEnd callback\n */\n finalizeTrial(endReason: 'timeout' | 'auto_complete' | 'submit'): void {\n const trialEndTime = Date.now();\n const totalDuration = trialEndTime - this.trialStartTime;\n const finalSnapshot = this.buildStateSnapshot();\n\n const mode = this.controller.state.cfg.mode;\n\n if (mode === 'construction') {\n const finalBlueprintState = this.buildFinalBlueprintState(finalSnapshot);\n \n // Extract composites as quickstash macros (ready for next trial input)\n const quickstashMacros = finalBlueprintState\n .filter(bp => bp.blueprintType === 'composite')\n .map(bp => ({\n id: bp.blueprintId,\n parts: bp.parts!, // Composites always have parts\n ...(bp.label && { label: bp.label })\n }));\n\n const data: ConstructionTrialData = {\n trialType: 'construction',\n trialId: this.trialId,\n gameId: this.gameId,\n trialNum: 0, // TODO: Plugin should provide this\n trialStartTime: this.trialStartTime,\n trialEndTime,\n totalDuration,\n endReason: endReason as 'timeout' | 'auto_complete',\n completionTimes: this.completionTimes,\n finalBlueprintState,\n quickstashMacros,\n finalSnapshot\n };\n\n if (this.callbacks.onTrialEnd) {\n this.callbacks.onTrialEnd(data);\n }\n } else {\n const finalMacros = this.createdMacros.length\n ? this.createdMacros\n : this.buildMacrosFromSnapshot(finalSnapshot);\n\n // Convert MacroSnapshot to quickstash input format\n // Ensure IDs start with \"comp:\" for proper border rendering\n const quickstashMacros = finalMacros.map(macro => ({\n id: macro.macroId.startsWith('comp:') ? macro.macroId : `comp:${macro.macroId}`,\n parts: macro.parts\n // Note: label not included in prep macros\n }));\n\n const data: PrepTrialData = {\n trialType: 'prep',\n trialId: this.trialId,\n gameId: this.gameId,\n trialNum: 0, // TODO: Plugin should provide this\n trialStartTime: this.trialStartTime,\n trialEndTime,\n totalDuration,\n endReason: 'submit',\n createdMacros: finalMacros,\n quickstashMacros,\n finalSnapshot\n };\n\n if (this.callbacks.onTrialEnd) {\n this.callbacks.onTrialEnd(data);\n }\n }\n }\n\n // ===== Helper Methods =====\n\n /**\n * Determine interaction type from source and outcome\n */\n private determineInteractionType(\n source: 'blueprint' | 'sector',\n outcome: 'placed' | 'deleted'\n ): 'spawn' | 'move' | 'delete' {\n if (outcome === 'deleted') return 'delete';\n if (source === 'blueprint') return 'spawn';\n return 'move';\n }\n\n private toAnchorValue(value: number): number {\n return Math.round(value / this.gridStep);\n }\n\n private toAnchorPoint(point: { x: number; y: number }): { x: number; y: number } {\n return { x: this.toAnchorValue(point.x), y: this.toAnchorValue(point.y) };\n }\n\n private toAnchorVertices(vertices: number[][][]): number[][][] {\n return vertices.map(ring =>\n ring.map(vertex => [\n this.toAnchorValue(vertex[0]!),\n this.toAnchorValue(vertex[1]!)\n ])\n );\n }\n\n private buildMacrosFromSnapshot(snapshot: StateSnapshot): MacroSnapshot[] {\n return snapshot.sectors.map(sec => {\n // STEP 1: Convert bbox positions to shape origin positions in anchor coordinates\n const shapeOriginPositions = sec.pieces.map(piece => {\n const bp = this.controller.getBlueprint(piece.blueprintId);\n const kind = bp && 'kind' in bp ? bp.kind : piece.blueprintId;\n \n // Get the piece's actual position in pixels from controller state\n const actualPiece = this.controller.findPiece(piece.pieceId);\n if (!actualPiece || !bp) {\n return {\n kind,\n position: piece.position // Fallback to bbox position\n };\n }\n \n // Get bounding box of the blueprint using the geometry helper\n const bb = boundsOfBlueprint(bp, this.controller.getPrimitive);\n \n // Convert bbox position to shape origin position\n // In pixels: shapeOriginPos = piece.pos - bb.min\n // Then convert to anchor coordinates\n const shapeOriginPixels = {\n x: actualPiece.pos.x - bb.min.x,\n y: actualPiece.pos.y - bb.min.y\n };\n const shapeOriginAnchor = this.toAnchorPoint(shapeOriginPixels);\n \n return {\n kind,\n position: shapeOriginAnchor // Shape origin in anchor coordinates\n };\n });\n\n // STEP 2: Calculate centroid and convert to relative offsets\n if (shapeOriginPositions.length === 0) {\n return {\n macroId: sec.sectorId,\n parts: [],\n shape: [],\n pieceCount: 0\n };\n }\n\n // Calculate centroid of all pieces (in anchor coordinates)\n let sumX = 0, sumY = 0;\n for (const item of shapeOriginPositions) {\n sumX += item.position.x;\n sumY += item.position.y;\n }\n const centroidX = Math.round(sumX / shapeOriginPositions.length);\n const centroidY = Math.round(sumY / shapeOriginPositions.length);\n\n // Convert absolute positions to relative offsets (like ANCHOR_COMPOSITES format)\n const parts = shapeOriginPositions.map(item => ({\n kind: item.kind,\n anchorOffset: {\n x: Math.round(item.position.x - centroidX),\n y: Math.round(item.position.y - centroidY)\n }\n }));\n\n const shape = sec.pieces.flatMap(piece => piece.vertices || []);\n\n return {\n macroId: sec.sectorId,\n parts,\n shape,\n pieceCount: sec.pieceCount\n };\n });\n }\n\n /**\n * Build state snapshot from current controller state\n * @param justCompletedSectorId - Sector ID that was just completed (but controller state hasn't updated yet)\n */\n private buildStateSnapshot(justCompletedSectorId?: string): StateSnapshot {\n const snapshotId = uuidv4();\n const timestamp = Date.now();\n\n // Build sector snapshots\n const sectors: SectorSnapshot[] = [];\n const completedSectorIds: string[] = [];\n\n for (const sector of this.controller.state.cfg.sectors) {\n const sectorState = this.controller.state.sectors[sector.id];\n // Check if this sector was just completed OR is already completed\n const completed = sector.id === justCompletedSectorId || !!sectorState?.completedAt;\n\n if (completed) {\n completedSectorIds.push(sector.id);\n }\n\n const pieces: PieceSnapshot[] = (sectorState?.pieces || []).map(p => ({\n pieceId: p.id,\n blueprintId: p.blueprintId,\n blueprintType: this.getBlueprintType(p.blueprintId),\n position: this.toAnchorPoint(p.pos),\n vertices: this.getPieceVertices(p.id)\n }));\n\n const snapshot: SectorSnapshot = {\n sectorId: sector.id,\n completed,\n pieceCount: pieces.length,\n pieces\n };\n\n if (sectorState?.completedAt !== undefined) {\n snapshot.completedAt = sectorState.completedAt;\n }\n\n sectors.push(snapshot);\n }\n\n // Build sector-tangram map\n const sectorTangramMap = this.controller.state.cfg.sectors.map(s => ({\n sectorId: s.id,\n tangramId: s.id // In our system, sector ID == tangram ID\n }));\n\n // Build blueprint order\n const blueprintOrder = {\n primitives: this.controller.state.primitives.map(bp => bp.id),\n quickstash: this.controller.state.quickstash.map(bp => bp.id)\n };\n\n return {\n snapshotId,\n timestamp,\n sectors,\n completedSectorIds,\n sectorTangramMap,\n blueprintOrder\n };\n }\n\n /**\n * Get blueprint type from blueprint ID\n */\n private getBlueprintType(blueprintId: string): 'primitive' | 'composite' {\n const bp = this.controller.getBlueprint(blueprintId);\n if (!bp) return 'primitive'; // Fallback\n return 'kind' in bp ? 'primitive' : 'composite';\n }\n\n /**\n * Get piece vertices in world space\n */\n private getPieceVertices(pieceId: string): number[][][] {\n const piece = this.controller.findPiece(pieceId);\n if (!piece) return [];\n\n const bp = this.controller.getBlueprint(piece.blueprintId);\n if (!bp) return [];\n\n const bb = boundsOfBlueprint(bp, (k) => this.controller.getPrimitive(k));\n const polys = piecePolysAt(bp, bb, piece.pos) ?? [];\n const asNumbers = polys.map(ring => ring.map(pt => [pt.x, pt.y] as [number, number]));\n return this.toAnchorVertices(asNumbers);\n }\n\n /**\n * Build final blueprint state (usage counts + definitions)\n */\n private buildFinalBlueprintState(snapshot: StateSnapshot): Array<{\n blueprintId: string;\n blueprintType: 'primitive' | 'composite';\n totalPieces: number;\n bySector: Array<{ sectorId: string; count: number }>;\n parts?: Array<{ kind: string; anchorOffset: { x: number; y: number } }>;\n shape?: Array<Array<{ x: number; y: number }>>;\n label?: string;\n }> {\n const counts = new Map<string, {\n blueprintType: 'primitive' | 'composite';\n totalPieces: number;\n bySector: Map<string, number>;\n }>();\n\n // Accumulate counts\n for (const sector of snapshot.sectors) {\n for (const piece of sector.pieces) {\n if (!counts.has(piece.blueprintId)) {\n counts.set(piece.blueprintId, {\n blueprintType: piece.blueprintType,\n totalPieces: 0,\n bySector: new Map()\n });\n }\n\n const entry = counts.get(piece.blueprintId)!;\n entry.totalPieces++;\n entry.bySector.set(sector.sectorId, (entry.bySector.get(sector.sectorId) || 0) + 1);\n }\n }\n\n // Ensure all primitives are represented, even if count is zero\n for (const primitive of this.controller.state.primitives) {\n if (!counts.has(primitive.id)) {\n counts.set(primitive.id, {\n blueprintType: 'primitive',\n totalPieces: 0,\n bySector: new Map()\n });\n }\n }\n\n // Ensure all composites are represented, even if count is zero\n for (const composite of this.controller.state.quickstash) {\n if (!counts.has(composite.id)) {\n counts.set(composite.id, {\n blueprintType: 'composite',\n totalPieces: 0,\n bySector: new Map()\n });\n }\n }\n\n // Convert to array format with blueprint definitions\n return Array.from(counts.entries()).map(([blueprintId, data]) => {\n const blueprint = this.controller.getBlueprint(blueprintId);\n \n const result: {\n blueprintId: string;\n blueprintType: 'primitive' | 'composite';\n totalPieces: number;\n bySector: Array<{ sectorId: string; count: number }>;\n parts?: Array<{ kind: string; anchorOffset: { x: number; y: number } }>;\n shape?: Array<Array<{ x: number; y: number }>>;\n label?: string;\n } = {\n blueprintId,\n blueprintType: data.blueprintType,\n totalPieces: data.totalPieces,\n bySector: Array.from(data.bySector.entries()).map(([sectorId, count]) => ({\n sectorId,\n count\n }))\n };\n\n // Add blueprint definition for both primitives and composites\n if (blueprint) {\n if (data.blueprintType === 'composite' && 'parts' in blueprint) {\n // Composite blueprint: convert pixel-based parts to anchor-based parts\n result.parts = blueprint.parts.map(part => ({\n kind: part.kind,\n anchorOffset: {\n x: Math.round(part.offset.x / this.gridStep),\n y: Math.round(part.offset.y / this.gridStep)\n }\n }));\n\n // Convert pixel-based shape to anchor-based shape\n if (blueprint.shape) {\n result.shape = blueprint.shape.map(poly => \n poly.map(vertex => ({\n x: Math.round(vertex.x / this.gridStep),\n y: Math.round(vertex.y / this.gridStep)\n }))\n );\n }\n\n // Add label if available\n if (blueprint.label) {\n result.label = blueprint.label;\n }\n } else if (data.blueprintType === 'primitive' && 'kind' in blueprint) {\n // Primitive blueprint: convert pixel-based shape to anchor-based shape\n if (blueprint.shape) {\n result.shape = blueprint.shape.map(poly => \n poly.map(vertex => ({\n x: Math.round(vertex.x / this.gridStep),\n y: Math.round(vertex.y / this.gridStep)\n }))\n );\n }\n\n // Primitives don't have labels, but we could add a default one based on kind\n result.label = blueprint.kind;\n }\n }\n\n return result;\n });\n }\n}\n","/**\n * GameBoard - Core reusable tangram game board component\n * \n * This component provides the complete tangram game functionality that can be\n * shared between jsPsych plugins. It handles both construction and preparation\n * game modes with full interaction support.\n * \n * ## Key Features\n * - **Dependency Injection**: All game content provided via props (no hardcoded data)\n * - **Multiple Input Modes**: Supports both click and drag interactions\n * - **Layout Flexibility**: Circle and semicircle layout modes\n * - **Event Tracking**: Comprehensive data collection for research\n * - **State Management**: Uses BaseGameController for robust state handling\n * \n * ## Architecture\n * - Uses modern React patterns with hooks\n * - Integrates with BaseGameController for state management\n * - Renders via Board component with computed layout\n * - Handles completion events and data collection\n * \n * ## Usage in Plugins\n * ```typescript\n * // In jsPsych plugin trial method:\n * const root = createRoot(display_element);\n * root.render(React.createElement(GameBoard, {\n * sectors: convertedSectors,\n * quickstash: convertedMacros, \n * primitives: PRIMITIVE_BLUEPRINTS,\n * layout: \"semicircle\",\n * target: \"silhouette\",\n * input: \"drag\",\n * onComplete: handleTrialComplete\n * }));\n * ```\n * \n * @see {@link BaseGameController} For state management details\n * @see {@link Board} For rendering implementation\n * @since Phase 3.3 - Extracted from monolithic Board component\n * @author Claude Code Assistant\n */\n\nimport React from \"react\";\nimport { BaseGameController } from \"@/core/engine/state/BaseGameController\";\nimport type { \n Sector, \n Blueprint, \n PrimitiveBlueprint,\n LayoutMode,\n PlacementTarget,\n InputMode\n} from \"@/core/domain/types\";\nimport { computeCircleLayout, rectForBand } from \"@/core/domain/layout\";\nimport { solveLogicalBox } from \"@/core/domain/solve\";\nimport type { Poly } from \"@/core/domain/types\";\nimport { CONFIG } from \"@/core/config/config\";\nimport BoardView, { type AnchorDots as DotsType } from \"./BoardView\";\nimport { \n inferUnitFromPolys, \n placeSilhouetteGridAlignedAsPolys } from \"@/core/engine/geometry\";\nimport { anchorsSilhouetteComplete, anchorsWorkspaceComplete } from \"@/core/engine/validation/complete\";\nimport { scalePolys } from \"@/core/components/board/utils\";\nimport { usePieceState } from \"@/core/components/board/usePieceState\";\nimport { useAnchorGrid } from \"@/core/components/board/useAnchorGrid\";\nimport { useDragController } from \"@/core/components/board/useDragController\";\nimport { useClickController } from \"@/core/components/board/useClickController\";\nimport { InteractionTracker } from \"@/core/io/InteractionTracker\";\n\n/**\n * Configuration interface for GameBoard component\n * \n * This interface defines all the required game content and behavior settings\n * that must be provided to the GameBoard component. All properties use \n * dependency injection - no defaults are provided.\n */\nexport interface GameBoardConfig {\n /** \n * Array of sector definitions containing target silhouettes to construct\n * Each sector represents one puzzle to solve\n */\n sectors: Sector[];\n \n /** \n * Array of pre-made composite piece blueprints (macros)\n * Usually created in prep trials and passed to construction trials\n */\n quickstash: Blueprint[];\n \n /** \n * Array of primitive tangram piece definitions\n * These are the basic 7 tangram shapes that never change\n */\n primitives: PrimitiveBlueprint[];\n \n /** \n * Layout mode for the game board\n * - \"circle\": Full circular layout with pieces arranged in complete circle\n * - \"semicircle\": Half-circle layout with pieces in arc above workspace\n */\n layout: LayoutMode;\n \n /** \n * Target placement mode for piece validation\n * - \"workspace\": Pieces can be placed freely in workspace area\n * - \"silhouette\": Pieces must be placed within target silhouette bounds\n */\n target: PlacementTarget;\n \n /** \n * Input interaction mode\n * - \"click\": Click to select pieces, click to place (better for touch)\n * - \"drag\": Drag pieces directly with mouse/touch\n */\n input: InputMode;\n \n /** \n * Time limit for the trial in milliseconds\n * Set to 0 for no time limit\n */\n timeLimitMs: number;\n \n /** \n * Maximum number of quickstash/macro slots to display\n * Controls size of the macro selection ring\n */\n maxQuickstashSlots: number;\n \n /** \n * Maximum number of primitive pieces allowed in a composite\n * Used for validation when creating macros (prep mode only)\n */\n maxCompositeSize?: number;\n \n /**\n * Game mode to determine behavior differences\n * - \"construction\": Standard puzzle-solving mode with toggle\n * - \"prep\": Macro creation mode with primitives-only center\n */\n mode?: \"construction\" | \"prep\";\n \n /**\n * Minimum pieces required per macro (prep mode only)\n * Used for submit button validation\n */\n minPiecesPerMacro?: number;\n \n /**\n * Whether all slots must be filled to complete trial (prep mode only)\n * Used for submit button validation\n */\n requireAllSlots?: boolean;\n \n /** Optional CSS width for the game board SVG */\n width?: number;\n \n /** Optional CSS height for the game board SVG */\n height?: number;\n}\n\n/**\n * Props interface for GameBoard component, extending configuration with event callbacks\n *\n * This interface includes all configuration options plus optional event handlers\n * that plugins can use to respond to game events and collect data.\n */\nexport interface GameBoardProps extends GameBoardConfig {\n /**\n * Called when an individual sector is completed\n * Useful for tracking progress through multi-sector trials\n */\n onSectorComplete?: (sectorId: string, snapshot: any) => void;\n\n /**\n * Called when a piece is successfully placed in a sector\n * Useful for real-time interaction tracking\n */\n onPiecePlace?: (pieceId: string, sectorId: string) => void;\n\n /**\n * Called when a piece is removed from a sector\n * Useful for tracking piece manipulation patterns\n */\n onPieceRemove?: (pieceId: string) => void;\n\n /**\n * Called immediately after each complete interaction (piece pickup + placedown)\n * Use for incremental data saving (e.g., socket.emit())\n */\n onInteraction?: (event: any) => void;\n\n /**\n * Called once when trial ends\n * Contains complete interaction history + final state\n * This is the primary mechanism for trial completion - plugins should handle\n * React cleanup and jsPsych.finishTrial() in their wrapper for this callback\n */\n onTrialEnd?: (data: any) => void;\n\n /**\n * Called when the game controller is ready\n * Useful for spawning initial pieces or setting up state\n */\n onControllerReady?: (controller: BaseGameController, layout?: any, force?: () => void) => void;\n}\n\n/**\n * Core GameBoard component that encapsulates all tangram game functionality\n * \n * This is the main reusable component that provides complete tangram game\n * functionality for jsPsych plugins. It handles all aspects of the game\n * including piece interaction, collision detection, completion validation,\n * and data collection.\n * \n * ## Key Responsibilities\n * - Creates and manages BaseGameController for state management\n * - Computes layout geometry for board rendering \n * - Handles event callbacks for plugin integration\n * - Manages CSS sizing for responsive display\n * \n * ## State Management\n * Uses BaseGameController internally which provides:\n * - Piece placement and validation\n * - Sector completion tracking\n * - Event logging for data collection\n * - Collision detection and snapping\n * \n * @param props - Configuration and event callbacks for the game\n * @returns React component rendering the complete tangram game interface\n */\nexport default function GameBoard(props: GameBoardProps) {\n const {\n sectors,\n quickstash,\n primitives,\n layout: layoutMode,\n target,\n input,\n timeLimitMs,\n maxQuickstashSlots,\n maxCompositeSize,\n mode,\n width: _width,\n height: _height,\n onSectorComplete,\n onPiecePlace,\n onPieceRemove,\n onInteraction,\n onTrialEnd,\n onControllerReady\n } = props;\n \n // Initialize game controller with injected data\n const controller = React.useMemo(() => {\n const gameConfig = {\n n: sectors.length,\n layout: layoutMode,\n target,\n input,\n timeLimitMs,\n maxQuickstashSlots,\n ...(maxCompositeSize !== undefined && { maxCompositeSize }),\n mode: mode || \"construction\", // Default to construction mode for backwards compatibility\n ...(props.minPiecesPerMacro !== undefined && { minPiecesPerMacro: props.minPiecesPerMacro }),\n ...(props.requireAllSlots !== undefined && { requireAllSlots: props.requireAllSlots })\n };\n \n return new BaseGameController(\n sectors,\n quickstash,\n primitives, \n gameConfig\n );\n }, [sectors, quickstash, primitives, layoutMode, target, input, timeLimitMs, maxQuickstashSlots, maxCompositeSize, mode, props.minPiecesPerMacro, props.requireAllSlots]);\n\n // Initialize interaction tracker for data collection (if callbacks provided)\n const tracker = React.useMemo(() => {\n if (!onInteraction && !onTrialEnd) return null;\n\n const callbacks: { onInteraction?: (event: any) => void; onTrialEnd?: (data: any) => void } = {};\n if (onInteraction) callbacks.onInteraction = onInteraction;\n if (onTrialEnd) callbacks.onTrialEnd = onTrialEnd;\n\n return new InteractionTracker(controller, callbacks);\n }, [controller, onInteraction, onTrialEnd]);\n\n // Call onControllerReady when controller is ready\n React.useEffect(() => {\n if (onControllerReady) {\n onControllerReady(controller);\n }\n }, [controller, onControllerReady]);\n\n // Cleanup tracker on unmount\n React.useEffect(() => {\n return () => {\n if (tracker) {\n tracker.dispose();\n }\n };\n }, [tracker]);\n\n // Compute layout geometry \n const { layout, viewBox } = React.useMemo(() => {\n const nSectors = sectors.length;\n const sectorIds = sectors.map(s => s.id);\n const masksPerSector: Poly[][] = sectors.map(s => s.silhouette.mask ?? []);\n \n const logicalBox = solveLogicalBox({\n n: nSectors,\n layoutMode,\n target,\n qsMaxSlots: maxQuickstashSlots,\n primitivesSlots: primitives.length,\n layoutPadPx: CONFIG.layout.paddingPx,\n masks: masksPerSector,\n });\n \n const layout = computeCircleLayout(\n { w: logicalBox.LOGICAL_W, h: logicalBox.LOGICAL_H },\n nSectors,\n sectorIds,\n layoutMode,\n target,\n {\n qsMaxSlots: maxQuickstashSlots,\n primitivesSlots: primitives.length,\n masks: masksPerSector,\n }\n );\n \n return {\n layout,\n viewBox: { w: logicalBox.LOGICAL_W, h: logicalBox.LOGICAL_H }\n };\n }, [sectors, layoutMode, target, maxQuickstashSlots, primitives.length]);\n\n // Force re-render utility\n const [, force] = React.useReducer((x) => x + 1, 0);\n\n // Call onControllerReady when controller and layout are ready\n React.useEffect(() => {\n if (onControllerReady) {\n onControllerReady(controller, layout, force);\n }\n }, [controller, layout, onControllerReady, force]);\n \n // Game completion tracking\n const [gameCompleted, setGameCompleted] = React.useState(false);\n \n // Watch for game completion\n React.useEffect(() => {\n const checkGameCompletion = () => {\n const allSectorsComplete = sectors.every(s =>\n controller.isSectorCompleted(s.id)\n );\n\n if (allSectorsComplete && !gameCompleted) {\n setGameCompleted(true);\n\n // Finalize trial data tracking (which calls onTrialEnd)\n if (tracker) {\n tracker.finalizeTrial('auto_complete');\n }\n }\n };\n\n // Check completion whenever controller state updates\n checkGameCompletion();\n }, [controller.updateCount, sectors, gameCompleted, controller, tracker]);\n \n // Sector completion callback\n const handleSectorComplete = React.useCallback((sectorId: string) => {\n if (onSectorComplete) {\n onSectorComplete(sectorId, controller.snapshot());\n }\n }, [onSectorComplete, controller]);\n \n // Event callbacks for plugin integration\n const eventCallbacks = React.useMemo(() => ({\n onSectorComplete: handleSectorComplete,\n onPiecePlace: onPiecePlace || (() => {}),\n onPieceRemove: onPieceRemove || (() => {})\n }), [handleSectorComplete, onPiecePlace, onPieceRemove]);\n \n // Calculate sizing based on layout mode\n const getGameboardStyle = () => {\n const baseStyle = {\n margin: '0 auto',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative' as const,\n };\n\n if (layoutMode === 'circle') {\n // Circle mode: square aspect ratio (height == width)\n const size = Math.min(window.innerWidth * 0.96, window.innerHeight * 0.96);\n return {\n ...baseStyle,\n width: `${size}px`,\n height: `${size}px`,\n };\n } else {\n // Semicircle mode: width is 2x height\n const maxWidth = Math.min(window.innerWidth * 0.96, window.innerHeight * 0.96 * 2);\n const maxHeight = Math.min(window.innerWidth * 0.96 / 2, window.innerHeight * 0.96);\n return {\n ...baseStyle,\n width: `${maxWidth}px`,\n height: `${maxHeight}px`,\n };\n }\n };\n\n // Calculate SVG dimensions to pass to Board component\n const getSvgDimensions = () => {\n if (layoutMode === 'circle') {\n // Circle mode: square aspect ratio (height == width)\n const size = Math.min(window.innerWidth * 0.96, window.innerHeight * 0.96);\n return { width: size, height: size };\n } else {\n // Semicircle mode: width is 2x height\n const maxWidth = Math.min(window.innerWidth * 0.96, window.innerHeight * 0.96 * 2);\n const maxHeight = Math.min(window.innerWidth * 0.96 / 2, window.innerHeight * 0.96);\n return { width: maxWidth, height: maxHeight };\n }\n };\n\n const svgDimensions = getSvgDimensions();\n\n React.useEffect(() => {\n if (controller.state.cfg.mode !== \"construction\") return;\n if (!timeLimitMs || timeLimitMs <= 0) return;\n if (gameCompleted) return;\n\n const timeoutId = window.setTimeout(() => {\n if (gameCompleted) return;\n\n if (!controller.state.endedAt) {\n controller.state.endedAt = performance.now();\n force();\n }\n\n tracker?.finalizeTrial('timeout');\n setGameCompleted(true);\n }, timeLimitMs);\n\n return () => {\n window.clearTimeout(timeoutId);\n };\n }, [controller, timeLimitMs, gameCompleted, tracker, force]);\n\n const isSectorLocked = (id: string) => controller.isSectorCompleted(id);\n\n // Extract piece management to custom hook\n const { pieces, pieceById, getSectorPiecePolysCached } = usePieceState(controller);\n\n const clickMode = controller.state.cfg.input === \"click\";\n\n // Center badge geometry (visual + click target are identical)\n const badgeR = Math.max(CONFIG.size.centerBadge.minPx, layout.innerR * CONFIG.size.centerBadge.fractionOfOuterR);\n const badgeCenter = (controller.state.cfg.layout === \"semicircle\")\n ? { x: layout.cx, y: layout.cy - badgeR - CONFIG.size.centerBadge.marginPx }\n : { x: layout.cx, y: layout.cy };\n const isInsideBadge = (px: number, py: number) =>\n Math.hypot(px - badgeCenter.x, py - badgeCenter.y) <= badgeR;\n\n // All sector masks (raw)\n const allMasks: Poly[][] = React.useMemo(() => {\n return controller.state.cfg.sectors.map(sec => (sec.silhouette.mask ?? []));\n }, [controller.state.cfg.sectors]);\n\n // Canonical lattice scale: 1 raw UNIT → CONFIG.layout.grid.unitPx (so a unit edge = 2 grid nodes)\n // Keep a single scale so lattice density stays invariant across devices/zoom levels.\n const scaleS = React.useMemo(() => {\n const u = inferUnitFromPolys(allMasks.flat());\n return u ? (CONFIG.layout.grid.unitPx / u) : 1;\n }, [allMasks]);\n\n // Extract anchor grid logic to custom hook\n const { anchorDots } = useAnchorGrid(controller, layout, scaleS);\n\n // Placed silhouettes per sector (grid-aligned polys used for inclusion tests)\n const placedSilBySector = React.useMemo(() => {\n const m = new Map<string, Poly[]>();\n for (const s of layout.sectors) {\n const mask = controller.state.cfg.sectors.find(ss => ss.id === s.id)?.silhouette.mask ?? [];\n if (!mask?.length) continue;\n const rect = rectForBand(layout, s, \"silhouette\", 1.0);\n const placed = placeSilhouetteGridAlignedAsPolys(mask, scaleS, { cx: rect.cx, cy: rect.cy });\n m.set(s.id, placed);\n }\n return m;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [layout, scaleS, controller.state.cfg.sectors]);\n\n const maybeCompleteSector = (secId: string): boolean => {\n if (!secId) return false;\n if (isSectorLocked(secId)) return false;\n\n if (controller.state.cfg.target === \"silhouette\") {\n const sil = placedSilBySector.get(secId) ?? [];\n if (!sil.length) return false;\n const piecePolys = getSectorPiecePolysCached(secId);\n if (anchorsSilhouetteComplete(sil, piecePolys)) {\n controller.markSectorCompleted(secId);\n return true;\n }\n } else {\n const raw = controller.state.cfg.sectors.find(ss => ss.id === secId)?.silhouette.mask ?? [];\n if (!raw.length) return false;\n const scaledSil = scalePolys(raw, scaleS);\n const piecePolys = getSectorPiecePolysCached(secId);\n if (anchorsWorkspaceComplete(scaledSil, piecePolys)) {\n controller.markSectorCompleted(secId);\n return true;\n }\n }\n return false;\n };\n\n // ---- drag (RAF) - Extracted to useDragController hook ---\n const dragController = useDragController(\n controller,\n layout,\n pieces,\n pieceById,\n anchorDots,\n placedSilBySector,\n isSectorLocked,\n maybeCompleteSector,\n force,\n undefined, // clickController - will be set later\n tracker // Pass tracker for data collection\n );\n\n const { \n draggingId, \n dragInvalid, \n svgRef, \n onPiecePointerDown, \n onBlueprintPointerDown, \n onPointerMove, \n onPointerUp, \n setPieceRef,\n setDraggingId,\n lockedPieceId,\n dragRef // TODO: Remove once click mode is extracted\n } = dragController;\n\n // ---- CLICK controller - Extracted click mode logic ---\n const svgPoint = (clientX: number, clientY: number) => {\n const svg = svgRef.current!;\n const pt = svg.createSVGPoint();\n pt.x = clientX; pt.y = clientY;\n const ctm = svg.getScreenCTM();\n if (!ctm) return { x: 0, y: 0 };\n const sp = pt.matrixTransform(ctm.inverse());\n return { x: sp.x, y: sp.y };\n };\n\n const clickController = useClickController(\n controller,\n layout,\n pieces,\n clickMode,\n draggingId,\n setDraggingId,\n dragRef,\n isInsideBadge,\n isSectorLocked,\n maybeCompleteSector,\n svgPoint,\n force,\n tracker // Pass tracker for data collection\n );\n\n const {\n selectedPieceId,\n onRootPointerDown\n } = clickController;\n\n const onCenterBadgePointerDown = (e: React.PointerEvent) => {\n if (draggingId) return;\n const { x, y } = svgPoint(e.clientX, e.clientY);\n\n if (controller.state.cfg.mode === \"prep\") {\n if (!controller.isSubmitEnabled() || gameCompleted) {\n e.stopPropagation();\n return;\n }\n\n setGameCompleted(true);\n if (tracker) {\n tracker.finalizeTrial('submit');\n }\n e.stopPropagation();\n return;\n }\n\n // Construction mode: toggle blueprint view\n if (tracker?.recordClickEvent) {\n const from = controller.state.blueprintView;\n const to = from === \"primitives\" ? \"quickstash\" : \"primitives\";\n tracker.recordClickEvent({ x, y }, 'blueprint_view_switch', {\n blueprintViewSwitch: { from, to }\n });\n }\n controller.switchBlueprintView();\n force();\n e.stopPropagation();\n };\n\n return (\n <div className=\"tangram-gameboard\" style={getGameboardStyle()}>\n <BoardView\n controller={controller}\n layout={layout}\n viewBox={viewBox}\n width={svgDimensions.width}\n height={svgDimensions.height}\n badgeR={badgeR}\n badgeCenter={badgeCenter}\n placedSilBySector={placedSilBySector}\n anchorDots={anchorDots as DotsType[]}\n pieces={pieces}\n clickMode={clickMode}\n draggingId={draggingId}\n selectedPieceId={selectedPieceId}\n dragInvalid={dragInvalid}\n lockedPieceId={lockedPieceId}\n svgRef={svgRef}\n setPieceRef={setPieceRef}\n onPiecePointerDown={onPiecePointerDown}\n onBlueprintPointerDown={onBlueprintPointerDown}\n onRootPointerDown={onRootPointerDown}\n onPointerMove={onPointerMove}\n onPointerUp={onPointerUp}\n onCenterBadgePointerDown={onCenterBadgePointerDown}\n {...eventCallbacks}\n />\n </div>\n );\n}\n\n/**\n * Hook for managing GameBoard state externally\n * Useful for plugins that need direct access to game state\n */\nexport function useGameBoard(config: GameBoardConfig) {\n const controller = React.useMemo(() => {\n const gameConfig = {\n n: config.sectors.length,\n layout: config.layout,\n target: config.target,\n input: config.input,\n timeLimitMs: config.timeLimitMs,\n maxQuickstashSlots: config.maxQuickstashSlots,\n ...(config.maxCompositeSize !== undefined && { maxCompositeSize: config.maxCompositeSize }),\n mode: config.mode || \"construction\",\n ...(config.minPiecesPerMacro !== undefined && { minPiecesPerMacro: config.minPiecesPerMacro }),\n ...(config.requireAllSlots !== undefined && { requireAllSlots: config.requireAllSlots })\n };\n \n return new BaseGameController(\n config.sectors,\n config.quickstash,\n config.primitives,\n gameConfig\n );\n }, [config]);\n \n const snapshot = React.useMemo(() => \n controller.snapshot(), \n [controller.updateCount]\n );\n \n return {\n controller,\n snapshot,\n isComplete: !!controller.state.endedAt\n };\n}\n","import type { PrimitiveBlueprint, Poly, Vec, TanKind } from \"@/core/domain/types\";\n\n// ===== numeric units (match Python SideLength scaling) ======================\nconst U = 40; // 1 UNIT in pixels\nconst HALFUNIT = U / 2;\nconst DIAGONAL = U * Math.SQRT2;\nconst HALFDIAGONAL = DIAGONAL / 2;\n\n// ===== small vec helpers ====================================================\nconst P = (x: number, y: number): Vec => ({ x, y });\n\n/** rotate array left by k (Python deque.rotate(-k)) */\nfunction rotLeft<T>(arr: T[], k: number): T[] {\n const n = arr.length; if (n === 0) return [];\n const s = ((k % n) + n) % n;\n return arr.slice(s).concat(arr.slice(0, s));\n}\n\n/**\n * Mirrors your Python `next_point`:\n * interior angle is CLOCKWISE at the vertex; we walk the boundary clockwise.\n */\nfunction nextPoint(\n x0: number, y0: number, // previous vertex\n x1: number, y1: number, // current vertex\n interiorDeg: number,\n dist: number\n): Vec {\n const phi = Math.atan2(y0 - y1, x0 - x1); // incoming edge (x0->x1)\n const theta = phi - (interiorDeg * Math.PI) / 180; // rotate clockwise by interior angle\n return P(x1 + dist * Math.cos(theta), y1 + dist * Math.sin(theta));\n}\n\n/**\n * Build polygon from side lengths & clockwise interior angles.\n * If `firstEdgeUnits` is provided ([(x0,y0),(x1,y1)] in **unit** coords with +y up),\n * we use that exact first edge. Otherwise we default to +X of length sideLens[0].\n * Returns vertices without repeating the start (close is implied).\n */\nfunction constructFromSpec(\n sideLens: number[],\n angles: number[],\n firstEdgeUnits?: [Vec, Vec]\n): Poly {\n let pts: Vec[];\n if (firstEdgeUnits) {\n // map unit coords (up +y) -> canvas coords (down +y): invert y and scale by U\n const a = firstEdgeUnits[0]; // typically (0,0)\n const b = firstEdgeUnits[1];\n const A = P(-a.x * U, a.y * U);\n const B = P(-b.x * U, b.y * U);\n pts = [A, B];\n } else {\n // default: first edge along +X\n const firstSideLen = sideLens[0];\n if (firstSideLen === undefined) throw new Error(\"No side lengths provided\");\n pts = [P(0, 0), P(firstSideLen, 0)];\n }\n\n // Python logic: rotate side lengths by -1 (since first edge already placed), angles unchanged\n const sidesRot = rotLeft(sideLens, 1);\n const angRot = angles;\n\n // add all but the final closing edge\n for (let i = 1; i < sideLens.length - 1; i++) {\n const last = pts[i - 1];\n const curr = pts[i];\n if (!last || !curr) continue;\n const sLen = sidesRot[i - 1];\n const aDeg = angRot[i - 1];\n if (sLen === undefined || aDeg === undefined) continue;\n pts.push(nextPoint(last.x, last.y, curr.x, curr.y, aDeg, sLen));\n }\n return pts;\n}\n\n// ===== default first edges in UNIT coords ( +y is UP here ) =================\n// Copied from your `default_pilot_rotations`. We invert y above for canvas.\nconst FIRST_EDGES_UNITS: Record<TanKind, [Vec, Vec]> = {\n small_triangle: [P(0, 0), P(0.5, 0.5)],\n parallelogram: [P(0, 0), P(0.5, 0)],\n large_triangle: [P(0, 0), P(0.5, -0.5)],\n med_triangle: [P(0, 0), P(0.5, 0)],\n square: [P(0, 0), P(0.5, 0)],\n};\n\n// ===== canonical half-edge primitives ===================\n// TODO: Sean we need to talk about aligning this with your Python implementation\n// Unchanging primitive tangram pieces - these are constants, not configurable\nconst PRIMITIVE_BLUEPRINTS_CACHE = (() => {\n // Sequences copied verbatim from your Python tanprimitives_halfedges()\n const specs: Array<{\n id: string;\n kind: TanKind;\n sideLens: number[];\n angles: number[];\n color: string;\n }> = [\n {\n id: \"prim:square\",\n kind: \"square\",\n sideLens: [HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT],\n angles: [180, 90, 180, 90, 180, 90, 180, 90],\n color: \"#f43f5e\",\n },\n {\n id: \"prim:small\",\n kind: \"small_triangle\",\n sideLens: [HALFDIAGONAL, HALFDIAGONAL, HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT],\n angles: [180, 45, 180, 90, 180, 45],\n color: \"#f59e0b\",\n },\n {\n id: \"prim:parallelogram\",\n kind: \"parallelogram\",\n sideLens: [HALFUNIT, HALFUNIT, HALFDIAGONAL, HALFDIAGONAL, HALFUNIT, HALFUNIT, HALFDIAGONAL, HALFDIAGONAL],\n angles: [180, 135, 180, 45, 180, 135, 180, 45],\n color: \"#10b981\",\n },\n {\n id: \"prim:med\",\n kind: \"med_triangle\",\n sideLens: [HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT, HALFDIAGONAL, HALFDIAGONAL, HALFDIAGONAL, HALFDIAGONAL],\n angles: [180, 180, 180, 45, 180, 90, 180, 45],\n color: \"#3b82f6\",\n },\n {\n id: \"prim:large\",\n kind: \"large_triangle\",\n sideLens: [\n HALFDIAGONAL, HALFDIAGONAL, HALFDIAGONAL, HALFDIAGONAL,\n HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT, HALFUNIT\n ],\n angles: [\n 180, 180, 180, 45,\n 180, 180, 180, 90, 180, 180, 180, 45\n ],\n color: \"#8b5cf6\",\n },\n ];\n\n return specs.map(({ id, kind, sideLens, angles, color }) => {\n const firstEdge = FIRST_EDGES_UNITS[kind]; // always present for these 5\n const verts = constructFromSpec(sideLens, angles, firstEdge);\n return {\n id,\n kind,\n shape: [verts],\n colorHint: color,\n } as PrimitiveBlueprint;\n });\n})();\n\nexport function primitiveBlueprintsHalfEdge(): PrimitiveBlueprint[] {\n return PRIMITIVE_BLUEPRINTS_CACHE;\n}\n\n// Direct access to primitives constant (for dependency injection)\nexport const PRIMITIVE_BLUEPRINTS: PrimitiveBlueprint[] = PRIMITIVE_BLUEPRINTS_CACHE;\n","// src/core/io/quickstash.ts\nimport { CONFIG } from \"@/core/config/config\";\nimport type { Blueprint, CompositeBlueprint, PrimitiveBlueprint, TanKind, Vec } from \"@/core/domain/types\";\nimport { primitiveBlueprintsHalfEdge } from \"@/core/domain/primitives\";\n\n/**\n * Convert anchor coordinates to pixel coordinates\n * @param anchorX - X coordinate in anchor units (integer)\n * @param anchorY - Y coordinate in anchor units (integer)\n * @returns Pixel coordinates\n */\nexport function anchorToPixels(anchorX: number, anchorY: number): Vec {\n return { \n x: anchorX * CONFIG.layout.grid.stepPx, \n y: anchorY * CONFIG.layout.grid.stepPx \n };\n}\n\n/**\n * Convert pixel coordinates to anchor coordinates\n * @param pixelX - X coordinate in pixels\n * @param pixelY - Y coordinate in pixels\n * @returns Anchor coordinates (rounded to nearest grid point)\n */\nexport function pixelsToAnchor(pixelX: number, pixelY: number): Vec {\n return {\n x: Math.round(pixelX / CONFIG.layout.grid.stepPx),\n y: Math.round(pixelY / CONFIG.layout.grid.stepPx)\n };\n}\n\n/**\n * Convert anchor-based composite definition to pixel-based composite with custom grid step\n * @param anchorComposite - Composite defined with anchor coordinates\n * @param primsByKind - Map of primitive blueprints by kind\n * @param gridStepPx - Grid step in pixels (defaults to current CONFIG)\n * @returns CompositeBlueprint with pixel coordinates\n */\nexport function convertAnchorCompositeToPixels(\n anchorComposite: { id: string; parts: Array<{ kind: TanKind; anchorOffset: { x: number; y: number } }>; label?: string },\n primsByKind: Map<TanKind, PrimitiveBlueprint>,\n gridStepPx: number = CONFIG.layout.grid.stepPx\n): CompositeBlueprint {\n const { id, parts, label } = anchorComposite;\n \n // Convert anchor offsets to pixel offsets using custom grid step\n const pixelParts: Array<{ kind: TanKind; offset: Vec }> = parts.map(p => ({\n kind: p.kind,\n offset: { \n x: p.anchorOffset.x * gridStepPx, \n y: p.anchorOffset.y * gridStepPx \n }\n }));\n \n // Compute shape using custom grid step\n const shape: Vec[][] = [];\n for (const p of parts) {\n const prim = primsByKind.get(p.kind);\n if (!prim) continue;\n \n const pixelOffset = { \n x: p.anchorOffset.x * gridStepPx, \n y: p.anchorOffset.y * gridStepPx \n };\n for (const poly of prim.shape) {\n shape.push(poly.map(v => ({ x: v.x + pixelOffset.x, y: v.y + pixelOffset.y })));\n }\n }\n \n return { id, parts: pixelParts, shape, label: label ?? `Composite-${id}` };\n}\n\n/**\n * Anchor-based composite definitions (configuration-independent)\n * These are converted to pixel coordinates at render time\n */\nconst ANCHOR_COMPOSITES = [\n {\n id: \"comp:parallelogram+parallelogram\",\n parts: [\n { kind: \"parallelogram\" as TanKind, anchorOffset: { x: 0, y: 0 } },\n { kind: \"parallelogram\" as TanKind, anchorOffset: { x: 2, y: 2 } }, // Diagonal contact\n ],\n label: \"Parallelogram+Parallelogram\"\n },\n {\n id: \"comp:small_triangle+med_triangle\", \n parts: [\n { kind: \"small_triangle\" as TanKind, anchorOffset: { x: -2, y: -2 } },\n { kind: \"med_triangle\" as TanKind, anchorOffset: { x: 0, y: 0 } },\n ],\n label: \"SmallTriangle+MedTriangle\"\n },\n {\n id: \"comp:square\",\n parts: [\n { kind: \"square\" as TanKind, anchorOffset: { x: 0, y: 0 } },\n ],\n label: \"Square\"\n }\n];\n\n/**\n * Create quickstash with custom grid step (useful for testing different configurations)\n * @param gridStepPx - Grid step in pixels\n * @returns Array of blueprints with pixel coordinates based on custom grid step\n */\nexport function createQuickstashWithGridStep(gridStepPx: number): Blueprint[] {\n const prims = primitiveBlueprintsHalfEdge();\n const byKind = new Map<TanKind, PrimitiveBlueprint>();\n prims.forEach(p => byKind.set(p.kind, p));\n\n // Convert anchor-based definitions to pixel-based composites with custom grid step\n const list: Blueprint[] = ANCHOR_COMPOSITES.map(anchorComposite => \n convertAnchorCompositeToPixels(anchorComposite, byKind, gridStepPx)\n );\n\n const maxSlots = CONFIG.layout.defaults.maxQuickstashSlots;\n if (list.length > maxSlots) {\n throw new Error(\n `Quickstash has ${list.length} items but max is ${maxSlots}. Trim defaultQuickstash() or raise CONFIG.layout.defaults.maxQuickstashSlots.`\n );\n }\n return list;\n}\n\n/**\n * Get anchor-based composite definitions (for debugging/testing)\n * @returns Array of anchor-based composite definitions\n */\nexport function getAnchorComposites() {\n return ANCHOR_COMPOSITES;\n}\n\n/**\n * Default Quickstash using anchor coordinates\n * Conversion to pixels happens at render time using current CONFIG\n */\nexport function defaultQuickstash(): Blueprint[] {\n return createQuickstashWithGridStep(CONFIG.layout.grid.stepPx);\n}","/**\n * ConstructionApp.tsx - React wrapper for tangram construction trials\n * \n * This component handles the React rendering logic for construction trials,\n * separating it from the pure jsPsych plugin class.\n */\n\nimport React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { JsPsych } from \"jspsych\";\nimport { GameBoard } from \"../../core/components\";\nimport { PRIMITIVE_BLUEPRINTS } from \"../../core/domain/primitives\";\nimport { convertAnchorCompositeToPixels } from \"../../core/io/quickstash\";\nimport type { \n Sector, \n Blueprint, \n PlacementTarget, \n InputMode, \n LayoutMode,\n TanKind,\n PrimitiveBlueprint\n} from \"../../core/domain/types\";\nimport { CONFIG } from \"../../core/config/config\";\n\nexport interface StartConstructionTrialParams {\n tangrams: any[];\n quickstash_macros?: Blueprint[] | AnchorComposite[];\n target?: PlacementTarget;\n input?: InputMode;\n layout?: LayoutMode;\n time_limit_ms: number;\n onInteraction?: (event: any) => void;\n onTrialEnd?: (data: any) => void;\n}\n\n// Type for anchor-based composite definitions\ntype AnchorComposite = {\n id: string;\n parts: Array<{ kind: TanKind; anchorOffset: { x: number; y: number } }>;\n label?: string;\n};\n\n/**\n * Start a construction trial by rendering the GameBoard component\n */\nexport function startConstructionTrial(\n display_element: HTMLElement, \n params: StartConstructionTrialParams,\n _jsPsych: JsPsych\n) {\n // Convert JSON plugin parameters to internal Sector[] format\n const sectors: Sector[] = params.tangrams.map(tangramSpec => ({\n id: tangramSpec.id,\n silhouette: {\n id: tangramSpec.id,\n mask: tangramSpec.silhouette.mask.map((polygonArray: number[][]) => \n polygonArray.map(([x, y]: number[]) => ({ x: x ?? 0, y: -(y ?? 0) })) // Convert to SVG coords (flip Y)\n ),\n requiredCount: tangramSpec.silhouette.requiredCount,\n },\n }));\n\n // Convert quickstash_macros to Blueprint[] format\n // Handle both anchor-based composites and pre-converted blueprints\n let quickstash: Blueprint[] = [];\n \n if (params.quickstash_macros && params.quickstash_macros.length > 0) {\n // Check if the first item has anchorOffset (anchor-based) or offset (pixel-based)\n const firstMacro = params.quickstash_macros[0];\n if (firstMacro && 'parts' in firstMacro && firstMacro.parts && firstMacro.parts[0] && 'anchorOffset' in firstMacro.parts[0]) {\n \n // Create primitive map for conversion\n const primsByKind = new Map<TanKind, PrimitiveBlueprint>();\n PRIMITIVE_BLUEPRINTS.forEach(p => primsByKind.set(p.kind, p));\n \n // Convert each anchor composite to pixel-based blueprint\n quickstash = (params.quickstash_macros as AnchorComposite[]).map(anchorComposite => \n convertAnchorCompositeToPixels(anchorComposite, primsByKind, CONFIG.layout.grid.stepPx) // Use current CONFIG grid step\n );\n } else {\n // Already pixel-based blueprints\n quickstash = params.quickstash_macros as Blueprint[];\n }\n }\n\n // Create React root and render GameBoard\n const root = createRoot(display_element);\n root.render(\n React.createElement(GameBoard, {\n sectors,\n quickstash,\n primitives: PRIMITIVE_BLUEPRINTS,\n layout: (params.layout || \"semicircle\") as LayoutMode,\n target: (params.target || \"silhouette\") as PlacementTarget,\n input: (params.input || \"drag\") as InputMode,\n timeLimitMs: params.time_limit_ms || 0,\n maxQuickstashSlots: CONFIG.layout.defaults.maxQuickstashSlots,\n mode: 'construction', // Explicit construction mode\n ...(params.onInteraction && { onInteraction: params.onInteraction }),\n ...(params.onTrialEnd && { onTrialEnd: params.onTrialEnd })\n })\n );\n\n return { root, display_element, jsPsych: _jsPsych };\n}","import { JsPsych, JsPsychPlugin, ParameterType, TrialType } from \"jspsych\";\nimport { startConstructionTrial, StartConstructionTrialParams } from \"./ConstructionApp\";\n\nconst info = {\n name: \"tangram-construct\",\n version: \"1.0.0\",\n parameters: {\n /** Array of tangram specifications defining the puzzles to solve */\n tangrams: {\n type: ParameterType.COMPLEX,\n default: undefined,\n description: \"Array of TangramSpec objects defining target shapes to construct\"\n },\n /** Array of pre-made macro pieces from prep plugin */\n quickstash_macros: {\n type: ParameterType.COMPLEX,\n default: [],\n description: \"Array of MacroSpec objects created in prep trial\"\n },\n /** Whether to place pieces in workspace or directly on silhouette */\n target: {\n type: ParameterType.SELECT,\n options: [\"workspace\", \"silhouette\"],\n default: \"silhouette\",\n description: \"Placement target: workspace (free placement) or silhouette (onto target shape)\"\n },\n /** Input method for piece manipulation */\n input: {\n type: ParameterType.SELECT, \n options: [\"click\", \"drag\"],\n default: \"drag\",\n description: \"Input mode: drag (mouse/touch drag) or click (click to select/place)\"\n },\n /** Layout style for piece arrangement */\n layout: {\n type: ParameterType.SELECT,\n options: [\"circle\", \"semicircle\"], \n default: \"semicircle\",\n description: \"Layout mode: full circle or semicircle piece arrangement\"\n },\n /** Maximum time allowed for trial in milliseconds */\n time_limit_ms: {\n type: ParameterType.INT,\n default: 0,\n description: \"Time limit in milliseconds (0 = no limit)\"\n },\n /** Snap radius for piece placement in pixels */\n snap_radius_px: {\n type: ParameterType.INT,\n default: 18,\n description: \"Snap radius for anchor-based piece placement\"\n },\n /** Callback fired after each interaction (piece pickup + placedown) */\n onInteraction: {\n type: ParameterType.FUNCTION,\n default: undefined,\n description: \"Callback for each interaction event (e.g., socket.emit)\"\n },\n /** Callback fired when trial ends */\n onTrialEnd: {\n type: ParameterType.FUNCTION,\n default: undefined,\n description: \"Callback when trial completes with full data\"\n }\n },\n data: {\n /** Array of all interaction events during trial */\n events: {\n type: ParameterType.COMPLEX,\n description: \"Chronological log of all user interactions and game events\"\n },\n /** Completion time for each sector/tangram */\n completion_times: {\n type: ParameterType.COMPLEX,\n description: \"Array of completion times in milliseconds for each tangram\"\n },\n /** Final completion state of each sector */\n final_state: {\n type: ParameterType.COMPLEX,\n description: \"Array describing completion status of each tangram sector\"\n },\n /** Usage statistics for macro pieces */\n macros_used: {\n type: ParameterType.COMPLEX,\n description: \"Array tracking which macros were used and when\"\n },\n /** Total trial duration in milliseconds */\n trial_duration_ms: {\n type: ParameterType.INT,\n description: \"Total time from trial start to completion\"\n }\n },\n citations: \"\"\n};\n\ntype Info = typeof info;\n\n/**\n * **tangram-construct**\n *\n * A jsPsych wrapper around the React-based construction interface.\n *\n * @author Justin Yang & Sean Paul Anderson\n * @see {@link https://github.com/cogtoolslab/tangram_construction.git/tree/main/experiments/jspsych-tangram-prep}\n */\nclass TangramConstructPlugin implements JsPsychPlugin<Info> {\n static info = info;\n\n constructor(private jsPsych: JsPsych) {}\n\n /**\n * Launches the trial by invoking startConstructionTrial\n * with the display element, parameters, and jsPsych instance.\n */\n trial(display_element: HTMLElement, trial: TrialType<Info>) {\n // Wrap onTrialEnd to handle React cleanup and jsPsych trial completion\n const wrappedOnTrialEnd = (data: any) => {\n // Call user-provided callback if exists\n if (trial.onTrialEnd) {\n trial.onTrialEnd(data);\n }\n\n // Clean up React first (before clearing DOM)\n const reactContext = (display_element as any).__reactContext;\n if (reactContext?.root) {\n reactContext.root.unmount();\n }\n\n // Clear display after React cleanup\n display_element.innerHTML = '';\n\n // Finish jsPsych trial with data\n this.jsPsych.finishTrial(data);\n };\n\n // Create parameter object for wrapper\n const params: StartConstructionTrialParams = {\n tangrams: trial.tangrams,\n quickstash_macros: trial.quickstash_macros,\n target: trial.target,\n input: trial.input,\n layout: trial.layout,\n time_limit_ms: trial.time_limit_ms || 0,\n onInteraction: trial.onInteraction,\n onTrialEnd: wrappedOnTrialEnd\n };\n\n // Use React wrapper to start the trial\n const { root, display_element: element, jsPsych } = startConstructionTrial(display_element, params, this.jsPsych);\n \n // Store React context for cleanup\n (element as any).__reactContext = { root, jsPsych };\n }\n}\n\nexport default TangramConstructPlugin;"],"names":["reactModule","require$$0","schedulerModule","reactDomModule","require$$2","clientModule","polysAABB","igcd","inferUnitFromPolys","outerR","edgeToUnitSegments","bp","bb","support","x","y","pointerAnchorNode","pointerSector","piece","cfg","centerX","centerY","q","tl0","pointerR","allowInside","clamped","pieceId","anchorInfo","uuidv4","layout","createRoot","ParameterType"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,27,28,29,30]}