{"version":3,"file":"js/3140-100bf2ea1d61dba0d102.js","mappings":"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C,EAAY,OACZpT,EAAQ,CAAC,EAEb,SAASqT,EAAcnjB,GACrB,MAAO,IAAMA,EAAMrG,aACrB,CAWA,UATA,SAA4B4D,GAC1B,GAAIuS,EAAMrmB,eAAe8T,GACvB,OAAOuS,EAAMvS,GAGf,IAAI6lB,EAAQ7lB,EAAKhV,QAAQ06B,EAAkBE,GAC3C,OAAQrT,EAAMvS,GAAQ2lB,EAAUnmB,KAAKqmB,GAAS,IAAMA,EAAQA,CAC9D,uBChBA,UAWI,EAAO,QAAW,2BAAP,EAMN,WAOP,IAAIC,EAAoB,CAEtB,gBACA,YACA,cACA,SACA,aACA,MACA,MACA,WACA,UACA,QACA,WACA,aAEA,aACA,YAGA,QACA,UAGA,OAGA,UAEA,QACA,SAEA,QAEA,SAEA,SACA,YACA,OACA,QACA,QACA,QACA,aACA,cAGA,UAEA,OAGA,UACA,OAEA,OAEA,YACA,YACA,cAGA,cACA,YAEA,OACA,YACA,SACA,WACA,YAIA,OACA,UAEA,QACA,MACA,OAGA,OACA,MAEA,YAEA,UACA,UACA,SAEA,WAEA,OACA,OACA,SAEA,YACA,QAEA,QACA,aAGA,YACA,WACA,OACA,OACA,SACA,SACA,OAEA,OACA,WACA,UACA,QACA,cACA,YACA,SACA,SACA,WAEA,MACA,aACA,YACA,cAEA,YAEA,OACA,QAEA,MAGA,UAEA,OAIA,SAEA,YAGA,OAEA,WACA,OACA,UACA,UACA,YACA,WACA,WACA,cACA,aACA,SACA,YACA,QACA,aAEA,OACA,UAEA,WACA,YACA,QAEA,aACA,UACA,SACA,cACA,aACA,UAGA,UACA,OACA,QACA,QAEA,MACA,QACA,QAEA,SACA,OACA,WACA,WACA,UACA,YAEA,YACA,UAEA,SAIA,QACA,WAEA,UACA,SACA,YACA,UAEA,QAIA,aACA,YACA,cAIA,SAEA,SAGA,aACA,cACA,WACA,UACA,UACA,OACA,UACA,MAEA,SAKA,UACA,UACA,UACA,SACA,QACA,QACA,WAEA,QAEA,QACA,UACA,OACA,OACA,WACA,OAGA,YAEA,UAGA,QAEA,QACA,YAGA,WACA,WAGA,SACA,SACA,UACA,SAK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","sources":["webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/qs/lib/formats.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/qs/lib/index.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/qs/lib/parse.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/qs/lib/stringify.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/qs/lib/utils.js","webpack://wooftech/./node_modules/@rails/actioncable/app/assets/javascripts/actioncable.esm.js","webpack://wooftech/./node_modules/@react-native/normalize-colors/index.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-component.jsx","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-router.jsx","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/router.jsx","webpack://wooftech/./node_modules/flash-notifications/node_modules/set-state-compare/src/diff-utils.js","webpack://wooftech/./node_modules/flash-notifications/node_modules/set-state-compare/src/memo-compare-props.js","webpack://wooftech/./node_modules/flash-notifications/node_modules/set-state-compare/src/shared.js","webpack://wooftech/./node_modules/flash-notifications/node_modules/set-state-compare/src/shape-component.js","webpack://wooftech/./node_modules/flash-notifications/src/container/notification.jsx","webpack://wooftech/./node_modules/flash-notifications/src/container/index.jsx","webpack://wooftech/./node_modules/haya-select/src/config.js","webpack://wooftech/./node_modules/call-bind/callBound.js","webpack://wooftech/./node_modules/call-bind/index.js","webpack://wooftech/./node_modules/call-bind/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/call-bind/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/clone-deep/index.js","webpack://wooftech/./node_modules/clone-deep/node_modules/is-plain-object/index.js","webpack://wooftech/./node_modules/css-in-js-utils/es/assignStyle.js","webpack://wooftech/./node_modules/css-in-js-utils/es/camelCaseProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/hyphenateProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/cssifyDeclaration.js","webpack://wooftech/./node_modules/css-in-js-utils/es/cssifyObject.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isPrefixedProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isPrefixedValue.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isUnitlessProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/unprefixProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/normalizeProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/resolveArrayValue.js","webpack://wooftech/./node_modules/css-in-js-utils/es/unprefixValue.js","webpack://wooftech/./node_modules/css-in-js-utils/lib/hyphenateProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/lib/isPrefixedValue.js","webpack://wooftech/./node_modules/define-data-property/index.js","webpack://wooftech/./node_modules/define-properties/index.js","webpack://wooftech/./node_modules/define-properties/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/define-properties/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/es-define-property/index.js","webpack://wooftech/./node_modules/es-errors/eval.js","webpack://wooftech/./node_modules/es-errors/index.js","webpack://wooftech/./node_modules/es-errors/range.js","webpack://wooftech/./node_modules/es-errors/ref.js","webpack://wooftech/./node_modules/es-errors/syntax.js","webpack://wooftech/./node_modules/es-errors/type.js","webpack://wooftech/./node_modules/es-errors/uri.js","webpack://wooftech/./node_modules/es-set-tostringtag/index.js","webpack://wooftech/./node_modules/es-set-tostringtag/node_modules/has-tostringtag/shams.js","webpack://wooftech/./node_modules/events/events.js","webpack://wooftech/./node_modules/fbjs/lib/emptyFunction.js","webpack://wooftech/./node_modules/fbjs/lib/invariant.js","webpack://wooftech/./node_modules/fbjs/lib/warning.js","webpack://wooftech/./node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/function-bind/index.js","webpack://wooftech/./node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/has-proto/index.js","webpack://wooftech/./node_modules/globalthis/implementation.browser.js","webpack://wooftech/./node_modules/globalthis/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/define-properties/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/globalthis/polyfill.js","webpack://wooftech/./node_modules/globalthis/shim.js","webpack://wooftech/./node_modules/gopd/index.js","webpack://wooftech/./node_modules/gopd/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/has-symbols/index.js","webpack://wooftech/./node_modules/has-symbols/shams.js","webpack://wooftech/./node_modules/has/src/index.js","webpack://wooftech/./node_modules/hasown/index.js","webpack://wooftech/./node_modules/hasown/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/hasown/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/history/index.js","webpack://wooftech/./node_modules/hyphenate-style-name/index.js","webpack://wooftech/./node_modules/inflection/lib/inflection.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/createPrefixer.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/crossFade.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/cursor.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/filter.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/imageSet.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/logical.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/position.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/sizing.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/transition.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/capitalizeString.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/isObject.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/prefixProperty.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/prefixValue.js","webpack://wooftech/./node_modules/isarray/index.js","webpack://wooftech/./node_modules/isobject/index.js","webpack://wooftech/./node_modules/js-money/lib/currency.js","webpack://wooftech/./node_modules/js-money/lib/index.js","webpack://wooftech/./node_modules/js-money/lib/money.js","webpack://wooftech/./node_modules/kind-of/index.js","webpack://wooftech/./node_modules/lodash/_Symbol.js","webpack://wooftech/./node_modules/lodash/_apply.js","webpack://wooftech/./node_modules/lodash/_arrayLikeKeys.js","webpack://wooftech/./node_modules/lodash/_assignValue.js","webpack://wooftech/./node_modules/lodash/_baseAssignValue.js","webpack://wooftech/./node_modules/lodash/_baseGetTag.js","webpack://wooftech/./node_modules/lodash/_baseIsArguments.js","webpack://wooftech/./node_modules/lodash/_baseIsNative.js","webpack://wooftech/./node_modules/lodash/_baseIsTypedArray.js","webpack://wooftech/./node_modules/lodash/_baseKeysIn.js","webpack://wooftech/./node_modules/lodash/_baseRest.js","webpack://wooftech/./node_modules/lodash/_baseSetToString.js","webpack://wooftech/./node_modules/lodash/_baseTimes.js","webpack://wooftech/./node_modules/lodash/_baseUnary.js","webpack://wooftech/./node_modules/lodash/_copyObject.js","webpack://wooftech/./node_modules/lodash/_coreJsData.js","webpack://wooftech/./node_modules/lodash/_createAssigner.js","webpack://wooftech/./node_modules/lodash/_defineProperty.js","webpack://wooftech/./node_modules/lodash/_freeGlobal.js","webpack://wooftech/./node_modules/lodash/_getNative.js","webpack://wooftech/./node_modules/lodash/_getPrototype.js","webpack://wooftech/./node_modules/lodash/_getRawTag.js","webpack://wooftech/./node_modules/lodash/_getValue.js","webpack://wooftech/./node_modules/lodash/_isIndex.js","webpack://wooftech/./node_modules/lodash/_isIterateeCall.js","webpack://wooftech/./node_modules/lodash/_isMasked.js","webpack://wooftech/./node_modules/lodash/_isPrototype.js","webpack://wooftech/./node_modules/lodash/_nativeKeysIn.js","webpack://wooftech/./node_modules/lodash/_nodeUtil.js","webpack://wooftech/./node_modules/lodash/_objectToString.js","webpack://wooftech/./node_modules/lodash/_overArg.js","webpack://wooftech/./node_modules/lodash/_overRest.js","webpack://wooftech/./node_modules/lodash/_root.js","webpack://wooftech/./node_modules/lodash/_setToString.js","webpack://wooftech/./node_modules/lodash/_shortOut.js","webpack://wooftech/./node_modules/lodash/_toSource.js","webpack://wooftech/./node_modules/lodash/assignIn.js","webpack://wooftech/./node_modules/lodash/constant.js","webpack://wooftech/./node_modules/lodash/eq.js","webpack://wooftech/./node_modules/lodash/extend.js","webpack://wooftech/./node_modules/lodash/identity.js","webpack://wooftech/./node_modules/lodash/isArguments.js","webpack://wooftech/./node_modules/lodash/isArray.js","webpack://wooftech/./node_modules/lodash/isArrayLike.js","webpack://wooftech/./node_modules/lodash/isBuffer.js","webpack://wooftech/./node_modules/lodash/isFunction.js","webpack://wooftech/./node_modules/lodash/isLength.js","webpack://wooftech/./node_modules/lodash/isNaN.js","webpack://wooftech/./node_modules/lodash/isNumber.js","webpack://wooftech/./node_modules/lodash/isObject.js","webpack://wooftech/./node_modules/lodash/isObjectLike.js","webpack://wooftech/./node_modules/lodash/isPlainObject.js","webpack://wooftech/./node_modules/lodash/isString.js","webpack://wooftech/./node_modules/lodash/isTypedArray.js","webpack://wooftech/./node_modules/lodash/keysIn.js","webpack://wooftech/./node_modules/lodash/stubFalse.js","webpack://wooftech/./node_modules/nullthrows/nullthrows.js","webpack://wooftech/./node_modules/object-keys/implementation.js","webpack://wooftech/./node_modules/object-keys/index.js","webpack://wooftech/./node_modules/object-keys/isArguments.js","webpack://wooftech/./node_modules/object-to-formdata/src/index.js","webpack://wooftech/./node_modules/object.assign/implementation.js","webpack://wooftech/./node_modules/object.assign/index.js","webpack://wooftech/./node_modules/object.assign/polyfill.js","webpack://wooftech/./node_modules/object.assign/shim.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/index.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/parse.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/stringify.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/unit.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/walk.js","webpack://wooftech/./node_modules/prop-types-exact/build/helpers/isPlainObject.js","webpack://wooftech/./node_modules/prop-types-exact/src/index.js","webpack://wooftech/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://wooftech/./node_modules/prop-types/index.js","webpack://wooftech/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://wooftech/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://wooftech/./node_modules/react-dom/client.js","webpack://wooftech/./node_modules/react-dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalContent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalFocusTrap.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalPortal.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Pressable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hash.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/preprocess.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/validate.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Text/TextAncestorContext.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Text/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/UIManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/View/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/createElement/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/processColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/isDisabled.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/addEventListener/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/canUseDom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/createDOMProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/forwardedProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/getBoundingClientRect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/isSelectionValid/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/isWebColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/mergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/modality/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/pick/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/prefixStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/prefixStyles/static.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/setValueForStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/unitlessNumbers/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useElementLayout/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useEvent/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useHover/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLayoutEffect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLocale/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLocale/isLocaleRTL.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useMergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePlatformMethods/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePressEvents/PressResponder.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePressEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderSystem.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/createResponderEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/utils.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useStable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/warnOnce/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/I18nManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/isWebColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeColor.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/unitlessNumbers.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/createCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/createReactDOMStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/hash.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/hyphenateStyleName.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/prefixStyles/static.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/prefixStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/preprocess.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Text/TextAncestorContext.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Text/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/unitlessNumbers/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/setValueForStyles/dangerousStyleValue.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/setValueForStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/UIManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/View/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/createDOMProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/createElement/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/processColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/findNodeHandle/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/unmountComponentAtNode/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/render/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/NativeModules/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AccessibilityInfo/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Alert/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Platform/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/deepDiffer/index.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/RefreshControl/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Dimensions/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/TextInputState/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/dismissKeyboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ScrollView/ScrollViewBase.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ScrollView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/InteractionManager/TaskQueue.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/vendor/emitter/EventEmitter.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/requestIdleCallback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/InteractionManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Batchinator/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/clamp.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/infoLog/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/CellRenderMask.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/ChildListCollection.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/FillRateHelper/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/StateSafePureComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/ViewabilityHelper/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizeUtils/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/index.js","webpack://wooftech/./node_modules/memoize-one/dist/memoize-one.esm.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/FlatList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/FlatList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedModule.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/Platform.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedHelper.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedNode.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValue.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/useAnimatedProps.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/useRefEffect.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/useMergeRefs.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedFlatList.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AssetRegistry/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/ImageLoader/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/PixelRatio/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Image/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedImage.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedScrollView.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedSectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/SectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/SectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedSectionList.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedText.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedView.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/Animation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/DecayAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/SpringConfig.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/SpringAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/Easing.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/bezier.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/TimingAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Easing/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedColor.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedImplementation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedMock.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/Animated.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Animated/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Appearance/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/AppContainer.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/renderApplication.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppState/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/BackHandler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Clipboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Keyboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/LayoutAnimation/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/LayoutAnimation/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Linking/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/NativeEventEmitter/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/TouchHistoryMath/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/PanResponder/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/PanResponder/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Share/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Vibration/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ActivityIndicator/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePressEvents/PressResponder.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePressEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableOpacity/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Button/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/CheckBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ImageBackground/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/KeyboardAvoidingView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalPortal.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalContent.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalFocusTrap.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Picker/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Picker/PickerItem.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/addEventListener/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/modality/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useEvent/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useHover/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Pressable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ProgressBar/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/SafeAreaView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StatusBar/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/multiplyStyleLengthValue/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Switch/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TextInput/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/PooledClass/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/BoundingDimensions.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/Position.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableHighlight/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/UnimplementedView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableNativeFeedback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableWithoutFeedback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/VirtualizedList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/YellowBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/LogBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/DeviceEventEmitter/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useColorScheme/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useLocaleContext/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useWindowDimensions/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/isDisabled.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAriaRole.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/canUseDom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/forwardedProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/getBoundingClientRect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/mergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/pick/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useElementLayout/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLayoutEffect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLocale/isLocaleRTL.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLocale/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useMergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePlatformMethods/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/createResponderEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderEventTypes.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/utils.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/isSelectionValid/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderSystem.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useStable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/warnOnce/index.js","webpack://wooftech/./node_modules/react/cjs/react.production.min.js","webpack://wooftech/./node_modules/react/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/implementation.js","webpack://wooftech/./node_modules/reflect.ownkeys/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/define-properties/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/has-property-descriptors/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/polyfill.js","webpack://wooftech/./node_modules/reflect.ownkeys/shim.js","webpack://wooftech/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://wooftech/./node_modules/scheduler/index.js","webpack://wooftech/./node_modules/set-function-length/index.js","webpack://wooftech/./node_modules/shallow-clone/index.js","webpack://wooftech/./node_modules/side-channel/index.js","webpack://wooftech/./node_modules/side-channel/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/side-channel/node_modules/object-inspect/index.js","webpack://wooftech/./node_modules/source-map/lib/array-set.js","webpack://wooftech/./node_modules/source-map/lib/base64-vlq.js","webpack://wooftech/./node_modules/source-map/lib/base64.js","webpack://wooftech/./node_modules/source-map/lib/binary-search.js","webpack://wooftech/./node_modules/source-map/lib/mapping-list.js","webpack://wooftech/./node_modules/source-map/lib/quick-sort.js","webpack://wooftech/./node_modules/source-map/lib/source-map-consumer.js","webpack://wooftech/./node_modules/source-map/lib/source-map-generator.js","webpack://wooftech/./node_modules/source-map/lib/source-node.js","webpack://wooftech/./node_modules/source-map/lib/util.js","webpack://wooftech/./node_modules/source-map/source-map.js","webpack://wooftech/./node_modules/spark-md5/spark-md5.js","webpack://wooftech/./node_modules/stimulus/dist/stimulus.js","webpack://wooftech/./node_modules/stimulus/dist/webpack-helpers.js","webpack://wooftech/./node_modules/strftime/strftime.js","webpack://wooftech/./node_modules/styleq/dist/styleq.js","webpack://wooftech/./node_modules/styleq/dist/transform-localize-style.js","webpack://wooftech/./node_modules/styleq/transform-localize-style.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/native.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/rng.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/v4.js","webpack://wooftech/./node_modules/wake-event/wake-event.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/extends.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/objectSpread2.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/typeof.js","webpack://wooftech/./node_modules/epic-locks/index.cjs","webpack://wooftech/./node_modules/epic-locks/src/readers-writer-lock.cjs","webpack://wooftech/./node_modules/form-data-objectizer/index.cjs","webpack://wooftech/./node_modules/numberable/index.cjs","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/CreateMethodProperty.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/FromPropertyDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/IsDataDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/IsPropertyKey.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/SameValue.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/Type.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/5/Type.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/DefineOwnProperty.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/IsArray.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/OwnPropertyKeys.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/fromPropertyDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/isNaN.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/records/property-descriptor.js","webpack://wooftech/./node_modules/uniqunize/index.cjs","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/error-messages.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/column.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/attribute.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/reflection.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/can-can.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/api.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/command-submit-data.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/destroy-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/serializer.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/commands-pool.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/config.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/custom-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/deserializer.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/devise.mjs","webpack://wooftech/./node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/source-maps-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/error-logger.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/events.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/logger.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-class-require.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/attribute-not-loaded-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/cache-key-generator.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-name.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/not-loaded-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/scope.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-recipes-model-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-recipes-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/preloaded.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/models-response-reader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/result.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/routes-native.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/run-last.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/services.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/session-status-updater.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/url-encode.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-event-emitter.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-event-listener.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/validation-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/validation-errors.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/set-state-compare/src/memo-compare-props.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/set-state-compare/src/shape-component.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/set-state-compare/src/shared.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/set-state-compare/src/use-shape.js","webpack://wooftech/./node_modules/on-location-changed/src/on-location-changed-callback.js","webpack://wooftech/./node_modules/on-location-changed/src/callbacks-handler.js","webpack://wooftech/./node_modules/on-location-changed/src/on-location-changed.js","webpack://wooftech/./node_modules/on-location-changed/src/use-path.js","webpack://wooftech/./node_modules/set-state-compare/src/diff-utils.js","webpack://wooftech/./node_modules/set-state-compare/src/memo-compare-props.js","webpack://wooftech/./node_modules/set-state-compare/src/memo.js","webpack://wooftech/./node_modules/set-state-compare/src/shape-component.js","webpack://wooftech/./node_modules/set-state-compare/src/shared.js","webpack://wooftech/./node_modules/diggerize/index.mjs","webpack://wooftech/./node_modules/escape-string-regexp/index.js","webpack://wooftech/./node_modules/fetching-object/index.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/error-handlers/raiser.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/index.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/error-handlers/raise-in-background.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/events.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/use-i18n.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/use-locale.mjs","webpack://wooftech/./node_modules/incorporator/index.mjs","webpack://wooftech/./node_modules/parent-element/index.mjs"],"sourcesContent":["'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar split = String.prototype.split;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n if (generateArrayPrefix === 'comma' && encodeValuesOnly) {\n var valuesArray = split.call(String(obj), ',');\n var valuesJoined = '';\n for (var i = 0; i < valuesArray.length; ++i) {\n valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format));\n }\n return [formatter(keyValue) + (isArray(obj) && valuesArray.length === 1 ? '[]' : '') + '=' + valuesJoined];\n }\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = generateArrayPrefix === 'comma' && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","var adapters = {\n logger: typeof console !== \"undefined\" ? console : undefined,\n WebSocket: typeof WebSocket !== \"undefined\" ? WebSocket : undefined\n};\n\nvar logger = {\n log(...messages) {\n if (this.enabled) {\n messages.push(Date.now());\n adapters.logger.log(\"[ActionCable]\", ...messages);\n }\n }\n};\n\nconst now = () => (new Date).getTime();\n\nconst secondsSince = time => (now() - time) / 1e3;\n\nclass ConnectionMonitor {\n constructor(connection) {\n this.visibilityDidChange = this.visibilityDidChange.bind(this);\n this.connection = connection;\n this.reconnectAttempts = 0;\n }\n start() {\n if (!this.isRunning()) {\n this.startedAt = now();\n delete this.stoppedAt;\n this.startPolling();\n addEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`);\n }\n }\n stop() {\n if (this.isRunning()) {\n this.stoppedAt = now();\n this.stopPolling();\n removeEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(\"ConnectionMonitor stopped\");\n }\n }\n isRunning() {\n return this.startedAt && !this.stoppedAt;\n }\n recordMessage() {\n this.pingedAt = now();\n }\n recordConnect() {\n this.reconnectAttempts = 0;\n delete this.disconnectedAt;\n logger.log(\"ConnectionMonitor recorded connect\");\n }\n recordDisconnect() {\n this.disconnectedAt = now();\n logger.log(\"ConnectionMonitor recorded disconnect\");\n }\n startPolling() {\n this.stopPolling();\n this.poll();\n }\n stopPolling() {\n clearTimeout(this.pollTimeout);\n }\n poll() {\n this.pollTimeout = setTimeout((() => {\n this.reconnectIfStale();\n this.poll();\n }), this.getPollInterval());\n }\n getPollInterval() {\n const {staleThreshold: staleThreshold, reconnectionBackoffRate: reconnectionBackoffRate} = this.constructor;\n const backoff = Math.pow(1 + reconnectionBackoffRate, Math.min(this.reconnectAttempts, 10));\n const jitterMax = this.reconnectAttempts === 0 ? 1 : reconnectionBackoffRate;\n const jitter = jitterMax * Math.random();\n return staleThreshold * 1e3 * backoff * (1 + jitter);\n }\n reconnectIfStale() {\n if (this.connectionIsStale()) {\n logger.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${secondsSince(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`);\n this.reconnectAttempts++;\n if (this.disconnectedRecently()) {\n logger.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${secondsSince(this.disconnectedAt)} s`);\n } else {\n logger.log(\"ConnectionMonitor reopening\");\n this.connection.reopen();\n }\n }\n }\n get refreshedAt() {\n return this.pingedAt ? this.pingedAt : this.startedAt;\n }\n connectionIsStale() {\n return secondsSince(this.refreshedAt) > this.constructor.staleThreshold;\n }\n disconnectedRecently() {\n return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;\n }\n visibilityDidChange() {\n if (document.visibilityState === \"visible\") {\n setTimeout((() => {\n if (this.connectionIsStale() || !this.connection.isOpen()) {\n logger.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`);\n this.connection.reopen();\n }\n }), 200);\n }\n }\n}\n\nConnectionMonitor.staleThreshold = 6;\n\nConnectionMonitor.reconnectionBackoffRate = .15;\n\nvar INTERNAL = {\n message_types: {\n welcome: \"welcome\",\n disconnect: \"disconnect\",\n ping: \"ping\",\n confirmation: \"confirm_subscription\",\n rejection: \"reject_subscription\"\n },\n disconnect_reasons: {\n unauthorized: \"unauthorized\",\n invalid_request: \"invalid_request\",\n server_restart: \"server_restart\",\n remote: \"remote\"\n },\n default_mount_path: \"/cable\",\n protocols: [ \"actioncable-v1-json\", \"actioncable-unsupported\" ]\n};\n\nconst {message_types: message_types, protocols: protocols} = INTERNAL;\n\nconst supportedProtocols = protocols.slice(0, protocols.length - 1);\n\nconst indexOf = [].indexOf;\n\nclass Connection {\n constructor(consumer) {\n this.open = this.open.bind(this);\n this.consumer = consumer;\n this.subscriptions = this.consumer.subscriptions;\n this.monitor = new ConnectionMonitor(this);\n this.disconnected = true;\n }\n send(data) {\n if (this.isOpen()) {\n this.webSocket.send(JSON.stringify(data));\n return true;\n } else {\n return false;\n }\n }\n open() {\n if (this.isActive()) {\n logger.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`);\n return false;\n } else {\n const socketProtocols = [ ...protocols, ...this.consumer.subprotocols || [] ];\n logger.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${socketProtocols}`);\n if (this.webSocket) {\n this.uninstallEventHandlers();\n }\n this.webSocket = new adapters.WebSocket(this.consumer.url, socketProtocols);\n this.installEventHandlers();\n this.monitor.start();\n return true;\n }\n }\n close({allowReconnect: allowReconnect} = {\n allowReconnect: true\n }) {\n if (!allowReconnect) {\n this.monitor.stop();\n }\n if (this.isOpen()) {\n return this.webSocket.close();\n }\n }\n reopen() {\n logger.log(`Reopening WebSocket, current state is ${this.getState()}`);\n if (this.isActive()) {\n try {\n return this.close();\n } catch (error) {\n logger.log(\"Failed to reopen WebSocket\", error);\n } finally {\n logger.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`);\n setTimeout(this.open, this.constructor.reopenDelay);\n }\n } else {\n return this.open();\n }\n }\n getProtocol() {\n if (this.webSocket) {\n return this.webSocket.protocol;\n }\n }\n isOpen() {\n return this.isState(\"open\");\n }\n isActive() {\n return this.isState(\"open\", \"connecting\");\n }\n triedToReconnect() {\n return this.monitor.reconnectAttempts > 0;\n }\n isProtocolSupported() {\n return indexOf.call(supportedProtocols, this.getProtocol()) >= 0;\n }\n isState(...states) {\n return indexOf.call(states, this.getState()) >= 0;\n }\n getState() {\n if (this.webSocket) {\n for (let state in adapters.WebSocket) {\n if (adapters.WebSocket[state] === this.webSocket.readyState) {\n return state.toLowerCase();\n }\n }\n }\n return null;\n }\n installEventHandlers() {\n for (let eventName in this.events) {\n const handler = this.events[eventName].bind(this);\n this.webSocket[`on${eventName}`] = handler;\n }\n }\n uninstallEventHandlers() {\n for (let eventName in this.events) {\n this.webSocket[`on${eventName}`] = function() {};\n }\n }\n}\n\nConnection.reopenDelay = 500;\n\nConnection.prototype.events = {\n message(event) {\n if (!this.isProtocolSupported()) {\n return;\n }\n const {identifier: identifier, message: message, reason: reason, reconnect: reconnect, type: type} = JSON.parse(event.data);\n this.monitor.recordMessage();\n switch (type) {\n case message_types.welcome:\n if (this.triedToReconnect()) {\n this.reconnectAttempted = true;\n }\n this.monitor.recordConnect();\n return this.subscriptions.reload();\n\n case message_types.disconnect:\n logger.log(`Disconnecting. Reason: ${reason}`);\n return this.close({\n allowReconnect: reconnect\n });\n\n case message_types.ping:\n return null;\n\n case message_types.confirmation:\n this.subscriptions.confirmSubscription(identifier);\n if (this.reconnectAttempted) {\n this.reconnectAttempted = false;\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: true\n });\n } else {\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: false\n });\n }\n\n case message_types.rejection:\n return this.subscriptions.reject(identifier);\n\n default:\n return this.subscriptions.notify(identifier, \"received\", message);\n }\n },\n open() {\n logger.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`);\n this.disconnected = false;\n if (!this.isProtocolSupported()) {\n logger.log(\"Protocol is unsupported. Stopping monitor and disconnecting.\");\n return this.close({\n allowReconnect: false\n });\n }\n },\n close(event) {\n logger.log(\"WebSocket onclose event\");\n if (this.disconnected) {\n return;\n }\n this.disconnected = true;\n this.monitor.recordDisconnect();\n return this.subscriptions.notifyAll(\"disconnected\", {\n willAttemptReconnect: this.monitor.isRunning()\n });\n },\n error() {\n logger.log(\"WebSocket onerror event\");\n }\n};\n\nconst extend = function(object, properties) {\n if (properties != null) {\n for (let key in properties) {\n const value = properties[key];\n object[key] = value;\n }\n }\n return object;\n};\n\nclass Subscription {\n constructor(consumer, params = {}, mixin) {\n this.consumer = consumer;\n this.identifier = JSON.stringify(params);\n extend(this, mixin);\n }\n perform(action, data = {}) {\n data.action = action;\n return this.send(data);\n }\n send(data) {\n return this.consumer.send({\n command: \"message\",\n identifier: this.identifier,\n data: JSON.stringify(data)\n });\n }\n unsubscribe() {\n return this.consumer.subscriptions.remove(this);\n }\n}\n\nclass SubscriptionGuarantor {\n constructor(subscriptions) {\n this.subscriptions = subscriptions;\n this.pendingSubscriptions = [];\n }\n guarantee(subscription) {\n if (this.pendingSubscriptions.indexOf(subscription) == -1) {\n logger.log(`SubscriptionGuarantor guaranteeing ${subscription.identifier}`);\n this.pendingSubscriptions.push(subscription);\n } else {\n logger.log(`SubscriptionGuarantor already guaranteeing ${subscription.identifier}`);\n }\n this.startGuaranteeing();\n }\n forget(subscription) {\n logger.log(`SubscriptionGuarantor forgetting ${subscription.identifier}`);\n this.pendingSubscriptions = this.pendingSubscriptions.filter((s => s !== subscription));\n }\n startGuaranteeing() {\n this.stopGuaranteeing();\n this.retrySubscribing();\n }\n stopGuaranteeing() {\n clearTimeout(this.retryTimeout);\n }\n retrySubscribing() {\n this.retryTimeout = setTimeout((() => {\n if (this.subscriptions && typeof this.subscriptions.subscribe === \"function\") {\n this.pendingSubscriptions.map((subscription => {\n logger.log(`SubscriptionGuarantor resubscribing ${subscription.identifier}`);\n this.subscriptions.subscribe(subscription);\n }));\n }\n }), 500);\n }\n}\n\nclass Subscriptions {\n constructor(consumer) {\n this.consumer = consumer;\n this.guarantor = new SubscriptionGuarantor(this);\n this.subscriptions = [];\n }\n create(channelName, mixin) {\n const channel = channelName;\n const params = typeof channel === \"object\" ? channel : {\n channel: channel\n };\n const subscription = new Subscription(this.consumer, params, mixin);\n return this.add(subscription);\n }\n add(subscription) {\n this.subscriptions.push(subscription);\n this.consumer.ensureActiveConnection();\n this.notify(subscription, \"initialized\");\n this.subscribe(subscription);\n return subscription;\n }\n remove(subscription) {\n this.forget(subscription);\n if (!this.findAll(subscription.identifier).length) {\n this.sendCommand(subscription, \"unsubscribe\");\n }\n return subscription;\n }\n reject(identifier) {\n return this.findAll(identifier).map((subscription => {\n this.forget(subscription);\n this.notify(subscription, \"rejected\");\n return subscription;\n }));\n }\n forget(subscription) {\n this.guarantor.forget(subscription);\n this.subscriptions = this.subscriptions.filter((s => s !== subscription));\n return subscription;\n }\n findAll(identifier) {\n return this.subscriptions.filter((s => s.identifier === identifier));\n }\n reload() {\n return this.subscriptions.map((subscription => this.subscribe(subscription)));\n }\n notifyAll(callbackName, ...args) {\n return this.subscriptions.map((subscription => this.notify(subscription, callbackName, ...args)));\n }\n notify(subscription, callbackName, ...args) {\n let subscriptions;\n if (typeof subscription === \"string\") {\n subscriptions = this.findAll(subscription);\n } else {\n subscriptions = [ subscription ];\n }\n return subscriptions.map((subscription => typeof subscription[callbackName] === \"function\" ? subscription[callbackName](...args) : undefined));\n }\n subscribe(subscription) {\n if (this.sendCommand(subscription, \"subscribe\")) {\n this.guarantor.guarantee(subscription);\n }\n }\n confirmSubscription(identifier) {\n logger.log(`Subscription confirmed ${identifier}`);\n this.findAll(identifier).map((subscription => this.guarantor.forget(subscription)));\n }\n sendCommand(subscription, command) {\n const {identifier: identifier} = subscription;\n return this.consumer.send({\n command: command,\n identifier: identifier\n });\n }\n}\n\nclass Consumer {\n constructor(url) {\n this._url = url;\n this.subscriptions = new Subscriptions(this);\n this.connection = new Connection(this);\n this.subprotocols = [];\n }\n get url() {\n return createWebSocketURL(this._url);\n }\n send(data) {\n return this.connection.send(data);\n }\n connect() {\n return this.connection.open();\n }\n disconnect() {\n return this.connection.close({\n allowReconnect: false\n });\n }\n ensureActiveConnection() {\n if (!this.connection.isActive()) {\n return this.connection.open();\n }\n }\n addSubProtocol(subprotocol) {\n this.subprotocols = [ ...this.subprotocols, subprotocol ];\n }\n}\n\nfunction createWebSocketURL(url) {\n if (typeof url === \"function\") {\n url = url();\n }\n if (url && !/^wss?:/i.test(url)) {\n const a = document.createElement(\"a\");\n a.href = url;\n a.href = a.href;\n a.protocol = a.protocol.replace(\"http\", \"ws\");\n return a.href;\n } else {\n return url;\n }\n}\n\nfunction createConsumer(url = getConfig(\"url\") || INTERNAL.default_mount_path) {\n return new Consumer(url);\n}\n\nfunction getConfig(name) {\n const element = document.head.querySelector(`meta[name='action-cable-${name}']`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n}\n\nexport { Connection, ConnectionMonitor, Consumer, INTERNAL, Subscription, SubscriptionGuarantor, Subscriptions, adapters, createConsumer, createWebSocketURL, getConfig, logger };\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 * @format\n * @noflow\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nfunction normalizeColor(color) {\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n if (typeof color !== 'string') {\n return null;\n }\n\n const matchers = getMatchers();\n let match;\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers.hex6.exec(color))) {\n return parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n const colorFromKeyword = normalizeKeyword(color);\n if (colorFromKeyword != null) {\n return colorFromKeyword;\n }\n\n if ((match = matchers.rgb.exec(color))) {\n return (\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) | // b\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.rgba.exec(color))) {\n // rgba(R G B / A) notation\n if (match[6] !== undefined) {\n return (\n ((parse255(match[6]) << 24) | // r\n (parse255(match[7]) << 16) | // g\n (parse255(match[8]) << 8) | // b\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // rgba(R, G, B, A) notation\n return (\n ((parse255(match[2]) << 24) | // r\n (parse255(match[3]) << 16) | // g\n (parse255(match[4]) << 8) | // b\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hex3.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16,\n ) >>> 0\n );\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers.hex8.exec(color))) {\n return parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers.hex4.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16,\n ) >>> 0\n );\n }\n\n if ((match = matchers.hsl.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]), // l\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hsla.exec(color))) {\n // hsla(H S L / A) notation\n if (match[6] !== undefined) {\n return (\n (hslToRgb(\n parse360(match[6]), // h\n parsePercentage(match[7]), // s\n parsePercentage(match[8]), // l\n ) |\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // hsla(H, S, L, A) notation\n return (\n (hslToRgb(\n parse360(match[2]), // h\n parsePercentage(match[3]), // s\n parsePercentage(match[4]), // l\n ) |\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hwb.exec(color))) {\n return (\n (hwbToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // w\n parsePercentage(match[3]), // b\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n (Math.round(r * 255) << 24) |\n (Math.round(g * 255) << 16) |\n (Math.round(b * 255) << 8)\n );\n}\n\nfunction hwbToRgb(h, w, b) {\n if (w + b >= 1) {\n const gray = Math.round((w * 255) / (w + b));\n\n return (gray << 24) | (gray << 16) | (gray << 8);\n }\n\n const red = hue2rgb(0, 1, h + 1 / 3) * (1 - w - b) + w;\n const green = hue2rgb(0, 1, h) * (1 - w - b) + w;\n const blue = hue2rgb(0, 1, h - 1 / 3) * (1 - w - b) + w;\n\n return (\n (Math.round(red * 255) << 24) |\n (Math.round(green * 255) << 16) |\n (Math.round(blue * 255) << 8)\n );\n}\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,?\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nfunction callWithSlashSeparator(...args) {\n return (\n '\\\\(\\\\s*(' +\n args.slice(0, args.length - 1).join(')\\\\s*,?\\\\s*(') +\n ')\\\\s*/\\\\s*(' +\n args[args.length - 1] +\n ')\\\\s*\\\\)'\n );\n}\n\nfunction commaSeparatedCall(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nlet cachedMatchers;\n\nfunction getMatchers() {\n if (cachedMatchers === undefined) {\n cachedMatchers = {\n rgb: new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)),\n rgba: new RegExp(\n 'rgba(' +\n commaSeparatedCall(NUMBER, NUMBER, NUMBER, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, NUMBER, NUMBER, NUMBER) +\n ')',\n ),\n hsl: new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hsla: new RegExp(\n 'hsla(' +\n commaSeparatedCall(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n ')',\n ),\n hwb: new RegExp('hwb' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hex3: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex4: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#([0-9a-fA-F]{6})$/,\n hex8: /^#([0-9a-fA-F]{8})$/,\n };\n }\n return cachedMatchers;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n const int = parseFloat(str);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nfunction normalizeKeyword(name) {\n // prettier-ignore\n switch (name) {\n case 'transparent': return 0x00000000;\n // http://www.w3.org/TR/css3-color/#svg-color\n case 'aliceblue': return 0xf0f8ffff;\n case 'antiquewhite': return 0xfaebd7ff;\n case 'aqua': return 0x00ffffff;\n case 'aquamarine': return 0x7fffd4ff;\n case 'azure': return 0xf0ffffff;\n case 'beige': return 0xf5f5dcff;\n case 'bisque': return 0xffe4c4ff;\n case 'black': return 0x000000ff;\n case 'blanchedalmond': return 0xffebcdff;\n case 'blue': return 0x0000ffff;\n case 'blueviolet': return 0x8a2be2ff;\n case 'brown': return 0xa52a2aff;\n case 'burlywood': return 0xdeb887ff;\n case 'burntsienna': return 0xea7e5dff;\n case 'cadetblue': return 0x5f9ea0ff;\n case 'chartreuse': return 0x7fff00ff;\n case 'chocolate': return 0xd2691eff;\n case 'coral': return 0xff7f50ff;\n case 'cornflowerblue': return 0x6495edff;\n case 'cornsilk': return 0xfff8dcff;\n case 'crimson': return 0xdc143cff;\n case 'cyan': return 0x00ffffff;\n case 'darkblue': return 0x00008bff;\n case 'darkcyan': return 0x008b8bff;\n case 'darkgoldenrod': return 0xb8860bff;\n case 'darkgray': return 0xa9a9a9ff;\n case 'darkgreen': return 0x006400ff;\n case 'darkgrey': return 0xa9a9a9ff;\n case 'darkkhaki': return 0xbdb76bff;\n case 'darkmagenta': return 0x8b008bff;\n case 'darkolivegreen': return 0x556b2fff;\n case 'darkorange': return 0xff8c00ff;\n case 'darkorchid': return 0x9932ccff;\n case 'darkred': return 0x8b0000ff;\n case 'darksalmon': return 0xe9967aff;\n case 'darkseagreen': return 0x8fbc8fff;\n case 'darkslateblue': return 0x483d8bff;\n case 'darkslategray': return 0x2f4f4fff;\n case 'darkslategrey': return 0x2f4f4fff;\n case 'darkturquoise': return 0x00ced1ff;\n case 'darkviolet': return 0x9400d3ff;\n case 'deeppink': return 0xff1493ff;\n case 'deepskyblue': return 0x00bfffff;\n case 'dimgray': return 0x696969ff;\n case 'dimgrey': return 0x696969ff;\n case 'dodgerblue': return 0x1e90ffff;\n case 'firebrick': return 0xb22222ff;\n case 'floralwhite': return 0xfffaf0ff;\n case 'forestgreen': return 0x228b22ff;\n case 'fuchsia': return 0xff00ffff;\n case 'gainsboro': return 0xdcdcdcff;\n case 'ghostwhite': return 0xf8f8ffff;\n case 'gold': return 0xffd700ff;\n case 'goldenrod': return 0xdaa520ff;\n case 'gray': return 0x808080ff;\n case 'green': return 0x008000ff;\n case 'greenyellow': return 0xadff2fff;\n case 'grey': return 0x808080ff;\n case 'honeydew': return 0xf0fff0ff;\n case 'hotpink': return 0xff69b4ff;\n case 'indianred': return 0xcd5c5cff;\n case 'indigo': return 0x4b0082ff;\n case 'ivory': return 0xfffff0ff;\n case 'khaki': return 0xf0e68cff;\n case 'lavender': return 0xe6e6faff;\n case 'lavenderblush': return 0xfff0f5ff;\n case 'lawngreen': return 0x7cfc00ff;\n case 'lemonchiffon': return 0xfffacdff;\n case 'lightblue': return 0xadd8e6ff;\n case 'lightcoral': return 0xf08080ff;\n case 'lightcyan': return 0xe0ffffff;\n case 'lightgoldenrodyellow': return 0xfafad2ff;\n case 'lightgray': return 0xd3d3d3ff;\n case 'lightgreen': return 0x90ee90ff;\n case 'lightgrey': return 0xd3d3d3ff;\n case 'lightpink': return 0xffb6c1ff;\n case 'lightsalmon': return 0xffa07aff;\n case 'lightseagreen': return 0x20b2aaff;\n case 'lightskyblue': return 0x87cefaff;\n case 'lightslategray': return 0x778899ff;\n case 'lightslategrey': return 0x778899ff;\n case 'lightsteelblue': return 0xb0c4deff;\n case 'lightyellow': return 0xffffe0ff;\n case 'lime': return 0x00ff00ff;\n case 'limegreen': return 0x32cd32ff;\n case 'linen': return 0xfaf0e6ff;\n case 'magenta': return 0xff00ffff;\n case 'maroon': return 0x800000ff;\n case 'mediumaquamarine': return 0x66cdaaff;\n case 'mediumblue': return 0x0000cdff;\n case 'mediumorchid': return 0xba55d3ff;\n case 'mediumpurple': return 0x9370dbff;\n case 'mediumseagreen': return 0x3cb371ff;\n case 'mediumslateblue': return 0x7b68eeff;\n case 'mediumspringgreen': return 0x00fa9aff;\n case 'mediumturquoise': return 0x48d1ccff;\n case 'mediumvioletred': return 0xc71585ff;\n case 'midnightblue': return 0x191970ff;\n case 'mintcream': return 0xf5fffaff;\n case 'mistyrose': return 0xffe4e1ff;\n case 'moccasin': return 0xffe4b5ff;\n case 'navajowhite': return 0xffdeadff;\n case 'navy': return 0x000080ff;\n case 'oldlace': return 0xfdf5e6ff;\n case 'olive': return 0x808000ff;\n case 'olivedrab': return 0x6b8e23ff;\n case 'orange': return 0xffa500ff;\n case 'orangered': return 0xff4500ff;\n case 'orchid': return 0xda70d6ff;\n case 'palegoldenrod': return 0xeee8aaff;\n case 'palegreen': return 0x98fb98ff;\n case 'paleturquoise': return 0xafeeeeff;\n case 'palevioletred': return 0xdb7093ff;\n case 'papayawhip': return 0xffefd5ff;\n case 'peachpuff': return 0xffdab9ff;\n case 'peru': return 0xcd853fff;\n case 'pink': return 0xffc0cbff;\n case 'plum': return 0xdda0ddff;\n case 'powderblue': return 0xb0e0e6ff;\n case 'purple': return 0x800080ff;\n case 'rebeccapurple': return 0x663399ff;\n case 'red': return 0xff0000ff;\n case 'rosybrown': return 0xbc8f8fff;\n case 'royalblue': return 0x4169e1ff;\n case 'saddlebrown': return 0x8b4513ff;\n case 'salmon': return 0xfa8072ff;\n case 'sandybrown': return 0xf4a460ff;\n case 'seagreen': return 0x2e8b57ff;\n case 'seashell': return 0xfff5eeff;\n case 'sienna': return 0xa0522dff;\n case 'silver': return 0xc0c0c0ff;\n case 'skyblue': return 0x87ceebff;\n case 'slateblue': return 0x6a5acdff;\n case 'slategray': return 0x708090ff;\n case 'slategrey': return 0x708090ff;\n case 'snow': return 0xfffafaff;\n case 'springgreen': return 0x00ff7fff;\n case 'steelblue': return 0x4682b4ff;\n case 'tan': return 0xd2b48cff;\n case 'teal': return 0x008080ff;\n case 'thistle': return 0xd8bfd8ff;\n case 'tomato': return 0xff6347ff;\n case 'turquoise': return 0x40e0d0ff;\n case 'violet': return 0xee82eeff;\n case 'wheat': return 0xf5deb3ff;\n case 'white': return 0xffffffff;\n case 'whitesmoke': return 0xf5f5f5ff;\n case 'yellow': return 0xffff00ff;\n case 'yellowgreen': return 0x9acd32ff;\n }\n return null;\n}\n\nmodule.exports = normalizeColor;\n","import fetchingObject from \"fetching-object\"\nimport {ShapeComponent} from \"set-state-compare/src/shape-component\"\n\nexport default class BaseComponent extends ShapeComponent {\n p = fetchingObject(() => this.props)\n s = fetchingObject(() => this.shape || this.state)\n tt = fetchingObject(this)\n}\n","import config from \"./config.mjs\"\nimport escapeStringRegexp from \"escape-string-regexp\"\nimport * as inflection from \"inflection\"\nimport PropTypes from \"prop-types\"\nimport {useCallback, useMemo} from \"react\"\nimport useShape from \"set-state-compare/src/use-shape.js\"\n\nconst useRouter = (props) => {\n const s = useShape(props)\n\n const findRouteParams = useCallback((routeDefinition) => {\n const result = []\n const parts = routeDefinition.path.split(\"/\")\n\n for (const part of parts) {\n if (part.match(/^:([a-z_]+)$/))\n result.push(part)\n }\n\n return result\n }, [])\n\n const getPath = useCallback(() => {\n let path = s.p.path || window.location.pathname\n\n path = path.replace(/[/]+$/, \"\")\n\n return path\n }, [])\n\n const getRouteDefinitions = useCallback(() => s.p.routeDefinitions || config.getRouteDefinitions(), [])\n const getRoutes = useCallback(() => s.p.routes || config.getRoutes(), [])\n\n const parseRouteDefinitions = useCallback(() => {\n const Locales = require(\"shared/locales\").default\n const routeDefinitions = getRouteDefinitions()\n const routes = getRoutes()\n const regex = /:([A-z\\d_]+)/\n const parsedRouteDefinitions = []\n\n for (const locale of Locales.availableLocales()) {\n for (const routeDefinition of routeDefinitions.routes) {\n const routePathName = `${inflection.camelize(routeDefinition.name, true)}Path`\n const params = findRouteParams(routeDefinition)\n\n params.push({locale})\n\n if (!(routePathName in routes))\n throw new Error(`${routePathName} not found in routes: ${Object.keys(routes, \", \")}`)\n\n const routePath = routes[routePathName](...params).replace(/[/]+$/, \"\")\n const groups = []\n let pathRegexString = \"^\"\n\n pathRegexString += escapeStringRegexp(routePath)\n\n while (true) {\n const match = pathRegexString.match(regex)\n\n if (!match) break\n\n const variableName = match[1]\n\n groups.push(variableName)\n\n pathRegexString = pathRegexString.replace(match[0], \"([^/]+)\")\n }\n\n pathRegexString += \"$\"\n\n const pathRegex = new RegExp(pathRegexString)\n\n parsedRouteDefinitions.push({groups, pathRegex, routeDefinition})\n }\n }\n\n return parsedRouteDefinitions\n }, [])\n\n const parsedRouteDefinitions = useMemo(() => parseRouteDefinitions(), [])\n\n s.updateMeta({parsedRouteDefinitions})\n\n const findMatchingRoute = useCallback(() => {\n const path = getPath()\n\n for (const parsedRouteDefinition of s.m.parsedRouteDefinitions) {\n const match = path.match(parsedRouteDefinition.pathRegex)\n let matched, params\n\n if (match) {\n matched = true\n params = {}\n\n for (const groupKey in parsedRouteDefinition.groups) {\n const groupName = parsedRouteDefinition.groups[groupKey]\n\n params[groupName] = match[Number(groupKey) + 1]\n }\n }\n\n if (path == \"\" && parsedRouteDefinition.routeDefinition.path == \"/\") matched = true\n if (matched) {\n return {params, parsedRouteDefinition}\n }\n }\n }, [])\n\n const matchingRoute = findMatchingRoute()\n const params = matchingRoute?.params || {}\n const match = {\n matchingRoute,\n params\n }\n\n return {match}\n}\n\nuseRouter.propTypes = {\n path: PropTypes.string,\n routeDefinitions: PropTypes.object,\n routes: PropTypes.object\n}\n\nexport default useRouter\n","import BaseComponent from \"./base-component\"\nimport PropTypes from \"prop-types\"\nimport propTypesExact from \"prop-types-exact\"\nimport React, {memo} from \"react\"\nimport {shapeComponent} from \"set-state-compare/src/shape-component.js\"\nimport {Suspense} from \"react\"\nimport useRouter from \"./use-router\"\n\nexport default memo(shapeComponent(class ApiMakerRouter extends BaseComponent {\n static propTypes = propTypesExact({\n history: PropTypes.object,\n notFoundComponent: PropTypes.elementType,\n path: PropTypes.string,\n requireComponent: PropTypes.func.isRequired,\n routeDefinitions: PropTypes.object,\n routes: PropTypes.object\n })\n\n render() {\n const {notFoundComponent, path, requireComponent, routeDefinitions, routes} = this.props\n const {match} = useRouter({path, routes, routeDefinitions})\n const {matchingRoute} = match\n\n if (!matchingRoute) {\n if (notFoundComponent) {\n const NotFoundComponent = notFoundComponent\n\n return (\n }>\n \n \n )\n } else {\n return null\n }\n }\n\n const Component = requireComponent({routeDefinition: matchingRoute.parsedRouteDefinition.routeDefinition})\n\n return (\n }>\n \n \n )\n }\n}))\n","function anythingDifferent(value1, value2, debug) {\n if (Array.isArray(value1) && Array.isArray(value2)) {\n return arrayDifferent(value1, value2)\n } else if (isSimpleObject(value1) && isSimpleObject(value2)) {\n return simpleObjectDifferent(value1, value2, true)\n } else if (typeof value1 == \"object\" && typeof value2 == \"object\" && value1 && value2) {\n return !Object.is(value1, value2)\n } else if (value1 !== value2) {\n if (debug) console.log(`Value 1 ${value1} wasn't the same as value 2 ${value2}`)\n\n return true\n }\n\n return false\n}\n\nfunction arrayDifferent(array1, array2) {\n if (array1.length != array2.length) {\n return true\n }\n\n for (const key in array1) {\n if (anythingDifferent(array1[key], array2[key])) {\n return true\n }\n }\n\n return false\n}\n\nfunction isSimpleObject(value) {\n if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return true\n }\n\n return false\n}\n\nfunction simpleObjectDifferent(object1, object2, checkLength) {\n if (checkLength && Object.keys(object1).length !== Object.keys(object2).length) {\n return true\n }\n\n return simpleObjectValuesDifferent(object1, object2)\n}\n\nfunction simpleObjectValuesDifferent(object1, object2, args) {\n for (const key in object1) {\n if (args?.ignore && args.ignore({key})) {\n if (args?.debug) console.log(`Ignoring key ${key}`)\n continue\n }\n\n if (args?.debug) console.log({key, object1: object1[key], object2: object2[key]})\n\n if (!(key in object2)) {\n if (args?.debug) {\n console.log(`Key ${key} wasn't found in object`)\n }\n\n return true\n } else if (anythingDifferent(object1[key], object2[key], args?.debug)) {\n if (args?.debug) {\n console.log(`Something was different for ${key}`)\n }\n\n return true\n }\n }\n\n return false\n}\n\nexport {\n anythingDifferent,\n arrayDifferent,\n isSimpleObject,\n simpleObjectDifferent,\n simpleObjectValuesDifferent\n}\n","import {simpleObjectValuesDifferent} from \"./diff-utils.js\"\n\nconst memoCompareProps = (prevProps, nextProps, debug) => {\n if (debug) {\n console.log(\"memoCompareProps\", {prevProps, nextProps})\n }\n\n if (Object.keys(nextProps).length != Object.keys(prevProps).length) {\n if (debug) {\n console.log(`Keys length was different - prev ${Object.keys(prevProps).length} after ${Object.keys(nextProps).length}`)\n }\n\n return false\n }\n\n if (debug) {\n console.log(\"Running simpleObjectValuesDifferent\")\n }\n\n const result = simpleObjectValuesDifferent(nextProps, prevProps, {debug})\n\n if (debug) {\n console.log(`Was it different: ${result}`)\n }\n\n return !result\n}\n\nconst memoComparePropsWithDebug = (prevProps, nextProps) => memoCompareProps(prevProps, nextProps, true)\n\nexport {memoComparePropsWithDebug}\nexport default memoCompareProps\n","if (!window.setStateCompareData) {\n window.setStateCompareData = {\n rendering: 0,\n renderingCallbacks: []\n }\n}\n\nconst shared = window.setStateCompareData\n\nexport default shared\n","import {anythingDifferent} from \"./diff-utils.js\"\nimport fetchingObject from \"fetching-object\"\nimport memoCompareProps from \"./memo-compare-props.js\"\nimport PropTypes from \"prop-types\"\nimport shared from \"./shared.js\"\nimport {useEffect, useMemo, useState} from \"react\"\n\nclass ShapeComponent {\n constructor(props) {\n this.props = props\n this.setStates = {}\n this.state = {}\n this.__firstRenderCompleted = false\n this.tt = fetchingObject(this)\n this.p = fetchingObject(() => this.props)\n this.s = fetchingObject(this.state)\n }\n\n setInstance(variables) {\n for (const name in variables) {\n this[name] = variables[name]\n }\n }\n\n setState(statesList, callback) {\n if (typeof statesList == \"function\") {\n statesList = statesList(this.state)\n }\n\n for (const stateName in statesList) {\n const newValue = statesList[stateName]\n\n if (!(stateName in this.setStates)) {\n throw new Error(`No such state: ${stateName}`)\n }\n\n this.setStates[stateName](newValue)\n }\n\n if (callback) {\n shared.renderingCallbacks.push(callback)\n }\n }\n\n useState(stateName, defaultValue) {\n const [stateValue, setState] = useState(defaultValue)\n\n if (!(stateName in this.state)) {\n this.state[stateName] = stateValue\n this.setStates[stateName] = (newValue) => {\n if (anythingDifferent(this.state[stateName], newValue)) {\n let prevState\n\n if (this.componentDidUpdate) {\n prevState = Object.assign({}, this.state)\n }\n\n this.state[stateName] = newValue\n\n // Avoid React error if using set-state while rendering (like in a useMemo callback)\n if (shared.rendering > 0) {\n shared.renderingCallbacks.push(() => {\n setState(newValue)\n })\n } else {\n setState(newValue)\n }\n\n if (this.componentDidUpdate) {\n this.componentDidUpdate(this.props, prevState)\n }\n }\n }\n }\n\n return this.setStates[stateName]\n }\n\n useStates(statesList) {\n if (Array.isArray(statesList)) {\n for(const stateName of statesList) {\n this.useState(stateName)\n }\n } else {\n for(const stateName in statesList) {\n const defaultValue = statesList[stateName]\n\n this.useState(stateName, defaultValue)\n }\n }\n }\n}\n\nconst shapeComponent = (ShapeClass) => {\n const functionalComponent = (props) => {\n // Count rendering to avoid setting state while rendering which causes a console-error from React\n shared.rendering += 1\n\n try {\n // Calculate and validate props\n let actualProps\n\n if (ShapeClass.defaultProps) {\n // Undefined values are removed from the props because they shouldn't override default values\n const propsWithoutUndefined = Object.assign({}, props)\n\n for (const key in propsWithoutUndefined) {\n const value = propsWithoutUndefined[key]\n\n if (value === undefined) {\n delete propsWithoutUndefined[key]\n }\n }\n\n actualProps = Object.assign({}, ShapeClass.defaultProps, propsWithoutUndefined)\n } else {\n actualProps = props\n }\n\n if (ShapeClass.propTypes) {\n const validateProps = {}\n\n for (const key in actualProps) {\n // Accessing 'key' will result in a warning in the console\n if (key == \"key\") continue\n\n validateProps[key] = actualProps[key]\n }\n\n PropTypes.checkPropTypes(ShapeClass.propTypes, validateProps, \"prop\", ShapeClass.name)\n }\n\n const shape = useMemo(() => new ShapeClass(actualProps), [])\n const prevProps = shape.props\n\n shape.props = actualProps\n\n if (shape.setup) {\n shape.setup()\n }\n\n if (shape.componentDidUpdate && shape.__firstRenderCompleted && memoCompareProps(shape.props, props)) {\n shape.componentDidUpdate(prevProps, shape.state)\n }\n\n if (shape.componentDidMount || shape.componentWillUnmount) {\n useEffect(() => {\n if (shape.componentDidMount) {\n shape.componentDidMount()\n }\n\n return () => {\n if (shape.componentWillUnmount) {\n shape.componentWillUnmount()\n }\n }\n }, [])\n }\n\n shape.__firstRenderCompleted = true\n\n // Run any callbacks added by setState(states, callback) once rendering is done\n useEffect(() => {\n if (shared.rendering == 0) {\n try {\n for (const callback of shared.renderingCallbacks) {\n new Promise(() => callback())\n }\n } finally {\n shared.renderingCallbacks.length = 0\n }\n }\n })\n\n // Finally render the component and return it\n return shape.render()\n } finally {\n shared.rendering -= 1\n }\n }\n\n functionalComponent.displayName = ShapeClass.name\n\n Object.defineProperty(functionalComponent, \"name\", {value: ShapeClass.name})\n\n return functionalComponent\n}\n\nexport {shapeComponent, ShapeComponent}\n","import {Pressable, Text, View} from \"react-native\"\nimport {memo} from \"react\"\nimport PropTypes from \"prop-types\"\nimport PropTypesExact from \"prop-types-exact\"\nimport {shapeComponent, ShapeComponent} from \"set-state-compare/src/shape-component.js\"\n\nexport default memo(shapeComponent(class NotificationsNotification extends ShapeComponent {\n static propTypes = PropTypesExact({\n className: PropTypes.string,\n message: PropTypes.string.isRequired,\n notification: PropTypes.object.isRequired,\n onRemovedClicked: PropTypes.func.isRequired,\n title: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired\n })\n\n render() {\n const {className, message, title, type} = this.props\n\n const style = {\n width: 300,\n maxWidth: \"100%\",\n marginBottom: 15,\n padding: 15,\n borderRadius: 11,\n cursor: \"pointer\"\n }\n\n if (type == \"error\") {\n style.border = \"1px solid rgba(161 34 32 / 95%)\"\n style.background = \"rgba(161 34 32 / 87%)\"\n }\n\n if (type == \"success\") {\n style.border = \"1px solid rgba(0 0 0 / 95%)\"\n style.background = \"rgba(0 0 0 / 87%)\"\n }\n\n\n if (type == \"alert\") {\n style.border = \"1px solid rgba(204 51 0 / 95%)\"\n style.background = \"rgba(204 51 0 / 87%)\"\n }\n\n return (\n \n \n \n \n {title}\n \n \n \n \n {message}\n \n \n \n \n )\n }\n\n onRemovedClicked = () => {\n this.props.onRemovedClicked(this.props.notification)\n }\n}))\n","import {memo} from \"react\"\nimport {digg} from \"diggerize\"\nimport Notification from \"./notification\"\nimport {shapeComponent, ShapeComponent} from \"set-state-compare/src/shape-component.js\"\nimport useEventListener from \"@kaspernj/api-maker/src/use-event-listener\"\nimport {View} from \"react-native\"\n\nexport default memo(shapeComponent(class FlashNotificationsContainer extends ShapeComponent {\n setup() {\n this.useStates({\n count: 0,\n notifications: []\n })\n\n useEventListener(window, \"pushNotification\", this.onPushNotification)\n }\n\n render() {\n return (\n \n {this.state.notifications.map((notification) =>\n \n )}\n \n )\n }\n\n onPushNotification = (event) => {\n const detail = digg(event, \"detail\")\n const count = this.state.count + 1\n\n setTimeout(() => this.removeNotification(count), 4000)\n\n const notification = {\n count,\n message: digg(detail, \"message\"),\n title: digg(detail, \"title\"),\n type: digg(detail, \"type\")\n }\n\n this.setState({count, notifications: this.state.notifications.concat([notification])})\n }\n\n onRemovedClicked = (notification) => this.removeNotification(digg(notification, \"count\"))\n\n removeNotification = (count) => {\n this.setState({\n notifications: this.state.notifications.filter((notification) => notification.count != count)\n })\n }\n}))\n","class HayaSelectConfiguration {\n getBodyPortal() {\n if (!this._bodyPortal) throw new Error(\"bodyPortal wasn't set\")\n\n return this._bodyPortal\n }\n\n setBodyPortal(newBodyPortal) {\n this._bodyPortal = newBodyPortal\n }\n}\n\nconst configuration = new HayaSelectConfiguration()\n\nexport default configuration\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/**\n * Module dependenices\n */\n\nconst clone = require('shallow-clone');\nconst typeOf = require('kind-of');\nconst isPlainObject = require('is-plain-object');\n\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default: {\n return clone(val);\n }\n }\n}\n\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = new val.constructor();\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\n\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n/**\n * Expose `cloneDeep`\n */\n\nmodule.exports = cloneDeep;\n","/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true\n && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor,prot;\n\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction filterUniqueArray(arr) {\n return arr.filter(function (val, index) {\n return arr.lastIndexOf(val) === index;\n });\n}\n\nexport default function assignStyle(base) {\n for (var i = 0, len = arguments.length <= 1 ? 0 : arguments.length - 1; i < len; ++i) {\n var style = i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1];\n\n for (var property in style) {\n var value = style[property];\n var baseValue = base[property];\n\n if (baseValue && value) {\n if (Array.isArray(baseValue)) {\n base[property] = filterUniqueArray(baseValue.concat(value));\n continue;\n }\n\n if (Array.isArray(value)) {\n base[property] = filterUniqueArray([baseValue].concat(_toConsumableArray(value)));\n continue;\n }\n\n if (_typeof(value) === 'object') {\n base[property] = assignStyle({}, baseValue, value);\n continue;\n }\n }\n\n base[property] = value;\n }\n }\n\n return base;\n}","var DASH = /-([a-z])/g;\nvar MS = /^Ms/g;\nvar cache = {};\n\nfunction toUpper(match) {\n return match[1].toUpperCase();\n}\n\nexport default function camelCaseProperty(property) {\n if (cache.hasOwnProperty(property)) {\n return cache[property];\n }\n\n var camelProp = property.replace(DASH, toUpper).replace(MS, 'ms');\n cache[property] = camelProp;\n return camelProp;\n}","import hyphenateStyleName from 'hyphenate-style-name';\nexport default function hyphenateProperty(property) {\n return hyphenateStyleName(property);\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function cssifyDeclaration(property, value) {\n return hyphenateProperty(property) + ':' + value;\n}","import cssifyDeclaration from './cssifyDeclaration';\nexport default function cssifyObject(style) {\n var css = '';\n\n for (var property in style) {\n var value = style[property];\n\n if (typeof value !== 'string' && typeof value !== 'number') {\n continue;\n } // prevents the semicolon after\n // the last rule declaration\n\n\n if (css) {\n css += ';';\n }\n\n css += cssifyDeclaration(property, value);\n }\n\n return css;\n}","var RE = /^(Webkit|Moz|O|ms)/;\nexport default function isPrefixedProperty(property) {\n return RE.test(property);\n}","var RE = /-webkit-|-moz-|-ms-/;\nexport default function isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","import hyphenateProperty from './hyphenateProperty';\nvar unitlessProperties = {\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n fontWeight: true,\n lineHeight: true,\n opacity: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nvar prefixedUnitlessProperties = ['animationIterationCount', 'boxFlex', 'boxFlexGroup', 'boxOrdinalGroup', 'columnCount', 'flex', 'flexGrow', 'flexPositive', 'flexShrink', 'flexNegative', 'flexOrder', 'gridColumn', 'gridColumnEnd', 'gridColumnStart', 'gridRow', 'gridRowEnd', 'gridRowStart', 'lineClamp', 'order'];\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\nfunction getPrefixedProperty(prefix, property) {\n return prefix + property.charAt(0).toUpperCase() + property.slice(1);\n} // add all prefixed properties to the unitless properties\n\n\nfor (var i = 0, len = prefixedUnitlessProperties.length; i < len; ++i) {\n var property = prefixedUnitlessProperties[i];\n unitlessProperties[property] = true;\n\n for (var j = 0, jLen = prefixes.length; j < jLen; ++j) {\n unitlessProperties[getPrefixedProperty(prefixes[j], property)] = true;\n }\n} // add all hypenated properties as well\n\n\nfor (var _property in unitlessProperties) {\n unitlessProperties[hyphenateProperty(_property)] = true;\n}\n\nexport default function isUnitlessProperty(property) {\n return unitlessProperties.hasOwnProperty(property);\n}","var RE = /^(ms|Webkit|Moz|O)/;\nexport default function unprefixProperty(property) {\n var propertyWithoutPrefix = property.replace(RE, '');\n return propertyWithoutPrefix.charAt(0).toLowerCase() + propertyWithoutPrefix.slice(1);\n}","import camelCaseProperty from './camelCaseProperty';\nimport unprefixProperty from './unprefixProperty';\nexport default function normalizeProperty(property) {\n return unprefixProperty(camelCaseProperty(property));\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function resolveArrayValue(property, value) {\n return value.join(';' + hyphenateProperty(property) + ':');\n}","var RE = /(-ms-|-webkit-|-moz-|-o-)/g;\nexport default function unprefixValue(value) {\n if (typeof value === 'string') {\n return value.replace(RE, '');\n }\n\n return value;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = hyphenateProperty;\n\nvar _hyphenateStyleName = require(\"hyphenate-style-name\");\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2[\"default\"])(property);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isPrefixedValue;\nvar RE = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\n\nvar toStringTag = hasToStringTag ? Symbol.toStringTag : null;\n\n/** @type {import('.')} */\nmodule.exports = function setToStringTag(object, value) {\n\tvar overrideIfSet = arguments.length > 2 && arguments[2] && arguments[2].force;\n\tif (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {\n\t\tif ($defineProperty) {\n\t\t\t$defineProperty(object, toStringTag, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: value,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t} else {\n\t\t\tobject[toStringTag] = value; // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\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 */\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\n\n\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\n\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar validateFormat = process.env.NODE_ENV !== \"production\" ? function (format) {\n if (format === undefined) {\n throw new Error('invariant(...): Second argument must be a string.');\n }\n} : function (format) {};\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments to provide\n * information about what broke and what you were expecting.\n *\n * The invariant message will be stripped in production, but the invariant will\n * remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n validateFormat(format);\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return String(args[argIndex++]);\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // Skip invariant's own stack frame.\n\n throw error;\n }\n}\n\nmodule.exports = invariant;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\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';\n\nvar emptyFunction = require(\"./emptyFunction\");\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\n\nfunction printWarning(format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n}\n\nvar warning = process.env.NODE_ENV !== \"production\" ? function (condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n} : emptyFunction;\nmodule.exports = warning;","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","/* eslint no-negated-condition: 0, no-new-func: 0 */\n\n'use strict';\n\nif (typeof self !== 'undefined') {\n\tmodule.exports = self;\n} else if (typeof window !== 'undefined') {\n\tmodule.exports = window;\n} else {\n\tmodule.exports = Function('return this')();\n}\n","'use strict';\n\nvar defineProperties = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = getPolyfill();\n\nvar getGlobal = function () { return polyfill; };\n\ndefineProperties(getGlobal, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = getGlobal;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar supportsDescriptors = origDefineProperty && hasPropertyDescriptors;\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value; // eslint-disable-line no-param-reassign\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (typeof global !== 'object' || !global || global.Math !== Math || global.Array !== Array) {\n\t\treturn implementation;\n\t}\n\treturn global;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimGlobal() {\n\tvar polyfill = getPolyfill();\n\tif (define.supportsDescriptors) {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(polyfill, 'globalThis');\n\t\tif (!descriptor || (descriptor.configurable && (descriptor.enumerable || !descriptor.writable || globalThis !== polyfill))) { // eslint-disable-line max-len\n\t\t\tObject.defineProperty(polyfill, 'globalThis', {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: polyfill,\n\t\t\t\twritable: true\n\t\t\t});\n\t\t}\n\t} else if (typeof globalThis !== 'object' || globalThis !== polyfill) {\n\t\tpolyfill.globalThis = polyfill;\n\t}\n\treturn polyfill;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n /**\r\n * A POP indicates a change to an arbitrary index in the history stack, such\r\n * as a back or forward navigation. It does not describe the direction of the\r\n * navigation, only that the current index changed.\r\n *\r\n * Note: This is the default action for newly created history objects.\r\n */\n Action[\"Pop\"] = \"POP\";\n /**\r\n * A PUSH indicates a new entry being added to the history stack, such as when\r\n * a link is clicked and a new page loads. When this happens, all subsequent\r\n * entries in the stack are lost.\r\n */\n\n Action[\"Push\"] = \"PUSH\";\n /**\r\n * A REPLACE indicates the entry at the current index in the history stack\r\n * being replaced by a new one.\r\n */\n\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n return Object.freeze(obj);\n} : function (obj) {\n return obj;\n};\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$window = _options.window,\n window = _options$window === void 0 ? document.defaultView : _options$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation[0],\n nextLocation = _getIndexAndLocation[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better what\n // is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop);\n var action = Action.Pop;\n\n var _getIndexAndLocation2 = getIndexAndLocation(),\n index = _getIndexAndLocation2[0],\n location = _getIndexAndLocation2[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n } // state defaults to `null` because `window.history.state` does\n\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation3 = getIndexAndLocation();\n\n index = _getIndexAndLocation3[0];\n location = _getIndexAndLocation3[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr[0],\n url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr2[0],\n url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options2 = options,\n _options2$window = _options2.window,\n window = _options2$window === void 0 ? document.defaultView : _options2$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _parsePath = parsePath(window.location.hash.substr(1)),\n _parsePath$pathname = _parsePath.pathname,\n pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n _parsePath$search = _parsePath.search,\n search = _parsePath$search === void 0 ? '' : _parsePath$search,\n _parsePath$hash = _parsePath.hash,\n hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation4 = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation4[0],\n nextLocation = _getIndexAndLocation4[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better\n // what is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n window.addEventListener(HashChangeEventType, function () {\n var _getIndexAndLocation5 = getIndexAndLocation(),\n nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n if (createPath(nextLocation) !== createPath(location)) {\n handlePop();\n }\n });\n var action = Action.Pop;\n\n var _getIndexAndLocation6 = getIndexAndLocation(),\n index = _getIndexAndLocation6[0],\n location = _getIndexAndLocation6[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function getBaseHref() {\n var base = document.querySelector('base');\n var href = '';\n\n if (base && base.getAttribute('href')) {\n var url = window.location.href;\n var hashIndex = url.indexOf('#');\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href;\n }\n\n function createHref(to) {\n return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation7 = getIndexAndLocation();\n\n index = _getIndexAndLocation7[0];\n location = _getIndexAndLocation7[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr3[0],\n url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr4[0],\n url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options3 = options,\n _options3$initialEntr = _options3.initialEntries,\n initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n initialIndex = _options3.initialIndex;\n var entries = initialEntries.map(function (entry) {\n var location = readOnly(_extends({\n pathname: '/',\n search: '',\n hash: '',\n state: null,\n key: createKey()\n }, typeof entry === 'string' ? parsePath(entry) : entry));\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n return location;\n });\n var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n var action = Action.Pop;\n var location = entries[index];\n var listeners = createEvents();\n var blockers = createEvents();\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n search: '',\n hash: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction, nextLocation) {\n action = nextAction;\n location = nextLocation;\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n applyTx(nextAction, nextLocation);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n entries[index] = nextLocation;\n applyTx(nextAction, nextLocation);\n }\n }\n\n function go(delta) {\n var nextIndex = clamp(index + delta, 0, entries.length - 1);\n var nextAction = Action.Pop;\n var nextLocation = entries[nextIndex];\n\n function retry() {\n go(delta);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index = nextIndex;\n applyTx(nextAction, nextLocation);\n }\n }\n\n var history = {\n get index() {\n return index;\n },\n\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n return blockers.push(blocker);\n }\n };\n return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n // Cancel the event.\n event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n event.returnValue = '';\n}\n\nfunction createEvents() {\n var handlers = [];\n return {\n get length() {\n return handlers.length;\n },\n\n push: function push(fn) {\n handlers.push(fn);\n return function () {\n handlers = handlers.filter(function (handler) {\n return handler !== fn;\n });\n };\n },\n call: function call(arg) {\n handlers.forEach(function (fn) {\n return fn && fn(arg);\n });\n }\n };\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n var _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? '' : _ref$search,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? '' : _ref$hash;\n if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n var parsedPath = {};\n\n if (path) {\n var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n var searchIndex = path.indexOf('?');\n\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","/*!\n * inflection\n * Copyright(c) 2011 Ben Lin \n * MIT Licensed\n *\n * @fileoverview\n * A port of inflection-js to node.js module.\n */\n\n( function ( root, factory ){\n if( typeof define === 'function' && define.amd ){\n define([], factory );\n }else if( typeof exports === 'object' ){\n module.exports = factory();\n }else{\n root.inflection = factory();\n }\n}( this, function (){\n\n /**\n * @description This is a list of nouns that use the same form for both singular and plural.\n * This list should remain entirely in lower case to correctly match Strings.\n * @private\n */\n var uncountable_words = [\n // 'access',\n 'accommodation',\n 'adulthood',\n 'advertising',\n 'advice',\n 'aggression',\n 'aid',\n 'air',\n 'aircraft',\n 'alcohol',\n 'anger',\n 'applause',\n 'arithmetic',\n // 'art',\n 'assistance',\n 'athletics',\n // 'attention',\n\n 'bacon',\n 'baggage',\n // 'ballet',\n // 'beauty',\n 'beef',\n // 'beer',\n // 'behavior',\n 'biology',\n // 'billiards',\n 'blood',\n 'botany',\n // 'bowels',\n 'bread',\n // 'business',\n 'butter',\n\n 'carbon',\n 'cardboard',\n 'cash',\n 'chalk',\n 'chaos',\n 'chess',\n 'crossroads',\n 'countryside',\n\n // 'damage',\n 'dancing',\n // 'danger',\n 'deer',\n // 'delight',\n // 'dessert',\n 'dignity',\n 'dirt',\n // 'distribution',\n 'dust',\n\n 'economics',\n 'education',\n 'electricity',\n // 'employment',\n // 'energy',\n 'engineering',\n 'enjoyment',\n // 'entertainment',\n 'envy',\n 'equipment',\n 'ethics',\n 'evidence',\n 'evolution',\n\n // 'failure',\n // 'faith',\n 'fame',\n 'fiction',\n // 'fish',\n 'flour',\n 'flu',\n 'food',\n // 'freedom',\n // 'fruit',\n 'fuel',\n 'fun',\n // 'funeral',\n 'furniture',\n\n 'gallows',\n 'garbage',\n 'garlic',\n // 'gas',\n 'genetics',\n // 'glass',\n 'gold',\n 'golf',\n 'gossip',\n // 'grass',\n 'gratitude',\n 'grief',\n // 'ground',\n 'guilt',\n 'gymnastics',\n\n // 'hair',\n 'happiness',\n 'hardware',\n 'harm',\n 'hate',\n 'hatred',\n 'health',\n 'heat',\n // 'height',\n 'help',\n 'homework',\n 'honesty',\n 'honey',\n 'hospitality',\n 'housework',\n 'humour',\n 'hunger',\n 'hydrogen',\n\n 'ice',\n 'importance',\n 'inflation',\n 'information',\n // 'injustice',\n 'innocence',\n // 'intelligence',\n 'iron',\n 'irony',\n\n 'jam',\n // 'jealousy',\n // 'jelly',\n 'jewelry',\n // 'joy',\n 'judo',\n // 'juice',\n // 'justice',\n\n 'karate',\n // 'kindness',\n 'knowledge',\n\n // 'labour',\n 'lack',\n // 'land',\n 'laughter',\n 'lava',\n 'leather',\n 'leisure',\n 'lightning',\n 'linguine',\n 'linguini',\n 'linguistics',\n 'literature',\n 'litter',\n 'livestock',\n 'logic',\n 'loneliness',\n // 'love',\n 'luck',\n 'luggage',\n\n 'macaroni',\n 'machinery',\n 'magic',\n // 'mail',\n 'management',\n 'mankind',\n 'marble',\n 'mathematics',\n 'mayonnaise',\n 'measles',\n // 'meat',\n // 'metal',\n 'methane',\n 'milk',\n 'minus',\n 'money',\n // 'moose',\n 'mud',\n 'music',\n 'mumps',\n\n 'nature',\n 'news',\n 'nitrogen',\n 'nonsense',\n 'nurture',\n 'nutrition',\n\n 'obedience',\n 'obesity',\n // 'oil',\n 'oxygen',\n\n // 'paper',\n // 'passion',\n 'pasta',\n 'patience',\n // 'permission',\n 'physics',\n 'poetry',\n 'pollution',\n 'poverty',\n // 'power',\n 'pride',\n // 'production',\n // 'progress',\n // 'pronunciation',\n 'psychology',\n 'publicity',\n 'punctuation',\n\n // 'quality',\n // 'quantity',\n 'quartz',\n\n 'racism',\n // 'rain',\n // 'recreation',\n 'relaxation',\n 'reliability',\n 'research',\n 'respect',\n 'revenge',\n 'rice',\n 'rubbish',\n 'rum',\n\n 'safety',\n // 'salad',\n // 'salt',\n // 'sand',\n // 'satire',\n 'scenery',\n 'seafood',\n 'seaside',\n 'series',\n 'shame',\n 'sheep',\n 'shopping',\n // 'silence',\n 'sleep',\n // 'slang'\n 'smoke',\n 'smoking',\n 'snow',\n 'soap',\n 'software',\n 'soil',\n // 'sorrow',\n // 'soup',\n 'spaghetti',\n // 'speed',\n 'species',\n // 'spelling',\n // 'sport',\n 'steam',\n // 'strength',\n 'stuff',\n 'stupidity',\n // 'success',\n // 'sugar',\n 'sunshine',\n 'symmetry',\n\n // 'tea',\n 'tennis',\n 'thirst',\n 'thunder',\n 'timber',\n // 'time',\n // 'toast',\n // 'tolerance',\n // 'trade',\n 'traffic',\n 'transportation',\n // 'travel',\n 'trust',\n\n // 'understanding',\n 'underwear',\n 'unemployment',\n 'unity',\n // 'usage',\n\n 'validity',\n 'veal',\n 'vegetation',\n 'vegetarianism',\n 'vengeance',\n 'violence',\n // 'vision',\n 'vitality',\n\n 'warmth',\n // 'water',\n 'wealth',\n 'weather',\n // 'weight',\n 'welfare',\n 'wheat',\n // 'whiskey',\n // 'width',\n 'wildlife',\n // 'wine',\n 'wisdom',\n // 'wood',\n // 'wool',\n // 'work',\n\n // 'yeast',\n 'yoga',\n\n 'zinc',\n 'zoology'\n ];\n\n /**\n * @description These rules translate from the singular form of a noun to its plural form.\n * @private\n */\n\n var regex = {\n plural : {\n men : new RegExp( '^(m|wom)en$' , 'gi' ),\n people : new RegExp( '(pe)ople$' , 'gi' ),\n children : new RegExp( '(child)ren$' , 'gi' ),\n tia : new RegExp( '([ti])a$' , 'gi' ),\n analyses : new RegExp( '((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$','gi' ),\n drives : new RegExp( '(drive)s$' , 'gi' ),\n hives : new RegExp( '(hi|ti)ves$' , 'gi' ),\n curves : new RegExp( '(curve)s$' , 'gi' ),\n lrves : new RegExp( '([lr])ves$' , 'gi' ),\n aves : new RegExp( '([a])ves$' , 'gi' ),\n foves : new RegExp( '([^fo])ves$' , 'gi' ),\n movies : new RegExp( '(m)ovies$' , 'gi' ),\n aeiouyies : new RegExp( '([^aeiouy]|qu)ies$' , 'gi' ),\n series : new RegExp( '(s)eries$' , 'gi' ),\n xes : new RegExp( '(x|ch|ss|sh)es$' , 'gi' ),\n mice : new RegExp( '([m|l])ice$' , 'gi' ),\n buses : new RegExp( '(bus)es$' , 'gi' ),\n oes : new RegExp( '(o)es$' , 'gi' ),\n shoes : new RegExp( '(shoe)s$' , 'gi' ),\n crises : new RegExp( '(cris|ax|test)es$' , 'gi' ),\n octopuses : new RegExp( '(octop|vir)uses$' , 'gi' ),\n aliases : new RegExp( '(alias|canvas|status|campus)es$', 'gi' ),\n summonses : new RegExp( '^(summons|bonus)es$' , 'gi' ),\n oxen : new RegExp( '^(ox)en' , 'gi' ),\n matrices : new RegExp( '(matr)ices$' , 'gi' ),\n vertices : new RegExp( '(vert|ind)ices$' , 'gi' ),\n feet : new RegExp( '^feet$' , 'gi' ),\n teeth : new RegExp( '^teeth$' , 'gi' ),\n geese : new RegExp( '^geese$' , 'gi' ),\n quizzes : new RegExp( '(quiz)zes$' , 'gi' ),\n whereases : new RegExp( '^(whereas)es$' , 'gi' ),\n criteria : new RegExp( '^(criteri)a$' , 'gi' ),\n genera : new RegExp( '^genera$' , 'gi' ),\n ss : new RegExp( 'ss$' , 'gi' ),\n s : new RegExp( 's$' , 'gi' )\n },\n\n singular : {\n man : new RegExp( '^(m|wom)an$' , 'gi' ),\n person : new RegExp( '(pe)rson$' , 'gi' ),\n child : new RegExp( '(child)$' , 'gi' ),\n drive : new RegExp( '(drive)$' , 'gi' ),\n ox : new RegExp( '^(ox)$' , 'gi' ),\n axis : new RegExp( '(ax|test)is$' , 'gi' ),\n octopus : new RegExp( '(octop|vir)us$' , 'gi' ),\n alias : new RegExp( '(alias|status|canvas|campus)$', 'gi' ),\n summons : new RegExp( '^(summons|bonus)$' , 'gi' ),\n bus : new RegExp( '(bu)s$' , 'gi' ),\n buffalo : new RegExp( '(buffal|tomat|potat)o$' , 'gi' ),\n tium : new RegExp( '([ti])um$' , 'gi' ),\n sis : new RegExp( 'sis$' , 'gi' ),\n ffe : new RegExp( '(?:([^f])fe|([lr])f)$' , 'gi' ),\n hive : new RegExp( '(hi|ti)ve$' , 'gi' ),\n aeiouyy : new RegExp( '([^aeiouy]|qu)y$' , 'gi' ),\n x : new RegExp( '(x|ch|ss|sh)$' , 'gi' ),\n matrix : new RegExp( '(matr)ix$' , 'gi' ),\n vertex : new RegExp( '(vert|ind)ex$' , 'gi' ),\n mouse : new RegExp( '([m|l])ouse$' , 'gi' ),\n foot : new RegExp( '^foot$' , 'gi' ),\n tooth : new RegExp( '^tooth$' , 'gi' ),\n goose : new RegExp( '^goose$' , 'gi' ),\n quiz : new RegExp( '(quiz)$' , 'gi' ),\n whereas : new RegExp( '^(whereas)$' , 'gi' ),\n criterion : new RegExp( '^(criteri)on$' , 'gi' ),\n genus : new RegExp( '^genus$' , 'gi' ),\n s : new RegExp( 's$' , 'gi' ),\n common : new RegExp( '$' , 'gi' )\n }\n };\n\n var plural_rules = [\n\n // do not replace if its already a plural word\n [ regex.plural.men ],\n [ regex.plural.people ],\n [ regex.plural.children ],\n [ regex.plural.tia ],\n [ regex.plural.analyses ],\n [ regex.plural.drives ],\n [ regex.plural.hives ],\n [ regex.plural.curves ],\n [ regex.plural.lrves ],\n [ regex.plural.foves ],\n [ regex.plural.aeiouyies ],\n [ regex.plural.series ],\n [ regex.plural.movies ],\n [ regex.plural.xes ],\n [ regex.plural.mice ],\n [ regex.plural.buses ],\n [ regex.plural.oes ],\n [ regex.plural.shoes ],\n [ regex.plural.crises ],\n [ regex.plural.octopuses ],\n [ regex.plural.aliases ],\n [ regex.plural.summonses ],\n [ regex.plural.oxen ],\n [ regex.plural.matrices ],\n [ regex.plural.feet ],\n [ regex.plural.teeth ],\n [ regex.plural.geese ],\n [ regex.plural.quizzes ],\n [ regex.plural.whereases ],\n [ regex.plural.criteria ],\n [ regex.plural.genera ],\n\n // original rule\n [ regex.singular.man , '$1en' ],\n [ regex.singular.person , '$1ople' ],\n [ regex.singular.child , '$1ren' ],\n [ regex.singular.drive , '$1s' ],\n [ regex.singular.ox , '$1en' ],\n [ regex.singular.axis , '$1es' ],\n [ regex.singular.octopus , '$1uses' ],\n [ regex.singular.alias , '$1es' ],\n [ regex.singular.summons , '$1es' ],\n [ regex.singular.bus , '$1ses' ],\n [ regex.singular.buffalo , '$1oes' ],\n [ regex.singular.tium , '$1a' ],\n [ regex.singular.sis , 'ses' ],\n [ regex.singular.ffe , '$1$2ves' ],\n [ regex.singular.hive , '$1ves' ],\n [ regex.singular.aeiouyy , '$1ies' ],\n [ regex.singular.matrix , '$1ices' ],\n [ regex.singular.vertex , '$1ices' ],\n [ regex.singular.x , '$1es' ],\n [ regex.singular.mouse , '$1ice' ],\n [ regex.singular.foot , 'feet' ],\n [ regex.singular.tooth , 'teeth' ],\n [ regex.singular.goose , 'geese' ],\n [ regex.singular.quiz , '$1zes' ],\n [ regex.singular.whereas , '$1es' ],\n [ regex.singular.criterion, '$1a' ],\n [ regex.singular.genus , 'genera' ],\n\n [ regex.singular.s , 's' ],\n [ regex.singular.common, 's' ]\n ];\n\n /**\n * @description These rules translate from the plural form of a noun to its singular form.\n * @private\n */\n var singular_rules = [\n\n // do not replace if its already a singular word\n [ regex.singular.man ],\n [ regex.singular.person ],\n [ regex.singular.child ],\n [ regex.singular.drive ],\n [ regex.singular.ox ],\n [ regex.singular.axis ],\n [ regex.singular.octopus ],\n [ regex.singular.alias ],\n [ regex.singular.summons ],\n [ regex.singular.bus ],\n [ regex.singular.buffalo ],\n [ regex.singular.tium ],\n [ regex.singular.sis ],\n [ regex.singular.ffe ],\n [ regex.singular.hive ],\n [ regex.singular.aeiouyy ],\n [ regex.singular.x ],\n [ regex.singular.matrix ],\n [ regex.singular.mouse ],\n [ regex.singular.foot ],\n [ regex.singular.tooth ],\n [ regex.singular.goose ],\n [ regex.singular.quiz ],\n [ regex.singular.whereas ],\n [ regex.singular.criterion ],\n [ regex.singular.genus ],\n\n // original rule\n [ regex.plural.men , '$1an' ],\n [ regex.plural.people , '$1rson' ],\n [ regex.plural.children , '$1' ],\n [ regex.plural.drives , '$1'],\n [ regex.plural.genera , 'genus'],\n [ regex.plural.criteria , '$1on'],\n [ regex.plural.tia , '$1um' ],\n [ regex.plural.analyses , '$1$2sis' ],\n [ regex.plural.hives , '$1ve' ],\n [ regex.plural.curves , '$1' ],\n [ regex.plural.lrves , '$1f' ],\n [ regex.plural.aves , '$1ve' ],\n [ regex.plural.foves , '$1fe' ],\n [ regex.plural.movies , '$1ovie' ],\n [ regex.plural.aeiouyies, '$1y' ],\n [ regex.plural.series , '$1eries' ],\n [ regex.plural.xes , '$1' ],\n [ regex.plural.mice , '$1ouse' ],\n [ regex.plural.buses , '$1' ],\n [ regex.plural.oes , '$1' ],\n [ regex.plural.shoes , '$1' ],\n [ regex.plural.crises , '$1is' ],\n [ regex.plural.octopuses, '$1us' ],\n [ regex.plural.aliases , '$1' ],\n [ regex.plural.summonses, '$1' ],\n [ regex.plural.oxen , '$1' ],\n [ regex.plural.matrices , '$1ix' ],\n [ regex.plural.vertices , '$1ex' ],\n [ regex.plural.feet , 'foot' ],\n [ regex.plural.teeth , 'tooth' ],\n [ regex.plural.geese , 'goose' ],\n [ regex.plural.quizzes , '$1' ],\n [ regex.plural.whereases, '$1' ],\n\n [ regex.plural.ss, 'ss' ],\n [ regex.plural.s , '' ]\n ];\n\n /**\n * @description This is a list of words that should not be capitalized for title case.\n * @private\n */\n var non_titlecased_words = [\n 'and', 'or', 'nor', 'a', 'an', 'the', 'so', 'but', 'to', 'of', 'at','by',\n 'from', 'into', 'on', 'onto', 'off', 'out', 'in', 'over', 'with', 'for'\n ];\n\n /**\n * @description These are regular expressions used for converting between String formats.\n * @private\n */\n var id_suffix = new RegExp( '(_ids|_id)$', 'g' );\n var underbar = new RegExp( '_', 'g' );\n var space_or_underbar = new RegExp( '[\\ _]', 'g' );\n var uppercase = new RegExp( '([A-Z])', 'g' );\n var underbar_prefix = new RegExp( '^_' );\n\n var inflector = {\n\n /**\n * A helper method that applies rules based replacement to a String.\n * @private\n * @function\n * @param {String} str String to modify and return based on the passed rules.\n * @param {Array: [RegExp, String]} rules Regexp to match paired with String to use for replacement\n * @param {Array: [String]} skip Strings to skip if they match\n * @param {String} override String to return as though this method succeeded (used to conform to APIs)\n * @returns {String} Return passed String modified by passed rules.\n * @example\n *\n * this._apply_rules( 'cows', singular_rules ); // === 'cow'\n */\n _apply_rules : function ( str, rules, skip, override ){\n if( override ){\n str = override;\n }else{\n var ignore = ( inflector.indexOf( skip, str.toLowerCase()) > -1 );\n\n if( !ignore ){\n var i = 0;\n var j = rules.length;\n\n for( ; i < j; i++ ){\n if( str.match( rules[ i ][ 0 ])){\n if( rules[ i ][ 1 ] !== undefined ){\n str = str.replace( rules[ i ][ 0 ], rules[ i ][ 1 ]);\n }\n break;\n }\n }\n }\n }\n\n return str;\n },\n\n\n\n /**\n * This lets us detect if an Array contains a given element.\n * @public\n * @function\n * @param {Array} arr The subject array.\n * @param {Object} item Object to locate in the Array.\n * @param {Number} from_index Starts checking from this position in the Array.(optional)\n * @param {Function} compare_func Function used to compare Array item vs passed item.(optional)\n * @returns {Number} Return index position in the Array of the passed item.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.indexOf([ 'hi','there' ], 'guys' ); // === -1\n * inflection.indexOf([ 'hi','there' ], 'hi' ); // === 0\n */\n indexOf : function ( arr, item, from_index, compare_func ){\n if( !from_index ){\n from_index = -1;\n }\n\n var index = -1;\n var i = from_index;\n var j = arr.length;\n\n for( ; i < j; i++ ){\n if( arr[ i ] === item || compare_func && compare_func( arr[ i ], item )){\n index = i;\n break;\n }\n }\n\n return index;\n },\n\n\n\n /**\n * This function adds pluralization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {String} plural Overrides normal output with said String.(optional)\n * @returns {String} Singular English language nouns are returned in plural form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.pluralize( 'person' ); // === 'people'\n * inflection.pluralize( 'octopus' ); // === 'octopuses'\n * inflection.pluralize( 'Hat' ); // === 'Hats'\n * inflection.pluralize( 'person', 'guys' ); // === 'guys'\n */\n pluralize : function ( str, plural ){\n return inflector._apply_rules( str, plural_rules, uncountable_words, plural );\n },\n\n\n\n /**\n * This function adds singularization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {String} singular Overrides normal output with said String.(optional)\n * @returns {String} Plural English language nouns are returned in singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.singularize( 'people' ); // === 'person'\n * inflection.singularize( 'octopuses' ); // === 'octopus'\n * inflection.singularize( 'Hats' ); // === 'Hat'\n * inflection.singularize( 'guys', 'person' ); // === 'person'\n */\n singularize : function ( str, singular ){\n return inflector._apply_rules( str, singular_rules, uncountable_words, singular );\n },\n\n\n /**\n * This function will pluralize or singularlize a String appropriately based on a number value\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Number} count The number to base pluralization off of.\n * @param {String} singular Overrides normal output with said String.(optional)\n * @param {String} plural Overrides normal output with said String.(optional)\n * @returns {String} English language nouns are returned in the plural or singular form based on the count.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.inflect( 'people' 1 ); // === 'person'\n * inflection.inflect( 'octopuses' 1 ); // === 'octopus'\n * inflection.inflect( 'Hats' 1 ); // === 'Hat'\n * inflection.inflect( 'guys', 1 , 'person' ); // === 'person'\n * inflection.inflect( 'inches', 1.5 ); // === 'inches'\n * inflection.inflect( 'person', 2 ); // === 'people'\n * inflection.inflect( 'octopus', 2 ); // === 'octopuses'\n * inflection.inflect( 'Hat', 2 ); // === 'Hats'\n * inflection.inflect( 'person', 2, null, 'guys' ); // === 'guys'\n */\n inflect : function ( str, count, singular, plural ){\n count = parseFloat( count, 10 );\n\n if( isNaN( count )) return str;\n\n if( count === 1 ){\n return inflector._apply_rules( str, singular_rules, uncountable_words, singular );\n }else{\n return inflector._apply_rules( str, plural_rules, uncountable_words, plural );\n }\n },\n\n\n\n /**\n * This function adds camelization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} low_first_letter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns {String} Lower case underscored words will be returned in camel case.\n * additionally '/' is translated to '::'\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.camelize( 'message_properties' ); // === 'MessageProperties'\n * inflection.camelize( 'message_properties', true ); // === 'messageProperties'\n */\n camelize : function ( str, low_first_letter ){\n var str_path = str.split( '/' );\n var i = 0;\n var j = str_path.length;\n var str_arr, init_x, k, l, first;\n\n for( ; i < j; i++ ){\n str_arr = str_path[ i ].split( '_' );\n k = 0;\n l = str_arr.length;\n\n for( ; k < l; k++ ){\n if( k !== 0 ){\n str_arr[ k ] = str_arr[ k ].toLowerCase();\n }\n\n first = str_arr[ k ].charAt( 0 );\n first = low_first_letter && i === 0 && k === 0\n ? first.toLowerCase() : first.toUpperCase();\n str_arr[ k ] = first + str_arr[ k ].substring( 1 );\n }\n\n str_path[ i ] = str_arr.join( '' );\n }\n\n return str_path.join( '::' );\n },\n\n\n\n /**\n * This function adds underscore support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} all_upper_case Default is to lowercase and add underscore prefix.(optional)\n * Passing true will return as entered.\n * @returns {String} Camel cased words are returned as lower cased and underscored.\n * additionally '::' is translated to '/'.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.underscore( 'MessageProperties' ); // === 'message_properties'\n * inflection.underscore( 'messageProperties' ); // === 'message_properties'\n * inflection.underscore( 'MP', true ); // === 'MP'\n */\n underscore : function ( str, all_upper_case ){\n if( all_upper_case && str === str.toUpperCase()) return str;\n\n var str_path = str.split( '::' );\n var i = 0;\n var j = str_path.length;\n\n for( ; i < j; i++ ){\n str_path[ i ] = str_path[ i ].replace( uppercase, '_$1' );\n str_path[ i ] = str_path[ i ].replace( underbar_prefix, '' );\n }\n\n return str_path.join( '/' ).toLowerCase();\n },\n\n\n\n /**\n * This function adds humanize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} low_first_letter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns {String} Lower case underscored words will be returned in humanized form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.humanize( 'message_properties' ); // === 'Message properties'\n * inflection.humanize( 'message_properties', true ); // === 'message properties'\n */\n humanize : function ( str, low_first_letter ){\n str = str.toLowerCase();\n str = str.replace( id_suffix, '' );\n str = str.replace( underbar, ' ' );\n\n if( !low_first_letter ){\n str = inflector.capitalize( str );\n }\n\n return str;\n },\n\n\n\n /**\n * This function adds capitalization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} All characters will be lower case and the first will be upper.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.capitalize( 'message_properties' ); // === 'Message_properties'\n * inflection.capitalize( 'message properties', true ); // === 'Message properties'\n */\n capitalize : function ( str ){\n str = str.toLowerCase();\n\n return str.substring( 0, 1 ).toUpperCase() + str.substring( 1 );\n },\n\n\n\n /**\n * This function replaces underscores with dashes in the string.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Replaces all spaces or underscores with dashes.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.dasherize( 'message_properties' ); // === 'message-properties'\n * inflection.dasherize( 'Message Properties' ); // === 'Message-Properties'\n */\n dasherize : function ( str ){\n return str.replace( space_or_underbar, '-' );\n },\n\n\n\n /**\n * This function adds titleize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Capitalizes words as you would for a book title.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.titleize( 'message_properties' ); // === 'Message Properties'\n * inflection.titleize( 'message properties to keep' ); // === 'Message Properties to Keep'\n */\n titleize : function ( str ){\n str = str.toLowerCase().replace( underbar, ' ' );\n var str_arr = str.split( ' ' );\n var i = 0;\n var j = str_arr.length;\n var d, k, l;\n\n for( ; i < j; i++ ){\n d = str_arr[ i ].split( '-' );\n k = 0;\n l = d.length;\n\n for( ; k < l; k++){\n if( inflector.indexOf( non_titlecased_words, d[ k ].toLowerCase()) < 0 ){\n d[ k ] = inflector.capitalize( d[ k ]);\n }\n }\n\n str_arr[ i ] = d.join( '-' );\n }\n\n str = str_arr.join( ' ' );\n str = str.substring( 0, 1 ).toUpperCase() + str.substring( 1 );\n\n return str;\n },\n\n\n\n /**\n * This function adds demodulize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Removes module names leaving only class names.(Ruby style)\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.demodulize( 'Message::Bus::Properties' ); // === 'Properties'\n */\n demodulize : function ( str ){\n var str_arr = str.split( '::' );\n\n return str_arr[ str_arr.length - 1 ];\n },\n\n\n\n /**\n * This function adds tableize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Return camel cased words into their underscored plural form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.tableize( 'MessageBusProperty' ); // === 'message_bus_properties'\n */\n tableize : function ( str ){\n str = inflector.underscore( str );\n str = inflector.pluralize( str );\n\n return str;\n },\n\n\n\n /**\n * This function adds classification support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.classify( 'message_bus_properties' ); // === 'MessageBusProperty'\n */\n classify : function ( str ){\n str = inflector.camelize( str );\n str = inflector.singularize( str );\n\n return str;\n },\n\n\n\n /**\n * This function adds foreign key support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} drop_id_ubar Default is to seperate id with an underbar at the end of the class name,\n you can pass true to skip it.(optional)\n * @returns {String} Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.foreign_key( 'MessageBusProperty' ); // === 'message_bus_property_id'\n * inflection.foreign_key( 'MessageBusProperty', true ); // === 'message_bus_propertyid'\n */\n foreign_key : function ( str, drop_id_ubar ){\n str = inflector.demodulize( str );\n str = inflector.underscore( str ) + (( drop_id_ubar ) ? ( '' ) : ( '_' )) + 'id';\n\n return str;\n },\n\n\n\n /**\n * This function adds ordinalize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Return all found numbers their sequence like '22nd'.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.ordinalize( 'the 1 pitch' ); // === 'the 1st pitch'\n */\n ordinalize : function ( str ){\n var str_arr = str.split( ' ' );\n var i = 0;\n var j = str_arr.length;\n\n for( ; i < j; i++ ){\n var k = parseInt( str_arr[ i ], 10 );\n\n if( !isNaN( k )){\n var ltd = str_arr[ i ].substring( str_arr[ i ].length - 2 );\n var ld = str_arr[ i ].substring( str_arr[ i ].length - 1 );\n var suf = 'th';\n\n if( ltd != '11' && ltd != '12' && ltd != '13' ){\n if( ld === '1' ){\n suf = 'st';\n }else if( ld === '2' ){\n suf = 'nd';\n }else if( ld === '3' ){\n suf = 'rd';\n }\n }\n\n str_arr[ i ] += suf;\n }\n }\n\n return str_arr.join( ' ' );\n },\n\n /**\n * This function performs multiple inflection methods on a string\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Array} arr An array of inflection methods.\n * @returns {String}\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.transform( 'all job', [ 'pluralize', 'capitalize', 'dasherize' ]); // === 'All-jobs'\n */\n transform : function ( str, arr ){\n var i = 0;\n var j = arr.length;\n\n for( ;i < j; i++ ){\n var method = arr[ i ];\n\n if( inflector.hasOwnProperty( method )){\n str = inflector[ method ]( str );\n }\n }\n\n return str;\n }\n };\n\n/**\n * @public\n */\n inflector.version = '1.13.1';\n\n return inflector;\n}));\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = require('./utils/prefixProperty');\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = require('./utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = require('./utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('./utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n return function prefix(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = backgroundClip;\nfunction backgroundClip() {\n return null;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar CROSS_FADE_REGEX = /cross-fade\\(/g;\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\n\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('cross-fade(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(CROSS_FADE_REGEX, prefix + 'cross-fade(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar FILTER_REGEX = /filter\\(/g;\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\n\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('filter(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(FILTER_REGEX, prefix + 'filter(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\n\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = logical;\nvar alternativeProps = {\n marginBlockStart: ['WebkitMarginBefore'],\n marginBlockEnd: ['WebkitMarginAfter'],\n marginInlineStart: ['WebkitMarginStart', 'MozMarginStart'],\n marginInlineEnd: ['WebkitMarginEnd', 'MozMarginEnd'],\n paddingBlockStart: ['WebkitPaddingBefore'],\n paddingBlockEnd: ['WebkitPaddingAfter'],\n paddingInlineStart: ['WebkitPaddingStart', 'MozPaddingStart'],\n paddingInlineEnd: ['WebkitPaddingEnd', 'MozPaddingEnd'],\n borderBlockStart: ['WebkitBorderBefore'],\n borderBlockStartColor: ['WebkitBorderBeforeColor'],\n borderBlockStartStyle: ['WebkitBorderBeforeStyle'],\n borderBlockStartWidth: ['WebkitBorderBeforeWidth'],\n borderBlockEnd: ['WebkitBorderAfter'],\n borderBlockEndColor: ['WebkitBorderAfterColor'],\n borderBlockEndStyle: ['WebkitBorderAfterStyle'],\n borderBlockEndWidth: ['WebkitBorderAfterWidth'],\n borderInlineStart: ['WebkitBorderStart', 'MozBorderStart'],\n borderInlineStartColor: ['WebkitBorderStartColor', 'MozBorderStartColor'],\n borderInlineStartStyle: ['WebkitBorderStartStyle', 'MozBorderStartStyle'],\n borderInlineStartWidth: ['WebkitBorderStartWidth', 'MozBorderStartWidth'],\n borderInlineEnd: ['WebkitBorderEnd', 'MozBorderEnd'],\n borderInlineEndColor: ['WebkitBorderEndColor', 'MozBorderEndColor'],\n borderInlineEndStyle: ['WebkitBorderEndStyle', 'MozBorderEndStyle'],\n borderInlineEndWidth: ['WebkitBorderEndWidth', 'MozBorderEndWidth']\n};\n\nfunction logical(property, value, style) {\n if (Object.prototype.hasOwnProperty.call(alternativeProps, property)) {\n var alternativePropList = alternativeProps[property];\n for (var i = 0, len = alternativePropList.length; i < len; ++i) {\n style[alternativePropList[i]] = value;\n }\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addNewValuesOnly;\nfunction addIfNew(list, value) {\n if (list.indexOf(value) === -1) {\n list.push(value);\n }\n}\n\nfunction addNewValuesOnly(list, values) {\n if (Array.isArray(values)) {\n for (var i = 0, len = values.length; i < len; ++i) {\n addIfNew(list, values[i]);\n }\n } else {\n addIfNew(list, values);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalizeString;\nfunction capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isObject;\nfunction isObject(value) {\n return value instanceof Object && !Array.isArray(value);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = require('./capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n var requiredPrefixes = prefixProperties[property];\n\n if (requiredPrefixes && style.hasOwnProperty(property)) {\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n\n for (var i = 0; i < requiredPrefixes.length; ++i) {\n var prefixedProperty = requiredPrefixes[i] + capitalizedProperty;\n\n if (!style[prefixedProperty]) {\n style[prefixedProperty] = style[property];\n }\n }\n }\n\n return style;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixValue;\nfunction prefixValue(plugins, property, value, style, metaData) {\n for (var i = 0, len = plugins.length; i < len; ++i) {\n var processedValue = plugins[i](property, value, style, metaData);\n\n // we can stop processing if a value is returned\n // as all plugin criteria are unique\n if (processedValue) {\n return processedValue;\n }\n }\n}","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/*!\n * isobject \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n","/**\r\n * This file is part of the JS Money library\r\n *\r\n * Copyright (c) 2014 David Kalosi\r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nvar currencies = {\r\n \"USD\": {\r\n \"symbol\": \"$\",\r\n \"name\": \"US Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"USD\",\r\n \"name_plural\": \"US dollars\"\r\n },\r\n \"CAD\": {\r\n \"symbol\": \"CA$\",\r\n \"name\": \"Canadian Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CAD\",\r\n \"name_plural\": \"Canadian dollars\"\r\n },\r\n \"EUR\": {\r\n \"symbol\": \"€\",\r\n \"name\": \"Euro\",\r\n \"symbol_native\": \"€\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EUR\",\r\n \"name_plural\": \"euros\"\r\n },\r\n \"BTC\": {\r\n \"symbol\": \"BTC\",\r\n \"name\": \"Bitcoin\",\r\n \"symbol_native\": \"฿\",\r\n \"decimal_digits\": 8,\r\n \"rounding\": 0,\r\n \"code\": \"BTC\",\r\n \"name_plural\": \"Bitcoins\"\r\n },\r\n \"AED\": {\r\n \"symbol\": \"AED\",\r\n \"name\": \"United Arab Emirates Dirham\",\r\n \"symbol_native\": \"د.إ.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AED\",\r\n \"name_plural\": \"UAE dirhams\"\r\n },\r\n \"AFN\": {\r\n \"symbol\": \"Af\",\r\n \"name\": \"Afghan Afghani\",\r\n \"symbol_native\": \"؋\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AFN\",\r\n \"name_plural\": \"Afghan Afghanis\"\r\n },\r\n \"ALL\": {\r\n \"symbol\": \"ALL\",\r\n \"name\": \"Albanian Lek\",\r\n \"symbol_native\": \"Lek\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ALL\",\r\n \"name_plural\": \"Albanian lekë\"\r\n },\r\n \"AMD\": {\r\n \"symbol\": \"AMD\",\r\n \"name\": \"Armenian Dram\",\r\n \"symbol_native\": \"դր.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AMD\",\r\n \"name_plural\": \"Armenian drams\"\r\n },\r\n \"ARS\": {\r\n \"symbol\": \"AR$\",\r\n \"name\": \"Argentine Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ARS\",\r\n \"name_plural\": \"Argentine pesos\"\r\n },\r\n \"AUD\": {\r\n \"symbol\": \"AU$\",\r\n \"name\": \"Australian Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AUD\",\r\n \"name_plural\": \"Australian dollars\"\r\n },\r\n \"AZN\": {\r\n \"symbol\": \"man.\",\r\n \"name\": \"Azerbaijani Manat\",\r\n \"symbol_native\": \"ман.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AZN\",\r\n \"name_plural\": \"Azerbaijani manats\"\r\n },\r\n \"BAM\": {\r\n \"symbol\": \"KM\",\r\n \"name\": \"Bosnia-Herzegovina Convertible Mark\",\r\n \"symbol_native\": \"KM\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BAM\",\r\n \"name_plural\": \"Bosnia-Herzegovina convertible marks\"\r\n },\r\n \"BDT\": {\r\n \"symbol\": \"Tk\",\r\n \"name\": \"Bangladeshi Taka\",\r\n \"symbol_native\": \"৳\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BDT\",\r\n \"name_plural\": \"Bangladeshi takas\"\r\n },\r\n \"BGN\": {\r\n \"symbol\": \"BGN\",\r\n \"name\": \"Bulgarian Lev\",\r\n \"symbol_native\": \"лв.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BGN\",\r\n \"name_plural\": \"Bulgarian leva\"\r\n },\r\n \"BHD\": {\r\n \"symbol\": \"BD\",\r\n \"name\": \"Bahraini Dinar\",\r\n \"symbol_native\": \"د.ب.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"BHD\",\r\n \"name_plural\": \"Bahraini dinars\"\r\n },\r\n \"BIF\": {\r\n \"symbol\": \"FBu\",\r\n \"name\": \"Burundian Franc\",\r\n \"symbol_native\": \"FBu\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"BIF\",\r\n \"name_plural\": \"Burundian francs\"\r\n },\r\n \"BND\": {\r\n \"symbol\": \"BN$\",\r\n \"name\": \"Brunei Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BND\",\r\n \"name_plural\": \"Brunei dollars\"\r\n },\r\n \"BOB\": {\r\n \"symbol\": \"Bs\",\r\n \"name\": \"Bolivian Boliviano\",\r\n \"symbol_native\": \"Bs\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BOB\",\r\n \"name_plural\": \"Bolivian bolivianos\"\r\n },\r\n \"BRL\": {\r\n \"symbol\": \"R$\",\r\n \"name\": \"Brazilian Real\",\r\n \"symbol_native\": \"R$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BRL\",\r\n \"name_plural\": \"Brazilian reals\"\r\n },\r\n \"BWP\": {\r\n \"symbol\": \"BWP\",\r\n \"name\": \"Botswanan Pula\",\r\n \"symbol_native\": \"P\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BWP\",\r\n \"name_plural\": \"Botswanan pulas\"\r\n },\r\n \"BYR\": {\r\n \"symbol\": \"BYR\",\r\n \"name\": \"Belarusian Ruble\",\r\n \"symbol_native\": \"BYR\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"BYR\",\r\n \"name_plural\": \"Belarusian rubles\"\r\n },\r\n \"BZD\": {\r\n \"symbol\": \"BZ$\",\r\n \"name\": \"Belize Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BZD\",\r\n \"name_plural\": \"Belize dollars\"\r\n },\r\n \"CDF\": {\r\n \"symbol\": \"CDF\",\r\n \"name\": \"Congolese Franc\",\r\n \"symbol_native\": \"FrCD\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CDF\",\r\n \"name_plural\": \"Congolese francs\"\r\n },\r\n \"CHF\": {\r\n \"symbol\": \"CHF\",\r\n \"name\": \"Swiss Franc\",\r\n \"symbol_native\": \"CHF\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0.05,\r\n \"code\": \"CHF\",\r\n \"name_plural\": \"Swiss francs\"\r\n },\r\n \"CLP\": {\r\n \"symbol\": \"CL$\",\r\n \"name\": \"Chilean Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"CLP\",\r\n \"name_plural\": \"Chilean pesos\"\r\n },\r\n \"CNY\": {\r\n \"symbol\": \"CN¥\",\r\n \"name\": \"Chinese Yuan\",\r\n \"symbol_native\": \"CN¥\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CNY\",\r\n \"name_plural\": \"Chinese yuan\"\r\n },\r\n \"COP\": {\r\n \"symbol\": \"CO$\",\r\n \"name\": \"Colombian Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"COP\",\r\n \"name_plural\": \"Colombian pesos\"\r\n },\r\n \"CRC\": {\r\n \"symbol\": \"₡\",\r\n \"name\": \"Costa Rican Colón\",\r\n \"symbol_native\": \"₡\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CRC\",\r\n \"name_plural\": \"Costa Rican colóns\"\r\n },\r\n \"CVE\": {\r\n \"symbol\": \"CV$\",\r\n \"name\": \"Cape Verdean Escudo\",\r\n \"symbol_native\": \"CV$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CVE\",\r\n \"name_plural\": \"Cape Verdean escudos\"\r\n },\r\n \"CZK\": {\r\n \"symbol\": \"Kč\",\r\n \"name\": \"Czech Republic Koruna\",\r\n \"symbol_native\": \"Kč\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CZK\",\r\n \"name_plural\": \"Czech Republic korunas\"\r\n },\r\n \"DJF\": {\r\n \"symbol\": \"Fdj\",\r\n \"name\": \"Djiboutian Franc\",\r\n \"symbol_native\": \"Fdj\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"DJF\",\r\n \"name_plural\": \"Djiboutian francs\"\r\n },\r\n \"DKK\": {\r\n \"symbol\": \"Dkr\",\r\n \"name\": \"Danish Krone\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DKK\",\r\n \"name_plural\": \"Danish kroner\"\r\n },\r\n \"DOP\": {\r\n \"symbol\": \"RD$\",\r\n \"name\": \"Dominican Peso\",\r\n \"symbol_native\": \"RD$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DOP\",\r\n \"name_plural\": \"Dominican pesos\"\r\n },\r\n \"DZD\": {\r\n \"symbol\": \"DA\",\r\n \"name\": \"Algerian Dinar\",\r\n \"symbol_native\": \"د.ج.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DZD\",\r\n \"name_plural\": \"Algerian dinars\"\r\n },\r\n \"EEK\": {\r\n \"symbol\": \"Ekr\",\r\n \"name\": \"Estonian Kroon\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EEK\",\r\n \"name_plural\": \"Estonian kroons\"\r\n },\r\n \"EGP\": {\r\n \"symbol\": \"EGP\",\r\n \"name\": \"Egyptian Pound\",\r\n \"symbol_native\": \"ج.م.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EGP\",\r\n \"name_plural\": \"Egyptian pounds\"\r\n },\r\n \"ERN\": {\r\n \"symbol\": \"Nfk\",\r\n \"name\": \"Eritrean Nakfa\",\r\n \"symbol_native\": \"Nfk\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ERN\",\r\n \"name_plural\": \"Eritrean nakfas\"\r\n },\r\n \"ETB\": {\r\n \"symbol\": \"Br\",\r\n \"name\": \"Ethiopian Birr\",\r\n \"symbol_native\": \"Br\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ETB\",\r\n \"name_plural\": \"Ethiopian birrs\"\r\n },\r\n \"GBP\": {\r\n \"symbol\": \"£\",\r\n \"name\": \"British Pound Sterling\",\r\n \"symbol_native\": \"£\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GBP\",\r\n \"name_plural\": \"British pounds sterling\"\r\n },\r\n \"GEL\": {\r\n \"symbol\": \"GEL\",\r\n \"name\": \"Georgian Lari\",\r\n \"symbol_native\": \"GEL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GEL\",\r\n \"name_plural\": \"Georgian laris\"\r\n },\r\n \"GHS\": {\r\n \"symbol\": \"GH₵\",\r\n \"name\": \"Ghanaian Cedi\",\r\n \"symbol_native\": \"GH₵\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GHS\",\r\n \"name_plural\": \"Ghanaian cedis\"\r\n },\r\n \"GNF\": {\r\n \"symbol\": \"FG\",\r\n \"name\": \"Guinean Franc\",\r\n \"symbol_native\": \"FG\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"GNF\",\r\n \"name_plural\": \"Guinean francs\"\r\n },\r\n \"GTQ\": {\r\n \"symbol\": \"GTQ\",\r\n \"name\": \"Guatemalan Quetzal\",\r\n \"symbol_native\": \"Q\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GTQ\",\r\n \"name_plural\": \"Guatemalan quetzals\"\r\n },\r\n \"HKD\": {\r\n \"symbol\": \"HK$\",\r\n \"name\": \"Hong Kong Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HKD\",\r\n \"name_plural\": \"Hong Kong dollars\"\r\n },\r\n \"HNL\": {\r\n \"symbol\": \"HNL\",\r\n \"name\": \"Honduran Lempira\",\r\n \"symbol_native\": \"L\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HNL\",\r\n \"name_plural\": \"Honduran lempiras\"\r\n },\r\n \"HRK\": {\r\n \"symbol\": \"kn\",\r\n \"name\": \"Croatian Kuna\",\r\n \"symbol_native\": \"kn\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HRK\",\r\n \"name_plural\": \"Croatian kunas\"\r\n },\r\n \"HUF\": {\r\n \"symbol\": \"Ft\",\r\n \"name\": \"Hungarian Forint\",\r\n \"symbol_native\": \"Ft\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HUF\",\r\n \"name_plural\": \"Hungarian forints\"\r\n },\r\n \"IDR\": {\r\n \"symbol\": \"Rp\",\r\n \"name\": \"Indonesian Rupiah\",\r\n \"symbol_native\": \"Rp\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"IDR\",\r\n \"name_plural\": \"Indonesian rupiahs\"\r\n },\r\n \"ILS\": {\r\n \"symbol\": \"₪\",\r\n \"name\": \"Israeli New Sheqel\",\r\n \"symbol_native\": \"₪\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ILS\",\r\n \"name_plural\": \"Israeli new sheqels\"\r\n },\r\n \"INR\": {\r\n \"symbol\": \"Rs\",\r\n \"name\": \"Indian Rupee\",\r\n \"symbol_native\": \"টকা\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"INR\",\r\n \"name_plural\": \"Indian rupees\"\r\n },\r\n \"IQD\": {\r\n \"symbol\": \"IQD\",\r\n \"name\": \"Iraqi Dinar\",\r\n \"symbol_native\": \"د.ع.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"IQD\",\r\n \"name_plural\": \"Iraqi dinars\"\r\n },\r\n \"IRR\": {\r\n \"symbol\": \"IRR\",\r\n \"name\": \"Iranian Rial\",\r\n \"symbol_native\": \"﷼\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"IRR\",\r\n \"name_plural\": \"Iranian rials\"\r\n },\r\n \"ISK\": {\r\n \"symbol\": \"Ikr\",\r\n \"name\": \"Icelandic Króna\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"ISK\",\r\n \"name_plural\": \"Icelandic krónur\"\r\n },\r\n \"JMD\": {\r\n \"symbol\": \"J$\",\r\n \"name\": \"Jamaican Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"JMD\",\r\n \"name_plural\": \"Jamaican dollars\"\r\n },\r\n \"JOD\": {\r\n \"symbol\": \"JD\",\r\n \"name\": \"Jordanian Dinar\",\r\n \"symbol_native\": \"د.أ.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"JOD\",\r\n \"name_plural\": \"Jordanian dinars\"\r\n },\r\n \"JPY\": {\r\n \"symbol\": \"¥\",\r\n \"name\": \"Japanese Yen\",\r\n \"symbol_native\": \"¥\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"JPY\",\r\n \"name_plural\": \"Japanese yen\"\r\n },\r\n \"KES\": {\r\n \"symbol\": \"Ksh\",\r\n \"name\": \"Kenyan Shilling\",\r\n \"symbol_native\": \"Ksh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KES\",\r\n \"name_plural\": \"Kenyan shillings\"\r\n },\r\n \"KHR\": {\r\n \"symbol\": \"KHR\",\r\n \"name\": \"Cambodian Riel\",\r\n \"symbol_native\": \"៛\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KHR\",\r\n \"name_plural\": \"Cambodian riels\"\r\n },\r\n \"KMF\": {\r\n \"symbol\": \"CF\",\r\n \"name\": \"Comorian Franc\",\r\n \"symbol_native\": \"FC\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"KMF\",\r\n \"name_plural\": \"Comorian francs\"\r\n },\r\n \"KRW\": {\r\n \"symbol\": \"₩\",\r\n \"name\": \"South Korean Won\",\r\n \"symbol_native\": \"₩\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"KRW\",\r\n \"name_plural\": \"South Korean won\"\r\n },\r\n \"KWD\": {\r\n \"symbol\": \"KD\",\r\n \"name\": \"Kuwaiti Dinar\",\r\n \"symbol_native\": \"د.ك.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"KWD\",\r\n \"name_plural\": \"Kuwaiti dinars\"\r\n },\r\n \"KZT\": {\r\n \"symbol\": \"KZT\",\r\n \"name\": \"Kazakhstani Tenge\",\r\n \"symbol_native\": \"тңг.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KZT\",\r\n \"name_plural\": \"Kazakhstani tenges\"\r\n },\r\n \"LAK\": {\r\n \"symbol\": \"₭\",\r\n \"name\": \"Lao kip\",\r\n \"symbol_native\": \"ກີບ\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LAK\",\r\n \"name_plural\": \"Lao kips\"\r\n },\r\n \"LBP\": {\r\n \"symbol\": \"LB£\",\r\n \"name\": \"Lebanese Pound\",\r\n \"symbol_native\": \"ل.ل.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LBP\",\r\n \"name_plural\": \"Lebanese pounds\"\r\n },\r\n \"LKR\": {\r\n \"symbol\": \"SLRs\",\r\n \"name\": \"Sri Lankan Rupee\",\r\n \"symbol_native\": \"SL Re\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LKR\",\r\n \"name_plural\": \"Sri Lankan rupees\"\r\n },\r\n \"LTL\": {\r\n \"symbol\": \"Lt\",\r\n \"name\": \"Lithuanian Litas\",\r\n \"symbol_native\": \"Lt\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LTL\",\r\n \"name_plural\": \"Lithuanian litai\"\r\n },\r\n \"LVL\": {\r\n \"symbol\": \"Ls\",\r\n \"name\": \"Latvian Lats\",\r\n \"symbol_native\": \"Ls\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LVL\",\r\n \"name_plural\": \"Latvian lati\"\r\n },\r\n \"LYD\": {\r\n \"symbol\": \"LD\",\r\n \"name\": \"Libyan Dinar\",\r\n \"symbol_native\": \"د.ل.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"LYD\",\r\n \"name_plural\": \"Libyan dinars\"\r\n },\r\n \"MAD\": {\r\n \"symbol\": \"MAD\",\r\n \"name\": \"Moroccan Dirham\",\r\n \"symbol_native\": \"د.م.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MAD\",\r\n \"name_plural\": \"Moroccan dirhams\"\r\n },\r\n \"MDL\": {\r\n \"symbol\": \"MDL\",\r\n \"name\": \"Moldovan Leu\",\r\n \"symbol_native\": \"MDL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MDL\",\r\n \"name_plural\": \"Moldovan lei\"\r\n },\r\n \"MGA\": {\r\n \"symbol\": \"MGA\",\r\n \"name\": \"Malagasy Ariary\",\r\n \"symbol_native\": \"MGA\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MGA\",\r\n \"name_plural\": \"Malagasy Ariaries\"\r\n },\r\n \"MKD\": {\r\n \"symbol\": \"MKD\",\r\n \"name\": \"Macedonian Denar\",\r\n \"symbol_native\": \"MKD\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MKD\",\r\n \"name_plural\": \"Macedonian denari\"\r\n },\r\n \"MMK\": {\r\n \"symbol\": \"MMK\",\r\n \"name\": \"Myanma Kyat\",\r\n \"symbol_native\": \"K\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MMK\",\r\n \"name_plural\": \"Myanma kyats\"\r\n },\r\n \"MOP\": {\r\n \"symbol\": \"MOP$\",\r\n \"name\": \"Macanese Pataca\",\r\n \"symbol_native\": \"MOP$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MOP\",\r\n \"name_plural\": \"Macanese patacas\"\r\n },\r\n \"MUR\": {\r\n \"symbol\": \"MURs\",\r\n \"name\": \"Mauritian Rupee\",\r\n \"symbol_native\": \"MURs\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MUR\",\r\n \"name_plural\": \"Mauritian rupees\"\r\n },\r\n \"MXN\": {\r\n \"symbol\": \"MX$\",\r\n \"name\": \"Mexican Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MXN\",\r\n \"name_plural\": \"Mexican pesos\"\r\n },\r\n \"MYR\": {\r\n \"symbol\": \"RM\",\r\n \"name\": \"Malaysian Ringgit\",\r\n \"symbol_native\": \"RM\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MYR\",\r\n \"name_plural\": \"Malaysian ringgits\"\r\n },\r\n \"MZN\": {\r\n \"symbol\": \"MTn\",\r\n \"name\": \"Mozambican Metical\",\r\n \"symbol_native\": \"MTn\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MZN\",\r\n \"name_plural\": \"Mozambican meticals\"\r\n },\r\n \"NAD\": {\r\n \"symbol\": \"N$\",\r\n \"name\": \"Namibian Dollar\",\r\n \"symbol_native\": \"N$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NAD\",\r\n \"name_plural\": \"Namibian dollars\"\r\n },\r\n \"NGN\": {\r\n \"symbol\": \"₦\",\r\n \"name\": \"Nigerian Naira\",\r\n \"symbol_native\": \"₦\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NGN\",\r\n \"name_plural\": \"Nigerian nairas\"\r\n },\r\n \"NIO\": {\r\n \"symbol\": \"C$\",\r\n \"name\": \"Nicaraguan Córdoba\",\r\n \"symbol_native\": \"C$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NIO\",\r\n \"name_plural\": \"Nicaraguan córdobas\"\r\n },\r\n \"NOK\": {\r\n \"symbol\": \"Nkr\",\r\n \"name\": \"Norwegian Krone\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NOK\",\r\n \"name_plural\": \"Norwegian kroner\"\r\n },\r\n \"NPR\": {\r\n \"symbol\": \"NPRs\",\r\n \"name\": \"Nepalese Rupee\",\r\n \"symbol_native\": \"नेरू\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NPR\",\r\n \"name_plural\": \"Nepalese rupees\"\r\n },\r\n \"NZD\": {\r\n \"symbol\": \"NZ$\",\r\n \"name\": \"New Zealand Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NZD\",\r\n \"name_plural\": \"New Zealand dollars\"\r\n },\r\n \"OMR\": {\r\n \"symbol\": \"OMR\",\r\n \"name\": \"Omani Rial\",\r\n \"symbol_native\": \"ر.ع.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"OMR\",\r\n \"name_plural\": \"Omani rials\"\r\n },\r\n \"PAB\": {\r\n \"symbol\": \"B/.\",\r\n \"name\": \"Panamanian Balboa\",\r\n \"symbol_native\": \"B/.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PAB\",\r\n \"name_plural\": \"Panamanian balboas\"\r\n },\r\n \"PEN\": {\r\n \"symbol\": \"S/.\",\r\n \"name\": \"Peruvian Nuevo Sol\",\r\n \"symbol_native\": \"S/.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PEN\",\r\n \"name_plural\": \"Peruvian nuevos soles\"\r\n },\r\n \"PHP\": {\r\n \"symbol\": \"₱\",\r\n \"name\": \"Philippine Peso\",\r\n \"symbol_native\": \"₱\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PHP\",\r\n \"name_plural\": \"Philippine pesos\"\r\n },\r\n \"PKR\": {\r\n \"symbol\": \"PKRs\",\r\n \"name\": \"Pakistani Rupee\",\r\n \"symbol_native\": \"₨\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PKR\",\r\n \"name_plural\": \"Pakistani rupees\"\r\n },\r\n \"PLN\": {\r\n \"symbol\": \"zł\",\r\n \"name\": \"Polish Zloty\",\r\n \"symbol_native\": \"zł\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PLN\",\r\n \"name_plural\": \"Polish zlotys\"\r\n },\r\n \"PYG\": {\r\n \"symbol\": \"₲\",\r\n \"name\": \"Paraguayan Guarani\",\r\n \"symbol_native\": \"₲\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"PYG\",\r\n \"name_plural\": \"Paraguayan guaranis\"\r\n },\r\n \"QAR\": {\r\n \"symbol\": \"QR\",\r\n \"name\": \"Qatari Rial\",\r\n \"symbol_native\": \"ر.ق.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"QAR\",\r\n \"name_plural\": \"Qatari rials\"\r\n },\r\n \"RON\": {\r\n \"symbol\": \"RON\",\r\n \"name\": \"Romanian Leu\",\r\n \"symbol_native\": \"RON\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RON\",\r\n \"name_plural\": \"Romanian lei\"\r\n },\r\n \"RSD\": {\r\n \"symbol\": \"din.\",\r\n \"name\": \"Serbian Dinar\",\r\n \"symbol_native\": \"дин.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RSD\",\r\n \"name_plural\": \"Serbian dinars\"\r\n },\r\n \"RUB\": {\r\n \"symbol\": \"RUB\",\r\n \"name\": \"Russian Ruble\",\r\n \"symbol_native\": \"₽\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RUB\",\r\n \"name_plural\": \"Russian rubles\"\r\n },\r\n \"RWF\": {\r\n \"symbol\": \"RWF\",\r\n \"name\": \"Rwandan Franc\",\r\n \"symbol_native\": \"FR\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"RWF\",\r\n \"name_plural\": \"Rwandan francs\"\r\n },\r\n \"SAR\": {\r\n \"symbol\": \"SR\",\r\n \"name\": \"Saudi Riyal\",\r\n \"symbol_native\": \"ر.س.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SAR\",\r\n \"name_plural\": \"Saudi riyals\"\r\n },\r\n \"SDG\": {\r\n \"symbol\": \"SDG\",\r\n \"name\": \"Sudanese Pound\",\r\n \"symbol_native\": \"SDG\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SDG\",\r\n \"name_plural\": \"Sudanese pounds\"\r\n },\r\n \"SEK\": {\r\n \"symbol\": \"Skr\",\r\n \"name\": \"Swedish Krona\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SEK\",\r\n \"name_plural\": \"Swedish kronor\"\r\n },\r\n \"SGD\": {\r\n \"symbol\": \"S$\",\r\n \"name\": \"Singapore Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SGD\",\r\n \"name_plural\": \"Singapore dollars\"\r\n },\r\n \"SOS\": {\r\n \"symbol\": \"Ssh\",\r\n \"name\": \"Somali Shilling\",\r\n \"symbol_native\": \"Ssh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SOS\",\r\n \"name_plural\": \"Somali shillings\"\r\n },\r\n \"SYP\": {\r\n \"symbol\": \"SY£\",\r\n \"name\": \"Syrian Pound\",\r\n \"symbol_native\": \"ل.س.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SYP\",\r\n \"name_plural\": \"Syrian pounds\"\r\n },\r\n \"THB\": {\r\n \"symbol\": \"฿\",\r\n \"name\": \"Thai Baht\",\r\n \"symbol_native\": \"฿\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"THB\",\r\n \"name_plural\": \"Thai baht\"\r\n },\r\n \"TND\": {\r\n \"symbol\": \"DT\",\r\n \"name\": \"Tunisian Dinar\",\r\n \"symbol_native\": \"د.ت.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"TND\",\r\n \"name_plural\": \"Tunisian dinars\"\r\n },\r\n \"TOP\": {\r\n \"symbol\": \"T$\",\r\n \"name\": \"Tongan Paʻanga\",\r\n \"symbol_native\": \"T$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TOP\",\r\n \"name_plural\": \"Tongan paʻanga\"\r\n },\r\n \"TRY\": {\r\n \"symbol\": \"TL\",\r\n \"name\": \"Turkish Lira\",\r\n \"symbol_native\": \"TL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TRY\",\r\n \"name_plural\": \"Turkish Lira\"\r\n },\r\n \"TTD\": {\r\n \"symbol\": \"TT$\",\r\n \"name\": \"Trinidad and Tobago Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TTD\",\r\n \"name_plural\": \"Trinidad and Tobago dollars\"\r\n },\r\n \"TWD\": {\r\n \"symbol\": \"NT$\",\r\n \"name\": \"New Taiwan Dollar\",\r\n \"symbol_native\": \"NT$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TWD\",\r\n \"name_plural\": \"New Taiwan dollars\"\r\n },\r\n \"TZS\": {\r\n \"symbol\": \"TSh\",\r\n \"name\": \"Tanzanian Shilling\",\r\n \"symbol_native\": \"TSh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TZS\",\r\n \"name_plural\": \"Tanzanian shillings\"\r\n },\r\n \"UAH\": {\r\n \"symbol\": \"₴\",\r\n \"name\": \"Ukrainian Hryvnia\",\r\n \"symbol_native\": \"₴\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UAH\",\r\n \"name_plural\": \"Ukrainian hryvnias\"\r\n },\r\n \"UGX\": {\r\n \"symbol\": \"USh\",\r\n \"name\": \"Ugandan Shilling\",\r\n \"symbol_native\": \"USh\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"UGX\",\r\n \"name_plural\": \"Ugandan shillings\"\r\n },\r\n \"UYU\": {\r\n \"symbol\": \"$U\",\r\n \"name\": \"Uruguayan Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UYU\",\r\n \"name_plural\": \"Uruguayan pesos\"\r\n },\r\n \"UZS\": {\r\n \"symbol\": \"UZS\",\r\n \"name\": \"Uzbekistan Som\",\r\n \"symbol_native\": \"UZS\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UZS\",\r\n \"name_plural\": \"Uzbekistan som\"\r\n },\r\n \"VEF\": {\r\n \"symbol\": \"Bs.F.\",\r\n \"name\": \"Venezuelan Bolívar\",\r\n \"symbol_native\": \"Bs.F.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"VEF\",\r\n \"name_plural\": \"Venezuelan bolívars\"\r\n },\r\n \"VND\": {\r\n \"symbol\": \"₫\",\r\n \"name\": \"Vietnamese Dong\",\r\n \"symbol_native\": \"₫\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"VND\",\r\n \"name_plural\": \"Vietnamese dong\"\r\n },\r\n \"XAF\": {\r\n \"symbol\": \"FCFA\",\r\n \"name\": \"CFA Franc BEAC\",\r\n \"symbol_native\": \"FCFA\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"XAF\",\r\n \"name_plural\": \"CFA francs BEAC\"\r\n },\r\n \"XOF\": {\r\n \"symbol\": \"CFA\",\r\n \"name\": \"CFA Franc BCEAO\",\r\n \"symbol_native\": \"CFA\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"XOF\",\r\n \"name_plural\": \"CFA francs BCEAO\"\r\n },\r\n \"YER\": {\r\n \"symbol\": \"YR\",\r\n \"name\": \"Yemeni Rial\",\r\n \"symbol_native\": \"ر.ي.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"YER\",\r\n \"name_plural\": \"Yemeni rials\"\r\n },\r\n \"ZAR\": {\r\n \"symbol\": \"R\",\r\n \"name\": \"South African Rand\",\r\n \"symbol_native\": \"R\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ZAR\",\r\n \"name_plural\": \"South African rand\"\r\n },\r\n \"ZMK\": {\r\n \"symbol\": \"ZK\",\r\n \"name\": \"Zambian Kwacha\",\r\n \"symbol_native\": \"ZK\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"ZMK\",\r\n \"name_plural\": \"Zambian kwachas\"\r\n }\r\n};\r\n\r\nObject.keys(currencies).forEach(function (currency) {\r\n module.exports[currency] = currencies[currency]; \r\n});\r\n","/**\n * This file is part of the JS Money library\n *\n * Copyright (c) 2014 David Kalosi\n *\n * For the full copyright and license information, please view the LICENSE\n * file that was distributed with this source code.\n */\n\nmodule.exports = require('./money');\n","/**\r\n * This file is part of the JS Money library\r\n *\r\n * Copyright (c) 2014 David Kalosi\r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nvar extend = require('lodash/extend');\r\nvar isFunction = require('lodash/isFunction');\r\nvar isNaN = require('lodash/isNaN');\r\nvar isObject = require('lodash/isObject');\r\nvar isPlainObject = require('lodash/isPlainObject');\r\nvar isString = require('lodash/isString');\r\nvar currencies = require('./currency');\r\n\r\nvar isInt = function (n) {\r\n return Number(n) === n && n % 1 === 0;\r\n};\r\n\r\nvar decimalPlaces = function (num) {\r\n var match = ('' + num).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\r\n\r\n if (!match)\r\n return 0;\r\n\r\n return Math.max(0,\r\n (match[1] ? match[1].length : 0) - (match[2] ? +match[2] : 0));\r\n};\r\n\r\nvar assertSameCurrency = function (left, right) {\r\n if (left.currency !== right.currency)\r\n throw new Error('Different currencies');\r\n};\r\n\r\nvar assertType = function (other) {\r\n if (!(other instanceof Money))\r\n throw new TypeError('Instance of Money required');\r\n};\r\n\r\nvar assertOperand = function (operand) {\r\n if (isNaN(parseFloat(operand)) && !isFinite(operand))\r\n throw new TypeError('Operand must be a number');\r\n};\r\n\r\n/**\r\n * Creates a new Money instance.\r\n * The created Money instances is a value object thus it is immutable.\r\n *\r\n * @param {Number} amount\r\n * @param {Object/String} currency\r\n * @returns {Money}\r\n * @constructor\r\n */\r\nfunction Money(amount, currency) {\r\n if (isString(currency))\r\n currency = currencies[currency];\r\n\r\n if (!isPlainObject(currency))\r\n throw new TypeError('Invalid currency');\r\n\r\n if (!isInt(amount))\r\n throw new TypeError('Amount must be an integer');\r\n\r\n this.amount = amount;\r\n this.currency = currency.code;\r\n Object.freeze(this);\r\n}\r\n\r\nMoney.fromInteger = function (amount, currency) {\r\n if (isObject(amount)) {\r\n if (amount.amount === undefined || amount.currency === undefined)\r\n throw new TypeError('Missing required parameters amount,currency');\r\n\r\n currency = amount.currency;\r\n amount = amount.amount;\r\n }\r\n\r\n if (!isInt(amount))\r\n throw new TypeError('Amount must be an integer value');\r\n\r\n return new Money(amount, currency);\r\n};\r\n\r\nMoney.fromDecimal = function (amount, currency, rounder) {\r\n if (isObject(amount)) {\r\n if (amount.amount === undefined || amount.currency === undefined)\r\n throw new TypeError('Missing required parameters amount,currency');\r\n\r\n rounder = currency;\r\n currency = amount.currency;\r\n amount = amount.amount;\r\n }\r\n\r\n if (isString(currency))\r\n currency = currencies[currency];\r\n\r\n if (!isPlainObject(currency))\r\n throw new TypeError('Invalid currency');\r\n\r\n if (rounder === undefined) {\r\n var decimals = decimalPlaces(amount);\r\n\r\n if (decimals > currency.decimal_digits)\r\n throw new Error(\"The currency \" + currency.code + \" supports only \"\r\n + currency.decimal_digits + \" decimal digits\");\r\n } else {\r\n if (['round', 'floor', 'ceil'].indexOf(rounder) === -1 && typeof rounder !== 'function')\r\n throw new TypeError('Invalid parameter rounder');\r\n\r\n if (isString(rounder))\r\n rounder = Math[rounder];\r\n }\r\n\r\n var precisionMultiplier = Math.pow(10, currency.decimal_digits);\r\n var resultAmount = amount * precisionMultiplier;\r\n\r\n if (rounder)\r\n resultAmount = rounder(resultAmount);\r\n\r\n return new Money(resultAmount, currency);\r\n};\r\n\r\n/**\r\n * Returns true if the two instances of Money are equal, false otherwise.\r\n *\r\n * @param {Money} other\r\n * @returns {Boolean}\r\n */\r\nMoney.prototype.equals = function (other) {\r\n var self = this;\r\n assertType(other);\r\n\r\n return self.amount === other.amount &&\r\n self.currency === other.currency;\r\n};\r\n\r\n/**\r\n * Adds the two objects together creating a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Money} other\r\n * @returns {Money}\r\n */\r\nMoney.prototype.add = function (other) {\r\n var self = this;\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n return new Money(self.amount + other.amount, self.currency);\r\n};\r\n\r\n/**\r\n * Subtracts the two objects creating a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Money} other\r\n * @returns {Money}\r\n */\r\nMoney.prototype.subtract = function (other) {\r\n var self = this;\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n return new Money(self.amount - other.amount, self.currency);\r\n};\r\n\r\n/**\r\n * Multiplies the object by the multiplier returning a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Number} multiplier\r\n * @param {Function} [fn=Math.round]\r\n * @returns {Money}\r\n */\r\nMoney.prototype.multiply = function (multiplier, fn) {\r\n if (!isFunction(fn))\r\n fn = Math.round;\r\n\r\n assertOperand(multiplier);\r\n var amount = fn(this.amount * multiplier);\r\n\r\n return new Money(amount, this.currency);\r\n};\r\n\r\n/**\r\n * Divides the object by the multiplier returning a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Number} divisor\r\n * @param {Function} [fn=Math.round]\r\n * @returns {Money}\r\n */\r\nMoney.prototype.divide = function (divisor, fn) {\r\n if (!isFunction(fn))\r\n fn = Math.round;\r\n\r\n assertOperand(divisor);\r\n var amount = fn(this.amount / divisor);\r\n\r\n return new Money(amount, this.currency);\r\n};\r\n\r\n/**\r\n * Allocates fund bases on the ratios provided returing an array of objects as a product of the allocation.\r\n *\r\n * @param {Array} other\r\n * @returns {Array.Money}\r\n */\r\nMoney.prototype.allocate = function (ratios) {\r\n var self = this;\r\n var remainder = self.amount;\r\n var results = [];\r\n var total = 0;\r\n\r\n ratios.forEach(function (ratio) {\r\n total += ratio;\r\n });\r\n\r\n ratios.forEach(function (ratio) {\r\n var share = Math.floor(self.amount * ratio / total)\r\n results.push(new Money(share, self.currency));\r\n remainder -= share;\r\n });\r\n\r\n for (var i = 0; remainder > 0; i++) {\r\n results[i] = new Money(results[i].amount + 1, results[i].currency);\r\n remainder--;\r\n }\r\n\r\n return results;\r\n};\r\n\r\n/**\r\n * Compares two instances of Money.\r\n *\r\n * @param {Money} other\r\n * @returns {Number}\r\n */\r\nMoney.prototype.compare = function (other) {\r\n var self = this;\r\n\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n if (self.amount === other.amount)\r\n return 0;\r\n\r\n return self.amount > other.amount ? 1 : -1;\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is greater than the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.greaterThan = function (other) {\r\n return 1 === this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is greater or equal to the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.greaterThanOrEqual = function (other) {\r\n return 0 <= this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is less than the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.lessThan = function (other) {\r\n return -1 === this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is less than or equal to the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.lessThanOrEqual = function (other) {\r\n return 0 >= this.compare(other);\r\n};\r\n\r\n/**\r\n * Returns true if the amount is zero.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isZero = function () {\r\n return this.amount === 0;\r\n};\r\n\r\n/**\r\n * Returns true if the amount is positive.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isPositive = function () {\r\n return this.amount > 0;\r\n};\r\n\r\n/**\r\n * Returns true if the amount is negative.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isNegative = function () {\r\n return this.amount < 0;\r\n};\r\n\r\n/**\r\n * Returns the decimal value as a float.\r\n *\r\n * @returns {number}\r\n */\r\nMoney.prototype.toDecimal = function () {\r\n return Number(this.toString());\r\n};\r\n\r\n/**\r\n * Returns the decimal value as a string.\r\n *\r\n * @returns {string}\r\n */\r\nMoney.prototype.toString = function () {\r\n var currency = currencies[this.currency];\r\n return (this.amount / Math.pow(10, currency.decimal_digits)).toFixed(currency.decimal_digits);\r\n};\r\n\r\n/**\r\n * Returns a serialised version of the instance.\r\n *\r\n * @returns {{amount: number, currency: string}}\r\n */\r\nMoney.prototype.toJSON = function () {\r\n return {\r\n amount: this.amount,\r\n currency: this.currency\r\n };\r\n};\r\n\r\n/**\r\n * Returns the amount represented by this object.\r\n *\r\n * @returns {number}\r\n */\r\nMoney.prototype.getAmount = function () {\r\n return this.amount;\r\n};\r\n\r\n/**\r\n * Returns the currency represented by this object.\r\n *\r\n * @returns {string}\r\n */\r\nMoney.prototype.getCurrency = function () {\r\n return this.currency;\r\n};\r\n\r\nmodule.exports = extend(Money, currencies);\r\n","var toString = Object.prototype.toString;\n\nmodule.exports = function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\n\nfunction isError(val) {\n return val instanceof Error || (typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number');\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n keysIn = require('./keysIn');\n\n/**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\nvar assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n});\n\nmodule.exports = assignIn;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","module.exports = require('./assignIn');\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","'use strict';\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);\n error.framesToPop = 1; // Skip nullthrows's own stack frame.\n throw error;\n}\n\nmodule.exports = nullthrows;\nmodule.exports.default = nullthrows;\n\nObject.defineProperty(module.exports, '__esModule', {value: true});\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","function isUndefined(value) {\n return value === undefined;\n}\n\nfunction isNull(value) {\n return value === null;\n}\n\nfunction isBoolean(value) {\n return typeof value === 'boolean';\n}\n\nfunction isObject(value) {\n return value === Object(value);\n}\n\nfunction isArray(value) {\n return Array.isArray(value);\n}\n\nfunction isDate(value) {\n return value instanceof Date;\n}\n\nfunction isBlob(value, isReactNative) {\n return isReactNative\n ? isObject(value) && !isUndefined(value.uri)\n : isObject(value) &&\n typeof value.size === 'number' &&\n typeof value.type === 'string' &&\n typeof value.slice === 'function';\n}\n\nfunction isFile(value, isReactNative) {\n return (\n isBlob(value, isReactNative) &&\n typeof value.name === 'string' &&\n (isObject(value.lastModifiedDate) || typeof value.lastModified === 'number')\n );\n}\n\nfunction initCfg(value) {\n return isUndefined(value) ? false : value;\n}\n\nfunction serialize(obj, cfg, fd, pre) {\n cfg = cfg || {};\n fd = fd || new FormData();\n\n cfg.indices = initCfg(cfg.indices);\n cfg.nullsAsUndefineds = initCfg(cfg.nullsAsUndefineds);\n cfg.booleansAsIntegers = initCfg(cfg.booleansAsIntegers);\n cfg.allowEmptyArrays = initCfg(cfg.allowEmptyArrays);\n cfg.noFilesWithArrayNotation = initCfg(cfg.noFilesWithArrayNotation);\n cfg.dotsForObjectNotation = initCfg(cfg.dotsForObjectNotation);\n\n const isReactNative = typeof fd.getParts === 'function';\n\n if (isUndefined(obj)) {\n return fd;\n } else if (isNull(obj)) {\n if (!cfg.nullsAsUndefineds) {\n fd.append(pre, '');\n }\n } else if (isBoolean(obj)) {\n if (cfg.booleansAsIntegers) {\n fd.append(pre, obj ? 1 : 0);\n } else {\n fd.append(pre, obj);\n }\n } else if (isArray(obj)) {\n if (obj.length) {\n obj.forEach((value, index) => {\n let key = pre + '[' + (cfg.indices ? index : '') + ']';\n\n if (cfg.noFilesWithArrayNotation && isFile(value, isReactNative)) {\n key = pre;\n }\n\n serialize(value, cfg, fd, key);\n });\n } else if (cfg.allowEmptyArrays) {\n fd.append(pre + '[]', '');\n }\n } else if (isDate(obj)) {\n fd.append(pre, obj.toISOString());\n } else if (isObject(obj) && !isBlob(obj, isReactNative)) {\n Object.keys(obj).forEach((prop) => {\n const value = obj[prop];\n\n if (isArray(value)) {\n while (prop.length > 2 && prop.lastIndexOf('[]') === prop.length - 2) {\n prop = prop.substring(0, prop.length - 2);\n }\n }\n\n const key = pre\n ? cfg.dotsForObjectNotation\n ? pre + '.' + prop\n : pre + '[' + prop + ']'\n : prop;\n\n serialize(value, cfg, fd, key);\n });\n } else {\n fd.append(pre, obj);\n }\n\n return fd;\n}\n\nmodule.exports = {\n serialize,\n};\n","'use strict';\n\n// modified from https://github.com/es-shims/es6-shim\nvar objectKeys = require('object-keys');\nvar hasSymbols = require('has-symbols/shams')();\nvar callBound = require('call-bind/callBound');\nvar toObject = Object;\nvar $push = callBound('Array.prototype.push');\nvar $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function assign(target, source1) {\n\tif (target == null) { throw new TypeError('target must be an object'); }\n\tvar to = toObject(target); // step 1\n\tif (arguments.length === 1) {\n\t\treturn to; // step 2\n\t}\n\tfor (var s = 1; s < arguments.length; ++s) {\n\t\tvar from = toObject(arguments[s]); // step 3.a.i\n\n\t\t// step 3.a.ii:\n\t\tvar keys = objectKeys(from);\n\t\tvar getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);\n\t\tif (getSymbols) {\n\t\t\tvar syms = getSymbols(from);\n\t\t\tfor (var j = 0; j < syms.length; ++j) {\n\t\t\t\tvar key = syms[j];\n\t\t\t\tif ($propIsEnumerable(from, key)) {\n\t\t\t\t\t$push(keys, key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// step 3.a.iii:\n\t\tfor (var i = 0; i < keys.length; ++i) {\n\t\t\tvar nextKey = keys[i];\n\t\t\tif ($propIsEnumerable(from, nextKey)) { // step 3.a.iii.2\n\t\t\t\tvar propValue = from[nextKey]; // step 3.a.iii.2.a\n\t\t\t\tto[nextKey] = propValue; // step 3.a.iii.2.b\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to; // step 4\n};\n","'use strict';\n\nvar defineProperties = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind.apply(getPolyfill());\n// eslint-disable-next-line no-unused-vars\nvar bound = function assign(target, source1) {\n\treturn polyfill(Object, arguments);\n};\n\ndefineProperties(bound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = bound;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar lacksProperEnumerationOrder = function () {\n\tif (!Object.assign) {\n\t\treturn false;\n\t}\n\t/*\n\t * v8, specifically in node 4.x, has a bug with incorrect property enumeration order\n\t * note: this does not detect the bug unless there's 20 characters\n\t */\n\tvar str = 'abcdefghijklmnopqrst';\n\tvar letters = str.split('');\n\tvar map = {};\n\tfor (var i = 0; i < letters.length; ++i) {\n\t\tmap[letters[i]] = letters[i];\n\t}\n\tvar obj = Object.assign({}, map);\n\tvar actual = '';\n\tfor (var k in obj) {\n\t\tactual += k;\n\t}\n\treturn str !== actual;\n};\n\nvar assignHasPendingExceptions = function () {\n\tif (!Object.assign || !Object.preventExtensions) {\n\t\treturn false;\n\t}\n\t/*\n\t * Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n\t * which is 72% slower than our shim, and Firefox 40's native implementation.\n\t */\n\tvar thrower = Object.preventExtensions({ 1: 2 });\n\ttry {\n\t\tObject.assign(thrower, 'xy');\n\t} catch (e) {\n\t\treturn thrower[1] === 'y';\n\t}\n\treturn false;\n};\n\nmodule.exports = function getPolyfill() {\n\tif (!Object.assign) {\n\t\treturn implementation;\n\t}\n\tif (lacksProperEnumerationOrder()) {\n\t\treturn implementation;\n\t}\n\tif (assignHasPendingExceptions()) {\n\t\treturn implementation;\n\t}\n\treturn Object.assign;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimAssign() {\n\tvar polyfill = getPolyfill();\n\tdefine(\n\t\tObject,\n\t\t{ assign: polyfill },\n\t\t{ assign: function () { return Object.assign !== polyfill; } }\n\t);\n\treturn polyfill;\n};\n","var parse = require(\"./parse\");\nvar walk = require(\"./walk\");\nvar stringify = require(\"./stringify\");\n\nfunction ValueParser(value) {\n if (this instanceof ValueParser) {\n this.nodes = parse(value);\n return this;\n }\n return new ValueParser(value);\n}\n\nValueParser.prototype.toString = function() {\n return Array.isArray(this.nodes) ? stringify(this.nodes) : \"\";\n};\n\nValueParser.prototype.walk = function(cb, bubble) {\n walk(this.nodes, cb, bubble);\n return this;\n};\n\nValueParser.unit = require(\"./unit\");\n\nValueParser.walk = walk;\n\nValueParser.stringify = stringify;\n\nmodule.exports = ValueParser;\n","var openParentheses = \"(\".charCodeAt(0);\nvar closeParentheses = \")\".charCodeAt(0);\nvar singleQuote = \"'\".charCodeAt(0);\nvar doubleQuote = '\"'.charCodeAt(0);\nvar backslash = \"\\\\\".charCodeAt(0);\nvar slash = \"/\".charCodeAt(0);\nvar comma = \",\".charCodeAt(0);\nvar colon = \":\".charCodeAt(0);\nvar star = \"*\".charCodeAt(0);\nvar uLower = \"u\".charCodeAt(0);\nvar uUpper = \"U\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar isUnicodeRange = /^[a-f0-9?-]+$/i;\n\nmodule.exports = function(input) {\n var tokens = [];\n var value = input;\n\n var next,\n quote,\n prev,\n token,\n escape,\n escapePos,\n whitespacePos,\n parenthesesOpenPos;\n var pos = 0;\n var code = value.charCodeAt(pos);\n var max = value.length;\n var stack = [{ nodes: tokens }];\n var balanced = 0;\n var parent;\n\n var name = \"\";\n var before = \"\";\n var after = \"\";\n\n while (pos < max) {\n // Whitespaces\n if (code <= 32) {\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n token = value.slice(pos, next);\n\n prev = tokens[tokens.length - 1];\n if (code === closeParentheses && balanced) {\n after = token;\n } else if (prev && prev.type === \"div\") {\n prev.after = token;\n prev.sourceEndIndex += token.length;\n } else if (\n code === comma ||\n code === colon ||\n (code === slash &&\n value.charCodeAt(next + 1) !== star &&\n (!parent ||\n (parent && parent.type === \"function\" && parent.value !== \"calc\")))\n ) {\n before = token;\n } else {\n tokens.push({\n type: \"space\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n }\n\n pos = next;\n\n // Quotes\n } else if (code === singleQuote || code === doubleQuote) {\n next = pos;\n quote = code === singleQuote ? \"'\" : '\"';\n token = {\n type: \"string\",\n sourceIndex: pos,\n quote: quote\n };\n do {\n escape = false;\n next = value.indexOf(quote, next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += quote;\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n token.value = value.slice(pos + 1, next);\n token.sourceEndIndex = token.unclosed ? next : next + 1;\n tokens.push(token);\n pos = next + 1;\n code = value.charCodeAt(pos);\n\n // Comments\n } else if (code === slash && value.charCodeAt(pos + 1) === star) {\n next = value.indexOf(\"*/\", pos);\n\n token = {\n type: \"comment\",\n sourceIndex: pos,\n sourceEndIndex: next + 2\n };\n\n if (next === -1) {\n token.unclosed = true;\n next = value.length;\n token.sourceEndIndex = next;\n }\n\n token.value = value.slice(pos + 2, next);\n tokens.push(token);\n\n pos = next + 2;\n code = value.charCodeAt(pos);\n\n // Operation within calc\n } else if (\n (code === slash || code === star) &&\n parent &&\n parent.type === \"function\" &&\n parent.value === \"calc\"\n ) {\n token = value[pos];\n tokens.push({\n type: \"word\",\n sourceIndex: pos - before.length,\n sourceEndIndex: pos + token.length,\n value: token\n });\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Dividers\n } else if (code === slash || code === comma || code === colon) {\n token = value[pos];\n\n tokens.push({\n type: \"div\",\n sourceIndex: pos - before.length,\n sourceEndIndex: pos + token.length,\n value: token,\n before: before,\n after: \"\"\n });\n before = \"\";\n\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Open parentheses\n } else if (openParentheses === code) {\n // Whitespaces after open parentheses\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n parenthesesOpenPos = pos;\n token = {\n type: \"function\",\n sourceIndex: pos - name.length,\n value: name,\n before: value.slice(parenthesesOpenPos + 1, next)\n };\n pos = next;\n\n if (name === \"url\" && code !== singleQuote && code !== doubleQuote) {\n next -= 1;\n do {\n escape = false;\n next = value.indexOf(\")\", next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += \")\";\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n // Whitespaces before closed\n whitespacePos = next;\n do {\n whitespacePos -= 1;\n code = value.charCodeAt(whitespacePos);\n } while (code <= 32);\n if (parenthesesOpenPos < whitespacePos) {\n if (pos !== whitespacePos + 1) {\n token.nodes = [\n {\n type: \"word\",\n sourceIndex: pos,\n sourceEndIndex: whitespacePos + 1,\n value: value.slice(pos, whitespacePos + 1)\n }\n ];\n } else {\n token.nodes = [];\n }\n if (token.unclosed && whitespacePos + 1 !== next) {\n token.after = \"\";\n token.nodes.push({\n type: \"space\",\n sourceIndex: whitespacePos + 1,\n sourceEndIndex: next,\n value: value.slice(whitespacePos + 1, next)\n });\n } else {\n token.after = value.slice(whitespacePos + 1, next);\n token.sourceEndIndex = next;\n }\n } else {\n token.after = \"\";\n token.nodes = [];\n }\n pos = next + 1;\n token.sourceEndIndex = token.unclosed ? next : pos;\n code = value.charCodeAt(pos);\n tokens.push(token);\n } else {\n balanced += 1;\n token.after = \"\";\n token.sourceEndIndex = pos + 1;\n tokens.push(token);\n stack.push(token);\n tokens = token.nodes = [];\n parent = token;\n }\n name = \"\";\n\n // Close parentheses\n } else if (closeParentheses === code && balanced) {\n pos += 1;\n code = value.charCodeAt(pos);\n\n parent.after = after;\n parent.sourceEndIndex += after.length;\n after = \"\";\n balanced -= 1;\n stack[stack.length - 1].sourceEndIndex = pos;\n stack.pop();\n parent = stack[balanced];\n tokens = parent.nodes;\n\n // Words\n } else {\n next = pos;\n do {\n if (code === backslash) {\n next += 1;\n }\n next += 1;\n code = value.charCodeAt(next);\n } while (\n next < max &&\n !(\n code <= 32 ||\n code === singleQuote ||\n code === doubleQuote ||\n code === comma ||\n code === colon ||\n code === slash ||\n code === openParentheses ||\n (code === star &&\n parent &&\n parent.type === \"function\" &&\n parent.value === \"calc\") ||\n (code === slash &&\n parent.type === \"function\" &&\n parent.value === \"calc\") ||\n (code === closeParentheses && balanced)\n )\n );\n token = value.slice(pos, next);\n\n if (openParentheses === code) {\n name = token;\n } else if (\n (uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) &&\n plus === token.charCodeAt(1) &&\n isUnicodeRange.test(token.slice(2))\n ) {\n tokens.push({\n type: \"unicode-range\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n } else {\n tokens.push({\n type: \"word\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n }\n\n pos = next;\n }\n }\n\n for (pos = stack.length - 1; pos; pos -= 1) {\n stack[pos].unclosed = true;\n stack[pos].sourceEndIndex = value.length;\n }\n\n return stack[0].nodes;\n};\n","function stringifyNode(node, custom) {\n var type = node.type;\n var value = node.value;\n var buf;\n var customResult;\n\n if (custom && (customResult = custom(node)) !== undefined) {\n return customResult;\n } else if (type === \"word\" || type === \"space\") {\n return value;\n } else if (type === \"string\") {\n buf = node.quote || \"\";\n return buf + value + (node.unclosed ? \"\" : buf);\n } else if (type === \"comment\") {\n return \"/*\" + value + (node.unclosed ? \"\" : \"*/\");\n } else if (type === \"div\") {\n return (node.before || \"\") + value + (node.after || \"\");\n } else if (Array.isArray(node.nodes)) {\n buf = stringify(node.nodes, custom);\n if (type !== \"function\") {\n return buf;\n }\n return (\n value +\n \"(\" +\n (node.before || \"\") +\n buf +\n (node.after || \"\") +\n (node.unclosed ? \"\" : \")\")\n );\n }\n return value;\n}\n\nfunction stringify(nodes, custom) {\n var result, i;\n\n if (Array.isArray(nodes)) {\n result = \"\";\n for (i = nodes.length - 1; ~i; i -= 1) {\n result = stringifyNode(nodes[i], custom) + result;\n }\n return result;\n }\n return stringifyNode(nodes, custom);\n}\n\nmodule.exports = stringify;\n","var minus = \"-\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar dot = \".\".charCodeAt(0);\nvar exp = \"e\".charCodeAt(0);\nvar EXP = \"E\".charCodeAt(0);\n\n// Check if three code points would start a number\n// https://www.w3.org/TR/css-syntax-3/#starts-with-a-number\nfunction likeNumber(value) {\n var code = value.charCodeAt(0);\n var nextCode;\n\n if (code === plus || code === minus) {\n nextCode = value.charCodeAt(1);\n\n if (nextCode >= 48 && nextCode <= 57) {\n return true;\n }\n\n var nextNextCode = value.charCodeAt(2);\n\n if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) {\n return true;\n }\n\n return false;\n }\n\n if (code === dot) {\n nextCode = value.charCodeAt(1);\n\n if (nextCode >= 48 && nextCode <= 57) {\n return true;\n }\n\n return false;\n }\n\n if (code >= 48 && code <= 57) {\n return true;\n }\n\n return false;\n}\n\n// Consume a number\n// https://www.w3.org/TR/css-syntax-3/#consume-number\nmodule.exports = function(value) {\n var pos = 0;\n var length = value.length;\n var code;\n var nextCode;\n var nextNextCode;\n\n if (length === 0 || !likeNumber(value)) {\n return false;\n }\n\n code = value.charCodeAt(pos);\n\n if (code === plus || code === minus) {\n pos++;\n }\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n\n code = value.charCodeAt(pos);\n nextCode = value.charCodeAt(pos + 1);\n\n if (code === dot && nextCode >= 48 && nextCode <= 57) {\n pos += 2;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n }\n\n code = value.charCodeAt(pos);\n nextCode = value.charCodeAt(pos + 1);\n nextNextCode = value.charCodeAt(pos + 2);\n\n if (\n (code === exp || code === EXP) &&\n ((nextCode >= 48 && nextCode <= 57) ||\n ((nextCode === plus || nextCode === minus) &&\n nextNextCode >= 48 &&\n nextNextCode <= 57))\n ) {\n pos += nextCode === plus || nextCode === minus ? 3 : 2;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n }\n\n return {\n number: value.slice(0, pos),\n unit: value.slice(pos)\n };\n};\n","module.exports = function walk(nodes, cb, bubble) {\n var i, max, node, result;\n\n for (i = 0, max = nodes.length; i < max; i += 1) {\n node = nodes[i];\n if (!bubble) {\n result = cb(node, i, nodes);\n }\n\n if (\n result !== false &&\n node.type === \"function\" &&\n Array.isArray(node.nodes)\n ) {\n walk(node.nodes, cb, bubble);\n }\n\n if (bubble) {\n cb(node, i, nodes);\n }\n }\n};\n","'use strict';\n\nvar isArray = require('isarray');\n\n// TODO: inline, semver-major\n\n/** @type {(x: unknown) => x is object} */\nmodule.exports = function isPlainObject(x) {\n\treturn x && typeof x === 'object' && !isArray(x);\n};\n","'use strict';\n\nvar assign = require('object.assign');\nvar hasOwn = require('hasown');\nvar ownKeys = require('reflect.ownkeys');\nvar TypeError = require('es-errors/type');\n\nvar isPlainObject = require('../build/helpers/isPlainObject');\n\nvar zeroWidthSpace = '\\u200b';\nvar specialProperty = 'prop-types-exact: ' + zeroWidthSpace;\n// eslint-disable-next-line no-restricted-properties\nvar semaphore = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' ? Symbol['for'](specialProperty) : /* istanbul ignore next */ specialProperty;\n\nvar callBound = require('call-bind/callBound');\nvar isEnumerable = callBound('Object.prototype.propertyIsEnumerable');\n\n/** @type {(fn: T) => T} */\nfunction brand(fn) {\n\t// eslint-disable-next-line no-param-reassign\n\tfn[specialProperty] = semaphore;\n\treturn fn;\n}\n\nfunction isBranded(value) {\n\treturn value && value[specialProperty] === semaphore;\n}\n\nmodule.exports = function forbidExtraProps(propTypes) {\n\tif (!isPlainObject(propTypes)) {\n\t\tthrow new TypeError('given propTypes must be an object');\n\t}\n\tif (hasOwn(propTypes, specialProperty) && !isBranded(propTypes[specialProperty])) {\n\t\tthrow new TypeError('Against all odds, you created a propType for a prop that uses both the zero-width space and our custom string - which, sadly, conflicts with `prop-types-exact`');\n\t}\n\n\tvar forbidden = {};\n\tforbidden[specialProperty] = brand(function forbidUnknownProps(props, _, componentName) {\n\t\tvar unknownProps = ownKeys(props).filter(function (prop) {\n\t\t\treturn !hasOwn(propTypes, prop) && isEnumerable(props, prop);\n\t\t});\n\t\tif (unknownProps.length > 0) {\n\t\t\treturn new TypeError(componentName + ': unknown props found: ' + unknownProps.join(', '));\n\t\t}\n\t\treturn null;\n\t});\n\n\treturn assign({}, propTypes, forbidden);\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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 Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3 {\n if (e && e.currentTarget !== e.target) {\n // If the event was generated for something NOT this element we\n // should ignore it as it's not relevant to us\n return;\n }\n if (visible) {\n if (onShow) {\n onShow();\n }\n } else {\n setIsRendering(false);\n }\n }, [onShow, visible]);\n React.useEffect(() => {\n if (wasRendering.current && !isRendering && onDismiss) {\n onDismiss();\n }\n wasRendering.current = isRendering;\n }, [isRendering, onDismiss]);\n React.useEffect(() => {\n if (visible) {\n setIsRendering(true);\n }\n if (visible !== wasVisible.current && !isAnimated) {\n // Manually call `animationEndCallback` if no animation is used\n animationEndCallback();\n }\n wasVisible.current = visible;\n }, [isAnimated, visible, animationEndCallback]);\n return isRendering || visible ? (0, _createElement.default)('div', {\n style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n onAnimationEnd: animationEndCallback,\n children\n }) : null;\n}\nvar styles = _StyleSheet.default.create({\n container: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 9999\n },\n animatedIn: {\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-in'\n },\n animatedOut: {\n pointerEvents: 'none',\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-out'\n },\n fadeIn: {\n opacity: 1,\n animationKeyframes: {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n }\n },\n fadeOut: {\n opacity: 0,\n animationKeyframes: {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n }\n },\n slideIn: {\n transform: 'translateY(0%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(100%)'\n },\n '100%': {\n transform: 'translateY(0%)'\n }\n }\n },\n slideOut: {\n transform: 'translateY(100%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(0%)'\n },\n '100%': {\n transform: 'translateY(100%)'\n }\n }\n },\n hidden: {\n opacity: 0\n }\n});\nvar animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn];\nvar animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut];\nvar animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn];\nvar animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut];\nvar _default = ModalAnimation;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\nvar _excluded = [\"active\", \"children\", \"onRequestClose\", \"transparent\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar ModalContent = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var active = props.active,\n children = props.children,\n onRequestClose = props.onRequestClose,\n transparent = props.transparent,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n React.useEffect(() => {\n if (_canUseDom.default) {\n var closeOnEscape = e => {\n if (active && e.key === 'Escape') {\n e.stopPropagation();\n if (onRequestClose) {\n onRequestClose();\n }\n }\n };\n document.addEventListener('keyup', closeOnEscape, false);\n return () => document.removeEventListener('keyup', closeOnEscape, false);\n }\n }, [active, onRequestClose]);\n var style = React.useMemo(() => {\n return [styles.modal, transparent ? styles.modalTransparent : styles.modalOpaque];\n }, [transparent]);\n return /*#__PURE__*/React.createElement(_View.default, (0, _extends2.default)({}, rest, {\n \"aria-modal\": true,\n ref: forwardedRef,\n role: active ? 'dialog' : null,\n style: style\n }), /*#__PURE__*/React.createElement(_View.default, {\n style: styles.container\n }, children));\n});\nvar styles = _StyleSheet.default.create({\n modal: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n modalTransparent: {\n backgroundColor: 'transparent'\n },\n modalOpaque: {\n backgroundColor: 'white'\n },\n container: {\n top: 0,\n flex: 1\n }\n});\nvar _default = ModalContent;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _UIManager = _interopRequireDefault(require(\"../UIManager\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\n/**\n * This Component is used to \"wrap\" the modal we're opening\n * so that changing focus via tab will never leave the document.\n *\n * This allows us to properly trap the focus within a modal\n * even if the modal is at the start or end of a document.\n */\n\nvar FocusBracket = () => {\n return (0, _createElement.default)('div', {\n role: 'none',\n tabIndex: 0,\n style: styles.focusBracket\n });\n};\nfunction attemptFocus(element) {\n if (!_canUseDom.default) {\n return false;\n }\n try {\n element.focus();\n } catch (e) {\n // Do nothing\n }\n return document.activeElement === element;\n}\nfunction focusFirstDescendant(element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nfunction focusLastDescendant(element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nvar ModalFocusTrap = _ref => {\n var active = _ref.active,\n children = _ref.children;\n var trapElementRef = React.useRef();\n var focusRef = React.useRef({\n trapFocusInProgress: false,\n lastFocusedElement: null\n });\n React.useEffect(() => {\n if (_canUseDom.default) {\n var trapFocus = () => {\n // We should not trap focus if:\n // - The modal hasn't fully initialized with an HTMLElement ref\n // - Focus is already in the process of being trapped (e.g., we're refocusing)\n // - isTrapActive prop being falsey tells us to do nothing\n if (trapElementRef.current == null || focusRef.current.trapFocusInProgress || !active) {\n return;\n }\n try {\n focusRef.current.trapFocusInProgress = true;\n if (document.activeElement instanceof Node && !trapElementRef.current.contains(document.activeElement)) {\n // To handle keyboard focusing we can make an assumption here.\n // If you're tabbing through the focusable elements, the previously\n // active element will either be the first or the last.\n // If the previously selected element is the \"first\" descendant\n // and we're leaving it - this means that we should be looping\n // around to the other side of the modal.\n var hasFocused = focusFirstDescendant(trapElementRef.current);\n if (focusRef.current.lastFocusedElement === document.activeElement) {\n hasFocused = focusLastDescendant(trapElementRef.current);\n }\n // If we couldn't focus a new element then we need to focus onto the trap target\n if (!hasFocused && trapElementRef.current != null && document.activeElement) {\n _UIManager.default.focus(trapElementRef.current);\n }\n }\n } finally {\n focusRef.current.trapFocusInProgress = false;\n }\n focusRef.current.lastFocusedElement = document.activeElement;\n };\n\n // Call the trapFocus callback at least once when this modal has been activated.\n trapFocus();\n document.addEventListener('focus', trapFocus, true);\n return () => document.removeEventListener('focus', trapFocus, true);\n }\n }, [active]);\n\n // To be fully compliant with WCAG we need to refocus element that triggered opening modal\n // after closing it\n React.useEffect(function () {\n if (_canUseDom.default) {\n var lastFocusedElementOutsideTrap = document.activeElement;\n return function () {\n if (lastFocusedElementOutsideTrap && document.contains(lastFocusedElementOutsideTrap)) {\n _UIManager.default.focus(lastFocusedElementOutsideTrap);\n }\n };\n }\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FocusBracket, null), /*#__PURE__*/React.createElement(_View.default, {\n ref: trapElementRef\n }, children), /*#__PURE__*/React.createElement(FocusBracket, null));\n};\nvar _default = ModalFocusTrap;\nexports.default = _default;\nvar styles = _StyleSheet.default.create({\n focusBracket: {\n outlineStyle: 'none'\n }\n});\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nfunction ModalPortal(props) {\n var children = props.children;\n var elementRef = React.useRef(null);\n if (_canUseDom.default && !elementRef.current) {\n var element = document.createElement('div');\n if (element && document.body) {\n document.body.appendChild(element);\n elementRef.current = element;\n }\n }\n React.useEffect(() => {\n if (_canUseDom.default) {\n return () => {\n if (document.body && elementRef.current) {\n document.body.removeChild(elementRef.current);\n elementRef.current = null;\n }\n };\n }\n }, []);\n return elementRef.current && _canUseDom.default ? /*#__PURE__*/_reactDom.default.createPortal(children, elementRef.current) : null;\n}\nvar _default = ModalPortal;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _ModalPortal = _interopRequireDefault(require(\"./ModalPortal\"));\nvar _ModalAnimation = _interopRequireDefault(require(\"./ModalAnimation\"));\nvar _ModalContent = _interopRequireDefault(require(\"./ModalContent\"));\nvar _ModalFocusTrap = _interopRequireDefault(require(\"./ModalFocusTrap\"));\nvar _excluded = [\"animationType\", \"children\", \"onDismiss\", \"onRequestClose\", \"onShow\", \"transparent\", \"visible\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar uniqueModalIdentifier = 0;\nvar activeModalStack = [];\nvar activeModalListeners = {};\nfunction notifyActiveModalListeners() {\n if (activeModalStack.length === 0) {\n return;\n }\n var activeModalId = activeModalStack[activeModalStack.length - 1];\n activeModalStack.forEach(modalId => {\n if (modalId in activeModalListeners) {\n activeModalListeners[modalId](modalId === activeModalId);\n }\n });\n}\nfunction removeActiveModal(modalId) {\n if (modalId in activeModalListeners) {\n // Before removing this listener we should probably tell it\n // that it's no longer the active modal for sure.\n activeModalListeners[modalId](false);\n delete activeModalListeners[modalId];\n }\n var index = activeModalStack.indexOf(modalId);\n if (index !== -1) {\n activeModalStack.splice(index, 1);\n notifyActiveModalListeners();\n }\n}\nfunction addActiveModal(modalId, listener) {\n removeActiveModal(modalId);\n activeModalStack.push(modalId);\n activeModalListeners[modalId] = listener;\n notifyActiveModalListeners();\n}\nvar Modal = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onRequestClose = props.onRequestClose,\n onShow = props.onShow,\n transparent = props.transparent,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n\n // Set a unique model identifier so we can correctly route\n // dismissals and check the layering of modals.\n var modalId = React.useMemo(() => uniqueModalIdentifier++, []);\n var _React$useState = React.useState(false),\n isActive = _React$useState[0],\n setIsActive = _React$useState[1];\n var onDismissCallback = React.useCallback(() => {\n removeActiveModal(modalId);\n if (onDismiss) {\n onDismiss();\n }\n }, [modalId, onDismiss]);\n var onShowCallback = React.useCallback(() => {\n addActiveModal(modalId, setIsActive);\n if (onShow) {\n onShow();\n }\n }, [modalId, onShow]);\n React.useEffect(() => {\n return () => removeActiveModal(modalId);\n }, [modalId]);\n return /*#__PURE__*/React.createElement(_ModalPortal.default, null, /*#__PURE__*/React.createElement(_ModalAnimation.default, {\n animationType: animationType,\n onDismiss: onDismissCallback,\n onShow: onShowCallback,\n visible: visible\n }, /*#__PURE__*/React.createElement(_ModalFocusTrap.default, {\n active: isActive\n }, /*#__PURE__*/React.createElement(_ModalContent.default, (0, _extends2.default)({}, rest, {\n active: isActive,\n onRequestClose: onRequestClose,\n ref: forwardedRef,\n transparent: transparent\n }), children))));\n});\nvar _default = Modal;\nexports.default = _default;\nmodule.exports = exports.default;","/**\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\n'use strict';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _useHover = _interopRequireDefault(require(\"../../modules/useHover\"));\nvar _usePressEvents = _interopRequireDefault(require(\"../../modules/usePressEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _excluded = [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"tabIndex\", \"testOnly_hovered\", \"testOnly_pressed\"];\n/**\n * Component used to build display components that should respond to whether the\n * component is currently pressed or not.\n */\nfunction Pressable(props, forwardedRef) {\n var children = props.children,\n delayLongPress = props.delayLongPress,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n disabled = props.disabled,\n onBlur = props.onBlur,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onHoverIn = props.onHoverIn,\n onHoverOut = props.onHoverOut,\n onKeyDown = props.onKeyDown,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressMove = props.onPressMove,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n style = props.style,\n tabIndex = props.tabIndex,\n testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n var hostRef = (0, React.useRef)(null);\n var setRef = (0, _useMergeRefs.default)(forwardedRef, hostRef);\n var pressConfig = (0, React.useMemo)(() => ({\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled,\n onLongPress,\n onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove,\n onPressEnd: onPressOut\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]);\n var pressEventHandlers = (0, _usePressEvents.default)(hostRef, pressConfig);\n var onContextMenuPress = pressEventHandlers.onContextMenu,\n onKeyDownPress = pressEventHandlers.onKeyDown;\n (0, _useHover.default)(hostRef, {\n contain: true,\n disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered,\n focused,\n pressed\n };\n var blurHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(e => {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(e => {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n var _tabIndex;\n if (tabIndex !== undefined) {\n _tabIndex = tabIndex;\n } else {\n _tabIndex = disabled ? -1 : 0;\n }\n return /*#__PURE__*/React.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, {\n \"aria-disabled\": disabled,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [disabled ? styles.disabled : styles.active, typeof style === 'function' ? style(interactionState) : style],\n tabIndex: _tabIndex\n }), typeof children === 'function' ? children(interactionState) : children);\n}\nfunction useForceableState(forced) {\n var _useState = (0, React.useState)(false),\n bool = _useState[0],\n setBool = _useState[1];\n return [bool || forced, setBool];\n}\nvar styles = _StyleSheet.default.create({\n active: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n },\n disabled: {\n pointerEvents: 'box-none'\n }\n});\nvar MemoedPressable = /*#__PURE__*/(0, React.memo)( /*#__PURE__*/(0, React.forwardRef)(Pressable));\nMemoedPressable.displayName = 'Pressable';\nvar _default = MemoedPressable;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./normalizeValueWithProperty\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\n/**\n * The browser implements the CSS cascade, where the order of properties is a\n * factor in determining which styles to paint. React Native is different. It\n * gives giving precedence to the more specific style property. For example,\n * the value of `paddingTop` takes precedence over that of `padding`.\n *\n * This module creates mutally exclusive style declarations by expanding all of\n * React Native's supported shortform properties (e.g. `padding`) to their\n * longfrom equivalents.\n */\n\nvar emptyObject = {};\nvar supportsCSS3TextDecoration = !_canUseDom.default || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));\nvar MONOSPACE_FONT_STACK = 'monospace,monospace';\nvar SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';\nvar STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderInlineColor: ['borderRightColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderInlineStyle: ['borderRightStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderInlineWidth: ['borderRightWidth', 'borderLeftWidth'],\n insetBlock: ['top', 'bottom'],\n insetInline: ['left', 'right'],\n marginBlock: ['marginTop', 'marginBottom'],\n marginInline: ['marginRight', 'marginLeft'],\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingInline: ['paddingRight', 'paddingLeft'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndColor: ['borderBottomColor'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderBlockEndWidth: ['borderBottomWidth'],\n //borderInlineStartColor: ['borderLeftColor'],\n //borderInlineStartStyle: ['borderLeftStyle'],\n //borderInlineStartWidth: ['borderLeftWidth'],\n //borderInlineEndColor: ['borderRightColor'],\n //borderInlineEndStyle: ['borderRightStyle'],\n //borderInlineEndWidth: ['borderRightWidth'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius'],\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n insetBlockEnd: ['bottom'],\n insetBlockStart: ['top'],\n //insetInlineEnd: ['right'],\n //insetInlineStart: ['left'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n //marginInlineStart: ['marginLeft'],\n //marginInlineEnd: ['marginRight'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom']\n //paddingInlineStart: ['marginLeft'],\n //paddingInlineEnd: ['marginRight'],\n};\n\n/**\n * Reducer\n */\n\nvar createReactDOMStyle = (style, isInline) => {\n if (!style) {\n return emptyObject;\n }\n var resolvedStyle = {};\n var _loop = function _loop() {\n var value = style[prop];\n if (\n // Ignore everything with a null value\n value == null) {\n return \"continue\";\n }\n if (prop === 'backgroundClip') {\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n } else if (prop === 'flex') {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n } else if (prop === 'font') {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n } else if (prop === 'fontFamily') {\n if (value.indexOf('System') > -1) {\n var stack = value.split(/,\\s*/);\n stack[stack.indexOf('System')] = SYSTEM_FONT_STACK;\n resolvedStyle[prop] = stack.join(',');\n } else if (value === 'monospace') {\n resolvedStyle[prop] = MONOSPACE_FONT_STACK;\n } else {\n resolvedStyle[prop] = value;\n }\n } else if (prop === 'textDecorationLine') {\n // use 'text-decoration' for browsers that only support CSS2\n // text-decoration (e.g., IE, Edge)\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n } else if (prop === 'writingDirection') {\n resolvedStyle.direction = value;\n } else {\n var _value = (0, _normalizeValueWithProperty.default)(style[prop], prop);\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n if (isInline && prop === 'inset') {\n if (style.insetInline == null) {\n resolvedStyle.left = _value;\n resolvedStyle.right = _value;\n }\n if (style.insetBlock == null) {\n resolvedStyle.top = _value;\n resolvedStyle.bottom = _value;\n }\n } else if (isInline && prop === 'margin') {\n if (style.marginInline == null) {\n resolvedStyle.marginLeft = _value;\n resolvedStyle.marginRight = _value;\n }\n if (style.marginBlock == null) {\n resolvedStyle.marginTop = _value;\n resolvedStyle.marginBottom = _value;\n }\n } else if (isInline && prop === 'padding') {\n if (style.paddingInline == null) {\n resolvedStyle.paddingLeft = _value;\n resolvedStyle.paddingRight = _value;\n }\n if (style.paddingBlock == null) {\n resolvedStyle.paddingTop = _value;\n resolvedStyle.paddingBottom = _value;\n }\n } else if (longFormProperties) {\n longFormProperties.forEach((longForm, i) => {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (style[longForm] == null) {\n resolvedStyle[longForm] = _value;\n }\n });\n } else {\n resolvedStyle[prop] = _value;\n }\n }\n };\n for (var prop in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return resolvedStyle;\n};\nvar _default = createReactDOMStyle;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n *\n * \n */\n\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\nvar hash = str => murmurhash2_32_gc(str, 1).toString(36);\nvar _default = hash;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateStyleName(name) {\n if (name in cache) {\n return cache[name];\n }\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\nvar _default = hyphenateStyleName;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.atomic = atomic;\nexports.classic = classic;\nexports.inline = inline;\nexports.stringifyValueWithProperty = stringifyValueWithProperty;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _createReactDOMStyle = _interopRequireDefault(require(\"./createReactDOMStyle\"));\nvar _hash = _interopRequireDefault(require(\"./hash\"));\nvar _hyphenateStyleName = _interopRequireDefault(require(\"./hyphenateStyleName\"));\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./normalizeValueWithProperty\"));\nvar _prefixStyles = _interopRequireDefault(require(\"../../../modules/prefixStyles\"));\nvar _excluded = [\"animationKeyframes\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar cache = new Map();\nvar emptyObject = {};\nvar classicGroup = 1;\nvar atomicGroup = 3;\nvar customGroup = {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n inset: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n insetBlock: 2.1,\n insetInline: 2.1,\n marginInline: 2.1,\n marginBlock: 2.1,\n paddingInline: 2.1,\n paddingBlock: 2.1,\n borderBlockStartColor: 2.2,\n borderBlockStartStyle: 2.2,\n borderBlockStartWidth: 2.2,\n borderBlockEndColor: 2.2,\n borderBlockEndStyle: 2.2,\n borderBlockEndWidth: 2.2,\n borderInlineStartColor: 2.2,\n borderInlineStartStyle: 2.2,\n borderInlineStartWidth: 2.2,\n borderInlineEndColor: 2.2,\n borderInlineEndStyle: 2.2,\n borderInlineEndWidth: 2.2,\n borderEndStartRadius: 2.2,\n borderEndEndRadius: 2.2,\n borderStartStartRadius: 2.2,\n borderStartEndRadius: 2.2,\n insetBlockEnd: 2.2,\n insetBlockStart: 2.2,\n insetInlineEnd: 2.2,\n insetInlineStart: 2.2,\n marginBlockStart: 2.2,\n marginBlockEnd: 2.2,\n marginInlineStart: 2.2,\n marginInlineEnd: 2.2,\n paddingBlockStart: 2.2,\n paddingBlockEnd: 2.2,\n paddingInlineStart: 2.2,\n paddingInlineEnd: 2.2\n};\nvar borderTopLeftRadius = 'borderTopLeftRadius';\nvar borderTopRightRadius = 'borderTopRightRadius';\nvar borderBottomLeftRadius = 'borderBottomLeftRadius';\nvar borderBottomRightRadius = 'borderBottomRightRadius';\nvar borderLeftColor = 'borderLeftColor';\nvar borderLeftStyle = 'borderLeftStyle';\nvar borderLeftWidth = 'borderLeftWidth';\nvar borderRightColor = 'borderRightColor';\nvar borderRightStyle = 'borderRightStyle';\nvar borderRightWidth = 'borderRightWidth';\nvar right = 'right';\nvar marginLeft = 'marginLeft';\nvar marginRight = 'marginRight';\nvar paddingLeft = 'paddingLeft';\nvar paddingRight = 'paddingRight';\nvar left = 'left';\n\n// Map of LTR property names to their BiDi equivalent.\nvar PROPERTIES_FLIP = {\n [borderTopLeftRadius]: borderTopRightRadius,\n [borderTopRightRadius]: borderTopLeftRadius,\n [borderBottomLeftRadius]: borderBottomRightRadius,\n [borderBottomRightRadius]: borderBottomLeftRadius,\n [borderLeftColor]: borderRightColor,\n [borderLeftStyle]: borderRightStyle,\n [borderLeftWidth]: borderRightWidth,\n [borderRightColor]: borderLeftColor,\n [borderRightStyle]: borderLeftStyle,\n [borderRightWidth]: borderLeftWidth,\n [left]: right,\n [marginLeft]: marginRight,\n [marginRight]: marginLeft,\n [paddingLeft]: paddingRight,\n [paddingRight]: paddingLeft,\n [right]: left\n};\n\n// Map of I18N property names to their LTR equivalent.\nvar PROPERTIES_I18N = {\n borderStartStartRadius: borderTopLeftRadius,\n borderStartEndRadius: borderTopRightRadius,\n borderEndStartRadius: borderBottomLeftRadius,\n borderEndEndRadius: borderBottomRightRadius,\n borderInlineStartColor: borderLeftColor,\n borderInlineStartStyle: borderLeftStyle,\n borderInlineStartWidth: borderLeftWidth,\n borderInlineEndColor: borderRightColor,\n borderInlineEndStyle: borderRightStyle,\n borderInlineEndWidth: borderRightWidth,\n insetInlineEnd: right,\n insetInlineStart: left,\n marginInlineStart: marginLeft,\n marginInlineEnd: marginRight,\n paddingInlineStart: paddingLeft,\n paddingInlineEnd: paddingRight\n};\nvar PROPERTIES_VALUE = ['clear', 'float', 'textAlign'];\nfunction atomic(style) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n function atomicCompile(srcProp, prop, value) {\n var valueString = stringifyValueWithProperty(value, prop);\n var cacheKey = prop + valueString;\n var cachedResult = cache.get(cacheKey);\n var identifier;\n if (cachedResult != null) {\n identifier = cachedResult[0];\n compiledRules.push(cachedResult[1]);\n } else {\n var v = srcProp !== prop ? cacheKey : valueString;\n identifier = createIdentifier('r', srcProp, v);\n var order = customGroup[srcProp] || atomicGroup;\n var rules = createAtomicRules(identifier, prop, value);\n var orderedRules = [rules, order];\n compiledRules.push(orderedRules);\n cache.set(cacheKey, [identifier, orderedRules]);\n }\n return identifier;\n }\n Object.keys(style).sort().forEach(srcProp => {\n var value = style[srcProp];\n if (value != null) {\n var localizeableValue;\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(srcProp) > -1) {\n var _left = atomicCompile(srcProp, srcProp, 'left');\n var _right = atomicCompile(srcProp, srcProp, 'right');\n if (value === 'start') {\n localizeableValue = [_left, _right];\n } else if (value === 'end') {\n localizeableValue = [_right, _left];\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[srcProp];\n if (propPolyfill != null) {\n var ltr = atomicCompile(srcProp, propPolyfill, value);\n var rtl = atomicCompile(srcProp, PROPERTIES_FLIP[propPolyfill], value);\n localizeableValue = [ltr, rtl];\n }\n // BiDi flip transitionProperty value\n if (srcProp === 'transitionProperty') {\n var values = Array.isArray(value) ? value : [value];\n var polyfillIndices = [];\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (typeof val === 'string' && PROPERTIES_I18N[val] != null) {\n polyfillIndices.push(i);\n }\n }\n if (polyfillIndices.length > 0) {\n var ltrPolyfillValues = [...values];\n var rtlPolyfillValues = [...values];\n polyfillIndices.forEach(i => {\n var ltrVal = ltrPolyfillValues[i];\n if (typeof ltrVal === 'string') {\n var ltrPolyfill = PROPERTIES_I18N[ltrVal];\n var rtlPolyfill = PROPERTIES_FLIP[ltrPolyfill];\n ltrPolyfillValues[i] = ltrPolyfill;\n rtlPolyfillValues[i] = rtlPolyfill;\n var _ltr = atomicCompile(srcProp, srcProp, ltrPolyfillValues);\n var _rtl = atomicCompile(srcProp, srcProp, rtlPolyfillValues);\n localizeableValue = [_ltr, _rtl];\n }\n });\n }\n }\n if (localizeableValue == null) {\n localizeableValue = atomicCompile(srcProp, srcProp, value);\n } else {\n compiledStyle['$$css$localize'] = true;\n }\n compiledStyle[srcProp] = localizeableValue;\n }\n });\n return [compiledStyle, compiledRules];\n}\n\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nfunction classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n var animationKeyframes = style.animationKeyframes,\n rest = (0, _objectWithoutPropertiesLoose2.default)(style, _excluded);\n var identifier = createIdentifier('css', name, JSON.stringify(style));\n var selector = \".\" + identifier;\n var animationName;\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu[0],\n keyframesRules = _processKeyframesValu[1];\n animationName = animationNames.join(',');\n compiledRules.push(...keyframesRules);\n }\n var block = createDeclarationBlock((0, _objectSpread2.default)((0, _objectSpread2.default)({}, rest), {}, {\n animationName\n }));\n compiledRules.push(\"\" + selector + block);\n compiledStyle[identifier] = identifier;\n return [compiledStyle, [[compiledRules, classicGroup]]];\n}\n\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nfunction inline(originalStyle, isRTL) {\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n var _loop = function _loop() {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n return \"continue\";\n }\n\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(originalProp) > -1) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[originalProp];\n if (propPolyfill != null) {\n prop = isRTL ? PROPERTIES_FLIP[propPolyfill] : propPolyfill;\n }\n // BiDi flip transitionProperty value\n if (originalProp === 'transitionProperty') {\n // $FlowFixMe\n var originalValues = Array.isArray(originalValue) ? originalValue : [originalValue];\n originalValues.forEach((val, i) => {\n if (typeof val === 'string') {\n var valuePolyfill = PROPERTIES_I18N[val];\n if (valuePolyfill != null) {\n originalValues[i] = isRTL ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill;\n value = originalValues.join(' ');\n }\n }\n });\n }\n\n // Create finalized style\n if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n if (prop === originalProp) {\n frozenProps[prop] = true;\n }\n\n // if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n // frozenProps[prop] = true;\n //}\n };\n for (var originalProp in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return (0, _createReactDOMStyle.default)(nextStyle, true);\n}\n\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\nfunction stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = (0, _normalizeValueWithProperty.default)(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n\n/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier;\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2[0],\n keyframesRules = _processKeyframesValu2[1];\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push(\"\" + selector + block, ...keyframesRules);\n break;\n }\n\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\n rules.push(selector + \"::-webkit-input-placeholder\" + _block, selector + \"::-moz-placeholder\" + _block, selector + \":-ms-input-placeholder\" + _block, selector + \"::placeholder\" + _block);\n break;\n }\n\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n case 'pointerEvents':\n {\n var finalValue = value;\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n if (value === 'box-only') {\n var _block2 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n rules.push(selector + \">*\" + _block2);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n if (value === 'box-none') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n rules.push(selector + \">*\" + _block3);\n }\n }\n var _block4 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n rules.push(\"\" + selector + _block4);\n break;\n }\n\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n rules.push(\"\" + selector + _block5);\n break;\n }\n default:\n {\n var _block6 = createDeclarationBlock({\n [property]: value\n });\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n return rules;\n}\n\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\nfunction createDeclarationBlock(style) {\n var domStyle = (0, _prefixStyles.default)((0, _createReactDOMStyle.default)(style));\n var declarationsString = Object.keys(domStyle).map(property => {\n var value = domStyle[property];\n var prop = (0, _hyphenateStyleName.default)(property);\n // The prefixer may return an array of values:\n // { display: [ '-webkit-flex', 'flex' ] }\n // to represent \"fallback\" declarations\n // { display: -webkit-flex; display: flex; }\n if (Array.isArray(value)) {\n return value.map(v => prop + \":\" + v).join(';');\n } else {\n return prop + \":\" + value;\n }\n })\n // Once properties are hyphenated, this will put the vendor\n // prefixed and short-form properties first in the list.\n .sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n\n/**\n * An identifier is associated with a unique set of styles.\n */\nfunction createIdentifier(prefix, name, key) {\n var hashedString = (0, _hash.default)(name + key);\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n\n/**\n * Create individual CSS keyframes rules.\n */\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', JSON.stringify(keyframes));\n var steps = '{' + Object.keys(keyframes).map(stepName => {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(prefix => {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return [identifier, rules];\n}\n\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(keyframes => {\n if (typeof keyframes === 'string') {\n // Support external animation libraries (identifiers only)\n animationNames.push(keyframes);\n } else {\n // Create rules for each of the keyframes\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes[0],\n keyframesRules = _createKeyframes[1];\n animationNames.push(identifier);\n rules.push(...keyframesRules);\n }\n });\n return [animationNames, rules];\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _isWebColor = _interopRequireDefault(require(\"../../../modules/isWebColor\"));\nvar _processColor = _interopRequireDefault(require(\"../../../exports/processColor\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n if (color == null) return;\n if (typeof color === 'string' && (0, _isWebColor.default)(color)) {\n return color;\n }\n var colorInt = (0, _processColor.default)(color);\n if (colorInt != null) {\n var r = colorInt >> 16 & 255;\n var g = colorInt >> 8 & 255;\n var b = colorInt & 255;\n var a = (colorInt >> 24 & 255) / 255;\n var alpha = (a * opacity).toFixed(2);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + alpha + \")\";\n }\n};\nvar _default = normalizeColor;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = normalizeValueWithProperty;\nvar _unitlessNumbers = _interopRequireDefault(require(\"./unitlessNumbers\"));\nvar _normalizeColor = _interopRequireDefault(require(\"./normalizeColor\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar colorProps = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true\n};\nfunction normalizeValueWithProperty(value, property) {\n var returnValue = value;\n if ((property == null || !_unitlessNumbers.default[property]) && typeof value === 'number') {\n returnValue = value + \"px\";\n } else if (property != null && colorProps[property]) {\n returnValue = (0, _normalizeColor.default)(value);\n }\n return returnValue;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nvar _default = unitlessNumbers;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = createCSSStyleSheet;\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\n// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\nfunction createCSSStyleSheet(id, rootNode, textContent) {\n if (_canUseDom.default) {\n var root = rootNode != null ? rootNode : document;\n var element = root.getElementById(id);\n if (element == null) {\n element = document.createElement('style');\n element.setAttribute('id', id);\n if (typeof textContent === 'string') {\n element.appendChild(document.createTextNode(textContent));\n }\n if (root instanceof ShadowRoot) {\n root.insertBefore(element, root.firstChild);\n } else {\n var head = root.head;\n if (head) {\n head.insertBefore(element, head.firstChild);\n }\n }\n }\n // $FlowFixMe: HTMLElement is incorrectly typed\n return element.sheet;\n } else {\n return null;\n }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = createOrderedCSSStyleSheet;\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar slice = Array.prototype.slice;\n\n/**\n * Order-based insertion of CSS.\n *\n * Each rule is associated with a numerically defined group.\n * Groups are ordered within the style sheet according to their number, with the\n * lowest first.\n *\n * Groups are implemented using marker rules. The selector of the first rule of\n * each group is used only to encode the group number for hydration. An\n * alternative implementation could rely on CSSMediaRule, allowing groups to be\n * treated as a sub-sheet, but the Edge implementation of CSSMediaRule is\n * broken.\n * https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule\n * https://gist.github.com/necolas/aa0c37846ad6bd3b05b727b959e82674\n */\nfunction createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach((cssRule, i) => {\n var cssText = cssRule.cssText;\n // Create record of existing selectors and rules\n if (cssText.indexOf('stylesheet-group') > -1) {\n group = decodeGroupRule(cssRule);\n groups[group] = {\n start: i,\n rules: [cssText]\n };\n } else {\n var selectorText = getSelectorText(cssText);\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\n }\n });\n }\n function sheetInsert(sheet, group, text) {\n var orderedGroups = getOrderedGroups(groups);\n var groupIndex = orderedGroups.indexOf(group);\n var nextGroupIndex = groupIndex + 1;\n var nextGroup = orderedGroups[nextGroupIndex];\n // Insert rule before the next group, or at the end of the stylesheet\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n }\n // Increment the starting index of all subsequent groups\n for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) {\n var groupNumber = orderedGroups[i];\n var previousStart = groups[groupNumber].start || 0;\n groups[groupNumber].start = previousStart + 1;\n }\n }\n return isInserted;\n }\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent() {\n return getOrderedGroups(groups).map(group => {\n var rules = groups[group].rules;\n // Sorting provides deterministic order of styles in group for\n // build-time extraction of the style sheet.\n var marker = rules.shift();\n rules.sort();\n rules.unshift(marker);\n return rules.join('\\n');\n }).join('\\n');\n },\n /**\n * Insert a rule into the style sheet\n */\n insert(cssText, groupValue) {\n var group = Number(groupValue);\n\n // Create a new group.\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group);\n // Create the internal record.\n groups[group] = {\n start: null,\n rules: [markerRule]\n };\n // Update CSSOM.\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n }\n\n // selectorText is more reliable than cssText for insertion checks. The\n // browser excludes vendor-prefixed properties and rewrites certain values\n // making cssText more likely to be different from what was inserted.\n var selectorText = getSelectorText(cssText);\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n // Update CSSOM.\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n if (!isInserted) {\n // Revert internal record change if a rule was rejected (e.g.,\n // unrecognized pseudo-selector)\n groups[group].rules.pop();\n }\n }\n }\n }\n };\n return OrderedCSSStyleSheet;\n}\n\n/**\n * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\nvar groupPattern = /[\"']/g;\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(groupPattern)[1]);\n}\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1);\n}\nvar selectorPattern = /\\s*([,])\\s*/g;\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(selectorPattern, '$1') : null;\n}\nfunction insertRuleAt(root, cssText, position) {\n try {\n // $FlowFixMe: Flow is missing CSSOM types needed to type 'root'.\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n // JSDOM doesn't support `CSSSMediaRule#insertRule`.\n // Also ignore errors that occur from attempting to insert vendor-prefixed selectors.\n return false;\n }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.createSheet = createSheet;\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\nvar _createCSSStyleSheet = _interopRequireDefault(require(\"./createCSSStyleSheet\"));\nvar _createOrderedCSSStyleSheet = _interopRequireDefault(require(\"./createOrderedCSSStyleSheet\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar defaultId = 'react-native-stylesheet';\nvar roots = new WeakMap();\nvar sheets = [];\nvar initialRules = [\n// minimal top-level reset\n'html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}',\n// minimal form pseudo-element reset\n'button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}', 'input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}'];\nfunction createSheet(root, id) {\n if (id === void 0) {\n id = defaultId;\n }\n var sheet;\n if (_canUseDom.default) {\n var rootNode = root != null ? root.getRootNode() : document;\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n var index = roots.get(rootNode);\n if (index == null) {\n var initialSheet = sheets[0];\n // If we're creating a new sheet, populate it with existing styles\n var textContent = initialSheet != null ? initialSheet.getTextContent() : '';\n // Cast rootNode to 'any' because Flow types for getRootNode are wrong\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id, rootNode, textContent));\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n sheet = sheets[index];\n }\n }\n } else {\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n sheets.push(sheet);\n } else {\n sheet = sheets[0];\n }\n }\n return {\n getTextContent() {\n return sheet.getTextContent();\n },\n id,\n insert(cssText, groupValue) {\n sheets.forEach(s => {\n s.insert(cssText, groupValue);\n });\n }\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _compiler = require(\"./compiler\");\nvar _dom = require(\"./dom\");\nvar _transformLocalizeStyle = require(\"styleq/transform-localize-style\");\nvar _preprocess = require(\"./preprocess\");\nvar _styleq = require(\"styleq\");\nvar _validate = require(\"./validate\");\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\nvar _excluded = [\"writingDirection\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar staticStyleMap = new WeakMap();\nvar sheet = (0, _dom.createSheet)();\nvar defaultPreprocessOptions = {\n shadow: true,\n textShadow: true\n};\nfunction customStyleq(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n writingDirection = _options.writingDirection,\n preprocessOptions = (0, _objectWithoutPropertiesLoose2.default)(_options, _excluded);\n var isRTL = writingDirection === 'rtl';\n return _styleq.styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n if (compiledStyle != null) {\n return (0, _transformLocalizeStyle.localizeStyle)(compiledStyle, isRTL);\n }\n return (0, _preprocess.preprocess)(style, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultPreprocessOptions), preprocessOptions));\n }\n })(styles);\n}\nfunction insertRules(compiledOrderedRules) {\n compiledOrderedRules.forEach(_ref => {\n var rules = _ref[0],\n order = _ref[1];\n if (sheet != null) {\n rules.forEach(rule => {\n sheet.insert(rule, order);\n });\n }\n });\n}\nfunction compileAndInsertAtomic(style) {\n var _atomic = (0, _compiler.atomic)((0, _preprocess.preprocess)(style, defaultPreprocessOptions)),\n compiledStyle = _atomic[0],\n compiledOrderedRules = _atomic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\nfunction compileAndInsertReset(style, key) {\n var _classic = (0, _compiler.classic)(style, key),\n compiledStyle = _classic[0],\n compiledOrderedRules = _classic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n\n/* ----- API ----- */\n\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = create({\n x: (0, _objectSpread2.default)({}, absoluteFillObject)\n}).x;\n\n/**\n * create\n */\nfunction create(styles) {\n Object.keys(styles).forEach(key => {\n var styleObj = styles[key];\n // Only compile at runtime if the style is not already compiled\n if (styleObj != null && styleObj.$$css !== true) {\n var compiledStyles;\n if (key.indexOf('$raw') > -1) {\n compiledStyles = compileAndInsertReset(styleObj, key.split('$raw')[0]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n (0, _validate.validate)(styleObj);\n styles[key] = Object.freeze(styleObj);\n }\n compiledStyles = compileAndInsertAtomic(styleObj);\n }\n staticStyleMap.set(styleObj, compiledStyles);\n }\n });\n return styles;\n}\n\n/**\n * compose\n */\nfunction compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n if (len > 2) {\n var readableStyles = [...arguments].map(a => flatten(a));\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n console.warn('StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].');\n }\n return [style1, style2];\n}\n\n/**\n * flatten\n */\nfunction flatten() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n var flatArray = styles.flat(Infinity);\n var result = {};\n for (var i = 0; i < flatArray.length; i++) {\n var style = flatArray[i];\n if (style != null && typeof style === 'object') {\n // $FlowFixMe\n Object.assign(result, style);\n }\n }\n return result;\n}\n\n/**\n * getSheet\n */\nfunction getSheet() {\n return {\n id: sheet.id,\n textContent: sheet.getTextContent()\n };\n}\n\n/**\n * resolve\n */\n\nfunction StyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var isRTL = options.writingDirection === 'rtl';\n var styleProps = customStyleq(styles, options);\n if (Array.isArray(styleProps) && styleProps[1] != null) {\n styleProps[1] = (0, _compiler.inline)(styleProps[1], isRTL);\n }\n return styleProps;\n}\nStyleSheet.absoluteFill = absoluteFill;\nStyleSheet.absoluteFillObject = absoluteFillObject;\nStyleSheet.create = create;\nStyleSheet.compose = compose;\nStyleSheet.flatten = flatten;\nStyleSheet.getSheet = getSheet;\n// `hairlineWidth` is not implemented using screen density as browsers may\n// round sub-pixel values down to `0`, causing the line not to be rendered.\nStyleSheet.hairlineWidth = 1;\nif (_canUseDom.default && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\nvar stylesheet = StyleSheet;\nvar _default = stylesheet;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.preprocess = exports.default = exports.createTransformValue = exports.createTextShadowValue = exports.createBoxShadowValue = void 0;\nvar _normalizeColor = _interopRequireDefault(require(\"./compiler/normalizeColor\"));\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./compiler/normalizeValueWithProperty\"));\nvar _warnOnce = require(\"../../modules/warnOnce\");\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar emptyObject = {};\n\n/**\n * Shadows\n */\n\nvar defaultOffset = {\n height: 0,\n width: 0\n};\nvar createBoxShadowValue = style => {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n var offsetX = (0, _normalizeValueWithProperty.default)(width);\n var offsetY = (0, _normalizeValueWithProperty.default)(height);\n var blurRadius = (0, _normalizeValueWithProperty.default)(shadowRadius || 0);\n var color = (0, _normalizeColor.default)(shadowColor || 'black', shadowOpacity);\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\nexports.createBoxShadowValue = createBoxShadowValue;\nvar createTextShadowValue = style => {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n var _ref2 = textShadowOffset || defaultOffset,\n height = _ref2.height,\n width = _ref2.width;\n var radius = textShadowRadius || 0;\n var offsetX = (0, _normalizeValueWithProperty.default)(width);\n var offsetY = (0, _normalizeValueWithProperty.default)(height);\n var blurRadius = (0, _normalizeValueWithProperty.default)(radius);\n var color = (0, _normalizeValueWithProperty.default)(textShadowColor, 'textShadowColor');\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\nexports.createTextShadowValue = createTextShadowValue;\nvar mapTransform = transform => {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n if (type === 'matrix' || type === 'matrix3d') {\n return type + \"(\" + value.join(',') + \")\";\n } else {\n var normalizedValue = (0, _normalizeValueWithProperty.default)(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\nvar createTransformValue = value => {\n return value.map(mapTransform).join(' ');\n};\nexports.createTransformValue = createTransformValue;\nvar PROPERTIES_STANDARD = {\n borderBottomEndRadius: 'borderEndEndRadius',\n borderBottomStartRadius: 'borderEndStartRadius',\n borderTopEndRadius: 'borderStartEndRadius',\n borderTopStartRadius: 'borderStartStartRadius',\n borderEndColor: 'borderInlineEndColor',\n borderEndStyle: 'borderInlineEndStyle',\n borderEndWidth: 'borderInlineEndWidth',\n borderStartColor: 'borderInlineStartColor',\n borderStartStyle: 'borderInlineStartStyle',\n borderStartWidth: 'borderInlineStartWidth',\n end: 'insetInlineEnd',\n marginEnd: 'marginInlineEnd',\n marginHorizontal: 'marginInline',\n marginStart: 'marginInlineStart',\n marginVertical: 'marginBlock',\n paddingEnd: 'paddingInlineEnd',\n paddingHorizontal: 'paddingInline',\n paddingStart: 'paddingInlineStart',\n paddingVertical: 'paddingBlock',\n start: 'insetInlineStart'\n};\nvar ignoredProps = {\n elevation: true,\n overlayColor: true,\n resizeMode: true,\n tintColor: true\n};\n\n/**\n * Preprocess styles\n */\nvar preprocess = function preprocess(originalStyle, options) {\n if (options === void 0) {\n options = {};\n }\n var style = originalStyle || emptyObject;\n var nextStyle = {};\n\n // Convert shadow styles\n if (options.shadow === true, style.shadowColor != null || style.shadowOffset != null || style.shadowOpacity != null || style.shadowRadius != null) {\n (0, _warnOnce.warnOnce)('shadowStyles', \"\\\"shadow*\\\" style props are deprecated. Use \\\"boxShadow\\\".\");\n var boxShadowValue = createBoxShadowValue(style);\n if (boxShadowValue != null && nextStyle.boxShadow == null) {\n var boxShadow = style.boxShadow;\n var value = boxShadow ? boxShadow + \", \" + boxShadowValue : boxShadowValue;\n nextStyle.boxShadow = value;\n }\n }\n\n // Convert text shadow styles\n if (options.textShadow === true, style.textShadowColor != null || style.textShadowOffset != null || style.textShadowRadius != null) {\n (0, _warnOnce.warnOnce)('textShadowStyles', \"\\\"textShadow*\\\" style props are deprecated. Use \\\"textShadow\\\".\");\n var textShadowValue = createTextShadowValue(style);\n if (textShadowValue != null && nextStyle.textShadow == null) {\n var textShadow = style.textShadow;\n var _value = textShadow ? textShadow + \", \" + textShadowValue : textShadowValue;\n nextStyle.textShadow = _value;\n }\n }\n for (var originalProp in style) {\n if (\n // Ignore some React Native styles\n ignoredProps[originalProp] != null || originalProp === 'shadowColor' || originalProp === 'shadowOffset' || originalProp === 'shadowOpacity' || originalProp === 'shadowRadius' || originalProp === 'textShadowColor' || originalProp === 'textShadowOffset' || originalProp === 'textShadowRadius') {\n continue;\n }\n var originalValue = style[originalProp];\n var prop = PROPERTIES_STANDARD[originalProp] || originalProp;\n var _value2 = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || prop !== originalProp && style[prop] != null) {\n continue;\n }\n if (prop === 'aspectRatio' && typeof _value2 === 'number') {\n nextStyle[prop] = _value2.toString();\n } else if (prop === 'fontVariant') {\n if (Array.isArray(_value2) && _value2.length > 0) {\n (0, _warnOnce.warnOnce)('fontVariant', '\"fontVariant\" style array value is deprecated. Use space-separated values.');\n _value2 = _value2.join(' ');\n }\n nextStyle[prop] = _value2;\n } else if (prop === 'textAlignVertical') {\n (0, _warnOnce.warnOnce)('textAlignVertical', '\"textAlignVertical\" style is deprecated. Use \"verticalAlign\".');\n if (style.verticalAlign == null) {\n nextStyle.verticalAlign = _value2 === 'center' ? 'middle' : _value2;\n }\n } else if (prop === 'transform') {\n if (Array.isArray(_value2)) {\n _value2 = createTransformValue(_value2);\n }\n nextStyle.transform = _value2;\n } else {\n nextStyle[prop] = _value2;\n }\n }\n\n // $FlowIgnore\n return nextStyle;\n};\nexports.preprocess = preprocess;\nvar _default = preprocess;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.validate = validate;\nvar _postcssValueParser = _interopRequireDefault(require(\"postcss-value-parser\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar invalidShortforms = {\n background: true,\n borderBottom: true,\n borderLeft: true,\n borderRight: true,\n borderTop: true,\n font: true,\n grid: true,\n outline: true,\n textDecoration: true\n};\nvar invalidMultiValueShortforms = {\n flex: true,\n margin: true,\n padding: true,\n borderColor: true,\n borderRadius: true,\n borderStyle: true,\n borderWidth: true,\n inset: true,\n insetBlock: true,\n insetInline: true,\n marginBlock: true,\n marginInline: true,\n marginHorizontal: true,\n marginVertical: true,\n paddingBlock: true,\n paddingInline: true,\n paddingHorizontal: true,\n paddingVertical: true,\n overflow: true,\n overscrollBehavior: true,\n backgroundPosition: true\n};\nfunction error(message) {\n console.error(message);\n}\nfunction validate(obj) {\n for (var k in obj) {\n var prop = k.trim();\n var value = obj[prop];\n var isInvalid = false;\n if (value === null) {\n continue;\n }\n if (typeof value === 'string' && value.indexOf('!important') > -1) {\n error(\"Invalid style declaration \\\"\" + prop + \":\" + value + \"\\\". Values cannot include \\\"!important\\\"\");\n isInvalid = true;\n } else {\n var suggestion = '';\n if (prop === 'animation' || prop === 'animationName') {\n suggestion = 'Did you mean \"animationKeyframes\"?';\n isInvalid = true;\n } else if (prop === 'direction') {\n suggestion = 'Did you mean \"writingDirection\"?';\n isInvalid = true;\n } else if (invalidShortforms[prop]) {\n suggestion = 'Please use long-form properties.';\n isInvalid = true;\n } else if (invalidMultiValueShortforms[prop]) {\n if (typeof value === 'string' && (0, _postcssValueParser.default)(value).nodes.length > 1) {\n suggestion = \"Value is \\\"\" + value + \"\\\" but only single values are supported.\";\n isInvalid = true;\n }\n }\n if (suggestion !== '') {\n error(\"Invalid style property of \\\"\" + prop + \"\\\". \" + suggestion);\n }\n }\n if (isInvalid) {\n delete obj[k];\n }\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _react = require(\"react\");\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\nvar TextAncestorContext = /*#__PURE__*/(0, _react.createContext)(false);\nvar _default = TextAncestorContext;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar forwardedProps = _interopRequireWildcard(require(\"../../modules/forwardedProps\"));\nvar _pick = _interopRequireDefault(require(\"../../modules/pick\"));\nvar _useElementLayout = _interopRequireDefault(require(\"../../modules/useElementLayout\"));\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _usePlatformMethods = _interopRequireDefault(require(\"../../modules/usePlatformMethods\"));\nvar _useResponderEvents = _interopRequireDefault(require(\"../../modules/useResponderEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _TextAncestorContext = _interopRequireDefault(require(\"./TextAncestorContext\"));\nvar _useLocale = require(\"../../modules/useLocale\");\nvar _warnOnce = require(\"../../modules/warnOnce\");\nvar _excluded = [\"hrefAttrs\", \"numberOfLines\", \"onClick\", \"onLayout\", \"onPress\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\", \"selectable\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n pointerEvents: true\n});\nvar pickProps = props => (0, _pick.default)(props, forwardPropsList);\nvar Text = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n numberOfLines = props.numberOfLines,\n onClick = props.onClick,\n onLayout = props.onLayout,\n onPress = props.onPress,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n selectable = props.selectable,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n if (selectable != null) {\n (0, _warnOnce.warnOnce)('selectable', 'selectable prop is deprecated. Use styles.userSelect.');\n }\n var hasTextAncestor = React.useContext(_TextAncestorContext.default);\n var hostRef = React.useRef(null);\n var _useLocaleContext = (0, _useLocale.useLocaleContext)(),\n contextDirection = _useLocaleContext.direction;\n (0, _useElementLayout.default)(hostRef, onLayout);\n (0, _useResponderEvents.default)(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(e => {\n if (onClick != null) {\n onClick(e);\n } else if (onPress != null) {\n e.stopPropagation();\n onPress(e);\n }\n }, [onClick, onPress]);\n var component = hasTextAncestor ? 'span' : 'div';\n var langDirection = props.lang != null ? (0, _useLocale.getLocaleDirection)(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n // 'auto' by default allows browsers to infer writing direction (root elements only)\n if (!hasTextAncestor) {\n supportedProps.dir = componentDirection != null ? componentDirection : 'auto';\n }\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n supportedProps.style = [numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, hasTextAncestor === true ? styles.textHasAncestor$raw : styles.text$raw, numberOfLines === 1 && styles.textOneLine, numberOfLines != null && numberOfLines > 1 && styles.textMultiLine, props.style, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps);\n var setRef = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = (0, _createElement.default)(component, supportedProps, {\n writingDirection\n });\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(_TextAncestorContext.default.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar textStyle = {\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n textAlign: 'start',\n textDecoration: 'none',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n};\nvar styles = _StyleSheet.default.create({\n text$raw: textStyle,\n textHasAncestor$raw: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, textStyle), {}, {\n color: 'inherit',\n font: 'inherit',\n textAlign: 'inherit',\n whiteSpace: 'inherit'\n }),\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n },\n // See #13\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n },\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nvar _default = Text;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _getBoundingClientRect = _interopRequireDefault(require(\"../../modules/getBoundingClientRect\"));\nvar _setValueForStyles = _interopRequireDefault(require(\"../../modules/setValueForStyles\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar getRect = node => {\n var height = node.offsetHeight;\n var width = node.offsetWidth;\n var left = node.offsetLeft;\n var top = node.offsetTop;\n node = node.offsetParent;\n while (node && node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n left += node.offsetLeft + node.clientLeft - node.scrollLeft;\n top += node.offsetTop + node.clientTop - node.scrollTop;\n node = node.offsetParent;\n }\n top -= window.scrollY;\n left -= window.scrollX;\n return {\n width,\n height,\n top,\n left\n };\n};\nvar measureLayout = (node, relativeToNativeNode, callback) => {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n if (node && relativeNode) {\n setTimeout(() => {\n if (node.isConnected && relativeNode.isConnected) {\n var relativeRect = getRect(relativeNode);\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }\n }, 0);\n }\n};\nvar elementsToIgnore = {\n A: true,\n BODY: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n focus(node) {\n try {\n var name = node.nodeName;\n // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus. We don't want to set the tabindex value on\n // elements that should not prevent keyboard focus.\n if (node.getAttribute('tabIndex') == null && node.isContentEditable !== true && elementsToIgnore[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n node.focus();\n } catch (err) {}\n },\n measure(node, callback) {\n measureLayout(node, null, callback);\n },\n measureInWindow(node, callback) {\n if (node) {\n setTimeout(() => {\n var _getBoundingClientRec = (0, _getBoundingClientRect.default)(node),\n height = _getBoundingClientRec.height,\n left = _getBoundingClientRec.left,\n top = _getBoundingClientRec.top,\n width = _getBoundingClientRec.width;\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n var value = props[prop];\n switch (prop) {\n case 'style':\n {\n (0, _setValueForStyles.default)(node, value);\n break;\n }\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n case 'text':\n case 'value':\n // native platforms use `text` prop to replace text input value\n node.value = value;\n break;\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n // mocks\n setLayoutAnimationEnabledExperimental() {}\n};\nvar _default = UIManager;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar forwardedProps = _interopRequireWildcard(require(\"../../modules/forwardedProps\"));\nvar _pick = _interopRequireDefault(require(\"../../modules/pick\"));\nvar _useElementLayout = _interopRequireDefault(require(\"../../modules/useElementLayout\"));\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _usePlatformMethods = _interopRequireDefault(require(\"../../modules/usePlatformMethods\"));\nvar _useResponderEvents = _interopRequireDefault(require(\"../../modules/useResponderEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _TextAncestorContext = _interopRequireDefault(require(\"../Text/TextAncestorContext\"));\nvar _useLocale = require(\"../../modules/useLocale\");\nvar _excluded = [\"hrefAttrs\", \"onLayout\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n onScroll: true,\n onWheel: true,\n pointerEvents: true\n});\nvar pickProps = props => (0, _pick.default)(props, forwardPropsList);\nvar View = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(item => {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a .\");\n }\n });\n }\n var hasTextAncestor = React.useContext(_TextAncestorContext.default);\n var hostRef = React.useRef(null);\n var _useLocaleContext = (0, _useLocale.useLocaleContext)(),\n contextDirection = _useLocaleContext.direction;\n (0, _useElementLayout.default)(hostRef, onLayout);\n (0, _useResponderEvents.default)(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var component = 'div';\n var langDirection = props.lang != null ? (0, _useLocale.getLocaleDirection)(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n supportedProps.style = [styles.view$raw, hasTextAncestor && styles.inline, props.style];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps);\n var setRef = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return (0, _createElement.default)(component, supportedProps, {\n writingDirection\n });\n});\nView.displayName = 'View';\nvar styles = _StyleSheet.default.create({\n view$raw: {\n alignItems: 'stretch',\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n listStyle: 'none',\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n textDecoration: 'none',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n }\n});\nvar _default = View;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _AccessibilityUtil = _interopRequireDefault(require(\"../../modules/AccessibilityUtil\"));\nvar _createDOMProps = _interopRequireDefault(require(\"../../modules/createDOMProps\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _useLocale = require(\"../../modules/useLocale\");\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar createElement = (component, props, options) => {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n if (component && component.constructor === String) {\n accessibilityComponent = _AccessibilityUtil.default.propsToAccessibilityComponent(props);\n }\n var Component = accessibilityComponent || component;\n var domProps = (0, _createDOMProps.default)(Component, props, options);\n var element = /*#__PURE__*/_react.default.createElement(Component, domProps);\n\n // Update locale context if element's writing direction prop changes\n var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/_react.default.createElement(_useLocale.LocaleProvider, {\n children: element,\n direction: domProps.dir,\n locale: domProps.lang\n }) : element;\n return elementWithLocaleProvider;\n};\nvar _default = createElement;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _normalizeColors = _interopRequireDefault(require(\"@react-native/normalize-colors\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar processColor = color => {\n if (color === undefined || color === null) {\n return color;\n }\n\n // convert number and hex\n var int32Color = (0, _normalizeColors.default)(color);\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\nvar _default = processColor;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _isDisabled = _interopRequireDefault(require(\"./isDisabled\"));\nvar _propsToAccessibilityComponent = _interopRequireDefault(require(\"./propsToAccessibilityComponent\"));\nvar _propsToAriaRole = _interopRequireDefault(require(\"./propsToAriaRole\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar AccessibilityUtil = {\n isDisabled: _isDisabled.default,\n propsToAccessibilityComponent: _propsToAccessibilityComponent.default,\n propsToAriaRole: _propsToAriaRole.default\n};\nvar _default = AccessibilityUtil;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\nvar _default = isDisabled;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _propsToAriaRole = _interopRequireDefault(require(\"./propsToAriaRole\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n button: 'button',\n code: 'code',\n complementary: 'aside',\n contentinfo: 'footer',\n deletion: 'del',\n emphasis: 'em',\n figure: 'figure',\n insertion: 'ins',\n form: 'form',\n list: 'ul',\n listitem: 'li',\n main: 'main',\n navigation: 'nav',\n paragraph: 'p',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n var roleProp = props.role || props.accessibilityRole;\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (roleProp === 'label') {\n return 'label';\n }\n var role = (0, _propsToAriaRole.default)(props);\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n if (level != null) {\n return \"h\" + level;\n }\n return 'h1';\n }\n return roleComponents[role];\n }\n};\nvar _default = propsToAccessibilityComponent;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar accessibilityRoleToWebRole = {\n adjustable: 'slider',\n button: 'button',\n header: 'heading',\n image: 'img',\n imagebutton: null,\n keyboardkey: null,\n label: null,\n link: 'link',\n none: 'presentation',\n search: 'search',\n summary: 'region',\n text: null\n};\nvar propsToAriaRole = _ref => {\n var accessibilityRole = _ref.accessibilityRole,\n role = _ref.role;\n var _role = role || accessibilityRole;\n if (_role) {\n var inferredRole = accessibilityRoleToWebRole[_role];\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || _role;\n }\n }\n};\nvar _default = propsToAriaRole;\nexports.default = _default;\nmodule.exports = exports.default;","/**\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\n'use strict';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addEventListener = addEventListener;\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\nvar emptyFunction = () => {};\nfunction supportsPassiveEvents() {\n var supported = false;\n // Check if browser supports event with passive listeners\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n if (_canUseDom.default) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get() {\n supported = true;\n return false;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n return supported;\n}\nvar canUsePassiveEvents = supportsPassiveEvents();\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n\n/**\n * Shim generic API compatibility with ReactDOM's synthetic events, without needing the\n * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic\n * event wrapper at all.\n */\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction normalizeEvent(event) {\n event.nativeEvent = event;\n event.persist = emptyFunction;\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n return event;\n}\n\n/**\n *\n */\nfunction addEventListener(target, type, listener, options) {\n var opts = getOptions(options);\n var compatListener = e => listener(normalizeEvent(e));\n target.addEventListener(type, compatListener, opts);\n return function removeEventListener() {\n if (target != null) {\n target.removeEventListener(type, compatListener, opts);\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\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\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar _default = canUseDOM;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _AccessibilityUtil = _interopRequireDefault(require(\"../AccessibilityUtil\"));\nvar _StyleSheet2 = _interopRequireDefault(require(\"../../exports/StyleSheet\"));\nvar _warnOnce = require(\"../warnOnce\");\nvar _excluded = [\"aria-activedescendant\", \"accessibilityActiveDescendant\", \"aria-atomic\", \"accessibilityAtomic\", \"aria-autocomplete\", \"accessibilityAutoComplete\", \"aria-busy\", \"accessibilityBusy\", \"aria-checked\", \"accessibilityChecked\", \"aria-colcount\", \"accessibilityColumnCount\", \"aria-colindex\", \"accessibilityColumnIndex\", \"aria-colspan\", \"accessibilityColumnSpan\", \"aria-controls\", \"accessibilityControls\", \"aria-current\", \"accessibilityCurrent\", \"aria-describedby\", \"accessibilityDescribedBy\", \"aria-details\", \"accessibilityDetails\", \"aria-disabled\", \"accessibilityDisabled\", \"aria-errormessage\", \"accessibilityErrorMessage\", \"aria-expanded\", \"accessibilityExpanded\", \"aria-flowto\", \"accessibilityFlowTo\", \"aria-haspopup\", \"accessibilityHasPopup\", \"aria-hidden\", \"accessibilityHidden\", \"aria-invalid\", \"accessibilityInvalid\", \"aria-keyshortcuts\", \"accessibilityKeyShortcuts\", \"aria-label\", \"accessibilityLabel\", \"aria-labelledby\", \"accessibilityLabelledBy\", \"aria-level\", \"accessibilityLevel\", \"aria-live\", \"accessibilityLiveRegion\", \"aria-modal\", \"accessibilityModal\", \"aria-multiline\", \"accessibilityMultiline\", \"aria-multiselectable\", \"accessibilityMultiSelectable\", \"aria-orientation\", \"accessibilityOrientation\", \"aria-owns\", \"accessibilityOwns\", \"aria-placeholder\", \"accessibilityPlaceholder\", \"aria-posinset\", \"accessibilityPosInSet\", \"aria-pressed\", \"accessibilityPressed\", \"aria-readonly\", \"accessibilityReadOnly\", \"aria-required\", \"accessibilityRequired\", \"role\", \"accessibilityRole\", \"aria-roledescription\", \"accessibilityRoleDescription\", \"aria-rowcount\", \"accessibilityRowCount\", \"aria-rowindex\", \"accessibilityRowIndex\", \"aria-rowspan\", \"accessibilityRowSpan\", \"aria-selected\", \"accessibilitySelected\", \"aria-setsize\", \"accessibilitySetSize\", \"aria-sort\", \"accessibilitySort\", \"aria-valuemax\", \"accessibilityValueMax\", \"aria-valuemin\", \"accessibilityValueMin\", \"aria-valuenow\", \"accessibilityValueNow\", \"aria-valuetext\", \"accessibilityValueText\", \"dataSet\", \"focusable\", \"id\", \"nativeID\", \"pointerEvents\", \"style\", \"tabIndex\", \"testID\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n}\nvar pointerEventsStyles = _StyleSheet2.default.create({\n auto: {\n pointerEvents: 'auto'\n },\n 'box-none': {\n pointerEvents: 'box-none'\n },\n 'box-only': {\n pointerEvents: 'box-only'\n },\n none: {\n pointerEvents: 'none'\n }\n});\nvar createDOMProps = (elementType, props, options) => {\n if (!props) {\n props = emptyObject;\n }\n var _props = props,\n ariaActiveDescendant = _props['aria-activedescendant'],\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n ariaAtomic = _props['aria-atomic'],\n accessibilityAtomic = _props.accessibilityAtomic,\n ariaAutoComplete = _props['aria-autocomplete'],\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n ariaBusy = _props['aria-busy'],\n accessibilityBusy = _props.accessibilityBusy,\n ariaChecked = _props['aria-checked'],\n accessibilityChecked = _props.accessibilityChecked,\n ariaColumnCount = _props['aria-colcount'],\n accessibilityColumnCount = _props.accessibilityColumnCount,\n ariaColumnIndex = _props['aria-colindex'],\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n ariaColumnSpan = _props['aria-colspan'],\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n ariaControls = _props['aria-controls'],\n accessibilityControls = _props.accessibilityControls,\n ariaCurrent = _props['aria-current'],\n accessibilityCurrent = _props.accessibilityCurrent,\n ariaDescribedBy = _props['aria-describedby'],\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n ariaDetails = _props['aria-details'],\n accessibilityDetails = _props.accessibilityDetails,\n ariaDisabled = _props['aria-disabled'],\n accessibilityDisabled = _props.accessibilityDisabled,\n ariaErrorMessage = _props['aria-errormessage'],\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n ariaExpanded = _props['aria-expanded'],\n accessibilityExpanded = _props.accessibilityExpanded,\n ariaFlowTo = _props['aria-flowto'],\n accessibilityFlowTo = _props.accessibilityFlowTo,\n ariaHasPopup = _props['aria-haspopup'],\n accessibilityHasPopup = _props.accessibilityHasPopup,\n ariaHidden = _props['aria-hidden'],\n accessibilityHidden = _props.accessibilityHidden,\n ariaInvalid = _props['aria-invalid'],\n accessibilityInvalid = _props.accessibilityInvalid,\n ariaKeyShortcuts = _props['aria-keyshortcuts'],\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n ariaLabel = _props['aria-label'],\n accessibilityLabel = _props.accessibilityLabel,\n ariaLabelledBy = _props['aria-labelledby'],\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n ariaLevel = _props['aria-level'],\n accessibilityLevel = _props.accessibilityLevel,\n ariaLive = _props['aria-live'],\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n ariaModal = _props['aria-modal'],\n accessibilityModal = _props.accessibilityModal,\n ariaMultiline = _props['aria-multiline'],\n accessibilityMultiline = _props.accessibilityMultiline,\n ariaMultiSelectable = _props['aria-multiselectable'],\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n ariaOrientation = _props['aria-orientation'],\n accessibilityOrientation = _props.accessibilityOrientation,\n ariaOwns = _props['aria-owns'],\n accessibilityOwns = _props.accessibilityOwns,\n ariaPlaceholder = _props['aria-placeholder'],\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n ariaPosInSet = _props['aria-posinset'],\n accessibilityPosInSet = _props.accessibilityPosInSet,\n ariaPressed = _props['aria-pressed'],\n accessibilityPressed = _props.accessibilityPressed,\n ariaReadOnly = _props['aria-readonly'],\n accessibilityReadOnly = _props.accessibilityReadOnly,\n ariaRequired = _props['aria-required'],\n accessibilityRequired = _props.accessibilityRequired,\n ariaRole = _props.role,\n accessibilityRole = _props.accessibilityRole,\n ariaRoleDescription = _props['aria-roledescription'],\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n ariaRowCount = _props['aria-rowcount'],\n accessibilityRowCount = _props.accessibilityRowCount,\n ariaRowIndex = _props['aria-rowindex'],\n accessibilityRowIndex = _props.accessibilityRowIndex,\n ariaRowSpan = _props['aria-rowspan'],\n accessibilityRowSpan = _props.accessibilityRowSpan,\n ariaSelected = _props['aria-selected'],\n accessibilitySelected = _props.accessibilitySelected,\n ariaSetSize = _props['aria-setsize'],\n accessibilitySetSize = _props.accessibilitySetSize,\n ariaSort = _props['aria-sort'],\n accessibilitySort = _props.accessibilitySort,\n ariaValueMax = _props['aria-valuemax'],\n accessibilityValueMax = _props.accessibilityValueMax,\n ariaValueMin = _props['aria-valuemin'],\n accessibilityValueMin = _props.accessibilityValueMin,\n ariaValueNow = _props['aria-valuenow'],\n accessibilityValueNow = _props.accessibilityValueNow,\n ariaValueText = _props['aria-valuetext'],\n accessibilityValueText = _props.accessibilityValueText,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n id = _props.id,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n style = _props.style,\n tabIndex = _props.tabIndex,\n testID = _props.testID,\n domProps = (0, _objectWithoutPropertiesLoose2.default)(_props, _excluded);\n if (accessibilityDisabled != null) {\n (0, _warnOnce.warnOnce)('accessibilityDisabled', \"accessibilityDisabled is deprecated.\");\n }\n var disabled = ariaDisabled || accessibilityDisabled;\n var role = _AccessibilityUtil.default.propsToAriaRole(props);\n\n // ACCESSIBILITY\n if (accessibilityActiveDescendant != null) {\n (0, _warnOnce.warnOnce)('accessibilityActiveDescendant', \"accessibilityActiveDescendant is deprecated. Use aria-activedescendant.\");\n }\n var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant;\n if (_ariaActiveDescendant != null) {\n domProps['aria-activedescendant'] = _ariaActiveDescendant;\n }\n if (accessibilityAtomic != null) {\n (0, _warnOnce.warnOnce)('accessibilityAtomic', \"accessibilityAtomic is deprecated. Use aria-atomic.\");\n }\n var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic;\n if (_ariaAtomic != null) {\n domProps['aria-atomic'] = _ariaAtomic;\n }\n if (accessibilityAutoComplete != null) {\n (0, _warnOnce.warnOnce)('accessibilityAutoComplete', \"accessibilityAutoComplete is deprecated. Use aria-autocomplete.\");\n }\n var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete;\n if (_ariaAutoComplete != null) {\n domProps['aria-autocomplete'] = _ariaAutoComplete;\n }\n if (accessibilityBusy != null) {\n (0, _warnOnce.warnOnce)('accessibilityBusy', \"accessibilityBusy is deprecated. Use aria-busy.\");\n }\n var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy;\n if (_ariaBusy != null) {\n domProps['aria-busy'] = _ariaBusy;\n }\n if (accessibilityChecked != null) {\n (0, _warnOnce.warnOnce)('accessibilityChecked', \"accessibilityChecked is deprecated. Use aria-checked.\");\n }\n var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked;\n if (_ariaChecked != null) {\n domProps['aria-checked'] = _ariaChecked;\n }\n if (accessibilityColumnCount != null) {\n (0, _warnOnce.warnOnce)('accessibilityColumnCount', \"accessibilityColumnCount is deprecated. Use aria-colcount.\");\n }\n var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount;\n if (_ariaColumnCount != null) {\n domProps['aria-colcount'] = _ariaColumnCount;\n }\n if (accessibilityColumnIndex != null) {\n (0, _warnOnce.warnOnce)('accessibilityColumnIndex', \"accessibilityColumnIndex is deprecated. Use aria-colindex.\");\n }\n var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex;\n if (_ariaColumnIndex != null) {\n domProps['aria-colindex'] = _ariaColumnIndex;\n }\n if (accessibilityColumnSpan != null) {\n (0, _warnOnce.warnOnce)('accessibilityColumnSpan', \"accessibilityColumnSpan is deprecated. Use aria-colspan.\");\n }\n var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan;\n if (_ariaColumnSpan != null) {\n domProps['aria-colspan'] = _ariaColumnSpan;\n }\n if (accessibilityControls != null) {\n (0, _warnOnce.warnOnce)('accessibilityControls', \"accessibilityControls is deprecated. Use aria-controls.\");\n }\n var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls;\n if (_ariaControls != null) {\n domProps['aria-controls'] = processIDRefList(_ariaControls);\n }\n if (accessibilityCurrent != null) {\n (0, _warnOnce.warnOnce)('accessibilityCurrent', \"accessibilityCurrent is deprecated. Use aria-current.\");\n }\n var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent;\n if (_ariaCurrent != null) {\n domProps['aria-current'] = _ariaCurrent;\n }\n if (accessibilityDescribedBy != null) {\n (0, _warnOnce.warnOnce)('accessibilityDescribedBy', \"accessibilityDescribedBy is deprecated. Use aria-describedby.\");\n }\n var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy;\n if (_ariaDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(_ariaDescribedBy);\n }\n if (accessibilityDetails != null) {\n (0, _warnOnce.warnOnce)('accessibilityDetails', \"accessibilityDetails is deprecated. Use aria-details.\");\n }\n var _ariaDetails = ariaDetails != null ? ariaDetails : accessibilityDetails;\n if (_ariaDetails != null) {\n domProps['aria-details'] = _ariaDetails;\n }\n if (disabled === true) {\n domProps['aria-disabled'] = true;\n // Enhance with native semantics\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n if (accessibilityErrorMessage != null) {\n (0, _warnOnce.warnOnce)('accessibilityErrorMessage', \"accessibilityErrorMessage is deprecated. Use aria-errormessage.\");\n }\n var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage;\n if (_ariaErrorMessage != null) {\n domProps['aria-errormessage'] = _ariaErrorMessage;\n }\n if (accessibilityExpanded != null) {\n (0, _warnOnce.warnOnce)('accessibilityExpanded', \"accessibilityExpanded is deprecated. Use aria-expanded.\");\n }\n var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded;\n if (_ariaExpanded != null) {\n domProps['aria-expanded'] = _ariaExpanded;\n }\n if (accessibilityFlowTo != null) {\n (0, _warnOnce.warnOnce)('accessibilityFlowTo', \"accessibilityFlowTo is deprecated. Use aria-flowto.\");\n }\n var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo;\n if (_ariaFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(_ariaFlowTo);\n }\n if (accessibilityHasPopup != null) {\n (0, _warnOnce.warnOnce)('accessibilityHasPopup', \"accessibilityHasPopup is deprecated. Use aria-haspopup.\");\n }\n var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup;\n if (_ariaHasPopup != null) {\n domProps['aria-haspopup'] = _ariaHasPopup;\n }\n if (accessibilityHidden != null) {\n (0, _warnOnce.warnOnce)('accessibilityHidden', \"accessibilityHidden is deprecated. Use aria-hidden.\");\n }\n var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden;\n if (_ariaHidden === true) {\n domProps['aria-hidden'] = _ariaHidden;\n }\n if (accessibilityInvalid != null) {\n (0, _warnOnce.warnOnce)('accessibilityInvalid', \"accessibilityInvalid is deprecated. Use aria-invalid.\");\n }\n var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid;\n if (_ariaInvalid != null) {\n domProps['aria-invalid'] = _ariaInvalid;\n }\n if (accessibilityKeyShortcuts != null) {\n (0, _warnOnce.warnOnce)('accessibilityKeyShortcuts', \"accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts.\");\n }\n var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts;\n if (_ariaKeyShortcuts != null) {\n domProps['aria-keyshortcuts'] = processIDRefList(_ariaKeyShortcuts);\n }\n if (accessibilityLabel != null) {\n (0, _warnOnce.warnOnce)('accessibilityLabel', \"accessibilityLabel is deprecated. Use aria-label.\");\n }\n var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel;\n if (_ariaLabel != null) {\n domProps['aria-label'] = _ariaLabel;\n }\n if (accessibilityLabelledBy != null) {\n (0, _warnOnce.warnOnce)('accessibilityLabelledBy', \"accessibilityLabelledBy is deprecated. Use aria-labelledby.\");\n }\n var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy;\n if (_ariaLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(_ariaLabelledBy);\n }\n if (accessibilityLevel != null) {\n (0, _warnOnce.warnOnce)('accessibilityLevel', \"accessibilityLevel is deprecated. Use aria-level.\");\n }\n var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel;\n if (_ariaLevel != null) {\n domProps['aria-level'] = _ariaLevel;\n }\n if (accessibilityLiveRegion != null) {\n (0, _warnOnce.warnOnce)('accessibilityLiveRegion', \"accessibilityLiveRegion is deprecated. Use aria-live.\");\n }\n var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion;\n if (_ariaLive != null) {\n domProps['aria-live'] = _ariaLive === 'none' ? 'off' : _ariaLive;\n }\n if (accessibilityModal != null) {\n (0, _warnOnce.warnOnce)('accessibilityModal', \"accessibilityModal is deprecated. Use aria-modal.\");\n }\n var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal;\n if (_ariaModal != null) {\n domProps['aria-modal'] = _ariaModal;\n }\n if (accessibilityMultiline != null) {\n (0, _warnOnce.warnOnce)('accessibilityMultiline', \"accessibilityMultiline is deprecated. Use aria-multiline.\");\n }\n var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline;\n if (_ariaMultiline != null) {\n domProps['aria-multiline'] = _ariaMultiline;\n }\n if (accessibilityMultiSelectable != null) {\n (0, _warnOnce.warnOnce)('accessibilityMultiSelectable', \"accessibilityMultiSelectable is deprecated. Use aria-multiselectable.\");\n }\n var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable;\n if (_ariaMultiSelectable != null) {\n domProps['aria-multiselectable'] = _ariaMultiSelectable;\n }\n if (accessibilityOrientation != null) {\n (0, _warnOnce.warnOnce)('accessibilityOrientation', \"accessibilityOrientation is deprecated. Use aria-orientation.\");\n }\n var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation;\n if (_ariaOrientation != null) {\n domProps['aria-orientation'] = _ariaOrientation;\n }\n if (accessibilityOwns != null) {\n (0, _warnOnce.warnOnce)('accessibilityOwns', \"accessibilityOwns is deprecated. Use aria-owns.\");\n }\n var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns;\n if (_ariaOwns != null) {\n domProps['aria-owns'] = processIDRefList(_ariaOwns);\n }\n if (accessibilityPlaceholder != null) {\n (0, _warnOnce.warnOnce)('accessibilityPlaceholder', \"accessibilityPlaceholder is deprecated. Use aria-placeholder.\");\n }\n var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder;\n if (_ariaPlaceholder != null) {\n domProps['aria-placeholder'] = _ariaPlaceholder;\n }\n if (accessibilityPosInSet != null) {\n (0, _warnOnce.warnOnce)('accessibilityPosInSet', \"accessibilityPosInSet is deprecated. Use aria-posinset.\");\n }\n var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet;\n if (_ariaPosInSet != null) {\n domProps['aria-posinset'] = _ariaPosInSet;\n }\n if (accessibilityPressed != null) {\n (0, _warnOnce.warnOnce)('accessibilityPressed', \"accessibilityPressed is deprecated. Use aria-pressed.\");\n }\n var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed;\n if (_ariaPressed != null) {\n domProps['aria-pressed'] = _ariaPressed;\n }\n if (accessibilityReadOnly != null) {\n (0, _warnOnce.warnOnce)('accessibilityReadOnly', \"accessibilityReadOnly is deprecated. Use aria-readonly.\");\n }\n var _ariaReadOnly = ariaReadOnly != null ? ariaReadOnly : accessibilityReadOnly;\n if (_ariaReadOnly != null) {\n domProps['aria-readonly'] = _ariaReadOnly;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n if (accessibilityRequired != null) {\n (0, _warnOnce.warnOnce)('accessibilityRequired', \"accessibilityRequired is deprecated. Use aria-required.\");\n }\n var _ariaRequired = ariaRequired != null ? ariaRequired : accessibilityRequired;\n if (_ariaRequired != null) {\n domProps['aria-required'] = _ariaRequired;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = accessibilityRequired;\n }\n }\n if (accessibilityRole != null) {\n (0, _warnOnce.warnOnce)('accessibilityRole', \"accessibilityRole is deprecated. Use role.\");\n }\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n if (accessibilityRoleDescription != null) {\n (0, _warnOnce.warnOnce)('accessibilityRoleDescription', \"accessibilityRoleDescription is deprecated. Use aria-roledescription.\");\n }\n var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription;\n if (_ariaRoleDescription != null) {\n domProps['aria-roledescription'] = _ariaRoleDescription;\n }\n if (accessibilityRowCount != null) {\n (0, _warnOnce.warnOnce)('accessibilityRowCount', \"accessibilityRowCount is deprecated. Use aria-rowcount.\");\n }\n var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount;\n if (_ariaRowCount != null) {\n domProps['aria-rowcount'] = _ariaRowCount;\n }\n if (accessibilityRowIndex != null) {\n (0, _warnOnce.warnOnce)('accessibilityRowIndex', \"accessibilityRowIndex is deprecated. Use aria-rowindex.\");\n }\n var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex;\n if (_ariaRowIndex != null) {\n domProps['aria-rowindex'] = _ariaRowIndex;\n }\n if (accessibilityRowSpan != null) {\n (0, _warnOnce.warnOnce)('accessibilityRowSpan', \"accessibilityRowSpan is deprecated. Use aria-rowspan.\");\n }\n var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan;\n if (_ariaRowSpan != null) {\n domProps['aria-rowspan'] = _ariaRowSpan;\n }\n if (accessibilitySelected != null) {\n (0, _warnOnce.warnOnce)('accessibilitySelected', \"accessibilitySelected is deprecated. Use aria-selected.\");\n }\n var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected;\n if (_ariaSelected != null) {\n domProps['aria-selected'] = _ariaSelected;\n }\n if (accessibilitySetSize != null) {\n (0, _warnOnce.warnOnce)('accessibilitySetSize', \"accessibilitySetSize is deprecated. Use aria-setsize.\");\n }\n var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize;\n if (_ariaSetSize != null) {\n domProps['aria-setsize'] = _ariaSetSize;\n }\n if (accessibilitySort != null) {\n (0, _warnOnce.warnOnce)('accessibilitySort', \"accessibilitySort is deprecated. Use aria-sort.\");\n }\n var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort;\n if (_ariaSort != null) {\n domProps['aria-sort'] = _ariaSort;\n }\n if (accessibilityValueMax != null) {\n (0, _warnOnce.warnOnce)('accessibilityValueMax', \"accessibilityValueMax is deprecated. Use aria-valuemax.\");\n }\n var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax;\n if (_ariaValueMax != null) {\n domProps['aria-valuemax'] = _ariaValueMax;\n }\n if (accessibilityValueMin != null) {\n (0, _warnOnce.warnOnce)('accessibilityValueMin', \"accessibilityValueMin is deprecated. Use aria-valuemin.\");\n }\n var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin;\n if (_ariaValueMin != null) {\n domProps['aria-valuemin'] = _ariaValueMin;\n }\n if (accessibilityValueNow != null) {\n (0, _warnOnce.warnOnce)('accessibilityValueNow', \"accessibilityValueNow is deprecated. Use aria-valuenow.\");\n }\n var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow;\n if (_ariaValueNow != null) {\n domProps['aria-valuenow'] = _ariaValueNow;\n }\n if (accessibilityValueText != null) {\n (0, _warnOnce.warnOnce)('accessibilityValueText', \"accessibilityValueText is deprecated. Use aria-valuetext.\");\n }\n var _ariaValueText = ariaValueText != null ? ariaValueText : accessibilityValueText;\n if (_ariaValueText != null) {\n domProps['aria-valuetext'] = _ariaValueText;\n }\n\n // \"dataSet\" replaced with \"data-*\"\n if (dataSet != null) {\n for (var dataProp in dataSet) {\n if (hasOwnProperty.call(dataSet, dataProp)) {\n var dataName = hyphenateString(dataProp);\n var dataValue = dataSet[dataProp];\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n }\n\n // FOCUS\n if (tabIndex === 0 || tabIndex === '0' || tabIndex === -1 || tabIndex === '-1') {\n domProps.tabIndex = tabIndex;\n } else {\n if (focusable != null) {\n (0, _warnOnce.warnOnce)('focusable', \"focusable is deprecated.\");\n }\n\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n if (focusable === false) {\n domProps.tabIndex = '-1';\n }\n if (\n // These native elements are keyboard focusable by default\n elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if (\n // These roles are made keyboard focusable by default\n role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n // Everything else must explicitly set the prop\n if (focusable === true) {\n domProps.tabIndex = '0';\n }\n }\n }\n\n // Resolve styles\n if (pointerEvents != null) {\n (0, _warnOnce.warnOnce)('pointerEvents', \"props.pointerEvents is deprecated. Use style.pointerEvents\");\n }\n var _StyleSheet = (0, _StyleSheet2.default)([style, pointerEvents && pointerEventsStyles[pointerEvents]], (0, _objectSpread2.default)({\n writingDirection: 'ltr'\n }, options)),\n className = _StyleSheet[0],\n inlineStyle = _StyleSheet[1];\n if (className) {\n domProps.className = className;\n }\n if (inlineStyle) {\n domProps.style = inlineStyle;\n }\n\n // OTHER\n // Native element ID\n if (nativeID != null) {\n (0, _warnOnce.warnOnce)('nativeID', \"nativeID is deprecated. Use id.\");\n }\n var _id = id != null ? id : nativeID;\n if (_id != null) {\n domProps.id = _id;\n }\n // Automated test IDs\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n if (domProps.type == null && elementType === 'button') {\n domProps.type = 'button';\n }\n return domProps;\n};\nvar _default = createDOMProps;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.touchProps = exports.styleProps = exports.mouseProps = exports.keyboardProps = exports.focusProps = exports.defaultProps = exports.clickProps = exports.accessibilityProps = void 0;\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\nvar defaultProps = {\n children: true,\n dataSet: true,\n dir: true,\n id: true,\n ref: true,\n suppressHydrationWarning: true,\n tabIndex: true,\n testID: true,\n // @deprecated\n focusable: true,\n nativeID: true\n};\nexports.defaultProps = defaultProps;\nvar accessibilityProps = {\n 'aria-activedescendant': true,\n 'aria-atomic': true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-colcount': true,\n 'aria-colindex': true,\n 'aria-colspan': true,\n 'aria-controls': true,\n 'aria-current': true,\n 'aria-describedby': true,\n 'aria-details': true,\n 'aria-disabled': true,\n 'aria-errormessage': true,\n 'aria-expanded': true,\n 'aria-flowto': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-keyshortcuts': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-owns': true,\n 'aria-placeholder': true,\n 'aria-posinset': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-required': true,\n role: true,\n 'aria-roledescription': true,\n 'aria-rowcount': true,\n 'aria-rowindex': true,\n 'aria-rowspan': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-sort': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n // @deprecated\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n accessibilityDisabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRole: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true\n};\nexports.accessibilityProps = accessibilityProps;\nvar clickProps = {\n onClick: true,\n onAuxClick: true,\n onContextMenu: true,\n onGotPointerCapture: true,\n onLostPointerCapture: true,\n onPointerCancel: true,\n onPointerDown: true,\n onPointerEnter: true,\n onPointerMove: true,\n onPointerLeave: true,\n onPointerOut: true,\n onPointerOver: true,\n onPointerUp: true\n};\nexports.clickProps = clickProps;\nvar focusProps = {\n onBlur: true,\n onFocus: true\n};\nexports.focusProps = focusProps;\nvar keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nexports.keyboardProps = keyboardProps;\nvar mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nexports.mouseProps = mouseProps;\nvar touchProps = {\n onTouchCancel: true,\n onTouchCancelCapture: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchMoveCapture: true,\n onTouchStart: true,\n onTouchStartCapture: true\n};\nexports.touchProps = touchProps;\nvar styleProps = {\n style: true\n};\nexports.styleProps = styleProps;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar getBoundingClientRect = node => {\n if (node != null) {\n var isElement = node.nodeType === 1; /* Node.ELEMENT_NODE */\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\nvar _default = getBoundingClientRect;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = isSelectionValid;\n/**\n * Copyright (c) Nicolas Gallagher\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\nfunction isSelectionValid() {\n var selection = window.getSelection();\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== '\\n' && isTextNode;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\nvar _default = isWebColor;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = mergeRefs;\nvar React = _interopRequireWildcard(require(\"react\"));\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\nfunction mergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return function forwardRef(node) {\n args.forEach(ref => {\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addModalityListener = addModalityListener;\nexports.getActiveModality = getActiveModality;\nexports.getModality = getModality;\nexports.testOnly_resetActiveModality = testOnly_resetActiveModality;\nvar _addEventListener = require(\"../addEventListener\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nvar activeModality = 'keyboard';\nvar modality = 'keyboard';\nvar previousModality;\nvar previousActiveModality;\nvar isEmulatingMouseEvents = false;\nvar listeners = new Set();\nvar KEYBOARD = 'keyboard';\nvar MOUSE = 'mouse';\nvar TOUCH = 'touch';\nvar BLUR = 'blur';\nvar CONTEXTMENU = 'contextmenu';\nvar FOCUS = 'focus';\nvar KEYDOWN = 'keydown';\nvar MOUSEDOWN = 'mousedown';\nvar MOUSEMOVE = 'mousemove';\nvar MOUSEUP = 'mouseup';\nvar POINTERDOWN = 'pointerdown';\nvar POINTERMOVE = 'pointermove';\nvar SCROLL = 'scroll';\nvar SELECTIONCHANGE = 'selectionchange';\nvar TOUCHCANCEL = 'touchcancel';\nvar TOUCHMOVE = 'touchmove';\nvar TOUCHSTART = 'touchstart';\nvar VISIBILITYCHANGE = 'visibilitychange';\nvar bubbleOptions = {\n passive: true\n};\nvar captureOptions = {\n capture: true,\n passive: true\n};\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n callListeners();\n }\n}\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners();\n // for fallback events\n isEmulatingMouseEvents = false;\n}\nfunction onFocusWindow() {\n restoreModality();\n}\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\nfunction onPointerish(event) {\n var eventType = event.type;\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n return;\n }\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n return;\n }\n }\n // Fallback for non-PointerEvent environment\n else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n }\n\n // Flag when browser may produce emulated events\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n return;\n }\n\n // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\nif (_canUseDom.default) {\n // Window events\n (0, _addEventListener.addEventListener)(window, BLUR, onBlurWindow, bubbleOptions);\n (0, _addEventListener.addEventListener)(window, FOCUS, onFocusWindow, bubbleOptions);\n // Must be capture phase because 'stopPropagation' might prevent these\n // events bubbling to the document.\n (0, _addEventListener.addEventListener)(document, KEYDOWN, onKeyDown, captureOptions);\n (0, _addEventListener.addEventListener)(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);\n (0, _addEventListener.addEventListener)(document, POINTERDOWN, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, POINTERMOVE, onPointerish, captureOptions);\n // Fallback events\n (0, _addEventListener.addEventListener)(document, CONTEXTMENU, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEDOWN, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEMOVE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEUP, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHCANCEL, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHMOVE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHSTART, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, SELECTIONCHANGE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, SCROLL, onPointerish, captureOptions);\n}\nfunction callListeners() {\n var value = {\n activeModality,\n modality\n };\n listeners.forEach(listener => {\n listener(value);\n });\n}\nfunction getActiveModality() {\n return activeModality;\n}\nfunction getModality() {\n return modality;\n}\nfunction addModalityListener(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\nfunction testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = pick;\n/**\n * Copyright (c) Nicolas Gallagher.\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\nfunction pick(obj, list) {\n var nextObj = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true) {\n nextObj[key] = obj[key];\n }\n }\n }\n return nextObj;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _createPrefixer = _interopRequireDefault(require(\"inline-style-prefixer/lib/createPrefixer\"));\nvar _static = _interopRequireDefault(require(\"./static\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar prefixAll = (0, _createPrefixer.default)(_static.default);\nvar _default = prefixAll;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _backgroundClip = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/backgroundClip\"));\nvar _crossFade = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/crossFade\"));\nvar _cursor = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/cursor\"));\nvar _filter = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/filter\"));\nvar _imageSet = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/imageSet\"));\nvar _logical = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/logical\"));\nvar _position = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/position\"));\nvar _sizing = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/sizing\"));\nvar _transition = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/transition\"));\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nvar _default = {\n plugins: [_backgroundClip.default, _crossFade.default, _cursor.default, _filter.default, _imageSet.default, _logical.default, _position.default, _sizing.default, _transition.default],\n prefixMap: {\n appearance: wmms,\n userSelect: wm,\n textEmphasisPosition: wms,\n textEmphasis: wms,\n textEmphasisStyle: wms,\n textEmphasisColor: wms,\n boxDecorationBreak: wms,\n clipPath: w,\n maskImage: wms,\n maskMode: wms,\n maskRepeat: wms,\n maskPosition: wms,\n maskClip: wms,\n maskOrigin: wms,\n maskSize: wms,\n maskComposite: wms,\n mask: wms,\n maskBorderSource: wms,\n maskBorderMode: wms,\n maskBorderSlice: wms,\n maskBorderWidth: wms,\n maskBorderOutset: wms,\n maskBorderRepeat: wms,\n maskBorder: wms,\n maskType: wms,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n breakAfter: w,\n breakBefore: w,\n breakInside: w,\n columnCount: w,\n columnFill: w,\n columnGap: w,\n columnRule: w,\n columnRuleColor: w,\n columnRuleStyle: w,\n columnRuleWidth: w,\n columns: w,\n columnSpan: w,\n columnWidth: w,\n backdropFilter: w,\n hyphens: w,\n flowInto: w,\n flowFrom: w,\n regionFragment: w,\n textOrientation: w,\n tabSize: m,\n fontKerning: w,\n textSizeAdjust: w\n }\n};\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _unitlessNumbers = _interopRequireDefault(require(\"../unitlessNumbers\"));\n/* eslint-disable */\n\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 * From React 16.0.0\n * \n */\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(_unitlessNumbers.default.hasOwnProperty(name) && _unitlessNumbers.default[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return ('' + value).trim();\n}\nvar _default = dangerousStyleValue;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _dangerousStyleValue = _interopRequireDefault(require(\"./dangerousStyleValue\"));\n/* eslint-disable */\n\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 * From React 16.3.0\n * \n */\n\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = (0, _dangerousStyleValue.default)(styleName, styles[styleName], isCustomProperty);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\nvar _default = setValueForStyles;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nvar _default = unitlessNumbers;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useElementLayout;\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\nvar _UIManager = _interopRequireDefault(require(\"../../exports/UIManager\"));\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !_canUseDom.default;\nvar resizeObserver = null;\nfunction getResizeObserver() {\n if (_canUseDom.default && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(entry => {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n if (typeof onLayout === 'function') {\n // We still need to measure the view because browsers don't yet provide\n // border-box dimensions in the entry\n _UIManager.default.measure(node, (x, y, width, height, left, top) => {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x,\n y,\n width,\n height,\n left,\n top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: () => entry.target\n });\n onLayout(event);\n });\n }\n });\n });\n }\n } else if (!didWarn) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n console.warn('onLayout relies on ResizeObserver which is not supported by your browser. ' + 'Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill.');\n didWarn = true;\n }\n }\n return resizeObserver;\n}\nfunction useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n (0, _useLayoutEffect.default)(() => {\n var node = ref.current;\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]);\n\n // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n (0, _useLayoutEffect.default)(() => {\n var node = ref.current;\n if (node != null && observer != null) {\n if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {\n observer.observe(node);\n } else {\n observer.unobserve(node);\n }\n }\n return () => {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useEvent;\nvar _addEventListener = require(\"../addEventListener\");\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\nvar _useStable = _interopRequireDefault(require(\"../useStable\"));\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\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nfunction useEvent(eventType, options) {\n var targetListeners = (0, _useStable.default)(() => new Map());\n var addListener = (0, _useStable.default)(() => {\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n if (callback == null) {\n targetListeners.delete(target);\n callback = () => {};\n }\n var removeEventListener = (0, _addEventListener.addEventListener)(target, eventType, callback, options);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n (0, _useLayoutEffect.default)(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useHover;\nvar _modality = require(\"../modality\");\nvar _useEvent = _interopRequireDefault(require(\"../useEvent\"));\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\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\n/**\n * Types\n */\n\n/**\n * Implementation\n */\n\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n var _ref = payload || emptyObject,\n _ref$bubbles = _ref.bubbles,\n bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,\n _ref$cancelable = _ref.cancelable,\n cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,\n detail = _ref.detail;\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n}\n\n// This accounts for the non-PointerEvent fallback events.\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : (0, _modality.getModality)();\n}\nfunction useHover(targetRef, config) {\n var contain = config.contain,\n disabled = config.disabled,\n onHoverStart = config.onHoverStart,\n onHoverChange = config.onHoverChange,\n onHoverUpdate = config.onHoverUpdate,\n onHoverEnd = config.onHoverEnd;\n var canUsePE = supportsPointerEvent();\n var addMoveListener = (0, _useEvent.default)(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = (0, _useEvent.default)(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = (0, _useEvent.default)(canUsePE ? 'pointerleave' : 'mouseleave', opts);\n // These custom events are used to implement the \"contain\" prop.\n var addLockListener = (0, _useEvent.default)(lockEventType, opts);\n var addUnlockListener = (0, _useEvent.default)(unlockEventType, opts);\n (0, _useLayoutEffect.default)(() => {\n var target = targetRef.current;\n if (target !== null) {\n /**\n * End the hover gesture\n */\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n if (onHoverChange != null) {\n onHoverChange(false);\n }\n // Remove the listeners once finished.\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n\n /**\n * Leave element\n */\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n hoverEnd(e);\n }\n };\n\n /**\n * Move within element\n */\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n // Not all browsers have these properties\n if (e.x == null) {\n e.x = e.clientX;\n }\n if (e.y == null) {\n e.y = e.clientY;\n }\n onHoverUpdate(e);\n }\n }\n };\n\n /**\n * Start the hover gesture\n */\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n if (onHoverChange != null) {\n onHoverChange(true);\n }\n // Set the listeners needed for the rest of the hover gesture.\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n\n /**\n * Enter element\n */\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n hoverStart(e);\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _react = require(\"react\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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 * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\n\nvar useLayoutEffectImpl = _canUseDom.default ? _react.useLayoutEffect : _react.useEffect;\nvar _default = useLayoutEffectImpl;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.LocaleProvider = LocaleProvider;\nexports.getLocaleDirection = getLocaleDirection;\nexports.useLocaleContext = useLocaleContext;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _isLocaleRTL = require(\"./isLocaleRTL\");\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar defaultLocale = {\n direction: 'ltr',\n locale: 'en-US'\n};\nvar LocaleContext = /*#__PURE__*/(0, _react.createContext)(defaultLocale);\nfunction getLocaleDirection(locale) {\n return (0, _isLocaleRTL.isLocaleRTL)(locale) ? 'rtl' : 'ltr';\n}\nfunction LocaleProvider(props) {\n var direction = props.direction,\n locale = props.locale,\n children = props.children;\n var needsContext = direction || locale;\n return needsContext ? /*#__PURE__*/_react.default.createElement(LocaleContext.Provider, {\n children: children,\n value: {\n direction: locale ? getLocaleDirection(locale) : direction,\n locale\n }\n }) : children;\n}\nfunction useLocaleContext() {\n return (0, _react.useContext)(LocaleContext);\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.isLocaleRTL = isLocaleRTL;\n/**\n * Copyright (c) Nicolas Gallagher.\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\nvar rtlScripts = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nvar rtlLangs = new Set(['ae',\n// Avestan\n'ar',\n// Arabic\n'arc',\n// Aramaic\n'bcc',\n// Southern Balochi\n'bqi',\n// Bakthiari\n'ckb',\n// Sorani\n'dv',\n// Dhivehi\n'fa', 'far',\n// Persian\n'glk',\n// Gilaki\n'he', 'iw',\n// Hebrew\n'khw',\n// Khowar\n'ks',\n// Kashmiri\n'ku',\n// Kurdish\n'mzn',\n// Mazanderani\n'nqo',\n// N'Ko\n'pnb',\n// Western Punjabi\n'ps',\n// Pashto\n'sd',\n// Sindhi\n'ug',\n// Uyghur\n'ur',\n// Urdu\n'yi' // Yiddish\n]);\n\nvar cache = new Map();\n\n/**\n * Determine the writing direction of a locale\n */\nfunction isLocaleRTL(locale) {\n var cachedRTL = cache.get(locale);\n if (cachedRTL) {\n return cachedRTL;\n }\n var isRTL = false;\n // $FlowFixMe\n if (Intl.Locale) {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } else {\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\n cache.set(locale, isRTL);\n return isRTL;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useMergeRefs;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _mergeRefs = _interopRequireDefault(require(\"../mergeRefs\"));\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\nfunction useMergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return React.useMemo(() => (0, _mergeRefs.default)(...args),\n // eslint-disable-next-line\n [...args]);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = usePlatformMethods;\nvar _UIManager = _interopRequireDefault(require(\"../../exports/UIManager\"));\nvar _useStable = _interopRequireDefault(require(\"../useStable\"));\n/**\n * Copyright (c) Nicolas Gallagher.\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\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\nfunction usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n // Avoid creating a new ref on every render.\n var ref = (0, _useStable.default)(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => _UIManager.default.measure(hostNode, callback);\n hostNode.measureLayout = (relativeToNode, success, failure) => _UIManager.default.measureLayout(hostNode, relativeToNode, failure, success);\n hostNode.measureInWindow = callback => _UIManager.default.measureInWindow(hostNode, callback);\n }\n });\n return ref;\n}\nmodule.exports = exports.default;","/**\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 * @format\n */\n\n'use strict';\n\nexports.__esModule = true;\nexports.default = void 0;\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\nvar getElementRole = element => element.getAttribute('role');\nvar getElementType = element => element.tagName.toLowerCase();\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isButtonRole = element => getElementRole(element) === 'button';\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var isSpacebar = key === ' ' || key === 'Spacebar';\n var isButtonish = getElementType(target) === 'button' || isButtonRole(target);\n return key === 'Enter' || isSpacebar && isButtonish;\n};\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\nvar DEFAULT_PRESS_DELAY_MS = 50;\n\n/**\n * =========================== PressResponder Tutorial ===========================\n *\n * The `PressResponder` class helps you create press interactions by analyzing the\n * geometry of elements and observing when another responder (e.g. ScrollView)\n * has stolen the touch lock. It offers hooks for your component to provide\n * interaction feedback to the user:\n *\n * - When a press has activated (e.g. highlight an element)\n * - When a press has deactivated (e.g. un-highlight an element)\n * - When a press sould trigger an action, meaning it activated and deactivated\n * while within the geometry of the element without the lock being stolen.\n *\n * A high quality interaction isn't as simple as you might think. There should\n * be a slight delay before activation. Moving your finger beyond an element's\n * bounds should trigger deactivation, but moving the same finger back within an\n * element's bounds should trigger reactivation.\n *\n * In order to use `PressResponder`, do the following:\n *\n * const pressResponder = new PressResponder(config);\n *\n * 2. Choose the rendered component who should collect the press events. On that\n * element, spread `pressability.getEventHandlers()` into its props.\n *\n * return (\n * \n * );\n *\n * 3. Reset `PressResponder` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressResponder.reset();\n * }\n *\n * ==================== Implementation Details ====================\n *\n * `PressResponder` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * # Geometry\n *\n * ┌────────────────────────┐\n * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`.\n * │ │ ┌────────────┐ │ │\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates.\n * │ └──────────────────┘ │\n * │ Out Region o │\n * └────────────────────│───┘\n * └────── When the press is released outside the `HitRect`,\n * the responder is NOT eligible for a \"press\".\n *\n * # State Machine\n *\n * ┌───────────────┐ ◀──── RESPONDER_RELEASE\n * │ NOT_RESPONDER │\n * └───┬───────────┘ ◀──── RESPONDER_TERMINATED\n * │\n * │ RESPONDER_GRANT (HitRect)\n * │\n * ▼\n * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │\n * │ PRESS_START ├────────▶ │ PRESS_START ├────────────▶ │ LONG_PRESS_START │\n * └─────────────────────┘ └───────────────────┘ └───────────────────┘\n *\n * T + DELAY => LONG_PRESS_DELAY + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the invocation of `onLongPress`. Only when the browser produces a\n * `click` event is `onPress` invoked.\n */\nclass PressResponder {\n constructor(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this._responderElement = null;\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset() {\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\n\n /**\n * Returns a set of props to spread into the interactive element.\n */\n getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n return this._eventHandlers;\n }\n _createEventHandlers() {\n var start = (event, shouldDelay) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n this._receiveSignal(RESPONDER_GRANT, event);\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n if (shouldDelay !== false && delayPressStart > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n this._receiveSignal(DELAY, event);\n }\n var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\n if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = getElementType(target);\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n var isActiveElement = this._responderElement === target;\n if (onPress != null && !isNativeInteractiveElement && isActiveElement) {\n onPress(event);\n }\n this._responderElement = null;\n }\n };\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false);\n this._responderElement = target;\n // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n document.addEventListener('keyup', keyupHandler);\n }\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n var role = getElementRole(target);\n var isButtonLikeRole = role === 'button' || role === 'menuitem';\n if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== 'button') {\n // Prevent spacebar scrolling the window if using non-native button\n event.preventDefault();\n }\n event.stopPropagation();\n }\n },\n onResponderGrant: event => start(event),\n onResponderMove: event => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n var touch = getTouchFromResponderEvent(event);\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: event => end(event),\n onResponderTerminate: event => {\n if (event.nativeEvent.type === 'selectionchange') {\n this._selectionTerminated = true;\n }\n this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: event => {\n var _this$_config = this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress;\n // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n if (cancelable == null) {\n return true;\n }\n return cancelable;\n },\n // NOTE: this diverges from react-native in 3 significant ways:\n // * The `onPress` callback is not connected to the responder system (the native\n // `click` event must be used but is dispatched in many scenarios where no pointers\n // are on the screen.) Therefore, it's possible for `onPress` to be called without\n // `onPress{Start,End}` being called first.\n // * The `onPress` callback is only be called on the first ancestor of the native\n // `click` target that is using the PressResponder.\n // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.\n onClick: event => {\n var _this$_config2 = this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n if (!disabled) {\n // If long press dispatched, cancel default click behavior.\n // If the responder terminated because text was selected during the gesture,\n // cancel the default click behavior.\n event.stopPropagation();\n if (this._longPressDispatched || this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n // If `onLongPress` is provided and a touch pointer is being used, prevent the\n // default context menu from opening.\n onContextMenu: event => {\n var _this$_config3 = this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n if (!disabled) {\n if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n }\n };\n }\n\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\n }\n\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n // Pressable suppression of contextmenu on windows.\n // On Windows, the contextmenu is displayed after pointerup.\n // https://github.com/necolas/react-native-web/issues/2296\n setTimeout(() => {\n this._isPointerTouch = false;\n }, 0);\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n this._deactivate(event);\n }\n }\n }\n }\n this._cancelPressDelayTimeout();\n }\n _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n if (onPressStart != null) {\n onPressStart(event);\n }\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n }\n _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\n }\n }\n _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n}\nexports.default = PressResponder;\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n if (fallback === void 0) {\n fallback = 0;\n }\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n return event.nativeEvent;\n}\nmodule.exports = exports.default;","/**\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 * @format\n */\n\n'use strict';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = usePressEvents;\nvar _PressResponder = _interopRequireDefault(require(\"./PressResponder\"));\nvar _react = require(\"react\");\nfunction usePressEvents(hostRef, config) {\n var pressResponderRef = (0, _react.useRef)(null);\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new _PressResponder.default(config);\n }\n var pressResponder = pressResponderRef.current;\n\n // Re-configure to use the current node and configuration.\n (0, _react.useEffect)(() => {\n pressResponder.configure(config);\n }, [config, pressResponder]);\n\n // Reset the `pressResponder` when cleanup needs to occur. This is\n // a separate effect because we do not want to rest the responder when `config` changes.\n (0, _react.useEffect)(() => {\n return () => {\n pressResponder.reset();\n };\n }, [pressResponder]);\n (0, _react.useDebugValue)(config);\n return pressResponder.getEventHandlers();\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.TOUCH_START = exports.TOUCH_MOVE = exports.TOUCH_END = exports.TOUCH_CANCEL = exports.SELECTION_CHANGE = exports.SELECT = exports.SCROLL = exports.MOUSE_UP = exports.MOUSE_MOVE = exports.MOUSE_DOWN = exports.MOUSE_CANCEL = exports.FOCUS_OUT = exports.CONTEXT_MENU = exports.BLUR = void 0;\nexports.isCancelish = isCancelish;\nexports.isEndish = isEndish;\nexports.isMoveish = isMoveish;\nexports.isScroll = isScroll;\nexports.isSelectionChange = isSelectionChange;\nexports.isStartish = isStartish;\n/**\n * Copyright (c) Nicolas Gallagher\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\nvar BLUR = 'blur';\nexports.BLUR = BLUR;\nvar CONTEXT_MENU = 'contextmenu';\nexports.CONTEXT_MENU = CONTEXT_MENU;\nvar FOCUS_OUT = 'focusout';\nexports.FOCUS_OUT = FOCUS_OUT;\nvar MOUSE_DOWN = 'mousedown';\nexports.MOUSE_DOWN = MOUSE_DOWN;\nvar MOUSE_MOVE = 'mousemove';\nexports.MOUSE_MOVE = MOUSE_MOVE;\nvar MOUSE_UP = 'mouseup';\nexports.MOUSE_UP = MOUSE_UP;\nvar MOUSE_CANCEL = 'dragstart';\nexports.MOUSE_CANCEL = MOUSE_CANCEL;\nvar TOUCH_START = 'touchstart';\nexports.TOUCH_START = TOUCH_START;\nvar TOUCH_MOVE = 'touchmove';\nexports.TOUCH_MOVE = TOUCH_MOVE;\nvar TOUCH_END = 'touchend';\nexports.TOUCH_END = TOUCH_END;\nvar TOUCH_CANCEL = 'touchcancel';\nexports.TOUCH_CANCEL = TOUCH_CANCEL;\nvar SCROLL = 'scroll';\nexports.SCROLL = SCROLL;\nvar SELECT = 'select';\nexports.SELECT = SELECT;\nvar SELECTION_CHANGE = 'selectionchange';\nexports.SELECTION_CHANGE = SELECTION_CHANGE;\nfunction isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\nfunction isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\nfunction isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\nfunction isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\nfunction isScroll(eventType) {\n return eventType === SCROLL;\n}\nfunction isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addNode = addNode;\nexports.attachListeners = attachListeners;\nexports.getResponderNode = getResponderNode;\nexports.removeNode = removeNode;\nexports.terminateResponder = terminateResponder;\nvar _createResponderEvent = _interopRequireDefault(require(\"./createResponderEvent\"));\nvar _ResponderEventTypes = require(\"./ResponderEventTypes\");\nvar _utils = require(\"./utils\");\nvar _ResponderTouchHistoryStore = require(\"./ResponderTouchHistoryStore\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher\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\n/**\n * RESPONDER EVENT SYSTEM\n *\n * A single, global \"interaction lock\" on views. For a view to be the \"responder\" means\n * that pointer interactions are exclusive to that view and none other. The \"interaction\n * lock\" can be transferred (only) to ancestors of the current \"responder\" as long as\n * pointers continue to be active.\n *\n * Responder being granted:\n *\n * A view can become the \"responder\" after the following events:\n * * \"pointerdown\" (implemented using \"touchstart\", \"mousedown\")\n * * \"pointermove\" (implemented using \"touchmove\", \"mousemove\")\n * * \"scroll\" (while a pointer is down)\n * * \"selectionchange\" (while a pointer is down)\n *\n * If nothing is already the \"responder\", the event propagates to (capture) and from\n * (bubble) the event target until a view returns `true` for\n * `on*ShouldSetResponder(Capture)`.\n *\n * If something is already the responder, the event propagates to (capture) and from\n * (bubble) the lowest common ancestor of the event target and the current \"responder\".\n * Then negotiation happens between the current \"responder\" and a view that wants to\n * become the \"responder\": see the timing diagram below.\n *\n * (NOTE: Scrolled views either automatically become the \"responder\" or release the\n * \"interaction lock\". A native scroll view that isn't built on top of the responder\n * system must result in the current \"responder\" being notified that it no longer has\n * the \"interaction lock\" - the native system has taken over.\n *\n * Responder being released:\n *\n * As soon as there are no more active pointers that *started* inside descendants\n * of the *current* \"responder\", an `onResponderRelease` event is dispatched to the\n * current \"responder\", and the responder lock is released.\n *\n * Typical sequence of events:\n * * startShouldSetResponder\n * * responderGrant/Reject\n * * responderStart\n * * responderMove\n * * responderEnd\n * * responderRelease\n */\n\n/* Negotiation Performed\n +-----------------------+\n / \\\nProcess low level events to + Current Responder + wantsResponderID\ndetermine who to perform negot-| (if any exists at all) |\niation/transition | Otherwise just pass through|\n-------------------------------+----------------------------+------------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +--------------+ | |\n | onTouchStart | | |\n +------+-------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onStartShouldSetResponder|----->| onResponderStart (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest | |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderStart|\n | | +----------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +-------------+ | |\n | onTouchMove | | |\n +------+------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onMoveShouldSetResponder |----->| onResponderMove (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest| |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderMove |\n | | +----------------+\n | |\n | |\n Some active touch started| |\n inside current responder | +------------------------+ |\n +------------------------->| onResponderEnd | |\n | | +------------------------+ |\n +---+---------+ | |\n | onTouchEnd | | |\n +---+---------+ | |\n | | +------------------------+ |\n +------------------------->| onResponderEnd | |\n No active touches started| +-----------+------------+ |\n inside current responder | | |\n | v |\n | +------------------------+ |\n | | onResponderRelease | |\n | +------------------------+ |\n | |\n + + */\n\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\n\n/* ------------ IMPLEMENTATION ------------ */\n\nvar startRegistration = ['onStartShouldSetResponderCapture', 'onStartShouldSetResponder', {\n bubbles: true\n}];\nvar moveRegistration = ['onMoveShouldSetResponderCapture', 'onMoveShouldSetResponder', {\n bubbles: true\n}];\nvar scrollRegistration = ['onScrollShouldSetResponderCapture', 'onScrollShouldSetResponder', {\n bubbles: false\n}];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\nvar responderTouchHistoryStore = new _ResponderTouchHistoryStore.ResponderTouchHistoryStore();\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n\n/**\n * Process native events\n *\n * A single event listener is used to manage the responder system.\n * All pointers are tracked in the ResponderTouchHistoryStore. Native events\n * are interpreted in terms of the Responder System and checked to see if\n * the responder should be transferred. Each host node that is attached to\n * the Responder System has an ID, which is used to look up its associated\n * callbacks.\n */\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n\n /**\n * Manage emulated events and early bailout.\n * Since PointerEvent is not used yet (lack of support in older Safari), it's\n * necessary to manually manage the mess of browser touch/mouse events.\n * And bailout early for termination events when there is no active responder.\n */\n\n // Flag when browser may produce emulated events\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n }\n // Remove flag when browser will not produce emulated events\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n }\n // Ignore various events in particular circumstances\n if (\n // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents ||\n // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n }\n // Remove flag after emulated events are finished\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n return;\n }\n var isStartEvent = (0, _ResponderEventTypes.isStartish)(eventType) && (0, _utils.isPrimaryPointerDown)(domEvent);\n var isMoveEvent = (0, _ResponderEventTypes.isMoveish)(eventType);\n var isEndEvent = (0, _ResponderEventTypes.isEndish)(eventType);\n var isScrollEvent = (0, _ResponderEventTypes.isScroll)(eventType);\n var isSelectionChangeEvent = (0, _ResponderEventTypes.isSelectionChange)(eventType);\n var responderEvent = (0, _createResponderEvent.default)(domEvent, responderTouchHistoryStore);\n\n /**\n * Record the state of active pointers\n */\n\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n\n /**\n * Responder System logic\n */\n\n var eventPaths = (0, _utils.getResponderPaths)(domEvent);\n var wasNegotiated = false;\n var wantsResponder;\n\n // If an event occured that might change the current responder...\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n // If there is already a responder, prune the event paths to the lowest common ancestor\n // of the existing responder and deepest target of the event.\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = (0, _utils.getLowestCommonAncestor)(currentResponderIdPath, eventIdPath);\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);\n // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n if (wantsResponder != null) {\n // Sets responder if none exists, or negotates with existing responder.\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n }\n\n // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n var _getResponderConfig = getResponderConfig(id),\n onResponderStart = _getResponderConfig.onResponderStart,\n onResponderMove = _getResponderConfig.onResponderMove,\n onResponderEnd = _getResponderConfig.onResponderEnd,\n onResponderRelease = _getResponderConfig.onResponderRelease,\n onResponderTerminate = _getResponderConfig.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Start\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n }\n // Move\n else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = (0, _ResponderEventTypes.isCancelish)(eventType) ||\n // native context menu\n eventType === 'contextmenu' ||\n // window blur\n eventType === 'blur' && eventTarget === window ||\n // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node ||\n // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 ||\n // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node ||\n // native select/selectionchange on node\n isSelectionChangeEvent && (0, _utils.hasValidSelection)(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !(0, _utils.hasTargetTouches)(node, domEvent.touches);\n\n // End\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n }\n // Release\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n }\n // Terminate\n if (isTerminateEvent) {\n var shouldTerminate = true;\n\n // Responders can still avoid termination but only for these events.\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n // Only call this function is it wasn't already called during negotiation.\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n\n/**\n * Walk the event path to/from the target node. At each node, stop and call the\n * relevant \"shouldSet\" functions for the given event type. If any of those functions\n * call \"stopPropagation\" on the event, stop searching for a responder.\n */\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; // for Flow\n\n if (shouldSetCallbacks != null) {\n var idPath = eventPaths.idPath,\n nodePath = eventPaths.nodePath;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var bubbles = shouldSetCallbacks[2].bubbles;\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n if (shouldSetCallback(responderEvent) === true) {\n // Start the path from the potential responder\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id,\n node,\n idPath: prunedIdPath\n };\n }\n }\n };\n\n // capture\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n if (result != null) {\n return result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n\n // bubble\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n if (_result != null) {\n return _result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var _id2 = idPath[0];\n var _node2 = nodePath[0];\n var target = domEvent.target;\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n\n/**\n * Attempt to transfer the responder.\n */\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var _currentResponder2 = currentResponder,\n currentId = _currentResponder2.id,\n currentNode = _currentResponder2.node;\n var id = wantsResponder.id,\n node = wantsResponder.node;\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Set responder\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n }\n // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n var allowTransfer = true;\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n if (allowTransfer) {\n // Terminate existing responder\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n // Grant next responder\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n } else {\n // Reject responder request\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n\n/* ------------ PUBLIC API ------------ */\n\n/**\n * Attach Listeners\n *\n * Use native events as ReactDOM doesn't have a non-plugin API to implement\n * this system.\n */\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [\n// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart',\n// touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel',\n// other\n'contextmenu', 'select', 'selectionchange'];\nfunction attachListeners() {\n if (_canUseDom.default && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n\n/**\n * Register a node with the ResponderSystem.\n */\nfunction addNode(id, node, config) {\n (0, _utils.setResponderId)(node, id);\n responderListenersMap.set(id, config);\n}\n\n/**\n * Unregister a node with the ResponderSystem.\n */\nfunction removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\n\n/**\n * Allow the current responder to be terminated from within components to support\n * more complex requirements, such as use with other React libraries for working\n * with scroll views, input views, etc.\n */\nfunction terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n if (onResponderTerminate != null) {\n var event = (0, _createResponderEvent.default)({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n changeCurrentResponder(emptyResponder);\n }\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\nfunction getResponderNode() {\n return currentResponder.node;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.ResponderTouchHistoryStore = void 0;\nvar _ResponderEventTypes = require(\"./ResponderEventTypes\");\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\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar MAX_TOUCH_BANK = 20;\nfunction timestampForTouch(touch) {\n // The legacy internal implementation provides \"timeStamp\", which has been\n // renamed to \"timestamp\".\n return touch.timeStamp || touch.timestamp;\n}\n\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n };\n}\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\n touchRecord.startPageX = touch.pageX;\n touchRecord.startPageY = touch.pageY;\n touchRecord.startTimeStamp = timestampForTouch(touch);\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchRecord.previousPageX = touch.pageX;\n touchRecord.previousPageY = touch.pageY;\n touchRecord.previousTimeStamp = timestampForTouch(touch);\n}\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\n if (__DEV__) {\n if (identifier > MAX_TOUCH_BANK) {\n console.error('Touch identifier %s is greater than maximum supported %s which causes ' + 'performance issues backfilling array locations for all of the indices.', identifier, MAX_TOUCH_BANK);\n }\n }\n return identifier;\n}\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchHistory.touchBank[identifier];\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = true;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch move without a touch start.\\n', \"Touch Move: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction recordTouchEnd(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = false;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch end without a touch start.\\n', \"Touch End: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\nfunction printTouchBank(touchHistory) {\n var touchBank = touchHistory.touchBank;\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n return printed;\n}\nclass ResponderTouchHistoryStore {\n constructor() {\n this._touchHistory = {\n touchBank: [],\n //Array\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\n }\n recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\n if ((0, _ResponderEventTypes.isMoveish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));\n } else if ((0, _ResponderEventTypes.isStartish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchStart(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if ((0, _ResponderEventTypes.isEndish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchEnd(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n var touchBank = touchHistory.touchBank;\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n }\n get touchHistory() {\n return this._touchHistory;\n }\n}\nexports.ResponderTouchHistoryStore = ResponderTouchHistoryStore;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = createResponderEvent;\nvar _getBoundingClientRect = _interopRequireDefault(require(\"../../modules/getBoundingClientRect\"));\n/**\n * Copyright (c) Nicolas Gallagher\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\nvar emptyFunction = () => {};\nvar emptyObject = {};\nvar emptyArray = [];\n\n/**\n * Safari produces very large identifiers that would cause the `touchBank` array\n * length to be so large as to crash the browser, if not normalized like this.\n * In the future the `touchBank` should use an object/map instead.\n */\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\nfunction createResponderEvent(domEvent, responderTouchHistoryStore) {\n var rect;\n var propagationWasStopped = false;\n var changedTouches;\n var touches;\n var domEventChangedTouches = domEvent.changedTouches;\n var domEventType = domEvent.type;\n var metaKey = domEvent.metaKey === true;\n var shiftKey = domEvent.shiftKey === true;\n var force = domEventChangedTouches && domEventChangedTouches[0].force || 0;\n var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0);\n var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX;\n var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;\n var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;\n var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;\n var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction;\n var timestamp = domEvent.timeStamp;\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(touch => {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n get locationX() {\n return locationX(touch.clientX);\n },\n get locationY() {\n return locationY(touch.clientY);\n },\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp\n };\n });\n }\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n // `currentTarget` is set before dispatch\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey,\n shiftKey,\n changedTouches,\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp,\n touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault,\n stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: responderTouchHistoryStore.touchHistory\n };\n\n // Using getters and functions serves two purposes:\n // 1) The value of `currentTarget` is not initially available.\n // 2) Measuring the clientRect may cause layout jank and should only be done on-demand.\n function locationX(x) {\n rect = rect || (0, _getBoundingClientRect.default)(responderEvent.currentTarget);\n if (rect) {\n return x - rect.left;\n }\n }\n function locationY(y) {\n rect = rect || (0, _getBoundingClientRect.default)(responderEvent.currentTarget);\n if (rect) {\n return y - rect.top;\n }\n }\n return responderEvent;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useResponderEvents;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar ResponderSystem = _interopRequireWildcard(require(\"./ResponderSystem\"));\n/**\n * Copyright (c) Nicolas Gallagher\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\n/**\n * Hook for integrating the Responder System into React\n *\n * function SomeComponent({ onStartShouldSetResponder }) {\n * const ref = useRef(null);\n * useResponderEvents(ref, { onStartShouldSetResponder });\n * return
\n * }\n */\n\nvar emptyObject = {};\nvar idCounter = 0;\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n return ref.current;\n}\nfunction useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n var id = useStable(() => idCounter++);\n var isAttachedRef = React.useRef(false);\n\n // This is a separate effects so it doesn't run when the config changes.\n // On initial mount, attach global listeners if needed.\n // On unmount, remove node potentially attached to the Responder System.\n React.useEffect(() => {\n ResponderSystem.attachListeners();\n return () => {\n ResponderSystem.removeNode(id);\n };\n }, [id]);\n\n // Register and unregister with the Responder System as necessary\n React.useEffect(() => {\n var _config = config,\n onMoveShouldSetResponder = _config.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture,\n onScrollShouldSetResponder = _config.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = _config.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture;\n var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;\n var node = hostRef.current;\n if (requiresResponderSystem) {\n ResponderSystem.addNode(id, node, config);\n isAttachedRef.current = true;\n } else if (isAttachedRef.current) {\n ResponderSystem.removeNode(id);\n isAttachedRef.current = false;\n }\n }, [config, hostRef, id]);\n React.useDebugValue({\n isResponder: hostRef.current === ResponderSystem.getResponderNode()\n });\n React.useDebugValue(config);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.getLowestCommonAncestor = getLowestCommonAncestor;\nexports.getResponderPaths = getResponderPaths;\nexports.hasTargetTouches = hasTargetTouches;\nexports.hasValidSelection = hasValidSelection;\nexports.isPrimaryPointerDown = isPrimaryPointerDown;\nexports.setResponderId = setResponderId;\nvar _isSelectionValid = _interopRequireDefault(require(\"../../modules/isSelectionValid\"));\n/**\n * Copyright (c) Nicolas Gallagher\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\nvar keyName = '__reactResponderId';\nfunction getEventPath(domEvent) {\n // The 'selectionchange' event always has the 'document' as the target.\n // Use the anchor node as the initial target to reconstruct a path.\n // (We actually only need the first \"responder\" node in practice.)\n if (domEvent.type === 'selectionchange') {\n var target = window.getSelection().anchorNode;\n return composedPathFallback(target);\n } else {\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n }\n}\nfunction composedPathFallback(target) {\n var path = [];\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n return path;\n}\n\n/**\n * Retrieve the responderId from a host node\n */\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n return null;\n}\n\n/**\n * Store the responderId on a host node\n */\nfunction setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\nfunction getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n return {\n idPath,\n nodePath\n };\n}\n\n/**\n * Walk the paths and find the first common ancestor\n */\nfunction getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n if (\n // If either path is empty\n pathALength === 0 || pathBLength === 0 ||\n // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0;\n\n // If A is deeper, skip indices that can't match.\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n }\n\n // If B is deeper, skip indices that can't match\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n }\n\n // Walk in lockstep until a match is found\n var depth = pathALength;\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n return null;\n}\n\n/**\n * Determine whether any of the active touches are within the current responder.\n * This cannot rely on W3C `targetTouches`, as neither IE11 nor Safari implement it.\n */\nfunction hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\nfunction hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return (0, _isSelectionValid.default)();\n }\n return domEvent.type === 'select';\n}\n\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\nfunction isPrimaryPointerDown(domEvent) {\n var altKey = domEvent.altKey,\n button = domEvent.button,\n buttons = domEvent.buttons,\n ctrlKey = domEvent.ctrlKey,\n type = domEvent.type;\n var isTouch = type === 'touchstart' || type === 'touchmove';\n var isPrimaryMouseDown = type === 'mousedown' && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === 'mousemove' && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n return false;\n}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useStable;\nvar React = _interopRequireWildcard(require(\"react\"));\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\nvar UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nfunction useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n }\n // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n return ref.current;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.warnOnce = warnOnce;\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\nvar warnedKeys = {};\n\n/**\n * A simple function that prints a warning message once per session.\n *\n * @param {string} key - The key used to ensure the message is printed once.\n * This should be unique to the callsite.\n * @param {string} message - The message to print\n */\nfunction warnOnce(key, message) {\n if (process.env.NODE_ENV !== 'production') {\n if (warnedKeys[key]) {\n return;\n }\n console.warn(message);\n warnedKeys[key] = true;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar I18nManager = {\n allowRTL() {\n return;\n },\n forceRTL() {\n return;\n },\n getConstants() {\n return {\n isRTL: false\n };\n }\n};\nexport default I18nManager;","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\nexport default isWebColor;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport isWebColor from '../../../modules/isWebColor';\nimport processColor from '../../../exports/processColor';\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n if (color == null) return;\n if (typeof color === 'string' && isWebColor(color)) {\n return color;\n }\n var colorInt = processColor(color);\n if (colorInt != null) {\n var r = colorInt >> 16 & 255;\n var g = colorInt >> 8 & 255;\n var b = colorInt & 255;\n var a = (colorInt >> 24 & 255) / 255;\n var alpha = (a * opacity).toFixed(2);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + alpha + \")\";\n }\n};\nexport default normalizeColor;","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport unitlessNumbers from './unitlessNumbers';\nimport normalizeColor from './normalizeColor';\nvar colorProps = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true\n};\nexport default function normalizeValueWithProperty(value, property) {\n var returnValue = value;\n if ((property == null || !unitlessNumbers[property]) && typeof value === 'number') {\n returnValue = value + \"px\";\n } else if (property != null && colorProps[property]) {\n returnValue = normalizeColor(value);\n }\n return returnValue;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport canUseDOM from '../../../modules/canUseDom';\n\n// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\nexport default function createCSSStyleSheet(id, rootNode, textContent) {\n if (canUseDOM) {\n var root = rootNode != null ? rootNode : document;\n var element = root.getElementById(id);\n if (element == null) {\n element = document.createElement('style');\n element.setAttribute('id', id);\n if (typeof textContent === 'string') {\n element.appendChild(document.createTextNode(textContent));\n }\n if (root instanceof ShadowRoot) {\n root.insertBefore(element, root.firstChild);\n } else {\n var head = root.head;\n if (head) {\n head.insertBefore(element, head.firstChild);\n }\n }\n }\n // $FlowFixMe: HTMLElement is incorrectly typed\n return element.sheet;\n } else {\n return null;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar slice = Array.prototype.slice;\n\n/**\n * Order-based insertion of CSS.\n *\n * Each rule is associated with a numerically defined group.\n * Groups are ordered within the style sheet according to their number, with the\n * lowest first.\n *\n * Groups are implemented using marker rules. The selector of the first rule of\n * each group is used only to encode the group number for hydration. An\n * alternative implementation could rely on CSSMediaRule, allowing groups to be\n * treated as a sub-sheet, but the Edge implementation of CSSMediaRule is\n * broken.\n * https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule\n * https://gist.github.com/necolas/aa0c37846ad6bd3b05b727b959e82674\n */\nexport default function createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach((cssRule, i) => {\n var cssText = cssRule.cssText;\n // Create record of existing selectors and rules\n if (cssText.indexOf('stylesheet-group') > -1) {\n group = decodeGroupRule(cssRule);\n groups[group] = {\n start: i,\n rules: [cssText]\n };\n } else {\n var selectorText = getSelectorText(cssText);\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\n }\n });\n }\n function sheetInsert(sheet, group, text) {\n var orderedGroups = getOrderedGroups(groups);\n var groupIndex = orderedGroups.indexOf(group);\n var nextGroupIndex = groupIndex + 1;\n var nextGroup = orderedGroups[nextGroupIndex];\n // Insert rule before the next group, or at the end of the stylesheet\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n }\n // Increment the starting index of all subsequent groups\n for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) {\n var groupNumber = orderedGroups[i];\n var previousStart = groups[groupNumber].start || 0;\n groups[groupNumber].start = previousStart + 1;\n }\n }\n return isInserted;\n }\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent() {\n return getOrderedGroups(groups).map(group => {\n var rules = groups[group].rules;\n // Sorting provides deterministic order of styles in group for\n // build-time extraction of the style sheet.\n var marker = rules.shift();\n rules.sort();\n rules.unshift(marker);\n return rules.join('\\n');\n }).join('\\n');\n },\n /**\n * Insert a rule into the style sheet\n */\n insert(cssText, groupValue) {\n var group = Number(groupValue);\n\n // Create a new group.\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group);\n // Create the internal record.\n groups[group] = {\n start: null,\n rules: [markerRule]\n };\n // Update CSSOM.\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n }\n\n // selectorText is more reliable than cssText for insertion checks. The\n // browser excludes vendor-prefixed properties and rewrites certain values\n // making cssText more likely to be different from what was inserted.\n var selectorText = getSelectorText(cssText);\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n // Update CSSOM.\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n if (!isInserted) {\n // Revert internal record change if a rule was rejected (e.g.,\n // unrecognized pseudo-selector)\n groups[group].rules.pop();\n }\n }\n }\n }\n };\n return OrderedCSSStyleSheet;\n}\n\n/**\n * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\nvar groupPattern = /[\"']/g;\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(groupPattern)[1]);\n}\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1);\n}\nvar selectorPattern = /\\s*([,])\\s*/g;\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(selectorPattern, '$1') : null;\n}\nfunction insertRuleAt(root, cssText, position) {\n try {\n // $FlowFixMe: Flow is missing CSSOM types needed to type 'root'.\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n // JSDOM doesn't support `CSSSMediaRule#insertRule`.\n // Also ignore errors that occur from attempting to insert vendor-prefixed selectors.\n return false;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport canUseDOM from '../../../modules/canUseDom';\nimport createCSSStyleSheet from './createCSSStyleSheet';\nimport createOrderedCSSStyleSheet from './createOrderedCSSStyleSheet';\nvar defaultId = 'react-native-stylesheet';\nvar roots = new WeakMap();\nvar sheets = [];\nvar initialRules = [\n// minimal top-level reset\n'html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}',\n// minimal form pseudo-element reset\n'button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}', 'input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}'];\nexport function createSheet(root, id) {\n if (id === void 0) {\n id = defaultId;\n }\n var sheet;\n if (canUseDOM) {\n var rootNode = root != null ? root.getRootNode() : document;\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n var index = roots.get(rootNode);\n if (index == null) {\n var initialSheet = sheets[0];\n // If we're creating a new sheet, populate it with existing styles\n var textContent = initialSheet != null ? initialSheet.getTextContent() : '';\n // Cast rootNode to 'any' because Flow types for getRootNode are wrong\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id, rootNode, textContent));\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n sheet = sheets[index];\n }\n }\n } else {\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n sheets.push(sheet);\n } else {\n sheet = sheets[0];\n }\n }\n return {\n getTextContent() {\n return sheet.getTextContent();\n },\n id,\n insert(cssText, groupValue) {\n sheets.forEach(s => {\n s.insert(cssText, groupValue);\n });\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport canUseDOM from '../../../modules/canUseDom';\n/**\n * The browser implements the CSS cascade, where the order of properties is a\n * factor in determining which styles to paint. React Native is different. It\n * gives giving precedence to the more specific style property. For example,\n * the value of `paddingTop` takes precedence over that of `padding`.\n *\n * This module creates mutally exclusive style declarations by expanding all of\n * React Native's supported shortform properties (e.g. `padding`) to their\n * longfrom equivalents.\n */\n\nvar emptyObject = {};\nvar supportsCSS3TextDecoration = !canUseDOM || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));\nvar MONOSPACE_FONT_STACK = 'monospace,monospace';\nvar SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';\nvar STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderInlineColor: ['borderRightColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderInlineStyle: ['borderRightStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderInlineWidth: ['borderRightWidth', 'borderLeftWidth'],\n insetBlock: ['top', 'bottom'],\n insetInline: ['left', 'right'],\n marginBlock: ['marginTop', 'marginBottom'],\n marginInline: ['marginRight', 'marginLeft'],\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingInline: ['paddingRight', 'paddingLeft'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndColor: ['borderBottomColor'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderBlockEndWidth: ['borderBottomWidth'],\n //borderInlineStartColor: ['borderLeftColor'],\n //borderInlineStartStyle: ['borderLeftStyle'],\n //borderInlineStartWidth: ['borderLeftWidth'],\n //borderInlineEndColor: ['borderRightColor'],\n //borderInlineEndStyle: ['borderRightStyle'],\n //borderInlineEndWidth: ['borderRightWidth'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius'],\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n insetBlockEnd: ['bottom'],\n insetBlockStart: ['top'],\n //insetInlineEnd: ['right'],\n //insetInlineStart: ['left'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n //marginInlineStart: ['marginLeft'],\n //marginInlineEnd: ['marginRight'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom']\n //paddingInlineStart: ['marginLeft'],\n //paddingInlineEnd: ['marginRight'],\n};\n\n/**\n * Reducer\n */\n\nvar createReactDOMStyle = (style, isInline) => {\n if (!style) {\n return emptyObject;\n }\n var resolvedStyle = {};\n var _loop = function _loop() {\n var value = style[prop];\n if (\n // Ignore everything with a null value\n value == null) {\n return \"continue\";\n }\n if (prop === 'backgroundClip') {\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n } else if (prop === 'flex') {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n } else if (prop === 'font') {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n } else if (prop === 'fontFamily') {\n if (value.indexOf('System') > -1) {\n var stack = value.split(/,\\s*/);\n stack[stack.indexOf('System')] = SYSTEM_FONT_STACK;\n resolvedStyle[prop] = stack.join(',');\n } else if (value === 'monospace') {\n resolvedStyle[prop] = MONOSPACE_FONT_STACK;\n } else {\n resolvedStyle[prop] = value;\n }\n } else if (prop === 'textDecorationLine') {\n // use 'text-decoration' for browsers that only support CSS2\n // text-decoration (e.g., IE, Edge)\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n } else if (prop === 'writingDirection') {\n resolvedStyle.direction = value;\n } else {\n var _value = normalizeValueWithProperty(style[prop], prop);\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n if (isInline && prop === 'inset') {\n if (style.insetInline == null) {\n resolvedStyle.left = _value;\n resolvedStyle.right = _value;\n }\n if (style.insetBlock == null) {\n resolvedStyle.top = _value;\n resolvedStyle.bottom = _value;\n }\n } else if (isInline && prop === 'margin') {\n if (style.marginInline == null) {\n resolvedStyle.marginLeft = _value;\n resolvedStyle.marginRight = _value;\n }\n if (style.marginBlock == null) {\n resolvedStyle.marginTop = _value;\n resolvedStyle.marginBottom = _value;\n }\n } else if (isInline && prop === 'padding') {\n if (style.paddingInline == null) {\n resolvedStyle.paddingLeft = _value;\n resolvedStyle.paddingRight = _value;\n }\n if (style.paddingBlock == null) {\n resolvedStyle.paddingTop = _value;\n resolvedStyle.paddingBottom = _value;\n }\n } else if (longFormProperties) {\n longFormProperties.forEach((longForm, i) => {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (style[longForm] == null) {\n resolvedStyle[longForm] = _value;\n }\n });\n } else {\n resolvedStyle[prop] = _value;\n }\n }\n };\n for (var prop in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return resolvedStyle;\n};\nexport default createReactDOMStyle;","/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n *\n * \n */\n\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\nvar hash = str => murmurhash2_32_gc(str, 1).toString(36);\nexport default hash;","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateStyleName(name) {\n if (name in cache) {\n return cache[name];\n }\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\nexport default hyphenateStyleName;","import backgroundClip from 'inline-style-prefixer/lib/plugins/backgroundClip';\nimport crossFade from 'inline-style-prefixer/lib/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/lib/plugins/cursor';\nimport filter from 'inline-style-prefixer/lib/plugins/filter';\nimport imageSet from 'inline-style-prefixer/lib/plugins/imageSet';\nimport logical from 'inline-style-prefixer/lib/plugins/logical';\nimport position from 'inline-style-prefixer/lib/plugins/position';\nimport sizing from 'inline-style-prefixer/lib/plugins/sizing';\nimport transition from 'inline-style-prefixer/lib/plugins/transition';\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nexport default {\n plugins: [backgroundClip, crossFade, cursor, filter, imageSet, logical, position, sizing, transition],\n prefixMap: {\n appearance: wmms,\n userSelect: wm,\n textEmphasisPosition: wms,\n textEmphasis: wms,\n textEmphasisStyle: wms,\n textEmphasisColor: wms,\n boxDecorationBreak: wms,\n clipPath: w,\n maskImage: wms,\n maskMode: wms,\n maskRepeat: wms,\n maskPosition: wms,\n maskClip: wms,\n maskOrigin: wms,\n maskSize: wms,\n maskComposite: wms,\n mask: wms,\n maskBorderSource: wms,\n maskBorderMode: wms,\n maskBorderSlice: wms,\n maskBorderWidth: wms,\n maskBorderOutset: wms,\n maskBorderRepeat: wms,\n maskBorder: wms,\n maskType: wms,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n breakAfter: w,\n breakBefore: w,\n breakInside: w,\n columnCount: w,\n columnFill: w,\n columnGap: w,\n columnRule: w,\n columnRuleColor: w,\n columnRuleStyle: w,\n columnRuleWidth: w,\n columns: w,\n columnSpan: w,\n columnWidth: w,\n backdropFilter: w,\n hyphens: w,\n flowInto: w,\n flowFrom: w,\n regionFragment: w,\n textOrientation: w,\n tabSize: m,\n fontKerning: w,\n textSizeAdjust: w\n }\n};","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport createPrefixer from 'inline-style-prefixer/lib/createPrefixer';\nimport staticData from './static';\nvar prefixAll = createPrefixer(staticData);\nexport default prefixAll;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationKeyframes\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport createReactDOMStyle from './createReactDOMStyle';\nimport hash from './hash';\nimport hyphenateStyleName from './hyphenateStyleName';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport prefixStyles from '../../../modules/prefixStyles';\nvar cache = new Map();\nvar emptyObject = {};\nvar classicGroup = 1;\nvar atomicGroup = 3;\nvar customGroup = {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n inset: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n insetBlock: 2.1,\n insetInline: 2.1,\n marginInline: 2.1,\n marginBlock: 2.1,\n paddingInline: 2.1,\n paddingBlock: 2.1,\n borderBlockStartColor: 2.2,\n borderBlockStartStyle: 2.2,\n borderBlockStartWidth: 2.2,\n borderBlockEndColor: 2.2,\n borderBlockEndStyle: 2.2,\n borderBlockEndWidth: 2.2,\n borderInlineStartColor: 2.2,\n borderInlineStartStyle: 2.2,\n borderInlineStartWidth: 2.2,\n borderInlineEndColor: 2.2,\n borderInlineEndStyle: 2.2,\n borderInlineEndWidth: 2.2,\n borderEndStartRadius: 2.2,\n borderEndEndRadius: 2.2,\n borderStartStartRadius: 2.2,\n borderStartEndRadius: 2.2,\n insetBlockEnd: 2.2,\n insetBlockStart: 2.2,\n insetInlineEnd: 2.2,\n insetInlineStart: 2.2,\n marginBlockStart: 2.2,\n marginBlockEnd: 2.2,\n marginInlineStart: 2.2,\n marginInlineEnd: 2.2,\n paddingBlockStart: 2.2,\n paddingBlockEnd: 2.2,\n paddingInlineStart: 2.2,\n paddingInlineEnd: 2.2\n};\nvar borderTopLeftRadius = 'borderTopLeftRadius';\nvar borderTopRightRadius = 'borderTopRightRadius';\nvar borderBottomLeftRadius = 'borderBottomLeftRadius';\nvar borderBottomRightRadius = 'borderBottomRightRadius';\nvar borderLeftColor = 'borderLeftColor';\nvar borderLeftStyle = 'borderLeftStyle';\nvar borderLeftWidth = 'borderLeftWidth';\nvar borderRightColor = 'borderRightColor';\nvar borderRightStyle = 'borderRightStyle';\nvar borderRightWidth = 'borderRightWidth';\nvar right = 'right';\nvar marginLeft = 'marginLeft';\nvar marginRight = 'marginRight';\nvar paddingLeft = 'paddingLeft';\nvar paddingRight = 'paddingRight';\nvar left = 'left';\n\n// Map of LTR property names to their BiDi equivalent.\nvar PROPERTIES_FLIP = {\n [borderTopLeftRadius]: borderTopRightRadius,\n [borderTopRightRadius]: borderTopLeftRadius,\n [borderBottomLeftRadius]: borderBottomRightRadius,\n [borderBottomRightRadius]: borderBottomLeftRadius,\n [borderLeftColor]: borderRightColor,\n [borderLeftStyle]: borderRightStyle,\n [borderLeftWidth]: borderRightWidth,\n [borderRightColor]: borderLeftColor,\n [borderRightStyle]: borderLeftStyle,\n [borderRightWidth]: borderLeftWidth,\n [left]: right,\n [marginLeft]: marginRight,\n [marginRight]: marginLeft,\n [paddingLeft]: paddingRight,\n [paddingRight]: paddingLeft,\n [right]: left\n};\n\n// Map of I18N property names to their LTR equivalent.\nvar PROPERTIES_I18N = {\n borderStartStartRadius: borderTopLeftRadius,\n borderStartEndRadius: borderTopRightRadius,\n borderEndStartRadius: borderBottomLeftRadius,\n borderEndEndRadius: borderBottomRightRadius,\n borderInlineStartColor: borderLeftColor,\n borderInlineStartStyle: borderLeftStyle,\n borderInlineStartWidth: borderLeftWidth,\n borderInlineEndColor: borderRightColor,\n borderInlineEndStyle: borderRightStyle,\n borderInlineEndWidth: borderRightWidth,\n insetInlineEnd: right,\n insetInlineStart: left,\n marginInlineStart: marginLeft,\n marginInlineEnd: marginRight,\n paddingInlineStart: paddingLeft,\n paddingInlineEnd: paddingRight\n};\nvar PROPERTIES_VALUE = ['clear', 'float', 'textAlign'];\nexport function atomic(style) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n function atomicCompile(srcProp, prop, value) {\n var valueString = stringifyValueWithProperty(value, prop);\n var cacheKey = prop + valueString;\n var cachedResult = cache.get(cacheKey);\n var identifier;\n if (cachedResult != null) {\n identifier = cachedResult[0];\n compiledRules.push(cachedResult[1]);\n } else {\n var v = srcProp !== prop ? cacheKey : valueString;\n identifier = createIdentifier('r', srcProp, v);\n var order = customGroup[srcProp] || atomicGroup;\n var rules = createAtomicRules(identifier, prop, value);\n var orderedRules = [rules, order];\n compiledRules.push(orderedRules);\n cache.set(cacheKey, [identifier, orderedRules]);\n }\n return identifier;\n }\n Object.keys(style).sort().forEach(srcProp => {\n var value = style[srcProp];\n if (value != null) {\n var localizeableValue;\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(srcProp) > -1) {\n var _left = atomicCompile(srcProp, srcProp, 'left');\n var _right = atomicCompile(srcProp, srcProp, 'right');\n if (value === 'start') {\n localizeableValue = [_left, _right];\n } else if (value === 'end') {\n localizeableValue = [_right, _left];\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[srcProp];\n if (propPolyfill != null) {\n var ltr = atomicCompile(srcProp, propPolyfill, value);\n var rtl = atomicCompile(srcProp, PROPERTIES_FLIP[propPolyfill], value);\n localizeableValue = [ltr, rtl];\n }\n // BiDi flip transitionProperty value\n if (srcProp === 'transitionProperty') {\n var values = Array.isArray(value) ? value : [value];\n var polyfillIndices = [];\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (typeof val === 'string' && PROPERTIES_I18N[val] != null) {\n polyfillIndices.push(i);\n }\n }\n if (polyfillIndices.length > 0) {\n var ltrPolyfillValues = [...values];\n var rtlPolyfillValues = [...values];\n polyfillIndices.forEach(i => {\n var ltrVal = ltrPolyfillValues[i];\n if (typeof ltrVal === 'string') {\n var ltrPolyfill = PROPERTIES_I18N[ltrVal];\n var rtlPolyfill = PROPERTIES_FLIP[ltrPolyfill];\n ltrPolyfillValues[i] = ltrPolyfill;\n rtlPolyfillValues[i] = rtlPolyfill;\n var _ltr = atomicCompile(srcProp, srcProp, ltrPolyfillValues);\n var _rtl = atomicCompile(srcProp, srcProp, rtlPolyfillValues);\n localizeableValue = [_ltr, _rtl];\n }\n });\n }\n }\n if (localizeableValue == null) {\n localizeableValue = atomicCompile(srcProp, srcProp, value);\n } else {\n compiledStyle['$$css$localize'] = true;\n }\n compiledStyle[srcProp] = localizeableValue;\n }\n });\n return [compiledStyle, compiledRules];\n}\n\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n var animationKeyframes = style.animationKeyframes,\n rest = _objectWithoutPropertiesLoose(style, _excluded);\n var identifier = createIdentifier('css', name, JSON.stringify(style));\n var selector = \".\" + identifier;\n var animationName;\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu[0],\n keyframesRules = _processKeyframesValu[1];\n animationName = animationNames.join(',');\n compiledRules.push(...keyframesRules);\n }\n var block = createDeclarationBlock(_objectSpread(_objectSpread({}, rest), {}, {\n animationName\n }));\n compiledRules.push(\"\" + selector + block);\n compiledStyle[identifier] = identifier;\n return [compiledStyle, [[compiledRules, classicGroup]]];\n}\n\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function inline(originalStyle, isRTL) {\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n var _loop = function _loop() {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n return \"continue\";\n }\n\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(originalProp) > -1) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[originalProp];\n if (propPolyfill != null) {\n prop = isRTL ? PROPERTIES_FLIP[propPolyfill] : propPolyfill;\n }\n // BiDi flip transitionProperty value\n if (originalProp === 'transitionProperty') {\n // $FlowFixMe\n var originalValues = Array.isArray(originalValue) ? originalValue : [originalValue];\n originalValues.forEach((val, i) => {\n if (typeof val === 'string') {\n var valuePolyfill = PROPERTIES_I18N[val];\n if (valuePolyfill != null) {\n originalValues[i] = isRTL ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill;\n value = originalValues.join(' ');\n }\n }\n });\n }\n\n // Create finalized style\n if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n if (prop === originalProp) {\n frozenProps[prop] = true;\n }\n\n // if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n // frozenProps[prop] = true;\n //}\n };\n for (var originalProp in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return createReactDOMStyle(nextStyle, true);\n}\n\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\nexport function stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = normalizeValueWithProperty(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n\n/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier;\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2[0],\n keyframesRules = _processKeyframesValu2[1];\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push(\"\" + selector + block, ...keyframesRules);\n break;\n }\n\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\n rules.push(selector + \"::-webkit-input-placeholder\" + _block, selector + \"::-moz-placeholder\" + _block, selector + \":-ms-input-placeholder\" + _block, selector + \"::placeholder\" + _block);\n break;\n }\n\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n case 'pointerEvents':\n {\n var finalValue = value;\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n if (value === 'box-only') {\n var _block2 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n rules.push(selector + \">*\" + _block2);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n if (value === 'box-none') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n rules.push(selector + \">*\" + _block3);\n }\n }\n var _block4 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n rules.push(\"\" + selector + _block4);\n break;\n }\n\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n rules.push(\"\" + selector + _block5);\n break;\n }\n default:\n {\n var _block6 = createDeclarationBlock({\n [property]: value\n });\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n return rules;\n}\n\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\nfunction createDeclarationBlock(style) {\n var domStyle = prefixStyles(createReactDOMStyle(style));\n var declarationsString = Object.keys(domStyle).map(property => {\n var value = domStyle[property];\n var prop = hyphenateStyleName(property);\n // The prefixer may return an array of values:\n // { display: [ '-webkit-flex', 'flex' ] }\n // to represent \"fallback\" declarations\n // { display: -webkit-flex; display: flex; }\n if (Array.isArray(value)) {\n return value.map(v => prop + \":\" + v).join(';');\n } else {\n return prop + \":\" + value;\n }\n })\n // Once properties are hyphenated, this will put the vendor\n // prefixed and short-form properties first in the list.\n .sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n\n/**\n * An identifier is associated with a unique set of styles.\n */\nfunction createIdentifier(prefix, name, key) {\n var hashedString = hash(name + key);\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n\n/**\n * Create individual CSS keyframes rules.\n */\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', JSON.stringify(keyframes));\n var steps = '{' + Object.keys(keyframes).map(stepName => {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(prefix => {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return [identifier, rules];\n}\n\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(keyframes => {\n if (typeof keyframes === 'string') {\n // Support external animation libraries (identifiers only)\n animationNames.push(keyframes);\n } else {\n // Create rules for each of the keyframes\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes[0],\n keyframesRules = _createKeyframes[1];\n animationNames.push(identifier);\n rules.push(...keyframesRules);\n }\n });\n return [animationNames, rules];\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"writingDirection\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport { atomic, classic, inline } from './compiler';\nimport { createSheet } from './dom';\nimport { localizeStyle } from 'styleq/transform-localize-style';\nimport { preprocess } from './preprocess';\nimport { styleq } from 'styleq';\nimport { validate } from './validate';\nimport canUseDOM from '../../modules/canUseDom';\nvar staticStyleMap = new WeakMap();\nvar sheet = createSheet();\nvar defaultPreprocessOptions = {\n shadow: true,\n textShadow: true\n};\nfunction customStyleq(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n writingDirection = _options.writingDirection,\n preprocessOptions = _objectWithoutPropertiesLoose(_options, _excluded);\n var isRTL = writingDirection === 'rtl';\n return styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n if (compiledStyle != null) {\n return localizeStyle(compiledStyle, isRTL);\n }\n return preprocess(style, _objectSpread(_objectSpread({}, defaultPreprocessOptions), preprocessOptions));\n }\n })(styles);\n}\nfunction insertRules(compiledOrderedRules) {\n compiledOrderedRules.forEach(_ref => {\n var rules = _ref[0],\n order = _ref[1];\n if (sheet != null) {\n rules.forEach(rule => {\n sheet.insert(rule, order);\n });\n }\n });\n}\nfunction compileAndInsertAtomic(style) {\n var _atomic = atomic(preprocess(style, defaultPreprocessOptions)),\n compiledStyle = _atomic[0],\n compiledOrderedRules = _atomic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\nfunction compileAndInsertReset(style, key) {\n var _classic = classic(style, key),\n compiledStyle = _classic[0],\n compiledOrderedRules = _classic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n\n/* ----- API ----- */\n\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = create({\n x: _objectSpread({}, absoluteFillObject)\n}).x;\n\n/**\n * create\n */\nfunction create(styles) {\n Object.keys(styles).forEach(key => {\n var styleObj = styles[key];\n // Only compile at runtime if the style is not already compiled\n if (styleObj != null && styleObj.$$css !== true) {\n var compiledStyles;\n if (key.indexOf('$raw') > -1) {\n compiledStyles = compileAndInsertReset(styleObj, key.split('$raw')[0]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n validate(styleObj);\n styles[key] = Object.freeze(styleObj);\n }\n compiledStyles = compileAndInsertAtomic(styleObj);\n }\n staticStyleMap.set(styleObj, compiledStyles);\n }\n });\n return styles;\n}\n\n/**\n * compose\n */\nfunction compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n if (len > 2) {\n var readableStyles = [...arguments].map(a => flatten(a));\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n console.warn('StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].');\n }\n return [style1, style2];\n}\n\n/**\n * flatten\n */\nfunction flatten() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n var flatArray = styles.flat(Infinity);\n var result = {};\n for (var i = 0; i < flatArray.length; i++) {\n var style = flatArray[i];\n if (style != null && typeof style === 'object') {\n // $FlowFixMe\n Object.assign(result, style);\n }\n }\n return result;\n}\n\n/**\n * getSheet\n */\nfunction getSheet() {\n return {\n id: sheet.id,\n textContent: sheet.getTextContent()\n };\n}\n\n/**\n * resolve\n */\n\nfunction StyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var isRTL = options.writingDirection === 'rtl';\n var styleProps = customStyleq(styles, options);\n if (Array.isArray(styleProps) && styleProps[1] != null) {\n styleProps[1] = inline(styleProps[1], isRTL);\n }\n return styleProps;\n}\nStyleSheet.absoluteFill = absoluteFill;\nStyleSheet.absoluteFillObject = absoluteFillObject;\nStyleSheet.create = create;\nStyleSheet.compose = compose;\nStyleSheet.flatten = flatten;\nStyleSheet.getSheet = getSheet;\n// `hairlineWidth` is not implemented using screen density as browsers may\n// round sub-pixel values down to `0`, causing the line not to be rendered.\nStyleSheet.hairlineWidth = 1;\nif (canUseDOM && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\nvar stylesheet = StyleSheet;\nexport default stylesheet;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport normalizeColor from './compiler/normalizeColor';\nimport normalizeValueWithProperty from './compiler/normalizeValueWithProperty';\nimport { warnOnce } from '../../modules/warnOnce';\nvar emptyObject = {};\n\n/**\n * Shadows\n */\n\nvar defaultOffset = {\n height: 0,\n width: 0\n};\nexport var createBoxShadowValue = style => {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(shadowRadius || 0);\n var color = normalizeColor(shadowColor || 'black', shadowOpacity);\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\nexport var createTextShadowValue = style => {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n var _ref2 = textShadowOffset || defaultOffset,\n height = _ref2.height,\n width = _ref2.width;\n var radius = textShadowRadius || 0;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(radius);\n var color = normalizeValueWithProperty(textShadowColor, 'textShadowColor');\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\nvar mapTransform = transform => {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n if (type === 'matrix' || type === 'matrix3d') {\n return type + \"(\" + value.join(',') + \")\";\n } else {\n var normalizedValue = normalizeValueWithProperty(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\nexport var createTransformValue = value => {\n return value.map(mapTransform).join(' ');\n};\nvar PROPERTIES_STANDARD = {\n borderBottomEndRadius: 'borderEndEndRadius',\n borderBottomStartRadius: 'borderEndStartRadius',\n borderTopEndRadius: 'borderStartEndRadius',\n borderTopStartRadius: 'borderStartStartRadius',\n borderEndColor: 'borderInlineEndColor',\n borderEndStyle: 'borderInlineEndStyle',\n borderEndWidth: 'borderInlineEndWidth',\n borderStartColor: 'borderInlineStartColor',\n borderStartStyle: 'borderInlineStartStyle',\n borderStartWidth: 'borderInlineStartWidth',\n end: 'insetInlineEnd',\n marginEnd: 'marginInlineEnd',\n marginHorizontal: 'marginInline',\n marginStart: 'marginInlineStart',\n marginVertical: 'marginBlock',\n paddingEnd: 'paddingInlineEnd',\n paddingHorizontal: 'paddingInline',\n paddingStart: 'paddingInlineStart',\n paddingVertical: 'paddingBlock',\n start: 'insetInlineStart'\n};\nvar ignoredProps = {\n elevation: true,\n overlayColor: true,\n resizeMode: true,\n tintColor: true\n};\n\n/**\n * Preprocess styles\n */\nexport var preprocess = function preprocess(originalStyle, options) {\n if (options === void 0) {\n options = {};\n }\n var style = originalStyle || emptyObject;\n var nextStyle = {};\n\n // Convert shadow styles\n if (options.shadow === true, style.shadowColor != null || style.shadowOffset != null || style.shadowOpacity != null || style.shadowRadius != null) {\n warnOnce('shadowStyles', \"\\\"shadow*\\\" style props are deprecated. Use \\\"boxShadow\\\".\");\n var boxShadowValue = createBoxShadowValue(style);\n if (boxShadowValue != null && nextStyle.boxShadow == null) {\n var boxShadow = style.boxShadow;\n var value = boxShadow ? boxShadow + \", \" + boxShadowValue : boxShadowValue;\n nextStyle.boxShadow = value;\n }\n }\n\n // Convert text shadow styles\n if (options.textShadow === true, style.textShadowColor != null || style.textShadowOffset != null || style.textShadowRadius != null) {\n warnOnce('textShadowStyles', \"\\\"textShadow*\\\" style props are deprecated. Use \\\"textShadow\\\".\");\n var textShadowValue = createTextShadowValue(style);\n if (textShadowValue != null && nextStyle.textShadow == null) {\n var textShadow = style.textShadow;\n var _value = textShadow ? textShadow + \", \" + textShadowValue : textShadowValue;\n nextStyle.textShadow = _value;\n }\n }\n for (var originalProp in style) {\n if (\n // Ignore some React Native styles\n ignoredProps[originalProp] != null || originalProp === 'shadowColor' || originalProp === 'shadowOffset' || originalProp === 'shadowOpacity' || originalProp === 'shadowRadius' || originalProp === 'textShadowColor' || originalProp === 'textShadowOffset' || originalProp === 'textShadowRadius') {\n continue;\n }\n var originalValue = style[originalProp];\n var prop = PROPERTIES_STANDARD[originalProp] || originalProp;\n var _value2 = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || prop !== originalProp && style[prop] != null) {\n continue;\n }\n if (prop === 'aspectRatio' && typeof _value2 === 'number') {\n nextStyle[prop] = _value2.toString();\n } else if (prop === 'fontVariant') {\n if (Array.isArray(_value2) && _value2.length > 0) {\n warnOnce('fontVariant', '\"fontVariant\" style array value is deprecated. Use space-separated values.');\n _value2 = _value2.join(' ');\n }\n nextStyle[prop] = _value2;\n } else if (prop === 'textAlignVertical') {\n warnOnce('textAlignVertical', '\"textAlignVertical\" style is deprecated. Use \"verticalAlign\".');\n if (style.verticalAlign == null) {\n nextStyle.verticalAlign = _value2 === 'center' ? 'middle' : _value2;\n }\n } else if (prop === 'transform') {\n if (Array.isArray(_value2)) {\n _value2 = createTransformValue(_value2);\n }\n nextStyle.transform = _value2;\n } else {\n nextStyle[prop] = _value2;\n }\n }\n\n // $FlowIgnore\n return nextStyle;\n};\nexport default preprocess;","/**\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\nimport { createContext } from 'react';\nvar TextAncestorContext = /*#__PURE__*/createContext(false);\nexport default TextAncestorContext;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"numberOfLines\", \"onClick\", \"onLayout\", \"onPress\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\", \"selectable\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from './TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\nimport { warnOnce } from '../../modules/warnOnce';\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n pointerEvents: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\nvar Text = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n numberOfLines = props.numberOfLines,\n onClick = props.onClick,\n onLayout = props.onLayout,\n onPress = props.onPress,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n selectable = props.selectable,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n if (selectable != null) {\n warnOnce('selectable', 'selectable prop is deprecated. Use styles.userSelect.');\n }\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(e => {\n if (onClick != null) {\n onClick(e);\n } else if (onPress != null) {\n e.stopPropagation();\n onPress(e);\n }\n }, [onClick, onPress]);\n var component = hasTextAncestor ? 'span' : 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n // 'auto' by default allows browsers to infer writing direction (root elements only)\n if (!hasTextAncestor) {\n supportedProps.dir = componentDirection != null ? componentDirection : 'auto';\n }\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n supportedProps.style = [numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, hasTextAncestor === true ? styles.textHasAncestor$raw : styles.text$raw, numberOfLines === 1 && styles.textOneLine, numberOfLines != null && numberOfLines > 1 && styles.textMultiLine, props.style, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = createElement(component, supportedProps, {\n writingDirection\n });\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(TextAncestorContext.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar textStyle = {\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n textAlign: 'start',\n textDecoration: 'none',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n};\nvar styles = StyleSheet.create({\n text$raw: textStyle,\n textHasAncestor$raw: _objectSpread(_objectSpread({}, textStyle), {}, {\n color: 'inherit',\n font: 'inherit',\n textAlign: 'inherit',\n whiteSpace: 'inherit'\n }),\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n },\n // See #13\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n },\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nexport default Text;","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/* eslint-disable */\n\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 * From React 16.0.0\n * \n */\n\nimport isUnitlessNumber from '../unitlessNumbers';\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return ('' + value).trim();\n}\nexport default dangerousStyleValue;","/* eslint-disable */\n\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 * From React 16.3.0\n * \n */\n\nimport dangerousStyleValue from './dangerousStyleValue';\n\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\nexport default setValueForStyles;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport setValueForStyles from '../../modules/setValueForStyles';\nvar getRect = node => {\n var height = node.offsetHeight;\n var width = node.offsetWidth;\n var left = node.offsetLeft;\n var top = node.offsetTop;\n node = node.offsetParent;\n while (node && node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n left += node.offsetLeft + node.clientLeft - node.scrollLeft;\n top += node.offsetTop + node.clientTop - node.scrollTop;\n node = node.offsetParent;\n }\n top -= window.scrollY;\n left -= window.scrollX;\n return {\n width,\n height,\n top,\n left\n };\n};\nvar measureLayout = (node, relativeToNativeNode, callback) => {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n if (node && relativeNode) {\n setTimeout(() => {\n if (node.isConnected && relativeNode.isConnected) {\n var relativeRect = getRect(relativeNode);\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }\n }, 0);\n }\n};\nvar elementsToIgnore = {\n A: true,\n BODY: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n focus(node) {\n try {\n var name = node.nodeName;\n // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus. We don't want to set the tabindex value on\n // elements that should not prevent keyboard focus.\n if (node.getAttribute('tabIndex') == null && node.isContentEditable !== true && elementsToIgnore[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n node.focus();\n } catch (err) {}\n },\n measure(node, callback) {\n measureLayout(node, null, callback);\n },\n measureInWindow(node, callback) {\n if (node) {\n setTimeout(() => {\n var _getBoundingClientRec = getBoundingClientRect(node),\n height = _getBoundingClientRec.height,\n left = _getBoundingClientRec.left,\n top = _getBoundingClientRec.top,\n width = _getBoundingClientRec.width;\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n var value = props[prop];\n switch (prop) {\n case 'style':\n {\n setValueForStyles(node, value);\n break;\n }\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n case 'text':\n case 'value':\n // native platforms use `text` prop to replace text input value\n node.value = value;\n break;\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n // mocks\n setLayoutAnimationEnabledExperimental() {}\n};\nexport default UIManager;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"onLayout\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n onScroll: true,\n onWheel: true,\n pointerEvents: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\nvar View = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(item => {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a .\");\n }\n });\n }\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var component = 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n supportedProps.style = [styles.view$raw, hasTextAncestor && styles.inline, props.style];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement(component, supportedProps, {\n writingDirection\n });\n});\nView.displayName = 'View';\nvar styles = StyleSheet.create({\n view$raw: {\n alignItems: 'stretch',\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n listStyle: 'none',\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n textDecoration: 'none',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n }\n});\nexport default View;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-activedescendant\", \"accessibilityActiveDescendant\", \"aria-atomic\", \"accessibilityAtomic\", \"aria-autocomplete\", \"accessibilityAutoComplete\", \"aria-busy\", \"accessibilityBusy\", \"aria-checked\", \"accessibilityChecked\", \"aria-colcount\", \"accessibilityColumnCount\", \"aria-colindex\", \"accessibilityColumnIndex\", \"aria-colspan\", \"accessibilityColumnSpan\", \"aria-controls\", \"accessibilityControls\", \"aria-current\", \"accessibilityCurrent\", \"aria-describedby\", \"accessibilityDescribedBy\", \"aria-details\", \"accessibilityDetails\", \"aria-disabled\", \"accessibilityDisabled\", \"aria-errormessage\", \"accessibilityErrorMessage\", \"aria-expanded\", \"accessibilityExpanded\", \"aria-flowto\", \"accessibilityFlowTo\", \"aria-haspopup\", \"accessibilityHasPopup\", \"aria-hidden\", \"accessibilityHidden\", \"aria-invalid\", \"accessibilityInvalid\", \"aria-keyshortcuts\", \"accessibilityKeyShortcuts\", \"aria-label\", \"accessibilityLabel\", \"aria-labelledby\", \"accessibilityLabelledBy\", \"aria-level\", \"accessibilityLevel\", \"aria-live\", \"accessibilityLiveRegion\", \"aria-modal\", \"accessibilityModal\", \"aria-multiline\", \"accessibilityMultiline\", \"aria-multiselectable\", \"accessibilityMultiSelectable\", \"aria-orientation\", \"accessibilityOrientation\", \"aria-owns\", \"accessibilityOwns\", \"aria-placeholder\", \"accessibilityPlaceholder\", \"aria-posinset\", \"accessibilityPosInSet\", \"aria-pressed\", \"accessibilityPressed\", \"aria-readonly\", \"accessibilityReadOnly\", \"aria-required\", \"accessibilityRequired\", \"role\", \"accessibilityRole\", \"aria-roledescription\", \"accessibilityRoleDescription\", \"aria-rowcount\", \"accessibilityRowCount\", \"aria-rowindex\", \"accessibilityRowIndex\", \"aria-rowspan\", \"accessibilityRowSpan\", \"aria-selected\", \"accessibilitySelected\", \"aria-setsize\", \"accessibilitySetSize\", \"aria-sort\", \"accessibilitySort\", \"aria-valuemax\", \"accessibilityValueMax\", \"aria-valuemin\", \"accessibilityValueMin\", \"aria-valuenow\", \"accessibilityValueNow\", \"aria-valuetext\", \"accessibilityValueText\", \"dataSet\", \"focusable\", \"id\", \"nativeID\", \"pointerEvents\", \"style\", \"tabIndex\", \"testID\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport AccessibilityUtil from '../AccessibilityUtil';\nimport StyleSheet from '../../exports/StyleSheet';\nimport { warnOnce } from '../warnOnce';\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n}\nvar pointerEventsStyles = StyleSheet.create({\n auto: {\n pointerEvents: 'auto'\n },\n 'box-none': {\n pointerEvents: 'box-none'\n },\n 'box-only': {\n pointerEvents: 'box-only'\n },\n none: {\n pointerEvents: 'none'\n }\n});\nvar createDOMProps = (elementType, props, options) => {\n if (!props) {\n props = emptyObject;\n }\n var _props = props,\n ariaActiveDescendant = _props['aria-activedescendant'],\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n ariaAtomic = _props['aria-atomic'],\n accessibilityAtomic = _props.accessibilityAtomic,\n ariaAutoComplete = _props['aria-autocomplete'],\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n ariaBusy = _props['aria-busy'],\n accessibilityBusy = _props.accessibilityBusy,\n ariaChecked = _props['aria-checked'],\n accessibilityChecked = _props.accessibilityChecked,\n ariaColumnCount = _props['aria-colcount'],\n accessibilityColumnCount = _props.accessibilityColumnCount,\n ariaColumnIndex = _props['aria-colindex'],\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n ariaColumnSpan = _props['aria-colspan'],\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n ariaControls = _props['aria-controls'],\n accessibilityControls = _props.accessibilityControls,\n ariaCurrent = _props['aria-current'],\n accessibilityCurrent = _props.accessibilityCurrent,\n ariaDescribedBy = _props['aria-describedby'],\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n ariaDetails = _props['aria-details'],\n accessibilityDetails = _props.accessibilityDetails,\n ariaDisabled = _props['aria-disabled'],\n accessibilityDisabled = _props.accessibilityDisabled,\n ariaErrorMessage = _props['aria-errormessage'],\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n ariaExpanded = _props['aria-expanded'],\n accessibilityExpanded = _props.accessibilityExpanded,\n ariaFlowTo = _props['aria-flowto'],\n accessibilityFlowTo = _props.accessibilityFlowTo,\n ariaHasPopup = _props['aria-haspopup'],\n accessibilityHasPopup = _props.accessibilityHasPopup,\n ariaHidden = _props['aria-hidden'],\n accessibilityHidden = _props.accessibilityHidden,\n ariaInvalid = _props['aria-invalid'],\n accessibilityInvalid = _props.accessibilityInvalid,\n ariaKeyShortcuts = _props['aria-keyshortcuts'],\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n ariaLabel = _props['aria-label'],\n accessibilityLabel = _props.accessibilityLabel,\n ariaLabelledBy = _props['aria-labelledby'],\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n ariaLevel = _props['aria-level'],\n accessibilityLevel = _props.accessibilityLevel,\n ariaLive = _props['aria-live'],\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n ariaModal = _props['aria-modal'],\n accessibilityModal = _props.accessibilityModal,\n ariaMultiline = _props['aria-multiline'],\n accessibilityMultiline = _props.accessibilityMultiline,\n ariaMultiSelectable = _props['aria-multiselectable'],\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n ariaOrientation = _props['aria-orientation'],\n accessibilityOrientation = _props.accessibilityOrientation,\n ariaOwns = _props['aria-owns'],\n accessibilityOwns = _props.accessibilityOwns,\n ariaPlaceholder = _props['aria-placeholder'],\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n ariaPosInSet = _props['aria-posinset'],\n accessibilityPosInSet = _props.accessibilityPosInSet,\n ariaPressed = _props['aria-pressed'],\n accessibilityPressed = _props.accessibilityPressed,\n ariaReadOnly = _props['aria-readonly'],\n accessibilityReadOnly = _props.accessibilityReadOnly,\n ariaRequired = _props['aria-required'],\n accessibilityRequired = _props.accessibilityRequired,\n ariaRole = _props.role,\n accessibilityRole = _props.accessibilityRole,\n ariaRoleDescription = _props['aria-roledescription'],\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n ariaRowCount = _props['aria-rowcount'],\n accessibilityRowCount = _props.accessibilityRowCount,\n ariaRowIndex = _props['aria-rowindex'],\n accessibilityRowIndex = _props.accessibilityRowIndex,\n ariaRowSpan = _props['aria-rowspan'],\n accessibilityRowSpan = _props.accessibilityRowSpan,\n ariaSelected = _props['aria-selected'],\n accessibilitySelected = _props.accessibilitySelected,\n ariaSetSize = _props['aria-setsize'],\n accessibilitySetSize = _props.accessibilitySetSize,\n ariaSort = _props['aria-sort'],\n accessibilitySort = _props.accessibilitySort,\n ariaValueMax = _props['aria-valuemax'],\n accessibilityValueMax = _props.accessibilityValueMax,\n ariaValueMin = _props['aria-valuemin'],\n accessibilityValueMin = _props.accessibilityValueMin,\n ariaValueNow = _props['aria-valuenow'],\n accessibilityValueNow = _props.accessibilityValueNow,\n ariaValueText = _props['aria-valuetext'],\n accessibilityValueText = _props.accessibilityValueText,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n id = _props.id,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n style = _props.style,\n tabIndex = _props.tabIndex,\n testID = _props.testID,\n domProps = _objectWithoutPropertiesLoose(_props, _excluded);\n if (accessibilityDisabled != null) {\n warnOnce('accessibilityDisabled', \"accessibilityDisabled is deprecated.\");\n }\n var disabled = ariaDisabled || accessibilityDisabled;\n var role = AccessibilityUtil.propsToAriaRole(props);\n\n // ACCESSIBILITY\n if (accessibilityActiveDescendant != null) {\n warnOnce('accessibilityActiveDescendant', \"accessibilityActiveDescendant is deprecated. Use aria-activedescendant.\");\n }\n var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant;\n if (_ariaActiveDescendant != null) {\n domProps['aria-activedescendant'] = _ariaActiveDescendant;\n }\n if (accessibilityAtomic != null) {\n warnOnce('accessibilityAtomic', \"accessibilityAtomic is deprecated. Use aria-atomic.\");\n }\n var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic;\n if (_ariaAtomic != null) {\n domProps['aria-atomic'] = _ariaAtomic;\n }\n if (accessibilityAutoComplete != null) {\n warnOnce('accessibilityAutoComplete', \"accessibilityAutoComplete is deprecated. Use aria-autocomplete.\");\n }\n var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete;\n if (_ariaAutoComplete != null) {\n domProps['aria-autocomplete'] = _ariaAutoComplete;\n }\n if (accessibilityBusy != null) {\n warnOnce('accessibilityBusy', \"accessibilityBusy is deprecated. Use aria-busy.\");\n }\n var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy;\n if (_ariaBusy != null) {\n domProps['aria-busy'] = _ariaBusy;\n }\n if (accessibilityChecked != null) {\n warnOnce('accessibilityChecked', \"accessibilityChecked is deprecated. Use aria-checked.\");\n }\n var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked;\n if (_ariaChecked != null) {\n domProps['aria-checked'] = _ariaChecked;\n }\n if (accessibilityColumnCount != null) {\n warnOnce('accessibilityColumnCount', \"accessibilityColumnCount is deprecated. Use aria-colcount.\");\n }\n var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount;\n if (_ariaColumnCount != null) {\n domProps['aria-colcount'] = _ariaColumnCount;\n }\n if (accessibilityColumnIndex != null) {\n warnOnce('accessibilityColumnIndex', \"accessibilityColumnIndex is deprecated. Use aria-colindex.\");\n }\n var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex;\n if (_ariaColumnIndex != null) {\n domProps['aria-colindex'] = _ariaColumnIndex;\n }\n if (accessibilityColumnSpan != null) {\n warnOnce('accessibilityColumnSpan', \"accessibilityColumnSpan is deprecated. Use aria-colspan.\");\n }\n var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan;\n if (_ariaColumnSpan != null) {\n domProps['aria-colspan'] = _ariaColumnSpan;\n }\n if (accessibilityControls != null) {\n warnOnce('accessibilityControls', \"accessibilityControls is deprecated. Use aria-controls.\");\n }\n var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls;\n if (_ariaControls != null) {\n domProps['aria-controls'] = processIDRefList(_ariaControls);\n }\n if (accessibilityCurrent != null) {\n warnOnce('accessibilityCurrent', \"accessibilityCurrent is deprecated. Use aria-current.\");\n }\n var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent;\n if (_ariaCurrent != null) {\n domProps['aria-current'] = _ariaCurrent;\n }\n if (accessibilityDescribedBy != null) {\n warnOnce('accessibilityDescribedBy', \"accessibilityDescribedBy is deprecated. Use aria-describedby.\");\n }\n var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy;\n if (_ariaDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(_ariaDescribedBy);\n }\n if (accessibilityDetails != null) {\n warnOnce('accessibilityDetails', \"accessibilityDetails is deprecated. Use aria-details.\");\n }\n var _ariaDetails = ariaDetails != null ? ariaDetails : accessibilityDetails;\n if (_ariaDetails != null) {\n domProps['aria-details'] = _ariaDetails;\n }\n if (disabled === true) {\n domProps['aria-disabled'] = true;\n // Enhance with native semantics\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n if (accessibilityErrorMessage != null) {\n warnOnce('accessibilityErrorMessage', \"accessibilityErrorMessage is deprecated. Use aria-errormessage.\");\n }\n var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage;\n if (_ariaErrorMessage != null) {\n domProps['aria-errormessage'] = _ariaErrorMessage;\n }\n if (accessibilityExpanded != null) {\n warnOnce('accessibilityExpanded', \"accessibilityExpanded is deprecated. Use aria-expanded.\");\n }\n var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded;\n if (_ariaExpanded != null) {\n domProps['aria-expanded'] = _ariaExpanded;\n }\n if (accessibilityFlowTo != null) {\n warnOnce('accessibilityFlowTo', \"accessibilityFlowTo is deprecated. Use aria-flowto.\");\n }\n var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo;\n if (_ariaFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(_ariaFlowTo);\n }\n if (accessibilityHasPopup != null) {\n warnOnce('accessibilityHasPopup', \"accessibilityHasPopup is deprecated. Use aria-haspopup.\");\n }\n var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup;\n if (_ariaHasPopup != null) {\n domProps['aria-haspopup'] = _ariaHasPopup;\n }\n if (accessibilityHidden != null) {\n warnOnce('accessibilityHidden', \"accessibilityHidden is deprecated. Use aria-hidden.\");\n }\n var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden;\n if (_ariaHidden === true) {\n domProps['aria-hidden'] = _ariaHidden;\n }\n if (accessibilityInvalid != null) {\n warnOnce('accessibilityInvalid', \"accessibilityInvalid is deprecated. Use aria-invalid.\");\n }\n var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid;\n if (_ariaInvalid != null) {\n domProps['aria-invalid'] = _ariaInvalid;\n }\n if (accessibilityKeyShortcuts != null) {\n warnOnce('accessibilityKeyShortcuts', \"accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts.\");\n }\n var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts;\n if (_ariaKeyShortcuts != null) {\n domProps['aria-keyshortcuts'] = processIDRefList(_ariaKeyShortcuts);\n }\n if (accessibilityLabel != null) {\n warnOnce('accessibilityLabel', \"accessibilityLabel is deprecated. Use aria-label.\");\n }\n var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel;\n if (_ariaLabel != null) {\n domProps['aria-label'] = _ariaLabel;\n }\n if (accessibilityLabelledBy != null) {\n warnOnce('accessibilityLabelledBy', \"accessibilityLabelledBy is deprecated. Use aria-labelledby.\");\n }\n var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy;\n if (_ariaLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(_ariaLabelledBy);\n }\n if (accessibilityLevel != null) {\n warnOnce('accessibilityLevel', \"accessibilityLevel is deprecated. Use aria-level.\");\n }\n var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel;\n if (_ariaLevel != null) {\n domProps['aria-level'] = _ariaLevel;\n }\n if (accessibilityLiveRegion != null) {\n warnOnce('accessibilityLiveRegion', \"accessibilityLiveRegion is deprecated. Use aria-live.\");\n }\n var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion;\n if (_ariaLive != null) {\n domProps['aria-live'] = _ariaLive === 'none' ? 'off' : _ariaLive;\n }\n if (accessibilityModal != null) {\n warnOnce('accessibilityModal', \"accessibilityModal is deprecated. Use aria-modal.\");\n }\n var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal;\n if (_ariaModal != null) {\n domProps['aria-modal'] = _ariaModal;\n }\n if (accessibilityMultiline != null) {\n warnOnce('accessibilityMultiline', \"accessibilityMultiline is deprecated. Use aria-multiline.\");\n }\n var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline;\n if (_ariaMultiline != null) {\n domProps['aria-multiline'] = _ariaMultiline;\n }\n if (accessibilityMultiSelectable != null) {\n warnOnce('accessibilityMultiSelectable', \"accessibilityMultiSelectable is deprecated. Use aria-multiselectable.\");\n }\n var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable;\n if (_ariaMultiSelectable != null) {\n domProps['aria-multiselectable'] = _ariaMultiSelectable;\n }\n if (accessibilityOrientation != null) {\n warnOnce('accessibilityOrientation', \"accessibilityOrientation is deprecated. Use aria-orientation.\");\n }\n var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation;\n if (_ariaOrientation != null) {\n domProps['aria-orientation'] = _ariaOrientation;\n }\n if (accessibilityOwns != null) {\n warnOnce('accessibilityOwns', \"accessibilityOwns is deprecated. Use aria-owns.\");\n }\n var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns;\n if (_ariaOwns != null) {\n domProps['aria-owns'] = processIDRefList(_ariaOwns);\n }\n if (accessibilityPlaceholder != null) {\n warnOnce('accessibilityPlaceholder', \"accessibilityPlaceholder is deprecated. Use aria-placeholder.\");\n }\n var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder;\n if (_ariaPlaceholder != null) {\n domProps['aria-placeholder'] = _ariaPlaceholder;\n }\n if (accessibilityPosInSet != null) {\n warnOnce('accessibilityPosInSet', \"accessibilityPosInSet is deprecated. Use aria-posinset.\");\n }\n var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet;\n if (_ariaPosInSet != null) {\n domProps['aria-posinset'] = _ariaPosInSet;\n }\n if (accessibilityPressed != null) {\n warnOnce('accessibilityPressed', \"accessibilityPressed is deprecated. Use aria-pressed.\");\n }\n var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed;\n if (_ariaPressed != null) {\n domProps['aria-pressed'] = _ariaPressed;\n }\n if (accessibilityReadOnly != null) {\n warnOnce('accessibilityReadOnly', \"accessibilityReadOnly is deprecated. Use aria-readonly.\");\n }\n var _ariaReadOnly = ariaReadOnly != null ? ariaReadOnly : accessibilityReadOnly;\n if (_ariaReadOnly != null) {\n domProps['aria-readonly'] = _ariaReadOnly;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n if (accessibilityRequired != null) {\n warnOnce('accessibilityRequired', \"accessibilityRequired is deprecated. Use aria-required.\");\n }\n var _ariaRequired = ariaRequired != null ? ariaRequired : accessibilityRequired;\n if (_ariaRequired != null) {\n domProps['aria-required'] = _ariaRequired;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = accessibilityRequired;\n }\n }\n if (accessibilityRole != null) {\n warnOnce('accessibilityRole', \"accessibilityRole is deprecated. Use role.\");\n }\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n if (accessibilityRoleDescription != null) {\n warnOnce('accessibilityRoleDescription', \"accessibilityRoleDescription is deprecated. Use aria-roledescription.\");\n }\n var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription;\n if (_ariaRoleDescription != null) {\n domProps['aria-roledescription'] = _ariaRoleDescription;\n }\n if (accessibilityRowCount != null) {\n warnOnce('accessibilityRowCount', \"accessibilityRowCount is deprecated. Use aria-rowcount.\");\n }\n var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount;\n if (_ariaRowCount != null) {\n domProps['aria-rowcount'] = _ariaRowCount;\n }\n if (accessibilityRowIndex != null) {\n warnOnce('accessibilityRowIndex', \"accessibilityRowIndex is deprecated. Use aria-rowindex.\");\n }\n var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex;\n if (_ariaRowIndex != null) {\n domProps['aria-rowindex'] = _ariaRowIndex;\n }\n if (accessibilityRowSpan != null) {\n warnOnce('accessibilityRowSpan', \"accessibilityRowSpan is deprecated. Use aria-rowspan.\");\n }\n var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan;\n if (_ariaRowSpan != null) {\n domProps['aria-rowspan'] = _ariaRowSpan;\n }\n if (accessibilitySelected != null) {\n warnOnce('accessibilitySelected', \"accessibilitySelected is deprecated. Use aria-selected.\");\n }\n var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected;\n if (_ariaSelected != null) {\n domProps['aria-selected'] = _ariaSelected;\n }\n if (accessibilitySetSize != null) {\n warnOnce('accessibilitySetSize', \"accessibilitySetSize is deprecated. Use aria-setsize.\");\n }\n var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize;\n if (_ariaSetSize != null) {\n domProps['aria-setsize'] = _ariaSetSize;\n }\n if (accessibilitySort != null) {\n warnOnce('accessibilitySort', \"accessibilitySort is deprecated. Use aria-sort.\");\n }\n var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort;\n if (_ariaSort != null) {\n domProps['aria-sort'] = _ariaSort;\n }\n if (accessibilityValueMax != null) {\n warnOnce('accessibilityValueMax', \"accessibilityValueMax is deprecated. Use aria-valuemax.\");\n }\n var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax;\n if (_ariaValueMax != null) {\n domProps['aria-valuemax'] = _ariaValueMax;\n }\n if (accessibilityValueMin != null) {\n warnOnce('accessibilityValueMin', \"accessibilityValueMin is deprecated. Use aria-valuemin.\");\n }\n var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin;\n if (_ariaValueMin != null) {\n domProps['aria-valuemin'] = _ariaValueMin;\n }\n if (accessibilityValueNow != null) {\n warnOnce('accessibilityValueNow', \"accessibilityValueNow is deprecated. Use aria-valuenow.\");\n }\n var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow;\n if (_ariaValueNow != null) {\n domProps['aria-valuenow'] = _ariaValueNow;\n }\n if (accessibilityValueText != null) {\n warnOnce('accessibilityValueText', \"accessibilityValueText is deprecated. Use aria-valuetext.\");\n }\n var _ariaValueText = ariaValueText != null ? ariaValueText : accessibilityValueText;\n if (_ariaValueText != null) {\n domProps['aria-valuetext'] = _ariaValueText;\n }\n\n // \"dataSet\" replaced with \"data-*\"\n if (dataSet != null) {\n for (var dataProp in dataSet) {\n if (hasOwnProperty.call(dataSet, dataProp)) {\n var dataName = hyphenateString(dataProp);\n var dataValue = dataSet[dataProp];\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n }\n\n // FOCUS\n if (tabIndex === 0 || tabIndex === '0' || tabIndex === -1 || tabIndex === '-1') {\n domProps.tabIndex = tabIndex;\n } else {\n if (focusable != null) {\n warnOnce('focusable', \"focusable is deprecated.\");\n }\n\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n if (focusable === false) {\n domProps.tabIndex = '-1';\n }\n if (\n // These native elements are keyboard focusable by default\n elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if (\n // These roles are made keyboard focusable by default\n role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n // Everything else must explicitly set the prop\n if (focusable === true) {\n domProps.tabIndex = '0';\n }\n }\n }\n\n // Resolve styles\n if (pointerEvents != null) {\n warnOnce('pointerEvents', \"props.pointerEvents is deprecated. Use style.pointerEvents\");\n }\n var _StyleSheet = StyleSheet([style, pointerEvents && pointerEventsStyles[pointerEvents]], _objectSpread({\n writingDirection: 'ltr'\n }, options)),\n className = _StyleSheet[0],\n inlineStyle = _StyleSheet[1];\n if (className) {\n domProps.className = className;\n }\n if (inlineStyle) {\n domProps.style = inlineStyle;\n }\n\n // OTHER\n // Native element ID\n if (nativeID != null) {\n warnOnce('nativeID', \"nativeID is deprecated. Use id.\");\n }\n var _id = id != null ? id : nativeID;\n if (_id != null) {\n domProps.id = _id;\n }\n // Automated test IDs\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n if (domProps.type == null && elementType === 'button') {\n domProps.type = 'button';\n }\n return domProps;\n};\nexport default createDOMProps;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport createDOMProps from '../../modules/createDOMProps';\nimport React from 'react';\nimport { LocaleProvider } from '../../modules/useLocale';\nvar createElement = (component, props, options) => {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n if (component && component.constructor === String) {\n accessibilityComponent = AccessibilityUtil.propsToAccessibilityComponent(props);\n }\n var Component = accessibilityComponent || component;\n var domProps = createDOMProps(Component, props, options);\n var element = /*#__PURE__*/React.createElement(Component, domProps);\n\n // Update locale context if element's writing direction prop changes\n var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/React.createElement(LocaleProvider, {\n children: element,\n direction: domProps.dir,\n locale: domProps.lang\n }) : element;\n return elementWithLocaleProvider;\n};\nexport default createElement;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport normalizeColor from '@react-native/normalize-colors';\nvar processColor = color => {\n if (color === undefined || color === null) {\n return color;\n }\n\n // convert number and hex\n var int32Color = normalizeColor(color);\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\nexport default processColor;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport { findDOMNode } from 'react-dom';\n\n/**\n * @deprecated imperatively finding the DOM element of a react component has been deprecated in React 18.\n * You should use ref properties on the component instead.\n */\nvar findNodeHandle = component => {\n var node;\n try {\n node = findDOMNode(component);\n } catch (e) {}\n return node;\n};\nexport default findNodeHandle;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport { unmountComponentAtNode } from 'react-dom';\nexport default unmountComponentAtNode;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport { hydrate as domLegacyHydrate, render as domLegacyRender } from 'react-dom';\nimport { createRoot as domCreateRoot, hydrateRoot as domHydrateRoot } from 'react-dom/client';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport { createSheet } from '../StyleSheet/dom';\nexport function hydrate(element, root) {\n createSheet(root);\n return domHydrateRoot(root, element);\n}\nexport function render(element, root) {\n createSheet(root);\n var reactRoot = domCreateRoot(root);\n reactRoot.render(element);\n return reactRoot;\n}\nexport function hydrateLegacy(element, root, callback) {\n createSheet(root);\n domLegacyHydrate(element, root, callback);\n return {\n unmount: function unmount() {\n return unmountComponentAtNode(root);\n }\n };\n}\nexport default function renderLegacy(element, root, callback) {\n createSheet(root);\n domLegacyRender(element, root, callback);\n return {\n unmount: function unmount() {\n return unmountComponentAtNode(root);\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport UIManager from '../UIManager';\n\n// NativeModules shim\nvar NativeModules = {\n UIManager\n};\nexport default NativeModules;","/**\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 */\nimport canUseDOM from '../../modules/canUseDom';\nfunction isScreenReaderEnabled() {\n return new Promise((resolve, reject) => {\n resolve(true);\n });\n}\nvar prefersReducedMotionMedia = canUseDOM && typeof window.matchMedia === 'function' ? window.matchMedia('(prefers-reduced-motion: reduce)') : null;\nfunction isReduceMotionEnabled() {\n return new Promise((resolve, reject) => {\n resolve(prefersReducedMotionMedia ? prefersReducedMotionMedia.matches : true);\n });\n}\nfunction addChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.addEventListener != null ? prefersReducedMotionMedia.addEventListener('change', fn) : prefersReducedMotionMedia.addListener(fn);\n }\n}\nfunction removeChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.removeEventListener != null ? prefersReducedMotionMedia.removeEventListener('change', fn) : prefersReducedMotionMedia.removeListener(fn);\n }\n}\nvar handlers = {};\nvar AccessibilityInfo = {\n /**\n * Query whether a screen reader is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a screen reader is enabled and `false` otherwise.\n */\n isScreenReaderEnabled,\n /**\n * Query whether the user prefers reduced motion.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a screen reader is enabled and `false` otherwise.\n */\n isReduceMotionEnabled,\n /**\n * Deprecated\n */\n fetch: isScreenReaderEnabled,\n /**\n * Add an event handler. Supported events: reduceMotionChanged\n */\n addEventListener: function addEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n if (!prefersReducedMotionMedia) {\n return;\n }\n var listener = event => {\n handler(event.matches);\n };\n addChangeListener(listener);\n handlers[handler] = listener;\n }\n return {\n remove: () => AccessibilityInfo.removeEventListener(eventName, handler)\n };\n },\n /**\n * Set accessibility focus to a react component.\n */\n setAccessibilityFocus: function setAccessibilityFocus(reactTag) {},\n /**\n * Post a string to be announced by the screen reader.\n */\n announceForAccessibility: function announceForAccessibility(announcement) {},\n /**\n * Remove an event handler.\n */\n removeEventListener: function removeEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n var listener = handlers[handler];\n if (!listener || !prefersReducedMotionMedia) {\n return;\n }\n removeChangeListener(listener);\n }\n return;\n }\n};\nexport default AccessibilityInfo;","/**\n * Copyright (c) Nicolas Gallagher.\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\nclass Alert {\n static alert() {}\n}\nexport default Alert;","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar Platform = {\n OS: 'web',\n select: obj => 'web' in obj ? obj.web : obj.default,\n get isTesting() {\n if (process.env.NODE_ENV === 'test') {\n return true;\n }\n return false;\n }\n};\nexport default Platform;","/**\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 * @format\n * \n */\n\n'use strict';\n\n/*\n * @returns {bool} true if different, false if equal\n */\nvar deepDiffer = function deepDiffer(one, two, maxDepth) {\n if (maxDepth === void 0) {\n maxDepth = -1;\n }\n if (maxDepth === 0) {\n return true;\n }\n if (one === two) {\n // Short circuit on identical object references instead of traversing them.\n return false;\n }\n if (typeof one === 'function' && typeof two === 'function') {\n // We consider all functions equal\n return false;\n }\n if (typeof one !== 'object' || one === null) {\n // Primitives can be directly compared\n return one !== two;\n }\n if (typeof two !== 'object' || two === null) {\n // We know they are different because the previous case would have triggered\n // otherwise.\n return true;\n }\n if (one.constructor !== two.constructor) {\n return true;\n }\n if (Array.isArray(one)) {\n // We know two is also an array because the constructors are equal\n var len = one.length;\n if (two.length !== len) {\n return true;\n }\n for (var ii = 0; ii < len; ii++) {\n if (deepDiffer(one[ii], two[ii], maxDepth - 1)) {\n return true;\n }\n }\n } else {\n for (var key in one) {\n if (deepDiffer(one[key], two[key], maxDepth - 1)) {\n return true;\n }\n }\n for (var twoKey in two) {\n // The only case we haven't checked yet is keys that are in two but aren't\n // in one, which means they are different.\n if (one[twoKey] === undefined && two[twoKey] !== undefined) {\n return true;\n }\n }\n }\n return false;\n};\nexport default deepDiffer;","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nfunction _createForOfIteratorHelperLoose(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (t) return (t = t.call(r)).next.bind(t);\n if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var o = 0;\n return function () {\n return o >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[o++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _createForOfIteratorHelperLoose as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"colors\", \"enabled\", \"onRefresh\", \"progressBackgroundColor\", \"progressViewOffset\", \"refreshing\", \"size\", \"tintColor\", \"title\", \"titleColor\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport View from '../View';\nimport React from 'react';\nfunction RefreshControl(props) {\n var colors = props.colors,\n enabled = props.enabled,\n onRefresh = props.onRefresh,\n progressBackgroundColor = props.progressBackgroundColor,\n progressViewOffset = props.progressViewOffset,\n refreshing = props.refreshing,\n size = props.size,\n tintColor = props.tintColor,\n title = props.title,\n titleColor = props.titleColor,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/React.createElement(View, rest);\n}\nexport default RefreshControl;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar dimensions = {\n window: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n },\n screen: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n }\n};\nvar listeners = {};\nvar shouldInit = canUseDOM;\nfunction update() {\n if (!canUseDOM) {\n return;\n }\n var win = window;\n var height;\n var width;\n\n /**\n * iOS does not update viewport dimensions on keyboard open/close.\n * window.visualViewport(https://developer.mozilla.org/en-US/docs/Web/API/VisualViewport)\n * is used instead of document.documentElement.clientHeight (which remains as a fallback)\n */\n if (win.visualViewport) {\n var visualViewport = win.visualViewport;\n /**\n * We are multiplying by scale because height and width from visual viewport\n * also react to pinch zoom, and become smaller when zoomed. But it is not desired\n * behaviour, since originally documentElement client height and width were used,\n * and they do not react to pinch zoom.\n */\n height = Math.round(visualViewport.height * visualViewport.scale);\n width = Math.round(visualViewport.width * visualViewport.scale);\n } else {\n var docEl = win.document.documentElement;\n height = docEl.clientHeight;\n width = docEl.clientWidth;\n }\n dimensions.window = {\n fontScale: 1,\n height,\n scale: win.devicePixelRatio || 1,\n width\n };\n dimensions.screen = {\n fontScale: 1,\n height: win.screen.height,\n scale: win.devicePixelRatio || 1,\n width: win.screen.width\n };\n}\nfunction handleResize() {\n update();\n if (Array.isArray(listeners['change'])) {\n listeners['change'].forEach(handler => handler(dimensions));\n }\n}\nexport default class Dimensions {\n static get(dimension) {\n if (shouldInit) {\n shouldInit = false;\n update();\n }\n invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\n }\n static set(initialDimensions) {\n if (initialDimensions) {\n if (canUseDOM) {\n invariant(false, 'Dimensions cannot be set in the browser');\n } else {\n if (initialDimensions.screen != null) {\n dimensions.screen = initialDimensions.screen;\n }\n if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\n }\n }\n }\n static addEventListener(type, handler) {\n listeners[type] = listeners[type] || [];\n listeners[type].push(handler);\n return {\n remove: () => {\n this.removeEventListener(type, handler);\n }\n };\n }\n static removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(_handler => _handler !== handler);\n }\n }\n}\nif (canUseDOM) {\n if (window.visualViewport) {\n window.visualViewport.addEventListener('resize', handleResize, false);\n } else {\n window.addEventListener('resize', handleResize, false);\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport UIManager from '../../exports/UIManager';\n\n/**\n * This class is responsible for coordinating the \"focused\"\n * state for TextInputs. All calls relating to the keyboard\n * should be funneled through here\n */\nvar TextInputState = {\n /**\n * Internal state\n */\n _currentlyFocusedNode: null,\n /**\n * Returns the ID of the currently focused text field, if one exists\n * If no text field is focused it returns null\n */\n currentlyFocusedField() {\n if (document.activeElement !== this._currentlyFocusedNode) {\n this._currentlyFocusedNode = null;\n }\n return this._currentlyFocusedNode;\n },\n /**\n * @param {Object} TextInputID id of the text field to focus\n * Focuses the specified text field\n * noop if the text field was already focused\n */\n focusTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = textFieldNode;\n if (document.activeElement !== textFieldNode) {\n UIManager.focus(textFieldNode);\n }\n }\n },\n /**\n * @param {Object} textFieldNode id of the text field to focus\n * Unfocuses the specified text field\n * noop if it wasn't focused\n */\n blurTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = null;\n if (document.activeElement === textFieldNode) {\n UIManager.blur(textFieldNode);\n }\n }\n }\n};\nexport default TextInputState;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport TextInputState from '../TextInputState';\nvar dismissKeyboard = () => {\n TextInputState.blurTextInput(TextInputState.currentlyFocusedField());\n};\nexport default dismissKeyboard;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"onScroll\", \"onTouchMove\", \"onWheel\", \"scrollEnabled\", \"scrollEventThrottle\", \"showsHorizontalScrollIndicator\", \"showsVerticalScrollIndicator\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport useMergeRefs from '../../modules/useMergeRefs';\nfunction normalizeScrollEvent(e) {\n return {\n nativeEvent: {\n contentOffset: {\n get x() {\n return e.target.scrollLeft;\n },\n get y() {\n return e.target.scrollTop;\n }\n },\n contentSize: {\n get height() {\n return e.target.scrollHeight;\n },\n get width() {\n return e.target.scrollWidth;\n }\n },\n layoutMeasurement: {\n get height() {\n return e.target.offsetHeight;\n },\n get width() {\n return e.target.offsetWidth;\n }\n }\n },\n timeStamp: Date.now()\n };\n}\nfunction shouldEmitScrollEvent(lastTick, eventThrottle) {\n var timeSinceLastTick = Date.now() - lastTick;\n return eventThrottle > 0 && timeSinceLastTick >= eventThrottle;\n}\n\n/**\n * Encapsulates the Web-specific scroll throttling and disabling logic\n */\nvar ScrollViewBase = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var onScroll = props.onScroll,\n onTouchMove = props.onTouchMove,\n onWheel = props.onWheel,\n _props$scrollEnabled = props.scrollEnabled,\n scrollEnabled = _props$scrollEnabled === void 0 ? true : _props$scrollEnabled,\n _props$scrollEventThr = props.scrollEventThrottle,\n scrollEventThrottle = _props$scrollEventThr === void 0 ? 0 : _props$scrollEventThr,\n showsHorizontalScrollIndicator = props.showsHorizontalScrollIndicator,\n showsVerticalScrollIndicator = props.showsVerticalScrollIndicator,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var scrollState = React.useRef({\n isScrolling: false,\n scrollLastTick: 0\n });\n var scrollTimeout = React.useRef(null);\n var scrollRef = React.useRef(null);\n function createPreventableScrollHandler(handler) {\n return e => {\n if (scrollEnabled) {\n if (handler) {\n handler(e);\n }\n }\n };\n }\n function handleScroll(e) {\n e.stopPropagation();\n if (e.target === scrollRef.current) {\n e.persist();\n // A scroll happened, so the scroll resets the scrollend timeout.\n if (scrollTimeout.current != null) {\n clearTimeout(scrollTimeout.current);\n }\n scrollTimeout.current = setTimeout(() => {\n handleScrollEnd(e);\n }, 100);\n if (scrollState.current.isScrolling) {\n // Scroll last tick may have changed, check if we need to notify\n if (shouldEmitScrollEvent(scrollState.current.scrollLastTick, scrollEventThrottle)) {\n handleScrollTick(e);\n }\n } else {\n // Weren't scrolling, so we must have just started\n handleScrollStart(e);\n }\n }\n }\n function handleScrollStart(e) {\n scrollState.current.isScrolling = true;\n handleScrollTick(e);\n }\n function handleScrollTick(e) {\n scrollState.current.scrollLastTick = Date.now();\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n function handleScrollEnd(e) {\n scrollState.current.isScrolling = false;\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n var hideScrollbar = showsHorizontalScrollIndicator === false || showsVerticalScrollIndicator === false;\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n onScroll: handleScroll,\n onTouchMove: createPreventableScrollHandler(onTouchMove),\n onWheel: createPreventableScrollHandler(onWheel),\n ref: useMergeRefs(scrollRef, forwardedRef),\n style: [style, !scrollEnabled && styles.scrollDisabled, hideScrollbar && styles.hideScrollbar]\n }));\n});\n\n// Chrome doesn't support e.preventDefault in this case; touch-action must be\n// used to disable scrolling.\n// https://developers.google.com/web/updates/2017/01/scrolling-intervention\nvar styles = StyleSheet.create({\n scrollDisabled: {\n overflowX: 'hidden',\n overflowY: 'hidden',\n touchAction: 'none'\n },\n hideScrollbar: {\n scrollbarWidth: 'none'\n }\n});\nexport default ScrollViewBase;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"contentContainerStyle\", \"horizontal\", \"onContentSizeChange\", \"refreshControl\", \"stickyHeaderIndices\", \"pagingEnabled\", \"forwardedRef\", \"keyboardDismissMode\", \"onScroll\", \"centerContent\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport Dimensions from '../Dimensions';\nimport dismissKeyboard from '../../modules/dismissKeyboard';\nimport invariant from 'fbjs/lib/invariant';\nimport mergeRefs from '../../modules/mergeRefs';\nimport Platform from '../Platform';\nimport ScrollViewBase from './ScrollViewBase';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\nimport UIManager from '../UIManager';\nimport View from '../View';\nimport React from 'react';\nimport warning from 'fbjs/lib/warning';\nvar emptyObject = {};\nvar IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;\nclass ScrollView extends React.Component {\n constructor() {\n super(...arguments);\n this._scrollNodeRef = null;\n this._innerViewRef = null;\n this.isTouching = false;\n this.lastMomentumScrollBeginTime = 0;\n this.lastMomentumScrollEndTime = 0;\n this.observedScrollSinceBecomingResponder = false;\n this.becameResponderWhileAnimating = false;\n this.scrollResponderHandleScrollShouldSetResponder = () => {\n return this.isTouching;\n };\n this.scrollResponderHandleStartShouldSetResponderCapture = e => {\n // First see if we want to eat taps while the keyboard is up\n // var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n // if (!this.props.keyboardShouldPersistTaps &&\n // currentlyFocusedTextInput != null &&\n // e.target !== currentlyFocusedTextInput) {\n // return true;\n // }\n return this.scrollResponderIsAnimating();\n };\n this.scrollResponderHandleTerminationRequest = () => {\n return !this.observedScrollSinceBecomingResponder;\n };\n this.scrollResponderHandleTouchEnd = e => {\n var nativeEvent = e.nativeEvent;\n this.isTouching = nativeEvent.touches.length !== 0;\n this.props.onTouchEnd && this.props.onTouchEnd(e);\n };\n this.scrollResponderHandleResponderRelease = e => {\n this.props.onResponderRelease && this.props.onResponderRelease(e);\n\n // By default scroll views will unfocus a textField\n // if another touch occurs outside of it\n var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n if (!this.props.keyboardShouldPersistTaps && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.observedScrollSinceBecomingResponder && !this.becameResponderWhileAnimating) {\n this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e);\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n };\n this.scrollResponderHandleScroll = e => {\n this.observedScrollSinceBecomingResponder = true;\n this.props.onScroll && this.props.onScroll(e);\n };\n this.scrollResponderHandleResponderGrant = e => {\n this.observedScrollSinceBecomingResponder = false;\n this.props.onResponderGrant && this.props.onResponderGrant(e);\n this.becameResponderWhileAnimating = this.scrollResponderIsAnimating();\n };\n this.scrollResponderHandleScrollBeginDrag = e => {\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n this.scrollResponderHandleScrollEndDrag = e => {\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n this.scrollResponderHandleMomentumScrollBegin = e => {\n this.lastMomentumScrollBeginTime = Date.now();\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n this.scrollResponderHandleMomentumScrollEnd = e => {\n this.lastMomentumScrollEndTime = Date.now();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n this.scrollResponderHandleTouchStart = e => {\n this.isTouching = true;\n this.props.onTouchStart && this.props.onTouchStart(e);\n };\n this.scrollResponderHandleTouchMove = e => {\n this.props.onTouchMove && this.props.onTouchMove(e);\n };\n this.scrollResponderIsAnimating = () => {\n var now = Date.now();\n var timeSinceLastMomentumScrollEnd = now - this.lastMomentumScrollEndTime;\n var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.lastMomentumScrollEndTime < this.lastMomentumScrollBeginTime;\n return isAnimating;\n };\n this.scrollResponderScrollTo = (x, y, animated) => {\n if (typeof x === 'number') {\n console.warn('`scrollResponderScrollTo(x, y, animated)` is deprecated. Use `scrollResponderScrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref = x || emptyObject;\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n var node = this.getScrollableNode();\n var left = x || 0;\n var top = y || 0;\n if (node != null) {\n if (typeof node.scroll === 'function') {\n node.scroll({\n top,\n left,\n behavior: !animated ? 'auto' : 'smooth'\n });\n } else {\n node.scrollLeft = left;\n node.scrollTop = top;\n }\n }\n };\n this.scrollResponderZoomTo = (rect, animated) => {\n if (Platform.OS !== 'ios') {\n invariant('zoomToRect is not implemented');\n }\n };\n this.scrollResponderScrollNativeHandleToKeyboard = (nodeHandle, additionalOffset, preventNegativeScrollOffset) => {\n this.additionalScrollOffset = additionalOffset || 0;\n this.preventNegativeScrollOffset = !!preventNegativeScrollOffset;\n UIManager.measureLayout(nodeHandle, this.getInnerViewNode(), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard);\n };\n this.scrollResponderInputMeasureAndScrollToKeyboard = (left, top, width, height) => {\n var keyboardScreenY = Dimensions.get('window').height;\n if (this.keyboardWillOpenTo) {\n keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY;\n }\n var scrollOffsetY = top - keyboardScreenY + height + this.additionalScrollOffset;\n\n // By default, this can scroll with negative offset, pulling the content\n // down so that the target component's bottom meets the keyboard's top.\n // If requested otherwise, cap the offset at 0 minimum to avoid content\n // shifting down.\n if (this.preventNegativeScrollOffset) {\n scrollOffsetY = Math.max(0, scrollOffsetY);\n }\n this.scrollResponderScrollTo({\n x: 0,\n y: scrollOffsetY,\n animated: true\n });\n this.additionalOffset = 0;\n this.preventNegativeScrollOffset = false;\n };\n this.scrollResponderKeyboardWillShow = e => {\n this.keyboardWillOpenTo = e;\n this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);\n };\n this.scrollResponderKeyboardWillHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);\n };\n this.scrollResponderKeyboardDidShow = e => {\n // TODO(7693961): The event for DidShow is not available on iOS yet.\n // Use the one from WillShow and do not assign.\n if (e) {\n this.keyboardWillOpenTo = e;\n }\n this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);\n };\n this.scrollResponderKeyboardDidHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);\n };\n this.flashScrollIndicators = () => {\n this.scrollResponderFlashScrollIndicators();\n };\n this.getScrollResponder = () => {\n return this;\n };\n this.getScrollableNode = () => {\n return this._scrollNodeRef;\n };\n this.getInnerViewRef = () => {\n return this._innerViewRef;\n };\n this.getInnerViewNode = () => {\n return this._innerViewRef;\n };\n this.getNativeScrollRef = () => {\n return this._scrollNodeRef;\n };\n this.scrollTo = (y, x, animated) => {\n if (typeof y === 'number') {\n console.warn('`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref2 = y || emptyObject;\n x = _ref2.x;\n y = _ref2.y;\n animated = _ref2.animated;\n }\n this.scrollResponderScrollTo({\n x: x || 0,\n y: y || 0,\n animated: animated !== false\n });\n };\n this.scrollToEnd = options => {\n // Default to true\n var animated = (options && options.animated) !== false;\n var horizontal = this.props.horizontal;\n var scrollResponderNode = this.getScrollableNode();\n var x = horizontal ? scrollResponderNode.scrollWidth : 0;\n var y = horizontal ? 0 : scrollResponderNode.scrollHeight;\n this.scrollResponderScrollTo({\n x,\n y,\n animated\n });\n };\n this._handleContentOnLayout = e => {\n var _e$nativeEvent$layout = e.nativeEvent.layout,\n width = _e$nativeEvent$layout.width,\n height = _e$nativeEvent$layout.height;\n this.props.onContentSizeChange(width, height);\n };\n this._handleScroll = e => {\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.onScroll && this.props.scrollEventThrottle == null) {\n console.log('You specified `onScroll` on a but not ' + '`scrollEventThrottle`. You will only receive one event. ' + 'Using `16` you get all the events but be aware that it may ' + \"cause frame drops, use a bigger number if you don't need as \" + 'much precision.');\n }\n }\n if (this.props.keyboardDismissMode === 'on-drag') {\n dismissKeyboard();\n }\n this.scrollResponderHandleScroll(e);\n };\n this._setInnerViewRef = node => {\n this._innerViewRef = node;\n };\n this._setScrollNodeRef = node => {\n this._scrollNodeRef = node;\n // ScrollView needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `ScrollView.scrollTo(hostNode, { x, y })` is added to React Native.\n if (node != null) {\n node.getScrollResponder = this.getScrollResponder;\n node.getInnerViewNode = this.getInnerViewNode;\n node.getInnerViewRef = this.getInnerViewRef;\n node.getNativeScrollRef = this.getNativeScrollRef;\n node.getScrollableNode = this.getScrollableNode;\n node.scrollTo = this.scrollTo;\n node.scrollToEnd = this.scrollToEnd;\n node.flashScrollIndicators = this.flashScrollIndicators;\n node.scrollResponderZoomTo = this.scrollResponderZoomTo;\n node.scrollResponderScrollNativeHandleToKeyboard = this.scrollResponderScrollNativeHandleToKeyboard;\n }\n var ref = mergeRefs(this.props.forwardedRef);\n ref(node);\n };\n }\n /**\n * ------------------------------------------------------\n * START SCROLLRESPONDER\n * ------------------------------------------------------\n */\n // Reset to false every time becomes responder. This is used to:\n // - Determine if the scroll view has been scrolled and therefore should\n // refuse to give up its responder lock.\n // - Determine if releasing should dismiss the keyboard when we are in\n // tap-to-dismiss mode (!this.props.keyboardShouldPersistTaps).\n /**\n * Invoke this from an `onScroll` event.\n */\n /**\n * Merely touch starting is not sufficient for a scroll view to become the\n * responder. Being the \"responder\" means that the very next touch move/end\n * event will result in an action/movement.\n *\n * Invoke this from an `onStartShouldSetResponder` event.\n *\n * `onStartShouldSetResponder` is used when the next move/end will trigger\n * some UI movement/action, but when you want to yield priority to views\n * nested inside of the view.\n *\n * There may be some cases where scroll views actually should return `true`\n * from `onStartShouldSetResponder`: Any time we are detecting a standard tap\n * that gives priority to nested views.\n *\n * - If a single tap on the scroll view triggers an action such as\n * recentering a map style view yet wants to give priority to interaction\n * views inside (such as dropped pins or labels), then we would return true\n * from this method when there is a single touch.\n *\n * - Similar to the previous case, if a two finger \"tap\" should trigger a\n * zoom, we would check the `touches` count, and if `>= 2`, we would return\n * true.\n *\n */\n scrollResponderHandleStartShouldSetResponder() {\n return false;\n }\n\n /**\n * There are times when the scroll view wants to become the responder\n * (meaning respond to the next immediate `touchStart/touchEnd`), in a way\n * that *doesn't* give priority to nested views (hence the capture phase):\n *\n * - Currently animating.\n * - Tapping anywhere that is not the focused input, while the keyboard is\n * up (which should dismiss the keyboard).\n *\n * Invoke this from an `onStartShouldSetResponderCapture` event.\n */\n\n /**\n * Invoke this from an `onResponderReject` event.\n *\n * Some other element is not yielding its role as responder. Normally, we'd\n * just disable the `UIScrollView`, but a touch has already began on it, the\n * `UIScrollView` will not accept being disabled after that. The easiest\n * solution for now is to accept the limitation of disallowing this\n * altogether. To improve this, find a way to disable the `UIScrollView` after\n * a touch has already started.\n */\n scrollResponderHandleResponderReject() {\n warning(false, \"ScrollView doesn't take rejection well - scrolls anyway\");\n }\n\n /**\n * We will allow the scroll view to give up its lock iff it acquired the lock\n * during an animation. This is a very useful default that happens to satisfy\n * many common user experiences.\n *\n * - Stop a scroll on the left edge, then turn that into an outer view's\n * backswipe.\n * - Stop a scroll mid-bounce at the top, continue pulling to have the outer\n * view dismiss.\n * - However, without catching the scroll view mid-bounce (while it is\n * motionless), if you drag far enough for the scroll view to become\n * responder (and therefore drag the scroll view a bit), any backswipe\n * navigation of a swipe gesture higher in the view hierarchy, should be\n * rejected.\n */\n\n /**\n * Invoke this from an `onTouchEnd` event.\n *\n * @param {SyntheticEvent} e Event.\n */\n\n /**\n * Invoke this from an `onResponderRelease` event.\n */\n\n /**\n * Invoke this from an `onResponderGrant` event.\n */\n\n /**\n * Unfortunately, `onScrollBeginDrag` also fires when *stopping* the scroll\n * animation, and there's not an easy way to distinguish a drag vs. stopping\n * momentum.\n *\n * Invoke this from an `onScrollBeginDrag` event.\n */\n\n /**\n * Invoke this from an `onScrollEndDrag` event.\n */\n\n /**\n * Invoke this from an `onMomentumScrollBegin` event.\n */\n\n /**\n * Invoke this from an `onMomentumScrollEnd` event.\n */\n\n /**\n * Invoke this from an `onTouchStart` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n\n /**\n * Invoke this from an `onTouchMove` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n\n /**\n * A helper function for this class that lets us quickly determine if the\n * view is currently animating. This is particularly useful to know when\n * a touch has just started or ended.\n */\n\n /**\n * A helper function to scroll to a specific point in the scrollview.\n * This is currently used to help focus on child textviews, but can also\n * be used to quickly scroll to any element we want to focus. Syntax:\n *\n * scrollResponderScrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\n */\n\n /**\n * A helper function to zoom to a specific rect in the scrollview. The argument has the shape\n * {x: number; y: number; width: number; height: number; animated: boolean = true}\n *\n * @platform ios\n */\n\n /**\n * Displays the scroll indicators momentarily.\n */\n scrollResponderFlashScrollIndicators() {}\n\n /**\n * This method should be used as the callback to onFocus in a TextInputs'\n * parent view. Note that any module using this mixin needs to return\n * the parent view's ref in getScrollViewRef() in order to use this method.\n * @param {any} nodeHandle The TextInput node handle\n * @param {number} additionalOffset The scroll view's top \"contentInset\".\n * Default is 0.\n * @param {bool} preventNegativeScrolling Whether to allow pulling the content\n * down to make it meet the keyboard's top. Default is false.\n */\n\n /**\n * The calculations performed here assume the scroll view takes up the entire\n * screen - even if has some content inset. We then measure the offsets of the\n * keyboard, and compensate both for the scroll view's \"contentInset\".\n *\n * @param {number} left Position of input w.r.t. table view.\n * @param {number} top Position of input w.r.t. table view.\n * @param {number} width Width of the text input.\n * @param {number} height Height of the text input.\n */\n\n scrollResponderTextInputFocusError(e) {\n console.error('Error measuring text field: ', e);\n }\n\n /**\n * Warning, this may be called several times for a single keyboard opening.\n * It's best to store the information in this method and then take any action\n * at a later point (either in `keyboardDidShow` or other).\n *\n * Here's the order that events occur in:\n * - focus\n * - willShow {startCoordinates, endCoordinates} several times\n * - didShow several times\n * - blur\n * - willHide {startCoordinates, endCoordinates} several times\n * - didHide several times\n *\n * The `ScrollResponder` providesModule callbacks for each of these events.\n * Even though any user could have easily listened to keyboard events\n * themselves, using these `props` callbacks ensures that ordering of events\n * is consistent - and not dependent on the order that the keyboard events are\n * subscribed to. This matters when telling the scroll view to scroll to where\n * the keyboard is headed - the scroll responder better have been notified of\n * the keyboard destination before being instructed to scroll to where the\n * keyboard will be. Stick to the `ScrollResponder` callbacks, and everything\n * will work.\n *\n * WARNING: These callbacks will fire even if a keyboard is displayed in a\n * different navigation pane. Filter out the events to determine if they are\n * relevant to you. (For example, only if you receive these callbacks after\n * you had explicitly focused a node etc).\n */\n\n /**\n * ------------------------------------------------------\n * END SCROLLRESPONDER\n * ------------------------------------------------------\n */\n\n /**\n * Returns a reference to the underlying scroll responder, which supports\n * operations like `scrollTo`. All ScrollView-like components should\n * implement this method so that they can be composed while providing access\n * to the underlying scroll responder's methods.\n */\n\n /**\n * Scrolls to a given x, y offset, either immediately or with a smooth animation.\n * Syntax:\n *\n * scrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\n */\n\n /**\n * If this is a vertical ScrollView scrolls to the bottom.\n * If this is a horizontal ScrollView scrolls to the right.\n *\n * Use `scrollToEnd({ animated: true })` for smooth animated scrolling,\n * `scrollToEnd({ animated: false })` for immediate scrolling.\n * If no options are passed, `animated` defaults to true.\n */\n\n render() {\n var _this$props = this.props,\n contentContainerStyle = _this$props.contentContainerStyle,\n horizontal = _this$props.horizontal,\n onContentSizeChange = _this$props.onContentSizeChange,\n refreshControl = _this$props.refreshControl,\n stickyHeaderIndices = _this$props.stickyHeaderIndices,\n pagingEnabled = _this$props.pagingEnabled,\n forwardedRef = _this$props.forwardedRef,\n keyboardDismissMode = _this$props.keyboardDismissMode,\n onScroll = _this$props.onScroll,\n centerContent = _this$props.centerContent,\n other = _objectWithoutPropertiesLoose(_this$props, _excluded);\n if (process.env.NODE_ENV !== 'production' && this.props.style) {\n var style = StyleSheet.flatten(this.props.style);\n var childLayoutProps = ['alignItems', 'justifyContent'].filter(prop => style && style[prop] !== undefined);\n invariant(childLayoutProps.length === 0, \"ScrollView child layout (\" + JSON.stringify(childLayoutProps) + \") \" + 'must be applied through the contentContainerStyle prop.');\n }\n var contentSizeChangeProps = {};\n if (onContentSizeChange) {\n contentSizeChangeProps = {\n onLayout: this._handleContentOnLayout\n };\n }\n var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices);\n var children = hasStickyHeaderIndices || pagingEnabled ? React.Children.map(this.props.children, (child, i) => {\n var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;\n if (child != null && (isSticky || pagingEnabled)) {\n return /*#__PURE__*/React.createElement(View, {\n style: [isSticky && styles.stickyHeader, pagingEnabled && styles.pagingEnabledChild]\n }, child);\n } else {\n return child;\n }\n }) : this.props.children;\n var contentContainer = /*#__PURE__*/React.createElement(View, _extends({}, contentSizeChangeProps, {\n children: children,\n collapsable: false,\n ref: this._setInnerViewRef,\n style: [horizontal && styles.contentContainerHorizontal, centerContent && styles.contentContainerCenterContent, contentContainerStyle]\n }));\n var baseStyle = horizontal ? styles.baseHorizontal : styles.baseVertical;\n var pagingEnabledStyle = horizontal ? styles.pagingEnabledHorizontal : styles.pagingEnabledVertical;\n var props = _objectSpread(_objectSpread({}, other), {}, {\n style: [baseStyle, pagingEnabled && pagingEnabledStyle, this.props.style],\n onTouchStart: this.scrollResponderHandleTouchStart,\n onTouchMove: this.scrollResponderHandleTouchMove,\n onTouchEnd: this.scrollResponderHandleTouchEnd,\n onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag,\n onScrollEndDrag: this.scrollResponderHandleScrollEndDrag,\n onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin,\n onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd,\n onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder,\n onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture,\n onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder,\n onScroll: this._handleScroll,\n onResponderGrant: this.scrollResponderHandleResponderGrant,\n onResponderTerminationRequest: this.scrollResponderHandleTerminationRequest,\n onResponderTerminate: this.scrollResponderHandleTerminate,\n onResponderRelease: this.scrollResponderHandleResponderRelease,\n onResponderReject: this.scrollResponderHandleResponderReject\n });\n var ScrollViewClass = ScrollViewBase;\n invariant(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined');\n var scrollView = /*#__PURE__*/React.createElement(ScrollViewClass, _extends({}, props, {\n ref: this._setScrollNodeRef\n }), contentContainer);\n if (refreshControl) {\n return /*#__PURE__*/React.cloneElement(refreshControl, {\n style: props.style\n }, scrollView);\n }\n return scrollView;\n }\n}\nvar commonStyle = {\n flexGrow: 1,\n flexShrink: 1,\n // Enable hardware compositing in modern browsers.\n // Creates a new layer with its own backing surface that can significantly\n // improve scroll performance.\n transform: 'translateZ(0)',\n // iOS native scrolling\n WebkitOverflowScrolling: 'touch'\n};\nvar styles = StyleSheet.create({\n baseVertical: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'column',\n overflowX: 'hidden',\n overflowY: 'auto'\n }),\n baseHorizontal: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'row',\n overflowX: 'auto',\n overflowY: 'hidden'\n }),\n contentContainerHorizontal: {\n flexDirection: 'row'\n },\n contentContainerCenterContent: {\n justifyContent: 'center',\n flexGrow: 1\n },\n stickyHeader: {\n position: 'sticky',\n top: 0,\n zIndex: 10\n },\n pagingEnabledHorizontal: {\n scrollSnapType: 'x mandatory'\n },\n pagingEnabledVertical: {\n scrollSnapType: 'y mandatory'\n },\n pagingEnabledChild: {\n scrollSnapAlign: 'start'\n }\n});\nvar ForwardedScrollView = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n return /*#__PURE__*/React.createElement(ScrollView, _extends({}, props, {\n forwardedRef: forwardedRef\n }));\n});\nForwardedScrollView.displayName = 'ScrollView';\nexport default ForwardedScrollView;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport invariant from 'fbjs/lib/invariant';\nclass TaskQueue {\n constructor(_ref) {\n var onMoreTasks = _ref.onMoreTasks;\n this._onMoreTasks = onMoreTasks;\n this._queueStack = [{\n tasks: [],\n popable: true\n }];\n }\n enqueue(task) {\n this._getCurrentQueue().push(task);\n }\n enqueueTasks(tasks) {\n tasks.forEach(task => this.enqueue(task));\n }\n cancelTasks(tasksToCancel) {\n this._queueStack = this._queueStack.map(queue => _objectSpread(_objectSpread({}, queue), {}, {\n tasks: queue.tasks.filter(task => tasksToCancel.indexOf(task) === -1)\n })).filter((queue, idx) => queue.tasks.length > 0 || idx === 0);\n }\n hasTasksToProcess() {\n return this._getCurrentQueue().length > 0;\n }\n\n /**\n * Executes the next task in the queue.\n */\n processNext() {\n var queue = this._getCurrentQueue();\n if (queue.length) {\n var task = queue.shift();\n try {\n if (typeof task === 'object' && task.gen) {\n this._genPromise(task);\n } else if (typeof task === 'object' && task.run) {\n task.run();\n } else {\n invariant(typeof task === 'function', 'Expected Function, SimpleTask, or PromiseTask, but got:\\n' + JSON.stringify(task, null, 2));\n task();\n }\n } catch (e) {\n e.message = 'TaskQueue: Error with task ' + (task.name || '') + ': ' + e.message;\n throw e;\n }\n }\n }\n _getCurrentQueue() {\n var stackIdx = this._queueStack.length - 1;\n var queue = this._queueStack[stackIdx];\n if (queue.popable && queue.tasks.length === 0 && stackIdx > 0) {\n this._queueStack.pop();\n return this._getCurrentQueue();\n } else {\n return queue.tasks;\n }\n }\n _genPromise(task) {\n var length = this._queueStack.push({\n tasks: [],\n popable: false\n });\n var stackIdx = length - 1;\n var stackItem = this._queueStack[stackIdx];\n task.gen().then(() => {\n stackItem.popable = true;\n this.hasTasksToProcess() && this._onMoreTasks();\n }).catch(ex => {\n setTimeout(() => {\n ex.message = \"TaskQueue: Error resolving Promise in task \" + task.name + \": \" + ex.message;\n throw ex;\n }, 0);\n });\n }\n}\nexport default TaskQueue;","/**\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 * @format\n */\n\n/**\n * EventEmitter manages listeners and publishes events to them.\n *\n * EventEmitter accepts a single type parameter that defines the valid events\n * and associated listener argument(s).\n *\n * @example\n *\n * const emitter = new EventEmitter<{\n * success: [number, string],\n * error: [Error],\n * }>();\n *\n * emitter.on('success', (statusCode, responseText) => {...});\n * emitter.emit('success', 200, '...');\n *\n * emitter.on('error', error => {...});\n * emitter.emit('error', new Error('Resource not found'));\n *\n */\nexport default class EventEmitter {\n constructor() {\n this._registry = {};\n }\n /**\n * Registers a listener that is called when the supplied event is emitted.\n * Returns a subscription that has a `remove` method to undo registration.\n */\n addListener(eventType, listener, context) {\n var registrations = allocate(this._registry, eventType);\n var registration = {\n context,\n listener,\n remove() {\n registrations.delete(registration);\n }\n };\n registrations.add(registration);\n return registration;\n }\n\n /**\n * Emits the supplied event. Additional arguments supplied to `emit` will be\n * passed through to each of the registered listeners.\n *\n * If a listener modifies the listeners registered for the same event, those\n * changes will not be reflected in the current invocation of `emit`.\n */\n emit(eventType) {\n var registrations = this._registry[eventType];\n if (registrations != null) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n for (var _i = 0, _arr = [...registrations]; _i < _arr.length; _i++) {\n var registration = _arr[_i];\n registration.listener.apply(registration.context, args);\n }\n }\n }\n\n /**\n * Removes all registered listeners.\n */\n removeAllListeners(eventType) {\n if (eventType == null) {\n this._registry = {};\n } else {\n delete this._registry[eventType];\n }\n }\n\n /**\n * Returns the number of registered listeners for the supplied event.\n */\n listenerCount(eventType) {\n var registrations = this._registry[eventType];\n return registrations == null ? 0 : registrations.size;\n }\n}\nfunction allocate(registry, eventType) {\n var registrations = registry[eventType];\n if (registrations == null) {\n registrations = new Set();\n registry[eventType] = registrations;\n }\n return registrations;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport canUseDOM from '../canUseDom';\nvar _requestIdleCallback = function _requestIdleCallback(cb, options) {\n return setTimeout(() => {\n var start = Date.now();\n cb({\n didTimeout: false,\n timeRemaining() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nvar _cancelIdleCallback = function _cancelIdleCallback(id) {\n clearTimeout(id);\n};\nvar isSupported = canUseDOM && typeof window.requestIdleCallback !== 'undefined';\nvar requestIdleCallback = isSupported ? window.requestIdleCallback : _requestIdleCallback;\nvar cancelIdleCallback = isSupported ? window.cancelIdleCallback : _cancelIdleCallback;\nexport default requestIdleCallback;\nexport { cancelIdleCallback };","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport invariant from 'fbjs/lib/invariant';\nimport TaskQueue from './TaskQueue';\nimport EventEmitter from '../../vendor/react-native/vendor/emitter/EventEmitter';\nimport requestIdleCallback from '../../modules/requestIdleCallback';\nvar _emitter = new EventEmitter();\nvar InteractionManager = {\n Events: {\n interactionStart: 'interactionStart',\n interactionComplete: 'interactionComplete'\n },\n /**\n * Schedule a function to run after all interactions have completed.\n */\n runAfterInteractions(task) {\n var tasks = [];\n var promise = new Promise(resolve => {\n _scheduleUpdate();\n if (task) {\n tasks.push(task);\n }\n tasks.push({\n run: resolve,\n name: 'resolve ' + (task && task.name || '?')\n });\n _taskQueue.enqueueTasks(tasks);\n });\n return {\n then: promise.then.bind(promise),\n done: promise.then.bind(promise),\n cancel: () => {\n _taskQueue.cancelTasks(tasks);\n }\n };\n },\n /**\n * Notify manager that an interaction has started.\n */\n createInteractionHandle() {\n _scheduleUpdate();\n var handle = ++_inc;\n _addInteractionSet.add(handle);\n return handle;\n },\n /**\n * Notify manager that an interaction has completed.\n */\n clearInteractionHandle(handle) {\n invariant(!!handle, 'Must provide a handle to clear.');\n _scheduleUpdate();\n _addInteractionSet.delete(handle);\n _deleteInteractionSet.add(handle);\n },\n addListener: _emitter.addListener.bind(_emitter),\n /**\n *\n * @param deadline\n */\n setDeadline(deadline) {\n _deadline = deadline;\n }\n};\nvar _interactionSet = new Set();\nvar _addInteractionSet = new Set();\nvar _deleteInteractionSet = new Set();\nvar _taskQueue = new TaskQueue({\n onMoreTasks: _scheduleUpdate\n});\nvar _nextUpdateHandle = 0;\nvar _inc = 0;\nvar _deadline = -1;\n\n/**\n * Schedule an asynchronous update to the interaction state.\n */\nfunction _scheduleUpdate() {\n if (!_nextUpdateHandle) {\n if (_deadline > 0) {\n _nextUpdateHandle = setTimeout(_processUpdate);\n } else {\n _nextUpdateHandle = requestIdleCallback(_processUpdate);\n }\n }\n}\n\n/**\n * Notify listeners, process queue, etc\n */\nfunction _processUpdate() {\n _nextUpdateHandle = 0;\n var interactionCount = _interactionSet.size;\n _addInteractionSet.forEach(handle => _interactionSet.add(handle));\n _deleteInteractionSet.forEach(handle => _interactionSet.delete(handle));\n var nextInteractionCount = _interactionSet.size;\n if (interactionCount !== 0 && nextInteractionCount === 0) {\n _emitter.emit(InteractionManager.Events.interactionComplete);\n } else if (interactionCount === 0 && nextInteractionCount !== 0) {\n _emitter.emit(InteractionManager.Events.interactionStart);\n }\n if (nextInteractionCount === 0) {\n // It seems that we can't know the running time of the current event loop,\n // we can only calculate the running time of the current task queue.\n var begin = Date.now();\n while (_taskQueue.hasTasksToProcess()) {\n _taskQueue.processNext();\n if (_deadline > 0 && Date.now() - begin >= _deadline) {\n _scheduleUpdate();\n break;\n }\n }\n }\n _addInteractionSet.clear();\n _deleteInteractionSet.clear();\n}\nexport default InteractionManager;","/**\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 * @format\n * \n */\n\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\n\n/**\n * A simple class for batching up invocations of a low-pri callback. A timeout is set to run the\n * callback once after a delay, no matter how many times it's scheduled. Once the delay is reached,\n * InteractionManager.runAfterInteractions is used to invoke the callback after any hi-pri\n * interactions are done running.\n *\n * Make sure to cleanup with dispose(). Example:\n *\n * class Widget extends React.Component {\n * _batchedSave: new Batchinator(() => this._saveState, 1000);\n * _saveSate() {\n * // save this.state to disk\n * }\n * componentDidUpdate() {\n * this._batchedSave.schedule();\n * }\n * componentWillUnmount() {\n * this._batchedSave.dispose();\n * }\n * ...\n * }\n */\nclass Batchinator {\n constructor(callback, delayMS) {\n this._delay = delayMS;\n this._callback = callback;\n }\n /*\n * Cleanup any pending tasks.\n *\n * By default, if there is a pending task the callback is run immediately. Set the option abort to\n * true to not call the callback if it was pending.\n */\n dispose(options) {\n if (options === void 0) {\n options = {\n abort: false\n };\n }\n if (this._taskHandle) {\n this._taskHandle.cancel();\n if (!options.abort) {\n this._callback();\n }\n this._taskHandle = null;\n }\n }\n schedule() {\n if (this._taskHandle) {\n return;\n }\n var timeoutHandle = setTimeout(() => {\n this._taskHandle = InteractionManager.runAfterInteractions(() => {\n // Note that we clear the handle before invoking the callback so that if the callback calls\n // schedule again, it will actually schedule another task.\n this._taskHandle = null;\n this._callback();\n });\n }, this._delay);\n this._taskHandle = {\n cancel: () => clearTimeout(timeoutHandle)\n };\n }\n}\nexport default Batchinator;","/**\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 * @format\n * \n */\n\n'use strict';\n\nfunction clamp(min, value, max) {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n}\nexport default clamp;","/**\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 * @format\n * \n */\n\n'use strict';\n\n/**\n * Intentional info-level logging for clear separation from ad-hoc console debug logging.\n */\nfunction infoLog() {\n return console.log(...arguments);\n}\nexport default infoLog;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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 * @format\n */\n\nimport invariant from 'fbjs/lib/invariant';\nexport class CellRenderMask {\n constructor(numCells) {\n invariant(numCells >= 0, 'CellRenderMask must contain a non-negative number os cells');\n this._numCells = numCells;\n if (numCells === 0) {\n this._regions = [];\n } else {\n this._regions = [{\n first: 0,\n last: numCells - 1,\n isSpacer: true\n }];\n }\n }\n enumerateRegions() {\n return this._regions;\n }\n addCells(cells) {\n invariant(cells.first >= 0 && cells.first < this._numCells && cells.last >= -1 && cells.last < this._numCells && cells.last >= cells.first - 1, 'CellRenderMask.addCells called with invalid cell range');\n\n // VirtualizedList uses inclusive ranges, where zero-count states are\n // possible. E.g. [0, -1] for no cells, starting at 0.\n if (cells.last < cells.first) {\n return;\n }\n var _this$_findRegion = this._findRegion(cells.first),\n firstIntersect = _this$_findRegion[0],\n firstIntersectIdx = _this$_findRegion[1];\n var _this$_findRegion2 = this._findRegion(cells.last),\n lastIntersect = _this$_findRegion2[0],\n lastIntersectIdx = _this$_findRegion2[1];\n\n // Fast-path if the cells to add are already all present in the mask. We\n // will otherwise need to do some mutation.\n if (firstIntersectIdx === lastIntersectIdx && !firstIntersect.isSpacer) {\n return;\n }\n\n // We need to replace the existing covered regions with 1-3 new regions\n // depending whether we need to split spacers out of overlapping regions.\n var newLeadRegion = [];\n var newTailRegion = [];\n var newMainRegion = _objectSpread(_objectSpread({}, cells), {}, {\n isSpacer: false\n });\n if (firstIntersect.first < newMainRegion.first) {\n if (firstIntersect.isSpacer) {\n newLeadRegion.push({\n first: firstIntersect.first,\n last: newMainRegion.first - 1,\n isSpacer: true\n });\n } else {\n newMainRegion.first = firstIntersect.first;\n }\n }\n if (lastIntersect.last > newMainRegion.last) {\n if (lastIntersect.isSpacer) {\n newTailRegion.push({\n first: newMainRegion.last + 1,\n last: lastIntersect.last,\n isSpacer: true\n });\n } else {\n newMainRegion.last = lastIntersect.last;\n }\n }\n var replacementRegions = [...newLeadRegion, newMainRegion, ...newTailRegion];\n var numRegionsToDelete = lastIntersectIdx - firstIntersectIdx + 1;\n this._regions.splice(firstIntersectIdx, numRegionsToDelete, ...replacementRegions);\n }\n numCells() {\n return this._numCells;\n }\n equals(other) {\n return this._numCells === other._numCells && this._regions.length === other._regions.length && this._regions.every((region, i) => region.first === other._regions[i].first && region.last === other._regions[i].last && region.isSpacer === other._regions[i].isSpacer);\n }\n _findRegion(cellIdx) {\n var firstIdx = 0;\n var lastIdx = this._regions.length - 1;\n while (firstIdx <= lastIdx) {\n var middleIdx = Math.floor((firstIdx + lastIdx) / 2);\n var middleRegion = this._regions[middleIdx];\n if (cellIdx >= middleRegion.first && cellIdx <= middleRegion.last) {\n return [middleRegion, middleIdx];\n } else if (cellIdx < middleRegion.first) {\n lastIdx = middleIdx - 1;\n } else if (cellIdx > middleRegion.last) {\n firstIdx = middleIdx + 1;\n }\n }\n invariant(false, \"A region was not found containing cellIdx \" + cellIdx);\n }\n}","import _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\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 * @format\n */\n\nimport invariant from 'fbjs/lib/invariant';\nexport default class ChildListCollection {\n constructor() {\n this._cellKeyToChildren = new Map();\n this._childrenToCellKey = new Map();\n }\n add(list, cellKey) {\n var _this$_cellKeyToChild;\n invariant(!this._childrenToCellKey.has(list), 'Trying to add already present child list');\n var cellLists = (_this$_cellKeyToChild = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild !== void 0 ? _this$_cellKeyToChild : new Set();\n cellLists.add(list);\n this._cellKeyToChildren.set(cellKey, cellLists);\n this._childrenToCellKey.set(list, cellKey);\n }\n remove(list) {\n var cellKey = this._childrenToCellKey.get(list);\n invariant(cellKey != null, 'Trying to remove non-present child list');\n this._childrenToCellKey.delete(list);\n var cellLists = this._cellKeyToChildren.get(cellKey);\n invariant(cellLists, '_cellKeyToChildren should contain cellKey');\n cellLists.delete(list);\n if (cellLists.size === 0) {\n this._cellKeyToChildren.delete(cellKey);\n }\n }\n forEach(fn) {\n for (var _iterator = _createForOfIteratorHelperLoose(this._cellKeyToChildren.values()), _step; !(_step = _iterator()).done;) {\n var listSet = _step.value;\n for (var _iterator2 = _createForOfIteratorHelperLoose(listSet), _step2; !(_step2 = _iterator2()).done;) {\n var list = _step2.value;\n fn(list);\n }\n }\n }\n forEachInCell(cellKey, fn) {\n var _this$_cellKeyToChild2;\n var listSet = (_this$_cellKeyToChild2 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild2 !== void 0 ? _this$_cellKeyToChild2 : [];\n for (var _iterator3 = _createForOfIteratorHelperLoose(listSet), _step3; !(_step3 = _iterator3()).done;) {\n var list = _step3.value;\n fn(list);\n }\n }\n anyInCell(cellKey, fn) {\n var _this$_cellKeyToChild3;\n var listSet = (_this$_cellKeyToChild3 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild3 !== void 0 ? _this$_cellKeyToChild3 : [];\n for (var _iterator4 = _createForOfIteratorHelperLoose(listSet), _step4; !(_step4 = _iterator4()).done;) {\n var list = _step4.value;\n if (fn(list)) {\n return true;\n }\n }\n return false;\n }\n size() {\n return this._childrenToCellKey.size;\n }\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 * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nclass Info {\n constructor() {\n this.any_blank_count = 0;\n this.any_blank_ms = 0;\n this.any_blank_speed_sum = 0;\n this.mostly_blank_count = 0;\n this.mostly_blank_ms = 0;\n this.pixels_blank = 0;\n this.pixels_sampled = 0;\n this.pixels_scrolled = 0;\n this.total_time_spent = 0;\n this.sample_count = 0;\n }\n}\nvar DEBUG = false;\nvar _listeners = [];\nvar _minSampleCount = 10;\nvar _sampleRate = DEBUG ? 1 : null;\n\n/**\n * A helper class for detecting when the maximem fill rate of `VirtualizedList` is exceeded.\n * By default the sampling rate is set to zero and this will do nothing. If you want to collect\n * samples (e.g. to log them), make sure to call `FillRateHelper.setSampleRate(0.0-1.0)`.\n *\n * Listeners and sample rate are global for all `VirtualizedList`s - typical usage will combine with\n * `SceneTracker.getActiveScene` to determine the context of the events.\n */\nclass FillRateHelper {\n static addListener(callback) {\n if (_sampleRate === null) {\n console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');\n }\n _listeners.push(callback);\n return {\n remove: () => {\n _listeners = _listeners.filter(listener => callback !== listener);\n }\n };\n }\n static setSampleRate(sampleRate) {\n _sampleRate = sampleRate;\n }\n static setMinSampleCount(minSampleCount) {\n _minSampleCount = minSampleCount;\n }\n constructor(getFrameMetrics) {\n this._anyBlankStartTime = null;\n this._enabled = false;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n this._getFrameMetrics = getFrameMetrics;\n this._enabled = (_sampleRate || 0) > Math.random();\n this._resetData();\n }\n activate() {\n if (this._enabled && this._samplesStartTime == null) {\n DEBUG && console.debug('FillRateHelper: activate');\n this._samplesStartTime = global.performance.now();\n }\n }\n deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n var start = this._samplesStartTime; // const for flow\n if (start == null) {\n DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time');\n return;\n }\n if (this._info.sample_count < _minSampleCount) {\n // Don't bother with under-sampled events.\n this._resetData();\n return;\n }\n var total_time_spent = global.performance.now() - start;\n var info = _objectSpread(_objectSpread({}, this._info), {}, {\n total_time_spent\n });\n if (DEBUG) {\n var derived = {\n avg_blankness: this._info.pixels_blank / this._info.pixels_sampled,\n avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000),\n avg_speed_when_any_blank: this._info.any_blank_speed_sum / this._info.any_blank_count,\n any_blank_per_min: this._info.any_blank_count / (total_time_spent / 1000 / 60),\n any_blank_time_frac: this._info.any_blank_ms / total_time_spent,\n mostly_blank_per_min: this._info.mostly_blank_count / (total_time_spent / 1000 / 60),\n mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent\n };\n for (var key in derived) {\n // $FlowFixMe[prop-missing]\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n console.debug('FillRateHelper deactivateAndFlush: ', {\n derived,\n info\n });\n }\n _listeners.forEach(listener => listener(info));\n this._resetData();\n }\n computeBlankness(props, cellsAroundViewport, scrollMetrics) {\n if (!this._enabled || props.getItemCount(props.data) === 0 || cellsAroundViewport.last < cellsAroundViewport.first || this._samplesStartTime == null) {\n return 0;\n }\n var dOffset = scrollMetrics.dOffset,\n offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength;\n\n // Denominator metrics that we track for all events - most of the time there is no blankness and\n // we want to capture that.\n this._info.sample_count++;\n this._info.pixels_sampled += Math.round(visibleLength);\n this._info.pixels_scrolled += Math.round(Math.abs(dOffset));\n var scrollSpeed = Math.round(Math.abs(velocity) * 1000); // px / sec\n\n // Whether blank now or not, record the elapsed time blank if we were blank last time.\n var now = global.performance.now();\n if (this._anyBlankStartTime != null) {\n this._info.any_blank_ms += now - this._anyBlankStartTime;\n }\n this._anyBlankStartTime = null;\n if (this._mostlyBlankStartTime != null) {\n this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;\n }\n this._mostlyBlankStartTime = null;\n var blankTop = 0;\n var first = cellsAroundViewport.first;\n var firstFrame = this._getFrameMetrics(first, props);\n while (first <= cellsAroundViewport.last && (!firstFrame || !firstFrame.inLayout)) {\n firstFrame = this._getFrameMetrics(first, props);\n first++;\n }\n // Only count blankTop if we aren't rendering the first item, otherwise we will count the header\n // as blank.\n if (firstFrame && first > 0) {\n blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset));\n }\n var blankBottom = 0;\n var last = cellsAroundViewport.last;\n var lastFrame = this._getFrameMetrics(last, props);\n while (last >= cellsAroundViewport.first && (!lastFrame || !lastFrame.inLayout)) {\n lastFrame = this._getFrameMetrics(last, props);\n last--;\n }\n // Only count blankBottom if we aren't rendering the last item, otherwise we will count the\n // footer as blank.\n if (lastFrame && last < props.getItemCount(props.data) - 1) {\n var bottomEdge = lastFrame.offset + lastFrame.length;\n blankBottom = Math.min(visibleLength, Math.max(0, offset + visibleLength - bottomEdge));\n }\n var pixels_blank = Math.round(blankTop + blankBottom);\n var blankness = pixels_blank / visibleLength;\n if (blankness > 0) {\n this._anyBlankStartTime = now;\n this._info.any_blank_speed_sum += scrollSpeed;\n this._info.any_blank_count++;\n this._info.pixels_blank += pixels_blank;\n if (blankness > 0.5) {\n this._mostlyBlankStartTime = now;\n this._info.mostly_blank_count++;\n }\n } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {\n this.deactivateAndFlush();\n }\n return blankness;\n }\n enabled() {\n return this._enabled;\n }\n _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n }\n}\nexport default FillRateHelper;","/**\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 * @format\n */\n\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\n\n/**\n * `setState` is called asynchronously, and should not rely on the value of\n * `this.props` or `this.state`:\n * https://reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous\n *\n * SafePureComponent adds runtime enforcement, to catch cases where these\n * variables are read in a state updater function, instead of the ones passed\n * in.\n */\nexport default class StateSafePureComponent extends React.PureComponent {\n constructor(props) {\n super(props);\n this._inAsyncStateUpdate = false;\n this._installSetStateHooks();\n }\n setState(partialState, callback) {\n if (typeof partialState === 'function') {\n super.setState((state, props) => {\n this._inAsyncStateUpdate = true;\n var ret;\n try {\n ret = partialState(state, props);\n } catch (err) {\n throw err;\n } finally {\n this._inAsyncStateUpdate = false;\n }\n return ret;\n }, callback);\n } else {\n super.setState(partialState, callback);\n }\n }\n _installSetStateHooks() {\n var that = this;\n var props = this.props,\n state = this.state;\n Object.defineProperty(this, 'props', {\n get() {\n invariant(!that._inAsyncStateUpdate, '\"this.props\" should not be accessed during state updates');\n return props;\n },\n set(newProps) {\n props = newProps;\n }\n });\n Object.defineProperty(this, 'state', {\n get() {\n invariant(!that._inAsyncStateUpdate, '\"this.state\" should not be acceessed during state updates');\n return state;\n },\n set(newState) {\n state = newState;\n }\n });\n }\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 * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport invariant from 'fbjs/lib/invariant';\n/**\n * A Utility class for calculating viewable items based on current metrics like scroll position and\n * layout.\n *\n * An item is said to be in a \"viewable\" state when any of the following\n * is true for longer than `minimumViewTime` milliseconds (after an interaction if `waitForInteraction`\n * is true):\n *\n * - Occupying >= `viewAreaCoveragePercentThreshold` of the view area XOR fraction of the item\n * visible in the view area >= `itemVisiblePercentThreshold`.\n * - Entirely visible on screen\n */\nclass ViewabilityHelper {\n constructor(config) {\n if (config === void 0) {\n config = {\n viewAreaCoveragePercentThreshold: 0\n };\n }\n this._hasInteracted = false;\n this._timers = new Set();\n this._viewableIndices = [];\n this._viewableItems = new Map();\n this._config = config;\n }\n\n /**\n * Cleanup, e.g. on unmount. Clears any pending timers.\n */\n dispose() {\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To see\n * the error delete this comment and run Flow. */\n this._timers.forEach(clearTimeout);\n }\n\n /**\n * Determines which items are viewable based on the current metrics and config.\n */\n computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\n var _this$_config = this._config,\n itemVisiblePercentThreshold = _this$_config.itemVisiblePercentThreshold,\n viewAreaCoveragePercentThreshold = _this$_config.viewAreaCoveragePercentThreshold;\n var viewAreaMode = viewAreaCoveragePercentThreshold != null;\n var viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;\n invariant(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold');\n var viewableIndices = [];\n if (itemCount === 0) {\n return viewableIndices;\n }\n var firstVisible = -1;\n var _ref = renderRange || {\n first: 0,\n last: itemCount - 1\n },\n first = _ref.first,\n last = _ref.last;\n if (last >= itemCount) {\n console.warn('Invalid render range computing viewability ' + JSON.stringify({\n renderRange,\n itemCount\n }));\n return [];\n }\n for (var idx = first; idx <= last; idx++) {\n var metrics = getFrameMetrics(idx, props);\n if (!metrics) {\n continue;\n }\n var top = metrics.offset - scrollOffset;\n var bottom = top + metrics.length;\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {\n viewableIndices.push(idx);\n }\n } else if (firstVisible >= 0) {\n break;\n }\n }\n return viewableIndices;\n }\n\n /**\n * Figures out which items are viewable and how that has changed from before and calls\n * `onViewableItemsChanged` as appropriate.\n */\n onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {\n return;\n }\n var viewableIndices = [];\n if (itemCount) {\n viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);\n }\n if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {\n // We might get a lot of scroll events where visibility doesn't change and we don't want to do\n // extra work in those cases.\n return;\n }\n this._viewableIndices = viewableIndices;\n if (this._config.minimumViewTime) {\n var handle = setTimeout(() => {\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To\n * see the error delete this comment and run Flow. */\n this._timers.delete(handle);\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }, this._config.minimumViewTime);\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To see\n * the error delete this comment and run Flow. */\n this._timers.add(handle);\n } else {\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }\n }\n\n /**\n * clean-up cached _viewableIndices to evaluate changed items on next update\n */\n resetViewableIndices() {\n this._viewableIndices = [];\n }\n\n /**\n * Records that an interaction has happened even if there has been no scroll.\n */\n recordInteraction() {\n this._hasInteracted = true;\n }\n _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {\n // Filter out indices that have gone out of view since this call was scheduled.\n viewableIndicesToCheck = viewableIndicesToCheck.filter(ii => this._viewableIndices.includes(ii));\n var prevItems = this._viewableItems;\n var nextItems = new Map(viewableIndicesToCheck.map(ii => {\n var viewable = createViewToken(ii, true, props);\n return [viewable.key, viewable];\n }));\n var changed = [];\n for (var _iterator = _createForOfIteratorHelperLoose(nextItems), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n viewable = _step$value[1];\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\n }\n for (var _iterator2 = _createForOfIteratorHelperLoose(prevItems), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n _key = _step2$value[0],\n _viewable = _step2$value[1];\n if (!nextItems.has(_key)) {\n changed.push(_objectSpread(_objectSpread({}, _viewable), {}, {\n isViewable: false\n }));\n }\n }\n if (changed.length > 0) {\n this._viewableItems = nextItems;\n onViewableItemsChanged({\n viewableItems: Array.from(nextItems.values()),\n changed,\n viewabilityConfig: this._config\n });\n }\n }\n}\nfunction _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {\n if (_isEntirelyVisible(top, bottom, viewportHeight)) {\n return true;\n } else {\n var pixels = _getPixelsVisible(top, bottom, viewportHeight);\n var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\n}\nfunction _getPixelsVisible(top, bottom, viewportHeight) {\n var visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);\n return Math.max(0, visibleHeight);\n}\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\nexport default ViewabilityHelper;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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 * @format\n */\n\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nexport var VirtualizedListContext = /*#__PURE__*/React.createContext(null);\nif (__DEV__) {\n VirtualizedListContext.displayName = 'VirtualizedListContext';\n}\n\n/**\n * Resets the context. Intended for use by portal-like components (e.g. Modal).\n */\nexport function VirtualizedListContextResetter(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: null\n }, children);\n}\n\n/**\n * Sets the context with memoization. Intended to be used by `VirtualizedList`.\n */\nexport function VirtualizedListContextProvider(_ref2) {\n var children = _ref2.children,\n value = _ref2.value;\n // Avoid setting a newly created context object if the values are identical.\n var context = useMemo(() => ({\n cellKey: null,\n getScrollMetrics: value.getScrollMetrics,\n horizontal: value.horizontal,\n getOutermostParentListRef: value.getOutermostParentListRef,\n registerAsNestedChild: value.registerAsNestedChild,\n unregisterAsNestedChild: value.unregisterAsNestedChild\n }), [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.registerAsNestedChild, value.unregisterAsNestedChild]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}\n\n/**\n * Sets the `cellKey`. Intended to be used by `VirtualizedList` for each cell.\n */\nexport function VirtualizedListCellContextProvider(_ref3) {\n var cellKey = _ref3.cellKey,\n children = _ref3.children;\n // Avoid setting a newly created context object if the values are identical.\n var currContext = useContext(VirtualizedListContext);\n var context = useMemo(() => currContext == null ? null : _objectSpread(_objectSpread({}, currContext), {}, {\n cellKey\n }), [currContext, cellKey]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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 * @format\n */\n\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport { VirtualizedListCellContextProvider } from './VirtualizedListContext.js';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\nexport default class CellRenderer extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n separatorProps: {\n highlighted: false,\n leadingItem: this.props.item\n }\n };\n this._separators = {\n highlight: () => {\n var _this$props = this.props,\n cellKey = _this$props.cellKey,\n prevCellKey = _this$props.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: true\n });\n },\n unhighlight: () => {\n var _this$props2 = this.props,\n cellKey = _this$props2.cellKey,\n prevCellKey = _this$props2.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: false\n });\n },\n updateProps: (select, newProps) => {\n var _this$props3 = this.props,\n cellKey = _this$props3.cellKey,\n prevCellKey = _this$props3.prevCellKey;\n this.props.onUpdateSeparators([select === 'leading' ? prevCellKey : cellKey], newProps);\n }\n };\n this._onLayout = nativeEvent => {\n this.props.onCellLayout && this.props.onCellLayout(nativeEvent, this.props.cellKey, this.props.index);\n };\n }\n static getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item\n })\n };\n }\n\n // TODO: consider factoring separator stuff out of VirtualizedList into FlatList since it's not\n // reused by SectionList and we can keep VirtualizedList simpler.\n // $FlowFixMe[missing-local-annot]\n updateSeparatorProps(newProps) {\n this.setState(state => ({\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n }));\n }\n componentWillUnmount() {\n this.props.onUnmount(this.props.cellKey);\n }\n _renderElement(renderItem, ListItemComponent, item, index) {\n if (renderItem && ListItemComponent) {\n console.warn('VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take' + ' precedence over renderItem.');\n }\n if (ListItemComponent) {\n /* $FlowFixMe[not-a-component] (>=0.108.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.108 was deployed. To\n * see the error, delete this comment and run Flow. */\n /* $FlowFixMe[incompatible-type-arg] (>=0.108.0 site=react_native_fb)\n * This comment suppresses an error found when Flow v0.108 was deployed.\n * To see the error, delete this comment and run Flow. */\n return /*#__PURE__*/React.createElement(ListItemComponent, {\n item,\n index,\n separators: this._separators\n });\n }\n if (renderItem) {\n return renderItem({\n item,\n index,\n separators: this._separators\n });\n }\n invariant(false, 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.');\n }\n render() {\n var _this$props4 = this.props,\n CellRendererComponent = _this$props4.CellRendererComponent,\n ItemSeparatorComponent = _this$props4.ItemSeparatorComponent,\n ListItemComponent = _this$props4.ListItemComponent,\n cellKey = _this$props4.cellKey,\n horizontal = _this$props4.horizontal,\n item = _this$props4.item,\n index = _this$props4.index,\n inversionStyle = _this$props4.inversionStyle,\n onCellFocusCapture = _this$props4.onCellFocusCapture,\n onCellLayout = _this$props4.onCellLayout,\n renderItem = _this$props4.renderItem;\n var element = this._renderElement(renderItem, ListItemComponent, item, index);\n\n // NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and\n // called explicitly by `ScrollViewStickyHeader`.\n var itemSeparator = /*#__PURE__*/React.isValidElement(ItemSeparatorComponent) ?\n // $FlowFixMe[incompatible-type]\n ItemSeparatorComponent :\n // $FlowFixMe[incompatible-type]\n ItemSeparatorComponent && /*#__PURE__*/React.createElement(ItemSeparatorComponent, this.state.separatorProps);\n var cellStyle = inversionStyle ? horizontal ? [styles.rowReverse, inversionStyle] : [styles.columnReverse, inversionStyle] : horizontal ? [styles.row, inversionStyle] : inversionStyle;\n var result = !CellRendererComponent ? /*#__PURE__*/React.createElement(View, _extends({\n style: cellStyle,\n onFocusCapture: onCellFocusCapture\n }, onCellLayout && {\n onLayout: this._onLayout\n }), element, itemSeparator) : /*#__PURE__*/React.createElement(CellRendererComponent, _extends({\n cellKey: cellKey,\n index: index,\n item: item,\n style: cellStyle,\n onFocusCapture: onCellFocusCapture\n }, onCellLayout && {\n onLayout: this._onLayout\n }), element, itemSeparator);\n return /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this.props.cellKey\n }, result);\n }\n}\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n },\n rowReverse: {\n flexDirection: 'row-reverse'\n },\n columnReverse: {\n flexDirection: 'column-reverse'\n }\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 * @format\n */\n\n'use strict';\n\n/**\n * Used to find the indices of the frames that overlap the given offsets. Useful for finding the\n * items that bound different windows of content, such as the visible area or the buffered overscan\n * area.\n */\nexport function elementsThatOverlapOffsets(offsets, props, getFrameMetrics, zoomScale) {\n if (zoomScale === void 0) {\n zoomScale = 1;\n }\n var itemCount = props.getItemCount(props.data);\n var result = [];\n for (var offsetIndex = 0; offsetIndex < offsets.length; offsetIndex++) {\n var currentOffset = offsets[offsetIndex];\n var left = 0;\n var right = itemCount - 1;\n while (left <= right) {\n // eslint-disable-next-line no-bitwise\n var mid = left + (right - left >>> 1);\n var frame = getFrameMetrics(mid, props);\n var scaledOffsetStart = frame.offset * zoomScale;\n var scaledOffsetEnd = (frame.offset + frame.length) * zoomScale;\n\n // We want the first frame that contains the offset, with inclusive bounds. Thus, for the\n // first frame the scaledOffsetStart is inclusive, while for other frames it is exclusive.\n if (mid === 0 && currentOffset < scaledOffsetStart || mid !== 0 && currentOffset <= scaledOffsetStart) {\n right = mid - 1;\n } else if (currentOffset > scaledOffsetEnd) {\n left = mid + 1;\n } else {\n result[offsetIndex] = mid;\n break;\n }\n }\n }\n return result;\n}\n\n/**\n * Computes the number of elements in the `next` range that are new compared to the `prev` range.\n * Handy for calculating how many new items will be rendered when the render window changes so we\n * can restrict the number of new items render at once so that content can appear on the screen\n * faster.\n */\nexport function newRangeCount(prev, next) {\n return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first));\n}\n\n/**\n * Custom logic for determining which items should be rendered given the current frame and scroll\n * metrics, as well as the previous render state. The algorithm may evolve over time, but generally\n * prioritizes the visible area first, then expands that with overscan regions ahead and behind,\n * biased in the direction of scroll.\n */\nexport function computeWindowedRenderLimits(props, maxToRenderPerBatch, windowSize, prev, getFrameMetricsApprox, scrollMetrics) {\n var itemCount = props.getItemCount(props.data);\n if (itemCount === 0) {\n return {\n first: 0,\n last: -1\n };\n }\n var offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength,\n _scrollMetrics$zoomSc = scrollMetrics.zoomScale,\n zoomScale = _scrollMetrics$zoomSc === void 0 ? 1 : _scrollMetrics$zoomSc;\n\n // Start with visible area, then compute maximum overscan region by expanding from there, biased\n // in the direction of scroll. Total overscan area is capped, which should cap memory consumption\n // too.\n var visibleBegin = Math.max(0, offset);\n var visibleEnd = visibleBegin + visibleLength;\n var overscanLength = (windowSize - 1) * visibleLength;\n\n // Considering velocity seems to introduce more churn than it's worth.\n var leadFactor = 0.5; // Math.max(0, Math.min(1, velocity / 25 + 0.5));\n\n var fillPreference = velocity > 1 ? 'after' : velocity < -1 ? 'before' : 'none';\n var overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength);\n var overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength);\n var lastItemOffset = getFrameMetricsApprox(itemCount - 1, props).offset * zoomScale;\n if (lastItemOffset < overscanBegin) {\n // Entire list is before our overscan window\n return {\n first: Math.max(0, itemCount - 1 - maxToRenderPerBatch),\n last: itemCount - 1\n };\n }\n\n // Find the indices that correspond to the items at the render boundaries we're targeting.\n var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], props, getFrameMetricsApprox, zoomScale),\n overscanFirst = _elementsThatOverlapO[0],\n first = _elementsThatOverlapO[1],\n last = _elementsThatOverlapO[2],\n overscanLast = _elementsThatOverlapO[3];\n overscanFirst = overscanFirst == null ? 0 : overscanFirst;\n first = first == null ? Math.max(0, overscanFirst) : first;\n overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;\n last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;\n var visible = {\n first,\n last\n };\n\n // We want to limit the number of new cells we're rendering per batch so that we can fill the\n // content on the screen quickly. If we rendered the entire overscan window at once, the user\n // could be staring at white space for a long time waiting for a bunch of offscreen content to\n // render.\n var newCellCount = newRangeCount(prev, visible);\n while (true) {\n if (first <= overscanFirst && last >= overscanLast) {\n // If we fill the entire overscan range, we're done.\n break;\n }\n var maxNewCells = newCellCount >= maxToRenderPerBatch;\n var firstWillAddMore = first <= prev.first || first > prev.last;\n var firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore);\n var lastWillAddMore = last >= prev.last || last < prev.first;\n var lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore);\n if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) {\n // We only want to stop if we've hit maxNewCells AND we cannot increment first or last\n // without rendering new items. This let's us preserve as many already rendered items as\n // possible, reducing render churn and keeping the rendered overscan range as large as\n // possible.\n break;\n }\n if (firstShouldIncrement && !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)) {\n if (firstWillAddMore) {\n newCellCount++;\n }\n first--;\n }\n if (lastShouldIncrement && !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)) {\n if (lastWillAddMore) {\n newCellCount++;\n }\n last++;\n }\n }\n if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) {\n throw new Error('Bad window calculation ' + JSON.stringify({\n first,\n last,\n itemCount,\n overscanFirst,\n overscanLast,\n visible\n }));\n }\n return {\n first,\n last\n };\n}\nexport function keyExtractor(item, index) {\n if (typeof item === 'object' && (item == null ? void 0 : item.key) != null) {\n return item.key;\n }\n if (typeof item === 'object' && (item == null ? void 0 : item.id) != null) {\n return item.id;\n }\n return String(index);\n}","import _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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 * @format\n */\n\nimport RefreshControl from '../../../exports/RefreshControl';\nimport ScrollView from '../../../exports/ScrollView';\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport findNodeHandle from '../../../exports/findNodeHandle';\nimport Batchinator from '../Batchinator';\nimport clamp from '../Utilities/clamp';\nimport infoLog from '../infoLog';\nimport { CellRenderMask } from './CellRenderMask';\nimport ChildListCollection from './ChildListCollection';\nimport FillRateHelper from '../FillRateHelper';\nimport StateSafePureComponent from './StateSafePureComponent';\nimport ViewabilityHelper from '../ViewabilityHelper';\nimport CellRenderer from './VirtualizedListCellRenderer';\nimport { VirtualizedListCellContextProvider, VirtualizedListContext, VirtualizedListContextProvider } from './VirtualizedListContext.js';\nimport { computeWindowedRenderLimits, keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport invariant from 'fbjs/lib/invariant';\nimport nullthrows from 'nullthrows';\nimport * as React from 'react';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar ON_EDGE_REACHED_EPSILON = 0.001;\nvar _usedIndexForKey = false;\nvar _keylessItemComponentName = '';\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */ // horizontalOrDefault(this.props.horizontal)\nfunction horizontalOrDefault(horizontal) {\n return horizontal !== null && horizontal !== void 0 ? horizontal : false;\n}\n\n// initialNumToRenderOrDefault(this.props.initialNumToRender)\nfunction initialNumToRenderOrDefault(initialNumToRender) {\n return initialNumToRender !== null && initialNumToRender !== void 0 ? initialNumToRender : 10;\n}\n\n// maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch)\nfunction maxToRenderPerBatchOrDefault(maxToRenderPerBatch) {\n return maxToRenderPerBatch !== null && maxToRenderPerBatch !== void 0 ? maxToRenderPerBatch : 10;\n}\n\n// onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold)\nfunction onStartReachedThresholdOrDefault(onStartReachedThreshold) {\n return onStartReachedThreshold !== null && onStartReachedThreshold !== void 0 ? onStartReachedThreshold : 2;\n}\n\n// onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold)\nfunction onEndReachedThresholdOrDefault(onEndReachedThreshold) {\n return onEndReachedThreshold !== null && onEndReachedThreshold !== void 0 ? onEndReachedThreshold : 2;\n}\n\n// getScrollingThreshold(visibleLength, onEndReachedThreshold)\nfunction getScrollingThreshold(threshold, visibleLength) {\n return threshold * visibleLength / 2;\n}\n\n// scrollEventThrottleOrDefault(this.props.scrollEventThrottle)\nfunction scrollEventThrottleOrDefault(scrollEventThrottle) {\n return scrollEventThrottle !== null && scrollEventThrottle !== void 0 ? scrollEventThrottle : 50;\n}\n\n// windowSizeOrDefault(this.props.windowSize)\nfunction windowSizeOrDefault(windowSize) {\n return windowSize !== null && windowSize !== void 0 ? windowSize : 21;\n}\nfunction findLastWhere(arr, predicate) {\n for (var i = arr.length - 1; i >= 0; i--) {\n if (predicate(arr[i])) {\n return arr[i];\n }\n }\n return null;\n}\n\n/**\n * Base implementation for the more convenient [``](https://reactnative.dev/docs/flatlist)\n * and [``](https://reactnative.dev/docs/sectionlist) components, which are also better\n * documented. In general, this should only really be used if you need more flexibility than\n * `FlatList` provides, e.g. for use with immutable data instead of plain arrays.\n *\n * Virtualization massively improves memory consumption and performance of large lists by\n * maintaining a finite render window of active items and replacing all items outside of the render\n * window with appropriately sized blank space. The window adapts to scrolling behavior, and items\n * are rendered incrementally with low-pri (after any running interactions) if they are far from the\n * visible area, or with hi-pri otherwise to minimize the potential of seeing blank space.\n *\n * Some caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` or `id` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n * - As an effort to remove defaultProps, use helper functions when referencing certain props\n *\n */\nclass VirtualizedList extends StateSafePureComponent {\n // scrollToEnd may be janky without getItemLayout prop\n scrollToEnd(params) {\n var animated = params ? params.animated : true;\n var veryLast = this.props.getItemCount(this.props.data) - 1;\n if (veryLast < 0) {\n return;\n }\n var frame = this.__getFrameMetricsApprox(veryLast, this.props);\n var offset = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength);\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n\n // scrollToIndex may be janky without getItemLayout prop\n scrollToIndex(params) {\n var _this$props = this.props,\n data = _this$props.data,\n horizontal = _this$props.horizontal,\n getItemCount = _this$props.getItemCount,\n getItemLayout = _this$props.getItemLayout,\n onScrollToIndexFailed = _this$props.onScrollToIndexFailed;\n var animated = params.animated,\n index = params.index,\n viewOffset = params.viewOffset,\n viewPosition = params.viewPosition;\n invariant(index >= 0, \"scrollToIndex out of range: requested index \" + index + \" but minimum is 0\");\n invariant(getItemCount(data) >= 1, \"scrollToIndex out of range: item length \" + getItemCount(data) + \" but minimum is 1\");\n invariant(index < getItemCount(data), \"scrollToIndex out of range: requested index \" + index + \" is out of 0 to \" + (getItemCount(data) - 1));\n if (!getItemLayout && index > this._highestMeasuredFrameIndex) {\n invariant(!!onScrollToIndexFailed, 'scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, ' + 'otherwise there is no way to know the location of offscreen indices or handle failures.');\n onScrollToIndexFailed({\n averageItemLength: this._averageCellLength,\n highestMeasuredFrameIndex: this._highestMeasuredFrameIndex,\n index\n });\n return;\n }\n var frame = this.__getFrameMetricsApprox(Math.floor(index), this.props);\n var offset = Math.max(0, this._getOffsetApprox(index, this.props) - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0);\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontal ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n\n // scrollToItem may be janky without getItemLayout prop. Required linear scan through items -\n // use scrollToIndex instead if possible.\n scrollToItem(params) {\n var item = params.item;\n var _this$props2 = this.props,\n data = _this$props2.data,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount;\n var itemCount = getItemCount(data);\n for (var _index = 0; _index < itemCount; _index++) {\n if (getItem(data, _index) === item) {\n this.scrollToIndex(_objectSpread(_objectSpread({}, params), {}, {\n index: _index\n }));\n break;\n }\n }\n }\n\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Param `offset` expects the offset to scroll to.\n * In case of `horizontal` is true, the offset is the x-value,\n * in any other case the offset is the y-value.\n *\n * Param `animated` (`true` by default) defines whether the list\n * should do an animation while scrolling.\n */\n scrollToOffset(params) {\n var animated = params.animated,\n offset = params.offset;\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n recordInteraction() {\n this._nestedChildLists.forEach(childList => {\n childList.recordInteraction();\n });\n this._viewabilityTuples.forEach(t => {\n t.viewabilityHelper.recordInteraction();\n });\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n }\n flashScrollIndicators() {\n if (this._scrollRef == null) {\n return;\n }\n this._scrollRef.flashScrollIndicators();\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n * Note that `this._scrollRef` might not be a `ScrollView`, so we\n * need to check that it responds to `getScrollResponder` before calling it.\n */\n getScrollResponder() {\n if (this._scrollRef && this._scrollRef.getScrollResponder) {\n return this._scrollRef.getScrollResponder();\n }\n }\n getScrollableNode() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n return this._scrollRef.getScrollableNode();\n } else {\n return this._scrollRef;\n }\n }\n getScrollRef() {\n if (this._scrollRef && this._scrollRef.getScrollRef) {\n return this._scrollRef.getScrollRef();\n } else {\n return this._scrollRef;\n }\n }\n _getCellKey() {\n var _this$context;\n return ((_this$context = this.context) == null ? void 0 : _this$context.cellKey) || 'rootList';\n }\n\n // $FlowFixMe[missing-local-annot]\n\n hasMore() {\n return this._hasMore;\n }\n\n // $FlowFixMe[missing-local-annot]\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n\n constructor(_props) {\n var _this$props$updateCel;\n super(_props);\n this._getScrollMetrics = () => {\n return this._scrollMetrics;\n };\n this._getOutermostParentListRef = () => {\n if (this._isNestedWithSameOrientation()) {\n return this.context.getOutermostParentListRef();\n } else {\n return this;\n }\n };\n this._registerAsNestedChild = childList => {\n this._nestedChildLists.add(childList.ref, childList.cellKey);\n if (this._hasInteracted) {\n childList.ref.recordInteraction();\n }\n };\n this._unregisterAsNestedChild = childList => {\n this._nestedChildLists.remove(childList.ref);\n };\n this._onUpdateSeparators = (keys, newProps) => {\n keys.forEach(key => {\n var ref = key != null && this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n });\n };\n this._getSpacerKey = isVertical => isVertical ? 'height' : 'width';\n this._averageCellLength = 0;\n this._cellRefs = {};\n this._frames = {};\n this._footerLength = 0;\n this._hasTriggeredInitialScrollToIndex = false;\n this._hasInteracted = false;\n this._hasMore = false;\n this._hasWarned = {};\n this._headerLength = 0;\n this._hiPriInProgress = false;\n this._highestMeasuredFrameIndex = 0;\n this._indicesToKeys = new Map();\n this._lastFocusedCellKey = null;\n this._nestedChildLists = new ChildListCollection();\n this._offsetFromParentVirtualizedList = 0;\n this._prevParentOffset = 0;\n this._scrollMetrics = {\n contentLength: 0,\n dOffset: 0,\n dt: 10,\n offset: 0,\n timestamp: 0,\n velocity: 0,\n visibleLength: 0,\n zoomScale: 1\n };\n this._scrollRef = null;\n this._sentStartForContentLength = 0;\n this._sentEndForContentLength = 0;\n this._totalCellLength = 0;\n this._totalCellsMeasured = 0;\n this._viewabilityTuples = [];\n this._captureScrollRef = ref => {\n this._scrollRef = ref;\n };\n this._defaultRenderScrollComponent = props => {\n var onRefresh = props.onRefresh;\n if (this._isNestedWithSameOrientation()) {\n // $FlowFixMe[prop-missing] - Typing ReactNativeComponent revealed errors\n return /*#__PURE__*/React.createElement(View, props);\n } else if (onRefresh) {\n var _props$refreshing;\n invariant(typeof props.refreshing === 'boolean', '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' + JSON.stringify((_props$refreshing = props.refreshing) !== null && _props$refreshing !== void 0 ? _props$refreshing : 'undefined') + '`');\n return (\n /*#__PURE__*/\n // $FlowFixMe[prop-missing] Invalid prop usage\n // $FlowFixMe[incompatible-use]\n React.createElement(ScrollView, _extends({}, props, {\n refreshControl: props.refreshControl == null ? /*#__PURE__*/React.createElement(RefreshControl\n // $FlowFixMe[incompatible-type]\n , {\n refreshing: props.refreshing,\n onRefresh: onRefresh,\n progressViewOffset: props.progressViewOffset\n }) : props.refreshControl\n }))\n );\n } else {\n // $FlowFixMe[prop-missing] Invalid prop usage\n // $FlowFixMe[incompatible-use]\n return /*#__PURE__*/React.createElement(ScrollView, props);\n }\n };\n this._onCellLayout = (e, cellKey, index) => {\n var layout = e.nativeEvent.layout;\n var next = {\n offset: this._selectOffset(layout),\n length: this._selectLength(layout),\n index,\n inLayout: true\n };\n var curr = this._frames[cellKey];\n if (!curr || next.offset !== curr.offset || next.length !== curr.length || index !== curr.index) {\n this._totalCellLength += next.length - (curr ? curr.length : 0);\n this._totalCellsMeasured += curr ? 0 : 1;\n this._averageCellLength = this._totalCellLength / this._totalCellsMeasured;\n this._frames[cellKey] = next;\n this._highestMeasuredFrameIndex = Math.max(this._highestMeasuredFrameIndex, index);\n this._scheduleCellsToRenderUpdate();\n } else {\n this._frames[cellKey].inLayout = true;\n }\n this._triggerRemeasureForChildListsInCell(cellKey);\n this._computeBlankness();\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n };\n this._onCellUnmount = cellKey => {\n delete this._cellRefs[cellKey];\n var curr = this._frames[cellKey];\n if (curr) {\n this._frames[cellKey] = _objectSpread(_objectSpread({}, curr), {}, {\n inLayout: false\n });\n }\n };\n this._onLayout = e => {\n if (this._isNestedWithSameOrientation()) {\n // Need to adjust our scroll metrics to be relative to our containing\n // VirtualizedList before we can make claims about list item viewability\n this.measureLayoutRelativeToContainingList();\n } else {\n this._scrollMetrics.visibleLength = this._selectLength(e.nativeEvent.layout);\n }\n this.props.onLayout && this.props.onLayout(e);\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\n };\n this._onLayoutEmpty = e => {\n this.props.onLayout && this.props.onLayout(e);\n };\n this._onLayoutFooter = e => {\n this._triggerRemeasureForChildListsInCell(this._getFooterCellKey());\n this._footerLength = this._selectLength(e.nativeEvent.layout);\n };\n this._onLayoutHeader = e => {\n this._headerLength = this._selectLength(e.nativeEvent.layout);\n };\n this._onContentSizeChange = (width, height) => {\n if (width > 0 && height > 0 && this.props.initialScrollIndex != null && this.props.initialScrollIndex > 0 && !this._hasTriggeredInitialScrollToIndex) {\n if (this.props.contentOffset == null) {\n if (this.props.initialScrollIndex < this.props.getItemCount(this.props.data)) {\n this.scrollToIndex({\n animated: false,\n index: nullthrows(this.props.initialScrollIndex)\n });\n } else {\n this.scrollToEnd({\n animated: false\n });\n }\n }\n this._hasTriggeredInitialScrollToIndex = true;\n }\n if (this.props.onContentSizeChange) {\n this.props.onContentSizeChange(width, height);\n }\n this._scrollMetrics.contentLength = this._selectLength({\n height,\n width\n });\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\n };\n this._convertParentScrollMetrics = metrics => {\n // Offset of the top of the nested list relative to the top of its parent's viewport\n var offset = metrics.offset - this._offsetFromParentVirtualizedList;\n // Child's visible length is the same as its parent's\n var visibleLength = metrics.visibleLength;\n var dOffset = offset - this._scrollMetrics.offset;\n var contentLength = this._scrollMetrics.contentLength;\n return {\n visibleLength,\n contentLength,\n offset,\n dOffset\n };\n };\n this._onScroll = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScroll(e);\n });\n if (this.props.onScroll) {\n this.props.onScroll(e);\n }\n var timestamp = e.timeStamp;\n var visibleLength = this._selectLength(e.nativeEvent.layoutMeasurement);\n var contentLength = this._selectLength(e.nativeEvent.contentSize);\n var offset = this._selectOffset(e.nativeEvent.contentOffset);\n var dOffset = offset - this._scrollMetrics.offset;\n if (this._isNestedWithSameOrientation()) {\n if (this._scrollMetrics.contentLength === 0) {\n // Ignore scroll events until onLayout has been called and we\n // know our offset from our offset from our parent\n return;\n }\n var _this$_convertParentS = this._convertParentScrollMetrics({\n visibleLength,\n offset\n });\n visibleLength = _this$_convertParentS.visibleLength;\n contentLength = _this$_convertParentS.contentLength;\n offset = _this$_convertParentS.offset;\n dOffset = _this$_convertParentS.dOffset;\n }\n var dt = this._scrollMetrics.timestamp ? Math.max(1, timestamp - this._scrollMetrics.timestamp) : 1;\n var velocity = dOffset / dt;\n if (dt > 500 && this._scrollMetrics.dt > 500 && contentLength > 5 * visibleLength && !this._hasWarned.perf) {\n infoLog('VirtualizedList: You have a large list that is slow to update - make sure your ' + 'renderItem function renders components that follow React performance best practices ' + 'like PureComponent, shouldComponentUpdate, etc.', {\n dt,\n prevDt: this._scrollMetrics.dt,\n contentLength\n });\n this._hasWarned.perf = true;\n }\n\n // For invalid negative values (w/ RTL), set this to 1.\n var zoomScale = e.nativeEvent.zoomScale < 0 ? 1 : e.nativeEvent.zoomScale;\n this._scrollMetrics = {\n contentLength,\n dt,\n dOffset,\n offset,\n timestamp,\n velocity,\n visibleLength,\n zoomScale\n };\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n if (!this.props) {\n return;\n }\n this._maybeCallOnEdgeReached();\n if (velocity !== 0) {\n this._fillRateHelper.activate();\n }\n this._computeBlankness();\n this._scheduleCellsToRenderUpdate();\n };\n this._onScrollBeginDrag = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScrollBeginDrag(e);\n });\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.recordInteraction();\n });\n this._hasInteracted = true;\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n this._onScrollEndDrag = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScrollEndDrag(e);\n });\n var velocity = e.nativeEvent.velocity;\n if (velocity) {\n this._scrollMetrics.velocity = this._selectOffset(velocity);\n }\n this._computeBlankness();\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n this._onMomentumScrollBegin = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onMomentumScrollBegin(e);\n });\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n this._onMomentumScrollEnd = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onMomentumScrollEnd(e);\n });\n this._scrollMetrics.velocity = 0;\n this._computeBlankness();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n this._updateCellsToRender = () => {\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n this.setState((state, props) => {\n var cellsAroundViewport = this._adjustCellsAroundViewport(props, state.cellsAroundViewport);\n var renderMask = VirtualizedList._createRenderMask(props, cellsAroundViewport, this._getNonViewportRenderRegions(props));\n if (cellsAroundViewport.first === state.cellsAroundViewport.first && cellsAroundViewport.last === state.cellsAroundViewport.last && renderMask.equals(state.renderMask)) {\n return null;\n }\n return {\n cellsAroundViewport,\n renderMask\n };\n });\n };\n this._createViewToken = (index, isViewable, props\n // $FlowFixMe[missing-local-annot]\n ) => {\n var data = props.data,\n getItem = props.getItem;\n var item = getItem(data, index);\n return {\n index,\n item,\n key: this._keyExtractor(item, index, props),\n isViewable\n };\n };\n this._getOffsetApprox = (index, props) => {\n if (Number.isInteger(index)) {\n return this.__getFrameMetricsApprox(index, props).offset;\n } else {\n var frameMetrics = this.__getFrameMetricsApprox(Math.floor(index), props);\n var remainder = index - Math.floor(index);\n return frameMetrics.offset + remainder * frameMetrics.length;\n }\n };\n this.__getFrameMetricsApprox = (index, props) => {\n var frame = this._getFrameMetrics(index, props);\n if (frame && frame.index === index) {\n // check for invalid frames due to row re-ordering\n return frame;\n } else {\n var data = props.data,\n getItemCount = props.getItemCount,\n getItemLayout = props.getItemLayout;\n invariant(index >= 0 && index < getItemCount(data), 'Tried to get frame for out of range index ' + index);\n invariant(!getItemLayout, 'Should not have to estimate frames when a measurement metrics function is provided');\n return {\n length: this._averageCellLength,\n offset: this._averageCellLength * index\n };\n }\n };\n this._getFrameMetrics = (index, props) => {\n var data = props.data,\n getItem = props.getItem,\n getItemCount = props.getItemCount,\n getItemLayout = props.getItemLayout;\n invariant(index >= 0 && index < getItemCount(data), 'Tried to get frame for out of range index ' + index);\n var item = getItem(data, index);\n var frame = this._frames[this._keyExtractor(item, index, props)];\n if (!frame || frame.index !== index) {\n if (getItemLayout) {\n /* $FlowFixMe[prop-missing] (>=0.63.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.63 was deployed. To see the error\n * delete this comment and run Flow. */\n return getItemLayout(data, index);\n }\n }\n return frame;\n };\n this._getNonViewportRenderRegions = props => {\n // Keep a viewport's worth of content around the last focused cell to allow\n // random navigation around it without any blanking. E.g. tabbing from one\n // focused item out of viewport to another.\n if (!(this._lastFocusedCellKey && this._cellRefs[this._lastFocusedCellKey])) {\n return [];\n }\n var lastFocusedCellRenderer = this._cellRefs[this._lastFocusedCellKey];\n var focusedCellIndex = lastFocusedCellRenderer.props.index;\n var itemCount = props.getItemCount(props.data);\n\n // The last cell we rendered may be at a new index. Bail if we don't know\n // where it is.\n if (focusedCellIndex >= itemCount || this._keyExtractor(props.getItem(props.data, focusedCellIndex), focusedCellIndex, props) !== this._lastFocusedCellKey) {\n return [];\n }\n var first = focusedCellIndex;\n var heightOfCellsBeforeFocused = 0;\n for (var i = first - 1; i >= 0 && heightOfCellsBeforeFocused < this._scrollMetrics.visibleLength; i--) {\n first--;\n heightOfCellsBeforeFocused += this.__getFrameMetricsApprox(i, props).length;\n }\n var last = focusedCellIndex;\n var heightOfCellsAfterFocused = 0;\n for (var _i = last + 1; _i < itemCount && heightOfCellsAfterFocused < this._scrollMetrics.visibleLength; _i++) {\n last++;\n heightOfCellsAfterFocused += this.__getFrameMetricsApprox(_i, props).length;\n }\n return [{\n first,\n last\n }];\n };\n this._checkProps(_props);\n this._fillRateHelper = new FillRateHelper(this._getFrameMetrics);\n this._updateCellsToRenderBatcher = new Batchinator(this._updateCellsToRender, (_this$props$updateCel = this.props.updateCellsBatchingPeriod) !== null && _this$props$updateCel !== void 0 ? _this$props$updateCel : 50);\n if (this.props.viewabilityConfigCallbackPairs) {\n this._viewabilityTuples = this.props.viewabilityConfigCallbackPairs.map(pair => ({\n viewabilityHelper: new ViewabilityHelper(pair.viewabilityConfig),\n onViewableItemsChanged: pair.onViewableItemsChanged\n }));\n } else {\n var _this$props3 = this.props,\n onViewableItemsChanged = _this$props3.onViewableItemsChanged,\n viewabilityConfig = _this$props3.viewabilityConfig;\n if (onViewableItemsChanged) {\n this._viewabilityTuples.push({\n viewabilityHelper: new ViewabilityHelper(viewabilityConfig),\n onViewableItemsChanged: onViewableItemsChanged\n });\n }\n }\n var initialRenderRegion = VirtualizedList._initialRenderRegion(_props);\n this.state = {\n cellsAroundViewport: initialRenderRegion,\n renderMask: VirtualizedList._createRenderMask(_props, initialRenderRegion)\n };\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n // For issue https://github.com/necolas/react-native-web/issues/995\n this.invertedWheelEventHandler = ev => {\n var scrollOffset = this.props.horizontal ? ev.target.scrollLeft : ev.target.scrollTop;\n var scrollLength = this.props.horizontal ? ev.target.scrollWidth : ev.target.scrollHeight;\n var clientLength = this.props.horizontal ? ev.target.clientWidth : ev.target.clientHeight;\n var isEventTargetScrollable = scrollLength > clientLength;\n var delta = this.props.horizontal ? ev.deltaX || ev.wheelDeltaX : ev.deltaY || ev.wheelDeltaY;\n var leftoverDelta = delta;\n if (isEventTargetScrollable) {\n leftoverDelta = delta < 0 ? Math.min(delta + scrollOffset, 0) : Math.max(delta - (scrollLength - clientLength - scrollOffset), 0);\n }\n var targetDelta = delta - leftoverDelta;\n if (this.props.inverted && this._scrollRef && this._scrollRef.getScrollableNode) {\n var node = this._scrollRef.getScrollableNode();\n if (this.props.horizontal) {\n ev.target.scrollLeft += targetDelta;\n var nextScrollLeft = node.scrollLeft - leftoverDelta;\n node.scrollLeft = !this.props.getItemLayout ? Math.min(nextScrollLeft, this._totalCellLength) : nextScrollLeft;\n } else {\n ev.target.scrollTop += targetDelta;\n var nextScrollTop = node.scrollTop - leftoverDelta;\n node.scrollTop = !this.props.getItemLayout ? Math.min(nextScrollTop, this._totalCellLength) : nextScrollTop;\n }\n ev.preventDefault();\n }\n };\n }\n _checkProps(props) {\n var onScroll = props.onScroll,\n windowSize = props.windowSize,\n getItemCount = props.getItemCount,\n data = props.data,\n initialScrollIndex = props.initialScrollIndex;\n invariant(\n // $FlowFixMe[prop-missing]\n !onScroll || !onScroll.__isNative, 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' + 'to support native onScroll events with useNativeDriver');\n invariant(windowSizeOrDefault(windowSize) > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.');\n invariant(getItemCount, 'VirtualizedList: The \"getItemCount\" prop must be provided');\n var itemCount = getItemCount(data);\n if (initialScrollIndex != null && !this._hasTriggeredInitialScrollToIndex && (initialScrollIndex < 0 || itemCount > 0 && initialScrollIndex >= itemCount) && !this._hasWarned.initialScrollIndex) {\n console.warn(\"initialScrollIndex \\\"\" + initialScrollIndex + \"\\\" is not valid (list has \" + itemCount + \" items)\");\n this._hasWarned.initialScrollIndex = true;\n }\n if (__DEV__ && !this._hasWarned.flexWrap) {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n var flatStyles = StyleSheet.flatten(this.props.contentContainerStyle);\n if (flatStyles != null && flatStyles.flexWrap === 'wrap') {\n console.warn('`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.' + 'Consider using `numColumns` with `FlatList` instead.');\n this._hasWarned.flexWrap = true;\n }\n }\n }\n static _createRenderMask(props, cellsAroundViewport, additionalRegions) {\n var itemCount = props.getItemCount(props.data);\n invariant(cellsAroundViewport.first >= 0 && cellsAroundViewport.last >= cellsAroundViewport.first - 1 && cellsAroundViewport.last < itemCount, \"Invalid cells around viewport \\\"[\" + cellsAroundViewport.first + \", \" + cellsAroundViewport.last + \"]\\\" was passed to VirtualizedList._createRenderMask\");\n var renderMask = new CellRenderMask(itemCount);\n if (itemCount > 0) {\n var allRegions = [cellsAroundViewport, ...(additionalRegions !== null && additionalRegions !== void 0 ? additionalRegions : [])];\n for (var _i2 = 0, _allRegions = allRegions; _i2 < _allRegions.length; _i2++) {\n var region = _allRegions[_i2];\n renderMask.addCells(region);\n }\n\n // The initially rendered cells are retained as part of the\n // \"scroll-to-top\" optimization\n if (props.initialScrollIndex == null || props.initialScrollIndex <= 0) {\n var initialRegion = VirtualizedList._initialRenderRegion(props);\n renderMask.addCells(initialRegion);\n }\n\n // The layout coordinates of sticker headers may be off-screen while the\n // actual header is on-screen. Keep the most recent before the viewport\n // rendered, even if its layout coordinates are not in viewport.\n var stickyIndicesSet = new Set(props.stickyHeaderIndices);\n VirtualizedList._ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellsAroundViewport.first);\n }\n return renderMask;\n }\n static _initialRenderRegion(props) {\n var _props$initialScrollI;\n var itemCount = props.getItemCount(props.data);\n var firstCellIndex = Math.max(0, Math.min(itemCount - 1, Math.floor((_props$initialScrollI = props.initialScrollIndex) !== null && _props$initialScrollI !== void 0 ? _props$initialScrollI : 0)));\n var lastCellIndex = Math.min(itemCount, firstCellIndex + initialNumToRenderOrDefault(props.initialNumToRender)) - 1;\n return {\n first: firstCellIndex,\n last: lastCellIndex\n };\n }\n static _ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellIdx) {\n var stickyOffset = props.ListHeaderComponent ? 1 : 0;\n for (var itemIdx = cellIdx - 1; itemIdx >= 0; itemIdx--) {\n if (stickyIndicesSet.has(itemIdx + stickyOffset)) {\n renderMask.addCells({\n first: itemIdx,\n last: itemIdx\n });\n break;\n }\n }\n }\n _adjustCellsAroundViewport(props, cellsAroundViewport) {\n var data = props.data,\n getItemCount = props.getItemCount;\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(props.onEndReachedThreshold);\n var _this$_scrollMetrics = this._scrollMetrics,\n contentLength = _this$_scrollMetrics.contentLength,\n offset = _this$_scrollMetrics.offset,\n visibleLength = _this$_scrollMetrics.visibleLength;\n var distanceFromEnd = contentLength - visibleLength - offset;\n\n // Wait until the scroll view metrics have been set up. And until then,\n // we will trust the initialNumToRender suggestion\n if (visibleLength <= 0 || contentLength <= 0) {\n return cellsAroundViewport.last >= getItemCount(data) ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport;\n }\n var newCellsAroundViewport;\n if (props.disableVirtualization) {\n var renderAhead = distanceFromEnd < onEndReachedThreshold * visibleLength ? maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch) : 0;\n newCellsAroundViewport = {\n first: 0,\n last: Math.min(cellsAroundViewport.last + renderAhead, getItemCount(data) - 1)\n };\n } else {\n // If we have a non-zero initialScrollIndex and run this before we've scrolled,\n // we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex.\n // So let's wait until we've scrolled the view to the right place. And until then,\n // we will trust the initialScrollIndex suggestion.\n\n // Thus, we want to recalculate the windowed render limits if any of the following hold:\n // - initialScrollIndex is undefined or is 0\n // - initialScrollIndex > 0 AND scrolling is complete\n // - initialScrollIndex > 0 AND the end of the list is visible (this handles the case\n // where the list is shorter than the visible area)\n if (props.initialScrollIndex && !this._scrollMetrics.offset && Math.abs(distanceFromEnd) >= Number.EPSILON) {\n return cellsAroundViewport.last >= getItemCount(data) ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport;\n }\n newCellsAroundViewport = computeWindowedRenderLimits(props, maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch), windowSizeOrDefault(props.windowSize), cellsAroundViewport, this.__getFrameMetricsApprox, this._scrollMetrics);\n invariant(newCellsAroundViewport.last < getItemCount(data), 'computeWindowedRenderLimits() should return range in-bounds');\n }\n if (this._nestedChildLists.size() > 0) {\n // If some cell in the new state has a child list in it, we should only render\n // up through that item, so that we give that list a chance to render.\n // Otherwise there's churn from multiple child lists mounting and un-mounting\n // their items.\n\n // Will this prevent rendering if the nested list doesn't realize the end?\n var childIdx = this._findFirstChildWithMore(newCellsAroundViewport.first, newCellsAroundViewport.last);\n newCellsAroundViewport.last = childIdx !== null && childIdx !== void 0 ? childIdx : newCellsAroundViewport.last;\n }\n return newCellsAroundViewport;\n }\n _findFirstChildWithMore(first, last) {\n for (var ii = first; ii <= last; ii++) {\n var cellKeyForIndex = this._indicesToKeys.get(ii);\n if (cellKeyForIndex != null && this._nestedChildLists.anyInCell(cellKeyForIndex, childList => childList.hasMore())) {\n return ii;\n }\n }\n return null;\n }\n componentDidMount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.registerAsNestedChild({\n ref: this,\n cellKey: this.context.cellKey\n });\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n this.setupWebWheelHandler();\n }\n componentWillUnmount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.unregisterAsNestedChild({\n ref: this\n });\n }\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.dispose();\n });\n this._fillRateHelper.deactivateAndFlush();\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n this.teardownWebWheelHandler();\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n setupWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().addEventListener('wheel', this.invertedWheelEventHandler);\n } else {\n setTimeout(() => this.setupWebWheelHandler(), 50);\n return;\n }\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n teardownWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().removeEventListener('wheel', this.invertedWheelEventHandler);\n }\n }\n static getDerivedStateFromProps(newProps, prevState) {\n // first and last could be stale (e.g. if a new, shorter items props is passed in), so we make\n // sure we're rendering a reasonable range here.\n var itemCount = newProps.getItemCount(newProps.data);\n if (itemCount === prevState.renderMask.numCells()) {\n return prevState;\n }\n var constrainedCells = VirtualizedList._constrainToItemCount(prevState.cellsAroundViewport, newProps);\n return {\n cellsAroundViewport: constrainedCells,\n renderMask: VirtualizedList._createRenderMask(newProps, constrainedCells)\n };\n }\n _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) {\n var _this = this;\n var _this$props4 = this.props,\n CellRendererComponent = _this$props4.CellRendererComponent,\n ItemSeparatorComponent = _this$props4.ItemSeparatorComponent,\n ListHeaderComponent = _this$props4.ListHeaderComponent,\n ListItemComponent = _this$props4.ListItemComponent,\n data = _this$props4.data,\n debug = _this$props4.debug,\n getItem = _this$props4.getItem,\n getItemCount = _this$props4.getItemCount,\n getItemLayout = _this$props4.getItemLayout,\n horizontal = _this$props4.horizontal,\n renderItem = _this$props4.renderItem;\n var stickyOffset = ListHeaderComponent ? 1 : 0;\n var end = getItemCount(data) - 1;\n var prevCellKey;\n last = Math.min(end, last);\n var _loop = function _loop() {\n var item = getItem(data, ii);\n var key = _this._keyExtractor(item, ii, _this.props);\n _this._indicesToKeys.set(ii, key);\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n stickyHeaderIndices.push(cells.length);\n }\n var shouldListenForLayout = getItemLayout == null || debug || _this._fillRateHelper.enabled();\n cells.push( /*#__PURE__*/React.createElement(CellRenderer, _extends({\n CellRendererComponent: CellRendererComponent,\n ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined,\n ListItemComponent: ListItemComponent,\n cellKey: key,\n horizontal: horizontal,\n index: ii,\n inversionStyle: inversionStyle,\n item: item,\n key: key,\n prevCellKey: prevCellKey,\n onUpdateSeparators: _this._onUpdateSeparators,\n onCellFocusCapture: e => _this._onCellFocusCapture(key),\n onUnmount: _this._onCellUnmount,\n ref: _ref => {\n _this._cellRefs[key] = _ref;\n },\n renderItem: renderItem\n }, shouldListenForLayout && {\n onCellLayout: _this._onCellLayout\n })));\n prevCellKey = key;\n };\n for (var ii = first; ii <= last; ii++) {\n _loop();\n }\n }\n static _constrainToItemCount(cells, props) {\n var itemCount = props.getItemCount(props.data);\n var last = Math.min(itemCount - 1, cells.last);\n var maxToRenderPerBatch = maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch);\n return {\n first: clamp(0, itemCount - 1 - maxToRenderPerBatch, cells.first),\n last\n };\n }\n _isNestedWithSameOrientation() {\n var nestedContext = this.context;\n return !!(nestedContext && !!nestedContext.horizontal === horizontalOrDefault(this.props.horizontal));\n }\n _keyExtractor(item, index, props\n // $FlowFixMe[missing-local-annot]\n ) {\n if (props.keyExtractor != null) {\n return props.keyExtractor(item, index);\n }\n var key = defaultKeyExtractor(item, index);\n if (key === String(index)) {\n _usedIndexForKey = true;\n if (item.type && item.type.displayName) {\n _keylessItemComponentName = item.type.displayName;\n }\n }\n return key;\n }\n render() {\n this._checkProps(this.props);\n var _this$props5 = this.props,\n ListEmptyComponent = _this$props5.ListEmptyComponent,\n ListFooterComponent = _this$props5.ListFooterComponent,\n ListHeaderComponent = _this$props5.ListHeaderComponent;\n var _this$props6 = this.props,\n data = _this$props6.data,\n horizontal = _this$props6.horizontal;\n var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles.horizontallyInverted : styles.verticallyInverted : null;\n var cells = [];\n var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);\n var stickyHeaderIndices = [];\n\n // 1. Add cell for ListHeaderComponent\n if (ListHeaderComponent) {\n if (stickyIndicesFromProps.has(0)) {\n stickyHeaderIndices.push(0);\n }\n var _element = /*#__PURE__*/React.isValidElement(ListHeaderComponent) ? ListHeaderComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListHeaderComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-header',\n key: \"$header\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutHeader,\n style: [inversionStyle, this.props.ListHeaderComponentStyle]\n },\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n _element)));\n }\n\n // 2a. Add a cell for ListEmptyComponent if applicable\n var itemCount = this.props.getItemCount(data);\n if (itemCount === 0 && ListEmptyComponent) {\n var _element2 = /*#__PURE__*/React.isValidElement(ListEmptyComponent) ? ListEmptyComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListEmptyComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-empty',\n key: \"$empty\"\n }, /*#__PURE__*/React.cloneElement(_element2, {\n onLayout: event => {\n this._onLayoutEmpty(event);\n if (_element2.props.onLayout) {\n _element2.props.onLayout(event);\n }\n },\n style: [inversionStyle, _element2.props.style]\n })));\n }\n\n // 2b. Add cells and spacers for each item\n if (itemCount > 0) {\n _usedIndexForKey = false;\n _keylessItemComponentName = '';\n var spacerKey = this._getSpacerKey(!horizontal);\n var renderRegions = this.state.renderMask.enumerateRegions();\n var lastSpacer = findLastWhere(renderRegions, r => r.isSpacer);\n for (var _iterator = _createForOfIteratorHelperLoose(renderRegions), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n if (section.isSpacer) {\n // Legacy behavior is to avoid spacers when virtualization is\n // disabled (including head spacers on initial render).\n if (this.props.disableVirtualization) {\n continue;\n }\n\n // Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to\n // prevent the user for hyperscrolling into un-measured area because otherwise content will\n // likely jump around as it renders in above the viewport.\n var isLastSpacer = section === lastSpacer;\n var constrainToMeasured = isLastSpacer && !this.props.getItemLayout;\n var last = constrainToMeasured ? clamp(section.first - 1, section.last, this._highestMeasuredFrameIndex) : section.last;\n var firstMetrics = this.__getFrameMetricsApprox(section.first, this.props);\n var lastMetrics = this.__getFrameMetricsApprox(last, this.props);\n var spacerSize = lastMetrics.offset + lastMetrics.length - firstMetrics.offset;\n cells.push( /*#__PURE__*/React.createElement(View, {\n key: \"$spacer-\" + section.first,\n style: {\n [spacerKey]: spacerSize\n }\n }));\n } else {\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, section.first, section.last, inversionStyle);\n }\n }\n if (!this._hasWarned.keys && _usedIndexForKey) {\n console.warn('VirtualizedList: missing keys for items, make sure to specify a key or id property on each ' + 'item or provide a custom keyExtractor.', _keylessItemComponentName);\n this._hasWarned.keys = true;\n }\n }\n\n // 3. Add cell for ListFooterComponent\n if (ListFooterComponent) {\n var _element3 = /*#__PURE__*/React.isValidElement(ListFooterComponent) ? ListFooterComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListFooterComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getFooterCellKey(),\n key: \"$footer\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutFooter,\n style: [inversionStyle, this.props.ListFooterComponentStyle]\n },\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n _element3)));\n }\n\n // 4. Render the ScrollView\n var scrollProps = _objectSpread(_objectSpread({}, this.props), {}, {\n onContentSizeChange: this._onContentSizeChange,\n onLayout: this._onLayout,\n onScroll: this._onScroll,\n onScrollBeginDrag: this._onScrollBeginDrag,\n onScrollEndDrag: this._onScrollEndDrag,\n onMomentumScrollBegin: this._onMomentumScrollBegin,\n onMomentumScrollEnd: this._onMomentumScrollEnd,\n scrollEventThrottle: scrollEventThrottleOrDefault(this.props.scrollEventThrottle),\n // TODO: Android support\n invertStickyHeaders: this.props.invertStickyHeaders !== undefined ? this.props.invertStickyHeaders : this.props.inverted,\n stickyHeaderIndices,\n style: inversionStyle ? [inversionStyle, this.props.style] : this.props.style\n });\n this._hasMore = this.state.cellsAroundViewport.last < itemCount - 1;\n var innerRet = /*#__PURE__*/React.createElement(VirtualizedListContextProvider, {\n value: {\n cellKey: null,\n getScrollMetrics: this._getScrollMetrics,\n horizontal: horizontalOrDefault(this.props.horizontal),\n getOutermostParentListRef: this._getOutermostParentListRef,\n registerAsNestedChild: this._registerAsNestedChild,\n unregisterAsNestedChild: this._unregisterAsNestedChild\n }\n }, /*#__PURE__*/React.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), {\n ref: this._captureScrollRef\n }, cells));\n var ret = innerRet;\n /* https://github.com/necolas/react-native-web/issues/2239: Re-enable when ScrollView.Context.Consumer is available.\n if (__DEV__) {\n ret = (\n \n {scrollContext => {\n if (\n scrollContext != null &&\n !scrollContext.horizontal ===\n !horizontalOrDefault(this.props.horizontal) &&\n !this._hasWarned.nesting &&\n this.context == null &&\n this.props.scrollEnabled !== false\n ) {\n // TODO (T46547044): use React.warn once 16.9 is sync'd: https://github.com/facebook/react/pull/15170\n console.error(\n 'VirtualizedLists should never be nested inside plain ScrollViews with the same ' +\n 'orientation because it can break windowing and other functionality - use another ' +\n 'VirtualizedList-backed container instead.',\n );\n this._hasWarned.nesting = true;\n }\n return innerRet;\n }}\n \n );\n }*/\n if (this.props.debug) {\n return /*#__PURE__*/React.createElement(View, {\n style: styles.debug\n }, ret, this._renderDebugOverlay());\n } else {\n return ret;\n }\n }\n componentDidUpdate(prevProps) {\n var _this$props7 = this.props,\n data = _this$props7.data,\n extraData = _this$props7.extraData;\n if (data !== prevProps.data || extraData !== prevProps.extraData) {\n // clear the viewableIndices cache to also trigger\n // the onViewableItemsChanged callback with the new data\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.resetViewableIndices();\n });\n }\n // The `this._hiPriInProgress` is guaranteeing a hiPri cell update will only happen\n // once per fiber update. The `_scheduleCellsToRenderUpdate` will set it to true\n // if a hiPri update needs to perform. If `componentDidUpdate` is triggered with\n // `this._hiPriInProgress=true`, means it's triggered by the hiPri update. The\n // `_scheduleCellsToRenderUpdate` will check this condition and not perform\n // another hiPri update.\n var hiPriInProgress = this._hiPriInProgress;\n this._scheduleCellsToRenderUpdate();\n // Make sure setting `this._hiPriInProgress` back to false after `componentDidUpdate`\n // is triggered with `this._hiPriInProgress = true`\n if (hiPriInProgress) {\n this._hiPriInProgress = false;\n }\n }\n\n // Used for preventing scrollToIndex from being called multiple times for initialScrollIndex\n\n // flag to prevent infinite hiPri cell limit update\n\n // $FlowFixMe[missing-local-annot]\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n\n _computeBlankness() {\n this._fillRateHelper.computeBlankness(this.props, this.state.cellsAroundViewport, this._scrollMetrics);\n }\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n\n _onCellFocusCapture(cellKey) {\n this._lastFocusedCellKey = cellKey;\n this._updateCellsToRender();\n }\n _triggerRemeasureForChildListsInCell(cellKey) {\n this._nestedChildLists.forEachInCell(cellKey, childList => {\n childList.measureLayoutRelativeToContainingList();\n });\n }\n measureLayoutRelativeToContainingList() {\n // TODO (T35574538): findNodeHandle sometimes crashes with \"Unable to find\n // node on an unmounted component\" during scrolling\n try {\n if (!this._scrollRef) {\n return;\n }\n // We are assuming that getOutermostParentListRef().getScrollRef()\n // is a non-null reference to a ScrollView\n this._scrollRef.measureLayout(this.context.getOutermostParentListRef().getScrollRef(), (x, y, width, height) => {\n this._offsetFromParentVirtualizedList = this._selectOffset({\n x,\n y\n });\n this._scrollMetrics.contentLength = this._selectLength({\n width,\n height\n });\n var scrollMetrics = this._convertParentScrollMetrics(this.context.getScrollMetrics());\n var metricsChanged = this._scrollMetrics.visibleLength !== scrollMetrics.visibleLength || this._scrollMetrics.offset !== scrollMetrics.offset;\n if (metricsChanged) {\n this._scrollMetrics.visibleLength = scrollMetrics.visibleLength;\n this._scrollMetrics.offset = scrollMetrics.offset;\n\n // If metrics of the scrollView changed, then we triggered remeasure for child list\n // to ensure VirtualizedList has the right information.\n this._nestedChildLists.forEach(childList => {\n childList.measureLayoutRelativeToContainingList();\n });\n }\n }, error => {\n console.warn(\"VirtualizedList: Encountered an error while measuring a list's\" + ' offset from its containing VirtualizedList.');\n });\n } catch (error) {\n console.warn('measureLayoutRelativeToContainingList threw an error', error.stack);\n }\n }\n _getFooterCellKey() {\n return this._getCellKey() + '-footer';\n }\n // $FlowFixMe[missing-local-annot]\n _renderDebugOverlay() {\n var normalize = this._scrollMetrics.visibleLength / (this._scrollMetrics.contentLength || 1);\n var framesInLayout = [];\n var itemCount = this.props.getItemCount(this.props.data);\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = this.__getFrameMetricsApprox(ii, this.props);\n /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.68 was deployed. To see the\n * error delete this comment and run Flow. */\n if (frame.inLayout) {\n framesInLayout.push(frame);\n }\n }\n var windowTop = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.first, this.props).offset;\n var frameLast = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.last, this.props);\n var windowLen = frameLast.offset + frameLast.length - windowTop;\n var visTop = this._scrollMetrics.offset;\n var visLen = this._scrollMetrics.visibleLength;\n return /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlay]\n }, framesInLayout.map((f, ii) => /*#__PURE__*/React.createElement(View, {\n key: 'f' + ii,\n style: [styles.debugOverlayBase, styles.debugOverlayFrame, {\n top: f.offset * normalize,\n height: f.length * normalize\n }]\n })), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameLast, {\n top: windowTop * normalize,\n height: windowLen * normalize\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameVis, {\n top: visTop * normalize,\n height: visLen * normalize\n }]\n }));\n }\n _selectLength(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.height : metrics.width;\n }\n _selectOffset(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.y : metrics.x;\n }\n _maybeCallOnEdgeReached() {\n var _this$props8 = this.props,\n data = _this$props8.data,\n getItemCount = _this$props8.getItemCount,\n onStartReached = _this$props8.onStartReached,\n onStartReachedThreshold = _this$props8.onStartReachedThreshold,\n onEndReached = _this$props8.onEndReached,\n onEndReachedThreshold = _this$props8.onEndReachedThreshold,\n initialScrollIndex = _this$props8.initialScrollIndex;\n var _this$_scrollMetrics2 = this._scrollMetrics,\n contentLength = _this$_scrollMetrics2.contentLength,\n visibleLength = _this$_scrollMetrics2.visibleLength,\n offset = _this$_scrollMetrics2.offset;\n var distanceFromStart = offset;\n var distanceFromEnd = contentLength - visibleLength - offset;\n\n // Especially when oERT is zero it's necessary to 'floor' very small distance values to be 0\n // since debouncing causes us to not fire this event for every single \"pixel\" we scroll and can thus\n // be at the edge of the list with a distance approximating 0 but not quite there.\n if (distanceFromStart < ON_EDGE_REACHED_EPSILON) {\n distanceFromStart = 0;\n }\n if (distanceFromEnd < ON_EDGE_REACHED_EPSILON) {\n distanceFromEnd = 0;\n }\n\n // TODO: T121172172 Look into why we're \"defaulting\" to a threshold of 2px\n // when oERT is not present (different from 2 viewports used elsewhere)\n var DEFAULT_THRESHOLD_PX = 2;\n var startThreshold = onStartReachedThreshold != null ? onStartReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX;\n var endThreshold = onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX;\n var isWithinStartThreshold = distanceFromStart <= startThreshold;\n var isWithinEndThreshold = distanceFromEnd <= endThreshold;\n\n // First check if the user just scrolled within the end threshold\n // and call onEndReached only once for a given content length,\n // and only if onStartReached is not being executed\n if (onEndReached && this.state.cellsAroundViewport.last === getItemCount(data) - 1 && isWithinEndThreshold && this._scrollMetrics.contentLength !== this._sentEndForContentLength) {\n this._sentEndForContentLength = this._scrollMetrics.contentLength;\n onEndReached({\n distanceFromEnd\n });\n }\n\n // Next check if the user just scrolled within the start threshold\n // and call onStartReached only once for a given content length,\n // and only if onEndReached is not being executed\n else if (onStartReached != null && this.state.cellsAroundViewport.first === 0 && isWithinStartThreshold && this._scrollMetrics.contentLength !== this._sentStartForContentLength) {\n // On initial mount when using initialScrollIndex the offset will be 0 initially\n // and will trigger an unexpected onStartReached. To avoid this we can use\n // timestamp to differentiate between the initial scroll metrics and when we actually\n // received the first scroll event.\n if (!initialScrollIndex || this._scrollMetrics.timestamp !== 0) {\n this._sentStartForContentLength = this._scrollMetrics.contentLength;\n onStartReached({\n distanceFromStart\n });\n }\n }\n\n // If the user scrolls away from the start or end and back again,\n // cause onStartReached or onEndReached to be triggered again\n else {\n this._sentStartForContentLength = isWithinStartThreshold ? this._sentStartForContentLength : 0;\n this._sentEndForContentLength = isWithinEndThreshold ? this._sentEndForContentLength : 0;\n }\n }\n\n /* Translates metrics from a scroll event in a parent VirtualizedList into\n * coordinates relative to the child list.\n */\n\n _scheduleCellsToRenderUpdate() {\n var _this$state$cellsArou = this.state.cellsAroundViewport,\n first = _this$state$cellsArou.first,\n last = _this$state$cellsArou.last;\n var _this$_scrollMetrics3 = this._scrollMetrics,\n offset = _this$_scrollMetrics3.offset,\n visibleLength = _this$_scrollMetrics3.visibleLength,\n velocity = _this$_scrollMetrics3.velocity;\n var itemCount = this.props.getItemCount(this.props.data);\n var hiPri = false;\n var onStartReachedThreshold = onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold);\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold);\n // Mark as high priority if we're close to the start of the first item\n // But only if there are items before the first rendered item\n if (first > 0) {\n var distTop = offset - this.__getFrameMetricsApprox(first, this.props).offset;\n hiPri = distTop < 0 || velocity < -2 && distTop < getScrollingThreshold(onStartReachedThreshold, visibleLength);\n }\n // Mark as high priority if we're close to the end of the last item\n // But only if there are items after the last rendered item\n if (!hiPri && last >= 0 && last < itemCount - 1) {\n var distBottom = this.__getFrameMetricsApprox(last, this.props).offset - (offset + visibleLength);\n hiPri = distBottom < 0 || velocity > 2 && distBottom < getScrollingThreshold(onEndReachedThreshold, visibleLength);\n }\n // Only trigger high-priority updates if we've actually rendered cells,\n // and with that size estimate, accurately compute how many cells we should render.\n // Otherwise, it would just render as many cells as it can (of zero dimension),\n // each time through attempting to render more (limited by maxToRenderPerBatch),\n // starving the renderer from actually laying out the objects and computing _averageCellLength.\n // If this is triggered in an `componentDidUpdate` followed by a hiPri cellToRenderUpdate\n // We shouldn't do another hipri cellToRenderUpdate\n if (hiPri && (this._averageCellLength || this.props.getItemLayout) && !this._hiPriInProgress) {\n this._hiPriInProgress = true;\n // Don't worry about interactions when scrolling quickly; focus on filling content as fast\n // as possible.\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n this._updateCellsToRender();\n return;\n } else {\n this._updateCellsToRenderBatcher.schedule();\n }\n }\n\n /**\n * Gets an approximate offset to an item at a given index. Supports\n * fractional indices.\n */\n\n _updateViewableItems(props, cellsAroundViewport) {\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.onUpdate(props, this._scrollMetrics.offset, this._scrollMetrics.visibleLength, this._getFrameMetrics, this._createViewToken, tuple.onViewableItemsChanged, cellsAroundViewport);\n });\n }\n}\nVirtualizedList.contextType = VirtualizedListContext;\nvar styles = StyleSheet.create({\n verticallyInverted: {\n transform: 'scaleY(-1)'\n },\n horizontallyInverted: {\n transform: 'scaleX(-1)'\n },\n debug: {\n flex: 1\n },\n debugOverlayBase: {\n position: 'absolute',\n top: 0,\n right: 0\n },\n debugOverlay: {\n bottom: 0,\n width: 20,\n borderColor: 'blue',\n borderWidth: 1\n },\n debugOverlayFrame: {\n left: 0,\n backgroundColor: 'orange'\n },\n debugOverlayFrameLast: {\n left: 0,\n borderColor: 'green',\n borderWidth: 2\n },\n debugOverlayFrameVis: {\n left: 0,\n borderColor: 'red',\n borderWidth: 2\n }\n});\nexport default VirtualizedList;","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\nexport { memoizeOne as default };\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"numColumns\", \"columnWrapperStyle\", \"removeClippedSubviews\", \"strictMode\"];\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 * @format\n */\n\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport deepDiffer from '../deepDiffer';\nimport Platform from '../../../exports/Platform';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\nimport VirtualizedList from '../VirtualizedList';\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport memoizeOne from 'memoize-one';\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */ // removeClippedSubviewsOrDefault(this.props.removeClippedSubviews)\nfunction removeClippedSubviewsOrDefault(removeClippedSubviews) {\n return removeClippedSubviews !== null && removeClippedSubviews !== void 0 ? removeClippedSubviews : Platform.OS === 'android';\n}\n\n// numColumnsOrDefault(this.props.numColumns)\nfunction numColumnsOrDefault(numColumns) {\n return numColumns !== null && numColumns !== void 0 ? numColumns : 1;\n}\nfunction isArrayLike(data) {\n // $FlowExpectedError[incompatible-use]\n return typeof Object(data).length === 'number';\n}\n/**\n * A performant interface for rendering simple, flat lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Optional horizontal mode.\n * - Configurable viewability callbacks.\n * - Header support.\n * - Footer support.\n * - Separator support.\n * - Pull to Refresh.\n * - Scroll loading.\n * - ScrollToIndex support.\n *\n * If you need section support, use [``](docs/sectionlist.html).\n *\n * Minimal Example:\n *\n * {item.key}}\n * />\n *\n * More complex, multi-select example demonstrating `PureComponent` usage for perf optimization and avoiding bugs.\n *\n * - By binding the `onPressItem` handler, the props will remain `===` and `PureComponent` will\n * prevent wasteful re-renders unless the actual `id`, `selected`, or `title` props change, even\n * if the components rendered in `MyListItem` did not have such optimizations.\n * - By passing `extraData={this.state}` to `FlatList` we make sure `FlatList` itself will re-render\n * when the `state.selected` changes. Without setting this prop, `FlatList` would not know it\n * needs to re-render any items because it is also a `PureComponent` and the prop comparison will\n * not show any changes.\n * - `keyExtractor` tells the list to use the `id`s for the react keys instead of the default `key` property.\n *\n *\n * class MyListItem extends React.PureComponent {\n * _onPress = () => {\n * this.props.onPressItem(this.props.id);\n * };\n *\n * render() {\n * const textColor = this.props.selected ? \"red\" : \"black\";\n * return (\n * \n * \n * \n * {this.props.title}\n * \n * \n * \n * );\n * }\n * }\n *\n * class MultiSelectList extends React.PureComponent {\n * state = {selected: (new Map(): Map)};\n *\n * _keyExtractor = (item, index) => item.id;\n *\n * _onPressItem = (id: string) => {\n * // updater functions are preferred for transactional updates\n * this.setState((state) => {\n * // copy the map rather than modifying state.\n * const selected = new Map(state.selected);\n * selected.set(id, !selected.get(id)); // toggle\n * return {selected};\n * });\n * };\n *\n * _renderItem = ({item}) => (\n * \n * );\n *\n * render() {\n * return (\n * \n * );\n * }\n * }\n *\n * This is a convenience wrapper around [``](docs/virtualizedlist.html),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n * Also inherits [ScrollView Props](docs/scrollview.html#props), unless it is nested in another FlatList of same orientation.\n */\nclass FlatList extends React.PureComponent {\n /**\n * Scrolls to the end of the content. May be janky without `getItemLayout` prop.\n */\n scrollToEnd(params) {\n if (this._listRef) {\n this._listRef.scrollToEnd(params);\n }\n }\n\n /**\n * Scrolls to the item at the specified index such that it is positioned in the viewable area\n * such that `viewPosition` 0 places it at the top, 1 at the bottom, and 0.5 centered in the\n * middle. `viewOffset` is a fixed number of pixels to offset the final target position.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToIndex(params) {\n if (this._listRef) {\n this._listRef.scrollToIndex(params);\n }\n }\n\n /**\n * Requires linear scan through data - use `scrollToIndex` instead if possible.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToItem(params) {\n if (this._listRef) {\n this._listRef.scrollToItem(params);\n }\n }\n\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Check out [scrollToOffset](docs/virtualizedlist.html#scrolltooffset) of VirtualizedList\n */\n scrollToOffset(params) {\n if (this._listRef) {\n this._listRef.scrollToOffset(params);\n }\n }\n\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n recordInteraction() {\n if (this._listRef) {\n this._listRef.recordInteraction();\n }\n }\n\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n flashScrollIndicators() {\n if (this._listRef) {\n this._listRef.flashScrollIndicators();\n }\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n */\n getScrollResponder() {\n if (this._listRef) {\n return this._listRef.getScrollResponder();\n }\n }\n\n /**\n * Provides a reference to the underlying host component\n */\n getNativeScrollRef() {\n if (this._listRef) {\n /* $FlowFixMe[incompatible-return] Suppresses errors found when fixing\n * TextInput typing */\n return this._listRef.getScrollRef();\n }\n }\n getScrollableNode() {\n if (this._listRef) {\n return this._listRef.getScrollableNode();\n }\n }\n constructor(_props) {\n super(_props);\n this._virtualizedListPairs = [];\n this._captureRef = ref => {\n this._listRef = ref;\n };\n this._getItem = (data, index) => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n if (numColumns > 1) {\n var ret = [];\n for (var kk = 0; kk < numColumns; kk++) {\n var itemIndex = index * numColumns + kk;\n if (itemIndex < data.length) {\n var _item = data[itemIndex];\n ret.push(_item);\n }\n }\n return ret;\n } else {\n return data[index];\n }\n };\n this._getItemCount = data => {\n // Legacy behavior of FlatList was to forward \"undefined\" length if invalid\n // data like a non-arraylike object is passed. VirtualizedList would then\n // coerce this, and the math would work out to no-op. For compatibility, if\n // invalid data is passed, we tell VirtualizedList there are zero items\n // available to prevent it from trying to read from the invalid data\n // (without propagating invalidly typed data).\n if (data != null && isArrayLike(data)) {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length;\n } else {\n return 0;\n }\n };\n this._keyExtractor = (items, index) => {\n var _this$props$keyExtrac;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n var keyExtractor = (_this$props$keyExtrac = this.props.keyExtractor) !== null && _this$props$keyExtrac !== void 0 ? _this$props$keyExtrac : defaultKeyExtractor;\n if (numColumns > 1) {\n invariant(Array.isArray(items), 'FlatList: Encountered internal consistency error, expected each item to consist of an ' + 'array with 1-%s columns; instead, received a single item.', numColumns);\n return items.map((item, kk) => keyExtractor(item, index * numColumns + kk)).join(':');\n }\n\n // $FlowFixMe[incompatible-call] Can't call keyExtractor with an array\n return keyExtractor(items, index);\n };\n this._renderer = (ListItemComponent, renderItem, columnWrapperStyle, numColumns, extraData\n // $FlowFixMe[missing-local-annot]\n ) => {\n var cols = numColumnsOrDefault(numColumns);\n var render = props => {\n if (ListItemComponent) {\n // $FlowFixMe[not-a-component] Component isn't valid\n // $FlowFixMe[incompatible-type-arg] Component isn't valid\n // $FlowFixMe[incompatible-return] Component isn't valid\n return /*#__PURE__*/React.createElement(ListItemComponent, props);\n } else if (renderItem) {\n // $FlowFixMe[incompatible-call]\n return renderItem(props);\n } else {\n return null;\n }\n };\n var renderProp = info => {\n if (cols > 1) {\n var _item2 = info.item,\n _index = info.index;\n invariant(Array.isArray(_item2), 'Expected array of items with numColumns > 1');\n return /*#__PURE__*/React.createElement(View, {\n style: [styles.row, columnWrapperStyle]\n }, _item2.map((it, kk) => {\n var element = render({\n // $FlowFixMe[incompatible-call]\n item: it,\n index: _index * cols + kk,\n separators: info.separators\n });\n return element != null ? /*#__PURE__*/React.createElement(React.Fragment, {\n key: kk\n }, element) : null;\n }));\n } else {\n return render(info);\n }\n };\n return ListItemComponent ? {\n ListItemComponent: renderProp\n } : {\n renderItem: renderProp\n };\n };\n this._memoizedRenderer = memoizeOne(this._renderer);\n this._checkProps(this.props);\n if (this.props.viewabilityConfigCallbackPairs) {\n this._virtualizedListPairs = this.props.viewabilityConfigCallbackPairs.map(pair => ({\n viewabilityConfig: pair.viewabilityConfig,\n onViewableItemsChanged: this._createOnViewableItemsChanged(pair.onViewableItemsChanged)\n }));\n } else if (this.props.onViewableItemsChanged) {\n this._virtualizedListPairs.push({\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To\n * see the error delete this comment and run Flow. */\n viewabilityConfig: this.props.viewabilityConfig,\n onViewableItemsChanged: this._createOnViewableItemsChanged(this.props.onViewableItemsChanged)\n });\n }\n }\n\n // $FlowFixMe[missing-local-annot]\n componentDidUpdate(prevProps) {\n invariant(prevProps.numColumns === this.props.numColumns, 'Changing numColumns on the fly is not supported. Change the key prop on FlatList when ' + 'changing the number of columns to force a fresh render of the component.');\n invariant(prevProps.onViewableItemsChanged === this.props.onViewableItemsChanged, 'Changing onViewableItemsChanged on the fly is not supported');\n invariant(!deepDiffer(prevProps.viewabilityConfig, this.props.viewabilityConfig), 'Changing viewabilityConfig on the fly is not supported');\n invariant(prevProps.viewabilityConfigCallbackPairs === this.props.viewabilityConfigCallbackPairs, 'Changing viewabilityConfigCallbackPairs on the fly is not supported');\n this._checkProps(this.props);\n }\n // $FlowFixMe[missing-local-annot]\n _checkProps(props) {\n var getItem = props.getItem,\n getItemCount = props.getItemCount,\n horizontal = props.horizontal,\n columnWrapperStyle = props.columnWrapperStyle,\n onViewableItemsChanged = props.onViewableItemsChanged,\n viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n invariant(!getItem && !getItemCount, 'FlatList does not support custom data formats.');\n if (numColumns > 1) {\n invariant(!horizontal, 'numColumns does not support horizontal.');\n } else {\n invariant(!columnWrapperStyle, 'columnWrapperStyle not supported for single column lists');\n }\n invariant(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), 'FlatList does not support setting both onViewableItemsChanged and ' + 'viewabilityConfigCallbackPairs.');\n }\n _pushMultiColumnViewable(arr, v) {\n var _this$props$keyExtrac2;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n var keyExtractor = (_this$props$keyExtrac2 = this.props.keyExtractor) !== null && _this$props$keyExtrac2 !== void 0 ? _this$props$keyExtrac2 : defaultKeyExtractor;\n v.item.forEach((item, ii) => {\n invariant(v.index != null, 'Missing index!');\n var index = v.index * numColumns + ii;\n arr.push(_objectSpread(_objectSpread({}, v), {}, {\n item,\n key: keyExtractor(item, index),\n index\n }));\n });\n }\n _createOnViewableItemsChanged(onViewableItemsChanged\n // $FlowFixMe[missing-local-annot]\n ) {\n return info => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n if (onViewableItemsChanged) {\n if (numColumns > 1) {\n var changed = [];\n var viewableItems = [];\n info.viewableItems.forEach(v => this._pushMultiColumnViewable(viewableItems, v));\n info.changed.forEach(v => this._pushMultiColumnViewable(changed, v));\n onViewableItemsChanged({\n viewableItems,\n changed\n });\n } else {\n onViewableItemsChanged(info);\n }\n }\n };\n }\n\n // $FlowFixMe[missing-local-annot]\n\n render() {\n var _this$props = this.props,\n numColumns = _this$props.numColumns,\n columnWrapperStyle = _this$props.columnWrapperStyle,\n _removeClippedSubviews = _this$props.removeClippedSubviews,\n _this$props$strictMod = _this$props.strictMode,\n strictMode = _this$props$strictMod === void 0 ? false : _this$props$strictMod,\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var renderer = strictMode ? this._memoizedRenderer : this._renderer;\n return (\n /*#__PURE__*/\n // $FlowFixMe[incompatible-exact] - `restProps` (`Props`) is inexact.\n React.createElement(VirtualizedList, _extends({}, restProps, {\n getItem: this._getItem,\n getItemCount: this._getItemCount,\n keyExtractor: this._keyExtractor,\n ref: this._captureRef,\n viewabilityConfigCallbackPairs: this._virtualizedListPairs,\n removeClippedSubviews: removeClippedSubviewsOrDefault(_removeClippedSubviews)\n }, renderer(this.props.ListItemComponent, this.props.renderItem, columnWrapperStyle, numColumns, this.props.extraData)))\n );\n }\n}\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n }\n});\nexport default FlatList;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport FlatList from '../../vendor/react-native/FlatList';\nexport default FlatList;","/**\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 * @format\n */\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\n// The config has different keys depending on the type of the Node\n// TODO(T54896888): Make these types strict\nexport default TurboModuleRegistry.get('NativeAnimatedModule');","/**\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 * @format\n */\n\nimport EventEmitter from '../vendor/emitter/EventEmitter';\n\n// FIXME: use typed events\n\n/**\n * Global EventEmitter used by the native platform to emit events to JavaScript.\n * Events are identified by globally unique event names.\n *\n * NativeModules that emit events should instead subclass `NativeEventEmitter`.\n */\nexport default new EventEmitter();","/**\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 * @format\n */\n\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\nimport invariant from 'fbjs/lib/invariant';\n/**\n * `NativeEventEmitter` is intended for use by Native Modules to emit events to\n * JavaScript listeners. If a `NativeModule` is supplied to the constructor, it\n * will be notified (via `addListener` and `removeListeners`) when the listener\n * count changes to manage \"native memory\".\n *\n * Currently, all native events are fired via a global `RCTDeviceEventEmitter`.\n * This means event names must be globally unique, and it means that call sites\n * can theoretically listen to `RCTDeviceEventEmitter` (although discouraged).\n */\nexport default class NativeEventEmitter {\n constructor(nativeModule) {\n if (Platform.OS === 'ios') {\n invariant(nativeModule != null, '`new NativeEventEmitter()` requires a non-null argument.');\n this._nativeModule = nativeModule;\n }\n }\n addListener(eventType, listener, context) {\n var _this$_nativeModule;\n (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType);\n var subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context);\n return {\n remove: () => {\n if (subscription != null) {\n var _this$_nativeModule2;\n (_this$_nativeModule2 = this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1);\n // $FlowFixMe[incompatible-use]\n subscription.remove();\n subscription = null;\n }\n }\n };\n }\n\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n removeListener(eventType, listener) {\n var _this$_nativeModule3;\n (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1);\n // NOTE: This will report a deprecation notice via `console.error`.\n // $FlowFixMe[prop-missing] - `removeListener` exists but is deprecated.\n RCTDeviceEventEmitter.removeListener(eventType, listener);\n }\n emit(eventType) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is\n // included for completeness.\n RCTDeviceEventEmitter.emit(eventType, ...args);\n }\n removeAllListeners(eventType) {\n var _this$_nativeModule4;\n invariant(eventType != null, '`NativeEventEmitter.removeAllListener()` requires a non-null argument.');\n (_this$_nativeModule4 = this._nativeModule) == null ? void 0 : _this$_nativeModule4.removeListeners(this.listenerCount(eventType));\n RCTDeviceEventEmitter.removeAllListeners(eventType);\n }\n listenerCount(eventType) {\n return RCTDeviceEventEmitter.listenerCount(eventType);\n }\n}","import Platform from '../../../exports/Platform';\nexport default Platform;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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 * @format\n */\n\nimport NativeAnimatedNonTurboModule from './NativeAnimatedModule';\nimport NativeAnimatedTurboModule from './NativeAnimatedTurboModule';\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport Platform from '../Utilities/Platform';\nimport ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';\nimport invariant from 'fbjs/lib/invariant';\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\n// TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.\nvar NativeAnimatedModule = Platform.OS === 'ios' && global.RN$Bridgeless === true ? NativeAnimatedTurboModule : NativeAnimatedNonTurboModule;\nvar __nativeAnimatedNodeTagCount = 1; /* used for animated nodes */\nvar __nativeAnimationIdCount = 1; /* used for started animations */\n\nvar nativeEventEmitter;\nvar waitingForQueuedOperations = new Set();\nvar queueOperations = false;\nvar queue = [];\n// $FlowFixMe\nvar singleOpQueue = [];\nvar useSingleOpBatching = false;\nPlatform.OS === 'android' && !!(NativeAnimatedModule != null && NativeAnimatedModule.queueAndExecuteBatchedOperations) && ReactNativeFeatureFlags.animatedShouldUseSingleOp();\nvar flushQueueTimeout = null;\nvar eventListenerGetValueCallbacks = {};\nvar eventListenerAnimationFinishedCallbacks = {};\nvar globalEventEmitterGetValueListener = null;\nvar globalEventEmitterAnimationFinishedListener = null;\nvar nativeOps = useSingleOpBatching ? function () {\n var apis = ['createAnimatedNode',\n // 1\n 'updateAnimatedNodeConfig',\n // 2\n 'getValue',\n // 3\n 'startListeningToAnimatedNodeValue',\n // 4\n 'stopListeningToAnimatedNodeValue',\n // 5\n 'connectAnimatedNodes',\n // 6\n 'disconnectAnimatedNodes',\n // 7\n 'startAnimatingNode',\n // 8\n 'stopAnimation',\n // 9\n 'setAnimatedNodeValue',\n // 10\n 'setAnimatedNodeOffset',\n // 11\n 'flattenAnimatedNodeOffset',\n // 12\n 'extractAnimatedNodeOffset',\n // 13\n 'connectAnimatedNodeToView',\n // 14\n 'disconnectAnimatedNodeFromView',\n // 15\n 'restoreDefaultValues',\n // 16\n 'dropAnimatedNode',\n // 17\n 'addAnimatedEventToView',\n // 18\n 'removeAnimatedEventFromView',\n // 19\n 'addListener',\n // 20\n 'removeListener' // 21\n ];\n\n return apis.reduce((acc, functionName, i) => {\n // These indices need to be kept in sync with the indices in native (see NativeAnimatedModule in Java, or the equivalent for any other native platform).\n // $FlowFixMe[prop-missing]\n acc[functionName] = i + 1;\n return acc;\n }, {});\n}() : NativeAnimatedModule;\n\n/**\n * Wrappers around NativeAnimatedModule to provide flow and autocomplete support for\n * the native module methods, and automatic queue management on Android\n */\nvar API = {\n getValue: function getValue(tag, saveValueCallback) {\n invariant(nativeOps, 'Native animated module is not available');\n if (useSingleOpBatching) {\n if (saveValueCallback) {\n eventListenerGetValueCallbacks[tag] = saveValueCallback;\n }\n // $FlowFixMe\n API.queueOperation(nativeOps.getValue, tag);\n } else {\n API.queueOperation(nativeOps.getValue, tag, saveValueCallback);\n }\n },\n setWaitingForIdentifier: function setWaitingForIdentifier(id) {\n waitingForQueuedOperations.add(id);\n queueOperations = true;\n if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush() && flushQueueTimeout) {\n clearTimeout(flushQueueTimeout);\n }\n },\n unsetWaitingForIdentifier: function unsetWaitingForIdentifier(id) {\n waitingForQueuedOperations.delete(id);\n if (waitingForQueuedOperations.size === 0) {\n queueOperations = false;\n API.disableQueue();\n }\n },\n disableQueue: function disableQueue() {\n invariant(nativeOps, 'Native animated module is not available');\n if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush()) {\n var prevTimeout = flushQueueTimeout;\n clearImmediate(prevTimeout);\n flushQueueTimeout = setImmediate(API.flushQueue);\n } else {\n API.flushQueue();\n }\n },\n flushQueue: function flushQueue() {\n /*\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n flushQueueTimeout = null;\n // Early returns before calling any APIs\n if (useSingleOpBatching && singleOpQueue.length === 0) {\n return;\n }\n if (!useSingleOpBatching && queue.length === 0) {\n return;\n }\n if (useSingleOpBatching) {\n // Set up event listener for callbacks if it's not set up\n if (\n !globalEventEmitterGetValueListener ||\n !globalEventEmitterAnimationFinishedListener\n ) {\n setupGlobalEventEmitterListeners();\n }\n // Single op batching doesn't use callback functions, instead we\n // use RCTDeviceEventEmitter. This reduces overhead of sending lots of\n // JSI functions across to native code; but also, TM infrastructure currently\n // does not support packing a function into native arrays.\n NativeAnimatedModule.queueAndExecuteBatchedOperations?.(singleOpQueue);\n singleOpQueue.length = 0;\n } else {\n Platform.OS === 'android' && NativeAnimatedModule.startOperationBatch?.();\n for (let q = 0, l = queue.length; q < l; q++) {\n queue[q]();\n }\n queue.length = 0;\n Platform.OS === 'android' &&\n NativeAnimatedModule.finishOperationBatch?.();\n }\n */\n },\n queueOperation: function queueOperation(fn) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (useSingleOpBatching) {\n // Get the command ID from the queued function, and push that ID and any arguments needed to execute the operation\n // $FlowFixMe: surprise, fn is actually a number\n singleOpQueue.push(fn, ...args);\n return;\n }\n\n // If queueing is explicitly on, *or* the queue has not yet\n // been flushed, use the queue. This is to prevent operations\n // from being executed out of order.\n if (queueOperations || queue.length !== 0) {\n queue.push(() => fn(...args));\n } else {\n fn(...args);\n }\n },\n createAnimatedNode: function createAnimatedNode(tag, config) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.createAnimatedNode, tag, config);\n },\n updateAnimatedNodeConfig: function updateAnimatedNodeConfig(tag, config) {\n invariant(nativeOps, 'Native animated module is not available');\n //if (nativeOps.updateAnimatedNodeConfig) {\n // API.queueOperation(nativeOps.updateAnimatedNodeConfig, tag, config);\n //}\n },\n\n startListeningToAnimatedNodeValue: function startListeningToAnimatedNodeValue(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.startListeningToAnimatedNodeValue, tag);\n },\n stopListeningToAnimatedNodeValue: function stopListeningToAnimatedNodeValue(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.stopListeningToAnimatedNodeValue, tag);\n },\n connectAnimatedNodes: function connectAnimatedNodes(parentTag, childTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.connectAnimatedNodes, parentTag, childTag);\n },\n disconnectAnimatedNodes: function disconnectAnimatedNodes(parentTag, childTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.disconnectAnimatedNodes, parentTag, childTag);\n },\n startAnimatingNode: function startAnimatingNode(animationId, nodeTag, config, endCallback) {\n invariant(nativeOps, 'Native animated module is not available');\n if (useSingleOpBatching) {\n if (endCallback) {\n eventListenerAnimationFinishedCallbacks[animationId] = endCallback;\n }\n // $FlowFixMe\n API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config);\n } else {\n API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config, endCallback);\n }\n },\n stopAnimation: function stopAnimation(animationId) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.stopAnimation, animationId);\n },\n setAnimatedNodeValue: function setAnimatedNodeValue(nodeTag, value) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.setAnimatedNodeValue, nodeTag, value);\n },\n setAnimatedNodeOffset: function setAnimatedNodeOffset(nodeTag, offset) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.setAnimatedNodeOffset, nodeTag, offset);\n },\n flattenAnimatedNodeOffset: function flattenAnimatedNodeOffset(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.flattenAnimatedNodeOffset, nodeTag);\n },\n extractAnimatedNodeOffset: function extractAnimatedNodeOffset(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.extractAnimatedNodeOffset, nodeTag);\n },\n connectAnimatedNodeToView: function connectAnimatedNodeToView(nodeTag, viewTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.connectAnimatedNodeToView, nodeTag, viewTag);\n },\n disconnectAnimatedNodeFromView: function disconnectAnimatedNodeFromView(nodeTag, viewTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.disconnectAnimatedNodeFromView, nodeTag, viewTag);\n },\n restoreDefaultValues: function restoreDefaultValues(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n // Backwards compat with older native runtimes, can be removed later.\n if (nativeOps.restoreDefaultValues != null) {\n API.queueOperation(nativeOps.restoreDefaultValues, nodeTag);\n }\n },\n dropAnimatedNode: function dropAnimatedNode(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.dropAnimatedNode, tag);\n },\n addAnimatedEventToView: function addAnimatedEventToView(viewTag, eventName, eventMapping) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.addAnimatedEventToView, viewTag, eventName, eventMapping);\n },\n removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.removeAnimatedEventFromView, viewTag, eventName, animatedNodeTag);\n }\n};\nfunction setupGlobalEventEmitterListeners() {\n globalEventEmitterGetValueListener = RCTDeviceEventEmitter.addListener('onNativeAnimatedModuleGetValue', function (params) {\n var tag = params.tag;\n var callback = eventListenerGetValueCallbacks[tag];\n if (!callback) {\n return;\n }\n callback(params.value);\n delete eventListenerGetValueCallbacks[tag];\n });\n globalEventEmitterAnimationFinishedListener = RCTDeviceEventEmitter.addListener('onNativeAnimatedModuleAnimationFinished', function (params) {\n var animationId = params.animationId;\n var callback = eventListenerAnimationFinishedCallbacks[animationId];\n if (!callback) {\n return;\n }\n callback(params);\n delete eventListenerAnimationFinishedCallbacks[animationId];\n });\n}\n\n/**\n * Styles allowed by the native animated implementation.\n *\n * In general native animated implementation should support any numeric or color property that\n * doesn't need to be updated through the shadow view hierarchy (all non-layout properties).\n */\nvar SUPPORTED_COLOR_STYLES = {\n backgroundColor: true,\n borderBottomColor: true,\n borderColor: true,\n borderEndColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n borderStartColor: true,\n borderTopColor: true,\n color: true,\n tintColor: true\n};\nvar SUPPORTED_STYLES = _objectSpread(_objectSpread({}, SUPPORTED_COLOR_STYLES), {}, {\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderRadius: true,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n elevation: true,\n opacity: true,\n transform: true,\n zIndex: true,\n /* ios styles */\n shadowOpacity: true,\n shadowRadius: true,\n /* legacy android transform properties */\n scaleX: true,\n scaleY: true,\n translateX: true,\n translateY: true\n});\nvar SUPPORTED_TRANSFORMS = {\n translateX: true,\n translateY: true,\n scale: true,\n scaleX: true,\n scaleY: true,\n rotate: true,\n rotateX: true,\n rotateY: true,\n rotateZ: true,\n perspective: true\n};\nvar SUPPORTED_INTERPOLATION_PARAMS = {\n inputRange: true,\n outputRange: true,\n extrapolate: true,\n extrapolateRight: true,\n extrapolateLeft: true\n};\nfunction addWhitelistedStyleProp(prop) {\n SUPPORTED_STYLES[prop] = true;\n}\nfunction addWhitelistedTransformProp(prop) {\n SUPPORTED_TRANSFORMS[prop] = true;\n}\nfunction addWhitelistedInterpolationParam(param) {\n SUPPORTED_INTERPOLATION_PARAMS[param] = true;\n}\nfunction isSupportedColorStyleProp(prop) {\n return SUPPORTED_COLOR_STYLES.hasOwnProperty(prop);\n}\nfunction isSupportedStyleProp(prop) {\n return SUPPORTED_STYLES.hasOwnProperty(prop);\n}\nfunction isSupportedTransformProp(prop) {\n return SUPPORTED_TRANSFORMS.hasOwnProperty(prop);\n}\nfunction isSupportedInterpolationParam(param) {\n return SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(param);\n}\nfunction validateTransform(configs) {\n configs.forEach(config => {\n if (!isSupportedTransformProp(config.property)) {\n throw new Error(\"Property '\" + config.property + \"' is not supported by native animated module\");\n }\n });\n}\nfunction validateStyles(styles) {\n for (var _key2 in styles) {\n if (!isSupportedStyleProp(_key2)) {\n throw new Error(\"Style property '\" + _key2 + \"' is not supported by native animated module\");\n }\n }\n}\nfunction validateInterpolation(config) {\n for (var _key3 in config) {\n if (!isSupportedInterpolationParam(_key3)) {\n throw new Error(\"Interpolation property '\" + _key3 + \"' is not supported by native animated module\");\n }\n }\n}\nfunction generateNewNodeTag() {\n return __nativeAnimatedNodeTagCount++;\n}\nfunction generateNewAnimationId() {\n return __nativeAnimationIdCount++;\n}\nfunction assertNativeAnimatedModule() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n}\nvar _warnedMissingNativeAnimated = false;\nfunction shouldUseNativeDriver(config) {\n if (config.useNativeDriver == null) {\n console.warn('Animated: `useNativeDriver` was not specified. This is a required ' + 'option and must be explicitly set to `true` or `false`');\n }\n if (config.useNativeDriver === true && !NativeAnimatedModule) {\n if (!_warnedMissingNativeAnimated) {\n console.warn('Animated: `useNativeDriver` is not supported because the native ' + 'animated module is missing. Falling back to JS-based animation. To ' + 'resolve this, add `RCTAnimation` module to this app, or remove ' + '`useNativeDriver`. ' + 'Make sure to run `bundle exec pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md');\n _warnedMissingNativeAnimated = true;\n }\n return false;\n }\n return config.useNativeDriver || false;\n}\nfunction transformDataType(value) {\n // Change the string type to number type so we can reuse the same logic in\n // iOS and Android platform\n if (typeof value !== 'string') {\n return value;\n }\n if (/deg$/.test(value)) {\n var degrees = parseFloat(value) || 0;\n var radians = degrees * Math.PI / 180.0;\n return radians;\n } else {\n return value;\n }\n}\nexport { API, isSupportedColorStyleProp, isSupportedStyleProp, isSupportedTransformProp, isSupportedInterpolationParam, addWhitelistedStyleProp, addWhitelistedTransformProp, addWhitelistedInterpolationParam, validateStyles, validateTransform, validateInterpolation, generateNewNodeTag, generateNewAnimationId, assertNativeAnimatedModule, shouldUseNativeDriver, transformDataType };\nexport default {\n API,\n isSupportedColorStyleProp,\n isSupportedStyleProp,\n isSupportedTransformProp,\n isSupportedInterpolationParam,\n addWhitelistedStyleProp,\n addWhitelistedTransformProp,\n addWhitelistedInterpolationParam,\n validateStyles,\n validateTransform,\n validateInterpolation,\n generateNewNodeTag,\n generateNewAnimationId,\n assertNativeAnimatedModule,\n shouldUseNativeDriver,\n transformDataType,\n // $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppresion\n // $FlowExpectedError[missing-type-arg] - unsafe getter lint suppresion\n get nativeEventEmitter() {\n if (!nativeEventEmitter) {\n nativeEventEmitter = new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' ? null : NativeAnimatedModule);\n }\n return nativeEventEmitter;\n }\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 * @format\n */\n\n'use strict';\n\nvar ReactNativeFeatureFlags = {\n isLayoutAnimationEnabled: () => true,\n shouldEmitW3CPointerEvents: () => false,\n shouldPressibilityUseW3CPointerEventsForHover: () => false,\n animatedShouldDebounceQueueFlush: () => false,\n animatedShouldUseSingleOp: () => false\n};\nexport default ReactNativeFeatureFlags;","/**\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 * @format\n */\n\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\nexport function get(name) {\n return null;\n}\nexport function getEnforcing(name) {\n var module = get(name);\n invariant(module != null, \"TurboModuleRegistry.getEnforcing(...): '\" + name + \"' could not be found. \" + 'Verify that a module by this name is registered in the native binary.');\n return module;\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 * @format\n */\n\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n\n// Note(vjeux): this would be better as an interface but flow doesn't\n// support them yet\nclass AnimatedNode {\n __attach() {}\n __detach() {\n if (this.__isNative && this.__nativeTag != null) {\n NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag);\n this.__nativeTag = undefined;\n }\n }\n __getValue() {}\n __getAnimatedValue() {\n return this.__getValue();\n }\n __addChild(child) {}\n __removeChild(child) {}\n __getChildren() {\n return [];\n }\n\n /* Methods and props used by native Animated impl */\n\n constructor() {\n this._listeners = {};\n }\n __makeNative(platformConfig) {\n if (!this.__isNative) {\n throw new Error('This node cannot be made a \"native\" animated node');\n }\n this._platformConfig = platformConfig;\n if (this.hasListeners()) {\n this._startListeningToNativeValueUpdates();\n }\n }\n\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to\n * synchronously read the value because it might be driven natively.\n *\n * See https://reactnative.dev/docs/animatedvalue#addlistener\n */\n addListener(callback) {\n var id = String(_uniqueId++);\n this._listeners[id] = callback;\n if (this.__isNative) {\n this._startListeningToNativeValueUpdates();\n }\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvalue#removelistener\n */\n removeListener(id) {\n delete this._listeners[id];\n if (this.__isNative && !this.hasListeners()) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvalue#removealllisteners\n */\n removeAllListeners() {\n this._listeners = {};\n if (this.__isNative) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n hasListeners() {\n return !!Object.keys(this._listeners).length;\n }\n _startListeningToNativeValueUpdates() {\n if (this.__nativeAnimatedValueListener && !this.__shouldUpdateListenersForNewNativeTag) {\n return;\n }\n if (this.__shouldUpdateListenersForNewNativeTag) {\n this.__shouldUpdateListenersForNewNativeTag = false;\n this._stopListeningForNativeValueUpdates();\n }\n NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag());\n this.__nativeAnimatedValueListener = NativeAnimatedHelper.nativeEventEmitter.addListener('onAnimatedValueUpdate', data => {\n if (data.tag !== this.__getNativeTag()) {\n return;\n }\n this.__onAnimatedValueUpdateReceived(data.value);\n });\n }\n __onAnimatedValueUpdateReceived(value) {\n this.__callListeners(value);\n }\n __callListeners(value) {\n for (var _key in this._listeners) {\n this._listeners[_key]({\n value\n });\n }\n }\n _stopListeningForNativeValueUpdates() {\n if (!this.__nativeAnimatedValueListener) {\n return;\n }\n this.__nativeAnimatedValueListener.remove();\n this.__nativeAnimatedValueListener = null;\n NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag());\n }\n __getNativeTag() {\n var _this$__nativeTag;\n NativeAnimatedHelper.assertNativeAnimatedModule();\n invariant(this.__isNative, 'Attempt to get native tag from node not marked as \"native\"');\n var nativeTag = (_this$__nativeTag = this.__nativeTag) !== null && _this$__nativeTag !== void 0 ? _this$__nativeTag : NativeAnimatedHelper.generateNewNodeTag();\n if (this.__nativeTag == null) {\n this.__nativeTag = nativeTag;\n var config = this.__getNativeConfig();\n if (this._platformConfig) {\n config.platformConfig = this._platformConfig;\n }\n NativeAnimatedHelper.API.createAnimatedNode(nativeTag, config);\n this.__shouldUpdateListenersForNewNativeTag = true;\n }\n return nativeTag;\n }\n __getNativeConfig() {\n throw new Error('This JS animated node type cannot be used as native animated node');\n }\n toJSON() {\n return this.__getValue();\n }\n __getPlatformConfig() {\n return this._platformConfig;\n }\n __setPlatformConfig(platformConfig) {\n this._platformConfig = platformConfig;\n }\n}\nexport default AnimatedNode;","/**\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 * @format\n */\n\n'use strict';\n\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport AnimatedNode from './AnimatedNode';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nclass AnimatedWithChildren extends AnimatedNode {\n constructor() {\n super();\n this._children = [];\n }\n __makeNative(platformConfig) {\n if (!this.__isNative) {\n this.__isNative = true;\n for (var _iterator = _createForOfIteratorHelperLoose(this._children), _step; !(_step = _iterator()).done;) {\n var child = _step.value;\n child.__makeNative(platformConfig);\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n super.__makeNative(platformConfig);\n }\n __addChild(child) {\n if (this._children.length === 0) {\n this.__attach();\n }\n this._children.push(child);\n if (this.__isNative) {\n // Only accept \"native\" animated nodes as children\n child.__makeNative(this.__getPlatformConfig());\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n __removeChild(child) {\n var index = this._children.indexOf(child);\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n if (this.__isNative && child.__isNative) {\n NativeAnimatedHelper.API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n this._children.splice(index, 1);\n if (this._children.length === 0) {\n this.__detach();\n }\n }\n __getChildren() {\n return this._children;\n }\n __callListeners(value) {\n super.__callListeners(value);\n if (!this.__isNative) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this._children), _step2; !(_step2 = _iterator2()).done;) {\n var child = _step2.value;\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n if (child.__getValue) {\n child.__callListeners(child.__getValue());\n }\n }\n }\n }\n}\nexport default AnimatedWithChildren;","/**\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 * @format\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport normalizeColor from '@react-native/normalize-colors';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar linear = t => t;\n\n/**\n * Very handy helper to map input ranges to output ranges with an easing\n * function and custom behavior outside of the ranges.\n */\nfunction createInterpolation(config) {\n if (config.outputRange && typeof config.outputRange[0] === 'string') {\n return createInterpolationFromStringOutputRange(config);\n }\n var outputRange = config.outputRange;\n var inputRange = config.inputRange;\n if (__DEV__) {\n checkInfiniteRange('outputRange', outputRange);\n checkInfiniteRange('inputRange', inputRange);\n checkValidInputRange(inputRange);\n invariant(inputRange.length === outputRange.length, 'inputRange (' + inputRange.length + ') and outputRange (' + outputRange.length + ') must have the same length');\n }\n var easing = config.easing || linear;\n var extrapolateLeft = 'extend';\n if (config.extrapolateLeft !== undefined) {\n extrapolateLeft = config.extrapolateLeft;\n } else if (config.extrapolate !== undefined) {\n extrapolateLeft = config.extrapolate;\n }\n var extrapolateRight = 'extend';\n if (config.extrapolateRight !== undefined) {\n extrapolateRight = config.extrapolateRight;\n } else if (config.extrapolate !== undefined) {\n extrapolateRight = config.extrapolate;\n }\n return input => {\n invariant(typeof input === 'number', 'Cannot interpolation an input which is not a number');\n var range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight);\n };\n}\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) {\n var result = input;\n\n // Extrapolate\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') {\n return result;\n } else if (extrapolateLeft === 'clamp') {\n result = inputMin;\n } else if (extrapolateLeft === 'extend') {\n // noop\n }\n }\n if (result > inputMax) {\n if (extrapolateRight === 'identity') {\n return result;\n } else if (extrapolateRight === 'clamp') {\n result = inputMax;\n } else if (extrapolateRight === 'extend') {\n // noop\n }\n }\n if (outputMin === outputMax) {\n return outputMin;\n }\n if (inputMin === inputMax) {\n if (input <= inputMin) {\n return outputMin;\n }\n return outputMax;\n }\n\n // Input Range\n if (inputMin === -Infinity) {\n result = -result;\n } else if (inputMax === Infinity) {\n result = result - inputMin;\n } else {\n result = (result - inputMin) / (inputMax - inputMin);\n }\n\n // Easing\n result = easing(result);\n\n // Output Range\n if (outputMin === -Infinity) {\n result = -result;\n } else if (outputMax === Infinity) {\n result = result + outputMin;\n } else {\n result = result * (outputMax - outputMin) + outputMin;\n }\n return result;\n}\nfunction colorToRgba(input) {\n var normalizedColor = normalizeColor(input);\n if (normalizedColor === null || typeof normalizedColor !== 'number') {\n return input;\n }\n normalizedColor = normalizedColor || 0;\n var r = (normalizedColor & 0xff000000) >>> 24;\n var g = (normalizedColor & 0x00ff0000) >>> 16;\n var b = (normalizedColor & 0x0000ff00) >>> 8;\n var a = (normalizedColor & 0x000000ff) / 255;\n return \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + a + \")\";\n}\nvar stringShapeRegex = /[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/g;\n\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n */\nfunction createInterpolationFromStringOutputRange(config) {\n var outputRange = config.outputRange;\n invariant(outputRange.length >= 2, 'Bad output range');\n outputRange = outputRange.map(colorToRgba);\n checkPattern(outputRange);\n\n // ['rgba(0, 100, 200, 0)', 'rgba(50, 150, 250, 0.5)']\n // ->\n // [\n // [0, 50],\n // [100, 150],\n // [200, 250],\n // [0, 0.5],\n // ]\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */\n var outputRanges = outputRange[0].match(stringShapeRegex).map(() => []);\n outputRange.forEach(value => {\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `value.match()` can return\n * `null`. Need to guard against this possibility. */\n value.match(stringShapeRegex).forEach((number, i) => {\n outputRanges[i].push(+number);\n });\n });\n var interpolations = outputRange[0].match(stringShapeRegex)\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */\n /* $FlowFixMe[incompatible-call] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */.map((value, i) => {\n return createInterpolation(_objectSpread(_objectSpread({}, config), {}, {\n outputRange: outputRanges[i]\n }));\n });\n\n // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n var shouldRound = isRgbOrRgba(outputRange[0]);\n return input => {\n var i = 0;\n // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n return outputRange[0].replace(stringShapeRegex, () => {\n var val = +interpolations[i++](input);\n if (shouldRound) {\n val = i < 4 ? Math.round(val) : Math.round(val * 1000) / 1000;\n }\n return String(val);\n });\n };\n}\nfunction isRgbOrRgba(range) {\n return typeof range === 'string' && range.startsWith('rgb');\n}\nfunction checkPattern(arr) {\n var pattern = arr[0].replace(stringShapeRegex, '');\n for (var i = 1; i < arr.length; ++i) {\n invariant(pattern === arr[i].replace(stringShapeRegex, ''), 'invalid pattern ' + arr[0] + ' and ' + arr[i]);\n }\n}\nfunction findRange(input, inputRange) {\n var i;\n for (i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) {\n break;\n }\n }\n return i - 1;\n}\nfunction checkValidInputRange(arr) {\n invariant(arr.length >= 2, 'inputRange must have at least 2 elements');\n var message = 'inputRange must be monotonically non-decreasing ' + String(arr);\n for (var i = 1; i < arr.length; ++i) {\n invariant(arr[i] >= arr[i - 1], message);\n }\n}\nfunction checkInfiniteRange(name, arr) {\n invariant(arr.length >= 2, name + ' must have at least 2 elements');\n invariant(arr.length !== 2 || arr[0] !== -Infinity || arr[1] !== Infinity,\n /* $FlowFixMe[incompatible-type] (>=0.13.0) - In the addition expression\n * below this comment, one or both of the operands may be something that\n * doesn't cleanly convert to a string, like undefined, null, and object,\n * etc. If you really mean this implicit string conversion, you can do\n * something like String(myThing) */\n name + 'cannot be ]-infinity;+infinity[ ' + arr);\n}\nclass AnimatedInterpolation extends AnimatedWithChildren {\n // Export for testing.\n\n constructor(parent, config) {\n super();\n this._parent = parent;\n this._config = config;\n this._interpolation = createInterpolation(config);\n }\n __makeNative(platformConfig) {\n this._parent.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n var parentValue = this._parent.__getValue();\n invariant(typeof parentValue === 'number', 'Cannot interpolate an input which is not a number.');\n return this._interpolation(parentValue);\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._parent.__addChild(this);\n }\n __detach() {\n this._parent.__removeChild(this);\n super.__detach();\n }\n __transformDataType(range) {\n return range.map(NativeAnimatedHelper.transformDataType);\n }\n __getNativeConfig() {\n if (__DEV__) {\n NativeAnimatedHelper.validateInterpolation(this._config);\n }\n return {\n inputRange: this._config.inputRange,\n // Only the `outputRange` can contain strings so we don't need to transform `inputRange` here\n outputRange: this.__transformDataType(this._config.outputRange),\n extrapolateLeft: this._config.extrapolateLeft || this._config.extrapolate || 'extend',\n extrapolateRight: this._config.extrapolateRight || this._config.extrapolate || 'extend',\n type: 'interpolation'\n };\n }\n}\nAnimatedInterpolation.__createInterpolation = createInterpolation;\nexport default AnimatedInterpolation;","/**\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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport InteractionManager from '../../../../exports/InteractionManager';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\n\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an Animated.Value is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\nfunction _flush(rootNode) {\n var animatedStyles = new Set();\n function findAnimatedStyles(node) {\n /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.68 was deployed. To see the error\n * delete this comment and run Flow. */\n if (typeof node.update === 'function') {\n animatedStyles.add(node);\n } else {\n node.__getChildren().forEach(findAnimatedStyles);\n }\n }\n findAnimatedStyles(rootNode);\n // $FlowFixMe[prop-missing]\n animatedStyles.forEach(animatedStyle => animatedStyle.update());\n}\n\n/**\n * Some operations are executed only on batch end, which is _mostly_ scheduled when\n * Animated component props change. For some of the changes which require immediate execution\n * (e.g. setValue), we create a separate batch in case none is scheduled.\n */\nfunction _executeAsAnimatedBatch(id, operation) {\n NativeAnimatedAPI.setWaitingForIdentifier(id);\n operation();\n NativeAnimatedAPI.unsetWaitingForIdentifier(id);\n}\n\n/**\n * Standard value for driving animations. One `Animated.Value` can drive\n * multiple properties in a synchronized fashion, but can only be driven by one\n * mechanism at a time. Using a new mechanism (e.g. starting a new animation,\n * or calling `setValue`) will stop any previous ones.\n *\n * See https://reactnative.dev/docs/animatedvalue\n */\nclass AnimatedValue extends AnimatedWithChildren {\n constructor(value, config) {\n super();\n if (typeof value !== 'number') {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n this._startingValue = this._value = value;\n this._offset = 0;\n this._animation = null;\n if (config && config.useNativeDriver) {\n this.__makeNative();\n }\n }\n __detach() {\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), value => {\n this._value = value - this._offset;\n });\n }\n this.stopAnimation();\n super.__detach();\n }\n __getValue() {\n return this._value + this._offset;\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvalue#setvalue\n */\n setValue(value) {\n if (this._animation) {\n this._animation.stop();\n this._animation = null;\n }\n this._updateValue(value, !this.__isNative /* don't perform a flush for natively driven values */);\n\n if (this.__isNative) {\n _executeAsAnimatedBatch(this.__getNativeTag().toString(), () => NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value));\n }\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether via\n * `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvalue#setoffset\n */\n setOffset(offset) {\n this._offset = offset;\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(), offset);\n }\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue#flattenoffset\n */\n flattenOffset() {\n this._value += this._offset;\n this._offset = 0;\n if (this.__isNative) {\n NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue#extractoffset\n */\n extractOffset() {\n this._offset += this._value;\n this._value = 0;\n if (this.__isNative) {\n NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvalue#stopanimation\n */\n stopAnimation(callback) {\n this.stopTracking();\n this._animation && this._animation.stop();\n this._animation = null;\n if (callback) {\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), callback);\n } else {\n callback(this.__getValue());\n }\n }\n }\n\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvalue#resetanimation\n */\n resetAnimation(callback) {\n this.stopAnimation(callback);\n this._value = this._startingValue;\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), this._startingValue);\n }\n }\n __onAnimatedValueUpdateReceived(value) {\n this._updateValue(value, false /*flush*/);\n }\n\n /**\n * Interpolates the value before updating the property, e.g. mapping 0-1 to\n * 0-10.\n */\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n\n /**\n * Typically only used internally, but could be used by a custom Animation\n * class.\n *\n * See https://reactnative.dev/docs/animatedvalue#animate\n */\n animate(animation, callback) {\n var handle = null;\n if (animation.__isInteraction) {\n handle = InteractionManager.createInteractionHandle();\n }\n var previousAnimation = this._animation;\n this._animation && this._animation.stop();\n this._animation = animation;\n animation.start(this._value, value => {\n // Natively driven animations will never call into that callback\n this._updateValue(value, true /* flush */);\n }, result => {\n this._animation = null;\n if (handle !== null) {\n InteractionManager.clearInteractionHandle(handle);\n }\n callback && callback(result);\n }, previousAnimation, this);\n }\n\n /**\n * Typically only used internally.\n */\n stopTracking() {\n this._tracking && this._tracking.__detach();\n this._tracking = null;\n }\n\n /**\n * Typically only used internally.\n */\n track(tracking) {\n this.stopTracking();\n this._tracking = tracking;\n // Make sure that the tracking animation starts executing\n this._tracking && this._tracking.update();\n }\n _updateValue(value, flush) {\n if (value === undefined) {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n this._value = value;\n if (flush) {\n _flush(this);\n }\n super.__callListeners(this.__getValue());\n }\n __getNativeConfig() {\n return {\n type: 'value',\n value: this._value,\n offset: this._offset\n };\n }\n}\nexport default AnimatedValue;","/**\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 * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './nodes/AnimatedValue';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from './NativeAnimatedHelper';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nexport function attachNativeEvent(viewRef, eventName, argMapping) {\n // Find animated values in `argMapping` and create an array representing their\n // key path inside the `nativeEvent` object. Ex.: ['contentOffset', 'x'].\n var eventMappings = [];\n var traverse = (value, path) => {\n if (value instanceof AnimatedValue) {\n value.__makeNative();\n eventMappings.push({\n nativeEventPath: path,\n animatedValueTag: value.__getNativeTag()\n });\n } else if (typeof value === 'object') {\n for (var _key in value) {\n traverse(value[_key], path.concat(_key));\n }\n }\n };\n invariant(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.');\n\n // Assume that the event containing `nativeEvent` is always the first argument.\n traverse(argMapping[0].nativeEvent, []);\n if (viewRef != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.addAnimatedEventToView(viewRef, eventName, mapping);\n });\n }\n return {\n detach() {\n if (viewRef != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.removeAnimatedEventFromView(viewRef, eventName,\n // $FlowFixMe[incompatible-call]\n mapping.animatedValueTag);\n });\n }\n }\n };\n}\nfunction validateMapping(argMapping, args) {\n var validate = (recMapping, recEvt, key) => {\n if (recMapping instanceof AnimatedValue) {\n invariant(typeof recEvt === 'number', 'Bad mapping of event key ' + key + ', should be number but got ' + typeof recEvt);\n return;\n }\n if (typeof recEvt === 'number') {\n invariant(recMapping instanceof AnimatedValue, 'Bad mapping of type ' + typeof recMapping + ' for key ' + key + ', event value must map to AnimatedValue');\n return;\n }\n invariant(typeof recMapping === 'object', 'Bad mapping of type ' + typeof recMapping + ' for key ' + key);\n invariant(typeof recEvt === 'object', 'Bad event of type ' + typeof recEvt + ' for key ' + key);\n for (var mappingKey in recMapping) {\n validate(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n };\n invariant(args.length >= argMapping.length, 'Event has less arguments than mapping');\n argMapping.forEach((mapping, idx) => {\n validate(mapping, args[idx], 'arg' + idx);\n });\n}\nexport class AnimatedEvent {\n constructor(argMapping, config) {\n this._listeners = [];\n this._argMapping = argMapping;\n if (config == null) {\n console.warn('Animated.event now requires a second argument for options');\n config = {\n useNativeDriver: false\n };\n }\n if (config.listener) {\n this.__addListener(config.listener);\n }\n this._callListeners = this._callListeners.bind(this);\n this._attachedEvent = null;\n this.__isNative = shouldUseNativeDriver(config);\n }\n __addListener(callback) {\n this._listeners.push(callback);\n }\n __removeListener(callback) {\n this._listeners = this._listeners.filter(listener => listener !== callback);\n }\n __attach(viewRef, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be attached.');\n this._attachedEvent = attachNativeEvent(viewRef, eventName, this._argMapping);\n }\n __detach(viewTag, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be detached.');\n this._attachedEvent && this._attachedEvent.detach();\n }\n __getHandler() {\n var _this = this;\n if (this.__isNative) {\n if (__DEV__) {\n var _validatedMapping = false;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (!_validatedMapping) {\n validateMapping(_this._argMapping, args);\n _validatedMapping = true;\n }\n _this._callListeners(...args);\n };\n } else {\n return this._callListeners;\n }\n }\n var validatedMapping = false;\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n args[_key3] = arguments[_key3];\n }\n if (__DEV__ && !validatedMapping) {\n validateMapping(_this._argMapping, args);\n validatedMapping = true;\n }\n var traverse = (recMapping, recEvt, key) => {\n if (recMapping instanceof AnimatedValue) {\n if (typeof recEvt === 'number') {\n recMapping.setValue(recEvt);\n }\n } else if (typeof recMapping === 'object') {\n for (var mappingKey in recMapping) {\n /* $FlowFixMe(>=0.120.0) This comment suppresses an error found\n * when Flow v0.120 was deployed. To see the error, delete this\n * comment and run Flow. */\n traverse(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n }\n };\n _this._argMapping.forEach((mapping, idx) => {\n traverse(mapping, args[idx], 'arg' + idx);\n });\n _this._callListeners(...args);\n };\n }\n _callListeners() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {\n args[_key4] = arguments[_key4];\n }\n this._listeners.forEach(listener => listener(...args));\n }\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 * @format\n */\n\n'use strict';\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nclass AnimatedTransform extends AnimatedWithChildren {\n constructor(transforms) {\n super();\n this._transforms = transforms;\n }\n __makeNative() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n });\n super.__makeNative();\n }\n __getValue() {\n return this._transforms.map(transform => {\n var result = {};\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n result[key] = value.__getValue();\n } else {\n result[key] = value;\n }\n }\n return result;\n });\n }\n __getAnimatedValue() {\n return this._transforms.map(transform => {\n var result = {};\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n result[key] = value.__getAnimatedValue();\n } else {\n // All transform components needed to recompose matrix\n result[key] = value;\n }\n }\n return result;\n });\n }\n __attach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n });\n }\n __detach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n });\n super.__detach();\n }\n __getNativeConfig() {\n var transConfigs = [];\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n transConfigs.push({\n type: 'animated',\n property: key,\n nodeTag: value.__getNativeTag()\n });\n } else {\n transConfigs.push({\n type: 'static',\n property: key,\n value: NativeAnimatedHelper.transformDataType(value)\n });\n }\n }\n });\n NativeAnimatedHelper.validateTransform(transConfigs);\n return {\n type: 'transform',\n transforms: transConfigs\n };\n }\n}\nexport default AnimatedTransform;","/**\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 * @format\n */\n\n'use strict';\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedTransform from './AnimatedTransform';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport StyleSheet from '../../../../exports/StyleSheet';\nvar flattenStyle = StyleSheet.flatten;\nfunction createAnimatedStyle(inputStyle) {\n var style = flattenStyle(inputStyle);\n var animatedStyles = {};\n for (var key in style) {\n var value = style[key];\n if (key === 'transform' && Array.isArray(value)) {\n animatedStyles[key] = new AnimatedTransform(value);\n } else if (value instanceof AnimatedNode) {\n animatedStyles[key] = value;\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n animatedStyles[key] = createAnimatedStyle(value);\n }\n }\n return animatedStyles;\n}\nclass AnimatedStyle extends AnimatedWithChildren {\n constructor(style) {\n super();\n this._inputStyle = style;\n this._style = createAnimatedStyle(style);\n }\n\n // Recursively get values for nested styles (like iOS's shadowOffset)\n _walkStyleAndGetValues(style) {\n var updatedStyle = {};\n for (var key in style) {\n var value = style[key];\n if (value instanceof AnimatedNode) {\n if (!value.__isNative) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n updatedStyle[key] = value.__getValue();\n }\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetValues(value);\n } else {\n updatedStyle[key] = value;\n }\n }\n return updatedStyle;\n }\n __getValue() {\n return [this._inputStyle, this._walkStyleAndGetValues(this._style)];\n }\n\n // Recursively get animated values for nested styles (like iOS's shadowOffset)\n _walkStyleAndGetAnimatedValues(style) {\n var updatedStyle = {};\n for (var key in style) {\n var value = style[key];\n if (value instanceof AnimatedNode) {\n updatedStyle[key] = value.__getAnimatedValue();\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value);\n }\n }\n return updatedStyle;\n }\n __getAnimatedValue() {\n return this._walkStyleAndGetAnimatedValues(this._style);\n }\n __attach() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n __detach() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n super.__detach();\n }\n __makeNative() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n super.__makeNative();\n }\n __getNativeConfig() {\n var styleConfig = {};\n for (var styleKey in this._style) {\n if (this._style[styleKey] instanceof AnimatedNode) {\n var style = this._style[styleKey];\n style.__makeNative();\n styleConfig[styleKey] = style.__getNativeTag();\n }\n }\n NativeAnimatedHelper.validateStyles(styleConfig);\n return {\n type: 'style',\n style: styleConfig\n };\n }\n}\nexport default AnimatedStyle;","/**\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 * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent } from '../AnimatedEvent';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedStyle from './AnimatedStyle';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nclass AnimatedProps extends AnimatedNode {\n constructor(props, callback) {\n super();\n if (props.style) {\n props = _objectSpread(_objectSpread({}, props), {}, {\n style: new AnimatedStyle(props.style)\n });\n }\n this._props = props;\n this._callback = callback;\n this.__attach();\n }\n __getValue() {\n var props = {};\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n if (!value.__isNative || value instanceof AnimatedStyle) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n props[key] = value.__getValue();\n }\n } else if (value instanceof AnimatedEvent) {\n props[key] = value.__getHandler();\n } else {\n props[key] = value;\n }\n }\n return props;\n }\n __getAnimatedValue() {\n var props = {};\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n props[key] = value.__getAnimatedValue();\n }\n }\n return props;\n }\n __attach() {\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n __detach() {\n if (this.__isNative && this._animatedView) {\n this.__disconnectAnimatedView();\n }\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n super.__detach();\n }\n update() {\n this._callback();\n }\n __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n if (this._animatedView) {\n this.__connectAnimatedView();\n }\n }\n }\n setNativeView(animatedView) {\n if (this._animatedView === animatedView) {\n return;\n }\n this._animatedView = animatedView;\n if (this.__isNative) {\n this.__connectAnimatedView();\n }\n }\n __connectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = this._animatedView;\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);\n }\n __disconnectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = this._animatedView;\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);\n }\n __restoreDefaultValues() {\n // When using the native driver, view properties need to be restored to\n // their default values manually since react no longer tracks them. This\n // is needed to handle cases where a prop driven by native animated is removed\n // after having been changed natively by an animation.\n if (this.__isNative) {\n NativeAnimatedHelper.API.restoreDefaultValues(this.__getNativeTag());\n }\n }\n __getNativeConfig() {\n var propsConfig = {};\n for (var propKey in this._props) {\n var value = this._props[propKey];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n propsConfig[propKey] = value.__getNativeTag();\n }\n }\n return {\n type: 'props',\n props: propsConfig\n };\n }\n}\nexport default AnimatedProps;","/**\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 * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedProps from './nodes/AnimatedProps';\nimport { AnimatedEvent } from './AnimatedEvent';\nimport useRefEffect from '../Utilities/useRefEffect';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport { useCallback, useEffect, useMemo, useReducer, useRef } from 'react';\nimport useLayoutEffect from '../../../modules/useLayoutEffect';\nexport default function useAnimatedProps(props) {\n var _useReducer = useReducer(count => count + 1, 0),\n scheduleUpdate = _useReducer[1];\n var onUpdateRef = useRef(null);\n\n // TODO: Only invalidate `node` if animated props or `style` change. In the\n // previous implementation, we permitted `style` to override props with the\n // same name property name as styles, so we can probably continue doing that.\n // The ordering of other props *should* not matter.\n var node = useMemo(() => new AnimatedProps(props, () => onUpdateRef.current == null ? void 0 : onUpdateRef.current()), [props]);\n useAnimatedPropsLifecycle(node);\n\n // TODO: This \"effect\" does three things:\n //\n // 1) Call `setNativeView`.\n // 2) Update `onUpdateRef`.\n // 3) Update listeners for `AnimatedEvent` props.\n //\n // Ideally, each of these would be separat \"effects\" so that they are not\n // unnecessarily re-run when irrelevant dependencies change. For example, we\n // should be able to hoist all `AnimatedEvent` props and only do #3 if either\n // the `AnimatedEvent` props change or `instance` changes.\n //\n // But there is no way to transparently compose three separate callback refs,\n // so we just combine them all into one for now.\n var refEffect = useCallback(instance => {\n // NOTE: This may be called more often than necessary (e.g. when `props`\n // changes), but `setNativeView` already optimizes for that.\n node.setNativeView(instance);\n\n // NOTE: This callback is only used by the JavaScript animation driver.\n onUpdateRef.current = () => {\n // Schedule an update for this component to update `reducedProps`,\n // but do not compute it immediately. If a parent also updated, we\n // need to merge those new props in before updating.\n scheduleUpdate();\n };\n var target = getEventTarget(instance);\n var events = [];\n for (var propName in props) {\n var propValue = props[propName];\n if (propValue instanceof AnimatedEvent && propValue.__isNative) {\n propValue.__attach(target, propName);\n events.push([propName, propValue]);\n }\n }\n return () => {\n onUpdateRef.current = null;\n for (var _i = 0, _events = events; _i < _events.length; _i++) {\n var _events$_i = _events[_i],\n _propName = _events$_i[0],\n _propValue = _events$_i[1];\n _propValue.__detach(target, _propName);\n }\n };\n }, [props, node]);\n var callbackRef = useRefEffect(refEffect);\n return [reduceAnimatedProps(node), callbackRef];\n}\nfunction reduceAnimatedProps(node) {\n // Force `collapsable` to be false so that the native view is not flattened.\n // Flattened views cannot be accurately referenced by the native driver.\n return _objectSpread(_objectSpread({}, node.__getValue()), {}, {\n collapsable: false\n });\n}\n\n/**\n * Manages the lifecycle of the supplied `AnimatedProps` by invoking `__attach`\n * and `__detach`. However, this is more complicated because `AnimatedProps`\n * uses reference counting to determine when to recursively detach its children\n * nodes. So in order to optimize this, we avoid detaching until the next attach\n * unless we are unmounting.\n */\nfunction useAnimatedPropsLifecycle(node) {\n var prevNodeRef = useRef(null);\n var isUnmountingRef = useRef(false);\n useEffect(() => {\n // It is ok for multiple components to call `flushQueue` because it noops\n // if the queue is empty. When multiple animated components are mounted at\n // the same time. Only first component flushes the queue and the others will noop.\n NativeAnimatedHelper.API.flushQueue();\n });\n useLayoutEffect(() => {\n isUnmountingRef.current = false;\n return () => {\n isUnmountingRef.current = true;\n };\n }, []);\n useLayoutEffect(() => {\n node.__attach();\n if (prevNodeRef.current != null) {\n var prevNode = prevNodeRef.current;\n // TODO: Stop restoring default values (unless `reset` is called).\n prevNode.__restoreDefaultValues();\n prevNode.__detach();\n prevNodeRef.current = null;\n }\n return () => {\n if (isUnmountingRef.current) {\n // NOTE: Do not restore default values on unmount, see D18197735.\n node.__detach();\n } else {\n prevNodeRef.current = node;\n }\n };\n }, [node]);\n}\nfunction getEventTarget(instance) {\n return typeof instance === 'object' && typeof (instance == null ? void 0 : instance.getScrollableNode) === 'function' ?\n // $FlowFixMe[incompatible-use] - Legacy instance assumptions.\n instance.getScrollableNode() : instance;\n}\n\n// $FlowFixMe[unclear-type] - Legacy instance assumptions.\nfunction isFabricInstance(instance) {\n var _instance$getScrollRe;\n return hasFabricHandle(instance) ||\n // Some components have a setNativeProps function but aren't a host component\n // such as lists like FlatList and SectionList. These should also use\n // forceUpdate in Fabric since setNativeProps doesn't exist on the underlying\n // host component. This crazy hack is essentially special casing those lists and\n // ScrollView itself to use forceUpdate in Fabric.\n // If these components end up using forwardRef then these hacks can go away\n // as instance would actually be the underlying host component and the above check\n // would be sufficient.\n hasFabricHandle(instance == null ? void 0 : instance.getNativeScrollRef == null ? void 0 : instance.getNativeScrollRef()) || hasFabricHandle(instance == null ? void 0 : instance.getScrollResponder == null ? void 0 : (_instance$getScrollRe = instance.getScrollResponder()) == null ? void 0 : _instance$getScrollRe.getNativeScrollRef == null ? void 0 : _instance$getScrollRe.getNativeScrollRef());\n}\n\n// $FlowFixMe[unclear-type] - Legacy instance assumptions.\nfunction hasFabricHandle(instance) {\n var _instance$_internalIn, _instance$_internalIn2;\n // eslint-disable-next-line dot-notation\n return (instance == null ? void 0 : (_instance$_internalIn = instance['_internalInstanceHandle']) == null ? void 0 : (_instance$_internalIn2 = _instance$_internalIn.stateNode) == null ? void 0 : _instance$_internalIn2.canonical) != null;\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 * @format\n */\n\nimport { useCallback, useRef } from 'react';\n/**\n * Constructs a callback ref that provides similar semantics as `useEffect`. The\n * supplied `effect` callback will be called with non-null component instances.\n * The `effect` callback can also optionally return a cleanup function.\n *\n * When a component is updated or unmounted, the cleanup function is called. The\n * `effect` callback will then be called again, if applicable.\n *\n * When a new `effect` callback is supplied, the previously returned cleanup\n * function will be called before the new `effect` callback is called with the\n * same instance.\n *\n * WARNING: The `effect` callback should be stable (e.g. using `useCallback`).\n */\nexport default function useRefEffect(effect) {\n var cleanupRef = useRef(undefined);\n return useCallback(instance => {\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (instance != null) {\n cleanupRef.current = effect(instance);\n }\n }, [effect]);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\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 * @format\n */\n\nimport useAnimatedProps from './useAnimatedProps';\nimport useMergeRefs from '../Utilities/useMergeRefs';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport View from '../../../exports/View';\nimport * as React from 'react';\n/**\n * Experimental implementation of `createAnimatedComponent` that is intended to\n * be compatible with concurrent rendering.\n */\nexport default function createAnimatedComponent(Component) {\n return /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _useAnimatedProps = useAnimatedProps(props),\n reducedProps = _useAnimatedProps[0],\n callbackRef = _useAnimatedProps[1];\n var ref = useMergeRefs(callbackRef, forwardedRef);\n\n // Some components require explicit passthrough values for animation\n // to work properly. For example, if an animated component is\n // transformed and Pressable, onPress will not work after transform\n // without these passthrough values.\n // $FlowFixMe[prop-missing]\n var passthroughAnimatedPropExplicitValues = reducedProps.passthroughAnimatedPropExplicitValues,\n style = reducedProps.style;\n var _ref = passthroughAnimatedPropExplicitValues !== null && passthroughAnimatedPropExplicitValues !== void 0 ? passthroughAnimatedPropExplicitValues : {},\n passthroughStyle = _ref.style,\n passthroughProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var mergedStyle = [style, passthroughStyle];\n return /*#__PURE__*/React.createElement(Component, _extends({}, reducedProps, passthroughProps, {\n style: mergedStyle,\n ref: ref\n }));\n });\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 * @format\n */\n\nimport { useCallback } from 'react';\n/**\n * Constructs a new ref that forwards new values to each of the given refs. The\n * given refs will always be invoked in the order that they are supplied.\n *\n * WARNING: A known problem of merging refs using this approach is that if any\n * of the given refs change, the returned callback ref will also be changed. If\n * the returned callback ref is supplied as a `ref` to a React element, this may\n * lead to problems with the given refs being invoked more times than desired.\n */\nexport default function useMergeRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n return useCallback(current => {\n for (var _i = 0, _refs = refs; _i < _refs.length; _i++) {\n var ref = _refs[_i];\n if (ref != null) {\n if (typeof ref === 'function') {\n ref(current);\n } else {\n ref.current = current;\n }\n }\n }\n }, [...refs] // eslint-disable-line react-hooks/exhaustive-deps\n );\n}","import _extends from \"@babel/runtime/helpers/extends\";\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 * @format\n */\n\nimport * as React from 'react';\nimport FlatList from '../../../../exports/FlatList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar FlatListWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(FlatList, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(FlatListWithEventThrottle);","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar assets = [];\nexport function registerAsset(asset) {\n // `push` returns new array length, so the first asset will\n // get id 1 (not 0) to make the value truthy\n return assets.push(asset);\n}\nexport function getAssetByID(assetId) {\n return assets[assetId - 1];\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar dataUriPattern = /^data:/;\nexport class ImageUriCache {\n static has(uri) {\n var entries = ImageUriCache._entries;\n var isDataUri = dataUriPattern.test(uri);\n return isDataUri || Boolean(entries[uri]);\n }\n static add(uri) {\n var entries = ImageUriCache._entries;\n var lastUsedTimestamp = Date.now();\n if (entries[uri]) {\n entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n entries[uri].refCount += 1;\n } else {\n entries[uri] = {\n lastUsedTimestamp,\n refCount: 1\n };\n }\n }\n static remove(uri) {\n var entries = ImageUriCache._entries;\n if (entries[uri]) {\n entries[uri].refCount -= 1;\n }\n // Free up entries when the cache is \"full\"\n ImageUriCache._cleanUpIfNeeded();\n }\n static _cleanUpIfNeeded() {\n var entries = ImageUriCache._entries;\n var imageUris = Object.keys(entries);\n if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n var leastRecentlyUsedKey;\n var leastRecentlyUsedEntry;\n imageUris.forEach(uri => {\n var entry = entries[uri];\n if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n leastRecentlyUsedKey = uri;\n leastRecentlyUsedEntry = entry;\n }\n });\n if (leastRecentlyUsedKey) {\n delete entries[leastRecentlyUsedKey];\n }\n }\n }\n}\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n abort(requestId) {\n var image = requests[\"\" + requestId];\n if (image) {\n image.onerror = null;\n image.onload = null;\n image = null;\n delete requests[\"\" + requestId];\n }\n },\n getSize(uri, success, failure) {\n var complete = false;\n var interval = setInterval(callback, 16);\n var requestId = ImageLoader.load(uri, callback, errorCallback);\n function callback() {\n var image = requests[\"\" + requestId];\n if (image) {\n var naturalHeight = image.naturalHeight,\n naturalWidth = image.naturalWidth;\n if (naturalHeight && naturalWidth) {\n success(naturalWidth, naturalHeight);\n complete = true;\n }\n }\n if (complete) {\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n }\n function errorCallback() {\n if (typeof failure === 'function') {\n failure();\n }\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n },\n has(uri) {\n return ImageUriCache.has(uri);\n },\n load(uri, onLoad, onError) {\n id += 1;\n var image = new window.Image();\n image.onerror = onError;\n image.onload = e => {\n // avoid blocking the main thread\n var onDecode = () => onLoad({\n nativeEvent: e\n });\n if (typeof image.decode === 'function') {\n // Safari currently throws exceptions when decoding svgs.\n // We want to catch that error and allow the load handler\n // to be forwarded to the onLoad handler in this case\n image.decode().then(onDecode, onDecode);\n } else {\n setTimeout(onDecode, 0);\n }\n };\n image.src = uri;\n requests[\"\" + id] = image;\n return id;\n },\n prefetch(uri) {\n return new Promise((resolve, reject) => {\n ImageLoader.load(uri, () => {\n // Add the uri to the cache so it can be immediately displayed when used\n // but also immediately remove it to correctly reflect that it has no active references\n ImageUriCache.add(uri);\n ImageUriCache.remove(uri);\n resolve();\n }, reject);\n });\n },\n queryCache(uris) {\n var result = {};\n uris.forEach(u => {\n if (ImageUriCache.has(u)) {\n result[u] = 'disk/memory';\n }\n });\n return Promise.resolve(result);\n }\n};\nexport default ImageLoader;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport Dimensions from '../Dimensions';\n\n/**\n * PixelRatio gives access to the device pixel density.\n */\nexport default class PixelRatio {\n /**\n * Returns the device pixel density.\n */\n static get() {\n return Dimensions.get('window').scale;\n }\n\n /**\n * No equivalent for Web\n */\n static getFontScale() {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n }\n\n /**\n * Converts a layout size (dp) to pixel size (px).\n * Guaranteed to return an integer number.\n */\n static getPixelSizeForLayoutSize(layoutSize) {\n return Math.round(layoutSize * PixelRatio.get());\n }\n\n /**\n * Rounds a layout size (dp) to the nearest layout size that corresponds to\n * an integer number of pixels. For example, on a device with a PixelRatio\n * of 3, `PixelRatio.roundToNearestPixel(8.4) = 8.33`, which corresponds to\n * exactly (8.33 * 3) = 25 pixels.\n */\n static roundToNearestPixel(layoutSize) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n }\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-label\", \"accessibilityLabel\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport { getAssetByID } from '../../modules/AssetRegistry';\nimport { createBoxShadowValue } from '../StyleSheet/preprocess';\nimport ImageLoader from '../../modules/ImageLoader';\nimport PixelRatio from '../PixelRatio';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\nfunction createTintColorSVG(tintColor, id) {\n return tintColor && id != null ? /*#__PURE__*/React.createElement(\"svg\", {\n style: {\n position: 'absolute',\n height: 0,\n visibility: 'hidden',\n width: 0\n }\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"tint-\" + id,\n suppressHydrationWarning: true\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodColor: \"\" + tintColor,\n key: tintColor\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"SourceAlpha\",\n operator: \"atop\"\n })))) : null;\n}\nfunction extractNonStandardStyleProps(style, blurRadius, filterId, tintColorProp) {\n var flatStyle = StyleSheet.flatten(style);\n var filter = flatStyle.filter,\n resizeMode = flatStyle.resizeMode,\n shadowOffset = flatStyle.shadowOffset,\n tintColor = flatStyle.tintColor;\n if (flatStyle.resizeMode) {\n warnOnce('Image.style.resizeMode', 'Image: style.resizeMode is deprecated. Please use props.resizeMode.');\n }\n if (flatStyle.tintColor) {\n warnOnce('Image.style.tintColor', 'Image: style.tintColor is deprecated. Please use props.tintColor.');\n }\n\n // Add CSS filters\n // React Native exposes these features as props and proprietary styles\n var filters = [];\n var _filter = null;\n if (filter) {\n filters.push(filter);\n }\n if (blurRadius) {\n filters.push(\"blur(\" + blurRadius + \"px)\");\n }\n if (shadowOffset) {\n var shadowString = createBoxShadowValue(flatStyle);\n if (shadowString) {\n filters.push(\"drop-shadow(\" + shadowString + \")\");\n }\n }\n if ((tintColorProp || tintColor) && filterId != null) {\n filters.push(\"url(#tint-\" + filterId + \")\");\n }\n if (filters.length > 0) {\n _filter = filters.join(' ');\n }\n return [resizeMode, _filter, tintColor];\n}\nfunction resolveAssetDimensions(source) {\n if (typeof source === 'number') {\n var _getAssetByID = getAssetByID(source),\n _height = _getAssetByID.height,\n _width = _getAssetByID.width;\n return {\n height: _height,\n width: _width\n };\n } else if (source != null && !Array.isArray(source) && typeof source === 'object') {\n var _height2 = source.height,\n _width2 = source.width;\n return {\n height: _height2,\n width: _width2\n };\n }\n}\nfunction resolveAssetUri(source) {\n var uri = null;\n if (typeof source === 'number') {\n // get the URI from the packager\n var asset = getAssetByID(source);\n if (asset == null) {\n throw new Error(\"Image: asset with ID \\\"\" + source + \"\\\" could not be found. Please check the image source or packager.\");\n }\n var scale = asset.scales[0];\n if (asset.scales.length > 1) {\n var preferredScale = PixelRatio.get();\n // Get the scale which is closest to the preferred scale\n scale = asset.scales.reduce((prev, curr) => Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev);\n }\n var scaleSuffix = scale !== 1 ? \"@\" + scale + \"x\" : '';\n uri = asset ? asset.httpServerLocation + \"/\" + asset.name + scaleSuffix + \".\" + asset.type : '';\n } else if (typeof source === 'string') {\n uri = source;\n } else if (source && typeof source.uri === 'string') {\n uri = source.uri;\n }\n if (uri) {\n var match = uri.match(svgDataUriPattern);\n // inline SVG markup may contain characters (e.g., #, \") that need to be escaped\n if (match) {\n var prefix = match[1],\n svg = match[2];\n var encodedSvg = encodeURIComponent(svg);\n return \"\" + prefix + encodedSvg;\n }\n }\n return uri;\n}\nvar Image = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _ariaLabel = props['aria-label'],\n accessibilityLabel = props.accessibilityLabel,\n blurRadius = props.blurRadius,\n defaultSource = props.defaultSource,\n draggable = props.draggable,\n onError = props.onError,\n onLayout = props.onLayout,\n onLoad = props.onLoad,\n onLoadEnd = props.onLoadEnd,\n onLoadStart = props.onLoadStart,\n pointerEvents = props.pointerEvents,\n source = props.source,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var ariaLabel = _ariaLabel || accessibilityLabel;\n if (process.env.NODE_ENV !== 'production') {\n if (props.children) {\n throw new Error('The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning.');\n }\n }\n var _React$useState = React.useState(() => {\n var uri = resolveAssetUri(source);\n if (uri != null) {\n var isLoaded = ImageLoader.has(uri);\n if (isLoaded) {\n return LOADED;\n }\n }\n return IDLE;\n }),\n state = _React$useState[0],\n updateState = _React$useState[1];\n var _React$useState2 = React.useState({}),\n layout = _React$useState2[0],\n updateLayout = _React$useState2[1];\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hiddenImageRef = React.useRef(null);\n var filterRef = React.useRef(_filterId++);\n var requestRef = React.useRef(null);\n var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null;\n var _extractNonStandardSt = extractNonStandardStyleProps(style, blurRadius, filterRef.current, props.tintColor),\n _resizeMode = _extractNonStandardSt[0],\n filter = _extractNonStandardSt[1],\n _tintColor = _extractNonStandardSt[2];\n var resizeMode = props.resizeMode || _resizeMode || 'cover';\n var tintColor = props.tintColor || _tintColor;\n var selectedSource = shouldDisplaySource ? source : defaultSource;\n var displayImageUri = resolveAssetUri(selectedSource);\n var imageSizeStyle = resolveAssetDimensions(selectedSource);\n var backgroundImage = displayImageUri ? \"url(\\\"\" + displayImageUri + \"\\\")\" : null;\n var backgroundSize = getBackgroundSize();\n\n // Accessibility image allows users to trigger the browser's image context menu\n var hiddenImage = displayImageUri ? createElement('img', {\n alt: ariaLabel || '',\n style: styles.accessibilityImage$raw,\n draggable: draggable || false,\n ref: hiddenImageRef,\n src: displayImageUri\n }) : null;\n function getBackgroundSize() {\n if (hiddenImageRef.current != null && (resizeMode === 'center' || resizeMode === 'repeat')) {\n var _hiddenImageRef$curre = hiddenImageRef.current,\n naturalHeight = _hiddenImageRef$curre.naturalHeight,\n naturalWidth = _hiddenImageRef$curre.naturalWidth;\n var _height3 = layout.height,\n _width3 = layout.width;\n if (naturalHeight && naturalWidth && _height3 && _width3) {\n var scaleFactor = Math.min(1, _width3 / naturalWidth, _height3 / naturalHeight);\n var x = Math.ceil(scaleFactor * naturalWidth);\n var y = Math.ceil(scaleFactor * naturalHeight);\n return x + \"px \" + y + \"px\";\n }\n }\n }\n function handleLayout(e) {\n if (resizeMode === 'center' || resizeMode === 'repeat' || onLayout) {\n var _layout = e.nativeEvent.layout;\n onLayout && onLayout(e);\n updateLayout(_layout);\n }\n }\n\n // Image loading\n var uri = resolveAssetUri(source);\n React.useEffect(() => {\n abortPendingRequest();\n if (uri != null) {\n updateState(LOADING);\n if (onLoadStart) {\n onLoadStart();\n }\n requestRef.current = ImageLoader.load(uri, function load(e) {\n updateState(LOADED);\n if (onLoad) {\n onLoad(e);\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n }, function error() {\n updateState(ERRORED);\n if (onError) {\n onError({\n nativeEvent: {\n error: \"Failed to load resource \" + uri + \" (404)\"\n }\n });\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n });\n }\n function abortPendingRequest() {\n if (requestRef.current != null) {\n ImageLoader.abort(requestRef.current);\n requestRef.current = null;\n }\n }\n return abortPendingRequest;\n }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n \"aria-label\": ariaLabel,\n onLayout: handleLayout,\n pointerEvents: pointerEvents,\n ref: ref,\n style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, style, styles.undo,\n // TEMP: avoid deprecated shadow props regression\n // until Image refactored to use createElement.\n {\n boxShadow: null\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.image, resizeModeStyles[resizeMode], {\n backgroundImage,\n filter\n }, backgroundSize != null && {\n backgroundSize\n }],\n suppressHydrationWarning: true\n }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = 'Image';\n\n// $FlowIgnore: This is the correct type, but casting makes it unhappy since the variables aren't defined yet\nvar ImageWithStatics = Image;\nImageWithStatics.getSize = function (uri, success, failure) {\n ImageLoader.getSize(uri, success, failure);\n};\nImageWithStatics.prefetch = function (uri) {\n return ImageLoader.prefetch(uri);\n};\nImageWithStatics.queryCache = function (uris) {\n return ImageLoader.queryCache(uris);\n};\nvar styles = StyleSheet.create({\n root: {\n flexBasis: 'auto',\n overflow: 'hidden',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n },\n undo: {\n // These styles are converted to CSS filters applied to the\n // element displaying the background image.\n blurRadius: null,\n shadowColor: null,\n shadowOpacity: null,\n shadowOffset: null,\n shadowRadius: null,\n tintColor: null,\n // These styles are not supported\n overlayColor: null,\n resizeMode: null\n },\n image: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n backgroundColor: 'transparent',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n height: '100%',\n width: '100%',\n zIndex: -1\n }),\n accessibilityImage$raw: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n opacity: 0,\n width: '100%',\n zIndex: -1\n })\n});\nvar resizeModeStyles = StyleSheet.create({\n center: {\n backgroundSize: 'auto'\n },\n contain: {\n backgroundSize: 'contain'\n },\n cover: {\n backgroundSize: 'cover'\n },\n none: {\n backgroundPosition: '0',\n backgroundSize: 'auto'\n },\n repeat: {\n backgroundPosition: '0',\n backgroundRepeat: 'repeat',\n backgroundSize: 'auto'\n },\n stretch: {\n backgroundSize: '100% 100%'\n }\n});\nexport default ImageWithStatics;","/**\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 * @format\n */\n\nimport * as React from 'react';\nimport Image from '../../../../exports/Image';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Image);","import _extends from \"@babel/runtime/helpers/extends\";\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 * @format\n */\n\nimport * as React from 'react';\nimport ScrollView from '../../../../exports/ScrollView';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar ScrollViewWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(ScrollView, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(ScrollViewWithEventThrottle);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"ItemSeparatorComponent\", \"SectionSeparatorComponent\", \"renderItem\", \"renderSectionFooter\", \"renderSectionHeader\", \"sections\", \"stickySectionHeadersEnabled\"];\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 * @format\n */\n\nimport View from '../../../exports/View';\nimport VirtualizedList from '../VirtualizedList';\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\n/**\n * Right now this just flattens everything into one list and uses VirtualizedList under the\n * hood. The only operation that might not scale well is concatting the data arrays of all the\n * sections when new props are received, which should be plenty fast for up to ~10,000 items.\n */\nclass VirtualizedSectionList extends React.PureComponent {\n constructor() {\n super(...arguments);\n this._keyExtractor = (item, index) => {\n var info = this._subExtractor(index);\n return info && info.key || String(index);\n };\n this._convertViewable = viewable => {\n var _info$index;\n invariant(viewable.index != null, 'Received a broken ViewToken');\n var info = this._subExtractor(viewable.index);\n if (!info) {\n return null;\n }\n var keyExtractorWithNullableIndex = info.section.keyExtractor;\n var keyExtractorWithNonNullableIndex = this.props.keyExtractor || defaultKeyExtractor;\n var key = keyExtractorWithNullableIndex != null ? keyExtractorWithNullableIndex(viewable.item, info.index) : keyExtractorWithNonNullableIndex(viewable.item, (_info$index = info.index) !== null && _info$index !== void 0 ? _info$index : 0);\n return _objectSpread(_objectSpread({}, viewable), {}, {\n index: info.index,\n key,\n section: info.section\n });\n };\n this._onViewableItemsChanged = _ref => {\n var viewableItems = _ref.viewableItems,\n changed = _ref.changed;\n var onViewableItemsChanged = this.props.onViewableItemsChanged;\n if (onViewableItemsChanged != null) {\n onViewableItemsChanged({\n viewableItems: viewableItems.map(this._convertViewable, this).filter(Boolean),\n changed: changed.map(this._convertViewable, this).filter(Boolean)\n });\n }\n };\n this._renderItem = listItemCount =>\n // eslint-disable-next-line react/no-unstable-nested-components\n _ref2 => {\n var item = _ref2.item,\n index = _ref2.index;\n var info = this._subExtractor(index);\n if (!info) {\n return null;\n }\n var infoIndex = info.index;\n if (infoIndex == null) {\n var section = info.section;\n if (info.header === true) {\n var renderSectionHeader = this.props.renderSectionHeader;\n return renderSectionHeader ? renderSectionHeader({\n section\n }) : null;\n } else {\n var renderSectionFooter = this.props.renderSectionFooter;\n return renderSectionFooter ? renderSectionFooter({\n section\n }) : null;\n }\n } else {\n var renderItem = info.section.renderItem || this.props.renderItem;\n var SeparatorComponent = this._getSeparatorComponent(index, info, listItemCount);\n invariant(renderItem, 'no renderItem!');\n return /*#__PURE__*/React.createElement(ItemWithSeparator, {\n SeparatorComponent: SeparatorComponent,\n LeadingSeparatorComponent: infoIndex === 0 ? this.props.SectionSeparatorComponent : undefined,\n cellKey: info.key,\n index: infoIndex,\n item: item,\n leadingItem: info.leadingItem,\n leadingSection: info.leadingSection,\n prevCellKey: (this._subExtractor(index - 1) || {}).key\n // Callback to provide updateHighlight for this item\n ,\n setSelfHighlightCallback: this._setUpdateHighlightFor,\n setSelfUpdatePropsCallback: this._setUpdatePropsFor\n // Provide child ability to set highlight/updateProps for previous item using prevCellKey\n ,\n updateHighlightFor: this._updateHighlightFor,\n updatePropsFor: this._updatePropsFor,\n renderItem: renderItem,\n section: info.section,\n trailingItem: info.trailingItem,\n trailingSection: info.trailingSection,\n inverted: !!this.props.inverted\n });\n }\n };\n this._updatePropsFor = (cellKey, value) => {\n var updateProps = this._updatePropsMap[cellKey];\n if (updateProps != null) {\n updateProps(value);\n }\n };\n this._updateHighlightFor = (cellKey, value) => {\n var updateHighlight = this._updateHighlightMap[cellKey];\n if (updateHighlight != null) {\n updateHighlight(value);\n }\n };\n this._setUpdateHighlightFor = (cellKey, updateHighlightFn) => {\n if (updateHighlightFn != null) {\n this._updateHighlightMap[cellKey] = updateHighlightFn;\n } else {\n // $FlowFixMe[prop-missing]\n delete this._updateHighlightFor[cellKey];\n }\n };\n this._setUpdatePropsFor = (cellKey, updatePropsFn) => {\n if (updatePropsFn != null) {\n this._updatePropsMap[cellKey] = updatePropsFn;\n } else {\n delete this._updatePropsMap[cellKey];\n }\n };\n this._updateHighlightMap = {};\n this._updatePropsMap = {};\n this._captureRef = ref => {\n this._listRef = ref;\n };\n }\n scrollToLocation(params) {\n var index = params.itemIndex;\n for (var i = 0; i < params.sectionIndex; i++) {\n index += this.props.getItemCount(this.props.sections[i].data) + 2;\n }\n var viewOffset = params.viewOffset || 0;\n if (this._listRef == null) {\n return;\n }\n if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) {\n var frame = this._listRef.__getFrameMetricsApprox(index - params.itemIndex, this._listRef.props);\n viewOffset += frame.length;\n }\n var toIndexParams = _objectSpread(_objectSpread({}, params), {}, {\n viewOffset,\n index\n });\n // $FlowFixMe[incompatible-use]\n this._listRef.scrollToIndex(toIndexParams);\n }\n getListRef() {\n return this._listRef;\n }\n render() {\n var _this$props = this.props,\n ItemSeparatorComponent = _this$props.ItemSeparatorComponent,\n SectionSeparatorComponent = _this$props.SectionSeparatorComponent,\n _renderItem = _this$props.renderItem,\n renderSectionFooter = _this$props.renderSectionFooter,\n renderSectionHeader = _this$props.renderSectionHeader,\n _sections = _this$props.sections,\n stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n passThroughProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;\n var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : undefined;\n var itemCount = 0;\n for (var _iterator = _createForOfIteratorHelperLoose(this.props.sections), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n // Track the section header indices\n if (stickyHeaderIndices != null) {\n stickyHeaderIndices.push(itemCount + listHeaderOffset);\n }\n\n // Add two for the section header and footer.\n itemCount += 2;\n itemCount += this.props.getItemCount(section.data);\n }\n var renderItem = this._renderItem(itemCount);\n return /*#__PURE__*/React.createElement(VirtualizedList, _extends({}, passThroughProps, {\n keyExtractor: this._keyExtractor,\n stickyHeaderIndices: stickyHeaderIndices,\n renderItem: renderItem,\n data: this.props.sections,\n getItem: (sections, index) => this._getItem(this.props, sections, index),\n getItemCount: () => itemCount,\n onViewableItemsChanged: this.props.onViewableItemsChanged ? this._onViewableItemsChanged : undefined,\n ref: this._captureRef\n }));\n }\n _getItem(props, sections, index) {\n if (!sections) {\n return null;\n }\n var itemIdx = index - 1;\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var itemCount = props.getItemCount(sectionData);\n if (itemIdx === -1 || itemIdx === itemCount) {\n // We intend for there to be overflow by one on both ends of the list.\n // This will be for headers and footers. When returning a header or footer\n // item the section itself is the item.\n return section;\n } else if (itemIdx < itemCount) {\n // If we are in the bounds of the list's data then return the item.\n return props.getItem(sectionData, itemIdx);\n } else {\n itemIdx -= itemCount + 2; // Add two for the header and footer\n }\n }\n\n return null;\n }\n\n // $FlowFixMe[missing-local-annot]\n\n _subExtractor(index) {\n var itemIndex = index;\n var _this$props2 = this.props,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount,\n keyExtractor = _this$props2.keyExtractor,\n sections = _this$props2.sections;\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var key = section.key || String(i);\n itemIndex -= 1; // The section adds an item for the header\n if (itemIndex >= getItemCount(sectionData) + 1) {\n itemIndex -= getItemCount(sectionData) + 1; // The section adds an item for the footer.\n } else if (itemIndex === -1) {\n return {\n section,\n key: key + ':header',\n index: null,\n header: true,\n trailingSection: sections[i + 1]\n };\n } else if (itemIndex === getItemCount(sectionData)) {\n return {\n section,\n key: key + ':footer',\n index: null,\n header: false,\n trailingSection: sections[i + 1]\n };\n } else {\n var extractor = section.keyExtractor || keyExtractor || defaultKeyExtractor;\n return {\n section,\n key: key + ':' + extractor(getItem(sectionData, itemIndex), itemIndex),\n index: itemIndex,\n leadingItem: getItem(sectionData, itemIndex - 1),\n leadingSection: sections[i - 1],\n trailingItem: getItem(sectionData, itemIndex + 1),\n trailingSection: sections[i + 1]\n };\n }\n }\n }\n _getSeparatorComponent(index, info, listItemCount) {\n info = info || this._subExtractor(index);\n if (!info) {\n return null;\n }\n var ItemSeparatorComponent = info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent;\n var SectionSeparatorComponent = this.props.SectionSeparatorComponent;\n var isLastItemInList = index === listItemCount - 1;\n var isLastItemInSection = info.index === this.props.getItemCount(info.section.data) - 1;\n if (SectionSeparatorComponent && isLastItemInSection) {\n return SectionSeparatorComponent;\n }\n if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) {\n return ItemSeparatorComponent;\n }\n return null;\n }\n}\nfunction ItemWithSeparator(props) {\n var LeadingSeparatorComponent = props.LeadingSeparatorComponent,\n SeparatorComponent = props.SeparatorComponent,\n cellKey = props.cellKey,\n prevCellKey = props.prevCellKey,\n setSelfHighlightCallback = props.setSelfHighlightCallback,\n updateHighlightFor = props.updateHighlightFor,\n setSelfUpdatePropsCallback = props.setSelfUpdatePropsCallback,\n updatePropsFor = props.updatePropsFor,\n item = props.item,\n index = props.index,\n section = props.section,\n inverted = props.inverted;\n var _React$useState = React.useState(false),\n leadingSeparatorHiglighted = _React$useState[0],\n setLeadingSeparatorHighlighted = _React$useState[1];\n var _React$useState2 = React.useState(false),\n separatorHighlighted = _React$useState2[0],\n setSeparatorHighlighted = _React$useState2[1];\n var _React$useState3 = React.useState({\n leadingItem: props.leadingItem,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.item,\n trailingSection: props.trailingSection\n }),\n leadingSeparatorProps = _React$useState3[0],\n setLeadingSeparatorProps = _React$useState3[1];\n var _React$useState4 = React.useState({\n leadingItem: props.item,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.trailingItem,\n trailingSection: props.trailingSection\n }),\n separatorProps = _React$useState4[0],\n setSeparatorProps = _React$useState4[1];\n React.useEffect(() => {\n setSelfHighlightCallback(cellKey, setSeparatorHighlighted);\n // $FlowFixMe[incompatible-call]\n setSelfUpdatePropsCallback(cellKey, setSeparatorProps);\n return () => {\n setSelfUpdatePropsCallback(cellKey, null);\n setSelfHighlightCallback(cellKey, null);\n };\n }, [cellKey, setSelfHighlightCallback, setSeparatorProps, setSelfUpdatePropsCallback]);\n var separators = {\n highlight: () => {\n setLeadingSeparatorHighlighted(true);\n setSeparatorHighlighted(true);\n if (prevCellKey != null) {\n updateHighlightFor(prevCellKey, true);\n }\n },\n unhighlight: () => {\n setLeadingSeparatorHighlighted(false);\n setSeparatorHighlighted(false);\n if (prevCellKey != null) {\n updateHighlightFor(prevCellKey, false);\n }\n },\n updateProps: (select, newProps) => {\n if (select === 'leading') {\n if (LeadingSeparatorComponent != null) {\n setLeadingSeparatorProps(_objectSpread(_objectSpread({}, leadingSeparatorProps), newProps));\n } else if (prevCellKey != null) {\n // update the previous item's separator\n updatePropsFor(prevCellKey, _objectSpread(_objectSpread({}, leadingSeparatorProps), newProps));\n }\n } else if (select === 'trailing' && SeparatorComponent != null) {\n setSeparatorProps(_objectSpread(_objectSpread({}, separatorProps), newProps));\n }\n }\n };\n var element = props.renderItem({\n item,\n index,\n section,\n separators\n });\n var leadingSeparator = LeadingSeparatorComponent != null && /*#__PURE__*/React.createElement(LeadingSeparatorComponent, _extends({\n highlighted: leadingSeparatorHiglighted\n }, leadingSeparatorProps));\n var separator = SeparatorComponent != null && /*#__PURE__*/React.createElement(SeparatorComponent, _extends({\n highlighted: separatorHighlighted\n }, separatorProps));\n return leadingSeparator || separator ? /*#__PURE__*/React.createElement(View, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element;\n}\n\n/* $FlowFixMe[class-object-subtyping] added when improving typing for this\n * parameters */\n// $FlowFixMe[method-unbinding]\nexport default VirtualizedSectionList;","/**\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 * @format\n */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"stickySectionHeadersEnabled\"];\nimport Platform from '../../../exports/Platform';\nimport * as React from 'react';\nimport VirtualizedSectionList from '../VirtualizedSectionList';\n/**\n * A performant interface for rendering sectioned lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Configurable viewability callbacks.\n * - List header support.\n * - List footer support.\n * - Item separator support.\n * - Section header support.\n * - Section separator support.\n * - Heterogeneous data and item rendering support.\n * - Pull to Refresh.\n * - Scroll loading.\n *\n * If you don't need section support and want a simpler interface, use\n * [``](https://reactnative.dev/docs/flatlist).\n *\n * Simple Examples:\n *\n * }\n * renderSectionHeader={({section}) =>
}\n * sections={[ // homogeneous rendering between sections\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * ]}\n * />\n *\n * \n *\n * This is a convenience wrapper around [``](docs/virtualizedlist),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate and momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n */\nexport default class SectionList extends React.PureComponent {\n constructor() {\n super(...arguments);\n this._captureRef = ref => {\n this._wrapperListRef = ref;\n };\n }\n /**\n * Scrolls to the item at the specified `sectionIndex` and `itemIndex` (within the section)\n * positioned in the viewable area such that `viewPosition` 0 places it at the top (and may be\n * covered by a sticky header), 1 at the bottom, and 0.5 centered in the middle. `viewOffset` is a\n * fixed number of pixels to offset the final target position, e.g. to compensate for sticky\n * headers.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToLocation(params) {\n if (this._wrapperListRef != null) {\n this._wrapperListRef.scrollToLocation(params);\n }\n }\n\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n recordInteraction() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n listRef && listRef.recordInteraction();\n }\n\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n flashScrollIndicators() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n listRef && listRef.flashScrollIndicators();\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n */\n getScrollResponder() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollResponder();\n }\n }\n getScrollableNode() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollableNode();\n }\n }\n render() {\n var _this$props = this.props,\n _stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var stickySectionHeadersEnabled = _stickySectionHeadersEnabled !== null && _stickySectionHeadersEnabled !== void 0 ? _stickySectionHeadersEnabled : Platform.OS === 'ios';\n return /*#__PURE__*/React.createElement(VirtualizedSectionList, _extends({}, restProps, {\n stickySectionHeadersEnabled: stickySectionHeadersEnabled,\n ref: this._captureRef,\n getItemCount: items => items.length,\n getItem: (items, index) => items[index]\n }));\n }\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\nimport SectionList from '../../vendor/react-native/SectionList';\nexport default SectionList;","import _extends from \"@babel/runtime/helpers/extends\";\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 * @format\n */\n\nimport * as React from 'react';\nimport SectionList from '../../../../exports/SectionList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar SectionListWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SectionList, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(SectionListWithEventThrottle);","/**\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 * @format\n */\n\nimport * as React from 'react';\nimport Text from '../../../../exports/Text';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Text);","/**\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 * @format\n */\n\nimport * as React from 'react';\nimport View from '../../../../exports/View';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(View);","/**\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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedAddition extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() + this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'addition',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedAddition;","/**\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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedDiffClamp extends AnimatedWithChildren {\n constructor(a, min, max) {\n super();\n this._a = a;\n this._min = min;\n this._max = max;\n this._value = this._lastValue = this._a.__getValue();\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __getValue() {\n var value = this._a.__getValue();\n var diff = value - this._lastValue;\n this._lastValue = value;\n this._value = Math.min(Math.max(this._value + diff, this._min), this._max);\n return this._value;\n }\n __attach() {\n this._a.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'diffclamp',\n input: this._a.__getNativeTag(),\n min: this._min,\n max: this._max\n };\n }\n}\nexport default AnimatedDiffClamp;","/**\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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedDivision extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._warnedAboutDivideByZero = false;\n if (b === 0 || b instanceof AnimatedNode && b.__getValue() === 0) {\n console.error('Detected potential division by zero in AnimatedDivision');\n }\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n var a = this._a.__getValue();\n var b = this._b.__getValue();\n if (b === 0) {\n // Prevent spamming the console/LogBox\n if (!this._warnedAboutDivideByZero) {\n console.error('Detected division by zero in AnimatedDivision');\n this._warnedAboutDivideByZero = true;\n }\n // Passing infinity/NaN to Fabric will cause a native crash\n return 0;\n }\n this._warnedAboutDivideByZero = false;\n return a / b;\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'division',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedDivision;","/**\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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedModulo extends AnimatedWithChildren {\n constructor(a, modulus) {\n super();\n this._a = a;\n this._modulus = modulus;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus;\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'modulus',\n input: this._a.__getNativeTag(),\n modulus: this._modulus\n };\n }\n}\nexport default AnimatedModulo;","/**\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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedMultiplication extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() * this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'multiplication',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedMultiplication;","/**\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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedSubtraction extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() - this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'subtraction',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedSubtraction;","/**\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 * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedNode from './AnimatedNode';\nimport { generateNewAnimationId, shouldUseNativeDriver } from '../NativeAnimatedHelper';\nclass AnimatedTracking extends AnimatedNode {\n constructor(value, parent, animationClass, animationConfig, callback) {\n super();\n this._value = value;\n this._parent = parent;\n this._animationClass = animationClass;\n this._animationConfig = animationConfig;\n this._useNativeDriver = shouldUseNativeDriver(animationConfig);\n this._callback = callback;\n this.__attach();\n }\n __makeNative() {\n this.__isNative = true;\n this._parent.__makeNative();\n super.__makeNative();\n this._value.__makeNative();\n }\n __getValue() {\n return this._parent.__getValue();\n }\n __attach() {\n this._parent.__addChild(this);\n if (this._useNativeDriver) {\n // when the tracking starts we need to convert this node to a \"native node\"\n // so that the parent node will be made \"native\" too. This is necessary as\n // if we don't do this `update` method will get called. At that point it\n // may be too late as it would mean the JS driver has already started\n // updating node values\n this.__makeNative();\n }\n }\n __detach() {\n this._parent.__removeChild(this);\n super.__detach();\n }\n update() {\n this._value.animate(new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n toValue: this._animationConfig.toValue.__getValue()\n })), this._callback);\n }\n __getNativeConfig() {\n var animation = new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n // remove toValue from the config as it's a ref to Animated.Value\n toValue: undefined\n }));\n var animationConfig = animation.__getNativeAnimationConfig();\n return {\n type: 'tracking',\n animationId: generateNewAnimationId(),\n animationConfig,\n toValue: this._parent.__getNativeTag(),\n value: this._value.__getNativeTag()\n };\n }\n}\nexport default AnimatedTracking;","/**\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 * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n\n/**\n * 2D Value for driving 2D animations, such as pan gestures. Almost identical\n * API to normal `Animated.Value`, but multiplexed.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html\n */\nclass AnimatedValueXY extends AnimatedWithChildren {\n constructor(valueIn) {\n super();\n var value = valueIn || {\n x: 0,\n y: 0\n }; // fixme: shouldn't need `: any`\n if (typeof value.x === 'number' && typeof value.y === 'number') {\n this.x = new AnimatedValue(value.x);\n this.y = new AnimatedValue(value.y);\n } else {\n invariant(value.x instanceof AnimatedValue && value.y instanceof AnimatedValue, 'AnimatedValueXY must be initialized with an object of numbers or ' + 'AnimatedValues.');\n this.x = value.x;\n this.y = value.y;\n }\n this._listeners = {};\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#setvalue\n */\n setValue(value) {\n this.x.setValue(value.x);\n this.y.setValue(value.y);\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether\n * via `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#setoffset\n */\n setOffset(offset) {\n this.x.setOffset(offset.x);\n this.y.setOffset(offset.y);\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#flattenoffset\n */\n flattenOffset() {\n this.x.flattenOffset();\n this.y.flattenOffset();\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to\n * zero. The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#extractoffset\n */\n extractOffset() {\n this.x.extractOffset();\n this.y.extractOffset();\n }\n __getValue() {\n return {\n x: this.x.__getValue(),\n y: this.y.__getValue()\n };\n }\n\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#resetanimation\n */\n resetAnimation(callback) {\n this.x.resetAnimation();\n this.y.resetAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#stopanimation\n */\n stopAnimation(callback) {\n this.x.stopAnimation();\n this.y.stopAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to synchronously read\n * the value because it might be driven natively.\n *\n * Returns a string that serves as an identifier for the listener.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#addlistener\n */\n addListener(callback) {\n var id = String(_uniqueId++);\n var jointCallback = _ref => {\n var number = _ref.value;\n callback(this.__getValue());\n };\n this._listeners[id] = {\n x: this.x.addListener(jointCallback),\n y: this.y.addListener(jointCallback)\n };\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removelistener\n */\n removeListener(id) {\n this.x.removeListener(this._listeners[id].x);\n this.y.removeListener(this._listeners[id].y);\n delete this._listeners[id];\n }\n\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removealllisteners\n */\n removeAllListeners() {\n this.x.removeAllListeners();\n this.y.removeAllListeners();\n this._listeners = {};\n }\n\n /**\n * Converts `{x, y}` into `{left, top}` for use in style.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#getlayout\n */\n getLayout() {\n return {\n left: this.x,\n top: this.y\n };\n }\n\n /**\n * Converts `{x, y}` into a useable translation transform.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#gettranslatetransform\n */\n getTranslateTransform() {\n return [{\n translateX: this.x\n }, {\n translateY: this.y\n }];\n }\n}\nexport default AnimatedValueXY;","/**\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 * @format\n */\n\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar startNativeAnimationNextId = 1;\n\n// Important note: start() and stop() will only be called at most once.\n// Once an animation has been stopped or finished its course, it will\n// not be reused.\nclass Animation {\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {}\n stop() {\n if (this.__nativeId) {\n NativeAnimatedHelper.API.stopAnimation(this.__nativeId);\n }\n }\n __getNativeAnimationConfig() {\n // Subclasses that have corresponding animation implementation done in native\n // should override this method\n throw new Error('This animation type cannot be offloaded to native');\n }\n // Helper function for subclasses to make sure onEnd is only called once.\n __debouncedOnEnd(result) {\n var onEnd = this.__onEnd;\n this.__onEnd = null;\n onEnd && onEnd(result);\n }\n __startNativeAnimation(animatedValue) {\n var startNativeAnimationWaitId = startNativeAnimationNextId + \":startAnimation\";\n startNativeAnimationNextId += 1;\n NativeAnimatedHelper.API.setWaitingForIdentifier(startNativeAnimationWaitId);\n try {\n var config = this.__getNativeAnimationConfig();\n animatedValue.__makeNative(config.platformConfig);\n this.__nativeId = NativeAnimatedHelper.generateNewAnimationId();\n NativeAnimatedHelper.API.startAnimatingNode(this.__nativeId, animatedValue.__getNativeTag(), config,\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.__debouncedOnEnd.bind(this));\n } catch (e) {\n throw e;\n } finally {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(startNativeAnimationWaitId);\n }\n }\n}\nexport default Animation;","/**\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 * @format\n */\n\n'use strict';\n\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nclass DecayAnimation extends Animation {\n constructor(config) {\n var _config$deceleration, _config$isInteraction, _config$iterations;\n super();\n this._deceleration = (_config$deceleration = config.deceleration) !== null && _config$deceleration !== void 0 ? _config$deceleration : 0.998;\n this._velocity = config.velocity;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n }\n __getNativeAnimationConfig() {\n return {\n type: 'decay',\n deceleration: this._deceleration,\n velocity: this._velocity,\n iterations: this.__iterations\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._lastValue = fromValue;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._startTime = Date.now();\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n onUpdate() {\n var now = Date.now();\n var value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime)));\n this._onUpdate(value);\n if (Math.abs(this._lastValue - value) < 0.1) {\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n this._lastValue = value;\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n stop() {\n super.stop();\n this.__active = false;\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default DecayAnimation;","/**\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 * @format\n * \n */\n\n'use strict';\n\nfunction stiffnessFromOrigamiValue(oValue) {\n return (oValue - 30) * 3.62 + 194;\n}\nfunction dampingFromOrigamiValue(oValue) {\n return (oValue - 8) * 3 + 25;\n}\nfunction fromOrigamiTensionAndFriction(tension, friction) {\n return {\n stiffness: stiffnessFromOrigamiValue(tension),\n damping: dampingFromOrigamiValue(friction)\n };\n}\nfunction fromBouncinessAndSpeed(bounciness, speed) {\n function normalize(value, startValue, endValue) {\n return (value - startValue) / (endValue - startValue);\n }\n function projectNormal(n, start, end) {\n return start + n * (end - start);\n }\n function linearInterpolation(t, start, end) {\n return t * end + (1 - t) * start;\n }\n function quadraticOutInterpolation(t, start, end) {\n return linearInterpolation(2 * t - t * t, start, end);\n }\n function b3Friction1(x) {\n return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;\n }\n function b3Friction2(x) {\n return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;\n }\n function b3Friction3(x) {\n return 0.00000045 * Math.pow(x, 3) - 0.000332 * Math.pow(x, 2) + 0.1078 * x + 5.84;\n }\n function b3Nobounce(tension) {\n if (tension <= 18) {\n return b3Friction1(tension);\n } else if (tension > 18 && tension <= 44) {\n return b3Friction2(tension);\n } else {\n return b3Friction3(tension);\n }\n }\n var b = normalize(bounciness / 1.7, 0, 20);\n b = projectNormal(b, 0, 0.8);\n var s = normalize(speed / 1.7, 0, 20);\n var bouncyTension = projectNormal(s, 0.5, 200);\n var bouncyFriction = quadraticOutInterpolation(b, b3Nobounce(bouncyTension), 0.01);\n return {\n stiffness: stiffnessFromOrigamiValue(bouncyTension),\n damping: dampingFromOrigamiValue(bouncyFriction)\n };\n}\nexport default {\n fromOrigamiTensionAndFriction,\n fromBouncinessAndSpeed\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 * @format\n */\n\n'use strict';\n\nimport Animation from './Animation';\nimport SpringConfig from '../SpringConfig';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport AnimatedColor from '../nodes/AnimatedColor';\nclass SpringAnimation extends Animation {\n constructor(config) {\n var _config$overshootClam, _config$restDisplacem, _config$restSpeedThre, _config$velocity, _config$velocity2, _config$delay, _config$isInteraction, _config$iterations;\n super();\n this._overshootClamping = (_config$overshootClam = config.overshootClamping) !== null && _config$overshootClam !== void 0 ? _config$overshootClam : false;\n this._restDisplacementThreshold = (_config$restDisplacem = config.restDisplacementThreshold) !== null && _config$restDisplacem !== void 0 ? _config$restDisplacem : 0.001;\n this._restSpeedThreshold = (_config$restSpeedThre = config.restSpeedThreshold) !== null && _config$restSpeedThre !== void 0 ? _config$restSpeedThre : 0.001;\n this._initialVelocity = (_config$velocity = config.velocity) !== null && _config$velocity !== void 0 ? _config$velocity : 0;\n this._lastVelocity = (_config$velocity2 = config.velocity) !== null && _config$velocity2 !== void 0 ? _config$velocity2 : 0;\n this._toValue = config.toValue;\n this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this._platformConfig = config.platformConfig;\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n if (config.stiffness !== undefined || config.damping !== undefined || config.mass !== undefined) {\n var _config$stiffness, _config$damping, _config$mass;\n invariant(config.bounciness === undefined && config.speed === undefined && config.tension === undefined && config.friction === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n this._stiffness = (_config$stiffness = config.stiffness) !== null && _config$stiffness !== void 0 ? _config$stiffness : 100;\n this._damping = (_config$damping = config.damping) !== null && _config$damping !== void 0 ? _config$damping : 10;\n this._mass = (_config$mass = config.mass) !== null && _config$mass !== void 0 ? _config$mass : 1;\n } else if (config.bounciness !== undefined || config.speed !== undefined) {\n var _config$bounciness, _config$speed;\n // Convert the origami bounciness/speed values to stiffness/damping\n // We assume mass is 1.\n invariant(config.tension === undefined && config.friction === undefined && config.stiffness === undefined && config.damping === undefined && config.mass === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n var springConfig = SpringConfig.fromBouncinessAndSpeed((_config$bounciness = config.bounciness) !== null && _config$bounciness !== void 0 ? _config$bounciness : 8, (_config$speed = config.speed) !== null && _config$speed !== void 0 ? _config$speed : 12);\n this._stiffness = springConfig.stiffness;\n this._damping = springConfig.damping;\n this._mass = 1;\n } else {\n var _config$tension, _config$friction;\n // Convert the origami tension/friction values to stiffness/damping\n // We assume mass is 1.\n var _springConfig = SpringConfig.fromOrigamiTensionAndFriction((_config$tension = config.tension) !== null && _config$tension !== void 0 ? _config$tension : 40, (_config$friction = config.friction) !== null && _config$friction !== void 0 ? _config$friction : 7);\n this._stiffness = _springConfig.stiffness;\n this._damping = _springConfig.damping;\n this._mass = 1;\n }\n invariant(this._stiffness > 0, 'Stiffness value must be greater than 0');\n invariant(this._damping > 0, 'Damping value must be greater than 0');\n invariant(this._mass > 0, 'Mass value must be greater than 0');\n }\n __getNativeAnimationConfig() {\n var _this$_initialVelocit;\n return {\n type: 'spring',\n overshootClamping: this._overshootClamping,\n restDisplacementThreshold: this._restDisplacementThreshold,\n restSpeedThreshold: this._restSpeedThreshold,\n stiffness: this._stiffness,\n damping: this._damping,\n mass: this._mass,\n initialVelocity: (_this$_initialVelocit = this._initialVelocity) !== null && _this$_initialVelocit !== void 0 ? _this$_initialVelocit : this._lastVelocity,\n toValue: this._toValue,\n iterations: this.__iterations,\n platformConfig: this._platformConfig\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._startPosition = fromValue;\n this._lastPosition = this._startPosition;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._lastTime = Date.now();\n this._frameTime = 0.0;\n if (previousAnimation instanceof SpringAnimation) {\n var internalState = previousAnimation.getInternalState();\n this._lastPosition = internalState.lastPosition;\n this._lastVelocity = internalState.lastVelocity;\n // Set the initial velocity to the last velocity\n this._initialVelocity = this._lastVelocity;\n this._lastTime = internalState.lastTime;\n }\n var start = () => {\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this.onUpdate();\n }\n };\n\n // If this._delay is more than 0, we start after the timeout.\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n getInternalState() {\n return {\n lastPosition: this._lastPosition,\n lastVelocity: this._lastVelocity,\n lastTime: this._lastTime\n };\n }\n\n /**\n * This spring model is based off of a damped harmonic oscillator\n * (https://en.wikipedia.org/wiki/Harmonic_oscillator#Damped_harmonic_oscillator).\n *\n * We use the closed form of the second order differential equation:\n *\n * x'' + (2ζ⍵_0)x' + ⍵^2x = 0\n *\n * where\n * ⍵_0 = √(k / m) (undamped angular frequency of the oscillator),\n * ζ = c / 2√mk (damping ratio),\n * c = damping constant\n * k = stiffness\n * m = mass\n *\n * The derivation of the closed form is described in detail here:\n * http://planetmath.org/sites/default/files/texpdf/39745.pdf\n *\n * This algorithm happens to match the algorithm used by CASpringAnimation,\n * a QuartzCore (iOS) API that creates spring animations.\n */\n onUpdate() {\n // If for some reason we lost a lot of frames (e.g. process large payload or\n // stopped in the debugger), we only advance by 4 frames worth of\n // computation and will continue on the next frame. It's better to have it\n // running at faster speed than jumping to the end.\n var MAX_STEPS = 64;\n var now = Date.now();\n if (now > this._lastTime + MAX_STEPS) {\n now = this._lastTime + MAX_STEPS;\n }\n var deltaTime = (now - this._lastTime) / 1000;\n this._frameTime += deltaTime;\n var c = this._damping;\n var m = this._mass;\n var k = this._stiffness;\n var v0 = -this._initialVelocity;\n var zeta = c / (2 * Math.sqrt(k * m)); // damping ratio\n var omega0 = Math.sqrt(k / m); // undamped angular frequency of the oscillator (rad/ms)\n var omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta); // exponential decay\n var x0 = this._toValue - this._startPosition; // calculate the oscillation from x0 = 1 to x = 0\n\n var position = 0.0;\n var velocity = 0.0;\n var t = this._frameTime;\n if (zeta < 1) {\n // Under damped\n var envelope = Math.exp(-zeta * omega0 * t);\n position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t));\n // This looks crazy -- it's actually just the derivative of the\n // oscillation function\n velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t));\n } else {\n // Critically damped\n var _envelope = Math.exp(-omega0 * t);\n position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t);\n velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));\n }\n this._lastTime = now;\n this._lastPosition = position;\n this._lastVelocity = velocity;\n this._onUpdate(position);\n if (!this.__active) {\n // a listener might have stopped us in _onUpdate\n return;\n }\n\n // Conditions for stopping the spring animation\n var isOvershooting = false;\n if (this._overshootClamping && this._stiffness !== 0) {\n if (this._startPosition < this._toValue) {\n isOvershooting = position > this._toValue;\n } else {\n isOvershooting = position < this._toValue;\n }\n }\n var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;\n var isDisplacement = true;\n if (this._stiffness !== 0) {\n isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;\n }\n if (isOvershooting || isVelocity && isDisplacement) {\n if (this._stiffness !== 0) {\n // Ensure that we end up with a round value\n this._lastPosition = this._toValue;\n this._lastVelocity = 0;\n this._onUpdate(this._toValue);\n }\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default SpringAnimation;","/**\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 * @format\n * \n */\n\n'use strict';\n\nimport _bezier from './bezier';\nvar ease;\n\n/**\n * The `Easing` module implements common easing functions. This module is used\n * by [Animate.timing()](docs/animate.html#timing) to convey physically\n * believable motion in animations.\n *\n * You can find a visualization of some common easing functions at\n * http://easings.net/\n *\n * ### Predefined animations\n *\n * The `Easing` module provides several predefined animations through the\n * following methods:\n *\n * - [`back`](docs/easing.html#back) provides a simple animation where the\n * object goes slightly back before moving forward\n * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation\n * - [`ease`](docs/easing.html#ease) provides a simple inertial animation\n * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction\n *\n * ### Standard functions\n *\n * Three standard easing functions are provided:\n *\n * - [`linear`](docs/easing.html#linear)\n * - [`quad`](docs/easing.html#quad)\n * - [`cubic`](docs/easing.html#cubic)\n *\n * The [`poly`](docs/easing.html#poly) function can be used to implement\n * quartic, quintic, and other higher power functions.\n *\n * ### Additional functions\n *\n * Additional mathematical functions are provided by the following methods:\n *\n * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve\n * - [`circle`](docs/easing.html#circle) provides a circular function\n * - [`sin`](docs/easing.html#sin) provides a sinusoidal function\n * - [`exp`](docs/easing.html#exp) provides an exponential function\n *\n * The following helpers are used to modify other easing functions.\n *\n * - [`in`](docs/easing.html#in) runs an easing function forwards\n * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical\n * - [`out`](docs/easing.html#out) runs an easing function backwards\n */\nclass Easing {\n /**\n * A stepping function, returns 1 for any positive value of `n`.\n */\n static step0(n) {\n return n > 0 ? 1 : 0;\n }\n\n /**\n * A stepping function, returns 1 if `n` is greater than or equal to 1.\n */\n static step1(n) {\n return n >= 1 ? 1 : 0;\n }\n\n /**\n * A linear function, `f(t) = t`. Position correlates to elapsed time one to\n * one.\n *\n * http://cubic-bezier.com/#0,0,1,1\n */\n static linear(t) {\n return t;\n }\n\n /**\n * A simple inertial interaction, similar to an object slowly accelerating to\n * speed.\n *\n * http://cubic-bezier.com/#.42,0,1,1\n */\n static ease(t) {\n if (!ease) {\n ease = Easing.bezier(0.42, 0, 1, 1);\n }\n return ease(t);\n }\n\n /**\n * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed\n * time.\n *\n * http://easings.net/#easeInQuad\n */\n static quad(t) {\n return t * t;\n }\n\n /**\n * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed\n * time.\n *\n * http://easings.net/#easeInCubic\n */\n static cubic(t) {\n return t * t * t;\n }\n\n /**\n * A power function. Position is equal to the Nth power of elapsed time.\n *\n * n = 4: http://easings.net/#easeInQuart\n * n = 5: http://easings.net/#easeInQuint\n */\n static poly(n) {\n return t => Math.pow(t, n);\n }\n\n /**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\n static sin(t) {\n return 1 - Math.cos(t * Math.PI / 2);\n }\n\n /**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\n static circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n\n /**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\n static exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\n\n /**\n * A simple elastic interaction, similar to a spring oscillating back and\n * forth.\n *\n * Default bounciness is 1, which overshoots a little bit once. 0 bounciness\n * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N\n * times.\n *\n * http://easings.net/#easeInElastic\n */\n static elastic(bounciness) {\n if (bounciness === void 0) {\n bounciness = 1;\n }\n var p = bounciness * Math.PI;\n return t => 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p);\n }\n\n /**\n * Use with `Animated.parallel()` to create a simple effect where the object\n * animates back slightly as the animation starts.\n *\n * Wolfram Plot:\n *\n * - http://tiny.cc/back_default (s = 1.70158, default)\n */\n static back(s) {\n if (s === void 0) {\n s = 1.70158;\n }\n return t => t * t * ((s + 1) * t - s);\n }\n\n /**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\n static bounce(t) {\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n if (t < 2 / 2.75) {\n var _t = t - 1.5 / 2.75;\n return 7.5625 * _t * _t + 0.75;\n }\n if (t < 2.5 / 2.75) {\n var _t2 = t - 2.25 / 2.75;\n return 7.5625 * _t2 * _t2 + 0.9375;\n }\n var t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n }\n\n /**\n * Provides a cubic bezier curve, equivalent to CSS Transitions'\n * `transition-timing-function`.\n *\n * A useful tool to visualize cubic bezier curves can be found at\n * http://cubic-bezier.com/\n */\n static bezier(x1, y1, x2, y2) {\n return _bezier(x1, y1, x2, y2);\n }\n\n /**\n * Runs an easing function forwards.\n */\n static in(easing) {\n return easing;\n }\n\n /**\n * Runs an easing function backwards.\n */\n static out(easing) {\n return t => 1 - easing(1 - t);\n }\n\n /**\n * Makes any easing function symmetrical. The easing function will run\n * forwards for half of the duration, then backwards for the rest of the\n * duration.\n */\n static inOut(easing) {\n return t => {\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n return 1 - easing((1 - t) * 2) / 2;\n };\n }\n}\nexport default Easing;","/**\n * Portions 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 * @format\n */\n\n/**\n * BezierEasing - use bezier curve for transition easing function\n * https://github.com/gre/bezier-easing\n * @copyright 2014-2015 Gaëtan Renaudeau. MIT License.\n */\n\n'use strict';\n\n// These values are established by empiricism with tests (tradeoff: performance VS precision)\nvar NEWTON_ITERATIONS = 4;\nvar NEWTON_MIN_SLOPE = 0.001;\nvar SUBDIVISION_PRECISION = 0.0000001;\nvar SUBDIVISION_MAX_ITERATIONS = 10;\nvar kSplineTableSize = 11;\nvar kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\nvar float32ArraySupported = typeof Float32Array === 'function';\nfunction A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n}\nfunction B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n}\nfunction C(aA1) {\n return 3.0 * aA1;\n}\n\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nfunction calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n}\n\n// Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\nfunction getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n}\nfunction binarySubdivide(aX, _aA, _aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0,\n aA = _aA,\n aB = _aB;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n return currentT;\n}\nfunction newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {\n var aGuessT = _aGuessT;\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n}\nexport default function bezier(mX1, mY1, mX2, mY2) {\n if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {\n throw new Error('bezier x values must be in [0, 1] range');\n }\n\n // Precompute samples table\n var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n\n // Interpolate to provide an initial guess for t\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n return function BezierEasing(x) {\n if (mX1 === mY1 && mX2 === mY2) {\n return x; // linear\n }\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n if (x === 0) {\n return 0;\n }\n if (x === 1) {\n return 1;\n }\n return calcBezier(getTForX(x), mY1, mY2);\n };\n}\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 * @format\n */\n\n'use strict';\n\nimport AnimatedValue from '../nodes/AnimatedValue';\nimport AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport Easing from '../../../../exports/Easing';\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport AnimatedColor from '../nodes/AnimatedColor';\nvar _easeInOut;\nfunction easeInOut() {\n if (!_easeInOut) {\n _easeInOut = Easing.inOut(Easing.ease);\n }\n return _easeInOut;\n}\nclass TimingAnimation extends Animation {\n constructor(config) {\n var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction;\n super();\n this._toValue = config.toValue;\n this._easing = (_config$easing = config.easing) !== null && _config$easing !== void 0 ? _config$easing : easeInOut();\n this._duration = (_config$duration = config.duration) !== null && _config$duration !== void 0 ? _config$duration : 500;\n this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this._platformConfig = config.platformConfig;\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n }\n __getNativeAnimationConfig() {\n var frameDuration = 1000.0 / 60.0;\n var frames = [];\n var numFrames = Math.round(this._duration / frameDuration);\n for (var frame = 0; frame < numFrames; frame++) {\n frames.push(this._easing(frame / numFrames));\n }\n frames.push(this._easing(1));\n return {\n type: 'frames',\n frames,\n toValue: this._toValue,\n iterations: this.__iterations,\n platformConfig: this._platformConfig\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n var start = () => {\n // Animations that sometimes have 0 duration and sometimes do not\n // still need to use the native driver when duration is 0 so as to\n // not cause intermixed JS and native animations.\n if (this._duration === 0 && !this._useNativeDriver) {\n this._onUpdate(this._toValue);\n this.__debouncedOnEnd({\n finished: true\n });\n } else {\n this._startTime = Date.now();\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.onUpdate.bind(this));\n }\n }\n };\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n onUpdate() {\n var now = Date.now();\n if (now >= this._startTime + this._duration) {\n if (this._duration === 0) {\n this._onUpdate(this._toValue);\n } else {\n this._onUpdate(this._fromValue + this._easing(1) * (this._toValue - this._fromValue));\n }\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue));\n if (this.__active) {\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default TimingAnimation;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport Easing from '../../vendor/react-native/Animated/Easing';\nexport default Easing;","/**\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 * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport normalizeColor from '@react-native/normalize-colors';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nvar defaultColor = {\n r: 0,\n g: 0,\n b: 0,\n a: 1.0\n};\nvar _uniqueId = 1;\nvar processColorObject = color => {\n return color;\n};\n\n/* eslint no-bitwise: 0 */\nfunction processColor(color) {\n if (color === undefined || color === null) {\n return null;\n }\n if (isRgbaValue(color)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n return color;\n }\n var normalizedColor = normalizeColor(\n // $FlowIgnore[incompatible-cast] - Type is verified above\n color);\n if (normalizedColor === undefined || normalizedColor === null) {\n return null;\n }\n if (typeof normalizedColor === 'object') {\n var processedColorObj = processColorObject(normalizedColor);\n if (processedColorObj != null) {\n return processedColorObj;\n }\n } else if (typeof normalizedColor === 'number') {\n var r = (normalizedColor & 0xff000000) >>> 24;\n var g = (normalizedColor & 0x00ff0000) >>> 16;\n var b = (normalizedColor & 0x0000ff00) >>> 8;\n var a = (normalizedColor & 0x000000ff) / 255;\n return {\n r,\n g,\n b,\n a\n };\n }\n return null;\n}\nfunction isRgbaValue(value) {\n return value && typeof value.r === 'number' && typeof value.g === 'number' && typeof value.b === 'number' && typeof value.a === 'number';\n}\nfunction isRgbaAnimatedValue(value) {\n return value && value.r instanceof AnimatedValue && value.g instanceof AnimatedValue && value.b instanceof AnimatedValue && value.a instanceof AnimatedValue;\n}\nexport default class AnimatedColor extends AnimatedWithChildren {\n constructor(valueIn, config) {\n super();\n this._listeners = {};\n var value = valueIn !== null && valueIn !== void 0 ? valueIn : defaultColor;\n if (isRgbaAnimatedValue(value)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n var rgbaAnimatedValue = value;\n this.r = rgbaAnimatedValue.r;\n this.g = rgbaAnimatedValue.g;\n this.b = rgbaAnimatedValue.b;\n this.a = rgbaAnimatedValue.a;\n } else {\n var _processColor;\n var processedColor = // $FlowIgnore[incompatible-cast] - Type is verified above\n (_processColor = processColor(value)) !== null && _processColor !== void 0 ? _processColor : defaultColor;\n var initColor = defaultColor;\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n initColor = processedColor;\n } else {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n this.nativeColor = processedColor;\n }\n this.r = new AnimatedValue(initColor.r);\n this.g = new AnimatedValue(initColor.g);\n this.b = new AnimatedValue(initColor.b);\n this.a = new AnimatedValue(initColor.a);\n }\n if (this.nativeColor || config && config.useNativeDriver) {\n this.__makeNative();\n }\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n */\n setValue(value) {\n var _processColor2;\n var shouldUpdateNodeConfig = false;\n if (this.__isNative) {\n var nativeTag = this.__getNativeTag();\n NativeAnimatedAPI.setWaitingForIdentifier(nativeTag.toString());\n }\n var processedColor = (_processColor2 = processColor(value)) !== null && _processColor2 !== void 0 ? _processColor2 : defaultColor;\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-type] - Type is verified above\n var rgbaValue = processedColor;\n this.r.setValue(rgbaValue.r);\n this.g.setValue(rgbaValue.g);\n this.b.setValue(rgbaValue.b);\n this.a.setValue(rgbaValue.a);\n if (this.nativeColor != null) {\n this.nativeColor = null;\n shouldUpdateNodeConfig = true;\n }\n } else {\n // $FlowIgnore[incompatible-type] - Type is verified above\n var nativeColor = processedColor;\n if (this.nativeColor !== nativeColor) {\n this.nativeColor = nativeColor;\n shouldUpdateNodeConfig = true;\n }\n }\n if (this.__isNative) {\n var _nativeTag = this.__getNativeTag();\n if (shouldUpdateNodeConfig) {\n NativeAnimatedAPI.updateAnimatedNodeConfig(_nativeTag, this.__getNativeConfig());\n }\n NativeAnimatedAPI.unsetWaitingForIdentifier(_nativeTag.toString());\n }\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether\n * via `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n */\n setOffset(offset) {\n this.r.setOffset(offset.r);\n this.g.setOffset(offset.g);\n this.b.setOffset(offset.b);\n this.a.setOffset(offset.a);\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n */\n flattenOffset() {\n this.r.flattenOffset();\n this.g.flattenOffset();\n this.b.flattenOffset();\n this.a.flattenOffset();\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to\n * zero. The final output of the value is unchanged.\n */\n extractOffset() {\n this.r.extractOffset();\n this.g.extractOffset();\n this.b.extractOffset();\n this.a.extractOffset();\n }\n\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to synchronously read\n * the value because it might be driven natively.\n *\n * Returns a string that serves as an identifier for the listener.\n */\n addListener(callback) {\n var id = String(_uniqueId++);\n var jointCallback = _ref => {\n var number = _ref.value;\n callback(this.__getValue());\n };\n this._listeners[id] = {\n r: this.r.addListener(jointCallback),\n g: this.g.addListener(jointCallback),\n b: this.b.addListener(jointCallback),\n a: this.a.addListener(jointCallback)\n };\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n */\n removeListener(id) {\n this.r.removeListener(this._listeners[id].r);\n this.g.removeListener(this._listeners[id].g);\n this.b.removeListener(this._listeners[id].b);\n this.a.removeListener(this._listeners[id].a);\n delete this._listeners[id];\n }\n\n /**\n * Remove all registered listeners.\n */\n removeAllListeners() {\n this.r.removeAllListeners();\n this.g.removeAllListeners();\n this.b.removeAllListeners();\n this.a.removeAllListeners();\n this._listeners = {};\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n */\n stopAnimation(callback) {\n this.r.stopAnimation();\n this.g.stopAnimation();\n this.b.stopAnimation();\n this.a.stopAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Stops any animation and resets the value to its original.\n */\n resetAnimation(callback) {\n this.r.resetAnimation();\n this.g.resetAnimation();\n this.b.resetAnimation();\n this.a.resetAnimation();\n callback && callback(this.__getValue());\n }\n __getValue() {\n if (this.nativeColor != null) {\n return this.nativeColor;\n } else {\n return \"rgba(\" + this.r.__getValue() + \", \" + this.g.__getValue() + \", \" + this.b.__getValue() + \", \" + this.a.__getValue() + \")\";\n }\n }\n __attach() {\n this.r.__addChild(this);\n this.g.__addChild(this);\n this.b.__addChild(this);\n this.a.__addChild(this);\n super.__attach();\n }\n __detach() {\n this.r.__removeChild(this);\n this.g.__removeChild(this);\n this.b.__removeChild(this);\n this.a.__removeChild(this);\n super.__detach();\n }\n __makeNative(platformConfig) {\n this.r.__makeNative(platformConfig);\n this.g.__makeNative(platformConfig);\n this.b.__makeNative(platformConfig);\n this.a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getNativeConfig() {\n return {\n type: 'color',\n r: this.r.__getNativeTag(),\n g: this.g.__getNativeTag(),\n b: this.b.__getNativeTag(),\n a: this.a.__getNativeTag(),\n nativeColor: this.nativeColor\n };\n }\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 * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedAddition from './nodes/AnimatedAddition';\nimport AnimatedDiffClamp from './nodes/AnimatedDiffClamp';\nimport AnimatedDivision from './nodes/AnimatedDivision';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedModulo from './nodes/AnimatedModulo';\nimport AnimatedMultiplication from './nodes/AnimatedMultiplication';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedProps from './nodes/AnimatedProps';\nimport AnimatedSubtraction from './nodes/AnimatedSubtraction';\nimport AnimatedTracking from './nodes/AnimatedTracking';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport DecayAnimation from './animations/DecayAnimation';\nimport SpringAnimation from './animations/SpringAnimation';\nimport TimingAnimation from './animations/TimingAnimation';\nimport createAnimatedComponent from './createAnimatedComponent';\nimport AnimatedColor from './nodes/AnimatedColor';\nvar add = function add(a, b) {\n return new AnimatedAddition(a, b);\n};\nvar subtract = function subtract(a, b) {\n return new AnimatedSubtraction(a, b);\n};\nvar divide = function divide(a, b) {\n return new AnimatedDivision(a, b);\n};\nvar multiply = function multiply(a, b) {\n return new AnimatedMultiplication(a, b);\n};\nvar modulo = function modulo(a, modulus) {\n return new AnimatedModulo(a, modulus);\n};\nvar diffClamp = function diffClamp(a, min, max) {\n return new AnimatedDiffClamp(a, min, max);\n};\nvar _combineCallbacks = function _combineCallbacks(callback, config) {\n if (callback && config.onComplete) {\n return function () {\n config.onComplete && config.onComplete(...arguments);\n callback && callback(...arguments);\n };\n } else {\n return callback || config.onComplete;\n }\n};\nvar maybeVectorAnim = function maybeVectorAnim(value, config, anim) {\n if (value instanceof AnimatedValueXY) {\n var configX = _objectSpread({}, config);\n var configY = _objectSpread({}, config);\n for (var key in config) {\n var _config$key = config[key],\n x = _config$key.x,\n y = _config$key.y;\n if (x !== undefined && y !== undefined) {\n configX[key] = x;\n configY[key] = y;\n }\n }\n var aX = anim(value.x, configX);\n var aY = anim(value.y, configY);\n // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n return parallel([aX, aY], {\n stopTogether: false\n });\n } else if (value instanceof AnimatedColor) {\n var configR = _objectSpread({}, config);\n var configG = _objectSpread({}, config);\n var configB = _objectSpread({}, config);\n var configA = _objectSpread({}, config);\n for (var _key in config) {\n var _config$_key = config[_key],\n r = _config$_key.r,\n g = _config$_key.g,\n b = _config$_key.b,\n a = _config$_key.a;\n if (r !== undefined && g !== undefined && b !== undefined && a !== undefined) {\n configR[_key] = r;\n configG[_key] = g;\n configB[_key] = b;\n configA[_key] = a;\n }\n }\n var aR = anim(value.r, configR);\n var aG = anim(value.g, configG);\n var aB = anim(value.b, configB);\n var aA = anim(value.a, configA);\n // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n return parallel([aR, aG, aB, aA], {\n stopTogether: false\n });\n }\n return null;\n};\nvar spring = function spring(value, config) {\n var _start = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, SpringAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new SpringAnimation(singleConfig), callback);\n }\n };\n return maybeVectorAnim(value, config, spring) || {\n start: function start(callback) {\n _start(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar timing = function timing(value, config) {\n var _start2 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, TimingAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new TimingAnimation(singleConfig), callback);\n }\n };\n return maybeVectorAnim(value, config, timing) || {\n start: function start(callback) {\n _start2(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start2(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar decay = function decay(value, config) {\n var _start3 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n singleValue.animate(new DecayAnimation(singleConfig), callback);\n };\n return maybeVectorAnim(value, config, decay) || {\n start: function start(callback) {\n _start3(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start3(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar sequence = function sequence(animations) {\n var current = 0;\n return {\n start: function start(callback) {\n var onComplete = function onComplete(result) {\n if (!result.finished) {\n callback && callback(result);\n return;\n }\n current++;\n if (current === animations.length) {\n callback && callback(result);\n return;\n }\n animations[current].start(onComplete);\n };\n if (animations.length === 0) {\n callback && callback({\n finished: true\n });\n } else {\n animations[current].start(onComplete);\n }\n },\n stop: function stop() {\n if (current < animations.length) {\n animations[current].stop();\n }\n },\n reset: function reset() {\n animations.forEach((animation, idx) => {\n if (idx <= current) {\n animation.reset();\n }\n });\n current = 0;\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.sequence animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n};\nvar parallel = function parallel(animations, config) {\n var doneCount = 0;\n // Make sure we only call stop() at most once for each animation\n var hasEnded = {};\n var stopTogether = !(config && config.stopTogether === false);\n var result = {\n start: function start(callback) {\n if (doneCount === animations.length) {\n callback && callback({\n finished: true\n });\n return;\n }\n animations.forEach((animation, idx) => {\n var cb = function cb(endResult) {\n hasEnded[idx] = true;\n doneCount++;\n if (doneCount === animations.length) {\n doneCount = 0;\n callback && callback(endResult);\n return;\n }\n if (!endResult.finished && stopTogether) {\n result.stop();\n }\n };\n if (!animation) {\n cb({\n finished: true\n });\n } else {\n animation.start(cb);\n }\n });\n },\n stop: function stop() {\n animations.forEach((animation, idx) => {\n !hasEnded[idx] && animation.stop();\n hasEnded[idx] = true;\n });\n },\n reset: function reset() {\n animations.forEach((animation, idx) => {\n animation.reset();\n hasEnded[idx] = false;\n doneCount = 0;\n });\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.parallel animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n return result;\n};\nvar delay = function delay(time) {\n // Would be nice to make a specialized implementation\n return timing(new AnimatedValue(0), {\n toValue: 0,\n delay: time,\n duration: 0,\n useNativeDriver: false\n });\n};\nvar stagger = function stagger(time, animations) {\n return parallel(animations.map((animation, i) => {\n return sequence([delay(time * i), animation]);\n }));\n};\nvar loop = function loop(animation, // $FlowFixMe[prop-missing]\n_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations,\n _ref$resetBeforeItera = _ref.resetBeforeIteration,\n resetBeforeIteration = _ref$resetBeforeItera === void 0 ? true : _ref$resetBeforeItera;\n var isFinished = false;\n var iterationsSoFar = 0;\n return {\n start: function start(callback) {\n var restart = function restart(result) {\n if (result === void 0) {\n result = {\n finished: true\n };\n }\n if (isFinished || iterationsSoFar === iterations || result.finished === false) {\n callback && callback(result);\n } else {\n iterationsSoFar++;\n resetBeforeIteration && animation.reset();\n animation.start(restart);\n }\n };\n if (!animation || iterations === 0) {\n callback && callback({\n finished: true\n });\n } else {\n if (animation._isUsingNativeDriver()) {\n animation._startNativeLoop(iterations);\n } else {\n restart(); // Start looping recursively on the js thread\n }\n }\n },\n\n stop: function stop() {\n isFinished = true;\n animation.stop();\n },\n reset: function reset() {\n iterationsSoFar = 0;\n isFinished = false;\n animation.reset();\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.loop animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return animation._isUsingNativeDriver();\n }\n };\n};\nfunction forkEvent(event, listener) {\n if (!event) {\n return listener;\n } else if (event instanceof AnimatedEvent) {\n event.__addListener(listener);\n return event;\n } else {\n return function () {\n typeof event === 'function' && event(...arguments);\n listener(...arguments);\n };\n }\n}\nfunction unforkEvent(event, listener) {\n if (event && event instanceof AnimatedEvent) {\n event.__removeListener(listener);\n }\n}\nvar event = function event(argMapping, config) {\n var animatedEvent = new AnimatedEvent(argMapping, config);\n if (animatedEvent.__isNative) {\n return animatedEvent;\n } else {\n return animatedEvent.__getHandler();\n }\n};\n\n// All types of animated nodes that represent scalar numbers and can be interpolated (etc)\n\n/**\n * The `Animated` library is designed to make animations fluid, powerful, and\n * easy to build and maintain. `Animated` focuses on declarative relationships\n * between inputs and outputs, with configurable transforms in between, and\n * simple `start`/`stop` methods to control time-based animation execution.\n * If additional transforms are added, be sure to include them in\n * AnimatedMock.js as well.\n *\n * See https://reactnative.dev/docs/animated\n */\nexport default {\n /**\n * Standard value class for driving animations. Typically initialized with\n * `new Animated.Value(0);`\n *\n * See https://reactnative.dev/docs/animated#value\n */\n Value: AnimatedValue,\n /**\n * 2D value class for driving 2D animations, such as pan gestures.\n *\n * See https://reactnative.dev/docs/animatedvaluexy\n */\n ValueXY: AnimatedValueXY,\n /**\n * Value class for driving color animations.\n */\n Color: AnimatedColor,\n /**\n * Exported to use the Interpolation type in flow.\n *\n * See https://reactnative.dev/docs/animated#interpolation\n */\n Interpolation: AnimatedInterpolation,\n /**\n * Exported for ease of type checking. All animated values derive from this\n * class.\n *\n * See https://reactnative.dev/docs/animated#node\n */\n Node: AnimatedNode,\n /**\n * Animates a value from an initial velocity to zero based on a decay\n * coefficient.\n *\n * See https://reactnative.dev/docs/animated#decay\n */\n decay,\n /**\n * Animates a value along a timed easing curve. The Easing module has tons of\n * predefined curves, or you can use your own function.\n *\n * See https://reactnative.dev/docs/animated#timing\n */\n timing,\n /**\n * Animates a value according to an analytical spring model based on\n * damped harmonic oscillation.\n *\n * See https://reactnative.dev/docs/animated#spring\n */\n spring,\n /**\n * Creates a new Animated value composed from two Animated values added\n * together.\n *\n * See https://reactnative.dev/docs/animated#add\n */\n add,\n /**\n * Creates a new Animated value composed by subtracting the second Animated\n * value from the first Animated value.\n *\n * See https://reactnative.dev/docs/animated#subtract\n */\n subtract,\n /**\n * Creates a new Animated value composed by dividing the first Animated value\n * by the second Animated value.\n *\n * See https://reactnative.dev/docs/animated#divide\n */\n divide,\n /**\n * Creates a new Animated value composed from two Animated values multiplied\n * together.\n *\n * See https://reactnative.dev/docs/animated#multiply\n */\n multiply,\n /**\n * Creates a new Animated value that is the (non-negative) modulo of the\n * provided Animated value.\n *\n * See https://reactnative.dev/docs/animated#modulo\n */\n modulo,\n /**\n * Create a new Animated value that is limited between 2 values. It uses the\n * difference between the last value so even if the value is far from the\n * bounds it will start changing when the value starts getting closer again.\n *\n * See https://reactnative.dev/docs/animated#diffclamp\n */\n diffClamp,\n /**\n * Starts an animation after the given delay.\n *\n * See https://reactnative.dev/docs/animated#delay\n */\n delay,\n /**\n * Starts an array of animations in order, waiting for each to complete\n * before starting the next. If the current running animation is stopped, no\n * following animations will be started.\n *\n * See https://reactnative.dev/docs/animated#sequence\n */\n sequence,\n /**\n * Starts an array of animations all at the same time. By default, if one\n * of the animations is stopped, they will all be stopped. You can override\n * this with the `stopTogether` flag.\n *\n * See https://reactnative.dev/docs/animated#parallel\n */\n parallel,\n /**\n * Array of animations may run in parallel (overlap), but are started in\n * sequence with successive delays. Nice for doing trailing effects.\n *\n * See https://reactnative.dev/docs/animated#stagger\n */\n stagger,\n /**\n * Loops a given animation continuously, so that each time it reaches the\n * end, it resets and begins again from the start.\n *\n * See https://reactnative.dev/docs/animated#loop\n */\n loop,\n /**\n * Takes an array of mappings and extracts values from each arg accordingly,\n * then calls `setValue` on the mapped outputs.\n *\n * See https://reactnative.dev/docs/animated#event\n */\n event,\n /**\n * Make any React component Animatable. Used to create `Animated.View`, etc.\n *\n * See https://reactnative.dev/docs/animated#createanimatedcomponent\n */\n createAnimatedComponent,\n /**\n * Imperative API to attach an animated value to an event on a view. Prefer\n * using `Animated.event` with `useNativeDrive: true` if possible.\n *\n * See https://reactnative.dev/docs/animated#attachnativeevent\n */\n attachNativeEvent,\n /**\n * Advanced imperative API for snooping on animated events that are passed in\n * through props. Use values directly where possible.\n *\n * See https://reactnative.dev/docs/animated#forkevent\n */\n forkEvent,\n unforkEvent,\n /**\n * Expose Event class, so it can be used as a type for type checkers.\n */\n Event: AnimatedEvent\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 * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedImplementation from './AnimatedImplementation';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport createAnimatedComponent from './createAnimatedComponent';\nimport AnimatedColor from './nodes/AnimatedColor';\n\n/**\n * Animations are a source of flakiness in snapshot testing. This mock replaces\n * animation functions from AnimatedImplementation with empty animations for\n * predictability in tests. When possible the animation will run immediately\n * to the final state.\n */\n\n// Prevent any callback invocation from recursively triggering another\n// callback, which may trigger another animation\nvar inAnimationCallback = false;\nfunction mockAnimationStart(start) {\n return callback => {\n var guardedCallback = callback == null ? callback : function () {\n if (inAnimationCallback) {\n console.warn('Ignoring recursive animation callback when running mock animations');\n return;\n }\n inAnimationCallback = true;\n try {\n callback(...arguments);\n } finally {\n inAnimationCallback = false;\n }\n };\n start(guardedCallback);\n };\n}\nvar emptyAnimation = {\n start: () => {},\n stop: () => {},\n reset: () => {},\n _startNativeLoop: () => {},\n _isUsingNativeDriver: () => {\n return false;\n }\n};\nvar mockCompositeAnimation = animations => _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n animations.forEach(animation => animation.start());\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n});\nvar spring = function spring(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n anyValue.setValue(config.toValue);\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n });\n};\nvar timing = function timing(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n anyValue.setValue(config.toValue);\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n });\n};\nvar decay = function decay(value, config) {\n return emptyAnimation;\n};\nvar sequence = function sequence(animations) {\n return mockCompositeAnimation(animations);\n};\nvar parallel = function parallel(animations, config) {\n return mockCompositeAnimation(animations);\n};\nvar delay = function delay(time) {\n return emptyAnimation;\n};\nvar stagger = function stagger(time, animations) {\n return mockCompositeAnimation(animations);\n};\nvar loop = function loop(animation, // $FlowFixMe[prop-missing]\n_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations;\n return emptyAnimation;\n};\nexport default {\n Value: AnimatedValue,\n ValueXY: AnimatedValueXY,\n Color: AnimatedColor,\n Interpolation: AnimatedInterpolation,\n Node: AnimatedNode,\n decay,\n timing,\n spring,\n add: AnimatedImplementation.add,\n subtract: AnimatedImplementation.subtract,\n divide: AnimatedImplementation.divide,\n multiply: AnimatedImplementation.multiply,\n modulo: AnimatedImplementation.modulo,\n diffClamp: AnimatedImplementation.diffClamp,\n delay,\n sequence,\n parallel,\n stagger,\n loop,\n event: AnimatedImplementation.event,\n createAnimatedComponent,\n attachNativeEvent,\n forkEvent: AnimatedImplementation.forkEvent,\n unforkEvent: AnimatedImplementation.unforkEvent,\n Event: AnimatedEvent\n};","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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 * @format\n */\n\nimport Platform from '../../../exports/Platform';\nimport FlatList from './components/AnimatedFlatList';\nimport Image from './components/AnimatedImage';\nimport ScrollView from './components/AnimatedScrollView';\nimport SectionList from './components/AnimatedSectionList';\nimport Text from './components/AnimatedText';\nimport View from './components/AnimatedView';\nimport AnimatedMock from './AnimatedMock';\nimport AnimatedImplementation from './AnimatedImplementation';\nvar Animated = Platform.isTesting ? AnimatedMock : AnimatedImplementation;\nexport default _objectSpread({\n FlatList,\n Image,\n ScrollView,\n SectionList,\n Text,\n View\n}, Animated);","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport Animated from '../../vendor/react-native/Animated/Animated';\nexport default Animated;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport canUseDOM from '../../modules/canUseDom';\nfunction getQuery() {\n return canUseDOM && window.matchMedia != null ? window.matchMedia('(prefers-color-scheme: dark)') : null;\n}\nvar query = getQuery();\nvar listenerMapping = new WeakMap();\nvar Appearance = {\n getColorScheme() {\n return query && query.matches ? 'dark' : 'light';\n },\n addChangeListener(listener) {\n var mappedListener = listenerMapping.get(listener);\n if (!mappedListener) {\n mappedListener = _ref => {\n var matches = _ref.matches;\n listener({\n colorScheme: matches ? 'dark' : 'light'\n });\n };\n listenerMapping.set(listener, mappedListener);\n }\n if (query) {\n query.addListener(mappedListener);\n }\n function remove() {\n var mappedListener = listenerMapping.get(listener);\n if (query && mappedListener) {\n query.removeListener(mappedListener);\n }\n listenerMapping.delete(listener);\n }\n return {\n remove\n };\n }\n};\nexport default Appearance;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar RootTagContext = /*#__PURE__*/React.createContext(null);\nvar AppContainer = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var children = props.children,\n WrapperComponent = props.WrapperComponent;\n var innerView = /*#__PURE__*/React.createElement(View, {\n children: children,\n key: 1,\n style: styles.appContainer\n });\n if (WrapperComponent) {\n innerView = /*#__PURE__*/React.createElement(WrapperComponent, null, innerView);\n }\n return /*#__PURE__*/React.createElement(RootTagContext.Provider, {\n value: props.rootTag\n }, /*#__PURE__*/React.createElement(View, {\n ref: forwardedRef,\n style: styles.appContainer\n }, innerView));\n});\nAppContainer.displayName = 'AppContainer';\nexport default AppContainer;\nvar styles = StyleSheet.create({\n appContainer: {\n flex: 1,\n pointerEvents: 'box-none'\n }\n});","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport invariant from 'fbjs/lib/invariant';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport renderApplication, { getApplication as _getApplication } from './renderApplication';\nvar emptyObject = {};\nvar runnables = {};\nvar componentProviderInstrumentationHook = component => component();\nvar wrapperComponentProvider;\n\n/**\n * `AppRegistry` is the JS entry point to running all React Native apps.\n */\nexport default class AppRegistry {\n static getAppKeys() {\n return Object.keys(runnables);\n }\n static getApplication(appKey, appParameters) {\n invariant(runnables[appKey] && runnables[appKey].getApplication, \"Application \" + appKey + \" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n return runnables[appKey].getApplication(appParameters);\n }\n static registerComponent(appKey, componentProvider) {\n runnables[appKey] = {\n getApplication: appParameters => _getApplication(componentProviderInstrumentationHook(componentProvider), appParameters ? appParameters.initialProps : emptyObject, wrapperComponentProvider && wrapperComponentProvider(appParameters)),\n run: appParameters => renderApplication(componentProviderInstrumentationHook(componentProvider), wrapperComponentProvider && wrapperComponentProvider(appParameters), appParameters.callback, {\n hydrate: appParameters.hydrate || false,\n initialProps: appParameters.initialProps || emptyObject,\n mode: appParameters.mode || 'concurrent',\n rootTag: appParameters.rootTag\n })\n };\n return appKey;\n }\n static registerConfig(config) {\n config.forEach(_ref => {\n var appKey = _ref.appKey,\n component = _ref.component,\n run = _ref.run;\n if (run) {\n AppRegistry.registerRunnable(appKey, run);\n } else {\n invariant(component, 'No component provider passed in');\n AppRegistry.registerComponent(appKey, component);\n }\n });\n }\n\n // TODO: fix style sheet creation when using this method\n static registerRunnable(appKey, run) {\n runnables[appKey] = {\n run\n };\n return appKey;\n }\n static runApplication(appKey, appParameters) {\n var isDevelopment = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';\n if (isDevelopment) {\n var params = _objectSpread({}, appParameters);\n params.rootTag = \"#\" + params.rootTag.id;\n console.log(\"Running application \\\"\" + appKey + \"\\\" with appParams:\\n\", params, \"\\nDevelopment-level warnings: \" + (isDevelopment ? 'ON' : 'OFF') + \".\" + (\"\\nPerformance optimizations: \" + (isDevelopment ? 'OFF' : 'ON') + \".\"));\n }\n invariant(runnables[appKey] && runnables[appKey].run, \"Application \\\"\" + appKey + \"\\\" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n return runnables[appKey].run(appParameters);\n }\n static setComponentProviderInstrumentationHook(hook) {\n componentProviderInstrumentationHook = hook;\n }\n static setWrapperComponentProvider(provider) {\n wrapperComponentProvider = provider;\n }\n static unmountApplicationComponentAtRootTag(rootTag) {\n unmountComponentAtNode(rootTag);\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport AppContainer from './AppContainer';\nimport invariant from 'fbjs/lib/invariant';\nimport renderLegacy, { hydrateLegacy, render, hydrate } from '../render';\nimport StyleSheet from '../StyleSheet';\nimport React from 'react';\nexport default function renderApplication(RootComponent, WrapperComponent, callback, options) {\n var shouldHydrate = options.hydrate,\n initialProps = options.initialProps,\n mode = options.mode,\n rootTag = options.rootTag;\n var renderFn = shouldHydrate ? mode === 'concurrent' ? hydrate : hydrateLegacy : mode === 'concurrent' ? render : renderLegacy;\n invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);\n return renderFn( /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n ref: callback,\n rootTag: rootTag\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps)), rootTag);\n}\nexport function getApplication(RootComponent, initialProps, WrapperComponent) {\n var element = /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n rootTag: {}\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps));\n // Don't escape CSS text\n var getStyleElement = props => {\n var sheet = StyleSheet.getSheet();\n return /*#__PURE__*/React.createElement(\"style\", _extends({}, props, {\n dangerouslySetInnerHTML: {\n __html: sheet.textContent\n },\n id: sheet.id\n }));\n };\n return {\n element,\n getStyleElement\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport invariant from 'fbjs/lib/invariant';\nimport EventEmitter from '../../vendor/react-native/vendor/emitter/EventEmitter';\nimport canUseDOM from '../../modules/canUseDom';\n\n// Android 4.4 browser\nvar isPrefixed = canUseDOM && !document.hasOwnProperty('hidden') && document.hasOwnProperty('webkitHidden');\nvar EVENT_TYPES = ['change', 'memoryWarning'];\nvar VISIBILITY_CHANGE_EVENT = isPrefixed ? 'webkitvisibilitychange' : 'visibilitychange';\nvar VISIBILITY_STATE_PROPERTY = isPrefixed ? 'webkitVisibilityState' : 'visibilityState';\nvar AppStates = {\n BACKGROUND: 'background',\n ACTIVE: 'active'\n};\nvar changeEmitter = null;\nexport default class AppState {\n static get currentState() {\n if (!AppState.isAvailable) {\n return AppStates.ACTIVE;\n }\n switch (document[VISIBILITY_STATE_PROPERTY]) {\n case 'hidden':\n case 'prerender':\n case 'unloaded':\n return AppStates.BACKGROUND;\n default:\n return AppStates.ACTIVE;\n }\n }\n static addEventListener(type, handler) {\n if (AppState.isAvailable) {\n invariant(EVENT_TYPES.indexOf(type) !== -1, 'Trying to subscribe to unknown event: \"%s\"', type);\n if (type === 'change') {\n if (!changeEmitter) {\n changeEmitter = new EventEmitter();\n document.addEventListener(VISIBILITY_CHANGE_EVENT, () => {\n if (changeEmitter) {\n changeEmitter.emit('change', AppState.currentState);\n }\n }, false);\n }\n return changeEmitter.addListener(type, handler);\n }\n }\n }\n}\nAppState.isAvailable = canUseDOM && document[VISIBILITY_STATE_PROPERTY];","/**\n * Copyright (c) Nicolas Gallagher.\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\nfunction emptyFunction() {}\nvar BackHandler = {\n exitApp: emptyFunction,\n addEventListener() {\n console.error('BackHandler is not supported on web and should not be used.');\n return {\n remove: emptyFunction\n };\n },\n removeEventListener: emptyFunction\n};\nexport default BackHandler;","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar clipboardAvailable;\nexport default class Clipboard {\n static isAvailable() {\n if (clipboardAvailable === undefined) {\n clipboardAvailable = typeof document.queryCommandSupported === 'function' && document.queryCommandSupported('copy');\n }\n return clipboardAvailable;\n }\n static getString() {\n return Promise.resolve('');\n }\n static setString(text) {\n var success = false;\n var body = document.body;\n if (body) {\n // add the text to a hidden node\n var node = document.createElement('span');\n node.textContent = text;\n node.style.opacity = '0';\n node.style.position = 'absolute';\n node.style.whiteSpace = 'pre-wrap';\n node.style.userSelect = 'auto';\n body.appendChild(node);\n\n // select the text\n var selection = window.getSelection();\n selection.removeAllRanges();\n var range = document.createRange();\n range.selectNodeContents(node);\n selection.addRange(range);\n\n // attempt to copy\n try {\n document.execCommand('copy');\n success = true;\n } catch (e) {}\n\n // remove selection and node\n selection.removeAllRanges();\n body.removeChild(node);\n }\n return success;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport dismissKeyboard from '../../modules/dismissKeyboard';\n\n// in the future we can use https://github.com/w3c/virtual-keyboard\nvar Keyboard = {\n isVisible() {\n return false;\n },\n addListener() {\n return {\n remove: () => {}\n };\n },\n dismiss() {\n dismissKeyboard();\n },\n removeAllListeners() {},\n removeListener() {}\n};\nexport default Keyboard;","/**\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 * @format\n */\n\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport UIManager from '../../../exports/UIManager';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nfunction configureNext(config, onAnimationDidEnd) {\n if (!Platform.isTesting) {\n UIManager.configureNextLayoutAnimation(config, onAnimationDidEnd !== null && onAnimationDidEnd !== void 0 ? onAnimationDidEnd : function () {}, function () {} /* unused onError */);\n }\n}\n\nfunction create(duration, type, property) {\n return {\n duration,\n create: {\n type,\n property\n },\n update: {\n type\n },\n delete: {\n type,\n property\n }\n };\n}\nvar Presets = {\n easeInEaseOut: create(300, 'easeInEaseOut', 'opacity'),\n linear: create(500, 'linear', 'opacity'),\n spring: {\n duration: 700,\n create: {\n type: 'linear',\n property: 'opacity'\n },\n update: {\n type: 'spring',\n springDamping: 0.4\n },\n delete: {\n type: 'linear',\n property: 'opacity'\n }\n }\n};\n\n/**\n * Automatically animates views to their new positions when the\n * next layout happens.\n *\n * A common way to use this API is to call it before calling `setState`.\n *\n * Note that in order to get this to work on **Android** you need to set the following flags via `UIManager`:\n *\n * UIManager.setLayoutAnimationEnabledExperimental && UIManager.setLayoutAnimationEnabledExperimental(true);\n */\nvar LayoutAnimation = {\n /**\n * Schedules an animation to happen on the next layout.\n *\n * @param config Specifies animation properties:\n *\n * - `duration` in milliseconds\n * - `create`, `AnimationConfig` for animating in new views\n * - `update`, `AnimationConfig` for animating views that have been updated\n *\n * @param onAnimationDidEnd Called when the animation finished.\n * Only supported on iOS.\n * @param onError Called on error. Only supported on iOS.\n */\n configureNext,\n /**\n * Helper for creating a config for `configureNext`.\n */\n create,\n Types: Object.freeze({\n spring: 'spring',\n linear: 'linear',\n easeInEaseOut: 'easeInEaseOut',\n easeIn: 'easeIn',\n easeOut: 'easeOut',\n keyboard: 'keyboard'\n }),\n Properties: Object.freeze({\n opacity: 'opacity',\n scaleX: 'scaleX',\n scaleY: 'scaleY',\n scaleXY: 'scaleXY'\n }),\n checkConfig() {\n console.error('LayoutAnimation.checkConfig(...) has been disabled.');\n },\n Presets,\n easeInEaseOut: configureNext.bind(null, Presets.easeInEaseOut),\n linear: configureNext.bind(null, Presets.linear),\n spring: configureNext.bind(null, Presets.spring)\n};\nexport default LayoutAnimation;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport LayoutAnimation from '../../vendor/react-native/LayoutAnimation';\nexport default LayoutAnimation;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar initialURL = canUseDOM ? window.location.href : '';\nclass Linking {\n constructor() {\n this._eventCallbacks = {};\n }\n /**\n * An object mapping of event name\n * and all the callbacks subscribing to it\n */\n _dispatchEvent(event) {\n for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n data[_key - 1] = arguments[_key];\n }\n var listeners = this._eventCallbacks[event];\n if (listeners != null && Array.isArray(listeners)) {\n listeners.map(listener => {\n listener(...data);\n });\n }\n }\n\n /**\n * Adds a event listener for the specified event. The callback will be called when the\n * said event is dispatched.\n */\n addEventListener(eventType, callback) {\n var _this = this;\n if (!_this._eventCallbacks[eventType]) {\n _this._eventCallbacks[eventType] = [callback];\n }\n _this._eventCallbacks[eventType].push(callback);\n return {\n remove() {\n var callbacks = _this._eventCallbacks[eventType];\n var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());\n _this._eventCallbacks[eventType] = filteredCallbacks;\n }\n };\n }\n\n /**\n * Removes a previously added event listener for the specified event. The callback must\n * be the same object as the one passed to `addEventListener`.\n */\n removeEventListener(eventType, callback) {\n console.error(\"Linking.removeEventListener('\" + eventType + \"', ...): Method has been \" + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `Linking.addEventListener`.');\n var callbacks = this._eventCallbacks[eventType];\n var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());\n this._eventCallbacks[eventType] = filteredCallbacks;\n }\n canOpenURL() {\n return Promise.resolve(true);\n }\n getInitialURL() {\n return Promise.resolve(initialURL);\n }\n\n /**\n * Try to open the given url in a secure fashion. The method returns a Promise object.\n * If a target is passed (including undefined) that target will be used, otherwise '_blank'.\n * If the url opens, the promise is resolved. If not, the promise is rejected.\n * Dispatches the `onOpen` event if `url` is opened successfully.\n */\n openURL(url, target) {\n if (arguments.length === 1) {\n target = '_blank';\n }\n try {\n open(url, target);\n this._dispatchEvent('onOpen', url);\n return Promise.resolve();\n } catch (e) {\n return Promise.reject(e);\n }\n }\n _validateURL(url) {\n invariant(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);\n invariant(url, 'Invalid URL: cannot be empty');\n }\n}\nvar open = (url, target) => {\n if (canUseDOM) {\n var urlToOpen = new URL(url, window.location).toString();\n if (urlToOpen.indexOf('tel:') === 0) {\n window.location = urlToOpen;\n } else {\n window.open(urlToOpen, target, 'noopener');\n }\n }\n};\nexport default new Linking();","/**\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\nimport NativeEventEmitter from '../../vendor/react-native/EventEmitter/NativeEventEmitter';\nexport default NativeEventEmitter;","/**\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 * @format\n */\n\nvar TouchHistoryMath = {\n /**\n * This code is optimized and not intended to look beautiful. This allows\n * computing of touch centroids that have moved after `touchesChangedAfter`\n * timeStamp. You can compute the current centroid involving all touches\n * moves after `touchesChangedAfter`, or you can compute the previous\n * centroid of all touches that were moved after `touchesChangedAfter`.\n *\n * @param {TouchHistoryMath} touchHistory Standard Responder touch track\n * data.\n * @param {number} touchesChangedAfter timeStamp after which moved touches\n * are considered \"actively moving\" - not just \"active\".\n * @param {boolean} isXAxis Consider `x` dimension vs. `y` dimension.\n * @param {boolean} ofCurrent Compute current centroid for actively moving\n * touches vs. previous centroid of now actively moving touches.\n * @return {number} value of centroid in specified dimension.\n */\n centroidDimension: function centroidDimension(touchHistory, touchesChangedAfter, isXAxis, ofCurrent) {\n var touchBank = touchHistory.touchBank;\n var total = 0;\n var count = 0;\n var oneTouchData = touchHistory.numberActiveTouches === 1 ? touchHistory.touchBank[touchHistory.indexOfSingleActiveTouch] : null;\n if (oneTouchData !== null) {\n if (oneTouchData.touchActive && oneTouchData.currentTimeStamp > touchesChangedAfter) {\n total += ofCurrent && isXAxis ? oneTouchData.currentPageX : ofCurrent && !isXAxis ? oneTouchData.currentPageY : !ofCurrent && isXAxis ? oneTouchData.previousPageX : oneTouchData.previousPageY;\n count = 1;\n }\n } else {\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrack = touchBank[i];\n if (touchTrack !== null && touchTrack !== undefined && touchTrack.touchActive && touchTrack.currentTimeStamp >= touchesChangedAfter) {\n var toAdd = void 0; // Yuck, program temporarily in invalid state.\n if (ofCurrent && isXAxis) {\n toAdd = touchTrack.currentPageX;\n } else if (ofCurrent && !isXAxis) {\n toAdd = touchTrack.currentPageY;\n } else if (!ofCurrent && isXAxis) {\n toAdd = touchTrack.previousPageX;\n } else {\n toAdd = touchTrack.previousPageY;\n }\n total += toAdd;\n count++;\n }\n }\n }\n return count > 0 ? total / count : TouchHistoryMath.noCentroid;\n },\n currentCentroidXOfTouchesChangedAfter: function currentCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true,\n // isXAxis\n true // ofCurrent\n );\n },\n\n currentCentroidYOfTouchesChangedAfter: function currentCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false,\n // isXAxis\n true // ofCurrent\n );\n },\n\n previousCentroidXOfTouchesChangedAfter: function previousCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true,\n // isXAxis\n false // ofCurrent\n );\n },\n\n previousCentroidYOfTouchesChangedAfter: function previousCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false,\n // isXAxis\n false // ofCurrent\n );\n },\n\n currentCentroidX: function currentCentroidX(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0,\n // touchesChangedAfter\n true,\n // isXAxis\n true // ofCurrent\n );\n },\n\n currentCentroidY: function currentCentroidY(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0,\n // touchesChangedAfter\n false,\n // isXAxis\n true // ofCurrent\n );\n },\n\n noCentroid: -1\n};\nexport default TouchHistoryMath;","/**\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 * @format\n */\n\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\nimport TouchHistoryMath from '../TouchHistoryMath';\nvar currentCentroidXOfTouchesChangedAfter = TouchHistoryMath.currentCentroidXOfTouchesChangedAfter;\nvar currentCentroidYOfTouchesChangedAfter = TouchHistoryMath.currentCentroidYOfTouchesChangedAfter;\nvar previousCentroidXOfTouchesChangedAfter = TouchHistoryMath.previousCentroidXOfTouchesChangedAfter;\nvar previousCentroidYOfTouchesChangedAfter = TouchHistoryMath.previousCentroidYOfTouchesChangedAfter;\nvar currentCentroidX = TouchHistoryMath.currentCentroidX;\nvar currentCentroidY = TouchHistoryMath.currentCentroidY;\n\n/**\n * `PanResponder` reconciles several touches into a single gesture. It makes\n * single-touch gestures resilient to extra touches, and can be used to\n * recognize simple multi-touch gestures.\n *\n * By default, `PanResponder` holds an `InteractionManager` handle to block\n * long-running JS events from interrupting active gestures.\n *\n * It provides a predictable wrapper of the responder handlers provided by the\n * [gesture responder system](docs/gesture-responder-system.html).\n * For each handler, it provides a new `gestureState` object alongside the\n * native event object:\n *\n * ```\n * onPanResponderMove: (event, gestureState) => {}\n * ```\n *\n * A native event is a synthetic touch event with the following form:\n *\n * - `nativeEvent`\n * + `changedTouches` - Array of all touch events that have changed since the last event\n * + `identifier` - The ID of the touch\n * + `locationX` - The X position of the touch, relative to the element\n * + `locationY` - The Y position of the touch, relative to the element\n * + `pageX` - The X position of the touch, relative to the root element\n * + `pageY` - The Y position of the touch, relative to the root element\n * + `target` - The node id of the element receiving the touch event\n * + `timestamp` - A time identifier for the touch, useful for velocity calculation\n * + `touches` - Array of all current touches on the screen\n *\n * A `gestureState` object has the following:\n *\n * - `stateID` - ID of the gestureState- persisted as long as there at least\n * one touch on screen\n * - `moveX` - the latest screen coordinates of the recently-moved touch\n * - `moveY` - the latest screen coordinates of the recently-moved touch\n * - `x0` - the screen coordinates of the responder grant\n * - `y0` - the screen coordinates of the responder grant\n * - `dx` - accumulated distance of the gesture since the touch started\n * - `dy` - accumulated distance of the gesture since the touch started\n * - `vx` - current velocity of the gesture\n * - `vy` - current velocity of the gesture\n * - `numberActiveTouches` - Number of touches currently on screen\n *\n * ### Basic Usage\n *\n * ```\n * componentWillMount: function() {\n * this._panResponder = PanResponder.create({\n * // Ask to be the responder:\n * onStartShouldSetPanResponder: (evt, gestureState) => true,\n * onStartShouldSetPanResponderCapture: (evt, gestureState) => true,\n * onMoveShouldSetPanResponder: (evt, gestureState) => true,\n * onMoveShouldSetPanResponderCapture: (evt, gestureState) => true,\n *\n * onPanResponderGrant: (evt, gestureState) => {\n * // The gesture has started. Show visual feedback so the user knows\n * // what is happening!\n *\n * // gestureState.d{x,y} will be set to zero now\n * },\n * onPanResponderMove: (evt, gestureState) => {\n * // The most recent move distance is gestureState.move{X,Y}\n *\n * // The accumulated gesture distance since becoming responder is\n * // gestureState.d{x,y}\n * },\n * onPanResponderTerminationRequest: (evt, gestureState) => true,\n * onPanResponderRelease: (evt, gestureState) => {\n * // The user has released all touches while this view is the\n * // responder. This typically means a gesture has succeeded\n * },\n * onPanResponderTerminate: (evt, gestureState) => {\n * // Another component has become the responder, so this gesture\n * // should be cancelled\n * },\n * onShouldBlockNativeResponder: (evt, gestureState) => {\n * // Returns whether this component should block native components from becoming the JS\n * // responder. Returns true by default. Is currently only supported on android.\n * return true;\n * },\n * });\n * },\n *\n * render: function() {\n * return (\n * \n * );\n * },\n *\n * ```\n *\n * ### Working Example\n *\n * To see it in action, try the\n * [PanResponder example in RNTester](https://github.com/facebook/react-native/blob/master/RNTester/js/PanResponderExample.js)\n */\n\nvar PanResponder = {\n /**\n *\n * A graphical explanation of the touch data flow:\n *\n * +----------------------------+ +--------------------------------+\n * | ResponderTouchHistoryStore | |TouchHistoryMath |\n * +----------------------------+ +----------+---------------------+\n * |Global store of touchHistory| |Allocation-less math util |\n * |including activeness, start | |on touch history (centroids |\n * |position, prev/cur position.| |and multitouch movement etc) |\n * | | | |\n * +----^-----------------------+ +----^---------------------------+\n * | |\n * | (records relevant history |\n * | of touches relevant for |\n * | implementing higher level |\n * | gestures) |\n * | |\n * +----+-----------------------+ +----|---------------------------+\n * | ResponderEventPlugin | | | Your App/Component |\n * +----------------------------+ +----|---------------------------+\n * |Negotiates which view gets | Low level | | High level |\n * |onResponderMove events. | events w/ | +-+-------+ events w/ |\n * |Also records history into | touchHistory| | Pan | multitouch + |\n * |ResponderTouchHistoryStore. +---------------->Responder+-----> accumulative|\n * +----------------------------+ attached to | | | distance and |\n * each event | +---------+ velocity. |\n * | |\n * | |\n * +--------------------------------+\n *\n *\n *\n * Gesture that calculates cumulative movement over time in a way that just\n * \"does the right thing\" for multiple touches. The \"right thing\" is very\n * nuanced. When moving two touches in opposite directions, the cumulative\n * distance is zero in each dimension. When two touches move in parallel five\n * pixels in the same direction, the cumulative distance is five, not ten. If\n * two touches start, one moves five in a direction, then stops and the other\n * touch moves fives in the same direction, the cumulative distance is ten.\n *\n * This logic requires a kind of processing of time \"clusters\" of touch events\n * so that two touch moves that essentially occur in parallel but move every\n * other frame respectively, are considered part of the same movement.\n *\n * Explanation of some of the non-obvious fields:\n *\n * - moveX/moveY: If no move event has been observed, then `(moveX, moveY)` is\n * invalid. If a move event has been observed, `(moveX, moveY)` is the\n * centroid of the most recently moved \"cluster\" of active touches.\n * (Currently all move have the same timeStamp, but later we should add some\n * threshold for what is considered to be \"moving\"). If a palm is\n * accidentally counted as a touch, but a finger is moving greatly, the palm\n * will move slightly, but we only want to count the single moving touch.\n * - x0/y0: Centroid location (non-cumulative) at the time of becoming\n * responder.\n * - dx/dy: Cumulative touch distance - not the same thing as sum of each touch\n * distance. Accounts for touch moves that are clustered together in time,\n * moving the same direction. Only valid when currently responder (otherwise,\n * it only represents the drag distance below the threshold).\n * - vx/vy: Velocity.\n */\n\n _initializeGestureState(gestureState) {\n gestureState.moveX = 0;\n gestureState.moveY = 0;\n gestureState.x0 = 0;\n gestureState.y0 = 0;\n gestureState.dx = 0;\n gestureState.dy = 0;\n gestureState.vx = 0;\n gestureState.vy = 0;\n gestureState.numberActiveTouches = 0;\n // All `gestureState` accounts for timeStamps up until:\n gestureState._accountsForMovesUpTo = 0;\n },\n /**\n * This is nuanced and is necessary. It is incorrect to continuously take all\n * active *and* recently moved touches, find the centroid, and track how that\n * result changes over time. Instead, we must take all recently moved\n * touches, and calculate how the centroid has changed just for those\n * recently moved touches, and append that change to an accumulator. This is\n * to (at least) handle the case where the user is moving three fingers, and\n * then one of the fingers stops but the other two continue.\n *\n * This is very different than taking all of the recently moved touches and\n * storing their centroid as `dx/dy`. For correctness, we must *accumulate\n * changes* in the centroid of recently moved touches.\n *\n * There is also some nuance with how we handle multiple moved touches in a\n * single event. With the way `ReactNativeEventEmitter` dispatches touches as\n * individual events, multiple touches generate two 'move' events, each of\n * them triggering `onResponderMove`. But with the way `PanResponder` works,\n * all of the gesture inference is performed on the first dispatch, since it\n * looks at all of the touches (even the ones for which there hasn't been a\n * native dispatch yet). Therefore, `PanResponder` does not call\n * `onResponderMove` passed the first dispatch. This diverges from the\n * typical responder callback pattern (without using `PanResponder`), but\n * avoids more dispatches than necessary.\n */\n _updateGestureStateOnMove(gestureState, touchHistory) {\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n gestureState.moveX = currentCentroidXOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n gestureState.moveY = currentCentroidYOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n var movedAfter = gestureState._accountsForMovesUpTo;\n var prevX = previousCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var x = currentCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var prevY = previousCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var y = currentCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var nextDX = gestureState.dx + (x - prevX);\n var nextDY = gestureState.dy + (y - prevY);\n\n // TODO: This must be filtered intelligently.\n var dt = touchHistory.mostRecentTimeStamp - gestureState._accountsForMovesUpTo;\n gestureState.vx = (nextDX - gestureState.dx) / dt;\n gestureState.vy = (nextDY - gestureState.dy) / dt;\n gestureState.dx = nextDX;\n gestureState.dy = nextDY;\n gestureState._accountsForMovesUpTo = touchHistory.mostRecentTimeStamp;\n },\n /**\n * @param {object} config Enhanced versions of all of the responder callbacks\n * that provide not only the typical `ResponderSyntheticEvent`, but also the\n * `PanResponder` gesture state. Simply replace the word `Responder` with\n * `PanResponder` in each of the typical `onResponder*` callbacks. For\n * example, the `config` object would look like:\n *\n * - `onMoveShouldSetPanResponder: (e, gestureState) => {...}`\n * - `onMoveShouldSetPanResponderCapture: (e, gestureState) => {...}`\n * - `onStartShouldSetPanResponder: (e, gestureState) => {...}`\n * - `onStartShouldSetPanResponderCapture: (e, gestureState) => {...}`\n * - `onPanResponderReject: (e, gestureState) => {...}`\n * - `onPanResponderGrant: (e, gestureState) => {...}`\n * - `onPanResponderStart: (e, gestureState) => {...}`\n * - `onPanResponderEnd: (e, gestureState) => {...}`\n * - `onPanResponderRelease: (e, gestureState) => {...}`\n * - `onPanResponderMove: (e, gestureState) => {...}`\n * - `onPanResponderTerminate: (e, gestureState) => {...}`\n * - `onPanResponderTerminationRequest: (e, gestureState) => {...}`\n * - `onShouldBlockNativeResponder: (e, gestureState) => {...}`\n *\n * In general, for events that have capture equivalents, we update the\n * gestureState once in the capture phase and can use it in the bubble phase\n * as well.\n *\n * Be careful with onStartShould* callbacks. They only reflect updated\n * `gestureState` for start/end events that bubble/capture to the Node.\n * Once the node is the responder, you can rely on every start/end event\n * being processed by the gesture and `gestureState` being updated\n * accordingly. (numberActiveTouches) may not be totally accurate unless you\n * are the responder.\n */\n create(config) {\n var interactionState = {\n handle: null,\n shouldCancelClick: false,\n timeout: null\n };\n var gestureState = {\n // Useful for debugging\n stateID: Math.random(),\n moveX: 0,\n moveY: 0,\n x0: 0,\n y0: 0,\n dx: 0,\n dy: 0,\n vx: 0,\n vy: 0,\n numberActiveTouches: 0,\n _accountsForMovesUpTo: 0\n };\n var panHandlers = {\n onStartShouldSetResponder(event) {\n return config.onStartShouldSetPanResponder == null ? false : config.onStartShouldSetPanResponder(event, gestureState);\n },\n onMoveShouldSetResponder(event) {\n return config.onMoveShouldSetPanResponder == null ? false : config.onMoveShouldSetPanResponder(event, gestureState);\n },\n onStartShouldSetResponderCapture(event) {\n // TODO: Actually, we should reinitialize the state any time\n // touches.length increases from 0 active to > 0 active.\n if (event.nativeEvent.touches.length === 1) {\n PanResponder._initializeGestureState(gestureState);\n }\n gestureState.numberActiveTouches = event.touchHistory.numberActiveTouches;\n return config.onStartShouldSetPanResponderCapture != null ? config.onStartShouldSetPanResponderCapture(event, gestureState) : false;\n },\n onMoveShouldSetResponderCapture(event) {\n var touchHistory = event.touchHistory;\n // Responder system incorrectly dispatches should* to current responder\n // Filter out any touch moves past the first one - we would have\n // already processed multi-touch geometry during the first event.\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return false;\n }\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n return config.onMoveShouldSetPanResponderCapture ? config.onMoveShouldSetPanResponderCapture(event, gestureState) : false;\n },\n onResponderGrant(event) {\n if (!interactionState.handle) {\n interactionState.handle = InteractionManager.createInteractionHandle();\n }\n if (interactionState.timeout) {\n clearInteractionTimeout(interactionState);\n }\n interactionState.shouldCancelClick = true;\n gestureState.x0 = currentCentroidX(event.touchHistory);\n gestureState.y0 = currentCentroidY(event.touchHistory);\n gestureState.dx = 0;\n gestureState.dy = 0;\n if (config.onPanResponderGrant) {\n config.onPanResponderGrant(event, gestureState);\n }\n // TODO: t7467124 investigate if this can be removed\n return config.onShouldBlockNativeResponder == null ? true : config.onShouldBlockNativeResponder(event, gestureState);\n },\n onResponderReject(event) {\n clearInteractionHandle(interactionState, config.onPanResponderReject, event, gestureState);\n },\n onResponderRelease(event) {\n clearInteractionHandle(interactionState, config.onPanResponderRelease, event, gestureState);\n setInteractionTimeout(interactionState);\n PanResponder._initializeGestureState(gestureState);\n },\n onResponderStart(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n if (config.onPanResponderStart) {\n config.onPanResponderStart(event, gestureState);\n }\n },\n onResponderMove(event) {\n var touchHistory = event.touchHistory;\n // Guard against the dispatch of two touch moves when there are two\n // simultaneously changed touches.\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return;\n }\n // Filter out any touch moves past the first one - we would have\n // already processed multi-touch geometry during the first event.\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n if (config.onPanResponderMove) {\n config.onPanResponderMove(event, gestureState);\n }\n },\n onResponderEnd(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n clearInteractionHandle(interactionState, config.onPanResponderEnd, event, gestureState);\n },\n onResponderTerminate(event) {\n clearInteractionHandle(interactionState, config.onPanResponderTerminate, event, gestureState);\n setInteractionTimeout(interactionState);\n PanResponder._initializeGestureState(gestureState);\n },\n onResponderTerminationRequest(event) {\n return config.onPanResponderTerminationRequest == null ? true : config.onPanResponderTerminationRequest(event, gestureState);\n },\n // We do not want to trigger 'click' activated gestures or native behaviors\n // on any pan target that is under a mouse cursor when it is released.\n // Browsers will natively cancel 'click' events on a target if a non-mouse\n // active pointer moves.\n onClickCapture: event => {\n if (interactionState.shouldCancelClick === true) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n };\n return {\n panHandlers,\n getInteractionHandle() {\n return interactionState.handle;\n }\n };\n }\n};\nfunction clearInteractionHandle(interactionState, callback, event, gestureState) {\n if (interactionState.handle) {\n InteractionManager.clearInteractionHandle(interactionState.handle);\n interactionState.handle = null;\n }\n if (callback) {\n callback(event, gestureState);\n }\n}\nfunction clearInteractionTimeout(interactionState) {\n clearTimeout(interactionState.timeout);\n}\nfunction setInteractionTimeout(interactionState) {\n interactionState.timeout = setTimeout(() => {\n interactionState.shouldCancelClick = false;\n }, 250);\n}\nexport default PanResponder;","import PanResponder from '../../vendor/react-native/PanResponder';\nexport default PanResponder;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport invariant from 'fbjs/lib/invariant';\nclass Share {\n static share(content, options) {\n if (options === void 0) {\n options = {};\n }\n invariant(typeof content === 'object' && content !== null, 'Content to share must be a valid object');\n invariant(typeof content.url === 'string' || typeof content.message === 'string', 'At least one of URL and message is required');\n invariant(typeof options === 'object' && options !== null, 'Options must be a valid object');\n invariant(!content.title || typeof content.title === 'string', 'Invalid title: title should be a string.');\n if (window.navigator.share !== undefined) {\n return window.navigator.share({\n title: content.title,\n text: content.message,\n url: content.url\n });\n } else {\n return Promise.reject(new Error('Share is not supported in this browser'));\n }\n }\n\n /**\n * The content was successfully shared.\n */\n static get sharedAction() {\n return 'sharedAction';\n }\n\n /**\n * The dialog has been dismissed.\n * @platform ios\n */\n static get dismissedAction() {\n return 'dismissedAction';\n }\n}\nexport default Share;","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar vibrate = pattern => {\n if ('vibrate' in window.navigator) {\n window.navigator.vibrate(pattern);\n }\n};\nvar Vibration = {\n cancel() {\n vibrate(0);\n },\n vibrate(pattern) {\n if (pattern === void 0) {\n pattern = 400;\n }\n vibrate(pattern);\n }\n};\nexport default Vibration;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animating\", \"color\", \"hidesWhenStopped\", \"size\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar createSvgCircle = style => /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"16\",\n cy: \"16\",\n fill: \"none\",\n r: \"14\",\n strokeWidth: \"4\",\n style: style\n});\nvar ActivityIndicator = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$animating = props.animating,\n animating = _props$animating === void 0 ? true : _props$animating,\n _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$hidesWhenStopp = props.hidesWhenStopped,\n hidesWhenStopped = _props$hidesWhenStopp === void 0 ? true : _props$hidesWhenStopp,\n _props$size = props.size,\n size = _props$size === void 0 ? 'small' : _props$size,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var svg = /*#__PURE__*/React.createElement(\"svg\", {\n height: \"100%\",\n viewBox: \"0 0 32 32\",\n width: \"100%\"\n }, createSvgCircle({\n stroke: color,\n opacity: 0.2\n }), createSvgCircle({\n stroke: color,\n strokeDasharray: 80,\n strokeDashoffset: 60\n }));\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-valuemax\": 1,\n \"aria-valuemin\": 0,\n ref: forwardedRef,\n role: \"progressbar\",\n style: [styles.container, style]\n }), /*#__PURE__*/React.createElement(View, {\n children: svg,\n style: [typeof size === 'number' ? {\n height: size,\n width: size\n } : indicatorSizes[size], styles.animation, !animating && styles.animationPause, !animating && hidesWhenStopped && styles.hidesWhenStopped]\n }));\n});\nActivityIndicator.displayName = 'ActivityIndicator';\nvar styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n hidesWhenStopped: {\n visibility: 'hidden'\n },\n animation: {\n animationDuration: '0.75s',\n animationKeyframes: [{\n '0%': {\n transform: 'rotate(0deg)'\n },\n '100%': {\n transform: 'rotate(360deg)'\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n },\n animationPause: {\n animationPlayState: 'paused'\n }\n});\nvar indicatorSizes = StyleSheet.create({\n small: {\n width: 20,\n height: 20\n },\n large: {\n width: 36,\n height: 36\n }\n});\nexport default ActivityIndicator;","/**\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 * @format\n */\n\n'use strict';\n\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\nvar getElementRole = element => element.getAttribute('role');\nvar getElementType = element => element.tagName.toLowerCase();\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isButtonRole = element => getElementRole(element) === 'button';\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var isSpacebar = key === ' ' || key === 'Spacebar';\n var isButtonish = getElementType(target) === 'button' || isButtonRole(target);\n return key === 'Enter' || isSpacebar && isButtonish;\n};\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\nvar DEFAULT_PRESS_DELAY_MS = 50;\n\n/**\n * =========================== PressResponder Tutorial ===========================\n *\n * The `PressResponder` class helps you create press interactions by analyzing the\n * geometry of elements and observing when another responder (e.g. ScrollView)\n * has stolen the touch lock. It offers hooks for your component to provide\n * interaction feedback to the user:\n *\n * - When a press has activated (e.g. highlight an element)\n * - When a press has deactivated (e.g. un-highlight an element)\n * - When a press sould trigger an action, meaning it activated and deactivated\n * while within the geometry of the element without the lock being stolen.\n *\n * A high quality interaction isn't as simple as you might think. There should\n * be a slight delay before activation. Moving your finger beyond an element's\n * bounds should trigger deactivation, but moving the same finger back within an\n * element's bounds should trigger reactivation.\n *\n * In order to use `PressResponder`, do the following:\n *\n * const pressResponder = new PressResponder(config);\n *\n * 2. Choose the rendered component who should collect the press events. On that\n * element, spread `pressability.getEventHandlers()` into its props.\n *\n * return (\n * \n * );\n *\n * 3. Reset `PressResponder` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressResponder.reset();\n * }\n *\n * ==================== Implementation Details ====================\n *\n * `PressResponder` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * # Geometry\n *\n * ┌────────────────────────┐\n * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`.\n * │ │ ┌────────────┐ │ │\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates.\n * │ └──────────────────┘ │\n * │ Out Region o │\n * └────────────────────│───┘\n * └────── When the press is released outside the `HitRect`,\n * the responder is NOT eligible for a \"press\".\n *\n * # State Machine\n *\n * ┌───────────────┐ ◀──── RESPONDER_RELEASE\n * │ NOT_RESPONDER │\n * └───┬───────────┘ ◀──── RESPONDER_TERMINATED\n * │\n * │ RESPONDER_GRANT (HitRect)\n * │\n * ▼\n * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │\n * │ PRESS_START ├────────▶ │ PRESS_START ├────────────▶ │ LONG_PRESS_START │\n * └─────────────────────┘ └───────────────────┘ └───────────────────┘\n *\n * T + DELAY => LONG_PRESS_DELAY + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the invocation of `onLongPress`. Only when the browser produces a\n * `click` event is `onPress` invoked.\n */\nexport default class PressResponder {\n constructor(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this._responderElement = null;\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset() {\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\n\n /**\n * Returns a set of props to spread into the interactive element.\n */\n getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n return this._eventHandlers;\n }\n _createEventHandlers() {\n var start = (event, shouldDelay) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n this._receiveSignal(RESPONDER_GRANT, event);\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n if (shouldDelay !== false && delayPressStart > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n this._receiveSignal(DELAY, event);\n }\n var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\n if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = getElementType(target);\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n var isActiveElement = this._responderElement === target;\n if (onPress != null && !isNativeInteractiveElement && isActiveElement) {\n onPress(event);\n }\n this._responderElement = null;\n }\n };\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false);\n this._responderElement = target;\n // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n document.addEventListener('keyup', keyupHandler);\n }\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n var role = getElementRole(target);\n var isButtonLikeRole = role === 'button' || role === 'menuitem';\n if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== 'button') {\n // Prevent spacebar scrolling the window if using non-native button\n event.preventDefault();\n }\n event.stopPropagation();\n }\n },\n onResponderGrant: event => start(event),\n onResponderMove: event => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n var touch = getTouchFromResponderEvent(event);\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: event => end(event),\n onResponderTerminate: event => {\n if (event.nativeEvent.type === 'selectionchange') {\n this._selectionTerminated = true;\n }\n this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: event => {\n var _this$_config = this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress;\n // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n if (cancelable == null) {\n return true;\n }\n return cancelable;\n },\n // NOTE: this diverges from react-native in 3 significant ways:\n // * The `onPress` callback is not connected to the responder system (the native\n // `click` event must be used but is dispatched in many scenarios where no pointers\n // are on the screen.) Therefore, it's possible for `onPress` to be called without\n // `onPress{Start,End}` being called first.\n // * The `onPress` callback is only be called on the first ancestor of the native\n // `click` target that is using the PressResponder.\n // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.\n onClick: event => {\n var _this$_config2 = this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n if (!disabled) {\n // If long press dispatched, cancel default click behavior.\n // If the responder terminated because text was selected during the gesture,\n // cancel the default click behavior.\n event.stopPropagation();\n if (this._longPressDispatched || this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n // If `onLongPress` is provided and a touch pointer is being used, prevent the\n // default context menu from opening.\n onContextMenu: event => {\n var _this$_config3 = this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n if (!disabled) {\n if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n }\n };\n }\n\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\n }\n\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n // Pressable suppression of contextmenu on windows.\n // On Windows, the contextmenu is displayed after pointerup.\n // https://github.com/necolas/react-native-web/issues/2296\n setTimeout(() => {\n this._isPointerTouch = false;\n }, 0);\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n this._deactivate(event);\n }\n }\n }\n }\n this._cancelPressDelayTimeout();\n }\n _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n if (onPressStart != null) {\n onPressStart(event);\n }\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n }\n _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\n }\n }\n _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n}\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n if (fallback === void 0) {\n fallback = 0;\n }\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n return event.nativeEvent;\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 * @format\n */\n\n'use strict';\n\nimport PressResponder from './PressResponder';\nimport { useDebugValue, useEffect, useRef } from 'react';\nexport default function usePressEvents(hostRef, config) {\n var pressResponderRef = useRef(null);\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new PressResponder(config);\n }\n var pressResponder = pressResponderRef.current;\n\n // Re-configure to use the current node and configuration.\n useEffect(() => {\n pressResponder.configure(config);\n }, [config, pressResponder]);\n\n // Reset the `pressResponder` when cleanup needs to occur. This is\n // a separate effect because we do not want to rest the responder when `config` changes.\n useEffect(() => {\n return () => {\n pressResponder.reset();\n };\n }, [pressResponder]);\n useDebugValue(config);\n return pressResponder.getEventHandlers();\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 * @format\n */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"rejectResponderTermination\", \"style\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, dimming it.\n */\nfunction TouchableOpacity(props, forwardedRef) {\n warnOnce('TouchableOpacity', 'TouchableOpacity is deprecated. Please use Pressable.');\n var activeOpacity = props.activeOpacity,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var _useState = useState('0s'),\n duration = _useState[0],\n setDuration = _useState[1];\n var _useState2 = useState(null),\n opacityOverride = _useState2[0],\n setOpacityOverride = _useState2[1];\n var setOpacityTo = useCallback((value, duration) => {\n setOpacityOverride(value);\n setDuration(duration ? duration / 1000 + \"s\" : '0s');\n }, [setOpacityOverride, setDuration]);\n var setOpacityActive = useCallback(duration => {\n setOpacityTo(activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.2, duration);\n }, [activeOpacity, setOpacityTo]);\n var setOpacityInactive = useCallback(duration => {\n setOpacityTo(null, duration);\n }, [setOpacityTo]);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart(event) {\n var isGrant = event.dispatchConfig != null ? event.dispatchConfig.registrationName === 'onResponderGrant' : event.type === 'keydown';\n setOpacityActive(isGrant ? 0 : 150);\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd(event) {\n setOpacityInactive(250);\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, setOpacityActive, setOpacityInactive]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'box-none' : undefined,\n ref: setRef,\n style: [styles.root, !disabled && styles.actionable, style, opacityOverride != null && {\n opacity: opacityOverride\n }, {\n transitionDuration: duration\n }]\n }));\n}\nvar styles = StyleSheet.create({\n root: {\n transitionProperty: 'opacity',\n transitionDuration: '0.15s',\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableOpacity = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableOpacity));\nMemoedTouchableOpacity.displayName = 'TouchableOpacity';\nexport default MemoedTouchableOpacity;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport TouchableOpacity from '../TouchableOpacity';\nimport Text from '../Text';\nimport { warnOnce } from '../../modules/warnOnce';\nvar Button = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n warnOnce('Button', 'Button is deprecated. Please use Pressable.');\n var accessibilityLabel = props.accessibilityLabel,\n color = props.color,\n disabled = props.disabled,\n onPress = props.onPress,\n testID = props.testID,\n title = props.title;\n return /*#__PURE__*/React.createElement(TouchableOpacity, {\n accessibilityLabel: accessibilityLabel,\n accessibilityRole: \"button\",\n disabled: disabled,\n focusable: !disabled,\n onPress: onPress,\n ref: forwardedRef,\n style: [styles.button, color && {\n backgroundColor: color\n }, disabled && styles.buttonDisabled],\n testID: testID\n }, /*#__PURE__*/React.createElement(Text, {\n style: [styles.text, disabled && styles.textDisabled]\n }, title));\n});\nButton.displayName = 'Button';\nvar styles = StyleSheet.create({\n button: {\n backgroundColor: '#2196F3',\n borderRadius: 2\n },\n text: {\n color: '#fff',\n fontWeight: '500',\n padding: 8,\n textAlign: 'center',\n textTransform: 'uppercase'\n },\n buttonDisabled: {\n backgroundColor: '#dfdfdf'\n },\n textDisabled: {\n color: '#a1a1a1'\n }\n});\nexport default Button;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-readonly\", \"color\", \"disabled\", \"onChange\", \"onValueChange\", \"readOnly\", \"style\", \"value\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar CheckBox = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var ariaReadOnly = props['aria-readonly'],\n color = props.color,\n disabled = props.disabled,\n onChange = props.onChange,\n onValueChange = props.onValueChange,\n readOnly = props.readOnly,\n style = props.style,\n value = props.value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n function handleChange(event) {\n var value = event.nativeEvent.target.checked;\n event.nativeEvent.value = value;\n onChange && onChange(event);\n onValueChange && onValueChange(value);\n }\n var fakeControl = /*#__PURE__*/React.createElement(View, {\n style: [styles.fakeControl, value && styles.fakeControlChecked,\n // custom color\n value && color && {\n backgroundColor: color,\n borderColor: color\n }, disabled && styles.fakeControlDisabled, value && disabled && styles.fakeControlCheckedAndDisabled]\n });\n var nativeControl = createElement('input', {\n checked: value,\n disabled: disabled,\n onChange: handleChange,\n readOnly: readOnly === true || ariaReadOnly === true || other.accessibilityReadOnly === true,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox'\n });\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-disabled\": disabled,\n \"aria-readonly\": ariaReadOnly,\n style: [styles.root, style, disabled && styles.cursorDefault]\n }), fakeControl, nativeControl);\n});\nCheckBox.displayName = 'CheckBox';\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n height: 16,\n userSelect: 'none',\n width: 16\n },\n cursorDefault: {\n cursor: 'default'\n },\n cursorInherit: {\n cursor: 'inherit'\n },\n fakeControl: {\n alignItems: 'center',\n backgroundColor: '#fff',\n borderColor: '#657786',\n borderRadius: 2,\n borderStyle: 'solid',\n borderWidth: 2,\n height: '100%',\n justifyContent: 'center',\n width: '100%'\n },\n fakeControlChecked: {\n backgroundColor: '#009688',\n backgroundImage: 'url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K\")',\n backgroundRepeat: 'no-repeat',\n borderColor: '#009688'\n },\n fakeControlDisabled: {\n borderColor: '#CCD6DD'\n },\n fakeControlCheckedAndDisabled: {\n backgroundColor: '#AAB8C2',\n borderColor: '#AAB8C2'\n },\n nativeControl: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n margin: 0,\n appearance: 'none',\n padding: 0,\n width: '100%'\n })\n});\nexport default CheckBox;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"style\", \"imageStyle\", \"imageRef\"];\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\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport Image from '../Image';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar emptyObject = {};\n\n/**\n * Very simple drop-in replacement for which supports nesting views.\n */\nvar ImageBackground = /*#__PURE__*/forwardRef((props, forwardedRef) => {\n var children = props.children,\n _props$style = props.style,\n style = _props$style === void 0 ? emptyObject : _props$style,\n imageStyle = props.imageStyle,\n imageRef = props.imageRef,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n height = _StyleSheet$flatten.height,\n width = _StyleSheet$flatten.width;\n return /*#__PURE__*/React.createElement(View, {\n ref: forwardedRef,\n style: style\n }, /*#__PURE__*/React.createElement(Image, _extends({}, rest, {\n ref: imageRef,\n style: [{\n // Temporary Workaround:\n // Current (imperfect yet) implementation of overwrites width and height styles\n // (which is not quite correct), and these styles conflict with explicitly set styles\n // of and with our internal layout model here.\n // So, we have to proxy/reapply these styles explicitly for actual component.\n // This workaround should be removed after implementing proper support of\n // intrinsic content size of the .\n width,\n height,\n zIndex: -1\n }, StyleSheet.absoluteFill, imageStyle]\n })), children);\n});\nImageBackground.displayName = 'ImageBackground';\nexport default ImageBackground;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"behavior\", \"contentContainerStyle\", \"keyboardVerticalOffset\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport View from '../View';\nclass KeyboardAvoidingView extends React.Component {\n constructor() {\n super(...arguments);\n this.frame = null;\n this.onLayout = event => {\n this.frame = event.nativeEvent.layout;\n };\n }\n relativeKeyboardHeight(keyboardFrame) {\n var frame = this.frame;\n if (!frame || !keyboardFrame) {\n return 0;\n }\n var keyboardY = keyboardFrame.screenY - (this.props.keyboardVerticalOffset || 0);\n return Math.max(frame.y + frame.height - keyboardY, 0);\n }\n onKeyboardChange(event) {}\n render() {\n var _this$props = this.props,\n behavior = _this$props.behavior,\n contentContainerStyle = _this$props.contentContainerStyle,\n keyboardVerticalOffset = _this$props.keyboardVerticalOffset,\n rest = _objectWithoutPropertiesLoose(_this$props, _excluded);\n return /*#__PURE__*/React.createElement(View, _extends({\n onLayout: this.onLayout\n }, rest));\n }\n}\nexport default KeyboardAvoidingView;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDOM from '../../modules/canUseDom';\nfunction ModalPortal(props) {\n var children = props.children;\n var elementRef = React.useRef(null);\n if (canUseDOM && !elementRef.current) {\n var element = document.createElement('div');\n if (element && document.body) {\n document.body.appendChild(element);\n elementRef.current = element;\n }\n }\n React.useEffect(() => {\n if (canUseDOM) {\n return () => {\n if (document.body && elementRef.current) {\n document.body.removeChild(elementRef.current);\n elementRef.current = null;\n }\n };\n }\n }, []);\n return elementRef.current && canUseDOM ? /*#__PURE__*/ReactDOM.createPortal(children, elementRef.current) : null;\n}\nexport default ModalPortal;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport createElement from '../createElement';\nvar ANIMATION_DURATION = 300;\nfunction getAnimationStyle(animationType, visible) {\n if (animationType === 'slide') {\n return visible ? animatedSlideInStyles : animatedSlideOutStyles;\n }\n if (animationType === 'fade') {\n return visible ? animatedFadeInStyles : animatedFadeOutStyles;\n }\n return visible ? styles.container : styles.hidden;\n}\nfunction ModalAnimation(props) {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onShow = props.onShow,\n visible = props.visible;\n var _React$useState = React.useState(false),\n isRendering = _React$useState[0],\n setIsRendering = _React$useState[1];\n var wasVisible = React.useRef(false);\n var wasRendering = React.useRef(false);\n var isAnimated = animationType && animationType !== 'none';\n var animationEndCallback = React.useCallback(e => {\n if (e && e.currentTarget !== e.target) {\n // If the event was generated for something NOT this element we\n // should ignore it as it's not relevant to us\n return;\n }\n if (visible) {\n if (onShow) {\n onShow();\n }\n } else {\n setIsRendering(false);\n }\n }, [onShow, visible]);\n React.useEffect(() => {\n if (wasRendering.current && !isRendering && onDismiss) {\n onDismiss();\n }\n wasRendering.current = isRendering;\n }, [isRendering, onDismiss]);\n React.useEffect(() => {\n if (visible) {\n setIsRendering(true);\n }\n if (visible !== wasVisible.current && !isAnimated) {\n // Manually call `animationEndCallback` if no animation is used\n animationEndCallback();\n }\n wasVisible.current = visible;\n }, [isAnimated, visible, animationEndCallback]);\n return isRendering || visible ? createElement('div', {\n style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n onAnimationEnd: animationEndCallback,\n children\n }) : null;\n}\nvar styles = StyleSheet.create({\n container: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 9999\n },\n animatedIn: {\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-in'\n },\n animatedOut: {\n pointerEvents: 'none',\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-out'\n },\n fadeIn: {\n opacity: 1,\n animationKeyframes: {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n }\n },\n fadeOut: {\n opacity: 0,\n animationKeyframes: {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n }\n },\n slideIn: {\n transform: 'translateY(0%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(100%)'\n },\n '100%': {\n transform: 'translateY(0%)'\n }\n }\n },\n slideOut: {\n transform: 'translateY(100%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(0%)'\n },\n '100%': {\n transform: 'translateY(100%)'\n }\n }\n },\n hidden: {\n opacity: 0\n }\n});\nvar animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn];\nvar animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut];\nvar animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn];\nvar animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut];\nexport default ModalAnimation;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"active\", \"children\", \"onRequestClose\", \"transparent\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport View from '../View';\nimport StyleSheet from '../StyleSheet';\nimport canUseDOM from '../../modules/canUseDom';\nvar ModalContent = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var active = props.active,\n children = props.children,\n onRequestClose = props.onRequestClose,\n transparent = props.transparent,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n React.useEffect(() => {\n if (canUseDOM) {\n var closeOnEscape = e => {\n if (active && e.key === 'Escape') {\n e.stopPropagation();\n if (onRequestClose) {\n onRequestClose();\n }\n }\n };\n document.addEventListener('keyup', closeOnEscape, false);\n return () => document.removeEventListener('keyup', closeOnEscape, false);\n }\n }, [active, onRequestClose]);\n var style = React.useMemo(() => {\n return [styles.modal, transparent ? styles.modalTransparent : styles.modalOpaque];\n }, [transparent]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n \"aria-modal\": true,\n ref: forwardedRef,\n role: active ? 'dialog' : null,\n style: style\n }), /*#__PURE__*/React.createElement(View, {\n style: styles.container\n }, children));\n});\nvar styles = StyleSheet.create({\n modal: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n modalTransparent: {\n backgroundColor: 'transparent'\n },\n modalOpaque: {\n backgroundColor: 'white'\n },\n container: {\n top: 0,\n flex: 1\n }\n});\nexport default ModalContent;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport View from '../View';\nimport createElement from '../createElement';\nimport StyleSheet from '../StyleSheet';\nimport UIManager from '../UIManager';\nimport canUseDOM from '../../modules/canUseDom';\n\n/**\n * This Component is used to \"wrap\" the modal we're opening\n * so that changing focus via tab will never leave the document.\n *\n * This allows us to properly trap the focus within a modal\n * even if the modal is at the start or end of a document.\n */\n\nvar FocusBracket = () => {\n return createElement('div', {\n role: 'none',\n tabIndex: 0,\n style: styles.focusBracket\n });\n};\nfunction attemptFocus(element) {\n if (!canUseDOM) {\n return false;\n }\n try {\n element.focus();\n } catch (e) {\n // Do nothing\n }\n return document.activeElement === element;\n}\nfunction focusFirstDescendant(element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nfunction focusLastDescendant(element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nvar ModalFocusTrap = _ref => {\n var active = _ref.active,\n children = _ref.children;\n var trapElementRef = React.useRef();\n var focusRef = React.useRef({\n trapFocusInProgress: false,\n lastFocusedElement: null\n });\n React.useEffect(() => {\n if (canUseDOM) {\n var trapFocus = () => {\n // We should not trap focus if:\n // - The modal hasn't fully initialized with an HTMLElement ref\n // - Focus is already in the process of being trapped (e.g., we're refocusing)\n // - isTrapActive prop being falsey tells us to do nothing\n if (trapElementRef.current == null || focusRef.current.trapFocusInProgress || !active) {\n return;\n }\n try {\n focusRef.current.trapFocusInProgress = true;\n if (document.activeElement instanceof Node && !trapElementRef.current.contains(document.activeElement)) {\n // To handle keyboard focusing we can make an assumption here.\n // If you're tabbing through the focusable elements, the previously\n // active element will either be the first or the last.\n // If the previously selected element is the \"first\" descendant\n // and we're leaving it - this means that we should be looping\n // around to the other side of the modal.\n var hasFocused = focusFirstDescendant(trapElementRef.current);\n if (focusRef.current.lastFocusedElement === document.activeElement) {\n hasFocused = focusLastDescendant(trapElementRef.current);\n }\n // If we couldn't focus a new element then we need to focus onto the trap target\n if (!hasFocused && trapElementRef.current != null && document.activeElement) {\n UIManager.focus(trapElementRef.current);\n }\n }\n } finally {\n focusRef.current.trapFocusInProgress = false;\n }\n focusRef.current.lastFocusedElement = document.activeElement;\n };\n\n // Call the trapFocus callback at least once when this modal has been activated.\n trapFocus();\n document.addEventListener('focus', trapFocus, true);\n return () => document.removeEventListener('focus', trapFocus, true);\n }\n }, [active]);\n\n // To be fully compliant with WCAG we need to refocus element that triggered opening modal\n // after closing it\n React.useEffect(function () {\n if (canUseDOM) {\n var lastFocusedElementOutsideTrap = document.activeElement;\n return function () {\n if (lastFocusedElementOutsideTrap && document.contains(lastFocusedElementOutsideTrap)) {\n UIManager.focus(lastFocusedElementOutsideTrap);\n }\n };\n }\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FocusBracket, null), /*#__PURE__*/React.createElement(View, {\n ref: trapElementRef\n }, children), /*#__PURE__*/React.createElement(FocusBracket, null));\n};\nexport default ModalFocusTrap;\nvar styles = StyleSheet.create({\n focusBracket: {\n outlineStyle: 'none'\n }\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationType\", \"children\", \"onDismiss\", \"onRequestClose\", \"onShow\", \"transparent\", \"visible\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport ModalPortal from './ModalPortal';\nimport ModalAnimation from './ModalAnimation';\nimport ModalContent from './ModalContent';\nimport ModalFocusTrap from './ModalFocusTrap';\nvar uniqueModalIdentifier = 0;\nvar activeModalStack = [];\nvar activeModalListeners = {};\nfunction notifyActiveModalListeners() {\n if (activeModalStack.length === 0) {\n return;\n }\n var activeModalId = activeModalStack[activeModalStack.length - 1];\n activeModalStack.forEach(modalId => {\n if (modalId in activeModalListeners) {\n activeModalListeners[modalId](modalId === activeModalId);\n }\n });\n}\nfunction removeActiveModal(modalId) {\n if (modalId in activeModalListeners) {\n // Before removing this listener we should probably tell it\n // that it's no longer the active modal for sure.\n activeModalListeners[modalId](false);\n delete activeModalListeners[modalId];\n }\n var index = activeModalStack.indexOf(modalId);\n if (index !== -1) {\n activeModalStack.splice(index, 1);\n notifyActiveModalListeners();\n }\n}\nfunction addActiveModal(modalId, listener) {\n removeActiveModal(modalId);\n activeModalStack.push(modalId);\n activeModalListeners[modalId] = listener;\n notifyActiveModalListeners();\n}\nvar Modal = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onRequestClose = props.onRequestClose,\n onShow = props.onShow,\n transparent = props.transparent,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n // Set a unique model identifier so we can correctly route\n // dismissals and check the layering of modals.\n var modalId = React.useMemo(() => uniqueModalIdentifier++, []);\n var _React$useState = React.useState(false),\n isActive = _React$useState[0],\n setIsActive = _React$useState[1];\n var onDismissCallback = React.useCallback(() => {\n removeActiveModal(modalId);\n if (onDismiss) {\n onDismiss();\n }\n }, [modalId, onDismiss]);\n var onShowCallback = React.useCallback(() => {\n addActiveModal(modalId, setIsActive);\n if (onShow) {\n onShow();\n }\n }, [modalId, onShow]);\n React.useEffect(() => {\n return () => removeActiveModal(modalId);\n }, [modalId]);\n return /*#__PURE__*/React.createElement(ModalPortal, null, /*#__PURE__*/React.createElement(ModalAnimation, {\n animationType: animationType,\n onDismiss: onDismissCallback,\n onShow: onShowCallback,\n visible: visible\n }, /*#__PURE__*/React.createElement(ModalFocusTrap, {\n active: isActive\n }, /*#__PURE__*/React.createElement(ModalContent, _extends({}, rest, {\n active: isActive,\n onRequestClose: onRequestClose,\n ref: forwardedRef,\n transparent: transparent\n }), children))));\n});\nexport default Modal;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"enabled\", \"onValueChange\", \"selectedValue\", \"style\", \"testID\", \"itemStyle\", \"mode\", \"prompt\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport PickerItem from './PickerItem';\nimport StyleSheet from '../StyleSheet';\nvar Picker = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var children = props.children,\n enabled = props.enabled,\n onValueChange = props.onValueChange,\n selectedValue = props.selectedValue,\n style = props.style,\n testID = props.testID,\n itemStyle = props.itemStyle,\n mode = props.mode,\n prompt = props.prompt,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = React.useRef(null);\n function handleChange(e) {\n var _e$target = e.target,\n selectedIndex = _e$target.selectedIndex,\n value = _e$target.value;\n if (onValueChange) {\n onValueChange(value, selectedIndex);\n }\n }\n\n // $FlowFixMe\n var supportedProps = _objectSpread({\n children,\n disabled: enabled === false ? true : undefined,\n onChange: handleChange,\n style: [styles.initial, style],\n testID,\n value: selectedValue\n }, other);\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement('select', supportedProps);\n});\n\n// $FlowFixMe\nPicker.Item = PickerItem;\nvar styles = StyleSheet.create({\n initial: {\n fontFamily: 'System',\n fontSize: 'inherit',\n margin: 0\n }\n});\nexport default Picker;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport createElement from '../createElement';\nexport default function PickerItem(props) {\n var color = props.color,\n label = props.label,\n testID = props.testID,\n value = props.value;\n var style = {\n color\n };\n return createElement('option', {\n children: label,\n style,\n testID,\n value\n });\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\n'use strict';\n\nimport canUseDOM from '../canUseDom';\nvar emptyFunction = () => {};\nfunction supportsPassiveEvents() {\n var supported = false;\n // Check if browser supports event with passive listeners\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n if (canUseDOM) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get() {\n supported = true;\n return false;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n return supported;\n}\nvar canUsePassiveEvents = supportsPassiveEvents();\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n\n/**\n * Shim generic API compatibility with ReactDOM's synthetic events, without needing the\n * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic\n * event wrapper at all.\n */\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction normalizeEvent(event) {\n event.nativeEvent = event;\n event.persist = emptyFunction;\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n return event;\n}\n\n/**\n *\n */\nexport function addEventListener(target, type, listener, options) {\n var opts = getOptions(options);\n var compatListener = e => listener(normalizeEvent(e));\n target.addEventListener(type, compatListener, opts);\n return function removeEventListener() {\n if (target != null) {\n target.removeEventListener(type, compatListener, opts);\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport { addEventListener } from '../addEventListener';\nimport canUseDOM from '../canUseDom';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nvar activeModality = 'keyboard';\nvar modality = 'keyboard';\nvar previousModality;\nvar previousActiveModality;\nvar isEmulatingMouseEvents = false;\nvar listeners = new Set();\nvar KEYBOARD = 'keyboard';\nvar MOUSE = 'mouse';\nvar TOUCH = 'touch';\nvar BLUR = 'blur';\nvar CONTEXTMENU = 'contextmenu';\nvar FOCUS = 'focus';\nvar KEYDOWN = 'keydown';\nvar MOUSEDOWN = 'mousedown';\nvar MOUSEMOVE = 'mousemove';\nvar MOUSEUP = 'mouseup';\nvar POINTERDOWN = 'pointerdown';\nvar POINTERMOVE = 'pointermove';\nvar SCROLL = 'scroll';\nvar SELECTIONCHANGE = 'selectionchange';\nvar TOUCHCANCEL = 'touchcancel';\nvar TOUCHMOVE = 'touchmove';\nvar TOUCHSTART = 'touchstart';\nvar VISIBILITYCHANGE = 'visibilitychange';\nvar bubbleOptions = {\n passive: true\n};\nvar captureOptions = {\n capture: true,\n passive: true\n};\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n callListeners();\n }\n}\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners();\n // for fallback events\n isEmulatingMouseEvents = false;\n}\nfunction onFocusWindow() {\n restoreModality();\n}\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\nfunction onPointerish(event) {\n var eventType = event.type;\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n return;\n }\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n return;\n }\n }\n // Fallback for non-PointerEvent environment\n else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n }\n\n // Flag when browser may produce emulated events\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n return;\n }\n\n // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\nif (canUseDOM) {\n // Window events\n addEventListener(window, BLUR, onBlurWindow, bubbleOptions);\n addEventListener(window, FOCUS, onFocusWindow, bubbleOptions);\n // Must be capture phase because 'stopPropagation' might prevent these\n // events bubbling to the document.\n addEventListener(document, KEYDOWN, onKeyDown, captureOptions);\n addEventListener(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);\n addEventListener(document, POINTERDOWN, onPointerish, captureOptions);\n addEventListener(document, POINTERMOVE, onPointerish, captureOptions);\n // Fallback events\n addEventListener(document, CONTEXTMENU, onPointerish, captureOptions);\n addEventListener(document, MOUSEDOWN, onPointerish, captureOptions);\n addEventListener(document, MOUSEMOVE, onPointerish, captureOptions);\n addEventListener(document, MOUSEUP, onPointerish, captureOptions);\n addEventListener(document, TOUCHCANCEL, onPointerish, captureOptions);\n addEventListener(document, TOUCHMOVE, onPointerish, captureOptions);\n addEventListener(document, TOUCHSTART, onPointerish, captureOptions);\n addEventListener(document, SELECTIONCHANGE, onPointerish, captureOptions);\n addEventListener(document, SCROLL, onPointerish, captureOptions);\n}\nfunction callListeners() {\n var value = {\n activeModality,\n modality\n };\n listeners.forEach(listener => {\n listener(value);\n });\n}\nexport function getActiveModality() {\n return activeModality;\n}\nexport function getModality() {\n return modality;\n}\nexport function addModalityListener(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\nexport function testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\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\nimport { addEventListener } from '../addEventListener';\nimport useLayoutEffect from '../useLayoutEffect';\nimport useStable from '../useStable';\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nexport default function useEvent(eventType, options) {\n var targetListeners = useStable(() => new Map());\n var addListener = useStable(() => {\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n if (callback == null) {\n targetListeners.delete(target);\n callback = () => {};\n }\n var removeEventListener = addEventListener(target, eventType, callback, options);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n useLayoutEffect(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\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\nimport { getModality } from '../modality';\nimport useEvent from '../useEvent';\nimport useLayoutEffect from '../useLayoutEffect';\n\n/**\n * Types\n */\n\n/**\n * Implementation\n */\n\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n var _ref = payload || emptyObject,\n _ref$bubbles = _ref.bubbles,\n bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,\n _ref$cancelable = _ref.cancelable,\n cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,\n detail = _ref.detail;\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n}\n\n// This accounts for the non-PointerEvent fallback events.\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : getModality();\n}\nexport default function useHover(targetRef, config) {\n var contain = config.contain,\n disabled = config.disabled,\n onHoverStart = config.onHoverStart,\n onHoverChange = config.onHoverChange,\n onHoverUpdate = config.onHoverUpdate,\n onHoverEnd = config.onHoverEnd;\n var canUsePE = supportsPointerEvent();\n var addMoveListener = useEvent(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = useEvent(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = useEvent(canUsePE ? 'pointerleave' : 'mouseleave', opts);\n // These custom events are used to implement the \"contain\" prop.\n var addLockListener = useEvent(lockEventType, opts);\n var addUnlockListener = useEvent(unlockEventType, opts);\n useLayoutEffect(() => {\n var target = targetRef.current;\n if (target !== null) {\n /**\n * End the hover gesture\n */\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n if (onHoverChange != null) {\n onHoverChange(false);\n }\n // Remove the listeners once finished.\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n\n /**\n * Leave element\n */\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n hoverEnd(e);\n }\n };\n\n /**\n * Move within element\n */\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n // Not all browsers have these properties\n if (e.x == null) {\n e.x = e.clientX;\n }\n if (e.y == null) {\n e.y = e.clientY;\n }\n onHoverUpdate(e);\n }\n }\n };\n\n /**\n * Start the hover gesture\n */\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n if (onHoverChange != null) {\n onHoverChange(true);\n }\n // Set the listeners needed for the rest of the hover gesture.\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n\n /**\n * Enter element\n */\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n hoverStart(e);\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\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\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"tabIndex\", \"testOnly_hovered\", \"testOnly_pressed\"];\nimport * as React from 'react';\nimport { forwardRef, memo, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport useHover from '../../modules/useHover';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n/**\n * Component used to build display components that should respond to whether the\n * component is currently pressed or not.\n */\nfunction Pressable(props, forwardedRef) {\n var children = props.children,\n delayLongPress = props.delayLongPress,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n disabled = props.disabled,\n onBlur = props.onBlur,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onHoverIn = props.onHoverIn,\n onHoverOut = props.onHoverOut,\n onKeyDown = props.onKeyDown,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressMove = props.onPressMove,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n style = props.style,\n tabIndex = props.tabIndex,\n testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var pressConfig = useMemo(() => ({\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled,\n onLongPress,\n onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove,\n onPressEnd: onPressOut\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var onContextMenuPress = pressEventHandlers.onContextMenu,\n onKeyDownPress = pressEventHandlers.onKeyDown;\n useHover(hostRef, {\n contain: true,\n disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered,\n focused,\n pressed\n };\n var blurHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(e => {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(e => {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n var _tabIndex;\n if (tabIndex !== undefined) {\n _tabIndex = tabIndex;\n } else {\n _tabIndex = disabled ? -1 : 0;\n }\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n \"aria-disabled\": disabled,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [disabled ? styles.disabled : styles.active, typeof style === 'function' ? style(interactionState) : style],\n tabIndex: _tabIndex\n }), typeof children === 'function' ? children(interactionState) : children);\n}\nfunction useForceableState(forced) {\n var _useState = useState(false),\n bool = _useState[0],\n setBool = _useState[1];\n return [bool || forced, setBool];\n}\nvar styles = StyleSheet.create({\n active: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n },\n disabled: {\n pointerEvents: 'box-none'\n }\n});\nvar MemoedPressable = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(Pressable));\nMemoedPressable.displayName = 'Pressable';\nexport default MemoedPressable;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"color\", \"indeterminate\", \"progress\", \"trackColor\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar ProgressBar = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$indeterminate = props.indeterminate,\n indeterminate = _props$indeterminate === void 0 ? false : _props$indeterminate,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? 0 : _props$progress,\n _props$trackColor = props.trackColor,\n trackColor = _props$trackColor === void 0 ? 'transparent' : _props$trackColor,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var percentageProgress = progress * 100;\n var width = indeterminate ? '25%' : percentageProgress + \"%\";\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-valuemax\": 100,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": indeterminate ? null : percentageProgress,\n ref: ref,\n role: \"progressbar\",\n style: [styles.track, style, {\n backgroundColor: trackColor\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [{\n backgroundColor: color,\n width\n }, styles.progress, indeterminate && styles.animation]\n }));\n});\nProgressBar.displayName = 'ProgressBar';\nvar styles = StyleSheet.create({\n track: {\n forcedColorAdjust: 'none',\n height: 5,\n overflow: 'hidden',\n userSelect: 'none',\n zIndex: 0\n },\n progress: {\n forcedColorAdjust: 'none',\n height: '100%',\n zIndex: -1\n },\n animation: {\n animationDuration: '1s',\n animationKeyframes: [{\n '0%': {\n transform: 'translateX(-100%)'\n },\n '100%': {\n transform: 'translateX(400%)'\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n }\n});\nexport default ProgressBar;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport canUseDOM from '../../modules/canUseDom';\nvar cssFunction = function () {\n if (canUseDOM && window.CSS && window.CSS.supports && window.CSS.supports('top: constant(safe-area-inset-top)')) {\n return 'constant';\n }\n return 'env';\n}();\nvar SafeAreaView = /*#__PURE__*/React.forwardRef((props, ref) => {\n var style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n ref: ref,\n style: [styles.root, style]\n }));\n});\nSafeAreaView.displayName = 'SafeAreaView';\nvar styles = StyleSheet.create({\n root: {\n paddingTop: cssFunction + \"(safe-area-inset-top)\",\n paddingRight: cssFunction + \"(safe-area-inset-right)\",\n paddingBottom: cssFunction + \"(safe-area-inset-bottom)\",\n paddingLeft: cssFunction + \"(safe-area-inset-left)\"\n }\n});\nexport default SafeAreaView;","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar emptyFunction = () => {};\nfunction StatusBar() {\n return null;\n}\nStatusBar.setBackgroundColor = emptyFunction;\nStatusBar.setBarStyle = emptyFunction;\nStatusBar.setHidden = emptyFunction;\nStatusBar.setNetworkActivityIndicatorVisible = emptyFunction;\nStatusBar.setTranslucent = emptyFunction;\nexport default StatusBar;","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar CSS_UNIT_RE = /^[+-]?\\d*(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?(%|\\w*)/;\nvar getUnit = str => str.match(CSS_UNIT_RE)[1];\nvar isNumeric = n => {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\nvar multiplyStyleLengthValue = (value, multiple) => {\n if (typeof value === 'string') {\n var number = parseFloat(value) * multiple;\n var unit = getUnit(value);\n return \"\" + number + unit;\n } else if (isNumeric(value)) {\n return value * multiple;\n }\n};\nexport default multiplyStyleLengthValue;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-label\", \"accessibilityLabel\", \"activeThumbColor\", \"activeTrackColor\", \"disabled\", \"onValueChange\", \"style\", \"thumbColor\", \"trackColor\", \"value\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport multiplyStyleLengthValue from '../../modules/multiplyStyleLengthValue';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar emptyObject = {};\nvar thumbDefaultBoxShadow = '0px 1px 3px rgba(0,0,0,0.5)';\nvar thumbFocusedBoxShadow = thumbDefaultBoxShadow + \", 0 0 0 10px rgba(0,0,0,0.1)\";\nvar defaultActiveTrackColor = '#A3D3CF';\nvar defaultTrackColor = '#939393';\nvar defaultDisabledTrackColor = '#D5D5D5';\nvar defaultActiveThumbColor = '#009688';\nvar defaultThumbColor = '#FAFAFA';\nvar defaultDisabledThumbColor = '#BDBDBD';\nvar Switch = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var ariaLabel = props['aria-label'],\n accessibilityLabel = props.accessibilityLabel,\n activeThumbColor = props.activeThumbColor,\n activeTrackColor = props.activeTrackColor,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n onValueChange = props.onValueChange,\n _props$style = props.style,\n style = _props$style === void 0 ? emptyObject : _props$style,\n thumbColor = props.thumbColor,\n trackColor = props.trackColor,\n _props$value = props.value,\n value = _props$value === void 0 ? false : _props$value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var thumbRef = React.useRef(null);\n function handleChange(event) {\n if (onValueChange != null) {\n onValueChange(event.nativeEvent.target.checked);\n }\n }\n function handleFocusState(event) {\n var isFocused = event.nativeEvent.type === 'focus';\n var boxShadow = isFocused ? thumbFocusedBoxShadow : thumbDefaultBoxShadow;\n if (thumbRef.current != null) {\n thumbRef.current.style.boxShadow = boxShadow;\n }\n }\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n styleHeight = _StyleSheet$flatten.height,\n styleWidth = _StyleSheet$flatten.width;\n var height = styleHeight || '20px';\n var minWidth = multiplyStyleLengthValue(height, 2);\n var width = styleWidth > minWidth ? styleWidth : minWidth;\n var trackBorderRadius = multiplyStyleLengthValue(height, 0.5);\n var trackCurrentColor = function () {\n if (value === true) {\n if (trackColor != null && typeof trackColor === 'object') {\n return trackColor.true;\n } else {\n return activeTrackColor !== null && activeTrackColor !== void 0 ? activeTrackColor : defaultActiveTrackColor;\n }\n } else {\n if (trackColor != null && typeof trackColor === 'object') {\n return trackColor.false;\n } else {\n return trackColor !== null && trackColor !== void 0 ? trackColor : defaultTrackColor;\n }\n }\n }();\n var thumbCurrentColor = value ? activeThumbColor !== null && activeThumbColor !== void 0 ? activeThumbColor : defaultActiveThumbColor : thumbColor !== null && thumbColor !== void 0 ? thumbColor : defaultThumbColor;\n var thumbHeight = height;\n var thumbWidth = thumbHeight;\n var rootStyle = [styles.root, style, disabled && styles.cursorDefault, {\n height,\n width\n }];\n var disabledTrackColor = function () {\n if (value === true) {\n if (typeof activeTrackColor === 'string' && activeTrackColor != null || typeof trackColor === 'object' && trackColor != null && trackColor.true) {\n return trackCurrentColor;\n } else {\n return defaultDisabledTrackColor;\n }\n } else {\n if (typeof trackColor === 'string' && trackColor != null || typeof trackColor === 'object' && trackColor != null && trackColor.false) {\n return trackCurrentColor;\n } else {\n return defaultDisabledTrackColor;\n }\n }\n }();\n var disabledThumbColor = function () {\n if (value === true) {\n if (activeThumbColor == null) {\n return defaultDisabledThumbColor;\n } else {\n return thumbCurrentColor;\n }\n } else {\n if (thumbColor == null) {\n return defaultDisabledThumbColor;\n } else {\n return thumbCurrentColor;\n }\n }\n }();\n var trackStyle = [styles.track, {\n backgroundColor: disabled ? disabledTrackColor : trackCurrentColor,\n borderRadius: trackBorderRadius\n }];\n var thumbStyle = [styles.thumb, value && styles.thumbActive, {\n backgroundColor: disabled ? disabledThumbColor : thumbCurrentColor,\n height: thumbHeight,\n marginStart: value ? multiplyStyleLengthValue(thumbWidth, -1) : 0,\n width: thumbWidth\n }];\n var nativeControl = createElement('input', {\n 'aria-label': ariaLabel || accessibilityLabel,\n checked: value,\n disabled: disabled,\n onBlur: handleFocusState,\n onChange: handleChange,\n onFocus: handleFocusState,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox',\n role: 'switch'\n });\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n style: rootStyle\n }), /*#__PURE__*/React.createElement(View, {\n style: trackStyle\n }), /*#__PURE__*/React.createElement(View, {\n ref: thumbRef,\n style: thumbStyle\n }), nativeControl);\n});\nSwitch.displayName = 'Switch';\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n userSelect: 'none'\n },\n cursorDefault: {\n cursor: 'default'\n },\n cursorInherit: {\n cursor: 'inherit'\n },\n track: _objectSpread(_objectSpread({\n forcedColorAdjust: 'none'\n }, StyleSheet.absoluteFillObject), {}, {\n height: '70%',\n margin: 'auto',\n transitionDuration: '0.1s',\n width: '100%'\n }),\n thumb: {\n forcedColorAdjust: 'none',\n alignSelf: 'flex-start',\n borderRadius: '100%',\n boxShadow: thumbDefaultBoxShadow,\n start: '0%',\n transform: 'translateZ(0)',\n transitionDuration: '0.1s'\n },\n thumbActive: {\n insetInlineStart: '100%'\n },\n nativeControl: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n margin: 0,\n appearance: 'none',\n padding: 0,\n width: '100%'\n })\n});\nexport default Switch;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useLayoutEffect from '../../modules/useLayoutEffect';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport { getLocaleDirection, useLocaleContext } from '../../modules/useLocale';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\nimport { warnOnce } from '../../modules/warnOnce';\n\n/**\n * Determines whether a 'selection' prop differs from a node's existing\n * selection state.\n */\nvar isSelectionStale = (node, selection) => {\n var selectionEnd = node.selectionEnd,\n selectionStart = node.selectionStart;\n var start = selection.start,\n end = selection.end;\n return start !== selectionStart || end !== selectionEnd;\n};\n\n/**\n * Certain input types do no support 'selectSelectionRange' and will throw an\n * error.\n */\nvar setSelection = (node, selection) => {\n if (isSelectionStale(node, selection)) {\n var start = selection.start,\n end = selection.end;\n try {\n node.setSelectionRange(start, end || start);\n } catch (e) {}\n }\n};\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n autoCapitalize: true,\n autoComplete: true,\n autoCorrect: true,\n autoFocus: true,\n defaultValue: true,\n disabled: true,\n lang: true,\n maxLength: true,\n onChange: true,\n onScroll: true,\n placeholder: true,\n pointerEvents: true,\n readOnly: true,\n rows: true,\n spellCheck: true,\n value: true,\n type: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\n\n// If an Input Method Editor is processing key input, the 'keyCode' is 229.\n// https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\nfunction isEventComposing(nativeEvent) {\n return nativeEvent.isComposing || nativeEvent.keyCode === 229;\n}\nvar focusTimeout = null;\nvar TextInput = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$autoCapitalize = props.autoCapitalize,\n autoCapitalize = _props$autoCapitalize === void 0 ? 'sentences' : _props$autoCapitalize,\n autoComplete = props.autoComplete,\n autoCompleteType = props.autoCompleteType,\n _props$autoCorrect = props.autoCorrect,\n autoCorrect = _props$autoCorrect === void 0 ? true : _props$autoCorrect,\n blurOnSubmit = props.blurOnSubmit,\n caretHidden = props.caretHidden,\n clearTextOnFocus = props.clearTextOnFocus,\n dir = props.dir,\n editable = props.editable,\n enterKeyHint = props.enterKeyHint,\n inputMode = props.inputMode,\n keyboardType = props.keyboardType,\n _props$multiline = props.multiline,\n multiline = _props$multiline === void 0 ? false : _props$multiline,\n numberOfLines = props.numberOfLines,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onChangeText = props.onChangeText,\n onContentSizeChange = props.onContentSizeChange,\n onFocus = props.onFocus,\n onKeyPress = props.onKeyPress,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChange = props.onSelectionChange,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n onSubmitEditing = props.onSubmitEditing,\n placeholderTextColor = props.placeholderTextColor,\n _props$readOnly = props.readOnly,\n readOnly = _props$readOnly === void 0 ? false : _props$readOnly,\n returnKeyType = props.returnKeyType,\n rows = props.rows,\n _props$secureTextEntr = props.secureTextEntry,\n secureTextEntry = _props$secureTextEntr === void 0 ? false : _props$secureTextEntr,\n selection = props.selection,\n selectTextOnFocus = props.selectTextOnFocus,\n showSoftInputOnFocus = props.showSoftInputOnFocus,\n spellCheck = props.spellCheck;\n var type;\n var _inputMode;\n if (inputMode != null) {\n _inputMode = inputMode;\n if (inputMode === 'email') {\n type = 'email';\n } else if (inputMode === 'tel') {\n type = 'tel';\n } else if (inputMode === 'search') {\n type = 'search';\n } else if (inputMode === 'url') {\n type = 'url';\n } else {\n type = 'text';\n }\n } else if (keyboardType != null) {\n warnOnce('keyboardType', 'keyboardType is deprecated. Use inputMode.');\n switch (keyboardType) {\n case 'email-address':\n type = 'email';\n break;\n case 'number-pad':\n case 'numeric':\n _inputMode = 'numeric';\n break;\n case 'decimal-pad':\n _inputMode = 'decimal';\n break;\n case 'phone-pad':\n type = 'tel';\n break;\n case 'search':\n case 'web-search':\n type = 'search';\n break;\n case 'url':\n type = 'url';\n break;\n default:\n type = 'text';\n }\n }\n if (secureTextEntry) {\n type = 'password';\n }\n var dimensions = React.useRef({\n height: null,\n width: null\n });\n var hostRef = React.useRef(null);\n var prevSelection = React.useRef(null);\n var prevSecureTextEntry = React.useRef(false);\n React.useEffect(() => {\n if (hostRef.current && prevSelection.current) {\n setSelection(hostRef.current, prevSelection.current);\n }\n prevSecureTextEntry.current = secureTextEntry;\n }, [secureTextEntry]);\n var handleContentSizeChange = React.useCallback(hostNode => {\n if (multiline && onContentSizeChange && hostNode != null) {\n var newHeight = hostNode.scrollHeight;\n var newWidth = hostNode.scrollWidth;\n if (newHeight !== dimensions.current.height || newWidth !== dimensions.current.width) {\n dimensions.current.height = newHeight;\n dimensions.current.width = newWidth;\n onContentSizeChange({\n nativeEvent: {\n contentSize: {\n height: dimensions.current.height,\n width: dimensions.current.width\n }\n }\n });\n }\n }\n }, [multiline, onContentSizeChange]);\n var imperativeRef = React.useMemo(() => hostNode => {\n // TextInput needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `TextInput.clear(hostRef)` is added to React Native.\n if (hostNode != null) {\n hostNode.clear = function () {\n if (hostNode != null) {\n hostNode.value = '';\n }\n };\n hostNode.isFocused = function () {\n return hostNode != null && TextInputState.currentlyFocusedField() === hostNode;\n };\n handleContentSizeChange(hostNode);\n }\n }, [handleContentSizeChange]);\n function handleBlur(e) {\n TextInputState._currentlyFocusedNode = null;\n if (onBlur) {\n e.nativeEvent.text = e.target.value;\n onBlur(e);\n }\n }\n function handleChange(e) {\n var hostNode = e.target;\n var text = hostNode.value;\n e.nativeEvent.text = text;\n handleContentSizeChange(hostNode);\n if (onChange) {\n onChange(e);\n }\n if (onChangeText) {\n onChangeText(text);\n }\n }\n function handleFocus(e) {\n var hostNode = e.target;\n if (onFocus) {\n e.nativeEvent.text = hostNode.value;\n onFocus(e);\n }\n if (hostNode != null) {\n TextInputState._currentlyFocusedNode = hostNode;\n if (clearTextOnFocus) {\n hostNode.value = '';\n }\n if (selectTextOnFocus) {\n // Safari requires selection to occur in a setTimeout\n if (focusTimeout != null) {\n clearTimeout(focusTimeout);\n }\n focusTimeout = setTimeout(() => {\n if (hostNode != null) {\n hostNode.select();\n }\n }, 0);\n }\n }\n }\n function handleKeyDown(e) {\n var hostNode = e.target;\n // Prevent key events bubbling (see #612)\n e.stopPropagation();\n var blurOnSubmitDefault = !multiline;\n var shouldBlurOnSubmit = blurOnSubmit == null ? blurOnSubmitDefault : blurOnSubmit;\n var nativeEvent = e.nativeEvent;\n var isComposing = isEventComposing(nativeEvent);\n if (onKeyPress) {\n onKeyPress(e);\n }\n if (e.key === 'Enter' && !e.shiftKey &&\n // Do not call submit if composition is occuring.\n !isComposing && !e.isDefaultPrevented()) {\n if ((blurOnSubmit || !multiline) && onSubmitEditing) {\n // prevent \"Enter\" from inserting a newline or submitting a form\n e.preventDefault();\n nativeEvent.text = e.target.value;\n onSubmitEditing(e);\n }\n if (shouldBlurOnSubmit && hostNode != null) {\n setTimeout(() => hostNode.blur(), 0);\n }\n }\n }\n function handleSelectionChange(e) {\n try {\n var _e$target = e.target,\n selectionStart = _e$target.selectionStart,\n selectionEnd = _e$target.selectionEnd;\n var _selection = {\n start: selectionStart,\n end: selectionEnd\n };\n if (onSelectionChange) {\n e.nativeEvent.selection = _selection;\n e.nativeEvent.text = e.target.value;\n onSelectionChange(e);\n }\n if (prevSecureTextEntry.current === secureTextEntry) {\n prevSelection.current = _selection;\n }\n } catch (e) {}\n }\n useLayoutEffect(() => {\n var node = hostRef.current;\n if (node != null && selection != null) {\n setSelection(node, selection);\n }\n if (document.activeElement === node) {\n TextInputState._currentlyFocusedNode = node;\n }\n }, [hostRef, selection]);\n var component = multiline ? 'textarea' : 'input';\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n var supportedProps = pickProps(props);\n supportedProps.autoCapitalize = autoCapitalize;\n supportedProps.autoComplete = autoComplete || autoCompleteType || 'on';\n supportedProps.autoCorrect = autoCorrect ? 'on' : 'off';\n // 'auto' by default allows browsers to infer writing direction\n supportedProps.dir = dir !== undefined ? dir : 'auto';\n if (returnKeyType != null) {\n warnOnce('returnKeyType', 'returnKeyType is deprecated. Use enterKeyHint.');\n }\n supportedProps.enterKeyHint = enterKeyHint || returnKeyType;\n supportedProps.inputMode = _inputMode;\n supportedProps.onBlur = handleBlur;\n supportedProps.onChange = handleChange;\n supportedProps.onFocus = handleFocus;\n supportedProps.onKeyDown = handleKeyDown;\n supportedProps.onSelect = handleSelectionChange;\n if (editable != null) {\n warnOnce('editable', 'editable is deprecated. Use readOnly.');\n }\n supportedProps.readOnly = readOnly === true || editable === false;\n if (numberOfLines != null) {\n warnOnce('numberOfLines', 'TextInput numberOfLines is deprecated. Use rows.');\n }\n supportedProps.rows = multiline ? rows != null ? rows : numberOfLines : 1;\n supportedProps.spellCheck = spellCheck != null ? spellCheck : autoCorrect;\n supportedProps.style = [{\n '--placeholderTextColor': placeholderTextColor\n }, styles.textinput$raw, styles.placeholder, props.style, caretHidden && styles.caretHidden];\n supportedProps.type = multiline ? undefined : type;\n supportedProps.virtualkeyboardpolicy = showSoftInputOnFocus === false ? 'manual' : 'auto';\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, imperativeRef, forwardedRef);\n supportedProps.ref = setRef;\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var element = createElement(component, supportedProps, {\n writingDirection\n });\n return element;\n});\nTextInput.displayName = 'TextInput';\n// $FlowFixMe\nTextInput.State = TextInputState;\nvar styles = StyleSheet.create({\n textinput$raw: {\n MozAppearance: 'textfield',\n WebkitAppearance: 'none',\n backgroundColor: 'transparent',\n border: '0 solid black',\n borderRadius: 0,\n boxSizing: 'border-box',\n font: '14px System',\n margin: 0,\n padding: 0,\n resize: 'none'\n },\n placeholder: {\n placeholderTextColor: 'var(--placeholderTextColor)'\n },\n caretHidden: {\n caretColor: 'transparent'\n }\n});\nexport default TextInput;","/* eslint-disable */\n\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 * From React 16.0.0\n */\n\nimport invariant from 'fbjs/lib/invariant';\nvar twoArgumentPooler = function twoArgumentPooler(a1, a2) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\nvar standardReleaser = function standardReleaser(instance) {\n var Klass = this;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = twoArgumentPooler;\n\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\nvar addPoolingTo = function addPoolingTo(CopyConstructor, pooler) {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n twoArgumentPooler: twoArgumentPooler\n};\nexport default PooledClass;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\n\n/**\n * PooledClass representing the bounding rectangle of a region.\n */\nfunction BoundingDimensions(width, height) {\n this.width = width;\n this.height = height;\n}\nBoundingDimensions.prototype.destructor = function () {\n this.width = null;\n this.height = null;\n};\nBoundingDimensions.getPooledFromElement = function (element) {\n return BoundingDimensions.getPooled(element.offsetWidth, element.offsetHeight);\n};\nPooledClass.addPoolingTo(BoundingDimensions, twoArgumentPooler);\nexport default BoundingDimensions;","/**\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\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\nfunction Position(left, top) {\n this.left = left;\n this.top = top;\n}\nPosition.prototype.destructor = function () {\n this.left = null;\n this.top = null;\n};\nPooledClass.addPoolingTo(Position, twoArgumentPooler);\nexport default Position;","/**\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 * @format\n */\n\n'use strict';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport BoundingDimensions from './BoundingDimensions';\nimport normalizeColor from '@react-native/normalize-colors';\nimport Position from './Position';\nimport React from 'react';\nimport UIManager from '../UIManager';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\nvar extractSingleTouch = nativeEvent => {\n var touches = nativeEvent.touches;\n var changedTouches = nativeEvent.changedTouches;\n var hasTouches = touches && touches.length > 0;\n var hasChangedTouches = changedTouches && changedTouches.length > 0;\n return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : nativeEvent;\n};\n\n/**\n * `Touchable`: Taps done right.\n *\n * You hook your `ResponderEventPlugin` events into `Touchable`. `Touchable`\n * will measure time/geometry and tells you when to give feedback to the user.\n *\n * ====================== Touchable Tutorial ===============================\n * The `Touchable` mixin helps you handle the \"press\" interaction. It analyzes\n * the geometry of elements, and observes when another responder (scroll view\n * etc) has stolen the touch lock. It notifies your component when it should\n * give feedback to the user. (bouncing/highlighting/unhighlighting).\n *\n * - When a touch was activated (typically you highlight)\n * - When a touch was deactivated (typically you unhighlight)\n * - When a touch was \"pressed\" - a touch ended while still within the geometry\n * of the element, and no other element (like scroller) has \"stolen\" touch\n * lock (\"responder\") (Typically you bounce the element).\n *\n * A good tap interaction isn't as simple as you might think. There should be a\n * slight delay before showing a highlight when starting a touch. If a\n * subsequent touch move exceeds the boundary of the element, it should\n * unhighlight, but if that same touch is brought back within the boundary, it\n * should rehighlight again. A touch can move in and out of that boundary\n * several times, each time toggling highlighting, but a \"press\" is only\n * triggered if that touch ends while within the element's boundary and no\n * scroller (or anything else) has stolen the lock on touches.\n *\n * To create a new type of component that handles interaction using the\n * `Touchable` mixin, do the following:\n *\n * - Initialize the `Touchable` state.\n *\n * getInitialState: function() {\n * return merge(this.touchableGetInitialState(), yourComponentState);\n * }\n *\n * - Add a method to get your touchable component's node.\n * getTouchableNode: function() {\n * return this.touchableRef.current\n * }\n *\n * - Choose the rendered component who's touches should start the interactive\n * sequence. On that rendered node, forward all `Touchable` responder\n * handlers. You can choose any rendered node you like. Choose a node whose\n * hit target you'd like to instigate the interaction sequence:\n *\n * // In render function:\n * return (\n * \n * \n * Even though the hit detection/interactions are triggered by the\n * wrapping (typically larger) node, we usually end up implementing\n * custom logic that highlights this inner one.\n * \n * \n * );\n *\n * - You may set up your own handlers for each of these events, so long as you\n * also invoke the `touchable*` handlers inside of your custom handler.\n *\n * - Implement the handlers on your component class in order to provide\n * feedback to the user. See documentation for each of these class methods\n * that you should implement.\n *\n * touchableHandlePress: function() {\n * this.performBounceAnimation(); // or whatever you want to do.\n * },\n * touchableHandleActivePressIn: function() {\n * this.beginHighlighting(...); // Whatever you like to convey activation\n * },\n * touchableHandleActivePressOut: function() {\n * this.endHighlighting(...); // Whatever you like to convey deactivation\n * },\n *\n * - There are more advanced methods you can implement (see documentation below):\n * touchableGetHighlightDelayMS: function() {\n * return 20;\n * }\n * // In practice, *always* use a predeclared constant (conserve memory).\n * touchableGetPressRectOffset: function() {\n * return {top: 20, left: 20, right: 20, bottom: 100};\n * }\n */\n\n/**\n * Touchable states.\n */\n\nvar States = {\n NOT_RESPONDER: 'NOT_RESPONDER',\n // Not the responder\n RESPONDER_INACTIVE_PRESS_IN: 'RESPONDER_INACTIVE_PRESS_IN',\n // Responder, inactive, in the `PressRect`\n RESPONDER_INACTIVE_PRESS_OUT: 'RESPONDER_INACTIVE_PRESS_OUT',\n // Responder, inactive, out of `PressRect`\n RESPONDER_ACTIVE_PRESS_IN: 'RESPONDER_ACTIVE_PRESS_IN',\n // Responder, active, in the `PressRect`\n RESPONDER_ACTIVE_PRESS_OUT: 'RESPONDER_ACTIVE_PRESS_OUT',\n // Responder, active, out of `PressRect`\n RESPONDER_ACTIVE_LONG_PRESS_IN: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n // Responder, active, in the `PressRect`, after long press threshold\n RESPONDER_ACTIVE_LONG_PRESS_OUT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',\n // Responder, active, out of `PressRect`, after long press threshold\n ERROR: 'ERROR'\n};\n/*\n * Quick lookup map for states that are considered to be \"active\"\n */\n\nvar baseStatesConditions = {\n NOT_RESPONDER: false,\n RESPONDER_INACTIVE_PRESS_IN: false,\n RESPONDER_INACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_PRESS_IN: false,\n RESPONDER_ACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_LONG_PRESS_IN: false,\n RESPONDER_ACTIVE_LONG_PRESS_OUT: false,\n ERROR: false\n};\nvar IsActive = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_PRESS_OUT: true,\n RESPONDER_ACTIVE_PRESS_IN: true\n});\n\n/**\n * Quick lookup for states that are considered to be \"pressing\" and are\n * therefore eligible to result in a \"selection\" if the press stops.\n */\nvar IsPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_INACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\nvar IsLongPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\n\n/**\n * Inputs to the state machine.\n */\nvar Signals = {\n DELAY: 'DELAY',\n RESPONDER_GRANT: 'RESPONDER_GRANT',\n RESPONDER_RELEASE: 'RESPONDER_RELEASE',\n RESPONDER_TERMINATED: 'RESPONDER_TERMINATED',\n ENTER_PRESS_RECT: 'ENTER_PRESS_RECT',\n LEAVE_PRESS_RECT: 'LEAVE_PRESS_RECT',\n LONG_PRESS_DETECTED: 'LONG_PRESS_DETECTED'\n};\n/**\n * Mapping from States x Signals => States\n */\nvar Transitions = {\n NOT_RESPONDER: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.ERROR,\n RESPONDER_TERMINATED: States.ERROR,\n ENTER_PRESS_RECT: States.ERROR,\n LEAVE_PRESS_RECT: States.ERROR,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_INACTIVE_PRESS_IN: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_IN,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_INACTIVE_PRESS_OUT: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_OUT,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_ACTIVE_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN\n },\n RESPONDER_ACTIVE_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_ACTIVE_LONG_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN\n },\n RESPONDER_ACTIVE_LONG_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n error: {\n DELAY: States.NOT_RESPONDER,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.NOT_RESPONDER,\n LEAVE_PRESS_RECT: States.NOT_RESPONDER,\n LONG_PRESS_DETECTED: States.NOT_RESPONDER\n }\n};\n\n// ==== Typical Constants for integrating into UI components ====\n// var HIT_EXPAND_PX = 20;\n// var HIT_VERT_OFFSET_PX = 10;\nvar HIGHLIGHT_DELAY_MS = 130;\nvar PRESS_EXPAND_PX = 20;\nvar LONG_PRESS_THRESHOLD = 500;\nvar LONG_PRESS_DELAY_MS = LONG_PRESS_THRESHOLD - HIGHLIGHT_DELAY_MS;\nvar LONG_PRESS_ALLOWED_MOVEMENT = 10;\n\n// Default amount \"active\" region protrudes beyond box\n\n/**\n * By convention, methods prefixed with underscores are meant to be @private,\n * and not @protected. Mixers shouldn't access them - not even to provide them\n * as callback handlers.\n *\n *\n * ========== Geometry =========\n * `Touchable` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * +--------------------------+\n * | | - \"Start\" events in `HitRect` cause `HitRect`\n * | +--------------------+ | to become the responder.\n * | | +--------------+ | | - `HitRect` is typically expanded around\n * | | | | | | the `VisualRect`, but shifted downward.\n * | | | VisualRect | | | - After pressing down, after some delay,\n * | | | | | | and before letting up, the Visual React\n * | | +--------------+ | | will become \"active\". This makes it eligible\n * | | HitRect | | for being highlighted (so long as the\n * | +--------------------+ | press remains in the `PressRect`).\n * | PressRect o |\n * +----------------------|---+\n * Out Region |\n * +-----+ This gap between the `HitRect` and\n * `PressRect` allows a touch to move far away\n * from the original hit rect, and remain\n * highlighted, and eligible for a \"Press\".\n * Customize this via\n * `touchableGetPressRectOffset()`.\n *\n *\n *\n * ======= State Machine =======\n *\n * +-------------+ <---+ RESPONDER_RELEASE\n * |NOT_RESPONDER|\n * +-------------+ <---+ RESPONDER_TERMINATED\n * +\n * | RESPONDER_GRANT (HitRect)\n * v\n * +---------------------------+ DELAY +-------------------------+ T + DELAY +------------------------------+\n * |RESPONDER_INACTIVE_PRESS_IN|+-------->|RESPONDER_ACTIVE_PRESS_IN| +------------> |RESPONDER_ACTIVE_LONG_PRESS_IN|\n * +---------------------------+ +-------------------------+ +------------------------------+\n * + ^ + ^ + ^\n * |LEAVE_ |ENTER_ |LEAVE_ |ENTER_ |LEAVE_ |ENTER_\n * |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT\n * | | | | | |\n * v + v + v +\n * +----------------------------+ DELAY +--------------------------+ +-------------------------------+\n * |RESPONDER_INACTIVE_PRESS_OUT|+------->|RESPONDER_ACTIVE_PRESS_OUT| |RESPONDER_ACTIVE_LONG_PRESS_OUT|\n * +----------------------------+ +--------------------------+ +-------------------------------+\n *\n * T + DELAY => LONG_PRESS_DELAY_MS + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the `touchableHandlePress` abstract method invocation that occurs\n * when a responder is released while in either of the \"Press\" states.\n *\n * The other important side effects are the highlight abstract method\n * invocations (internal callbacks) to be implemented by the mixer.\n *\n *\n * @lends Touchable.prototype\n */\nvar TouchableMixin = {\n // HACK (part 1): basic support for touchable interactions using a keyboard\n componentDidMount: function componentDidMount() {\n warnOnce('TouchableMixin', 'TouchableMixin is deprecated. Please use Pressable.');\n var touchableNode = this.getTouchableNode && this.getTouchableNode();\n if (touchableNode && touchableNode.addEventListener) {\n this._touchableBlurListener = e => {\n if (this._isTouchableKeyboardActive) {\n if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) {\n this.touchableHandleResponderTerminate({\n nativeEvent: e\n });\n }\n this._isTouchableKeyboardActive = false;\n }\n };\n touchableNode.addEventListener('blur', this._touchableBlurListener);\n }\n },\n /**\n * Clear all timeouts on unmount\n */\n componentWillUnmount: function componentWillUnmount() {\n var touchableNode = this.getTouchableNode && this.getTouchableNode();\n if (touchableNode && touchableNode.addEventListener) {\n touchableNode.removeEventListener('blur', this._touchableBlurListener);\n }\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n // Clear DOM nodes\n this.pressInLocation = null;\n this.state.touchable.responderID = null;\n },\n /**\n * It's prefer that mixins determine state in this way, having the class\n * explicitly mix the state in the one and only `getInitialState` method.\n *\n * @return {object} State object to be placed inside of\n * `this.state.touchable`.\n */\n touchableGetInitialState: function touchableGetInitialState() {\n return {\n touchable: {\n touchState: undefined,\n responderID: null\n }\n };\n },\n // ==== Hooks to Gesture Responder system ====\n /**\n * Must return true if embedded in a native platform scroll view.\n */\n touchableHandleResponderTerminationRequest: function touchableHandleResponderTerminationRequest() {\n return !this.props.rejectResponderTermination;\n },\n /**\n * Must return true to start the process of `Touchable`.\n */\n touchableHandleStartShouldSetResponder: function touchableHandleStartShouldSetResponder() {\n return !this.props.disabled;\n },\n /**\n * Return true to cancel press on long press.\n */\n touchableLongPressCancelsPress: function touchableLongPressCancelsPress() {\n return true;\n },\n /**\n * Place as callback for a DOM element's `onResponderGrant` event.\n * @param {SyntheticEvent} e Synthetic event from event system.\n *\n */\n touchableHandleResponderGrant: function touchableHandleResponderGrant(e) {\n var dispatchID = e.currentTarget;\n // Since e is used in a callback invoked on another event loop\n // (as in setTimeout etc), we need to call e.persist() on the\n // event to make sure it doesn't get reused in the event object pool.\n e.persist();\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n this.pressOutDelayTimeout = null;\n this.state.touchable.touchState = States.NOT_RESPONDER;\n this.state.touchable.responderID = dispatchID;\n this._receiveSignal(Signals.RESPONDER_GRANT, e);\n var delayMS = this.touchableGetHighlightDelayMS !== undefined ? Math.max(this.touchableGetHighlightDelayMS(), 0) : HIGHLIGHT_DELAY_MS;\n delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS;\n if (delayMS !== 0) {\n this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), delayMS);\n } else {\n this._handleDelay(e);\n }\n var longDelayMS = this.touchableGetLongPressDelayMS !== undefined ? Math.max(this.touchableGetLongPressDelayMS(), 10) : LONG_PRESS_DELAY_MS;\n longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS;\n this.longPressDelayTimeout = setTimeout(this._handleLongDelay.bind(this, e), longDelayMS + delayMS);\n },\n /**\n * Place as callback for a DOM element's `onResponderRelease` event.\n */\n touchableHandleResponderRelease: function touchableHandleResponderRelease(e) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_RELEASE, e);\n },\n /**\n * Place as callback for a DOM element's `onResponderTerminate` event.\n */\n touchableHandleResponderTerminate: function touchableHandleResponderTerminate(e) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_TERMINATED, e);\n },\n /**\n * Place as callback for a DOM element's `onResponderMove` event.\n */\n touchableHandleResponderMove: function touchableHandleResponderMove(e) {\n // Measurement may not have returned yet.\n if (!this.state.touchable.positionOnActivate) {\n return;\n }\n var positionOnActivate = this.state.touchable.positionOnActivate;\n var dimensionsOnActivate = this.state.touchable.dimensionsOnActivate;\n var pressRectOffset = this.touchableGetPressRectOffset ? this.touchableGetPressRectOffset() : {\n left: PRESS_EXPAND_PX,\n right: PRESS_EXPAND_PX,\n top: PRESS_EXPAND_PX,\n bottom: PRESS_EXPAND_PX\n };\n var pressExpandLeft = pressRectOffset.left;\n var pressExpandTop = pressRectOffset.top;\n var pressExpandRight = pressRectOffset.right;\n var pressExpandBottom = pressRectOffset.bottom;\n var hitSlop = this.touchableGetHitSlop ? this.touchableGetHitSlop() : null;\n if (hitSlop) {\n pressExpandLeft += hitSlop.left || 0;\n pressExpandTop += hitSlop.top || 0;\n pressExpandRight += hitSlop.right || 0;\n pressExpandBottom += hitSlop.bottom || 0;\n }\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n if (this.pressInLocation) {\n var movedDistance = this._getDistanceBetweenPoints(pageX, pageY, this.pressInLocation.pageX, this.pressInLocation.pageY);\n if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) {\n this._cancelLongPressDelayTimeout();\n }\n }\n var isTouchWithinActive = pageX > positionOnActivate.left - pressExpandLeft && pageY > positionOnActivate.top - pressExpandTop && pageX < positionOnActivate.left + dimensionsOnActivate.width + pressExpandRight && pageY < positionOnActivate.top + dimensionsOnActivate.height + pressExpandBottom;\n if (isTouchWithinActive) {\n var prevState = this.state.touchable.touchState;\n this._receiveSignal(Signals.ENTER_PRESS_RECT, e);\n var curState = this.state.touchable.touchState;\n if (curState === States.RESPONDER_INACTIVE_PRESS_IN && prevState !== States.RESPONDER_INACTIVE_PRESS_IN) {\n // fix for t7967420\n this._cancelLongPressDelayTimeout();\n }\n } else {\n this._cancelLongPressDelayTimeout();\n this._receiveSignal(Signals.LEAVE_PRESS_RECT, e);\n }\n },\n /**\n * Invoked when the item receives focus. Mixers might override this to\n * visually distinguish the `VisualRect` so that the user knows that it\n * currently has the focus. Most platforms only support a single element being\n * focused at a time, in which case there may have been a previously focused\n * element that was blurred just prior to this. This can be overridden when\n * using `Touchable.Mixin.withoutDefaultFocusAndBlur`.\n */\n touchableHandleFocus: function touchableHandleFocus(e) {\n this.props.onFocus && this.props.onFocus(e);\n },\n /**\n * Invoked when the item loses focus. Mixers might override this to\n * visually distinguish the `VisualRect` so that the user knows that it\n * no longer has focus. Most platforms only support a single element being\n * focused at a time, in which case the focus may have moved to another.\n * This can be overridden when using\n * `Touchable.Mixin.withoutDefaultFocusAndBlur`.\n */\n touchableHandleBlur: function touchableHandleBlur(e) {\n this.props.onBlur && this.props.onBlur(e);\n },\n // ==== Abstract Application Callbacks ====\n\n /**\n * Invoked when the item should be highlighted. Mixers should implement this\n * to visually distinguish the `VisualRect` so that the user knows that\n * releasing a touch will result in a \"selection\" (analog to click).\n *\n * @abstract\n * touchableHandleActivePressIn: function,\n */\n\n /**\n * Invoked when the item is \"active\" (in that it is still eligible to become\n * a \"select\") but the touch has left the `PressRect`. Usually the mixer will\n * want to unhighlight the `VisualRect`. If the user (while pressing) moves\n * back into the `PressRect` `touchableHandleActivePressIn` will be invoked\n * again and the mixer should probably highlight the `VisualRect` again. This\n * event will not fire on an `touchEnd/mouseUp` event, only move events while\n * the user is depressing the mouse/touch.\n *\n * @abstract\n * touchableHandleActivePressOut: function\n */\n\n /**\n * Invoked when the item is \"selected\" - meaning the interaction ended by\n * letting up while the item was either in the state\n * `RESPONDER_ACTIVE_PRESS_IN` or `RESPONDER_INACTIVE_PRESS_IN`.\n *\n * @abstract\n * touchableHandlePress: function\n */\n\n /**\n * Invoked when the item is long pressed - meaning the interaction ended by\n * letting up while the item was in `RESPONDER_ACTIVE_LONG_PRESS_IN`. If\n * `touchableHandleLongPress` is *not* provided, `touchableHandlePress` will\n * be called as it normally is. If `touchableHandleLongPress` is provided, by\n * default any `touchableHandlePress` callback will not be invoked. To\n * override this default behavior, override `touchableLongPressCancelsPress`\n * to return false. As a result, `touchableHandlePress` will be called when\n * lifting up, even if `touchableHandleLongPress` has also been called.\n *\n * @abstract\n * touchableHandleLongPress: function\n */\n\n /**\n * Returns the number of millis to wait before triggering a highlight.\n *\n * @abstract\n * touchableGetHighlightDelayMS: function\n */\n\n /**\n * Returns the amount to extend the `HitRect` into the `PressRect`. Positive\n * numbers mean the size expands outwards.\n *\n * @abstract\n * touchableGetPressRectOffset: function\n */\n\n // ==== Internal Logic ====\n\n /**\n * Measures the `HitRect` node on activation. The Bounding rectangle is with\n * respect to viewport - not page, so adding the `pageXOffset/pageYOffset`\n * should result in points that are in the same coordinate system as an\n * event's `globalX/globalY` data values.\n *\n * - Consider caching this for the lifetime of the component, or possibly\n * being able to share this cache between any `ScrollMap` view.\n *\n * @sideeffects\n * @private\n */\n _remeasureMetricsOnActivation: function _remeasureMetricsOnActivation() {\n var tag = this.state.touchable.responderID;\n if (tag == null) {\n return;\n }\n UIManager.measure(tag, this._handleQueryLayout);\n },\n _handleQueryLayout: function _handleQueryLayout(l, t, w, h, globalX, globalY) {\n //don't do anything UIManager failed to measure node\n if (!l && !t && !w && !h && !globalX && !globalY) {\n return;\n }\n this.state.touchable.positionOnActivate && Position.release(this.state.touchable.positionOnActivate);\n this.state.touchable.dimensionsOnActivate &&\n // $FlowFixMe\n BoundingDimensions.release(this.state.touchable.dimensionsOnActivate);\n this.state.touchable.positionOnActivate = Position.getPooled(globalX, globalY);\n // $FlowFixMe\n this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled(w, h);\n },\n _handleDelay: function _handleDelay(e) {\n this.touchableDelayTimeout = null;\n this._receiveSignal(Signals.DELAY, e);\n },\n _handleLongDelay: function _handleLongDelay(e) {\n this.longPressDelayTimeout = null;\n var curState = this.state.touchable.touchState;\n if (curState !== States.RESPONDER_ACTIVE_PRESS_IN && curState !== States.RESPONDER_ACTIVE_LONG_PRESS_IN) {\n console.error('Attempted to transition from state `' + curState + '` to `' + States.RESPONDER_ACTIVE_LONG_PRESS_IN + '`, which is not supported. This is ' + 'most likely due to `Touchable.longPressDelayTimeout` not being cancelled.');\n } else {\n this._receiveSignal(Signals.LONG_PRESS_DETECTED, e);\n }\n },\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n *\n * @param {Signals} signal State machine signal.\n * @throws Error if invalid state transition or unrecognized signal.\n * @sideeffects\n */\n _receiveSignal: function _receiveSignal(signal, e) {\n var responderID = this.state.touchable.responderID;\n var curState = this.state.touchable.touchState;\n var nextState = Transitions[curState] && Transitions[curState][signal];\n if (!responderID && signal === Signals.RESPONDER_RELEASE) {\n return;\n }\n if (!nextState) {\n throw new Error('Unrecognized signal `' + signal + '` or state `' + curState + '` for Touchable responder `' + responderID + '`');\n }\n if (nextState === States.ERROR) {\n throw new Error('Touchable cannot transition from `' + curState + '` to `' + signal + '` for responder `' + responderID + '`');\n }\n if (curState !== nextState) {\n this._performSideEffectsForTransition(curState, nextState, signal, e);\n this.state.touchable.touchState = nextState;\n }\n },\n _cancelLongPressDelayTimeout: function _cancelLongPressDelayTimeout() {\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.longPressDelayTimeout = null;\n },\n _isHighlight: function _isHighlight(state) {\n return state === States.RESPONDER_ACTIVE_PRESS_IN || state === States.RESPONDER_ACTIVE_LONG_PRESS_IN;\n },\n _savePressInLocation: function _savePressInLocation(e) {\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n var locationX = touch && touch.locationX;\n var locationY = touch && touch.locationY;\n this.pressInLocation = {\n pageX,\n pageY,\n locationX,\n locationY\n };\n },\n _getDistanceBetweenPoints: function _getDistanceBetweenPoints(aX, aY, bX, bY) {\n var deltaX = aX - bX;\n var deltaY = aY - bY;\n return Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n },\n /**\n * Will perform a transition between touchable states, and identify any\n * highlighting or unhighlighting that must be performed for this particular\n * transition.\n *\n * @param {States} curState Current Touchable state.\n * @param {States} nextState Next Touchable state.\n * @param {Signal} signal Signal that triggered the transition.\n * @param {Event} e Native event.\n * @sideeffects\n */\n _performSideEffectsForTransition: function _performSideEffectsForTransition(curState, nextState, signal, e) {\n var curIsHighlight = this._isHighlight(curState);\n var newIsHighlight = this._isHighlight(nextState);\n var isFinalSignal = signal === Signals.RESPONDER_TERMINATED || signal === Signals.RESPONDER_RELEASE;\n if (isFinalSignal) {\n this._cancelLongPressDelayTimeout();\n }\n var isInitialTransition = curState === States.NOT_RESPONDER && nextState === States.RESPONDER_INACTIVE_PRESS_IN;\n var isActiveTransition = !IsActive[curState] && IsActive[nextState];\n if (isInitialTransition || isActiveTransition) {\n this._remeasureMetricsOnActivation();\n }\n if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {\n this.touchableHandleLongPress && this.touchableHandleLongPress(e);\n }\n if (newIsHighlight && !curIsHighlight) {\n this._startHighlight(e);\n } else if (!newIsHighlight && curIsHighlight) {\n this._endHighlight(e);\n }\n if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {\n var hasLongPressHandler = !!this.props.onLongPress;\n var pressIsLongButStillCallOnPress = IsLongPressingIn[curState] && (\n // We *are* long pressing.. // But either has no long handler\n !hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.\n\n var shouldInvokePress = !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;\n if (shouldInvokePress && this.touchableHandlePress) {\n if (!newIsHighlight && !curIsHighlight) {\n // we never highlighted because of delay, but we should highlight now\n this._startHighlight(e);\n this._endHighlight(e);\n }\n this.touchableHandlePress(e);\n }\n }\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.touchableDelayTimeout = null;\n },\n _playTouchSound: function _playTouchSound() {\n UIManager.playTouchSound();\n },\n _startHighlight: function _startHighlight(e) {\n this._savePressInLocation(e);\n this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);\n },\n _endHighlight: function _endHighlight(e) {\n if (this.touchableHandleActivePressOut) {\n if (this.touchableGetPressOutDelayMS && this.touchableGetPressOutDelayMS()) {\n this.pressOutDelayTimeout = setTimeout(() => {\n this.touchableHandleActivePressOut(e);\n }, this.touchableGetPressOutDelayMS());\n } else {\n this.touchableHandleActivePressOut(e);\n }\n }\n },\n // HACK (part 2): basic support for touchable interactions using a keyboard (including\n // delays and longPress)\n touchableHandleKeyEvent: function touchableHandleKeyEvent(e) {\n var type = e.type,\n key = e.key;\n if (key === 'Enter' || key === ' ') {\n if (type === 'keydown') {\n if (!this._isTouchableKeyboardActive) {\n if (!this.state.touchable.touchState || this.state.touchable.touchState === States.NOT_RESPONDER) {\n this.touchableHandleResponderGrant(e);\n this._isTouchableKeyboardActive = true;\n }\n }\n } else if (type === 'keyup') {\n if (this._isTouchableKeyboardActive) {\n if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) {\n this.touchableHandleResponderRelease(e);\n this._isTouchableKeyboardActive = false;\n }\n }\n }\n e.stopPropagation();\n // prevent the default behaviour unless the Touchable functions as a link\n // and Enter is pressed\n if (!(key === 'Enter' && AccessibilityUtil.propsToAriaRole(this.props) === 'link')) {\n e.preventDefault();\n }\n }\n },\n withoutDefaultFocusAndBlur: {}\n};\n\n/**\n * Provide an optional version of the mixin where `touchableHandleFocus` and\n * `touchableHandleBlur` can be overridden. This allows appropriate defaults to\n * be set on TV platforms, without breaking existing implementations of\n * `Touchable`.\n */\nvar touchableHandleFocus = TouchableMixin.touchableHandleFocus,\n touchableHandleBlur = TouchableMixin.touchableHandleBlur,\n TouchableMixinWithoutDefaultFocusAndBlur = _objectWithoutPropertiesLoose(TouchableMixin, [\"touchableHandleFocus\", \"touchableHandleBlur\"]);\nTouchableMixin.withoutDefaultFocusAndBlur = TouchableMixinWithoutDefaultFocusAndBlur;\nvar Touchable = {\n Mixin: TouchableMixin,\n TOUCH_TARGET_DEBUG: false,\n // Highlights all touchable targets. Toggle with Inspector.\n /**\n * Renders a debugging overlay to visualize touch target with hitSlop (might not work on Android).\n */\n renderDebugView: _ref => {\n var color = _ref.color,\n hitSlop = _ref.hitSlop;\n if (!Touchable.TOUCH_TARGET_DEBUG) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n throw Error('Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!');\n }\n var debugHitSlopStyle = {};\n hitSlop = hitSlop || {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n for (var key in hitSlop) {\n debugHitSlopStyle[key] = -hitSlop[key];\n }\n var normalizedColor = normalizeColor(color);\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n var hexColor = '#' + ('00000000' + normalizedColor.toString(16)).substr(-8);\n return /*#__PURE__*/React.createElement(View, {\n pointerEvents: \"none\",\n style: _objectSpread({\n position: 'absolute',\n borderColor: hexColor.slice(0, -2) + '55',\n // More opaque\n borderWidth: 1,\n borderStyle: 'dashed',\n backgroundColor: hexColor.slice(0, -2) + '0F'\n }, debugHitSlopStyle)\n });\n }\n};\nexport default Touchable;","/**\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 * @format\n */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"children\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onHideUnderlay\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"onShowUnderlay\", \"rejectResponderTermination\", \"style\", \"testOnly_pressed\", \"underlayColor\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\nfunction createExtraStyles(activeOpacity, underlayColor) {\n return {\n child: {\n opacity: activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.85\n },\n underlay: {\n backgroundColor: underlayColor === undefined ? 'black' : underlayColor\n }\n };\n}\nfunction hasPressHandler(props) {\n return props.onPress != null || props.onPressIn != null || props.onPressOut != null || props.onLongPress != null;\n}\n\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, which allows\n * the underlay color to show through, darkening or tinting the view.\n *\n * The underlay comes from wrapping the child in a new View, which can affect\n * layout, and sometimes cause unwanted visual artifacts if not used correctly,\n * for example if the backgroundColor of the wrapped view isn't explicitly set\n * to an opaque color.\n *\n * TouchableHighlight must have one child (not zero or more than one).\n * If you wish to have several child components, wrap them in a View.\n */\nfunction TouchableHighlight(props, forwardedRef) {\n warnOnce('TouchableHighlight', 'TouchableHighlight is deprecated. Please use Pressable.');\n var activeOpacity = props.activeOpacity,\n children = props.children,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onHideUnderlay = props.onHideUnderlay,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n onShowUnderlay = props.onShowUnderlay,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n testOnly_pressed = props.testOnly_pressed,\n underlayColor = props.underlayColor,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var _useState = useState(testOnly_pressed === true ? createExtraStyles(activeOpacity, underlayColor) : null),\n extraStyles = _useState[0],\n setExtraStyles = _useState[1];\n var showUnderlay = useCallback(() => {\n if (!hasPressHandler(props)) {\n return;\n }\n setExtraStyles(createExtraStyles(activeOpacity, underlayColor));\n if (onShowUnderlay != null) {\n onShowUnderlay();\n }\n }, [activeOpacity, onShowUnderlay, props, underlayColor]);\n var hideUnderlay = useCallback(() => {\n if (testOnly_pressed === true) {\n return;\n }\n if (hasPressHandler(props)) {\n setExtraStyles(null);\n if (onHideUnderlay != null) {\n onHideUnderlay();\n }\n }\n }, [onHideUnderlay, props, testOnly_pressed]);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart(event) {\n showUnderlay();\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd(event) {\n hideUnderlay();\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, showUnderlay, hideUnderlay]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var child = React.Children.only(children);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'box-none' : undefined,\n ref: setRef,\n style: [styles.root, style, !disabled && styles.actionable, extraStyles && extraStyles.underlay]\n }), /*#__PURE__*/React.cloneElement(child, {\n style: [child.props.style, extraStyles && extraStyles.child]\n }));\n}\nvar styles = StyleSheet.create({\n root: {\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableHighlight = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableHighlight));\nMemoedTouchableHighlight.displayName = 'TouchableHighlight';\nexport default MemoedTouchableHighlight;","/**\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\nimport View from '../../exports/View';\nimport React from 'react';\n\n/**\n * Common implementation for a simple stubbed view.\n */\nclass UnimplementedView extends React.Component {\n render() {\n return /*#__PURE__*/React.createElement(View, {\n style: [unimplementedViewStyles, this.props.style]\n }, this.props.children);\n }\n}\nvar unimplementedViewStyles = process.env.NODE_ENV !== 'production' ? {\n alignSelf: 'flex-start',\n borderColor: 'red',\n borderWidth: 1\n} : {};\nexport default UnimplementedView;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport UnimplementedView from '../../modules/UnimplementedView';\nexport default UnimplementedView;","/**\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 * @format\n */\n\n'use strict';\n\nimport * as React from 'react';\nimport { useMemo, useRef } from 'react';\nimport pick from '../../modules/pick';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport { warnOnce } from '../../modules/warnOnce';\nvar forwardPropsList = {\n accessibilityDisabled: true,\n accessibilityLabel: true,\n accessibilityLiveRegion: true,\n accessibilityRole: true,\n accessibilityState: true,\n accessibilityValue: true,\n children: true,\n disabled: true,\n focusable: true,\n nativeID: true,\n onBlur: true,\n onFocus: true,\n onLayout: true,\n testID: true\n};\nvar pickProps = props => pick(props, forwardPropsList);\nfunction TouchableWithoutFeedback(props, forwardedRef) {\n warnOnce('TouchableWithoutFeedback', 'TouchableWithoutFeedback is deprecated. Please use Pressable.');\n var delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination;\n var hostRef = useRef(null);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart: onPressIn,\n onPressEnd: onPressOut\n }), [disabled, delayPressIn, delayPressOut, delayLongPress, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var element = React.Children.only(props.children);\n var children = [element.props.children];\n var supportedProps = pickProps(props);\n supportedProps.accessibilityDisabled = disabled;\n supportedProps.focusable = !disabled && focusable !== false;\n supportedProps.ref = useMergeRefs(forwardedRef, hostRef, element.ref);\n var elementProps = Object.assign(supportedProps, pressEventHandlers);\n return /*#__PURE__*/React.cloneElement(element, elementProps, ...children);\n}\nvar MemoedTouchableWithoutFeedback = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableWithoutFeedback));\nMemoedTouchableWithoutFeedback.displayName = 'TouchableWithoutFeedback';\nexport default MemoedTouchableWithoutFeedback;","/**\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\nimport VirtualizedList from '../../vendor/react-native/VirtualizedList';\nexport default VirtualizedList;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport React from 'react';\nimport UnimplementedView from '../../modules/UnimplementedView';\nfunction YellowBox(props) {\n return /*#__PURE__*/React.createElement(UnimplementedView, props);\n}\nYellowBox.ignoreWarnings = () => {};\nexport default YellowBox;","/**\n * Copyright (c) 2016-present, Nicolas Gallagher.\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\nvar LogBox = {\n ignoreLogs() {},\n ignoreAllLogs() {},\n uninstall() {},\n install() {}\n};\nexport default LogBox;","import RCTDeviceEventEmitter from '../../vendor/react-native/EventEmitter/RCTDeviceEventEmitter';\nexport default RCTDeviceEventEmitter;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport * as React from 'react';\nimport Appearance from '../Appearance';\nexport default function useColorScheme() {\n var _React$useState = React.useState(Appearance.getColorScheme()),\n colorScheme = _React$useState[0],\n setColorScheme = _React$useState[1];\n React.useEffect(() => {\n function listener(appearance) {\n setColorScheme(appearance.colorScheme);\n }\n var _Appearance$addChange = Appearance.addChangeListener(listener),\n remove = _Appearance$addChange.remove;\n return remove;\n });\n return colorScheme;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport { useLocaleContext } from '../../modules/useLocale';\nexport default useLocaleContext;","/**\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 * @format\n * \n */\n\n'use strict';\n\nimport Dimensions from '../Dimensions';\nimport { useEffect, useState } from 'react';\nexport default function useWindowDimensions() {\n var _useState = useState(() => Dimensions.get('window')),\n dims = _useState[0],\n setDims = _useState[1];\n useEffect(() => {\n function handleChange(_ref) {\n var window = _ref.window;\n if (window != null) {\n setDims(window);\n }\n }\n Dimensions.addEventListener('change', handleChange);\n // We might have missed an update between calling `get` in render and\n // `addEventListener` in this handler, so we set it here. If there was\n // no change, React will filter out this update as a no-op.\n setDims(Dimensions.get('window'));\n return () => {\n Dimensions.removeEventListener('change', handleChange);\n };\n }, []);\n return dims;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\nexport default isDisabled;","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar accessibilityRoleToWebRole = {\n adjustable: 'slider',\n button: 'button',\n header: 'heading',\n image: 'img',\n imagebutton: null,\n keyboardkey: null,\n label: null,\n link: 'link',\n none: 'presentation',\n search: 'search',\n summary: 'region',\n text: null\n};\nvar propsToAriaRole = _ref => {\n var accessibilityRole = _ref.accessibilityRole,\n role = _ref.role;\n var _role = role || accessibilityRole;\n if (_role) {\n var inferredRole = accessibilityRoleToWebRole[_role];\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || _role;\n }\n }\n};\nexport default propsToAriaRole;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport propsToAriaRole from './propsToAriaRole';\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n button: 'button',\n code: 'code',\n complementary: 'aside',\n contentinfo: 'footer',\n deletion: 'del',\n emphasis: 'em',\n figure: 'figure',\n insertion: 'ins',\n form: 'form',\n list: 'ul',\n listitem: 'li',\n main: 'main',\n navigation: 'nav',\n paragraph: 'p',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n var roleProp = props.role || props.accessibilityRole;\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (roleProp === 'label') {\n return 'label';\n }\n var role = propsToAriaRole(props);\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n if (level != null) {\n return \"h\" + level;\n }\n return 'h1';\n }\n return roleComponents[role];\n }\n};\nexport default propsToAccessibilityComponent;","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport isDisabled from './isDisabled';\nimport propsToAccessibilityComponent from './propsToAccessibilityComponent';\nimport propsToAriaRole from './propsToAriaRole';\nvar AccessibilityUtil = {\n isDisabled,\n propsToAccessibilityComponent,\n propsToAriaRole\n};\nexport default AccessibilityUtil;","/**\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\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default canUseDOM;","/**\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\nexport var defaultProps = {\n children: true,\n dataSet: true,\n dir: true,\n id: true,\n ref: true,\n suppressHydrationWarning: true,\n tabIndex: true,\n testID: true,\n // @deprecated\n focusable: true,\n nativeID: true\n};\nexport var accessibilityProps = {\n 'aria-activedescendant': true,\n 'aria-atomic': true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-colcount': true,\n 'aria-colindex': true,\n 'aria-colspan': true,\n 'aria-controls': true,\n 'aria-current': true,\n 'aria-describedby': true,\n 'aria-details': true,\n 'aria-disabled': true,\n 'aria-errormessage': true,\n 'aria-expanded': true,\n 'aria-flowto': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-keyshortcuts': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-owns': true,\n 'aria-placeholder': true,\n 'aria-posinset': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-required': true,\n role: true,\n 'aria-roledescription': true,\n 'aria-rowcount': true,\n 'aria-rowindex': true,\n 'aria-rowspan': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-sort': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n // @deprecated\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n accessibilityDisabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRole: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true\n};\nexport var clickProps = {\n onClick: true,\n onAuxClick: true,\n onContextMenu: true,\n onGotPointerCapture: true,\n onLostPointerCapture: true,\n onPointerCancel: true,\n onPointerDown: true,\n onPointerEnter: true,\n onPointerMove: true,\n onPointerLeave: true,\n onPointerOut: true,\n onPointerOver: true,\n onPointerUp: true\n};\nexport var focusProps = {\n onBlur: true,\n onFocus: true\n};\nexport var keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nexport var mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nexport var touchProps = {\n onTouchCancel: true,\n onTouchCancelCapture: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchMoveCapture: true,\n onTouchStart: true,\n onTouchStartCapture: true\n};\nexport var styleProps = {\n style: true\n};","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar getBoundingClientRect = node => {\n if (node != null) {\n var isElement = node.nodeType === 1; /* Node.ELEMENT_NODE */\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\nexport default getBoundingClientRect;","/**\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\nimport * as React from 'react';\nexport default function mergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return function forwardRef(node) {\n args.forEach(ref => {\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nexport default function pick(obj, list) {\n var nextObj = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true) {\n nextObj[key] = obj[key];\n }\n }\n }\n return nextObj;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport useLayoutEffect from '../useLayoutEffect';\nimport UIManager from '../../exports/UIManager';\nimport canUseDOM from '../canUseDom';\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !canUseDOM;\nvar resizeObserver = null;\nfunction getResizeObserver() {\n if (canUseDOM && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(entry => {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n if (typeof onLayout === 'function') {\n // We still need to measure the view because browsers don't yet provide\n // border-box dimensions in the entry\n UIManager.measure(node, (x, y, width, height, left, top) => {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x,\n y,\n width,\n height,\n left,\n top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: () => entry.target\n });\n onLayout(event);\n });\n }\n });\n });\n }\n } else if (!didWarn) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n console.warn('onLayout relies on ResizeObserver which is not supported by your browser. ' + 'Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill.');\n didWarn = true;\n }\n }\n return resizeObserver;\n}\nexport default function useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n useLayoutEffect(() => {\n var node = ref.current;\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]);\n\n // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n useLayoutEffect(() => {\n var node = ref.current;\n if (node != null && observer != null) {\n if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {\n observer.observe(node);\n } else {\n observer.unobserve(node);\n }\n }\n return () => {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\n\nimport { useEffect, useLayoutEffect } from 'react';\nimport canUseDOM from '../canUseDom';\nvar useLayoutEffectImpl = canUseDOM ? useLayoutEffect : useEffect;\nexport default useLayoutEffectImpl;","/**\n * Copyright (c) Nicolas Gallagher.\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\nvar rtlScripts = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nvar rtlLangs = new Set(['ae',\n// Avestan\n'ar',\n// Arabic\n'arc',\n// Aramaic\n'bcc',\n// Southern Balochi\n'bqi',\n// Bakthiari\n'ckb',\n// Sorani\n'dv',\n// Dhivehi\n'fa', 'far',\n// Persian\n'glk',\n// Gilaki\n'he', 'iw',\n// Hebrew\n'khw',\n// Khowar\n'ks',\n// Kashmiri\n'ku',\n// Kurdish\n'mzn',\n// Mazanderani\n'nqo',\n// N'Ko\n'pnb',\n// Western Punjabi\n'ps',\n// Pashto\n'sd',\n// Sindhi\n'ug',\n// Uyghur\n'ur',\n// Urdu\n'yi' // Yiddish\n]);\n\nvar cache = new Map();\n\n/**\n * Determine the writing direction of a locale\n */\nexport function isLocaleRTL(locale) {\n var cachedRTL = cache.get(locale);\n if (cachedRTL) {\n return cachedRTL;\n }\n var isRTL = false;\n // $FlowFixMe\n if (Intl.Locale) {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } else {\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\n cache.set(locale, isRTL);\n return isRTL;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport React, { createContext, useContext } from 'react';\nimport { isLocaleRTL } from './isLocaleRTL';\nvar defaultLocale = {\n direction: 'ltr',\n locale: 'en-US'\n};\nvar LocaleContext = /*#__PURE__*/createContext(defaultLocale);\nexport function getLocaleDirection(locale) {\n return isLocaleRTL(locale) ? 'rtl' : 'ltr';\n}\nexport function LocaleProvider(props) {\n var direction = props.direction,\n locale = props.locale,\n children = props.children;\n var needsContext = direction || locale;\n return needsContext ? /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n children: children,\n value: {\n direction: locale ? getLocaleDirection(locale) : direction,\n locale\n }\n }) : children;\n}\nexport function useLocaleContext() {\n return useContext(LocaleContext);\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\nimport * as React from 'react';\nimport mergeRefs from '../mergeRefs';\nexport default function useMergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return React.useMemo(() => mergeRefs(...args),\n // eslint-disable-next-line\n [...args]);\n}","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport UIManager from '../../exports/UIManager';\nimport useStable from '../useStable';\n\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\nexport default function usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n // Avoid creating a new ref on every render.\n var ref = useStable(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => UIManager.measure(hostNode, callback);\n hostNode.measureLayout = (relativeToNode, success, failure) => UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n hostNode.measureInWindow = callback => UIManager.measureInWindow(hostNode, callback);\n }\n });\n return ref;\n}","/**\n * Copyright (c) Nicolas Gallagher\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\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nvar emptyFunction = () => {};\nvar emptyObject = {};\nvar emptyArray = [];\n\n/**\n * Safari produces very large identifiers that would cause the `touchBank` array\n * length to be so large as to crash the browser, if not normalized like this.\n * In the future the `touchBank` should use an object/map instead.\n */\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\nexport default function createResponderEvent(domEvent, responderTouchHistoryStore) {\n var rect;\n var propagationWasStopped = false;\n var changedTouches;\n var touches;\n var domEventChangedTouches = domEvent.changedTouches;\n var domEventType = domEvent.type;\n var metaKey = domEvent.metaKey === true;\n var shiftKey = domEvent.shiftKey === true;\n var force = domEventChangedTouches && domEventChangedTouches[0].force || 0;\n var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0);\n var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX;\n var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;\n var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;\n var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;\n var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction;\n var timestamp = domEvent.timeStamp;\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(touch => {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n get locationX() {\n return locationX(touch.clientX);\n },\n get locationY() {\n return locationY(touch.clientY);\n },\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp\n };\n });\n }\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n // `currentTarget` is set before dispatch\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey,\n shiftKey,\n changedTouches,\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp,\n touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault,\n stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: responderTouchHistoryStore.touchHistory\n };\n\n // Using getters and functions serves two purposes:\n // 1) The value of `currentTarget` is not initially available.\n // 2) Measuring the clientRect may cause layout jank and should only be done on-demand.\n function locationX(x) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return x - rect.left;\n }\n }\n function locationY(y) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return y - rect.top;\n }\n }\n return responderEvent;\n}","/**\n * Copyright (c) Nicolas Gallagher\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\nexport var BLUR = 'blur';\nexport var CONTEXT_MENU = 'contextmenu';\nexport var FOCUS_OUT = 'focusout';\nexport var MOUSE_DOWN = 'mousedown';\nexport var MOUSE_MOVE = 'mousemove';\nexport var MOUSE_UP = 'mouseup';\nexport var MOUSE_CANCEL = 'dragstart';\nexport var TOUCH_START = 'touchstart';\nexport var TOUCH_MOVE = 'touchmove';\nexport var TOUCH_END = 'touchend';\nexport var TOUCH_CANCEL = 'touchcancel';\nexport var SCROLL = 'scroll';\nexport var SELECT = 'select';\nexport var SELECTION_CHANGE = 'selectionchange';\nexport function isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\nexport function isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\nexport function isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\nexport function isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\nexport function isScroll(eventType) {\n return eventType === SCROLL;\n}\nexport function isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}","/**\n * Copyright (c) Nicolas Gallagher\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\nimport isSelectionValid from '../../modules/isSelectionValid';\nvar keyName = '__reactResponderId';\nfunction getEventPath(domEvent) {\n // The 'selectionchange' event always has the 'document' as the target.\n // Use the anchor node as the initial target to reconstruct a path.\n // (We actually only need the first \"responder\" node in practice.)\n if (domEvent.type === 'selectionchange') {\n var target = window.getSelection().anchorNode;\n return composedPathFallback(target);\n } else {\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n }\n}\nfunction composedPathFallback(target) {\n var path = [];\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n return path;\n}\n\n/**\n * Retrieve the responderId from a host node\n */\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n return null;\n}\n\n/**\n * Store the responderId on a host node\n */\nexport function setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\nexport function getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n return {\n idPath,\n nodePath\n };\n}\n\n/**\n * Walk the paths and find the first common ancestor\n */\nexport function getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n if (\n // If either path is empty\n pathALength === 0 || pathBLength === 0 ||\n // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0;\n\n // If A is deeper, skip indices that can't match.\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n }\n\n // If B is deeper, skip indices that can't match\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n }\n\n // Walk in lockstep until a match is found\n var depth = pathALength;\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n return null;\n}\n\n/**\n * Determine whether any of the active touches are within the current responder.\n * This cannot rely on W3C `targetTouches`, as neither IE11 nor Safari implement it.\n */\nexport function hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\nexport function hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return isSelectionValid();\n }\n return domEvent.type === 'select';\n}\n\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\nexport function isPrimaryPointerDown(domEvent) {\n var altKey = domEvent.altKey,\n button = domEvent.button,\n buttons = domEvent.buttons,\n ctrlKey = domEvent.ctrlKey,\n type = domEvent.type;\n var isTouch = type === 'touchstart' || type === 'touchmove';\n var isPrimaryMouseDown = type === 'mousedown' && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === 'mousemove' && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n return false;\n}","/**\n * Copyright (c) Nicolas Gallagher\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\nexport default function isSelectionValid() {\n var selection = window.getSelection();\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== '\\n' && isTextNode;\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\nimport { isStartish, isMoveish, isEndish } from './ResponderEventTypes';\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar MAX_TOUCH_BANK = 20;\nfunction timestampForTouch(touch) {\n // The legacy internal implementation provides \"timeStamp\", which has been\n // renamed to \"timestamp\".\n return touch.timeStamp || touch.timestamp;\n}\n\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n };\n}\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\n touchRecord.startPageX = touch.pageX;\n touchRecord.startPageY = touch.pageY;\n touchRecord.startTimeStamp = timestampForTouch(touch);\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchRecord.previousPageX = touch.pageX;\n touchRecord.previousPageY = touch.pageY;\n touchRecord.previousTimeStamp = timestampForTouch(touch);\n}\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\n if (__DEV__) {\n if (identifier > MAX_TOUCH_BANK) {\n console.error('Touch identifier %s is greater than maximum supported %s which causes ' + 'performance issues backfilling array locations for all of the indices.', identifier, MAX_TOUCH_BANK);\n }\n }\n return identifier;\n}\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchHistory.touchBank[identifier];\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = true;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch move without a touch start.\\n', \"Touch Move: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction recordTouchEnd(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = false;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch end without a touch start.\\n', \"Touch End: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\nfunction printTouchBank(touchHistory) {\n var touchBank = touchHistory.touchBank;\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n return printed;\n}\nexport class ResponderTouchHistoryStore {\n constructor() {\n this._touchHistory = {\n touchBank: [],\n //Array\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\n }\n recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\n if (isMoveish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));\n } else if (isStartish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchStart(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if (isEndish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchEnd(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n var touchBank = touchHistory.touchBank;\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n }\n get touchHistory() {\n return this._touchHistory;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher\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\n/**\n * RESPONDER EVENT SYSTEM\n *\n * A single, global \"interaction lock\" on views. For a view to be the \"responder\" means\n * that pointer interactions are exclusive to that view and none other. The \"interaction\n * lock\" can be transferred (only) to ancestors of the current \"responder\" as long as\n * pointers continue to be active.\n *\n * Responder being granted:\n *\n * A view can become the \"responder\" after the following events:\n * * \"pointerdown\" (implemented using \"touchstart\", \"mousedown\")\n * * \"pointermove\" (implemented using \"touchmove\", \"mousemove\")\n * * \"scroll\" (while a pointer is down)\n * * \"selectionchange\" (while a pointer is down)\n *\n * If nothing is already the \"responder\", the event propagates to (capture) and from\n * (bubble) the event target until a view returns `true` for\n * `on*ShouldSetResponder(Capture)`.\n *\n * If something is already the responder, the event propagates to (capture) and from\n * (bubble) the lowest common ancestor of the event target and the current \"responder\".\n * Then negotiation happens between the current \"responder\" and a view that wants to\n * become the \"responder\": see the timing diagram below.\n *\n * (NOTE: Scrolled views either automatically become the \"responder\" or release the\n * \"interaction lock\". A native scroll view that isn't built on top of the responder\n * system must result in the current \"responder\" being notified that it no longer has\n * the \"interaction lock\" - the native system has taken over.\n *\n * Responder being released:\n *\n * As soon as there are no more active pointers that *started* inside descendants\n * of the *current* \"responder\", an `onResponderRelease` event is dispatched to the\n * current \"responder\", and the responder lock is released.\n *\n * Typical sequence of events:\n * * startShouldSetResponder\n * * responderGrant/Reject\n * * responderStart\n * * responderMove\n * * responderEnd\n * * responderRelease\n */\n\n/* Negotiation Performed\n +-----------------------+\n / \\\nProcess low level events to + Current Responder + wantsResponderID\ndetermine who to perform negot-| (if any exists at all) |\niation/transition | Otherwise just pass through|\n-------------------------------+----------------------------+------------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +--------------+ | |\n | onTouchStart | | |\n +------+-------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onStartShouldSetResponder|----->| onResponderStart (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest | |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderStart|\n | | +----------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +-------------+ | |\n | onTouchMove | | |\n +------+------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onMoveShouldSetResponder |----->| onResponderMove (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest| |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderMove |\n | | +----------------+\n | |\n | |\n Some active touch started| |\n inside current responder | +------------------------+ |\n +------------------------->| onResponderEnd | |\n | | +------------------------+ |\n +---+---------+ | |\n | onTouchEnd | | |\n +---+---------+ | |\n | | +------------------------+ |\n +------------------------->| onResponderEnd | |\n No active touches started| +-----------+------------+ |\n inside current responder | | |\n | v |\n | +------------------------+ |\n | | onResponderRelease | |\n | +------------------------+ |\n | |\n + + */\n\nimport createResponderEvent from './createResponderEvent';\nimport { isCancelish, isEndish, isMoveish, isScroll, isSelectionChange, isStartish } from './ResponderEventTypes';\nimport { getLowestCommonAncestor, getResponderPaths, hasTargetTouches, hasValidSelection, isPrimaryPointerDown, setResponderId } from './utils';\nimport { ResponderTouchHistoryStore } from './ResponderTouchHistoryStore';\nimport canUseDOM from '../canUseDom';\n\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\n\n/* ------------ IMPLEMENTATION ------------ */\n\nvar startRegistration = ['onStartShouldSetResponderCapture', 'onStartShouldSetResponder', {\n bubbles: true\n}];\nvar moveRegistration = ['onMoveShouldSetResponderCapture', 'onMoveShouldSetResponder', {\n bubbles: true\n}];\nvar scrollRegistration = ['onScrollShouldSetResponderCapture', 'onScrollShouldSetResponder', {\n bubbles: false\n}];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\nvar responderTouchHistoryStore = new ResponderTouchHistoryStore();\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n\n/**\n * Process native events\n *\n * A single event listener is used to manage the responder system.\n * All pointers are tracked in the ResponderTouchHistoryStore. Native events\n * are interpreted in terms of the Responder System and checked to see if\n * the responder should be transferred. Each host node that is attached to\n * the Responder System has an ID, which is used to look up its associated\n * callbacks.\n */\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n\n /**\n * Manage emulated events and early bailout.\n * Since PointerEvent is not used yet (lack of support in older Safari), it's\n * necessary to manually manage the mess of browser touch/mouse events.\n * And bailout early for termination events when there is no active responder.\n */\n\n // Flag when browser may produce emulated events\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n }\n // Remove flag when browser will not produce emulated events\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n }\n // Ignore various events in particular circumstances\n if (\n // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents ||\n // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n }\n // Remove flag after emulated events are finished\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n return;\n }\n var isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent);\n var isMoveEvent = isMoveish(eventType);\n var isEndEvent = isEndish(eventType);\n var isScrollEvent = isScroll(eventType);\n var isSelectionChangeEvent = isSelectionChange(eventType);\n var responderEvent = createResponderEvent(domEvent, responderTouchHistoryStore);\n\n /**\n * Record the state of active pointers\n */\n\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n\n /**\n * Responder System logic\n */\n\n var eventPaths = getResponderPaths(domEvent);\n var wasNegotiated = false;\n var wantsResponder;\n\n // If an event occured that might change the current responder...\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n // If there is already a responder, prune the event paths to the lowest common ancestor\n // of the existing responder and deepest target of the event.\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);\n // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n if (wantsResponder != null) {\n // Sets responder if none exists, or negotates with existing responder.\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n }\n\n // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n var _getResponderConfig = getResponderConfig(id),\n onResponderStart = _getResponderConfig.onResponderStart,\n onResponderMove = _getResponderConfig.onResponderMove,\n onResponderEnd = _getResponderConfig.onResponderEnd,\n onResponderRelease = _getResponderConfig.onResponderRelease,\n onResponderTerminate = _getResponderConfig.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Start\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n }\n // Move\n else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = isCancelish(eventType) ||\n // native context menu\n eventType === 'contextmenu' ||\n // window blur\n eventType === 'blur' && eventTarget === window ||\n // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node ||\n // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 ||\n // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node ||\n // native select/selectionchange on node\n isSelectionChangeEvent && hasValidSelection(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches);\n\n // End\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n }\n // Release\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n }\n // Terminate\n if (isTerminateEvent) {\n var shouldTerminate = true;\n\n // Responders can still avoid termination but only for these events.\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n // Only call this function is it wasn't already called during negotiation.\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n\n/**\n * Walk the event path to/from the target node. At each node, stop and call the\n * relevant \"shouldSet\" functions for the given event type. If any of those functions\n * call \"stopPropagation\" on the event, stop searching for a responder.\n */\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; // for Flow\n\n if (shouldSetCallbacks != null) {\n var idPath = eventPaths.idPath,\n nodePath = eventPaths.nodePath;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var bubbles = shouldSetCallbacks[2].bubbles;\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n if (shouldSetCallback(responderEvent) === true) {\n // Start the path from the potential responder\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id,\n node,\n idPath: prunedIdPath\n };\n }\n }\n };\n\n // capture\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n if (result != null) {\n return result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n\n // bubble\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n if (_result != null) {\n return _result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var _id2 = idPath[0];\n var _node2 = nodePath[0];\n var target = domEvent.target;\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n\n/**\n * Attempt to transfer the responder.\n */\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var _currentResponder2 = currentResponder,\n currentId = _currentResponder2.id,\n currentNode = _currentResponder2.node;\n var id = wantsResponder.id,\n node = wantsResponder.node;\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Set responder\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n }\n // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n var allowTransfer = true;\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n if (allowTransfer) {\n // Terminate existing responder\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n // Grant next responder\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n } else {\n // Reject responder request\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n\n/* ------------ PUBLIC API ------------ */\n\n/**\n * Attach Listeners\n *\n * Use native events as ReactDOM doesn't have a non-plugin API to implement\n * this system.\n */\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [\n// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart',\n// touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel',\n// other\n'contextmenu', 'select', 'selectionchange'];\nexport function attachListeners() {\n if (canUseDOM && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n\n/**\n * Register a node with the ResponderSystem.\n */\nexport function addNode(id, node, config) {\n setResponderId(node, id);\n responderListenersMap.set(id, config);\n}\n\n/**\n * Unregister a node with the ResponderSystem.\n */\nexport function removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\n\n/**\n * Allow the current responder to be terminated from within components to support\n * more complex requirements, such as use with other React libraries for working\n * with scroll views, input views, etc.\n */\nexport function terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n if (onResponderTerminate != null) {\n var event = createResponderEvent({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n changeCurrentResponder(emptyResponder);\n }\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\nexport function getResponderNode() {\n return currentResponder.node;\n}","/**\n * Copyright (c) Nicolas Gallagher\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\n/**\n * Hook for integrating the Responder System into React\n *\n * function SomeComponent({ onStartShouldSetResponder }) {\n * const ref = useRef(null);\n * useResponderEvents(ref, { onStartShouldSetResponder });\n * return
\n * }\n */\n\nimport * as React from 'react';\nimport * as ResponderSystem from './ResponderSystem';\nvar emptyObject = {};\nvar idCounter = 0;\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n return ref.current;\n}\nexport default function useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n var id = useStable(() => idCounter++);\n var isAttachedRef = React.useRef(false);\n\n // This is a separate effects so it doesn't run when the config changes.\n // On initial mount, attach global listeners if needed.\n // On unmount, remove node potentially attached to the Responder System.\n React.useEffect(() => {\n ResponderSystem.attachListeners();\n return () => {\n ResponderSystem.removeNode(id);\n };\n }, [id]);\n\n // Register and unregister with the Responder System as necessary\n React.useEffect(() => {\n var _config = config,\n onMoveShouldSetResponder = _config.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture,\n onScrollShouldSetResponder = _config.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = _config.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture;\n var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;\n var node = hostRef.current;\n if (requiresResponderSystem) {\n ResponderSystem.addNode(id, node, config);\n isAttachedRef.current = true;\n } else if (isAttachedRef.current) {\n ResponderSystem.removeNode(id);\n isAttachedRef.current = false;\n }\n }, [config, hostRef, id]);\n React.useDebugValue({\n isResponder: hostRef.current === ResponderSystem.getResponderNode()\n });\n React.useDebugValue(config);\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\nimport * as React from 'react';\nvar UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nexport default function useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n }\n // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n return ref.current;\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\nvar warnedKeys = {};\n\n/**\n * A simple function that prints a warning message once per session.\n *\n * @param {string} key - The key used to ensure the message is printed once.\n * This should be unique to the callsite.\n * @param {string} message - The message to print\n */\nexport function warnOnce(key, message) {\n if (process.env.NODE_ENV !== 'production') {\n if (warnedKeys[key]) {\n return;\n }\n console.warn(message);\n warnedKeys[key] = true;\n }\n}","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (typeof Reflect === 'object' && typeof Reflect.ownKeys === 'function') {\n\t\treturn Reflect.ownKeys;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar CreateMethodProperty = require('es-abstract/2023/CreateMethodProperty');\nvar setToStringTag = require('es-set-tostringtag');\nvar globalThis = require('globalthis')();\n\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimReflectOwnKeys() {\n\tif (typeof Reflect === 'undefined') {\n\t\tvar R = {};\n\t\tsetToStringTag(R, 'Reflect');\n\t\tCreateMethodProperty(globalThis, 'Reflect', R);\n\t}\n\n\tvar polyfill = getPolyfill();\n\tif (polyfill !== Reflect.ownKeys) {\n\t\tCreateMethodProperty(Reflect, 'ownKeys', polyfill);\n\t}\n\treturn polyfill;\n};\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","/*!\n * shallow-clone \n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nconst valueOf = Symbol.prototype.valueOf;\nconst typeOf = require('kind-of');\n\nfunction clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default: {\n return val;\n }\n }\n}\n\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : (/\\w+$/.exec(val) || void 0);\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\n\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\n\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\n\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\n\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n\n/**\n * Expose `clone`\n */\n\nmodule.exports = clone;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n mappings.map(function (mapping) {\n var source = mapping.source === null ? null : this._sources.at(mapping.source);\n source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n return {\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number is 1-based.\n * - column: Optional. the column number in the original source.\n * The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n needle.source = this._findSourceIndex(needle.source);\n if (needle.source < 0) {\n return [];\n }\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n if (sourceRoot) {\n sourceRoot = util.normalize(sourceRoot);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this._absoluteSources = this._sources.toArray().map(function (s) {\n return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n });\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this._sourceMapURL = aSourceMapURL;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Utility function to find the index of a source. Returns -1 if not\n * found.\n */\nBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n if (this._sources.has(relativeSource)) {\n return this._sources.indexOf(relativeSource);\n }\n\n // Maybe aSource is an absolute URL as returned by |sources|. In\n // this case we can't simply undo the transform.\n var i;\n for (i = 0; i < this._absoluteSources.length; ++i) {\n if (this._absoluteSources[i] == aSource) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @param String aSourceMapURL\n * The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n smc._sourceMapURL = aSourceMapURL;\n smc._absoluteSources = smc._sources.toArray().map(function (s) {\n return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n });\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._absoluteSources.slice();\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n // Because each offset is encoded relative to the previous one,\n // many segments often have the same encoding. We can exploit this\n // fact by caching the parsed variable length fields of each segment,\n // allowing us to avoid a second parse if we encounter the same\n // segment again.\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = cachedSegments[str];\n if (segment) {\n index += str.length;\n } else {\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n cachedSegments[str] = segment;\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n originalMappings.push(mapping);\n }\n }\n }\n\n quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = generatedMappings;\n\n quickSort(originalMappings, util.compareByOriginalPositions);\n this.__originalMappings = originalMappings;\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n var index = this._findSourceIndex(aSource);\n if (index >= 0) {\n return this.sourcesContent[index];\n }\n\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + relativeSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n source = this._findSourceIndex(source);\n if (source < 0) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based. \n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = null;\n if (mapping.name) {\n name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n }\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator({\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n });\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n this._validateMapping(generated, original, source, name);\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n throw new Error(\n 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n );\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n throw new Error('Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n }));\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var remainingLinesIndex = 0;\n var shiftNextLine = function() {\n var lineContents = getNextLine();\n // The last line of a file might not have a newline.\n var newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[remainingLinesIndex] || '';\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[remainingLinesIndex] || '';\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n","/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n","(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n","/*\nStimulus 3.2.1\nCopyright © 2023 Basecamp, LLC\n */\nclass EventListener {\n constructor(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n connect() {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n }\n disconnect() {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }\n bindingConnected(binding) {\n this.unorderedBindings.add(binding);\n }\n bindingDisconnected(binding) {\n this.unorderedBindings.delete(binding);\n }\n handleEvent(event) {\n const extendedEvent = extendEvent(event);\n for (const binding of this.bindings) {\n if (extendedEvent.immediatePropagationStopped) {\n break;\n }\n else {\n binding.handleEvent(extendedEvent);\n }\n }\n }\n hasBindings() {\n return this.unorderedBindings.size > 0;\n }\n get bindings() {\n return Array.from(this.unorderedBindings).sort((left, right) => {\n const leftIndex = left.index, rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n }\n}\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n }\n else {\n const { stopImmediatePropagation } = event;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation.call(this);\n },\n });\n }\n}\n\nclass Dispatcher {\n constructor(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach((eventListener) => eventListener.connect());\n }\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach((eventListener) => eventListener.disconnect());\n }\n }\n get eventListeners() {\n return Array.from(this.eventListenerMaps.values()).reduce((listeners, map) => listeners.concat(Array.from(map.values())), []);\n }\n bindingConnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n }\n bindingDisconnected(binding, clearEventListeners = false) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n if (clearEventListeners)\n this.clearEventListenersForBinding(binding);\n }\n handleError(error, message, detail = {}) {\n this.application.handleError(error, `Error ${message}`, detail);\n }\n clearEventListenersForBinding(binding) {\n const eventListener = this.fetchEventListenerForBinding(binding);\n if (!eventListener.hasBindings()) {\n eventListener.disconnect();\n this.removeMappedEventListenerFor(binding);\n }\n }\n removeMappedEventListenerFor(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n eventListenerMap.delete(cacheKey);\n if (eventListenerMap.size == 0)\n this.eventListenerMaps.delete(eventTarget);\n }\n fetchEventListenerForBinding(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n }\n fetchEventListener(eventTarget, eventName, eventOptions) {\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n let eventListener = eventListenerMap.get(cacheKey);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n return eventListener;\n }\n createEventListener(eventTarget, eventName, eventOptions) {\n const eventListener = new EventListener(eventTarget, eventName, eventOptions);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n }\n fetchEventListenerMapForEventTarget(eventTarget) {\n let eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n }\n cacheKey(eventName, eventOptions) {\n const parts = [eventName];\n Object.keys(eventOptions)\n .sort()\n .forEach((key) => {\n parts.push(`${eventOptions[key] ? \"\" : \"!\"}${key}`);\n });\n return parts.join(\":\");\n }\n}\n\nconst defaultActionDescriptorFilters = {\n stop({ event, value }) {\n if (value)\n event.stopPropagation();\n return true;\n },\n prevent({ event, value }) {\n if (value)\n event.preventDefault();\n return true;\n },\n self({ event, value, element }) {\n if (value) {\n return element === event.target;\n }\n else {\n return true;\n }\n },\n};\nconst descriptorPattern = /^(?:(?:([^.]+?)\\+)?(.+?)(?:\\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;\nfunction parseActionDescriptorString(descriptorString) {\n const source = descriptorString.trim();\n const matches = source.match(descriptorPattern) || [];\n let eventName = matches[2];\n let keyFilter = matches[3];\n if (keyFilter && ![\"keydown\", \"keyup\", \"keypress\"].includes(eventName)) {\n eventName += `.${keyFilter}`;\n keyFilter = \"\";\n }\n return {\n eventTarget: parseEventTarget(matches[4]),\n eventName,\n eventOptions: matches[7] ? parseEventOptions(matches[7]) : {},\n identifier: matches[5],\n methodName: matches[6],\n keyFilter: matches[1] || keyFilter,\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n }\n else if (eventTargetName == \"document\") {\n return document;\n }\n}\nfunction parseEventOptions(eventOptions) {\n return eventOptions\n .split(\":\")\n .reduce((options, token) => Object.assign(options, { [token.replace(/^!/, \"\")]: !/^!/.test(token) }), {});\n}\nfunction stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n }\n else if (eventTarget == document) {\n return \"document\";\n }\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\nfunction namespaceCamelize(value) {\n return camelize(value.replace(/--/g, \"-\").replace(/__/g, \"_\"));\n}\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\nfunction tokenize(value) {\n return value.match(/[^\\s]+/g) || [];\n}\n\nfunction isSomething(object) {\n return object !== null && object !== undefined;\n}\nfunction hasProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nconst allModifiers = [\"meta\", \"ctrl\", \"alt\", \"shift\"];\nclass Action {\n constructor(element, index, descriptor, schema) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n this.keyFilter = descriptor.keyFilter || \"\";\n this.schema = schema;\n }\n static forToken(token, schema) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content), schema);\n }\n toString() {\n const eventFilter = this.keyFilter ? `.${this.keyFilter}` : \"\";\n const eventTarget = this.eventTargetName ? `@${this.eventTargetName}` : \"\";\n return `${this.eventName}${eventFilter}${eventTarget}->${this.identifier}#${this.methodName}`;\n }\n shouldIgnoreKeyboardEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = this.keyFilter.split(\"+\");\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n const standardFilter = filters.filter((key) => !allModifiers.includes(key))[0];\n if (!standardFilter) {\n return false;\n }\n if (!hasProperty(this.keyMappings, standardFilter)) {\n error(`contains unknown key filter: ${this.keyFilter}`);\n }\n return this.keyMappings[standardFilter].toLowerCase() !== event.key.toLowerCase();\n }\n shouldIgnoreMouseEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = [this.keyFilter];\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n return false;\n }\n get params() {\n const params = {};\n const pattern = new RegExp(`^data-${this.identifier}-(.+)-param$`, \"i\");\n for (const { name, value } of Array.from(this.element.attributes)) {\n const match = name.match(pattern);\n const key = match && match[1];\n if (key) {\n params[camelize(key)] = typecast(value);\n }\n }\n return params;\n }\n get eventTargetName() {\n return stringifyEventTarget(this.eventTarget);\n }\n get keyMappings() {\n return this.schema.keyMappings;\n }\n keyFilterDissatisfied(event, filters) {\n const [meta, ctrl, alt, shift] = allModifiers.map((modifier) => filters.includes(modifier));\n return event.metaKey !== meta || event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift;\n }\n}\nconst defaultEventNames = {\n a: () => \"click\",\n button: () => \"click\",\n form: () => \"submit\",\n details: () => \"toggle\",\n input: (e) => (e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\"),\n select: () => \"change\",\n textarea: () => \"input\",\n};\nfunction getDefaultEventNameForElement(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}\nfunction typecast(value) {\n try {\n return JSON.parse(value);\n }\n catch (o_O) {\n return value;\n }\n}\n\nclass Binding {\n constructor(context, action) {\n this.context = context;\n this.action = action;\n }\n get index() {\n return this.action.index;\n }\n get eventTarget() {\n return this.action.eventTarget;\n }\n get eventOptions() {\n return this.action.eventOptions;\n }\n get identifier() {\n return this.context.identifier;\n }\n handleEvent(event) {\n const actionEvent = this.prepareActionEvent(event);\n if (this.willBeInvokedByEvent(event) && this.applyEventModifiers(actionEvent)) {\n this.invokeWithEvent(actionEvent);\n }\n }\n get eventName() {\n return this.action.eventName;\n }\n get method() {\n const method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(`Action \"${this.action}\" references undefined method \"${this.methodName}\"`);\n }\n applyEventModifiers(event) {\n const { element } = this.action;\n const { actionDescriptorFilters } = this.context.application;\n const { controller } = this.context;\n let passes = true;\n for (const [name, value] of Object.entries(this.eventOptions)) {\n if (name in actionDescriptorFilters) {\n const filter = actionDescriptorFilters[name];\n passes = passes && filter({ name, value, event, element, controller });\n }\n else {\n continue;\n }\n }\n return passes;\n }\n prepareActionEvent(event) {\n return Object.assign(event, { params: this.action.params });\n }\n invokeWithEvent(event) {\n const { target, currentTarget } = event;\n try {\n this.method.call(this.controller, event);\n this.context.logDebugActivity(this.methodName, { event, target, currentTarget, action: this.methodName });\n }\n catch (error) {\n const { identifier, controller, element, index } = this;\n const detail = { identifier, controller, element, index, event };\n this.context.handleError(error, `invoking action \"${this.action}\"`, detail);\n }\n }\n willBeInvokedByEvent(event) {\n const eventTarget = event.target;\n if (event instanceof KeyboardEvent && this.action.shouldIgnoreKeyboardEvent(event)) {\n return false;\n }\n if (event instanceof MouseEvent && this.action.shouldIgnoreMouseEvent(event)) {\n return false;\n }\n if (this.element === eventTarget) {\n return true;\n }\n else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n }\n else {\n return this.scope.containsElement(this.action.element);\n }\n }\n get controller() {\n return this.context.controller;\n }\n get methodName() {\n return this.action.methodName;\n }\n get element() {\n return this.scope.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nclass ElementObserver {\n constructor(element, delegate) {\n this.mutationObserverInit = { attributes: true, childList: true, subtree: true };\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.refresh();\n }\n }\n pause(callback) {\n if (this.started) {\n this.mutationObserver.disconnect();\n this.started = false;\n }\n callback();\n if (!this.started) {\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.started = true;\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n const matches = new Set(this.matchElementsInTree());\n for (const element of Array.from(this.elements)) {\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (const element of Array.from(matches)) {\n this.addElement(element);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n }\n else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n }\n processAttributeChange(element, attributeName) {\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n }\n else {\n this.removeElement(element);\n }\n }\n else if (this.matchElement(element)) {\n this.addElement(element);\n }\n }\n processRemovedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n }\n processAddedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }\n matchElement(element) {\n return this.delegate.matchElement(element);\n }\n matchElementsInTree(tree = this.element) {\n return this.delegate.matchElementsInTree(tree);\n }\n processTree(tree, processor) {\n for (const element of this.matchElementsInTree(tree)) {\n processor.call(this, element);\n }\n }\n elementFromNode(node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n }\n elementIsActive(element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n }\n else {\n return this.element.contains(element);\n }\n }\n addElement(element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n }\n removeElement(element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n }\n}\n\nclass AttributeObserver {\n constructor(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n get element() {\n return this.elementObserver.element;\n }\n get selector() {\n return `[${this.attributeName}]`;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get started() {\n return this.elementObserver.started;\n }\n matchElement(element) {\n return element.hasAttribute(this.attributeName);\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n }\n elementMatched(element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n }\n elementUnmatched(element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n }\n elementAttributeChanged(element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n }\n}\n\nfunction add(map, key, value) {\n fetch(map, key).add(value);\n}\nfunction del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nfunction fetch(map, key) {\n let values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nfunction prune(map, key) {\n const values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n\nclass Multimap {\n constructor() {\n this.valuesByKey = new Map();\n }\n get keys() {\n return Array.from(this.valuesByKey.keys());\n }\n get values() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((values, set) => values.concat(Array.from(set)), []);\n }\n get size() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((size, set) => size + set.size, 0);\n }\n add(key, value) {\n add(this.valuesByKey, key, value);\n }\n delete(key, value) {\n del(this.valuesByKey, key, value);\n }\n has(key, value) {\n const values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n }\n hasKey(key) {\n return this.valuesByKey.has(key);\n }\n hasValue(value) {\n const sets = Array.from(this.valuesByKey.values());\n return sets.some((set) => set.has(value));\n }\n getValuesForKey(key) {\n const values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n }\n getKeysForValue(value) {\n return Array.from(this.valuesByKey)\n .filter(([_key, values]) => values.has(value))\n .map(([key, _values]) => key);\n }\n}\n\nclass IndexedMultimap extends Multimap {\n constructor() {\n super();\n this.keysByValue = new Map();\n }\n get values() {\n return Array.from(this.keysByValue.keys());\n }\n add(key, value) {\n super.add(key, value);\n add(this.keysByValue, value, key);\n }\n delete(key, value) {\n super.delete(key, value);\n del(this.keysByValue, value, key);\n }\n hasValue(value) {\n return this.keysByValue.has(value);\n }\n getKeysForValue(value) {\n const set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n }\n}\n\nclass SelectorObserver {\n constructor(element, selector, delegate, details) {\n this._selector = selector;\n this.details = details;\n this.elementObserver = new ElementObserver(element, this);\n this.delegate = delegate;\n this.matchesByElement = new Multimap();\n }\n get started() {\n return this.elementObserver.started;\n }\n get selector() {\n return this._selector;\n }\n set selector(selector) {\n this._selector = selector;\n this.refresh();\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get element() {\n return this.elementObserver.element;\n }\n matchElement(element) {\n const { selector } = this;\n if (selector) {\n const matches = element.matches(selector);\n if (this.delegate.selectorMatchElement) {\n return matches && this.delegate.selectorMatchElement(element, this.details);\n }\n return matches;\n }\n else {\n return false;\n }\n }\n matchElementsInTree(tree) {\n const { selector } = this;\n if (selector) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(selector)).filter((match) => this.matchElement(match));\n return match.concat(matches);\n }\n else {\n return [];\n }\n }\n elementMatched(element) {\n const { selector } = this;\n if (selector) {\n this.selectorMatched(element, selector);\n }\n }\n elementUnmatched(element) {\n const selectors = this.matchesByElement.getKeysForValue(element);\n for (const selector of selectors) {\n this.selectorUnmatched(element, selector);\n }\n }\n elementAttributeChanged(element, _attributeName) {\n const { selector } = this;\n if (selector) {\n const matches = this.matchElement(element);\n const matchedBefore = this.matchesByElement.has(selector, element);\n if (matches && !matchedBefore) {\n this.selectorMatched(element, selector);\n }\n else if (!matches && matchedBefore) {\n this.selectorUnmatched(element, selector);\n }\n }\n }\n selectorMatched(element, selector) {\n this.delegate.selectorMatched(element, selector, this.details);\n this.matchesByElement.add(selector, element);\n }\n selectorUnmatched(element, selector) {\n this.delegate.selectorUnmatched(element, selector, this.details);\n this.matchesByElement.delete(selector, element);\n }\n}\n\nclass StringMapObserver {\n constructor(element, delegate) {\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true, attributeOldValue: true });\n this.refresh();\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n for (const attributeName of this.knownAttributeNames) {\n this.refreshAttribute(attributeName, null);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n const attributeName = mutation.attributeName;\n if (attributeName) {\n this.refreshAttribute(attributeName, mutation.oldValue);\n }\n }\n refreshAttribute(attributeName, oldValue) {\n const key = this.delegate.getStringMapKeyForAttribute(attributeName);\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n const value = this.element.getAttribute(attributeName);\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key, oldValue);\n }\n if (value == null) {\n const oldValue = this.stringMap.get(attributeName);\n this.stringMap.delete(attributeName);\n if (oldValue)\n this.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n else {\n this.stringMap.set(attributeName, value);\n }\n }\n }\n stringMapKeyAdded(key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n }\n stringMapValueChanged(value, key, oldValue) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key, oldValue);\n }\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n }\n get knownAttributeNames() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n }\n get currentAttributeNames() {\n return Array.from(this.element.attributes).map((attribute) => attribute.name);\n }\n get recordedAttributeNames() {\n return Array.from(this.stringMap.keys());\n }\n}\n\nclass TokenListObserver {\n constructor(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n get started() {\n return this.attributeObserver.started;\n }\n start() {\n this.attributeObserver.start();\n }\n pause(callback) {\n this.attributeObserver.pause(callback);\n }\n stop() {\n this.attributeObserver.stop();\n }\n refresh() {\n this.attributeObserver.refresh();\n }\n get element() {\n return this.attributeObserver.element;\n }\n get attributeName() {\n return this.attributeObserver.attributeName;\n }\n elementMatchedAttribute(element) {\n this.tokensMatched(this.readTokensForElement(element));\n }\n elementAttributeValueChanged(element) {\n const [unmatchedTokens, matchedTokens] = this.refreshTokensForElement(element);\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n }\n elementUnmatchedAttribute(element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n }\n tokensMatched(tokens) {\n tokens.forEach((token) => this.tokenMatched(token));\n }\n tokensUnmatched(tokens) {\n tokens.forEach((token) => this.tokenUnmatched(token));\n }\n tokenMatched(token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n }\n tokenUnmatched(token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n }\n refreshTokensForElement(element) {\n const previousTokens = this.tokensByElement.getValuesForKey(element);\n const currentTokens = this.readTokensForElement(element);\n const firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(([previousToken, currentToken]) => !tokensAreEqual(previousToken, currentToken));\n if (firstDifferingIndex == -1) {\n return [[], []];\n }\n else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n }\n readTokensForElement(element) {\n const attributeName = this.attributeName;\n const tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n }\n}\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString\n .trim()\n .split(/\\s+/)\n .filter((content) => content.length)\n .map((content, index) => ({ element, attributeName, content, index }));\n}\nfunction zip(left, right) {\n const length = Math.max(left.length, right.length);\n return Array.from({ length }, (_, index) => [left[index], right[index]]);\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n\nclass ValueListObserver {\n constructor(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n get started() {\n return this.tokenListObserver.started;\n }\n start() {\n this.tokenListObserver.start();\n }\n stop() {\n this.tokenListObserver.stop();\n }\n refresh() {\n this.tokenListObserver.refresh();\n }\n get element() {\n return this.tokenListObserver.element;\n }\n get attributeName() {\n return this.tokenListObserver.attributeName;\n }\n tokenMatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n }\n tokenUnmatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n }\n fetchParseResultForToken(token) {\n let parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n }\n fetchValuesByTokenForElement(element) {\n let valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n }\n parseToken(token) {\n try {\n const value = this.delegate.parseValueForToken(token);\n return { value };\n }\n catch (error) {\n return { error };\n }\n }\n}\n\nclass BindingObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n start() {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n }\n stop() {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n }\n get element() {\n return this.context.element;\n }\n get identifier() {\n return this.context.identifier;\n }\n get actionAttribute() {\n return this.schema.actionAttribute;\n }\n get schema() {\n return this.context.schema;\n }\n get bindings() {\n return Array.from(this.bindingsByAction.values());\n }\n connectAction(action) {\n const binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n }\n disconnectAction(action) {\n const binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n }\n disconnectAllActions() {\n this.bindings.forEach((binding) => this.delegate.bindingDisconnected(binding, true));\n this.bindingsByAction.clear();\n }\n parseValueForToken(token) {\n const action = Action.forToken(token, this.schema);\n if (action.identifier == this.identifier) {\n return action;\n }\n }\n elementMatchedValue(element, action) {\n this.connectAction(action);\n }\n elementUnmatchedValue(element, action) {\n this.disconnectAction(action);\n }\n}\n\nclass ValueObserver {\n constructor(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n }\n start() {\n this.stringMapObserver.start();\n this.invokeChangedCallbacksForDefaultValues();\n }\n stop() {\n this.stringMapObserver.stop();\n }\n get element() {\n return this.context.element;\n }\n get controller() {\n return this.context.controller;\n }\n getStringMapKeyForAttribute(attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n }\n stringMapKeyAdded(key, attributeName) {\n const descriptor = this.valueDescriptorMap[attributeName];\n if (!this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), descriptor.writer(descriptor.defaultValue));\n }\n }\n stringMapValueChanged(value, name, oldValue) {\n const descriptor = this.valueDescriptorNameMap[name];\n if (value === null)\n return;\n if (oldValue === null) {\n oldValue = descriptor.writer(descriptor.defaultValue);\n }\n this.invokeChangedCallback(name, value, oldValue);\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n const descriptor = this.valueDescriptorNameMap[key];\n if (this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), oldValue);\n }\n else {\n this.invokeChangedCallback(key, descriptor.writer(descriptor.defaultValue), oldValue);\n }\n }\n invokeChangedCallbacksForDefaultValues() {\n for (const { key, name, defaultValue, writer } of this.valueDescriptors) {\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallback(name, writer(defaultValue), undefined);\n }\n }\n }\n invokeChangedCallback(name, rawValue, rawOldValue) {\n const changedMethodName = `${name}Changed`;\n const changedMethod = this.receiver[changedMethodName];\n if (typeof changedMethod == \"function\") {\n const descriptor = this.valueDescriptorNameMap[name];\n try {\n const value = descriptor.reader(rawValue);\n let oldValue = rawOldValue;\n if (rawOldValue) {\n oldValue = descriptor.reader(rawOldValue);\n }\n changedMethod.call(this.receiver, value, oldValue);\n }\n catch (error) {\n if (error instanceof TypeError) {\n error.message = `Stimulus Value \"${this.context.identifier}.${descriptor.name}\" - ${error.message}`;\n }\n throw error;\n }\n }\n }\n get valueDescriptors() {\n const { valueDescriptorMap } = this;\n return Object.keys(valueDescriptorMap).map((key) => valueDescriptorMap[key]);\n }\n get valueDescriptorNameMap() {\n const descriptors = {};\n Object.keys(this.valueDescriptorMap).forEach((key) => {\n const descriptor = this.valueDescriptorMap[key];\n descriptors[descriptor.name] = descriptor;\n });\n return descriptors;\n }\n hasValue(attributeName) {\n const descriptor = this.valueDescriptorNameMap[attributeName];\n const hasMethodName = `has${capitalize(descriptor.name)}`;\n return this.receiver[hasMethodName];\n }\n}\n\nclass TargetObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.targetsByName = new Multimap();\n }\n start() {\n if (!this.tokenListObserver) {\n this.tokenListObserver = new TokenListObserver(this.element, this.attributeName, this);\n this.tokenListObserver.start();\n }\n }\n stop() {\n if (this.tokenListObserver) {\n this.disconnectAllTargets();\n this.tokenListObserver.stop();\n delete this.tokenListObserver;\n }\n }\n tokenMatched({ element, content: name }) {\n if (this.scope.containsElement(element)) {\n this.connectTarget(element, name);\n }\n }\n tokenUnmatched({ element, content: name }) {\n this.disconnectTarget(element, name);\n }\n connectTarget(element, name) {\n var _a;\n if (!this.targetsByName.has(name, element)) {\n this.targetsByName.add(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetConnected(element, name));\n }\n }\n disconnectTarget(element, name) {\n var _a;\n if (this.targetsByName.has(name, element)) {\n this.targetsByName.delete(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetDisconnected(element, name));\n }\n }\n disconnectAllTargets() {\n for (const name of this.targetsByName.keys) {\n for (const element of this.targetsByName.getValuesForKey(name)) {\n this.disconnectTarget(element, name);\n }\n }\n }\n get attributeName() {\n return `data-${this.context.identifier}-target`;\n }\n get element() {\n return this.context.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach((name) => values.add(name));\n return values;\n }, new Set()));\n}\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors.reverse();\n}\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map((key) => [key, definition[key]]) : [];\n}\n\nclass OutletObserver {\n constructor(context, delegate) {\n this.started = false;\n this.context = context;\n this.delegate = delegate;\n this.outletsByName = new Multimap();\n this.outletElementsByName = new Multimap();\n this.selectorObserverMap = new Map();\n this.attributeObserverMap = new Map();\n }\n start() {\n if (!this.started) {\n this.outletDefinitions.forEach((outletName) => {\n this.setupSelectorObserverForOutlet(outletName);\n this.setupAttributeObserverForOutlet(outletName);\n });\n this.started = true;\n this.dependentContexts.forEach((context) => context.refresh());\n }\n }\n refresh() {\n this.selectorObserverMap.forEach((observer) => observer.refresh());\n this.attributeObserverMap.forEach((observer) => observer.refresh());\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.disconnectAllOutlets();\n this.stopSelectorObservers();\n this.stopAttributeObservers();\n }\n }\n stopSelectorObservers() {\n if (this.selectorObserverMap.size > 0) {\n this.selectorObserverMap.forEach((observer) => observer.stop());\n this.selectorObserverMap.clear();\n }\n }\n stopAttributeObservers() {\n if (this.attributeObserverMap.size > 0) {\n this.attributeObserverMap.forEach((observer) => observer.stop());\n this.attributeObserverMap.clear();\n }\n }\n selectorMatched(element, _selector, { outletName }) {\n const outlet = this.getOutlet(element, outletName);\n if (outlet) {\n this.connectOutlet(outlet, element, outletName);\n }\n }\n selectorUnmatched(element, _selector, { outletName }) {\n const outlet = this.getOutletFromMap(element, outletName);\n if (outlet) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n selectorMatchElement(element, { outletName }) {\n const selector = this.selector(outletName);\n const hasOutlet = this.hasOutlet(element, outletName);\n const hasOutletController = element.matches(`[${this.schema.controllerAttribute}~=${outletName}]`);\n if (selector) {\n return hasOutlet && hasOutletController && element.matches(selector);\n }\n else {\n return false;\n }\n }\n elementMatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementAttributeValueChanged(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementUnmatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n connectOutlet(outlet, element, outletName) {\n var _a;\n if (!this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.add(outletName, outlet);\n this.outletElementsByName.add(outletName, element);\n (_a = this.selectorObserverMap.get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletConnected(outlet, element, outletName));\n }\n }\n disconnectOutlet(outlet, element, outletName) {\n var _a;\n if (this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.delete(outletName, outlet);\n this.outletElementsByName.delete(outletName, element);\n (_a = this.selectorObserverMap\n .get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletDisconnected(outlet, element, outletName));\n }\n }\n disconnectAllOutlets() {\n for (const outletName of this.outletElementsByName.keys) {\n for (const element of this.outletElementsByName.getValuesForKey(outletName)) {\n for (const outlet of this.outletsByName.getValuesForKey(outletName)) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n }\n }\n updateSelectorObserverForOutlet(outletName) {\n const observer = this.selectorObserverMap.get(outletName);\n if (observer) {\n observer.selector = this.selector(outletName);\n }\n }\n setupSelectorObserverForOutlet(outletName) {\n const selector = this.selector(outletName);\n const selectorObserver = new SelectorObserver(document.body, selector, this, { outletName });\n this.selectorObserverMap.set(outletName, selectorObserver);\n selectorObserver.start();\n }\n setupAttributeObserverForOutlet(outletName) {\n const attributeName = this.attributeNameForOutletName(outletName);\n const attributeObserver = new AttributeObserver(this.scope.element, attributeName, this);\n this.attributeObserverMap.set(outletName, attributeObserver);\n attributeObserver.start();\n }\n selector(outletName) {\n return this.scope.outlets.getSelectorForOutletName(outletName);\n }\n attributeNameForOutletName(outletName) {\n return this.scope.schema.outletAttributeForScope(this.identifier, outletName);\n }\n getOutletNameFromOutletAttributeName(attributeName) {\n return this.outletDefinitions.find((outletName) => this.attributeNameForOutletName(outletName) === attributeName);\n }\n get outletDependencies() {\n const dependencies = new Multimap();\n this.router.modules.forEach((module) => {\n const constructor = module.definition.controllerConstructor;\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n outlets.forEach((outlet) => dependencies.add(outlet, module.identifier));\n });\n return dependencies;\n }\n get outletDefinitions() {\n return this.outletDependencies.getKeysForValue(this.identifier);\n }\n get dependentControllerIdentifiers() {\n return this.outletDependencies.getValuesForKey(this.identifier);\n }\n get dependentContexts() {\n const identifiers = this.dependentControllerIdentifiers;\n return this.router.contexts.filter((context) => identifiers.includes(context.identifier));\n }\n hasOutlet(element, outletName) {\n return !!this.getOutlet(element, outletName) || !!this.getOutletFromMap(element, outletName);\n }\n getOutlet(element, outletName) {\n return this.application.getControllerForElementAndIdentifier(element, outletName);\n }\n getOutletFromMap(element, outletName) {\n return this.outletsByName.getValuesForKey(outletName).find((outlet) => outlet.element === element);\n }\n get scope() {\n return this.context.scope;\n }\n get schema() {\n return this.context.schema;\n }\n get identifier() {\n return this.context.identifier;\n }\n get application() {\n return this.context.application;\n }\n get router() {\n return this.application.router;\n }\n}\n\nclass Context {\n constructor(module, scope) {\n this.logDebugActivity = (functionName, detail = {}) => {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.logDebugActivity(this.identifier, functionName, detail);\n };\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n this.targetObserver = new TargetObserver(this, this);\n this.outletObserver = new OutletObserver(this, this);\n try {\n this.controller.initialize();\n this.logDebugActivity(\"initialize\");\n }\n catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n connect() {\n this.bindingObserver.start();\n this.valueObserver.start();\n this.targetObserver.start();\n this.outletObserver.start();\n try {\n this.controller.connect();\n this.logDebugActivity(\"connect\");\n }\n catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n }\n refresh() {\n this.outletObserver.refresh();\n }\n disconnect() {\n try {\n this.controller.disconnect();\n this.logDebugActivity(\"disconnect\");\n }\n catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.outletObserver.stop();\n this.targetObserver.stop();\n this.valueObserver.stop();\n this.bindingObserver.stop();\n }\n get application() {\n return this.module.application;\n }\n get identifier() {\n return this.module.identifier;\n }\n get schema() {\n return this.application.schema;\n }\n get dispatcher() {\n return this.application.dispatcher;\n }\n get element() {\n return this.scope.element;\n }\n get parentElement() {\n return this.element.parentElement;\n }\n handleError(error, message, detail = {}) {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.handleError(error, `Error ${message}`, detail);\n }\n targetConnected(element, name) {\n this.invokeControllerMethod(`${name}TargetConnected`, element);\n }\n targetDisconnected(element, name) {\n this.invokeControllerMethod(`${name}TargetDisconnected`, element);\n }\n outletConnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletConnected`, outlet, element);\n }\n outletDisconnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletDisconnected`, outlet, element);\n }\n invokeControllerMethod(methodName, ...args) {\n const controller = this.controller;\n if (typeof controller[methodName] == \"function\") {\n controller[methodName](...args);\n }\n }\n}\n\nfunction bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\nfunction shadow(constructor, properties) {\n const shadowConstructor = extend(constructor);\n const shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\nfunction getBlessedProperties(constructor) {\n const blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce((blessedProperties, blessing) => {\n const properties = blessing(constructor);\n for (const key in properties) {\n const descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n return blessedProperties;\n }, {});\n}\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce((shadowProperties, key) => {\n const descriptor = getShadowedDescriptor(prototype, properties, key);\n if (descriptor) {\n Object.assign(shadowProperties, { [key]: descriptor });\n }\n return shadowProperties;\n }, {});\n}\nfunction getShadowedDescriptor(prototype, properties, key) {\n const shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n const shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n if (!shadowedByValue) {\n const descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n return descriptor;\n }\n}\nconst getOwnKeys = (() => {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return (object) => [...Object.getOwnPropertyNames(object), ...Object.getOwnPropertySymbols(object)];\n }\n else {\n return Object.getOwnPropertyNames;\n }\n})();\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n extended.prototype = Object.create(constructor.prototype, {\n constructor: { value: extended },\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n function testReflectExtension() {\n const a = function () {\n this.a.call(this);\n };\n const b = extendWithReflect(a);\n b.prototype.a = function () { };\n return new b();\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n }\n catch (error) {\n return (constructor) => class extended extends constructor {\n };\n }\n})();\n\nfunction blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor),\n };\n}\n\nclass Module {\n constructor(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n get identifier() {\n return this.definition.identifier;\n }\n get controllerConstructor() {\n return this.definition.controllerConstructor;\n }\n get contexts() {\n return Array.from(this.connectedContexts);\n }\n connectContextForScope(scope) {\n const context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n }\n disconnectContextForScope(scope) {\n const context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n }\n fetchContextForScope(scope) {\n let context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n }\n}\n\nclass ClassMap {\n constructor(scope) {\n this.scope = scope;\n }\n has(name) {\n return this.data.has(this.getDataKey(name));\n }\n get(name) {\n return this.getAll(name)[0];\n }\n getAll(name) {\n const tokenString = this.data.get(this.getDataKey(name)) || \"\";\n return tokenize(tokenString);\n }\n getAttributeName(name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n }\n getDataKey(name) {\n return `${name}-class`;\n }\n get data() {\n return this.scope.data;\n }\n}\n\nclass DataMap {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n }\n set(key, value) {\n const name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n }\n has(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n }\n delete(key) {\n if (this.has(key)) {\n const name = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name);\n return true;\n }\n else {\n return false;\n }\n }\n getAttributeNameForKey(key) {\n return `data-${this.identifier}-${dasherize(key)}`;\n }\n}\n\nclass Guide {\n constructor(logger) {\n this.warnedKeysByObject = new WeakMap();\n this.logger = logger;\n }\n warn(object, key, message) {\n let warnedKeys = this.warnedKeysByObject.get(object);\n if (!warnedKeys) {\n warnedKeys = new Set();\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n }\n}\n\nfunction attributeValueContainsToken(attributeName, token) {\n return `[${attributeName}~=\"${token}\"]`;\n}\n\nclass TargetSet {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(targetName) {\n return this.find(targetName) != null;\n }\n find(...targetNames) {\n return targetNames.reduce((target, targetName) => target || this.findTarget(targetName) || this.findLegacyTarget(targetName), undefined);\n }\n findAll(...targetNames) {\n return targetNames.reduce((targets, targetName) => [\n ...targets,\n ...this.findAllTargets(targetName),\n ...this.findAllLegacyTargets(targetName),\n ], []);\n }\n findTarget(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n }\n findAllTargets(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n }\n getSelectorForTargetName(targetName) {\n const attributeName = this.schema.targetAttributeForScope(this.identifier);\n return attributeValueContainsToken(attributeName, targetName);\n }\n findLegacyTarget(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n }\n findAllLegacyTargets(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map((element) => this.deprecate(element, targetName));\n }\n getLegacySelectorForTargetName(targetName) {\n const targetDescriptor = `${this.identifier}.${targetName}`;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n }\n deprecate(element, targetName) {\n if (element) {\n const { identifier } = this;\n const attributeName = this.schema.targetAttribute;\n const revisedAttributeName = this.schema.targetAttributeForScope(identifier);\n this.guide.warn(element, `target:${targetName}`, `Please replace ${attributeName}=\"${identifier}.${targetName}\" with ${revisedAttributeName}=\"${targetName}\". ` +\n `The ${attributeName} attribute is deprecated and will be removed in a future version of Stimulus.`);\n }\n return element;\n }\n get guide() {\n return this.scope.guide;\n }\n}\n\nclass OutletSet {\n constructor(scope, controllerElement) {\n this.scope = scope;\n this.controllerElement = controllerElement;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(outletName) {\n return this.find(outletName) != null;\n }\n find(...outletNames) {\n return outletNames.reduce((outlet, outletName) => outlet || this.findOutlet(outletName), undefined);\n }\n findAll(...outletNames) {\n return outletNames.reduce((outlets, outletName) => [...outlets, ...this.findAllOutlets(outletName)], []);\n }\n getSelectorForOutletName(outletName) {\n const attributeName = this.schema.outletAttributeForScope(this.identifier, outletName);\n return this.controllerElement.getAttribute(attributeName);\n }\n findOutlet(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n if (selector)\n return this.findElement(selector, outletName);\n }\n findAllOutlets(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n return selector ? this.findAllElements(selector, outletName) : [];\n }\n findElement(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName))[0];\n }\n findAllElements(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName));\n }\n matchesElement(element, selector, outletName) {\n const controllerAttribute = element.getAttribute(this.scope.schema.controllerAttribute) || \"\";\n return element.matches(selector) && controllerAttribute.split(\" \").includes(outletName);\n }\n}\n\nclass Scope {\n constructor(schema, element, identifier, logger) {\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n this.containsElement = (element) => {\n return element.closest(this.controllerSelector) === this.element;\n };\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n this.outlets = new OutletSet(this.documentScope, element);\n }\n findElement(selector) {\n return this.element.matches(selector) ? this.element : this.queryElements(selector).find(this.containsElement);\n }\n findAllElements(selector) {\n return [\n ...(this.element.matches(selector) ? [this.element] : []),\n ...this.queryElements(selector).filter(this.containsElement),\n ];\n }\n queryElements(selector) {\n return Array.from(this.element.querySelectorAll(selector));\n }\n get controllerSelector() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n }\n get isDocumentScope() {\n return this.element === document.documentElement;\n }\n get documentScope() {\n return this.isDocumentScope\n ? this\n : new Scope(this.schema, document.documentElement, this.identifier, this.guide.logger);\n }\n}\n\nclass ScopeObserver {\n constructor(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n start() {\n this.valueListObserver.start();\n }\n stop() {\n this.valueListObserver.stop();\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n parseValueForToken(token) {\n const { element, content: identifier } = token;\n return this.parseValueForElementAndIdentifier(element, identifier);\n }\n parseValueForElementAndIdentifier(element, identifier) {\n const scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n let scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n }\n elementMatchedValue(element, value) {\n const referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n }\n elementUnmatchedValue(element, value) {\n const referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n }\n fetchScopesByIdentifierForElement(element) {\n let scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n }\n}\n\nclass Router {\n constructor(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n get element() {\n return this.application.element;\n }\n get schema() {\n return this.application.schema;\n }\n get logger() {\n return this.application.logger;\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n get modules() {\n return Array.from(this.modulesByIdentifier.values());\n }\n get contexts() {\n return this.modules.reduce((contexts, module) => contexts.concat(module.contexts), []);\n }\n start() {\n this.scopeObserver.start();\n }\n stop() {\n this.scopeObserver.stop();\n }\n loadDefinition(definition) {\n this.unloadIdentifier(definition.identifier);\n const module = new Module(this.application, definition);\n this.connectModule(module);\n const afterLoad = definition.controllerConstructor.afterLoad;\n if (afterLoad) {\n afterLoad.call(definition.controllerConstructor, definition.identifier, this.application);\n }\n }\n unloadIdentifier(identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n }\n getContextForElementAndIdentifier(element, identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find((context) => context.element == element);\n }\n }\n proposeToConnectScopeForElementAndIdentifier(element, identifier) {\n const scope = this.scopeObserver.parseValueForElementAndIdentifier(element, identifier);\n if (scope) {\n this.scopeObserver.elementMatchedValue(scope.element, scope);\n }\n else {\n console.error(`Couldn't find or create scope for identifier: \"${identifier}\" and element:`, element);\n }\n }\n handleError(error, message, detail) {\n this.application.handleError(error, message, detail);\n }\n createScopeForElementAndIdentifier(element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n }\n scopeConnected(scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n }\n scopeDisconnected(scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }\n connectModule(module) {\n this.modulesByIdentifier.set(module.identifier, module);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.connectContextForScope(scope));\n }\n disconnectModule(module) {\n this.modulesByIdentifier.delete(module.identifier);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.disconnectContextForScope(scope));\n }\n}\n\nconst defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\",\n targetAttributeForScope: (identifier) => `data-${identifier}-target`,\n outletAttributeForScope: (identifier, outlet) => `data-${identifier}-${outlet}-outlet`,\n keyMappings: Object.assign(Object.assign({ enter: \"Enter\", tab: \"Tab\", esc: \"Escape\", space: \" \", up: \"ArrowUp\", down: \"ArrowDown\", left: \"ArrowLeft\", right: \"ArrowRight\", home: \"Home\", end: \"End\", page_up: \"PageUp\", page_down: \"PageDown\" }, objectFromEntries(\"abcdefghijklmnopqrstuvwxyz\".split(\"\").map((c) => [c, c]))), objectFromEntries(\"0123456789\".split(\"\").map((n) => [n, n]))),\n};\nfunction objectFromEntries(array) {\n return array.reduce((memo, [k, v]) => (Object.assign(Object.assign({}, memo), { [k]: v })), {});\n}\n\nclass Application {\n constructor(element = document.documentElement, schema = defaultSchema) {\n this.logger = console;\n this.debug = false;\n this.logDebugActivity = (identifier, functionName, detail = {}) => {\n if (this.debug) {\n this.logFormattedMessage(identifier, functionName, detail);\n }\n };\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n this.actionDescriptorFilters = Object.assign({}, defaultActionDescriptorFilters);\n }\n static start(element, schema) {\n const application = new this(element, schema);\n application.start();\n return application;\n }\n async start() {\n await domReady();\n this.logDebugActivity(\"application\", \"starting\");\n this.dispatcher.start();\n this.router.start();\n this.logDebugActivity(\"application\", \"start\");\n }\n stop() {\n this.logDebugActivity(\"application\", \"stopping\");\n this.dispatcher.stop();\n this.router.stop();\n this.logDebugActivity(\"application\", \"stop\");\n }\n register(identifier, controllerConstructor) {\n this.load({ identifier, controllerConstructor });\n }\n registerActionOption(name, filter) {\n this.actionDescriptorFilters[name] = filter;\n }\n load(head, ...rest) {\n const definitions = Array.isArray(head) ? head : [head, ...rest];\n definitions.forEach((definition) => {\n if (definition.controllerConstructor.shouldLoad) {\n this.router.loadDefinition(definition);\n }\n });\n }\n unload(head, ...rest) {\n const identifiers = Array.isArray(head) ? head : [head, ...rest];\n identifiers.forEach((identifier) => this.router.unloadIdentifier(identifier));\n }\n get controllers() {\n return this.router.contexts.map((context) => context.controller);\n }\n getControllerForElementAndIdentifier(element, identifier) {\n const context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }\n handleError(error, message, detail) {\n var _a;\n this.logger.error(`%s\\n\\n%o\\n\\n%o`, message, error, detail);\n (_a = window.onerror) === null || _a === void 0 ? void 0 : _a.call(window, message, \"\", 0, 0, error);\n }\n logFormattedMessage(identifier, functionName, detail = {}) {\n detail = Object.assign({ application: this }, detail);\n this.logger.groupCollapsed(`${identifier} #${functionName}`);\n this.logger.log(\"details:\", Object.assign({}, detail));\n this.logger.groupEnd();\n }\n}\nfunction domReady() {\n return new Promise((resolve) => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", () => resolve());\n }\n else {\n resolve();\n }\n });\n}\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const { classes } = this;\n if (classes.has(key)) {\n return classes.get(key);\n }\n else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n },\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n },\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n },\n },\n };\n}\n\nfunction OutletPropertiesBlessing(constructor) {\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n return outlets.reduce((properties, outletDefinition) => {\n return Object.assign(properties, propertiesForOutletDefinition(outletDefinition));\n }, {});\n}\nfunction getOutletController(controller, element, identifier) {\n return controller.application.getControllerForElementAndIdentifier(element, identifier);\n}\nfunction getControllerAndEnsureConnectedScope(controller, element, outletName) {\n let outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n controller.application.router.proposeToConnectScopeForElementAndIdentifier(element, outletName);\n outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n}\nfunction propertiesForOutletDefinition(name) {\n const camelizedName = namespaceCamelize(name);\n return {\n [`${camelizedName}Outlet`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n throw new Error(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`);\n }\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n },\n },\n [`${camelizedName}Outlets`]: {\n get() {\n const outlets = this.outlets.findAll(name);\n if (outlets.length > 0) {\n return outlets\n .map((outletElement) => {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n console.warn(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`, outletElement);\n })\n .filter((controller) => controller);\n }\n return [];\n },\n },\n [`${camelizedName}OutletElement`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n return outletElement;\n }\n else {\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n }\n },\n },\n [`${camelizedName}OutletElements`]: {\n get() {\n return this.outlets.findAll(name);\n },\n },\n [`has${capitalize(camelizedName)}Outlet`]: {\n get() {\n return this.outlets.has(name);\n },\n },\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n if (target) {\n return target;\n }\n else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n },\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n },\n },\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair, this.identifier);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, { [attributeName]: valueDescriptor });\n }, {});\n },\n },\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\nfunction propertiesForValueDefinitionPair(valueDefinitionPair, controller) {\n const definition = parseValueDefinitionPair(valueDefinitionPair, controller);\n const { key, name, reader: read, writer: write } = definition;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n if (value !== null) {\n return read(value);\n }\n else {\n return definition.defaultValue;\n }\n },\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n }\n else {\n this.data.set(key, write(value));\n }\n },\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n },\n },\n };\n}\nfunction parseValueDefinitionPair([token, typeDefinition], controller) {\n return valueDescriptorForTokenAndTypeDefinition({\n controller,\n token,\n typeDefinition,\n });\n}\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array:\n return \"array\";\n case Boolean:\n return \"boolean\";\n case Number:\n return \"number\";\n case Object:\n return \"object\";\n case String:\n return \"string\";\n }\n}\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\":\n return \"boolean\";\n case \"number\":\n return \"number\";\n case \"string\":\n return \"string\";\n }\n if (Array.isArray(defaultValue))\n return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\")\n return \"object\";\n}\nfunction parseValueTypeObject(payload) {\n const { controller, token, typeObject } = payload;\n const hasType = isSomething(typeObject.type);\n const hasDefault = isSomething(typeObject.default);\n const fullObject = hasType && hasDefault;\n const onlyType = hasType && !hasDefault;\n const onlyDefault = !hasType && hasDefault;\n const typeFromObject = parseValueTypeConstant(typeObject.type);\n const typeFromDefaultValue = parseValueTypeDefault(payload.typeObject.default);\n if (onlyType)\n return typeFromObject;\n if (onlyDefault)\n return typeFromDefaultValue;\n if (typeFromObject !== typeFromDefaultValue) {\n const propertyPath = controller ? `${controller}.${token}` : token;\n throw new Error(`The specified default value for the Stimulus Value \"${propertyPath}\" must match the defined type \"${typeFromObject}\". The provided default value of \"${typeObject.default}\" is of type \"${typeFromDefaultValue}\".`);\n }\n if (fullObject)\n return typeFromObject;\n}\nfunction parseValueTypeDefinition(payload) {\n const { controller, token, typeDefinition } = payload;\n const typeObject = { controller, token, typeObject: typeDefinition };\n const typeFromObject = parseValueTypeObject(typeObject);\n const typeFromDefaultValue = parseValueTypeDefault(typeDefinition);\n const typeFromConstant = parseValueTypeConstant(typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type)\n return type;\n const propertyPath = controller ? `${controller}.${typeDefinition}` : token;\n throw new Error(`Unknown value type \"${propertyPath}\" for \"${token}\" value`);\n}\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant)\n return defaultValuesByType[constant];\n const hasDefault = hasProperty(typeDefinition, \"default\");\n const hasType = hasProperty(typeDefinition, \"type\");\n const typeObject = typeDefinition;\n if (hasDefault)\n return typeObject.default;\n if (hasType) {\n const { type } = typeObject;\n const constantFromType = parseValueTypeConstant(type);\n if (constantFromType)\n return defaultValuesByType[constantFromType];\n }\n return typeDefinition;\n}\nfunction valueDescriptorForTokenAndTypeDefinition(payload) {\n const { token, typeDefinition } = payload;\n const key = `${dasherize(token)}-value`;\n const type = parseValueTypeDefinition(payload);\n return {\n type,\n key,\n name: camelize(key),\n get defaultValue() {\n return defaultValueForDefinition(typeDefinition);\n },\n get hasCustomDefaultValue() {\n return parseValueTypeDefault(typeDefinition) !== undefined;\n },\n reader: readers[type],\n writer: writers[type] || writers.default,\n };\n}\nconst defaultValuesByType = {\n get array() {\n return [];\n },\n boolean: false,\n number: 0,\n get object() {\n return {};\n },\n string: \"\",\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n if (!Array.isArray(array)) {\n throw new TypeError(`expected value of type \"array\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(array)}\"`);\n }\n return array;\n },\n boolean(value) {\n return !(value == \"0\" || String(value).toLowerCase() == \"false\");\n },\n number(value) {\n return Number(value.replace(/_/g, \"\"));\n },\n object(value) {\n const object = JSON.parse(value);\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(`expected value of type \"object\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(object)}\"`);\n }\n return object;\n },\n string(value) {\n return value;\n },\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON,\n};\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n static get shouldLoad() {\n return true;\n }\n static afterLoad(_identifier, _application) {\n return;\n }\n get application() {\n return this.context.application;\n }\n get scope() {\n return this.context.scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get targets() {\n return this.scope.targets;\n }\n get outlets() {\n return this.scope.outlets;\n }\n get classes() {\n return this.scope.classes;\n }\n get data() {\n return this.scope.data;\n }\n initialize() {\n }\n connect() {\n }\n disconnect() {\n }\n dispatch(eventName, { target = this.element, detail = {}, prefix = this.identifier, bubbles = true, cancelable = true, } = {}) {\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, { detail, bubbles, cancelable });\n target.dispatchEvent(event);\n return event;\n }\n}\nController.blessings = [\n ClassPropertiesBlessing,\n TargetPropertiesBlessing,\n ValuePropertiesBlessing,\n OutletPropertiesBlessing,\n];\nController.targets = [];\nController.outlets = [];\nController.values = {};\n\nexport { Application, AttributeObserver, Context, Controller, ElementObserver, IndexedMultimap, Multimap, SelectorObserver, StringMapObserver, TokenListObserver, ValueListObserver, add, defaultSchema, del, fetch, prune };\n","/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","//\n// strftime\n// github.com/samsonjs/strftime\n// @_sjs\n//\n// Copyright 2010 - 2021 Sami Samhuri \n//\n// MIT License\n// http://sjs.mit-license.org\n//\n\n;(function() {\n\n var Locales = {\n de_DE: {\n identifier: 'de-DE',\n days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],\n shortDays: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n months: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],\n shortMonths: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d.%m.%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n en_CA: {\n identifier: 'en-CA',\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],\n shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n ordinalSuffixes: [\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st'\n ],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n },\n\n en_US: {\n identifier: 'en-US',\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],\n shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n ordinalSuffixes: [\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st'\n ],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%m/%d/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n },\n\n es_MX: {\n identifier: 'es-MX',\n days: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],\n shortDays: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'],\n months: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre',' diciembre'],\n shortMonths: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n fr_FR: {\n identifier: 'fr-FR',\n days: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],\n shortDays: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],\n months: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],\n shortMonths: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n it_IT: {\n identifier: 'it-IT',\n days: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'],\n shortDays: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],\n months: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'],\n shortMonths: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n nl_NL: {\n identifier: 'nl-NL',\n days: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],\n shortDays: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],\n months: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],\n shortMonths: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n pt_BR: {\n identifier: 'pt-BR',\n days: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'],\n shortDays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'],\n months: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'],\n shortMonths: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n ru_RU: {\n identifier: 'ru-RU',\n days: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],\n shortDays: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],\n months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],\n shortMonths: ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X',\n D: '%d.%m.%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n tr_TR: {\n identifier: 'tr-TR',\n days: ['Pazar', 'Pazartesi', 'Salı','Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],\n shortDays: ['Paz', 'Pzt', 'Sal', 'Çrş', 'Prş', 'Cum', 'Cts'],\n months: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],\n shortMonths: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],\n AM: 'ÖÖ',\n PM: 'ÖS',\n am: 'ÖÖ',\n pm: 'ÖS',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n // By michaeljayt\n // https://github.com/michaeljayt/strftime/commit/bcb4c12743811d51e568175aa7bff3fd2a77cef3\n zh_CN: {\n identifier: 'zh-CN',\n days: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],\n shortDays: ['日', '一', '二', '三', '四', '五', '六'],\n months: ['一月份', '二月份', '三月份', '四月份', '五月份', '六月份', '七月份', '八月份', '九月份', '十月份', '十一月份', '十二月份'],\n shortMonths: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],\n AM: '上午',\n PM: '下午',\n am: '上午',\n pm: '下午',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n }\n };\n\n var DefaultLocale = Locales['en_US'],\n defaultStrftime = new Strftime(DefaultLocale, 0, false),\n isCommonJS = typeof module !== 'undefined',\n namespace;\n\n // CommonJS / Node module\n if (isCommonJS) {\n namespace = module.exports = defaultStrftime;\n }\n // Browsers and other environments\n else {\n // Get the global object. Works in ES3, ES5, and ES5 strict mode.\n namespace = (function() { return this || (1,eval)('this'); }());\n namespace.strftime = defaultStrftime;\n }\n\n // Polyfill Date.now for old browsers.\n if (typeof Date.now !== 'function') {\n Date.now = function() {\n return +new Date();\n };\n }\n\n function Strftime(locale, customTimezoneOffset, useUtcTimezone) {\n var _locale = locale || DefaultLocale,\n _customTimezoneOffset = customTimezoneOffset || 0,\n _useUtcBasedDate = useUtcTimezone || false,\n\n // we store unix timestamp value here to not create new Date() each iteration (each millisecond)\n // Date.now() is 2 times faster than new Date()\n // while millisecond precise is enough here\n // this could be very helpful when strftime triggered a lot of times one by one\n _cachedDateTimestamp = 0,\n _cachedDate;\n\n function _strftime(format, date) {\n var timestamp;\n\n if (!date) {\n var currentTimestamp = Date.now();\n if (currentTimestamp > _cachedDateTimestamp) {\n _cachedDateTimestamp = currentTimestamp;\n _cachedDate = new Date(_cachedDateTimestamp);\n\n timestamp = _cachedDateTimestamp;\n\n if (_useUtcBasedDate) {\n // how to avoid duplication of date instantiation for utc here?\n // we tied to getTimezoneOffset of the current date\n _cachedDate = new Date(_cachedDateTimestamp + getTimestampToUtcOffsetFor(_cachedDate) + _customTimezoneOffset);\n }\n }\n else {\n timestamp = _cachedDateTimestamp;\n }\n date = _cachedDate;\n }\n else {\n timestamp = date.getTime();\n\n if (_useUtcBasedDate) {\n var utcOffset = getTimestampToUtcOffsetFor(date);\n date = new Date(timestamp + utcOffset + _customTimezoneOffset);\n // If we've crossed a DST boundary with this calculation we need to\n // adjust the new date accordingly or it will be off by an hour in UTC.\n if (getTimestampToUtcOffsetFor(date) !== utcOffset) {\n var newUTCOffset = getTimestampToUtcOffsetFor(date);\n date = new Date(timestamp + newUTCOffset + _customTimezoneOffset);\n }\n }\n }\n\n return _processFormat(format, date, _locale, timestamp);\n }\n\n function _processFormat(format, date, locale, timestamp) {\n var resultString = '',\n padding = null,\n isInScope = false,\n length = format.length,\n extendedTZ = false;\n\n for (var i = 0; i < length; i++) {\n\n var currentCharCode = format.charCodeAt(i);\n\n if (isInScope === true) {\n // '-'\n if (currentCharCode === 45) {\n padding = '';\n continue;\n }\n // '_'\n else if (currentCharCode === 95) {\n padding = ' ';\n continue;\n }\n // '0'\n else if (currentCharCode === 48) {\n padding = '0';\n continue;\n }\n // ':'\n else if (currentCharCode === 58) {\n if (extendedTZ) {\n warn(\"[WARNING] detected use of unsupported %:: or %::: modifiers to strftime\");\n }\n extendedTZ = true;\n continue;\n }\n\n switch (currentCharCode) {\n\n // Examples for new Date(0) in GMT\n\n // '%'\n // case '%':\n case 37:\n resultString += '%';\n break;\n\n // 'Thursday'\n // case 'A':\n case 65:\n resultString += locale.days[date.getDay()];\n break;\n\n // 'January'\n // case 'B':\n case 66:\n resultString += locale.months[date.getMonth()];\n break;\n\n // '19'\n // case 'C':\n case 67:\n resultString += padTill2(Math.floor(date.getFullYear() / 100), padding);\n break;\n\n // '01/01/70'\n // case 'D':\n case 68:\n resultString += _processFormat(locale.formats.D, date, locale, timestamp);\n break;\n\n // '1970-01-01'\n // case 'F':\n case 70:\n resultString += _processFormat(locale.formats.F, date, locale, timestamp);\n break;\n\n // '00'\n // case 'H':\n case 72:\n resultString += padTill2(date.getHours(), padding);\n break;\n\n // '12'\n // case 'I':\n case 73:\n resultString += padTill2(hours12(date.getHours()), padding);\n break;\n\n // '000'\n // case 'L':\n case 76:\n resultString += padTill3(Math.floor(timestamp % 1000));\n break;\n\n // '00'\n // case 'M':\n case 77:\n resultString += padTill2(date.getMinutes(), padding);\n break;\n\n // 'am'\n // case 'P':\n case 80:\n resultString += date.getHours() < 12 ? locale.am : locale.pm;\n break;\n\n // '00:00'\n // case 'R':\n case 82:\n resultString += _processFormat(locale.formats.R, date, locale, timestamp);\n break;\n\n // '00'\n // case 'S':\n case 83:\n resultString += padTill2(date.getSeconds(), padding);\n break;\n\n // '00:00:00'\n // case 'T':\n case 84:\n resultString += _processFormat(locale.formats.T, date, locale, timestamp);\n break;\n\n // '00'\n // case 'U':\n case 85:\n resultString += padTill2(weekNumber(date, 'sunday'), padding);\n break;\n\n // '00'\n // case 'W':\n case 87:\n resultString += padTill2(weekNumber(date, 'monday'), padding);\n break;\n\n // '16:00:00'\n // case 'X':\n case 88:\n resultString += _processFormat(locale.formats.X, date, locale, timestamp);\n break;\n\n // '1970'\n // case 'Y':\n case 89:\n resultString += date.getFullYear();\n break;\n\n // 'GMT'\n // case 'Z':\n case 90:\n if (_useUtcBasedDate && _customTimezoneOffset === 0) {\n resultString += \"GMT\";\n }\n else {\n var tzName = getTimezoneName(date);\n resultString += tzName || '';\n }\n break;\n\n // 'Thu'\n // case 'a':\n case 97:\n resultString += locale.shortDays[date.getDay()];\n break;\n\n // 'Jan'\n // case 'b':\n case 98:\n resultString += locale.shortMonths[date.getMonth()];\n break;\n\n // ''\n // case 'c':\n case 99:\n resultString += _processFormat(locale.formats.c, date, locale, timestamp);\n break;\n\n // '01'\n // case 'd':\n case 100:\n resultString += padTill2(date.getDate(), padding);\n break;\n\n // ' 1'\n // case 'e':\n case 101:\n resultString += padTill2(date.getDate(), padding == null ? ' ' : padding);\n break;\n\n // 'Jan'\n // case 'h':\n case 104:\n resultString += locale.shortMonths[date.getMonth()];\n break;\n\n // '000'\n // case 'j':\n case 106:\n var y = new Date(date.getFullYear(), 0, 1);\n var day = Math.ceil((date.getTime() - y.getTime()) / (1000 * 60 * 60 * 24));\n resultString += padTill3(day);\n break;\n\n // ' 0'\n // case 'k':\n case 107:\n resultString += padTill2(date.getHours(), padding == null ? ' ' : padding);\n break;\n\n // '12'\n // case 'l':\n case 108:\n resultString += padTill2(hours12(date.getHours()), padding == null ? ' ' : padding);\n break;\n\n // '01'\n // case 'm':\n case 109:\n resultString += padTill2(date.getMonth() + 1, padding);\n break;\n\n // '\\n'\n // case 'n':\n case 110:\n resultString += '\\n';\n break;\n\n // '1st'\n // case 'o':\n case 111:\n // Try to use an ordinal suffix from the locale, but fall back to using the old\n // function for compatibility with old locales that lack them.\n var day = date.getDate();\n if (locale.ordinalSuffixes) {\n resultString += String(day) + (locale.ordinalSuffixes[day - 1] || ordinal(day));\n }\n else {\n resultString += String(day) + ordinal(day);\n }\n break;\n\n // 'AM'\n // case 'p':\n case 112:\n resultString += date.getHours() < 12 ? locale.AM : locale.PM;\n break;\n\n // '12:00:00 AM'\n // case 'r':\n case 114:\n resultString += _processFormat(locale.formats.r, date, locale, timestamp);\n break;\n\n // '0'\n // case 's':\n case 115:\n resultString += Math.floor(timestamp / 1000);\n break;\n\n // '\\t'\n // case 't':\n case 116:\n resultString += '\\t';\n break;\n\n // '4'\n // case 'u':\n case 117:\n var day = date.getDay();\n resultString += day === 0 ? 7 : day;\n break; // 1 - 7, Monday is first day of the week\n\n // ' 1-Jan-1970'\n // case 'v':\n case 118:\n resultString += _processFormat(locale.formats.v, date, locale, timestamp);\n break;\n\n // '4'\n // case 'w':\n case 119:\n resultString += date.getDay();\n break; // 0 - 6, Sunday is first day of the week\n\n // '12/31/69'\n // case 'x':\n case 120:\n resultString += _processFormat(locale.formats.x, date, locale, timestamp);\n break;\n\n // '70'\n // case 'y':\n case 121:\n resultString += ('' + date.getFullYear()).slice(2);\n break;\n\n // '+0000'\n // case 'z':\n case 122:\n if (_useUtcBasedDate && _customTimezoneOffset === 0) {\n resultString += extendedTZ ? \"+00:00\" : \"+0000\";\n }\n else {\n var off;\n if (_customTimezoneOffset !== 0) {\n off = _customTimezoneOffset / (60 * 1000);\n }\n else {\n off = -date.getTimezoneOffset();\n }\n var sign = off < 0 ? '-' : '+';\n var sep = extendedTZ ? ':' : '';\n var hours = Math.floor(Math.abs(off / 60));\n var mins = Math.abs(off % 60);\n resultString += sign + padTill2(hours) + sep + padTill2(mins);\n }\n break;\n\n default:\n if (isInScope) {\n resultString += '%';\n }\n resultString += format[i];\n break;\n }\n\n padding = null;\n isInScope = false;\n continue;\n }\n\n // '%'\n if (currentCharCode === 37) {\n isInScope = true;\n continue;\n }\n\n resultString += format[i];\n }\n\n return resultString;\n }\n\n var strftime = _strftime;\n\n strftime.localize = function(locale) {\n return new Strftime(locale || _locale, _customTimezoneOffset, _useUtcBasedDate);\n };\n\n strftime.localizeByIdentifier = function(localeIdentifier) {\n var locale = Locales[localeIdentifier];\n if (!locale) {\n warn('[WARNING] No locale found with identifier \"' + localeIdentifier + '\".');\n return strftime;\n }\n return strftime.localize(locale);\n };\n\n strftime.timezone = function(timezone) {\n var customTimezoneOffset = _customTimezoneOffset;\n var useUtcBasedDate = _useUtcBasedDate;\n\n var timezoneType = typeof timezone;\n if (timezoneType === 'number' || timezoneType === 'string') {\n useUtcBasedDate = true;\n\n // ISO 8601 format timezone string, [-+]HHMM\n if (timezoneType === 'string') {\n var sign = timezone[0] === '-' ? -1 : 1,\n hours = parseInt(timezone.slice(1, 3), 10),\n minutes = parseInt(timezone.slice(3, 5), 10);\n\n customTimezoneOffset = sign * ((60 * hours) + minutes) * 60 * 1000;\n // in minutes: 420\n }\n else if (timezoneType === 'number') {\n customTimezoneOffset = timezone * 60 * 1000;\n }\n }\n\n return new Strftime(_locale, customTimezoneOffset, useUtcBasedDate);\n };\n\n strftime.utc = function() {\n return new Strftime(_locale, _customTimezoneOffset, true);\n };\n\n return strftime;\n }\n\n function padTill2(numberToPad, paddingChar) {\n if (paddingChar === '' || numberToPad > 9) {\n return numberToPad;\n }\n if (paddingChar == null) {\n paddingChar = '0';\n }\n return paddingChar + numberToPad;\n }\n\n function padTill3(numberToPad) {\n if (numberToPad > 99) {\n return numberToPad;\n }\n if (numberToPad > 9) {\n return '0' + numberToPad;\n }\n return '00' + numberToPad;\n }\n\n function hours12(hour) {\n if (hour === 0) {\n return 12;\n }\n else if (hour > 12) {\n return hour - 12;\n }\n return hour;\n }\n\n // firstWeekday: 'sunday' or 'monday', default is 'sunday'\n //\n // Pilfered & ported from Ruby's strftime implementation.\n function weekNumber(date, firstWeekday) {\n firstWeekday = firstWeekday || 'sunday';\n\n // This works by shifting the weekday back by one day if we\n // are treating Monday as the first day of the week.\n var weekday = date.getDay();\n if (firstWeekday === 'monday') {\n if (weekday === 0) // Sunday\n weekday = 6;\n else\n weekday--;\n }\n\n var firstDayOfYearUtc = Date.UTC(date.getFullYear(), 0, 1),\n dateUtc = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()),\n yday = Math.floor((dateUtc - firstDayOfYearUtc) / 86400000),\n weekNum = (yday + 7 - weekday) / 7;\n\n return Math.floor(weekNum);\n }\n\n // Get the ordinal suffix for a number: st, nd, rd, or th\n function ordinal(number) {\n var i = number % 10;\n var ii = number % 100;\n\n if ((ii >= 11 && ii <= 13) || i === 0 || i >= 4) {\n return 'th';\n }\n switch (i) {\n case 1: return 'st';\n case 2: return 'nd';\n case 3: return 'rd';\n }\n }\n\n function getTimestampToUtcOffsetFor(date) {\n return (date.getTimezoneOffset() || 0) * 60000;\n }\n\n // Tries to get a short timezone name using Date.toLocaleString, falling back on the platform default\n // using Date.toString if necessary.\n function getTimezoneName(date, localeIdentifier) {\n return getShortTimezoneName(date, localeIdentifier) || getDefaultTimezoneName(date);\n }\n\n // Unfortunately this returns GMT+2 when running with `TZ=Europe/Amsterdam node test.js` so it's not\n // perfect.\n function getShortTimezoneName(date, localeIdentifier) {\n if (localeIdentifier == null) return null;\n\n var tzString = date\n .toLocaleString(localeIdentifier, { timeZoneName: 'short' })\n .match(/\\s([\\w]+)$/);\n return tzString && tzString[1];\n }\n\n // This varies by platform so it's not an ideal way to get the time zone name. On most platforms it's\n // a short name but in Node v10+ and Chrome 66+ it's a long name now. Prefer getShortTimezoneName(date)\n // where possible.\n function getDefaultTimezoneName(date) {\n var tzString = date.toString().match(/\\(([\\w\\s]+)\\)/);\n return tzString && tzString[1];\n }\n\n function warn(message) {\n if (typeof console !== 'undefined' && typeof console.warn == 'function') {\n console.warn(message)\n }\n }\n\n}());\n","/**\n * Copyright (c) Nicolas Gallagher\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'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\n\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n\n return function styleq() {\n // Keep track of property commits to the className\n var definedProperties = []; // The className and inline style to build up\n\n var className = '';\n var inlineStyle = null; // The current position in the cache graph\n\n var nextCache = disableCache ? null : cache; // This way of creating an array from arguments is fastest\n\n var styles = new Array(arguments.length);\n\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n } // Iterate over styles from last to first\n\n\n while (styles.length > 0) {\n var possibleStyle = styles.pop(); // Skip empty items\n\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n } // Push nested styles back onto the stack to be processed\n\n\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n\n continue;\n } // Process an individual style object\n\n\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n\n if (style.$$css) {\n // Build up the class names defined by this object\n var classNameChunk = ''; // Check the cache to see if we've already done this work\n\n if (nextCache != null && nextCache.has(style)) {\n // Cache: read\n var cacheEntry = nextCache.get(style);\n\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0]; // $FlowIgnore\n\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[2];\n }\n } // Update the chunks with data from this object\n else {\n // The properties defined by this object\n var definedPropertiesChunk = [];\n\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) continue; // Each property value is used as an HTML class name\n // { 'debug.string': 'debug.string', opacity: 's-jskmnoqp' }\n\n if (typeof value === 'string' || value === null) {\n // Only add to chunks if this property hasn't already been seen\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } // If we encounter a value that isn't a string or `null`\n else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n } // Cache: write\n\n\n if (nextCache != null) {\n // Create the next WeakMap for this sequence of styles\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, weakMap]);\n nextCache = weakMap;\n }\n } // Order of classes in chunks matches property-iteration order of style\n // object. Order of chunks matches passed order of styles from first to\n // last (which we iterate over in reverse).\n\n\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } // ----- DYNAMIC: Process inline style object -----\n else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n\n for (var _prop in style) {\n var _value = style[_prop];\n\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n if (subStyle == null) {\n subStyle = {};\n }\n\n subStyle[_prop] = _value;\n }\n\n definedProperties.push(_prop); // Cache is unnecessary overhead if results can't be reused.\n\n nextCache = null;\n }\n }\n }\n\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n\n var styleProps = [className, inlineStyle];\n return styleProps;\n };\n}\n\nvar styleq = createStyleq();\nexports.styleq = styleq;\nstyleq.factory = createStyleq;","/**\n * Copyright (c) Nicolas Gallagher\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'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.localizeStyle = localizeStyle;\nvar cache = new WeakMap();\nvar markerProp = '$$css$localize';\n/**\n * The compiler polyfills logical properties and values, generating a class\n * name for both writing directions. The style objects are annotated by\n * the compiler as needing this runtime transform. The results are memoized.\n *\n * { '$$css$localize': true, float: [ 'float-left', 'float-right' ] }\n * => { float: 'float-left' }\n */\n\nfunction compileStyle(style, isRTL) {\n // Create a new compiled style for styleq\n var compiledStyle = {};\n\n for (var prop in style) {\n if (prop !== markerProp) {\n var value = style[prop];\n\n if (Array.isArray(value)) {\n compiledStyle[prop] = isRTL ? value[1] : value[0];\n } else {\n compiledStyle[prop] = value;\n }\n }\n }\n\n return compiledStyle;\n}\n\nfunction localizeStyle(style, isRTL) {\n if (style[markerProp] != null) {\n var compiledStyleIndex = isRTL ? 1 : 0; // Check the cache in case we've already seen this object\n\n if (cache.has(style)) {\n var _cachedStyles = cache.get(style);\n\n var _compiledStyle = _cachedStyles[compiledStyleIndex];\n\n if (_compiledStyle == null) {\n // Update the missing cache entry\n _compiledStyle = compileStyle(style, isRTL);\n _cachedStyles[compiledStyleIndex] = _compiledStyle;\n cache.set(style, _cachedStyles);\n }\n\n return _compiledStyle;\n } // Create a new compiled style for styleq\n\n\n var compiledStyle = compileStyle(style, isRTL);\n var cachedStyles = new Array(2);\n cachedStyles[compiledStyleIndex] = compiledStyle;\n cache.set(style, cachedStyles);\n return compiledStyle;\n }\n\n return style;\n}","/**\n * Copyright (c) Nicolas Gallagher\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\nmodule.exports = require('./dist/transform-localize-style');\n","var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n //\n // Note to future-self: No, you can't remove the `toLowerCase()` call.\n // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n var uuid = unsafeStringify(arr, offset);\n // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;","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 var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;","var timeout = 5000;\nvar lastTime = Date.now();\nvar callbacks = [];\n\nsetInterval(function() {\n var currentTime = Date.now();\n if (currentTime > (lastTime + timeout + 2000)) {\n callbacks.forEach(function (fn) {\n fn();\n });\n }\n lastTime = currentTime;\n}, timeout);\n\nmodule.exports = function (fn) {\n callbacks.push(fn);\n};\n","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return (module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(e) {\n if (\"function\" != typeof WeakMap) return null;\n var r = new WeakMap(),\n t = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {\n return e ? t : r;\n })(e);\n}\nfunction _interopRequireWildcard(e, r) {\n if (!r && e && e.__esModule) return e;\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return {\n \"default\": e\n };\n var t = _getRequireWildcardCache(r);\n if (t && t.has(e)) return t.get(e);\n var n = {\n __proto__: null\n },\n a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {\n var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;\n i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];\n }\n return n[\"default\"] = e, t && t.set(e, n), n;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var defineProperty = require(\"./defineProperty.js\");\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const ReadersWriterLock = require(\"./src/readers-writer-lock.cjs\")\n\nmodule.exports = {\n ReadersWriterLock\n}\n","module.exports = class ReadersWriterLock {\n constructor(args = {}) {\n this._debug = args.debug\n this._readers = 0\n this._writers = 0\n this._processQueueTimeout = null\n this._readQueue = []\n this._writeQueue = []\n }\n\n read(callback) {\n if (this._debug) this._log(\"read\")\n return new Promise((resolve, reject) => {\n this._readWithResolve({callback, resolve, reject})\n })\n }\n\n write(callback) {\n if (this._debug) this._log(\"write\")\n return new Promise((resolve, reject) => {\n this._writeWithResolve({callback, resolve, reject})\n })\n }\n\n _log(message) {\n console.log(\"ReadersWriteLock\", message, JSON.stringify({readers: this._readers, writers: this._writers}))\n }\n\n _readWithResolve(item) {\n if (this._writers > 0) {\n if (this._debug) this._log(\"Queue read\")\n this._readQueue.push(item)\n } else {\n if (this._debug) this._log(\"Process read\")\n this._processRead(item)\n }\n }\n\n _writeWithResolve(item) {\n if (this._readers > 0 || this._writers > 0) {\n if (this._debug) this._log(\"Queue write\")\n this._writeQueue.push(item)\n } else {\n if (this._debug) this._log(\"Process write\")\n this._processWrite(item)\n }\n }\n\n async _processRead(item) {\n this._readers++\n\n try {\n let result\n\n if (item.callback) result = await item.callback()\n await item.resolve(result)\n } catch (error) {\n item.reject(error)\n } finally {\n this._readers--\n this._processQueueLater()\n }\n }\n\n async _processWrite(item) {\n this._writers++\n\n try {\n let result\n\n if (item.callback) result = await item.callback()\n await item.resolve(result)\n } catch (error) {\n item.reject(error)\n } finally {\n this._writers--\n this._processQueueLater()\n }\n }\n\n // First execute anything waiting after having given the lock back to the original caller by executing at the end of the event-queue by timeout-hack\n _processQueueLater() {\n if (this._processQueueTimeout) {\n clearTimeout(this._processQueueTimeout)\n }\n\n this._processQueueTimeout = setTimeout(this._processQueue, 0)\n }\n\n _processQueue = () => {\n if (this._writers == 0) {\n // If no one has begun writing, we should try and proceed to next read item if any\n const readQueueItem = this._readQueue.shift()\n\n if (readQueueItem) {\n if (this._debug) this._log(\"Process next read\")\n this._processRead(readQueueItem)\n } else if (this._readers == 0) {\n // No writers, no next item to read - we should try and proceed to next write item if any\n const writeQueueItem = this._writeQueue.shift()\n\n if (writeQueueItem) {\n if (this._debug) this._log(\"Process next write\")\n this._processWrite(writeQueueItem)\n }\n }\n }\n }\n}\n","module.exports = class FormDataToObject {\n static toObject(formData) {\n const formDataToObject = new FormDataToObject(formData)\n return formDataToObject.toObject()\n }\n\n constructor(formData) {\n this.formData = formData\n }\n\n static formDataFromObject(object, options) {\n if (object instanceof FormData) {\n return object\n } else if (object.nodeName == \"FORM\") {\n if (options) options[\"form\"] = object\n\n return new FormData(object)\n } else {\n throw new Error(\"Didnt know how to get form data from that object\")\n }\n }\n\n toObject() {\n const result = {}\n\n for(const entry of this.formData.entries()) {\n const key = entry[0]\n const value = entry[1]\n\n this.treatInitial(key, value, result)\n }\n\n return result\n }\n\n treatInitial(key, value, result) {\n const firstMatch = key.match(/^(.+?)(\\[([\\s\\S]+$))/)\n\n if (firstMatch) {\n const inputName = firstMatch[1]\n const rest = firstMatch[2]\n\n let newResult\n\n if (inputName in result) {\n newResult = result[inputName]\n } else if (rest == \"[]\") {\n newResult = []\n result[inputName] = newResult\n } else {\n newResult = {}\n result[inputName] = newResult\n }\n\n this.treatSecond(value, rest, newResult)\n } else {\n result[key] = value\n }\n }\n\n treatSecond(value, rest, result) {\n const secondMatch = rest.match(/^\\[(.*?)\\]([\\s\\S]*)$/)\n const key = secondMatch[1]\n const newRest = secondMatch[2]\n\n let newResult\n\n if (rest == \"[]\") {\n result.push(value)\n } else if (newRest == \"\") {\n result[key] = value\n } else {\n if (typeof result == \"object\" && key in result) {\n newResult = result[key]\n } else if (newRest == \"[]\") {\n newResult = []\n result[key] = newResult\n } else {\n newResult = {}\n result[key] = newResult\n }\n\n this.treatSecond(value, newRest, newResult)\n }\n }\n}\n","module.exports = function numberable(number, {delimiter = \",\", precision = 2, separator = \".\"}) {\n // Fixed number of decimals to given precision and convert to string\n number = `${number.toFixed(precision)}`\n\n // Split whole number with decimals\n const numberParts = number.split(\".\")\n const wholeNumbers = numberParts[0]\n\n let decimals = numberParts[1]\n\n // Append decimals if there are fewer then decired\n while(decimals.length < precision) {\n decimals += \"0\"\n }\n\n // Add delimiters to the whole number\n let numberWithDelimiters = \"\"\n let location = wholeNumbers.length\n\n while(location >= 1) {\n if (numberWithDelimiters != \"\") {\n numberWithDelimiters = `${delimiter}${numberWithDelimiters}`\n }\n\n numberWithDelimiters = `${wholeNumbers.substring(location - 3, location)}${numberWithDelimiters}`\n location -= 3\n }\n\n return `${numberWithDelimiters}${separator}${decimals}`\n}\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar DefineOwnProperty = require('../helpers/DefineOwnProperty');\n\nvar FromPropertyDescriptor = require('./FromPropertyDescriptor');\nvar IsDataDescriptor = require('./IsDataDescriptor');\nvar IsPropertyKey = require('./IsPropertyKey');\nvar SameValue = require('./SameValue');\nvar Type = require('./Type');\n\n// https://262.ecma-international.org/6.0/#sec-createmethodproperty\n\nmodule.exports = function CreateMethodProperty(O, P, V) {\n\tif (Type(O) !== 'Object') {\n\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t}\n\n\tif (!IsPropertyKey(P)) {\n\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t}\n\n\tvar newDesc = {\n\t\t'[[Configurable]]': true,\n\t\t'[[Enumerable]]': false,\n\t\t'[[Value]]': V,\n\t\t'[[Writable]]': true\n\t};\n\treturn DefineOwnProperty(\n\t\tIsDataDescriptor,\n\t\tSameValue,\n\t\tFromPropertyDescriptor,\n\t\tO,\n\t\tP,\n\t\tnewDesc\n\t);\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar isPropertyDescriptor = require('../helpers/records/property-descriptor');\nvar fromPropertyDescriptor = require('../helpers/fromPropertyDescriptor');\n\n// https://262.ecma-international.org/6.0/#sec-frompropertydescriptor\n\nmodule.exports = function FromPropertyDescriptor(Desc) {\n\tif (typeof Desc !== 'undefined' && !isPropertyDescriptor(Desc)) {\n\t\tthrow new $TypeError('Assertion failed: `Desc` must be a Property Descriptor');\n\t}\n\n\treturn fromPropertyDescriptor(Desc);\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar hasOwn = require('hasown');\n\nvar isPropertyDescriptor = require('../helpers/records/property-descriptor');\n\n// https://262.ecma-international.org/5.1/#sec-8.10.2\n\nmodule.exports = function IsDataDescriptor(Desc) {\n\tif (typeof Desc === 'undefined') {\n\t\treturn false;\n\t}\n\n\tif (!isPropertyDescriptor(Desc)) {\n\t\tthrow new $TypeError('Assertion failed: `Desc` must be a Property Descriptor');\n\t}\n\n\tif (!hasOwn(Desc, '[[Value]]') && !hasOwn(Desc, '[[Writable]]')) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n","'use strict';\n\n// https://262.ecma-international.org/6.0/#sec-ispropertykey\n\nmodule.exports = function IsPropertyKey(argument) {\n\treturn typeof argument === 'string' || typeof argument === 'symbol';\n};\n","'use strict';\n\nvar $isNaN = require('../helpers/isNaN');\n\n// http://262.ecma-international.org/5.1/#sec-9.12\n\nmodule.exports = function SameValue(x, y) {\n\tif (x === y) { // 0 === -0, but they are not identical.\n\t\tif (x === 0) { return 1 / x === 1 / y; }\n\t\treturn true;\n\t}\n\treturn $isNaN(x) && $isNaN(y);\n};\n","'use strict';\n\nvar ES5Type = require('../5/Type');\n\n// https://262.ecma-international.org/11.0/#sec-ecmascript-data-types-and-values\n\nmodule.exports = function Type(x) {\n\tif (typeof x === 'symbol') {\n\t\treturn 'Symbol';\n\t}\n\tif (typeof x === 'bigint') {\n\t\treturn 'BigInt';\n\t}\n\treturn ES5Type(x);\n};\n","'use strict';\n\n// https://262.ecma-international.org/5.1/#sec-8\n\nmodule.exports = function Type(x) {\n\tif (x === null) {\n\t\treturn 'Null';\n\t}\n\tif (typeof x === 'undefined') {\n\t\treturn 'Undefined';\n\t}\n\tif (typeof x === 'function' || typeof x === 'object') {\n\t\treturn 'Object';\n\t}\n\tif (typeof x === 'number') {\n\t\treturn 'Number';\n\t}\n\tif (typeof x === 'boolean') {\n\t\treturn 'Boolean';\n\t}\n\tif (typeof x === 'string') {\n\t\treturn 'String';\n\t}\n};\n","'use strict';\n\nvar hasPropertyDescriptors = require('has-property-descriptors');\n\nvar $defineProperty = require('es-define-property');\n\nvar hasArrayLengthDefineBug = hasPropertyDescriptors.hasArrayLengthDefineBug();\n\n// eslint-disable-next-line global-require\nvar isArray = hasArrayLengthDefineBug && require('../helpers/IsArray');\n\nvar callBound = require('call-bind/callBound');\n\nvar $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');\n\n// eslint-disable-next-line max-params\nmodule.exports = function DefineOwnProperty(IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, desc) {\n\tif (!$defineProperty) {\n\t\tif (!IsDataDescriptor(desc)) {\n\t\t\t// ES3 does not support getters/setters\n\t\t\treturn false;\n\t\t}\n\t\tif (!desc['[[Configurable]]'] || !desc['[[Writable]]']) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// fallback for ES3\n\t\tif (P in O && $isEnumerable(O, P) !== !!desc['[[Enumerable]]']) {\n\t\t\t// a non-enumerable existing property\n\t\t\treturn false;\n\t\t}\n\n\t\t// property does not exist at all, or exists but is enumerable\n\t\tvar V = desc['[[Value]]'];\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tO[P] = V; // will use [[Define]]\n\t\treturn SameValue(O[P], V);\n\t}\n\tif (\n\t\thasArrayLengthDefineBug\n\t\t&& P === 'length'\n\t\t&& '[[Value]]' in desc\n\t\t&& isArray(O)\n\t\t&& O.length !== desc['[[Value]]']\n\t) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tO.length = desc['[[Value]]'];\n\t\treturn O.length === desc['[[Value]]'];\n\t}\n\n\t$defineProperty(O, P, FromPropertyDescriptor(desc));\n\treturn true;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $Array = GetIntrinsic('%Array%');\n\n// eslint-disable-next-line global-require\nvar toStr = !$Array.isArray && require('call-bind/callBound')('Object.prototype.toString');\n\nmodule.exports = $Array.isArray || function IsArray(argument) {\n\treturn toStr(argument) === '[object Array]';\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\n\nvar $ownKeys = GetIntrinsic('%Reflect.ownKeys%', true);\nvar $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));\nvar $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);\nvar $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);\nvar $gOPS = $SymbolValueOf ? GetIntrinsic('%Object.getOwnPropertySymbols%') : null;\n\nvar keys = require('object-keys');\n\nmodule.exports = $ownKeys || function OwnPropertyKeys(source) {\n\tvar ownKeys = ($gOPN || keys)(source);\n\tif ($gOPS) {\n\t\t$pushApply(ownKeys, $gOPS(source));\n\t}\n\treturn ownKeys;\n};\n","'use strict';\n\nmodule.exports = function fromPropertyDescriptor(Desc) {\n\tif (typeof Desc === 'undefined') {\n\t\treturn Desc;\n\t}\n\tvar obj = {};\n\tif ('[[Value]]' in Desc) {\n\t\tobj.value = Desc['[[Value]]'];\n\t}\n\tif ('[[Writable]]' in Desc) {\n\t\tobj.writable = !!Desc['[[Writable]]'];\n\t}\n\tif ('[[Get]]' in Desc) {\n\t\tobj.get = Desc['[[Get]]'];\n\t}\n\tif ('[[Set]]' in Desc) {\n\t\tobj.set = Desc['[[Set]]'];\n\t}\n\tif ('[[Enumerable]]' in Desc) {\n\t\tobj.enumerable = !!Desc['[[Enumerable]]'];\n\t}\n\tif ('[[Configurable]]' in Desc) {\n\t\tobj.configurable = !!Desc['[[Configurable]]'];\n\t}\n\treturn obj;\n};\n","'use strict';\n\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar hasOwn = require('hasown');\n\nvar allowed = {\n\t__proto__: null,\n\t'[[Configurable]]': true,\n\t'[[Enumerable]]': true,\n\t'[[Get]]': true,\n\t'[[Set]]': true,\n\t'[[Value]]': true,\n\t'[[Writable]]': true\n};\n\n// https://262.ecma-international.org/6.0/#sec-property-descriptor-specification-type\n\nmodule.exports = function isPropertyDescriptor(Desc) {\n\tif (!Desc || typeof Desc !== 'object') {\n\t\treturn false;\n\t}\n\n\tfor (var key in Desc) { // eslint-disable-line\n\t\tif (hasOwn(Desc, key) && !allowed[key]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tvar isData = hasOwn(Desc, '[[Value]]') || hasOwn(Desc, '[[Writable]]');\n\tvar IsAccessor = hasOwn(Desc, '[[Get]]') || hasOwn(Desc, '[[Set]]');\n\tif (isData && IsAccessor) {\n\t\tthrow new $TypeError('Property Descriptors may not be both accessor and data descriptors');\n\t}\n\treturn true;\n};\n","module.exports = function uniqunize(array, callback) {\n const valuesSeen = []\n const uniqueArray = []\n\n for (const index in array) {\n const value = callback ? callback(array[index]) : array[index]\n\n if (!valuesSeen.includes(value)) {\n valuesSeen.push(value)\n uniqueArray.push(array[index])\n }\n }\n\n return uniqueArray\n}\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import {digg} from \"diggerize\"\n\nconst errorMessages = (args) => {\n if (typeof args.response == \"object\") {\n return digg(args, \"response\", \"errors\").map((error) => {\n if (typeof error == \"string\") {\n return error\n }\n\n return digg(error, \"message\")\n })\n }\n}\n\nexport default errorMessages\n","import {dig, digg} from \"diggerize\"\nimport errorMessages from \"./error-messages.mjs\"\n\nexport default class BaseError extends Error {\n static apiMakerType = \"BaseError\"\n\n constructor (message, args = {}) {\n let messageToUse = message\n\n if (\"addResponseErrorsToErrorMessage\" in args && !args.addResponseErrorsToErrorMessage) {\n messageToUse = message\n } else {\n if (typeof args.response == \"object\" && dig(args, \"response\", \"errors\")) {\n if (message) {\n messageToUse = `${messageToUse}: ${errorMessages(args).join(\". \")}`\n } else {\n messageToUse = errorMessages(args).join(\". \")\n }\n }\n }\n\n super(messageToUse)\n this.args = args\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n if (Error.captureStackTrace) Error.captureStackTrace(this, BaseError)\n }\n\n errorMessages () {\n return errorMessages(this.args)\n }\n\n errorTypes () {\n if (typeof this.args.response == \"object\") {\n return digg(this, \"args\", \"response\", \"errors\").map((error) => digg(error, \"type\"))\n }\n }\n}\n","import {digg} from \"diggerize\"\n\nexport default class ApiMakerBaseModelColumn {\n constructor(columnData) {\n if (!columnData) {\n throw new Error(\"No column data was given\")\n }\n\n this.columnData = columnData\n }\n\n getType = () => digg(this, \"columnData\", \"type\")\n}\n","import Column from \"./column.mjs\"\nimport {digg} from \"diggerize\"\n\nexport default class ApiMakerBaseModelAttribute {\n constructor(attributeData) {\n this.attributeData = attributeData\n }\n\n getColumn() {\n if (!this.column) {\n const columnData = digg(this, \"attributeData\", \"column\")\n\n if (columnData) {\n this.column = new Column(columnData)\n }\n }\n\n return this.column\n }\n\n isColumn = () => Boolean(digg(this, \"attributeData\", \"column\"))\n\n isSelectedByDefault() {\n const isSelectedByDefault = digg(this, \"attributeData\", \"selected_by_default\")\n\n if (isSelectedByDefault || isSelectedByDefault === null) return true\n\n return false\n }\n\n isTranslated = () => digg(this, \"attributeData\", \"translated\")\n name = () => digg(this, \"attributeData\", \"name\")\n}\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"../model-class-require.mjs\"\n\nexport default class ApiMakerBaseModelReflection {\n constructor(reflectionData) {\n this.reflectionData = reflectionData\n }\n\n foreignKey = () => digg(this, \"reflectionData\", \"foreignKey\")\n macro = () => digg(this, \"reflectionData\", \"macro\")\n modelClass = () => modelClassRequire(inflection.singularize(inflection.camelize(digg(this, \"reflectionData\", \"resource_name\"))))\n name = () => inflection.camelize(digg(this, \"reflectionData\", \"name\"), true)\n through = () => digg(this, \"reflectionData\", \"through\")\n}\n","import {digg} from \"diggerize\"\nimport EventEmitter from \"events\"\nimport * as inflection from \"inflection\"\nimport {ReadersWriterLock} from \"epic-locks\"\nimport Services from \"./services.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerCanCan {\n abilities = []\n abilitiesToLoad = []\n abilitiesToLoadData = []\n events = new EventEmitter()\n lock = new ReadersWriterLock()\n\n static current () {\n if (!shared.currentApiMakerCanCan) shared.currentApiMakerCanCan = new ApiMakerCanCan()\n\n return shared.currentApiMakerCanCan\n }\n\n can (ability, subject) {\n let abilityToUse = inflection.underscore(ability)\n const foundAbility = this.findAbility(abilityToUse, subject)\n\n if (foundAbility === undefined) {\n let subjectLabel = subject\n\n // Translate resource-models into class name strings\n if (typeof subject == \"function\" && subject.modelClassData) {\n subjectLabel = digg(subject.modelClassData(), \"name\")\n }\n\n console.error(`Ability not loaded ${subjectLabel}#${abilityToUse}`, {abilities: this.abilities, ability, subject})\n\n return false\n } else {\n return digg(foundAbility, \"can\")\n }\n }\n\n findAbility (ability, subject) {\n return this.abilities.find((abilityData) => {\n const abilityDataSubject = digg(abilityData, \"subject\")\n const abilityDataAbility = digg(abilityData, \"ability\")\n\n if (abilityDataAbility == ability) {\n // If actually same class\n if (abilityDataSubject == subject) return true\n\n // Sometimes in dev when using linking it will actually be two different but identical resource classes\n if (\n typeof subject == \"function\" &&\n subject.modelClassData &&\n typeof abilityDataSubject == \"function\" &&\n abilityDataSubject.modelClassData &&\n digg(subject.modelClassData(), \"name\") == digg(abilityDataSubject.modelClassData(), \"name\")\n ) {\n return true\n }\n }\n\n return false\n })\n }\n\n isAbilityLoaded (ability, subject) {\n const foundAbility = this.findAbility(ability, subject)\n\n if (foundAbility !== undefined) {\n return true\n }\n\n return false\n }\n\n async loadAbilities (abilities) {\n await this.lock.read(async () => {\n const promises = []\n\n for (const abilityData of abilities) {\n const subject = abilityData[0]\n\n if (!subject) throw new Error(`Invalid subject given in abilities: ${subject} - ${JSON.stringify(abilities)}`)\n if (!Array.isArray(abilityData[1])) throw new Error(`Expected an array of abilities but got: ${typeof abilityData[1]}: ${abilityData[1]}`)\n\n for (const ability of abilityData[1]) {\n const promise = this.loadAbility(ability, subject)\n\n promises.push(promise)\n }\n }\n\n await Promise.all(promises)\n })\n }\n\n loadAbility (ability, subject) {\n return new Promise((resolve) => {\n ability = inflection.underscore(ability)\n\n if (this.isAbilityLoaded(ability, subject)) {\n resolve()\n return\n }\n\n const foundAbility = this.abilitiesToLoad.find((abilityToLoad) => digg(abilityToLoad, \"ability\") == ability && digg(abilityToLoad, \"subject\") == subject)\n\n if (foundAbility) {\n foundAbility.callbacks.push(resolve)\n } else {\n this.abilitiesToLoad.push({ability, callbacks: [resolve], subject})\n this.abilitiesToLoadData.push({ability, subject})\n\n this.queueAbilitiesRequest()\n }\n })\n }\n\n queueAbilitiesRequest () {\n if (this.queueAbilitiesRequestTimeout) {\n clearTimeout(this.queueAbilitiesRequestTimeout)\n }\n\n this.queueAbilitiesRequestTimeout = setTimeout(this.sendAbilitiesRequest, 0)\n }\n\n async resetAbilities () {\n await this.lock.write(() => {\n this.abilities = []\n })\n this.events.emit(\"onResetAbilities\")\n }\n\n sendAbilitiesRequest = async () => {\n const abilitiesToLoad = this.abilitiesToLoad\n const abilitiesToLoadData = this.abilitiesToLoadData\n\n this.abilitiesToLoad = []\n this.abilitiesToLoadData = []\n\n // Load abilities from backend\n const result = await Services.current().sendRequest(\"CanCan::LoadAbilities\", {\n request: abilitiesToLoadData\n })\n const abilities = digg(result, \"abilities\")\n\n // Set the loaded abilities\n this.abilities = this.abilities.concat(abilities)\n\n // Call the callbacks that are waiting for the ability to have been loaded\n for (const abilityData of abilitiesToLoad) {\n for (const callback of abilityData.callbacks) {\n callback()\n }\n }\n }\n}\n","import config from \"./config.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport Logger from \"./logger.mjs\"\nimport qs from \"qs\"\nimport SessionStatusUpdater from \"./session-status-updater.mjs\"\nimport urlEncode from \"./url-encode.mjs\"\n\nconst logger = new Logger({name: \"ApiMaker / Api\"})\n\n// logger.setDebug(true)\n\nexport default class Api {\n static get = async (path, pathParams = null) => await Api.requestLocal({path, pathParams, method: \"GET\"})\n static delete = async (path, pathParams = null) => await Api.requestLocal({path, pathParams, method: \"DELETE\"})\n static patch = async (path, data = {}) => await Api.requestLocal({path, data, method: \"PATCH\"})\n static post = async (path, data = {}) => await Api.requestLocal({path, data, method: \"POST\"})\n\n static async request({data, headers, method, path, pathParams}) {\n let requestPath = \"\"\n if (config.getHost()) requestPath += config.getHost()\n requestPath += path\n\n if (pathParams) {\n const pathParamsString = qs.stringify(pathParams, {arrayFormat: \"brackets\", encoder: urlEncode})\n requestPath += `?${pathParamsString}`\n }\n\n const xhr = new XMLHttpRequest()\n\n xhr.open(method, requestPath, true)\n xhr.withCredentials = true\n\n if (headers) {\n for (const headerName in headers) {\n xhr.setRequestHeader(headerName, headers[headerName])\n }\n }\n\n const response = await Api.executeXhr(xhr, data)\n\n return response\n }\n\n static executeXhr(xhr, data) {\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n const response = this._parseResponse(xhr)\n\n if (xhr.status == 200) {\n resolve(response)\n } else {\n const customError = new CustomError(`Request failed with code: ${xhr.status}`, {response, xhr})\n\n if (data instanceof FormData) {\n customError.peakflowParameters = FormDataObjectizer.toObject(data)\n } else {\n customError.peakflowParameters = data\n }\n\n reject(customError)\n }\n }\n\n xhr.send(data)\n })\n }\n\n static async requestLocal(args) {\n if (!args.headers) {\n args.headers = {}\n }\n\n const token = await this._token()\n\n logger.debug(() => `Got token: ${token}`)\n\n if (token) {\n args.headers[\"X-CSRF-Token\"] = token\n }\n\n if (args.data) {\n args.headers[\"Content-Type\"] = \"application/json\"\n args.data = JSON.stringify(args.data)\n }\n\n if (args.rawData) {\n args.data = args.rawData\n }\n\n return await this.request(args)\n }\n\n static async put(path, data = {}) {\n return await this.requestLocal({path, data, method: \"PUT\"})\n }\n\n static _token = async () => await SessionStatusUpdater.current().getCsrfToken()\n\n static _parseResponse(xhr) {\n const responseType = xhr.getResponseHeader(\"content-type\")\n\n if (responseType && responseType.startsWith(\"application/json\")) {\n return JSON.parse(xhr.responseText)\n } else {\n return xhr.responseText\n }\n }\n}\n","import objectToFormData from \"object-to-formdata\"\n\nexport default class ApiMakerCommandSubmitData {\n constructor (data) {\n this.data = data\n this.filesCount = 0\n this.jsonData = this.traverseObject(this.data, \"json\")\n }\n\n getFilesCount = () => this.filesCount\n getJsonData = () => this.jsonData\n\n getRawData () {\n if (!this.rawData) {\n this.rawData = this.traverseObject(this.data, \"raw\")\n }\n\n return this.rawData\n }\n\n getFormData () {\n const objectForFormData = this.getRawData() || {}\n\n objectForFormData.json = JSON.stringify(this.getJsonData())\n\n const formData = objectToFormData.serialize(objectForFormData)\n\n return formData\n }\n\n convertDynamic (value, type) {\n if (Array.isArray(value)) {\n return this.traverseArray(value, type)\n } else if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return this.traverseObject(value, type)\n } else {\n return value\n }\n }\n\n shouldSkip (object, type) {\n if (type == \"json\" && object instanceof File) {\n this.filesCount += 1\n return true\n }\n\n if (type == \"raw\" && !Array.isArray(object) && !this.isObject(object) && !(object instanceof File)) {\n return true\n }\n\n return false\n }\n\n isObject (value) {\n if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return true\n }\n\n return false\n }\n\n traverseArray (array, type) {\n const newArray = []\n\n for (const value of array) {\n if (this.shouldSkip(value, type)) {\n continue\n }\n\n if (Array.isArray(value)) {\n newArray.push(this.convertDynamic(value, type))\n } else if (this.isObject(value)) {\n newArray.push(this.convertDynamic(value, type))\n } else {\n newArray.push(value)\n }\n }\n\n return newArray\n }\n\n traverseObject (object, type) {\n const newObject = {}\n\n for (const key in object) {\n const value = object[key]\n\n if (this.shouldSkip(value, type)) {\n continue\n }\n\n if (Array.isArray(value)) {\n newObject[key] = this.convertDynamic(value, type)\n } else if (this.isObject(value)) {\n newObject[key] = this.convertDynamic(value, type)\n } else {\n newObject[key] = value\n }\n }\n\n return newObject\n }\n}\n","import CustomError from \"./custom-error.mjs\"\n\nclass DestroyError extends CustomError {}\n\nDestroyError.apiMakerType = \"DestroyError\"\n\nexport default DestroyError\n","import {digg} from \"diggerize\"\n\nexport default class Serializer {\n static serialize (arg) {\n const serialize = new Serializer(arg)\n\n return serialize.serialize()\n }\n\n constructor (arg) {\n this.arg = arg\n }\n\n serialize () {\n return this.serializeArgument(this.arg)\n }\n\n serializeArgument (arg) {\n if (typeof arg == \"object\" && arg && arg.constructor.apiMakerType == \"BaseModel\") {\n return {\n api_maker_type: \"model\",\n model_class_name: digg(arg.modelClassData(), \"name\"),\n model_id: arg.id()\n }\n } else if (typeof arg == \"function\" && arg.apiMakerType == \"BaseModel\") {\n return {\n api_maker_type: \"resource\",\n name: digg(arg.modelClassData(), \"name\")\n }\n } else if (arg instanceof Date) {\n let offsetNumber = parseInt((arg.getTimezoneOffset() / 60) * 100, 10)\n\n offsetNumber = -offsetNumber\n\n let offset = `${offsetNumber}`\n\n while (offset.length < 4) {\n offset = `0${offset}`\n }\n\n return {\n api_maker_type: \"datetime\",\n value: `${arg.getFullYear()}-${arg.getMonth() + 1}-${arg.getDate()} ${arg.getHours()}:${arg.getMinutes()}:${arg.getSeconds()}+${offset}`\n }\n } else if (Array.isArray(arg)) {\n return this.serializeArray(arg)\n } else if (typeof arg == \"object\" && arg && arg.constructor && arg.constructor.apiMakerType == \"Collection\") {\n return {\n api_maker_type: \"collection\",\n value: this.serializeObject(arg)\n }\n } else if (typeof arg == \"object\" && arg !== null && arg.constructor.name == \"Object\") {\n return this.serializeObject(arg)\n } else {\n return arg\n }\n }\n\n serializeArray (arg) {\n return arg.map((value) => this.serializeArgument(value))\n }\n\n serializeObject (arg) {\n const newObject = {}\n\n for (const key in arg) {\n const value = arg[key]\n const newValue = this.serializeArgument(value)\n const newKey = this.serializeArgument(key)\n\n newObject[newKey] = newValue\n }\n\n return newObject\n }\n}\n","import Api from \"./api.mjs\"\nimport CommandSubmitData from \"./command-submit-data.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport DestroyError from \"./destroy-error.mjs\"\nimport Deserializer from \"./deserializer.mjs\"\nimport {dig, digg} from \"diggerize\"\nimport events from \"./events.mjs\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport RunLast from \"./run-last.mjs\"\nimport Serializer from \"./serializer.mjs\"\nimport SessionStatusUpdater from \"./session-status-updater.mjs\"\nimport ValidationError from \"./validation-error.mjs\"\nimport {ValidationErrors} from \"./validation-errors.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerCommandsPool {\n static addCommand(data, args = {}) {\n let pool\n\n if (args.instant) {\n pool = new ApiMakerCommandsPool()\n } else {\n pool = ApiMakerCommandsPool.current()\n }\n\n const promiseResult = pool.addCommand(data)\n\n if (args.instant) {\n pool.flushRunLast.run()\n } else {\n pool.flushRunLast.queue()\n }\n\n return promiseResult\n }\n\n static current() {\n if (!shared.currentApiMakerCommandsPool) shared.currentApiMakerCommandsPool = new ApiMakerCommandsPool()\n\n return shared.currentApiMakerCommandsPool\n }\n\n static flush() {\n ApiMakerCommandsPool.current().flush()\n }\n\n constructor() {\n this.flushCount = 0\n this.pool = {}\n this.poolData = {}\n this.currentId = 1\n this.globalRequestData = {}\n }\n\n addCommand(data) {\n const stack = Error().stack\n\n return new Promise((resolve, reject) => {\n const id = this.currentId\n this.currentId += 1\n\n const commandType = data.type\n const commandName = data.command\n const collectionName = data.collectionName\n\n this.pool[id] = {resolve, reject, stack}\n\n if (!this.poolData[commandType]) this.poolData[commandType] = {}\n if (!this.poolData[commandType][collectionName]) this.poolData[commandType][collectionName] = {}\n if (!this.poolData[commandType][collectionName][commandName]) this.poolData[commandType][collectionName][commandName] = {}\n\n let args\n\n if (data.args?.nodeName == \"FORM\") {\n const formData = new FormData(data.args)\n\n args = FormDataObjectizer.toObject(formData)\n } else if (data.args instanceof FormData) {\n args = FormDataObjectizer.toObject(data.args)\n } else {\n args = Serializer.serialize(data.args)\n }\n\n this.poolData[commandType][collectionName][commandName][id] = {\n args,\n primary_key: data.primaryKey,\n id\n }\n })\n }\n\n commandsCount() {\n return Object.keys(this.pool)\n }\n\n async sendRequest({commandSubmitData, url}) {\n let response\n\n for (let i = 0; i < 3; i++) {\n if (commandSubmitData.getFilesCount() > 0) {\n response = await Api.requestLocal({path: url, method: \"POST\", rawData: commandSubmitData.getFormData()})\n } else {\n response = await Api.requestLocal({path: url, method: \"POST\", data: commandSubmitData.getJsonData()})\n }\n\n if (response.success === false && response.type == \"invalid_authenticity_token\") {\n console.log(\"Invalid authenticity token - try again\")\n await SessionStatusUpdater.current().updateSessionStatus()\n continue\n }\n\n return response\n }\n\n throw new Error(\"Couldnt successfully execute request\")\n }\n\n flush = async () => {\n if (this.commandsCount() == 0) {\n return\n }\n\n const currentPool = this.pool\n const currentPoolData = this.poolData\n\n this.pool = {}\n this.poolData = {}\n this.flushCount++\n\n try {\n const submitData = {pool: currentPoolData}\n\n if (Object.keys(this.globalRequestData).length > 0)\n submitData.global = this.globalRequestData\n\n const commandSubmitData = new CommandSubmitData(submitData)\n const url = \"/api_maker/commands\"\n const response = await this.sendRequest({commandSubmitData, url})\n\n for (const commandId in response.responses) {\n const commandResponse = response.responses[commandId]\n const commandResponseData = Deserializer.parse(commandResponse.data)\n const commandData = currentPool[parseInt(commandId, 10)]\n const responseType = commandResponse.type\n\n if (commandResponseData && typeof commandResponseData == \"object\") {\n const bugReportUrl = dig(commandResponseData, \"bug_report_url\")\n\n if (bugReportUrl) {\n console.log(`Bug report URL: ${bugReportUrl}`)\n }\n }\n\n if (responseType == \"success\") {\n commandData.resolve(commandResponseData)\n } else if (responseType == \"error\") {\n const error = new CustomError(\"Command error\", {response: commandResponseData})\n\n error.stack += \"\\n\"\n error.stack += commandData.stack.split(\"\\n\").slice(1).join(\"\\n\")\n\n commandData.reject(error)\n } else if (responseType == \"failed\") {\n this.handleFailedResponse(commandData, commandResponseData)\n } else {\n throw new Error(`Unhandled response type: ${responseType}`)\n }\n }\n } finally {\n this.flushCount--\n }\n }\n\n handleFailedResponse(commandData, commandResponseData) {\n let error\n\n if (commandResponseData.error_type == \"destroy_error\") {\n error = new DestroyError(`Destroy failed`, {response: commandResponseData})\n } else if (commandResponseData.error_type == \"validation_error\") {\n const validationErrors = new ValidationErrors({\n model: digg(commandResponseData, \"model\"),\n validationErrors: digg(commandResponseData, \"validation_errors\")\n })\n error = new ValidationError(validationErrors, {response: commandResponseData})\n\n events.emit(\"onValidationErrors\", validationErrors)\n } else {\n let errorMessage\n\n if (!commandResponseData.errors) { errorMessage = \"Command failed\" }\n\n error = new CustomError(errorMessage, {response: commandResponseData})\n }\n\n commandData.reject(error)\n }\n\n isActive() {\n if (this.commandsCount() > 0) {\n return true\n }\n\n if (this.flushCount > 0) {\n return true\n }\n\n return false\n }\n\n flushRunLast = new RunLast(this.flush)\n}\n","import * as inflection from \"inflection\"\n\nconst accessors = {\n breakPoints: {\n default: [\n [\"xxl\", 1400],\n [\"xl\", 1200],\n [\"lg\", 992],\n [\"md\", 768],\n [\"sm\", 576],\n [\"xs\", 0]\n ],\n required: true\n },\n currenciesCollection: {required: true},\n history: {required: false},\n host: {required: false},\n i18n: {required: false},\n modal: {required: false},\n routes: {required: false},\n routeDefinitions: {required: false}\n}\n\nclass ApiMakerConfig {\n constructor() {\n if (!globalThis.apiMakerConfigGlobal) globalThis.apiMakerConfigGlobal = {}\n\n this.global = globalThis.apiMakerConfigGlobal\n }\n}\n\nfor (const accessorName in accessors) {\n const accessorData = accessors[accessorName]\n const camelizedAccessor = inflection.camelize(accessorName)\n\n ApiMakerConfig.prototype[`set${camelizedAccessor}`] = function (newValue) { this.global[accessorName] = newValue }\n ApiMakerConfig.prototype[`get${camelizedAccessor}`] = function (...args) {\n if (!this.global[accessorName]) {\n if (accessorData.default) return accessorData.default\n if (accessorData.required) throw new Error(`${accessorName} hasn't been set`)\n }\n\n const value = this.global[accessorName]\n\n if (typeof value == \"function\") return value(...args)\n\n return value\n }\n}\n\nconst apiMakerConfig = new ApiMakerConfig()\n\nexport default apiMakerConfig\n","import BaseError from \"./base-error.mjs\"\n\nclass CustomError extends BaseError {}\n\nCustomError.apiMakerType = \"CustomError\"\n\nexport default CustomError\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport ModelsResponseReader from \"./models-response-reader.mjs\"\nimport Money from \"js-money\"\n\nexport default class ApiMakerDeserializer {\n static parse (object) {\n if (Array.isArray(object)) {\n return object.map((value) => ApiMakerDeserializer.parse(value))\n } else if (object && typeof object == \"object\") {\n if (object.api_maker_type == \"date\") {\n const date = new Date(digg(object, \"value\"))\n\n date.apiMakerType = \"date\"\n\n return date\n } else if (object.api_maker_type == \"time\") {\n const date = new Date(digg(object, \"value\"))\n\n date.apiMakerType = \"time\"\n\n return date\n } else if (object.api_maker_type == \"collection\") {\n // Need to remove type to avoid circular error\n const {api_maker_type, ...restObject} = object\n\n return ModelsResponseReader.collection(ApiMakerDeserializer.parse(restObject))\n } else if (object.api_maker_type == \"money\") {\n const cents = digg(object, \"amount\")\n const currency = digg(object, \"currency\")\n\n return Money.fromInteger(cents, currency)\n } else if (object.api_maker_type == \"model\") {\n const modelClassName = inflection.classify(digg(object, \"model_name\"))\n const ModelClass = modelClassRequire(modelClassName)\n const data = ApiMakerDeserializer.parse(digg(object, \"serialized\"))\n const model = new ModelClass({data, isNewRecord: false})\n\n return model\n } else if (object.api_maker_type == \"resource\") {\n const modelClassName = inflection.classify(digg(object, \"name\"))\n const ModelClass = modelClassRequire(modelClassName)\n\n return ModelClass\n } else {\n const newObject = {}\n\n for (const key in object) {\n const value = object[key]\n newObject[key] = ApiMakerDeserializer.parse(value)\n }\n\n return newObject\n }\n } else {\n return object\n }\n }\n}\n","import CanCan from \"./can-can.mjs\"\nimport Deserializer from \"./deserializer.mjs\"\nimport {digg} from \"diggerize\"\nimport events from \"./events.mjs\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport Services from \"./services.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerDevise {\n static callSignOutEvent(args) {\n events.emit(\"onDeviseSignOut\", {args})\n }\n\n static current() {\n if (!shared.currentApiMakerDevise) {\n shared.currentApiMakerDevise = new ApiMakerDevise()\n }\n\n return shared.currentApiMakerDevise\n }\n\n static events() {\n return events\n }\n\n static addUserScope(scope) {\n const currentMethodName = `current${inflection.camelize(scope)}`\n\n ApiMakerDevise[currentMethodName] = () => ApiMakerDevise.current().getCurrentScope(scope)\n\n const isSignedInMethodName = `is${inflection.camelize(scope)}SignedIn`\n\n ApiMakerDevise[isSignedInMethodName] = () => Boolean(ApiMakerDevise.current().getCurrentScope(scope))\n }\n\n static async signIn(username, password, args = {}) {\n if (!args.scope) args.scope = \"user\"\n\n const postData = {username, password, args}\n const response = await Services.current().sendRequest(\"Devise::SignIn\", postData)\n\n let model = response.model\n\n if (Array.isArray(model)) model = model[0]\n\n await CanCan.current().resetAbilities()\n\n ApiMakerDevise.updateSession(model)\n events.emit(\"onDeviseSignIn\", Object.assign({username}, args))\n\n return {model, response}\n }\n\n static updateSession(model, args = {}) {\n if (!args.scope) args.scope = \"user\"\n\n const camelizedScopeName = inflection.camelize(args.scope, true)\n\n ApiMakerDevise.current().currents[camelizedScopeName] = model\n }\n\n hasCurrentScope(scope) {\n const camelizedScopeName = inflection.camelize(scope, true)\n\n return camelizedScopeName in ApiMakerDevise.current().currents\n }\n\n static setSignedOut(args) {\n ApiMakerDevise.current().currents[inflection.camelize(args.scope, true)] = null\n }\n\n static async signOut(args = {}) {\n if (!args.scope) {\n args.scope = \"user\"\n }\n\n const response = await Services.current().sendRequest(\"Devise::SignOut\", {args})\n\n await CanCan.current().resetAbilities()\n\n // Cannot use the class because they would both import each other\n if (shared.apiMakerSessionStatusUpdater) {\n shared.apiMakerSessionStatusUpdater.updateSessionStatus()\n }\n\n ApiMakerDevise.setSignedOut(args)\n ApiMakerDevise.callSignOutEvent(args)\n\n return response\n }\n\n constructor() {\n this.currents = {}\n }\n\n getCurrentScope(scope) {\n if (!(scope in this.currents)) {\n this.currents[scope] = this.loadCurrentScope(scope)\n }\n\n return this.currents[scope]\n }\n\n hasGlobalCurrentScope(scope) {\n if (globalThis.apiMakerDeviseCurrent && scope in globalThis.apiMakerDeviseCurrent) {\n return true\n }\n\n return false\n }\n\n loadCurrentScope(scope) {\n if (!this.hasGlobalCurrentScope(scope)) {\n return null\n }\n\n const scopeData = globalThis.apiMakerDeviseCurrent[scope]\n\n if (!scopeData) return null\n\n const parsedScopeData = Deserializer.parse(scopeData)\n\n // Might be a collection with preloaded relationships\n if (Array.isArray(parsedScopeData)) return parsedScopeData[0]\n\n const ModelClass = modelClassRequire(scope)\n const modelInstance = new ModelClass({data: parsedScopeData})\n\n return modelInstance\n }\n}\n","var UNKNOWN_FUNCTION = '';\n/**\n * This parses the different stack traces and puts them into one format\n * This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)\n */\n\nfunction parse(stackString) {\n var lines = stackString.split('\\n');\n return lines.reduce(function (stack, line) {\n var parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);\n\n if (parseResult) {\n stack.push(parseResult);\n }\n\n return stack;\n }, []);\n}\nvar chromeRe = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar chromeEvalRe = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nfunction parseChrome(line) {\n var parts = chromeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n var submatch = chromeEvalRe.exec(parts[2]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n\n parts[3] = submatch[2]; // line\n\n parts[4] = submatch[3]; // column\n }\n\n return {\n file: !isNative ? parts[2] : null,\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: isNative ? [parts[2]] : [],\n lineNumber: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar winjsRe = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseWinjs(line) {\n var parts = winjsRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar geckoRe = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar geckoEvalRe = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nfunction parseGecko(line) {\n var parts = geckoRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = geckoEvalRe.exec(parts[3]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = null; // no column when eval\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: parts[2] ? parts[2].split(',') : [],\n lineNumber: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar javaScriptCoreRe = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\n\nfunction parseJSC(line) {\n var parts = javaScriptCoreRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[4],\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar nodeRe = /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseNode(line) {\n var parts = nodeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nexport { parse };\n","import * as stackTraceParser from \"stacktrace-parser\"\nimport Logger from \"./logger.mjs\"\nimport {SourceMapConsumer} from \"source-map\"\nimport uniqunize from \"uniqunize\"\n\n// Sometimes this needs to be called and sometimes not\nif (SourceMapConsumer.initialize) {\n SourceMapConsumer.initialize({\n \"lib/mappings.wasm\": \"https://unpkg.com/source-map@0.7.3/lib/mappings.wasm\"\n })\n}\n\nconst logger = new Logger({name: \"ApiMaker / SourceMapsLoader\"})\n\nexport default class SourceMapsLoader {\n constructor() {\n this.isLoadingSourceMaps = false\n this.sourceMaps = []\n this.srcLoaded = {}\n }\n\n loadSourceMapsForScriptTags(callback) {\n this.loadSourceMapsForScriptTagsCallback = callback\n }\n\n sourceMapForSource(callback) {\n this.sourceMapForSourceCallback = callback\n }\n\n async loadSourceMaps(error) {\n if (!error) throw new Error(\"No error was given to SourceMapsLoader#loadSourceMaps\")\n\n this.isLoadingSourceMaps = true\n\n try {\n const promises = []\n const sources = this.getSources(error)\n\n for(const source of sources) {\n if (source.originalUrl && !this.srcLoaded[source.originalUrl]) {\n this.srcLoaded[source.originalUrl] = true\n\n const promise = this.loadSourceMapForSource(source)\n promises.push(promise)\n }\n }\n\n await Promise.all(promises)\n } finally {\n this.isLoadingSourceMaps = false\n }\n }\n\n getSources(error) {\n let sources = this.getSourcesFromScripts()\n\n if (error) sources = sources.concat(this.getSourcesFromError(error))\n\n return uniqunize(sources, (source) => source.originalUrl)\n }\n\n getSourcesFromError(error) {\n const stack = stackTraceParser.parse(error.stack)\n const sources = []\n\n for (const trace of stack) {\n const file = trace.file\n\n if (file != \"\\u003Canonymous>\") {\n const sourceMapUrl = this.getMapURL({src: file})\n\n if (sourceMapUrl) {\n logger.debug(() => `Found source map from error: ${sourceMapUrl}`)\n\n sources.push({originalUrl: file, sourceMapUrl})\n } else {\n logger.debug(() => `Coudn't get source map from: ${file}`)\n }\n }\n }\n\n return sources\n }\n\n getSourcesFromScripts() {\n const scripts = document.querySelectorAll(\"script\")\n const sources = []\n\n for (const script of scripts) {\n const sourceMapUrl = this.getMapURL({script, src: script.src})\n\n if (sourceMapUrl) {\n logger.debug(() => `Found source map from script: ${sourceMapUrl}`)\n sources.push({originalUrl: script.src, sourceMapUrl})\n }\n }\n\n return sources\n }\n\n getMapURL({script, src}) {\n const url = this.loadUrl(src)\n const originalUrl = `${url.origin}${url.pathname}`\n\n if (this.sourceMapForSourceCallback) {\n // Use custom callback to resolve which map-file to download\n return this.sourceMapForSourceCallback({originalUrl, script, src, url})\n } else if (this.includeMapURL(src)) {\n // Default to original URL with '.map' appended\n return `${originalUrl}.map`\n }\n }\n\n includeMapURL = (src) => src.includes(\"/packs/\")\n\n async loadSourceMapForSource({originalUrl, sourceMapUrl}) {\n const xhr = new XMLHttpRequest()\n\n xhr.open(\"GET\", sourceMapUrl, true)\n\n await this.loadXhr(xhr)\n\n const consumer = await new SourceMapConsumer(xhr.responseText)\n\n this.sourceMaps.push({consumer, originalUrl})\n }\n\n loadUrl(url) {\n const parser = document.createElement(\"a\")\n\n parser.href = url\n\n return parser\n }\n\n loadXhr(xhr, postData) {\n return new Promise((resolve) => {\n xhr.onload = () => resolve()\n xhr.send(postData)\n })\n }\n\n parseStackTrace(stackTrace) {\n return this.getStackTraceData(stackTrace)\n .map((traceData) => `at ${traceData.methodName} (${traceData.fileString})`)\n }\n\n getStackTraceData(stackTrace) {\n const stack = stackTraceParser.parse(stackTrace)\n const newSourceMap = []\n\n for (const trace of stack) {\n const sourceMapData = this.sourceMaps.find((sourceMapData) => sourceMapData.originalUrl == trace.file)\n\n let filePath, fileString, original\n\n if (sourceMapData) {\n original = sourceMapData.consumer.originalPositionFor({\n line: trace.lineNumber,\n column: trace.column\n })\n }\n\n if (original && original.source) {\n filePath = original.source.replace(/^webpack:\\/\\/(app|)\\//, \"\")\n fileString = `${filePath}:${original.line}`\n\n if (original.column) {\n fileString += `:${original.column}`\n }\n } else {\n filePath = trace.file\n fileString = `${filePath}:${trace.lineNumber}`\n\n if (trace.column) {\n fileString += `:${trace.column}`\n }\n }\n\n newSourceMap.push({\n filePath,\n fileString,\n methodName: trace.methodName\n })\n }\n\n return newSourceMap\n }\n}\n","import {digg} from \"diggerize\"\nimport SourceMapsLoader from \"./source-maps-loader.mjs\"\n\nexport default class ErrorLogger {\n constructor () {\n this.debugging = false\n this.errorOccurred = false\n this.errors = []\n this.isHandlingError = false\n this.sourceMapsLoader = new SourceMapsLoader()\n this.sourceMapsLoader.loadSourceMapsForScriptTags((script) => {\n const src = script.getAttribute(\"src\")\n const type = script.getAttribute(\"type\")\n\n if (src && (src.includes(\"/packs/\") || src.includes(\"/packs-test/\")) && (type == \"text/javascript\" || !type)) {\n return src\n }\n })\n }\n\n debug(...output) {\n if (this.debugging) console.error(`ApiMaker ErrorLogger:`, ...output)\n }\n\n enable () {\n this.debug(\"Enable called\")\n this.connectOnError()\n this.connectUnhandledRejection()\n }\n\n getErrors = () => this.errors\n\n hasErrorOccurred() {\n return digg(this, \"errorOccurred\")\n }\n\n isLoadingSourceMaps() {\n return digg(this, \"sourceMapsLoader\", \"isLoadingSourceMaps\")\n }\n\n isWorkingOnError() {\n return digg(this, \"isHandlingError\") || this.isLoadingSourceMaps()\n }\n\n connectOnError () {\n window.addEventListener(\"error\", (event) => {\n if (this.debugging) this.debug(`Error:`, event.message)\n this.errorOccurred = true\n\n if (!this.isHandlingError) {\n this.isHandlingError = true\n this.onError(event).finally(() => {\n this.isHandlingError = false\n })\n }\n })\n }\n\n connectUnhandledRejection () {\n window.addEventListener(\"unhandledrejection\", (event) => {\n if (this.debugging) this.debug(`Unhandled rejection:`, event.reason.message)\n this.errorOccurred = true\n\n if (!this.isHandlingError) {\n this.isHandlingError = true\n this.onUnhandledRejection(event).finally(() => {\n this.isHandlingError = false\n })\n }\n })\n }\n\n async onError (event) {\n this.errorOccurred = true\n await this.sourceMapsLoader.loadSourceMaps(event.error)\n\n if (event.error && event.error.stack) {\n const backtrace = this.sourceMapsLoader.parseStackTrace(event.error.stack)\n\n this.errors.push({\n errorClass: event.error ? event.error.name : \"No error class\",\n message: event.message || \"Unknown error\",\n backtrace\n })\n } else {\n this.errors.push({\n errorClass: event.error ? event.error.name : \"No error class\",\n message: event.message || \"Unknown error\",\n backtrace: null\n })\n }\n }\n\n async onUnhandledRejection (event) {\n await this.sourceMapsLoader.loadSourceMaps(event.reason)\n\n if (event.reason.stack) {\n const backtrace = this.sourceMapsLoader.parseStackTrace(event.reason.stack)\n\n this.errors.push({\n errorClass: \"UnhandledRejection\",\n message: event.reason.message || \"Unhandled promise rejection\",\n backtrace\n })\n } else {\n this.errors.push({\n errorClass: \"UnhandledRejection\",\n message: event.reason.message || \"Unhandled promise rejection\",\n backtrace: null\n })\n }\n }\n\n testPromiseError () {\n return new Promise((_resolve) => {\n throw new Error(\"testPromiseError\")\n })\n }\n}\n","import EventEmitter from \"events\"\n\nconst events = new EventEmitter()\n\nevents.setMaxListeners(1000)\n\nexport default events\n","const shared = {}\n\nexport default class ApiMakerLogger {\n static getGlobalDebug = () => shared.isDebugging\n\n static setGlobalDebug(newValue) {\n shared.isDebugging = newValue\n }\n\n constructor(args = {}) {\n this.name = args.name\n }\n\n debug(message) {\n if (this.getDebug()) {\n this.log(message)\n }\n }\n\n error(message) {\n console.error(message)\n }\n\n log(message) {\n if (!this.debug && !ApiMakerLogger.getGlobalDebug()) return\n if (typeof message == \"function\") message = message()\n if (!Array.isArray(message)) message = [message]\n if (this.name) message.unshift(`${this.name}:`)\n\n console.log(...message)\n }\n\n getDebug = () => this.isDebugging\n\n setDebug(value) {\n this.isDebugging = value\n }\n}\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport * as models from \"./models.mjs.erb\"\n\nexport default (modelName) => {\n const requireName = inflection.camelize(modelName)\n const ModelClass = digg(models, requireName)\n\n return ModelClass\n}\n","export default class AttributeNotLoadedError extends Error {}\n","import SparkMD5 from \"spark-md5\"\n\nexport default class CacheKeyGenerator {\n constructor(model) {\n this.model = model\n this.allModels = [model]\n this.readModels = {}\n this.recordModelType(model.modelClassData().name)\n this.recordModel(model.modelClassData().name, model)\n this.filledModels = false\n }\n\n local() {\n const md5 = new SparkMD5()\n\n this.feedModel(this.model, md5)\n\n return md5.end()\n }\n\n recordModelType(relationshipType) {\n if (!(relationshipType in this.readModels)) {\n this.readModels[relationshipType] = {}\n }\n }\n\n recordModel(relationshipType, model) {\n this.allModels.push(model)\n this.readModels[relationshipType][model.id() || model.uniqueKey()] = true\n }\n\n isModelRecorded(relationshipType, model) {\n if (model.id() in this.readModels[relationshipType]) {\n return true\n }\n }\n\n fillModels(model) {\n for (const relationshipType in model.relationships) {\n this.recordModelType(relationshipType)\n\n const loadedRelationship = model.relationships[relationshipType]\n\n if (Array.isArray(loadedRelationship)) { // has_many\n for (const anotherModel of loadedRelationship) {\n if (this.isModelRecorded(relationshipType, anotherModel)) {\n continue\n }\n\n this.recordModel(relationshipType, anotherModel)\n this.fillModels(anotherModel)\n }\n } else if (loadedRelationship) { // belongs_to, has_one\n if (this.isModelRecorded(relationshipType, loadedRelationship)) {\n continue\n }\n\n this.recordModel(relationshipType, loadedRelationship)\n this.fillModels(loadedRelationship)\n }\n }\n\n this.filledModels = true\n }\n\n cacheKey() {\n if (!this.filledModels) {\n this.fillModels(this.model)\n }\n\n const md5 = new SparkMD5()\n\n for (const model of this.allModels) {\n this.feedModel(model, md5)\n }\n\n return md5.end()\n }\n\n feedModel(model, md5) {\n md5.append(\"--model--\")\n md5.append(model.modelClassData().name)\n md5.append(\"--unique-key--\")\n md5.append(model.id() || model.uniqueKey())\n\n if (model.markedForDestruction()) {\n md5.append(\"--marked-for-destruction--\")\n }\n\n md5.append(\"-attributes-\")\n\n const attributes = model.attributes()\n\n for (const attributeName in attributes) {\n md5.append(attributeName)\n md5.append(\"--attribute--\")\n md5.append(`${model.readAttributeUnderscore(attributeName)}`)\n }\n }\n}\n","import Config from \"./config.mjs\"\nimport * as inflection from \"inflection\"\n\nexport default class ModelName {\n constructor(data) {\n this.data = data\n }\n\n camelizedLower = () => this.data.modelClassData.camelizedLower\n\n human(args) {\n let argsToUse = args\n\n if (!argsToUse) argsToUse = { count: 1 }\n\n let countKey\n\n if (argsToUse.count > 1 || argsToUse.count < 0) {\n countKey = \"other\"\n } else {\n countKey = \"one\"\n }\n\n const key = `activerecord.models.${this.data.modelClassData.i18nKey}.${countKey}`\n let defaultModelName = this.data.modelClassData.name\n\n if (args?.count > 1) defaultModelName = inflection.pluralize(defaultModelName)\n\n return Config.getI18n().t(key, {defaultValue: defaultModelName})\n }\n\n paramKey = () => this.data.modelClassData.paramKey\n}\n","export default class NotLoadedError extends Error {}\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\n\nexport default class ApiMakerBaseModelScope {\n constructor(scopeData) {\n this.scopeData = scopeData\n }\n\n name() {\n return inflection.camelize(digg(this, \"scopeData\", \"name\"), true)\n }\n}\n","import Attribute from \"./base-model/attribute.mjs\"\nimport AttributeNotLoadedError from \"./attribute-not-loaded-error.mjs\"\nimport CacheKeyGenerator from \"./cache-key-generator.mjs\"\nimport Collection from \"./collection.mjs\"\nimport CommandsPool from \"./commands-pool.mjs\"\nimport Config from \"./config.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport {digg} from \"diggerize\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport * as inflection from \"inflection\"\nimport ModelName from \"./model-name.mjs\"\nimport NotLoadedError from \"./not-loaded-error.mjs\"\nimport objectToFormData from \"object-to-formdata\"\nimport Reflection from \"./base-model/reflection.mjs\"\nimport Scope from \"./base-model/scope.mjs\"\nimport Services from \"./services.mjs\"\nimport ValidationError from \"./validation-error.mjs\"\nimport {ValidationErrors} from \"./validation-errors.mjs\"\n\nconst objectToUnderscore = (object) => {\n const newObject = {}\n\n for (const key in object) {\n const underscoreKey = inflection.underscore(key)\n\n newObject[underscoreKey] = object[key]\n }\n\n return newObject\n}\n\nexport default class BaseModel {\n static apiMakerType = \"BaseModel\"\n\n static attributes() {\n const attributes = digg(this.modelClassData(), \"attributes\")\n const result = []\n\n for (const attributeKey in attributes) {\n const attributeData = attributes[attributeKey]\n const attribute = new Attribute(attributeData)\n\n result.push(attribute)\n }\n\n return result\n }\n\n static hasAttribute(attributeName) {\n const attributes = digg(this.modelClassData(), \"attributes\")\n const lowerCaseAttributeName = inflection.underscore(attributeName)\n\n if (lowerCaseAttributeName in attributes) return true\n\n return false\n }\n\n static modelClassData() {\n throw new Error(\"modelClassData should be overriden by child\")\n }\n\n static newCustomEvent = (validationErrors) => {\n return new CustomEvent(\"validation-errors\", {detail: validationErrors})\n }\n\n static sendValidationErrorsEvent = (validationErrors, options) => {\n if (options && options.form) {\n const event = BaseModel.newCustomEvent(validationErrors)\n options.form.dispatchEvent(event)\n }\n }\n\n static async find(id) {\n const query = {}\n\n query[`${this.primaryKey()}_eq`] = id\n\n const model = await this.ransack(query).first()\n\n if (model) {\n return model\n } else {\n throw new CustomError(\"Record not found\")\n }\n }\n\n static async findOrCreateBy(findOrCreateByArgs, args = {}) {\n const result = await Services.current().sendRequest(\"Models::FindOrCreateBy\", {\n additional_data: args.additionalData,\n find_or_create_by_args: findOrCreateByArgs,\n resource_name: digg(this.modelClassData(), \"name\")\n })\n const model = digg(result, \"model\")\n\n return model\n }\n\n static modelName() {\n return new ModelName({modelClassData: this.modelClassData()})\n }\n\n static primaryKey() {\n return digg(this.modelClassData(), \"primaryKey\")\n }\n\n static ransack(query = {}) {\n return new Collection({modelClass: this}, {ransack: query})\n }\n\n static select(select) {\n return this.ransack().select(select)\n }\n\n static ransackableAssociations() {\n const relationships = digg(this.modelClassData(), \"ransackable_associations\")\n const reflections = []\n\n for (const relationshipData of relationships) {\n reflections.push(new Reflection(relationshipData))\n }\n\n return reflections\n }\n\n static ransackableAttributes() {\n const attributes = digg(this.modelClassData(), \"ransackable_attributes\")\n const result = []\n\n for (const attributeData of attributes) {\n result.push(new Attribute(attributeData))\n }\n\n return result\n }\n\n static ransackableScopes() {\n const ransackableScopes = digg(this.modelClassData(), \"ransackable_scopes\")\n const result = []\n\n for (const scopeData of ransackableScopes) {\n const scope = new Scope(scopeData)\n\n result.push(scope)\n }\n\n return result\n }\n\n static reflections() {\n const relationships = digg(this.modelClassData(), \"relationships\")\n const reflections = []\n\n for (const relationshipData of relationships) {\n const reflection = new Reflection(relationshipData)\n\n reflections.push(reflection)\n }\n\n return reflections\n }\n\n static reflection(name) {\n const foundReflection = this.reflections().find((reflection) => reflection.name() == name)\n\n if (!foundReflection) {\n throw new Error(`No such reflection: ${name} in ${this.reflections().map((reflection) => reflection.name()).join(\", \")}`)\n }\n\n return foundReflection\n }\n\n static _token() {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n return csrfTokenElement.getAttribute(\"content\")\n }\n }\n\n constructor(args = {}) {\n this.changes = {}\n this.newRecord = args.isNewRecord\n this.relationshipsCache = {}\n this.relationships = {}\n\n if (args && args.data && args.data.a) {\n this._readModelDataFromArgs(args)\n } else if (args.a) {\n this.abilities = args.b || {}\n this.modelData = objectToUnderscore(args.a)\n } else if (args) {\n this.abilities = {}\n this.modelData = objectToUnderscore(args)\n } else {\n this.abilities = {}\n this.modelData = {}\n }\n }\n\n assignAttributes(newAttributes) {\n for (const key in newAttributes) {\n const newValue = newAttributes[key]\n const attributeUnderscore = inflection.underscore(key)\n\n let applyChange = true\n let deleteChange = false\n\n if (this.isAttributeLoaded(key)) {\n const oldValue = this.readAttribute(key)\n const originalValue = this.modelData[attributeUnderscore]\n\n if (newValue == oldValue) {\n applyChange = false\n } else if (newValue == originalValue) {\n applyChange = false\n deleteChange = true\n }\n }\n\n if (applyChange) {\n this.changes[attributeUnderscore] = newValue\n } else if (deleteChange) {\n delete this.changes[attributeUnderscore]\n }\n }\n }\n\n attributes() {\n const result = {}\n\n for (const key in this.modelData) {\n result[key] = this.modelData[key]\n }\n\n for (const key in this.changes) {\n result[key] = this.changes[key]\n }\n\n return result\n }\n\n can(givenAbilityName) {\n const abilityName = inflection.underscore(givenAbilityName)\n\n if (!(abilityName in this.abilities)) {\n throw new Error(`Ability ${abilityName} hasn't been loaded for ${digg(this.modelClassData(), \"name\")}`)\n }\n\n return this.abilities[abilityName]\n }\n\n clone() {\n const clone = new this.constructor()\n\n clone.abilities = {...this.abilities}\n clone.modelData = {...this.modelData}\n clone.relationships = {...this.relationships}\n clone.relationshipsCache = {...this.relationshipsCache}\n\n return clone\n }\n\n cacheKey() {\n if (this.isPersisted()) {\n const keyParts = [\n this.modelClassData().paramKey,\n this.primaryKey()\n ]\n\n if (\"updated_at\" in this.modelData) {\n const updatedAt = this.updatedAt()\n\n if (typeof updatedAt != \"object\") {\n throw new Error(`updatedAt wasn't an object: ${typeof updatedAt}`)\n } else if (!(\"getTime\" in updatedAt)) {\n throw new Error(`updatedAt didn't support getTime with class: ${updatedAt.constructor && updatedAt.constructor.name}`)\n }\n\n keyParts.push(`updatedAt-${this.updatedAt().getTime()}`)\n }\n\n return keyParts.join(\"-\")\n } else {\n return this.uniqueKey()\n }\n }\n\n localCacheKey() {\n const cacheKeyGenerator = new CacheKeyGenerator(this)\n\n return cacheKeyGenerator.local()\n }\n\n fullCacheKey() {\n const cacheKeyGenerator = new CacheKeyGenerator(this)\n\n return cacheKeyGenerator.cacheKey()\n }\n\n static all() {\n return this.ransack()\n }\n\n async create(attributes, options) {\n if (attributes) this.assignAttributes(attributes)\n const paramKey = this.modelClassData().paramKey\n const modelData = this.getAttributes()\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-create`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"create\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n }\n\n async createRaw(rawData, options = {}) {\n const objectData = BaseModel._objectDataFromGivenRawData(rawData, options)\n\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n save: objectData\n },\n command: `${this.modelClassData().collectionName}-create`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"create\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelDataFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n }\n\n async destroy() {\n const response = await CommandsPool.addCommand(\n {\n args: {query_params: this.collection && this.collection.params()},\n command: `${this.modelClassData().collectionName}-destroy`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"destroy\"\n },\n {}\n )\n\n if (response.success) {\n if (response.model) {\n this._refreshModelDataFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n } else {\n this.handleResponseError(response)\n }\n }\n\n async ensureAbilities(listOfAbilities) {\n // Populate an array with a list of abilities currently not loaded\n const abilitiesToLoad = []\n\n for (const abilityInList of listOfAbilities) {\n if (!(abilityInList in this.abilities)) {\n abilitiesToLoad.push(abilityInList)\n }\n }\n\n // Load the missing abilities if any\n if (abilitiesToLoad.length > 0) {\n const primaryKeyName = this.constructor.primaryKey()\n const ransackParams = {}\n ransackParams[`${primaryKeyName}_eq`] = this.primaryKey()\n\n const abilitiesParams = {}\n abilitiesParams[digg(this.modelClassData(), \"name\")] = abilitiesToLoad\n\n const anotherModel = await this.constructor\n .ransack(ransackParams)\n .abilities(abilitiesParams)\n .first()\n\n if (!anotherModel) {\n throw new Error(`Could not look up the same model ${this.primaryKey()} with abilities: ${abilitiesToLoad.join(\", \")}`)\n }\n\n const newAbilities = anotherModel.abilities\n for (const newAbility in newAbilities) {\n this.abilities[newAbility] = newAbilities[newAbility]\n }\n }\n }\n\n getAttributes = () => Object.assign(this.modelData, this.changes)\n\n handleResponseError(response) {\n BaseModel.parseValidationErrors({model: this, response})\n throw new new CustomError(\"Response wasn't successful\", {model: this, response})\n }\n\n identifierKey() {\n if (!this._identifierKey) this._identifierKey = this.isPersisted() ? this.primaryKey() : this.uniqueKey()\n\n return this._identifierKey\n }\n\n isAssociationLoaded = (associationName) => this.isAssociationLoadedUnderscore(inflection.underscore(associationName))\n isAssociationLoadedUnderscore (associationNameUnderscore) {\n if (associationNameUnderscore in this.relationshipsCache) return true\n return false\n }\n\n isAssociationPresent(associationName) {\n if (this.isAssociationLoaded(associationName)) return true\n if (associationName in this.relationships) return true\n return false\n }\n\n static parseValidationErrors({error, model, options}) {\n if (!(error instanceof ValidationError)) return\n if (!error.args.response.validation_errors) return\n\n const validationErrors = new ValidationErrors({\n model,\n validationErrors: digg(error, \"args\", \"response\", \"validation_errors\")\n })\n\n BaseModel.sendValidationErrorsEvent(validationErrors, options)\n\n if (!options || options.throwValidationError != false) {\n throw error\n }\n }\n\n static humanAttributeName(attributeName) {\n const keyName = digg(this.modelClassData(), \"i18nKey\")\n const i18n = Config.getI18n()\n\n if (i18n) return i18n.t(`activerecord.attributes.${keyName}.${BaseModel.snakeCase(attributeName)}`, {defaultValue: attributeName})\n\n return inflection.humanize(attributeName)\n }\n\n isAttributeChanged(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n const attributeData = this.modelClassData().attributes.find((attribute) => digg(attribute, \"name\") == attributeNameUnderscore)\n\n if (!attributeData) {\n const attributeNames = this.modelClassData().attributes.map((attribute) => digg(attribute, \"name\"))\n\n throw new Error(`Couldn't find an attribute by that name: \"${attributeName}\" in: ${attributeNames.join(\", \")}`)\n }\n\n if (!(attributeNameUnderscore in this.changes))\n return false\n\n const oldValue = this.modelData[attributeNameUnderscore]\n const newValue = this.changes[attributeNameUnderscore]\n const changedMethod = this[`_is${inflection.camelize(attributeData.type, true)}Changed`]\n\n if (!changedMethod)\n throw new Error(`Don't know how to handle type: ${attributeData.type}`)\n\n return changedMethod(oldValue, newValue)\n }\n\n isChanged() {\n const keys = Object.keys(this.changes)\n\n if (keys.length > 0) {\n return true\n } else {\n return false\n }\n }\n\n isNewRecord() {\n if (this.newRecord !== undefined) {\n return this.newRecord\n } else if (\"id\" in this.modelData && this.modelData.id) {\n return false\n } else {\n return true\n }\n }\n\n isPersisted = () => !this.isNewRecord()\n\n static snakeCase = (string) => inflection.underscore(string)\n\n savedChangeToAttribute(attributeName) {\n if (!this.previousModelData)\n return false\n\n const attributeNameUnderscore = inflection.underscore(attributeName)\n const attributeData = this.modelClassData().attributes.find((attribute) => attribute.name == attributeNameUnderscore)\n\n if (!attributeData) {\n const attributeNames = this.modelClassData().attributes.map((attribute) => attribute.name)\n throw new Error(`Couldn't find an attribute by that name: \"${attributeName}\" in: ${attributeNames.join(\", \")}`)\n }\n\n if (!(attributeNameUnderscore in this.previousModelData))\n return true\n\n const oldValue = this.previousModelData[attributeNameUnderscore]\n const newValue = this.modelData[attributeNameUnderscore]\n const changedMethodName = `_is${inflection.camelize(attributeData.type)}Changed`\n const changedMethod = this[changedMethodName]\n\n if (!changedMethod)\n throw new Error(`Don't know how to handle type: ${attributeData.type}`)\n\n return changedMethod(oldValue, newValue)\n }\n\n setNewModel(model) {\n this.setNewModelData(model)\n\n for(const relationshipName in model.relationships) {\n this.relationships[relationshipName] = model.relationships[relationshipName]\n }\n\n for(const relationshipCacheName in model.relationshipsCache) {\n this.relationshipsCache[relationshipCacheName] = model.relationshipsCache[name]\n }\n }\n\n setNewModelData(model) {\n if (!(\"modelData\" in model)) throw new Error(`No modelData in model: ${JSON.stringify(model)}`)\n\n this.previousModelData = Object.assign({}, digg(this, \"modelData\"))\n\n for(const attributeName in model.modelData) {\n this.modelData[attributeName] = model.modelData[attributeName]\n }\n }\n\n _isDateChanged(oldValue, newValue) {\n if (Date.parse(oldValue) != Date.parse(newValue))\n return true\n }\n\n _isIntegerChanged(oldValue, newValue) {\n if (parseInt(oldValue, 10) != parseInt(newValue, 10))\n return true\n }\n\n _isStringChanged (oldValue, newValue) {\n const oldConvertedValue = `${oldValue}`\n const newConvertedValue = `${newValue}`\n\n if (oldConvertedValue != newConvertedValue)\n return true\n }\n\n modelClassData = () => this.constructor.modelClassData()\n\n async reload() {\n const params = this.collection && this.collection.params()\n const ransackParams = {}\n ransackParams[`${this.constructor.primaryKey()}_eq`] = this.primaryKey()\n\n let query = this.constructor.ransack(ransackParams)\n\n if (params) {\n if (params.preload) {\n query.queryArgs.preload = params.preload\n }\n\n if (params.select) {\n query.queryArgs.select = params.select\n }\n\n if (params.select_columns) {\n query.queryArgs.selectColumns = params.select_columns\n }\n }\n\n const model = await query.first()\n this.setNewModel(model)\n this.changes = {}\n }\n\n save() {\n if (this.isNewRecord()) {\n return this.create()\n } else {\n return this.update()\n }\n }\n\n saveRaw(rawData, options = {}) {\n if (this.isNewRecord()) {\n return this.createRaw(rawData, options)\n } else {\n return this.updateRaw(rawData, options)\n }\n }\n\n async update(newAttributes, options) {\n if (newAttributes) {\n this.assignAttributes(newAttributes)\n }\n\n if (Object.keys(this.changes).length == 0) {\n return {model: this}\n }\n\n const paramKey = this.modelClassData().paramKey\n const modelData = this.changes\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n query_params: this.collection && this.collection.params(),\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-update`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"update\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.success) {\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {response, model: this}\n } else {\n this.handleResponseError(response)\n }\n }\n\n _refreshModelFromResponse(response) {\n let newModel = digg(response, \"model\")\n\n if (Array.isArray(newModel)) newModel = newModel[0]\n\n this.setNewModel(newModel)\n }\n\n _refreshModelDataFromResponse(response) {\n let newModel = digg(response, \"model\")\n\n if (Array.isArray(newModel)) newModel = newModel[0]\n\n this.setNewModelData(newModel)\n }\n\n static _objectDataFromGivenRawData(rawData, options) {\n if (rawData instanceof FormData || rawData.nodeName == \"FORM\") {\n const formData = FormDataObjectizer.formDataFromObject(rawData, options)\n\n return FormDataObjectizer.toObject(formData)\n }\n\n return rawData\n }\n\n async updateRaw(rawData, options = {}) {\n const objectData = BaseModel._objectDataFromGivenRawData(rawData, options)\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n query_params: this.collection && this.collection.params(),\n save: objectData,\n simple_model_errors: options?.simpleModelErrors\n },\n command: `${this.modelClassData().collectionName}-update`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"update\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {response, model: this}\n }\n\n isValid() {\n throw new Error(\"Not implemented yet\")\n }\n\n async isValidOnServer() {\n const modelData = this.getAttributes()\n const paramKey = this.modelClassData().paramKey\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n\n const response = await CommandsPool.addCommand(\n {\n args: {\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-valid`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"valid\"\n },\n {}\n )\n\n return {valid: response.valid, errors: response.errors}\n }\n\n modelClass = () => this.constructor\n\n preloadRelationship(relationshipName, model) {\n this.relationshipsCache[BaseModel.snakeCase(relationshipName)] = model\n this.relationships[BaseModel.snakeCase(relationshipName)] = model\n }\n\n markForDestruction() {\n this._markedForDestruction = true\n }\n\n markedForDestruction = () => this._markedForDestruction\n\n uniqueKey() {\n if (!this.uniqueKeyValue) {\n const min = 5000000000000000\n const max = 9007199254740991\n const randomBetween = Math.floor(Math.random() * (max - min + 1) + min)\n this.uniqueKeyValue = randomBetween\n }\n\n return this.uniqueKeyValue\n }\n\n static async _callCollectionCommand(args, commandArgs) {\n const formOrDataObject = args.args\n\n try {\n return await CommandsPool.addCommand(args, commandArgs)\n } catch (error) {\n let form\n\n if (commandArgs.form) {\n form = commandArgs.form\n } else if (formOrDataObject?.nodeName == \"FORM\") {\n form = formOrDataObject\n }\n\n if (form) BaseModel.parseValidationErrors({error, options: {form}})\n\n throw error\n }\n }\n\n _callMemberCommand = (args, commandArgs) => CommandsPool.addCommand(args, commandArgs)\n\n static _postDataFromArgs(args) {\n let postData\n\n if (args) {\n if (args instanceof FormData) {\n postData = args\n } else {\n postData = objectToFormData.serialize(args, {}, null, \"args\")\n }\n } else {\n postData = new FormData()\n }\n\n return postData\n }\n\n readAttribute(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n\n return this.readAttributeUnderscore(attributeNameUnderscore)\n }\n\n readAttributeUnderscore(attributeName) {\n if (attributeName in this.changes) {\n return this.changes[attributeName]\n } else if (attributeName in this.modelData) {\n return this.modelData[attributeName]\n } else if (this.isNewRecord()) {\n // Return null if this is a new record and the attribute name is a recognized attribute\n const attributes = digg(this.modelClassData(), \"attributes\")\n\n if (attributeName in attributes) return null\n }\n\n if (this.isPersisted()) {\n throw new AttributeNotLoadedError(`No such attribute: ${digg(this.modelClassData(), \"name\")}#${attributeName}: ${JSON.stringify(this.modelData)}`)\n }\n }\n\n isAttributeLoaded(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n\n if (attributeNameUnderscore in this.changes) return true\n if (attributeNameUnderscore in this.modelData) return true\n return false\n }\n\n _isPresent(value) {\n if (!value) {\n return false\n } else if (typeof value == \"string\" && value.match(/^\\s*$/)) {\n return false\n }\n\n return true\n }\n\n async _loadBelongsToReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n } else {\n const collection = new Collection(args, queryArgs)\n const model = await collection.first()\n this.relationshipsCache[args.reflectionName] = model\n return model\n }\n }\n\n _readBelongsToReflection({reflectionName}) {\n if (reflectionName in this.relationships) {\n return this.relationships[reflectionName]\n } else if (reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[reflectionName]\n }\n\n if (this.isNewRecord()) return null\n\n const loadedRelationships = Object.keys(this.relationshipsCache)\n const modelClassName = digg(this.modelClassData(), \"name\")\n\n throw new NotLoadedError(`${modelClassName}#${reflectionName} hasn't been loaded yet. Only these were loaded: ${loadedRelationships.join(\", \")}`)\n }\n\n async _loadHasManyReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n }\n\n const collection = new Collection(args, queryArgs)\n const models = await collection.toArray()\n\n this.relationshipsCache[args.reflectionName] = models\n\n return models\n }\n\n async _loadHasOneReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n } else {\n const collection = new Collection(args, queryArgs)\n const model = await collection.first()\n\n this.relationshipsCache[args.reflectionName] = model\n\n return model\n }\n }\n\n _readHasOneReflection({reflectionName}) {\n if (reflectionName in this.relationships) {\n return this.relationships[reflectionName]\n } else if (reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[reflectionName]\n }\n\n if (this.isNewRecord()) {\n return null\n }\n\n const loadedRelationships = Object.keys(this.relationshipsCache)\n const modelClassName = digg(this.modelClassData(), \"name\")\n\n throw new NotLoadedError(`${modelClassName}#${reflectionName} hasn't been loaded yet. Only these were loaded: ${loadedRelationships.join(\", \")}`)\n }\n\n _readModelDataFromArgs(args) {\n this.abilities = args.data.b || {}\n this.collection = args.collection\n this.modelData = objectToUnderscore(args.data.a)\n this.preloadedRelationships = args.data.r\n }\n\n _readPreloadedRelationships(preloaded) {\n if (!this.preloadedRelationships) {\n return\n }\n\n const relationships = digg(this.modelClassData(), \"relationships\")\n\n for (const relationshipName in this.preloadedRelationships) {\n const relationshipData = this.preloadedRelationships[relationshipName]\n const relationshipClassData = relationships.find((relationship) => digg(relationship, \"name\") == relationshipName)\n\n if (!relationshipClassData) {\n const modelName = digg(this.modelClassData(), \"name\")\n const relationshipsList = relationships.map((relationship) => relationship.name).join(\", \")\n\n throw new Error(`Could not find the relation ${relationshipName} on the ${modelName} model: ${relationshipsList}`)\n }\n\n const relationshipType = digg(relationshipClassData, \"collectionName\")\n\n if (relationshipName in this.relationshipsCache) {\n throw new Error(`${relationshipName} has already been loaded`)\n }\n\n if (!relationshipClassData) {\n throw new Error(`No relationship on ${digg(this.modelClassData(), \"name\")} by that name: ${relationshipName}`)\n }\n\n if (!relationshipData) {\n this.relationshipsCache[relationshipName] = null\n this.relationships[relationshipName] = null\n } else if (Array.isArray(relationshipData)) {\n this.relationshipsCache[relationshipName] = []\n this.relationships[relationshipName] = []\n\n for (const relationshipId of relationshipData) {\n const model = preloaded.getModel(relationshipType, relationshipId)\n\n this.relationshipsCache[relationshipName].push(model)\n this.relationships[relationshipName].push(model)\n }\n } else {\n const model = preloaded.getModel(relationshipType, relationshipData)\n\n this.relationshipsCache[relationshipName] = model\n this.relationships[relationshipName] = model\n }\n }\n }\n\n primaryKey = () => this.readAttributeUnderscore(this.constructor.primaryKey())\n}\n","import BaseModel from \"./base-model.mjs\"\nimport Collection from \"./collection.mjs\"\nimport {digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\n\nexport default class ApiMakerModelRecipesModelLoader {\n constructor ({modelRecipe, modelRecipesLoader}) {\n if (!modelRecipe) throw new Error(\"No 'modelRecipe' was given\")\n\n this.modelRecipesLoader = modelRecipesLoader\n this.modelRecipe = modelRecipe\n }\n\n createClass () {\n const {modelRecipe} = digs(this, \"modelRecipe\")\n const {\n attributes,\n collection_commands: collectionCommands,\n member_commands: memberCommands,\n model_class_data: modelClassData,\n relationships\n } = digs(\n modelRecipe,\n \"attributes\",\n \"collection_commands\",\n \"member_commands\",\n \"model_class_data\",\n \"relationships\"\n )\n const {name: modelClassName} = digs(modelClassData, \"name\")\n const ModelClass = class ApiMakerModel extends BaseModel { }\n\n Object.defineProperty(ModelClass, \"name\", {writable: false, value: modelClassName})\n\n ModelClass.prototype.constructor.modelClassData = () => modelClassData\n\n this.addAttributeMethodsToModelClass(ModelClass, attributes)\n this.addRelationshipsToModelClass(ModelClass, modelClassData, relationships)\n this.addQueryCommandsToModelClass(ModelClass, collectionCommands)\n this.addMemberCommandsToModelClass(ModelClass, memberCommands)\n\n return ModelClass\n }\n\n addAttributeMethodsToModelClass (ModelClass, attributes) {\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName]\n const {name} = digs(attribute, \"name\")\n const methodName = inflection.camelize(name, true)\n const hasMethodName = inflection.camelize(`has_${name}`, true)\n\n ModelClass.prototype[methodName] = function () {\n return this.readAttributeUnderscore(attributeName)\n }\n\n ModelClass.prototype[hasMethodName] = function () {\n const value = this[methodName]()\n\n return this._isPresent(value)\n }\n }\n }\n\n addQueryCommandsToModelClass (ModelClass, collectionCommands) {\n for (const collectionCommandName in collectionCommands) {\n const methodName = inflection.camelize(collectionCommandName, true)\n\n ModelClass[methodName] = function (args, commandArgs = {}) {\n return this._callCollectionCommand(\n {\n args,\n command: collectionCommandName,\n collectionName: digg(this.modelClassData(), \"collectionName\"),\n type: \"collection\"\n },\n commandArgs\n )\n }\n }\n }\n\n addMemberCommandsToModelClass (ModelClass, memberCommands) {\n for (const memberCommandName in memberCommands) {\n const methodName = inflection.camelize(memberCommandName, true)\n\n ModelClass.prototype[methodName] = function (args, commandArgs = {}) {\n return this._callMemberCommand(\n {\n args,\n command: memberCommandName,\n primaryKey: this.primaryKey(),\n collectionName: this.modelClassData().collectionName,\n type: \"member\"\n },\n commandArgs\n )\n }\n }\n }\n\n addRelationshipsToModelClass (ModelClass, modelClassData, relationships) {\n const {modelRecipesLoader} = digs(this, \"modelRecipesLoader\")\n\n for (const relationshipName in relationships) {\n const relationship = relationships[relationshipName]\n const {\n active_record: {\n name: activeRecordName,\n primary_key: activeRecordPrimaryKey\n },\n class_name: className,\n foreign_key: foreignKey,\n klass: {primary_key: klassPrimaryKey},\n options: {as: optionsAs, primary_key: optionsPrimaryKey, through: optionsThrough},\n resource_name: resourceName,\n type\n } = digs(\n relationship,\n \"active_record\",\n \"class_name\",\n \"foreign_key\",\n \"klass\",\n \"options\",\n \"resource_name\",\n \"type\"\n )\n const loadMethodName = inflection.camelize(`load_${relationshipName}`, true)\n const modelMethodName = inflection.camelize(relationshipName, true)\n\n if (type == \"belongs_to\") {\n this.defineBelongsToGetMethod({ModelClass, modelMethodName, relationshipName})\n this.defineBelongsToLoadMethod({\n foreignKey,\n klassPrimaryKey,\n loadMethodName,\n ModelClass,\n modelRecipesLoader,\n optionsPrimaryKey,\n relationshipName,\n resourceName\n })\n } else if (type == \"has_many\") {\n this.defineHasManyGetMethod({\n activeRecordName,\n className,\n foreignKey,\n ModelClass,\n modelMethodName,\n modelRecipesLoader,\n optionsAs,\n optionsPrimaryKey,\n optionsThrough,\n relationshipName,\n resourceName\n })\n this.defineHasManyLoadMethod({foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, relationshipName, resourceName})\n } else if (type == \"has_one\") {\n this.defineHasOneGetMethd({ModelClass, modelMethodName, relationshipName})\n this.defineHasOneLoadMethod({\n activeRecordPrimaryKey,\n foreignKey,\n loadMethodName,\n ModelClass,\n modelClassData,\n modelRecipesLoader,\n optionsThrough,\n relationshipName,\n resourceName\n })\n } else {\n throw new Error(`Unknown relationship type: ${type}`)\n }\n }\n }\n\n defineBelongsToGetMethod ({ModelClass, modelMethodName, relationshipName}) {\n ModelClass.prototype[modelMethodName] = function () {\n return this._readBelongsToReflection({reflectionName: relationshipName})\n }\n }\n\n defineBelongsToLoadMethod ({foreignKey, klassPrimaryKey, ModelClass, modelRecipesLoader, loadMethodName, optionsPrimaryKey, relationshipName, resourceName}) {\n ModelClass.prototype[loadMethodName] = function () {\n const foreignKeyMethodName = inflection.camelize(foreignKey, true)\n\n if (!(foreignKeyMethodName in this)) throw new Error(`Foreign key method wasn't defined: ${foreignKeyMethodName}`)\n\n const id = this[foreignKeyMethodName]()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n const ransack = {}\n const ransackIdSearchKey = `${optionsPrimaryKey || klassPrimaryKey}_eq`\n\n ransack[ransackIdSearchKey] = id\n\n return this._loadBelongsToReflection(\n {reflectionName: relationshipName, model: this, modelClass},\n {ransack}\n )\n }\n }\n\n defineHasManyGetMethod ({\n activeRecordName,\n className,\n foreignKey,\n ModelClass,\n modelMethodName,\n modelRecipesLoader,\n optionsAs,\n optionsPrimaryKey,\n optionsThrough,\n relationshipName,\n resourceName\n }) {\n ModelClass.prototype[modelMethodName] = function () {\n const id = this.primaryKey()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n const hasManyParameters = {\n reflectionName: relationshipName,\n model: this,\n modelName: className,\n modelClass\n }\n\n let queryParameters\n\n if (optionsThrough) {\n queryParameters = {\n params: {\n through: {\n model: activeRecordName,\n id: this.primaryKey(),\n reflection: relationshipName\n }\n }\n }\n } else {\n const ransack = {}\n const primaryKeyColumnName = optionsPrimaryKey || digg(ModelClass.modelClassData(), \"primaryKey\")\n const primaryKeyMethodName = inflection.camelize(primaryKeyColumnName, true)\n\n if (!(primaryKeyMethodName in this)) throw new Error(`No such primary key method: ${primaryKeyMethodName}`)\n\n ransack[`${foreignKey}_eq`] = this[primaryKeyMethodName]()\n\n if (optionsAs) {\n ransack[`${optionsAs}_type_eq`] = activeRecordName\n }\n\n queryParameters = {ransack}\n }\n\n return new Collection(hasManyParameters, queryParameters)\n }\n }\n\n defineHasManyLoadMethod ({foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, optionsThrough, relationshipName, resourceName}) {\n ModelClass.prototype[loadMethodName] = function () {\n const id = this.primaryKey()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n\n if (optionsThrough) {\n const modelClassName = digg(modelClassData, \"className\")\n\n return this._loadHasManyReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {\n params: {\n through: {\n model: modelClassName,\n id,\n reflection: relationshipName\n }\n }\n }\n )\n } else {\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n return this._loadHasManyReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {ransack}\n )\n }\n }\n }\n\n defineHasOneGetMethd ({ModelClass, modelMethodName, relationshipName}) {\n ModelClass.prototype[modelMethodName] = function () {\n return this._readHasOneReflection({reflectionName: relationshipName})\n }\n }\n\n defineHasOneLoadMethod ({\n activeRecordPrimaryKey,\n foreignKey,\n loadMethodName,\n ModelClass,\n modelClassData,\n modelRecipesLoader,\n optionsThrough,\n relationshipName,\n resourceName\n }) {\n ModelClass.prototype[loadMethodName] = function () {\n const primaryKeyMethodName = inflection.camelize(activeRecordPrimaryKey, true)\n\n if (!(primaryKeyMethodName in this)) throw new Error(`Primary key method wasn't defined: ${primaryKeyMethodName}`)\n\n const id = this[primaryKeyMethodName]()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n\n if (optionsThrough) {\n const modelClassName = digg(modelClassData, \"className\")\n\n return this._loadHasOneReflection(\n {reflectionName: relationshipName, model: this, modelClass},\n {params: {through: {model: modelClassName, id, reflection: relationshipName}}}\n )\n } else {\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n return this._loadHasOneReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {ransack}\n )\n }\n }\n }\n}\n","import {digg, digs} from \"diggerize\"\nimport ModelRecipesModelLoader from \"./model-recipes-model-loader.mjs\"\n\nexport default class ModelRecipesLoader {\n constructor ({recipes}) {\n this.modelClasses = {}\n this.recipes = recipes\n }\n\n getModelClass (name) {\n return digg(this, \"modelClasses\", name)\n }\n\n load () {\n const {recipes} = digs(this, \"recipes\")\n const {models} = digs(recipes, \"models\")\n\n for (const modelName in models) {\n const modelRecipe = models[modelName]\n const modelClassLoader = new ModelRecipesModelLoader({modelRecipe, modelRecipesLoader: this})\n const modelClass = modelClassLoader.createClass()\n\n this.modelClasses[modelName] = modelClass\n }\n\n return this.modelClasses\n }\n}\n","import * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\n\nexport default class ApiMakerPreloaded {\n constructor (response) {\n this.response = response\n this.loadPreloadedModels()\n }\n\n loadPreloadedModels () {\n this.preloaded = {}\n\n for (const preloadedType in this.response.preloaded) {\n const modelClassName = inflection.classify(preloadedType)\n const ModelClass = modelClassRequire(modelClassName)\n\n for (const preloadedId in this.response.preloaded[preloadedType]) {\n const preloadedData = this.response.preloaded[preloadedType][preloadedId]\n const model = new ModelClass({data: preloadedData, isNewRecord: false})\n\n if (!this.preloaded[preloadedType]) {\n this.preloaded[preloadedType] = {}\n }\n\n this.preloaded[preloadedType][preloadedId] = model\n }\n }\n\n for (const modelType in this.preloaded) {\n for (const modelId in this.preloaded[modelType]) {\n this.preloaded[modelType][modelId]._readPreloadedRelationships(this)\n }\n }\n }\n\n getModel (type, id) {\n if (!this.preloaded[type] || !this.preloaded[type][id]) {\n throw new Error(`Could not find a ${type} by that ID: ${id}`)\n }\n\n return this.preloaded[type][id]\n }\n}\n","import * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport Preloaded from \"./preloaded.mjs\"\n\nexport default class ModelsResponseReader {\n static first (response) {\n return ModelsResponseReader.collection(response)[0]\n }\n\n static collection (response) {\n const reader = new ModelsResponseReader({response})\n return reader.models()\n }\n\n constructor (args) {\n this.collection = args.collection\n this.response = args.response\n }\n\n models () {\n const preloaded = new Preloaded(this.response)\n const models = []\n\n for (const modelType in this.response.data) {\n const modelClassName = inflection.classify(modelType)\n const ModelClass = modelClassRequire(modelClassName)\n const collectionName = ModelClass.modelClassData().collectionName\n\n for (const modelId of this.response.data[modelType]) {\n const modelData = this.response.preloaded[collectionName][modelId]\n\n if (!modelData)\n throw new Error(`Couldn't find model data for ${collectionName}(${modelId})`)\n\n const model = new ModelClass({\n collection: this.collection,\n data: modelData,\n isNewRecord: false\n })\n\n model._readPreloadedRelationships(preloaded)\n models.push(model)\n }\n }\n\n return models\n }\n}\n","export default class ApiMakerResult {\n constructor (data) {\n this.data = data\n }\n\n count = () => this.data.response.meta.count\n currentPage = () => this.data.response.meta.currentPage\n models = () => this.data.models\n modelClass = () => this.data.collection.modelClass()\n perPage = () => this.data.response.meta.perPage\n totalCount = () => this.data.response.meta.totalCount\n totalPages = () => this.data.response.meta.totalPages\n}\n","import {dig, digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport qs from \"qs\"\nimport urlEncode from \"./url-encode.mjs\"\n\nexport default class ApiMakerRoutesNative {\n constructor ({getLocale}) {\n this.getLocale = getLocale\n this.routeDefinitions = []\n this.routeTranslationParts = {}\n }\n\n loadRouteDefinitions (routeDefinitions, routeDefinitionArgs) {\n for (const routeDefinition of digg(routeDefinitions, \"routes\")) {\n const {name, path} = digs(routeDefinition, \"name\", \"path\")\n const rawPathParts = path.split(\"/\")\n const pathMethodName = `${inflection.camelize(name, true)}Path`\n const urlMethodName = `${inflection.camelize(name, true)}Url`\n\n if (routeDefinitionArgs && routeDefinitionArgs.localized) {\n const localizedRoutes = {}\n\n for (const locale in this.routeTranslationParts) {\n let variableCount = 0\n\n const localizedPathParts = [\n {type: \"pathPart\", name: \"\"},\n {type: \"pathPart\", name: locale}\n ]\n\n for (let i = 1; i < rawPathParts.length; i++) {\n const pathPart = rawPathParts[i]\n const variableMatch = pathPart.match(/^:([A-z_]+)$/)\n\n if (variableMatch) {\n localizedPathParts.push({type: \"variable\", count: variableCount++})\n } else if (pathPart) {\n const name = this.i18n.t(`routes.${pathPart}`, null, {default: pathPart, locale})\n\n localizedPathParts.push({type: \"pathPart\", name})\n }\n }\n\n localizedRoutes[locale] = localizedPathParts\n }\n\n this[pathMethodName] = (...args) => this.translateRoute({args, localizedRoutes})\n this[urlMethodName] = (...args) => this.translateRoute({args, localizedRoutes, url: true})\n } else {\n let variableCount = 0\n\n const pathParts = rawPathParts.map((pathPart) => {\n const variableMatch = pathPart.match(/^:([A-z_]+)$/)\n\n if (variableMatch) {\n return {type: \"variable\", count: variableCount}\n } else {\n return {type: \"pathPart\", name: pathPart}\n }\n })\n\n this[pathMethodName] = (...args) => this.translateRoute({args, pathParts})\n this[urlMethodName] = (...args) => this.translateRoute({args, pathParts, url: true})\n }\n }\n }\n\n loadRouteTranslations (i18n) {\n this.i18n = i18n\n const locales = digg(i18n, \"locales\")\n\n for (const locale in locales) {\n const routeTranslations = dig(locales, locale, \"routes\")\n\n if (!routeTranslations) continue\n if (!(locale in this.routeTranslationParts)) this.routeTranslationParts[locale] = {}\n\n for (const key in routeTranslations) {\n this.routeTranslationParts[locale][key] = routeTranslations[key]\n }\n }\n }\n\n translateRoute ({args, localizedRoutes, pathParts, url}) {\n let options\n\n // Extract options from args if any\n const lastArg = args[args.length - 1]\n\n if (lastArg && typeof lastArg == \"object\") {\n options = args.pop()\n } else {\n options = {}\n }\n\n // Take locale from options if given or fall back to fallback\n const {locale, host, port, protocol, ...restOptions} = options\n\n if (localizedRoutes) {\n // Put together route with variables and static translated parts (which were translated and cached previously)\n let translatedRoute = digg(localizedRoutes, locale || this.getLocale())\n .map((pathPart) => {\n if (pathPart.type == \"pathPart\") {\n return pathPart.name\n } else if (pathPart.type == \"variable\") {\n // Args might not contain the right amount of variables, so dont change this to 'digg'\n return dig(args, digg(pathPart, \"count\"))\n } else {\n throw new Error(`Unhandled path part type: ${pathPart.type}`)\n }\n })\n .join(\"/\")\n\n if (restOptions && Object.keys(restOptions).length > 0) {\n translatedRoute += `?${qs.stringify(restOptions, {encoder: urlEncode})}`\n }\n\n if (url) return this.addHostToRoute({host, port, protocol, translatedRoute})\n\n return translatedRoute\n } else if (pathParts) {\n // Put together route with variables and static translated parts (which were translated and cached previously)\n let translatedRoute = pathParts\n .map((pathPart) => {\n if (pathPart.type == \"pathPart\") {\n return pathPart.name\n } else if (pathPart.type == \"variable\") {\n return digg(args, digg(pathPart, \"count\"))\n } else {\n throw new Error(`Unhandled path part type: ${pathPart.type}`)\n }\n })\n .join(\"/\")\n\n if (restOptions && Object.keys(restOptions).length > 0) {\n translatedRoute += `?${qs.stringify(restOptions, {encoder: urlEncode})}`\n }\n\n if (url) return this.addHostToRoute({host, port, protocol, translatedRoute})\n\n return translatedRoute\n }\n\n throw new Error(\"Unhandled state\")\n }\n\n addHostToRoute ({host, port, protocol, translatedRoute}) {\n let fullUrl = \"\"\n\n const hostToUse = host || globalThis.location && globalThis.location.host\n const portToUse = port || globalThis.location && globalThis.location.port\n\n if (!hostToUse) throw new Error(\"Unable to detect host\")\n\n if (protocol) {\n fullUrl += `${protocol}://`\n } else if (globalThis.location && globalThis.location.protocol) {\n fullUrl += `${globalThis.location.protocol}//`\n } else {\n fullUrl += \"https://\"\n }\n\n fullUrl += hostToUse\n\n if (portToUse && ((protocol == \"http\" && portToUse != 80) || (protocol == \"https\" && port != 443))) {\n fullUrl += `:${portToUse}`\n }\n\n fullUrl += translatedRoute\n\n return fullUrl\n }\n}\n","export default class RunLast {\n constructor(callback) {\n if (!callback) throw new Error(\"Empty callback given\")\n\n this.callback = callback\n }\n\n // Try to batch calls to backend while waiting for the event-queue-call to clear any other jobs before the request and reset on every flush call\n // If only waiting a single time, then other event-queue-jobs might be before us and queue other jobs that might queue calls to the backend\n queue() {\n this.flushTriggerCount = 0\n this.clearTimeout()\n this.flushTrigger()\n }\n\n flushTrigger = () => {\n if (this.flushTriggerCount >= 10) {\n this.run()\n } else {\n this.flushTriggerCount++\n this.flushTriggerQueue()\n }\n }\n\n flushTriggerQueue() {\n this.flushTimeout = setTimeout(this.flushTrigger, 0)\n }\n\n clearTimeout() {\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout)\n }\n }\n\n run() {\n clearTimeout(this.flushTimeout)\n this.callback()\n }\n}\n","import CommandsPool from \"./commands-pool.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerServices {\n static current () {\n if (!shared.currentApiMakerService) shared.currentApiMakerService = new ApiMakerServices()\n\n return shared.currentApiMakerService\n }\n\n sendRequest (serviceName, args) {\n return CommandsPool.addCommand({\n args: {\n service_args: args,\n service_name: serviceName\n },\n command: \"services\",\n collectionName: \"calls\",\n type: \"service\"\n })\n }\n}\n","import config from \"./config.mjs\"\nimport Devise from \"./devise.mjs\"\nimport * as inflection from \"inflection\"\nimport Logger from \"./logger.mjs\"\nimport wakeEvent from \"wake-event\"\n\nconst logger = new Logger({name: \"ApiMaker / SessionStatusUpdater\"})\nconst shared = {}\n\n// logger.setDebug(true)\n\nexport default class ApiMakerSessionStatusUpdater {\n static current(args) {\n if (!shared.apiMakerSessionStatusUpdater) {\n shared.apiMakerSessionStatusUpdater = new ApiMakerSessionStatusUpdater(args)\n }\n\n return shared.apiMakerSessionStatusUpdater\n }\n\n constructor(args = {}) {\n this.events = {}\n this.timeout = args.timeout || 600000\n this.useMetaElement = (\"useMetaElement\" in args) ? args.useMetaElement : true\n\n this.connectOnlineEvent()\n this.connectWakeEvent()\n }\n\n connectOnlineEvent() {\n window.addEventListener(\"online\", this.updateSessionStatus, false)\n }\n\n connectWakeEvent() {\n wakeEvent(this.updateSessionStatus)\n }\n\n async getCsrfToken() {\n if (this.csrfToken) {\n logger.debug(`Get CSRF token from set variable: ${this.csrfToken}`)\n\n return this.csrfToken\n }\n\n if (this.useMetaElement) {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n logger.debug(() => `Get CSRF token from meta element: ${csrfTokenElement.getAttribute(\"content\")}`)\n\n this.csrfToken = csrfTokenElement.getAttribute(\"content\")\n\n return this.csrfToken\n }\n }\n\n logger.debug(\"Updating session status because no CSRF token set yet\")\n await this.updateSessionStatus()\n\n if (this.csrfToken) {\n logger.debug(() => `Returning CSRF token after updating session status: ${this.csrfToken}`)\n\n return this.csrfToken\n }\n\n throw new Error(\"CSRF token hasn't been set\")\n }\n\n sessionStatus() {\n return new Promise((resolve) => {\n const host = config.getHost()\n let requestPath = \"\"\n\n if (host) requestPath += host\n\n requestPath += \"/api_maker/session_statuses\"\n\n const xhr = new XMLHttpRequest()\n xhr.open(\"POST\", requestPath, true)\n xhr.onload = () => {\n const response = JSON.parse(xhr.responseText)\n resolve(response)\n }\n xhr.send()\n })\n }\n\n onSignedOut(callback) {\n this.addEvent(\"onSignedOut\", callback)\n }\n\n startTimeout() {\n logger.debug(\"startTimeout\")\n\n if (this.updateTimeout)\n clearTimeout(this.updateTimeout)\n\n this.updateTimeout = setTimeout(\n () => {\n this.startTimeout()\n this.updateSessionStatus()\n },\n this.timeout\n )\n }\n\n stopTimeout() {\n if (this.updateTimeout)\n clearTimeout(this.updateTimeout)\n }\n\n updateSessionStatus = async () => {\n logger.debug(\"updateSessionStatus\")\n\n const result = await this.sessionStatus()\n\n logger.debug(() => `Result: ${JSON.stringify(result, null, 2)}`)\n this.updateMetaElementsFromResult(result)\n this.updateUserSessionsFromResult(result)\n }\n\n updateMetaElementsFromResult(result) {\n logger.debug(\"updateMetaElementsFromResult\")\n\n this.csrfToken = result.csrf_token\n\n if (this.useMetaElement) {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n logger.debug(() => `Changing token from \"${csrfTokenElement.getAttribute(\"content\")}\" to \"${result.csrf_token}\"`)\n csrfTokenElement.setAttribute(\"content\", result.csrf_token)\n } else {\n logger.debug(\"csrf token element couldn't be found\")\n }\n }\n }\n\n updateUserSessionsFromResult(result) {\n for (const scopeName in result.scopes) {\n this.updateUserSessionScopeFromResult(scopeName, result.scopes[scopeName])\n }\n }\n\n updateUserSessionScopeFromResult(scopeName, scope) {\n const deviseIsSignedInMethodName = `is${inflection.camelize(scopeName)}SignedIn`\n\n if (!(deviseIsSignedInMethodName in Devise)) {\n throw new Error(`No such method in Devise: ${deviseIsSignedInMethodName}`)\n }\n\n const currentlySignedIn = Devise[deviseIsSignedInMethodName]()\n const signedInOnBackend = scope.signed_in\n\n if (currentlySignedIn && !signedInOnBackend) {\n logger.debug(() => `${inflection.camelize(scopeName)} signed in on frontend but not in backend!`)\n\n Devise.setSignedOut({scope: scopeName})\n Devise.callSignOutEvent({scope: scopeName})\n }\n }\n}\n","import escapeStringRegexp from \"escape-string-regexp\"\n\nconst replaces = {\n \" \": \"+\",\n \"&\": \"%26\",\n \"#\": \"%23\",\n \"+\": \"%2B\",\n \"/\": \"%2F\",\n \"?\": \"%3F\"\n}\n\nconst regexp = new RegExp(`(${Object.keys(replaces).map(escapeStringRegexp).join(\"|\")})`, \"g\")\n\nconst urlEncode = (string) => {\n return String(string).replaceAll(regexp, (character) => replaces[character])\n}\n\nexport default urlEncode\n","import {useLayoutEffect} from \"react\"\n\nconst ApiMakerUseEventEmitter = (events, event, onCalled) => {\n useLayoutEffect(() => {\n if (events) {\n events.addListener(event, onCalled)\n\n return () => {\n events.removeListener(event, onCalled)\n }\n }\n }, [events, event, onCalled])\n}\n\nexport default ApiMakerUseEventEmitter\n","import {useCallback, useLayoutEffect} from \"react\"\n\nconst ApiMakerUseEventListener = (target, event, onCalled) => {\n const onCalledCallback = useCallback((...args) => {\n onCalled.apply(null, args)\n }, [target, event, onCalled])\n\n useLayoutEffect(() => {\n if (target) {\n target.addEventListener(event, onCalledCallback)\n\n return () => {\n target.removeEventListener(event, onCalledCallback)\n }\n }\n }, [target, event, onCalled])\n}\n\nexport default ApiMakerUseEventListener\n","import BaseError from \"./base-error.mjs\"\nimport * as inflection from \"inflection\"\n\nclass ValidationError extends BaseError {\n constructor(validationErrors, args) {\n const errorMessage = validationErrors.getUnhandledErrorMessage() || validationErrors.getErrorMessage()\n const forwardedArgs = {addResponseErrorsToErrorMessage: false}\n const newArgs = Object.assign({}, args, forwardedArgs)\n\n super(errorMessage, newArgs)\n this.validationErrors = validationErrors\n }\n\n getUnhandledErrors = () => this.validationErrors.getValidationErrors().filter((validationError) => !validationError.getHandled())\n getValidationErrors = () => digg(this, \"validationErrors\")\n\n hasUnhandledErrors() {\n const unhandledError = this.validationErrors.getValidationErrors().find((validationError) => !validationError.getHandled())\n\n return Boolean(unhandledError)\n }\n\n hasValidationErrorForAttribute(attributeName) {\n const underscoredAttributeName = inflection.underscore(attributeName)\n const foundAttribute = this.validationErrors.getValidationErrors().find((validationError) => validationError.getAttributeName() == underscoredAttributeName)\n\n if (foundAttribute) return true\n\n return false\n }\n}\n\nValidationError.apiMakerType = \"ValidationError\"\n\nexport default ValidationError\n","import {digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\n\nclass ValidationError {\n constructor(args) {\n this.attributeName = digg(args, \"attribute_name\")\n this.attributeType = digg(args, \"attribute_type\")\n this.errorMessages = digg(args, \"error_messages\")\n this.errorTypes = digg(args, \"error_types\")\n this.inputName = args.input_name\n this.handled = false\n this.modelName = digg(args, \"model_name\")\n }\n\n matchesAttributeAndInputName(attributeName, inputName) {\n if (this.getInputName() == inputName) return true\n if (!attributeName) return false\n\n // A relationship column ends with \"_id\". We should try for validation errors on an attribute without the \"_id\" as well\n const attributeNameIdMatch = attributeName.match(/^(.+)Id$/)\n if (!attributeNameIdMatch) return false\n\n const attributeNameWithoutId = inflection.underscore(attributeNameIdMatch[1])\n const attributeUnderScoreName = inflection.underscore(attributeName)\n const inputNameWithoutId = inputName.replace(`[${attributeUnderScoreName}]`, `[${attributeNameWithoutId}]`)\n\n if (this.getInputName() == inputNameWithoutId) return true\n\n return false\n }\n\n getAttributeName = () => digg(this, \"attributeName\")\n getErrorMessages = () => digg(this, \"errorMessages\")\n\n getFullErrorMessages() {\n const {attributeType} = digs(this, \"attributeType\")\n\n if (attributeType == \"base\") {\n return this.getErrorMessages()\n } else {\n const fullErrorMessages = []\n\n for (const errorMessage of this.getErrorMessages()) {\n const attributeHumanName = this.getModelClass().humanAttributeName(this.getAttributeName())\n fullErrorMessages.push(`${attributeHumanName} ${errorMessage}`)\n }\n\n return fullErrorMessages\n }\n }\n\n getHandled = () => digg(this, \"handled\")\n getInputName = () => digg(this, \"inputName\")\n\n getModelClass() {\n const modelName = inflection.classify(digg(this, \"modelName\"))\n\n return modelClassRequire(modelName)\n }\n\n setHandled() {\n this.handled = true\n }\n}\n\nclass ValidationErrors {\n constructor(args) {\n this.rootModel = digg(args, \"model\")\n this.validationErrors = digg(args, \"validationErrors\").map((validationError) => new ValidationError(validationError))\n }\n\n getErrorMessage() {\n const fullErrorMessages = []\n\n for (const validationError of this.validationErrors) {\n for (const fullErrorMessage of validationError.getFullErrorMessages()) {\n fullErrorMessages.push(fullErrorMessage)\n }\n }\n\n return fullErrorMessages.join(\". \")\n }\n\n getValidationErrors = () => this.validationErrors\n\n getValidationErrorsForInput ({attribute, inputName, onMatchValidationError}) {\n const validationErrors = this.validationErrors.filter((validationError) => {\n if (onMatchValidationError) {\n return onMatchValidationError(validationError)\n } else {\n return validationError.matchesAttributeAndInputName(attribute, inputName)\n }\n })\n\n validationErrors.map((validationError) => validationError.setHandled())\n\n return validationErrors\n }\n\n getUnhandledErrorMessage () {\n const unhandledValidationErrors = this.validationErrors.filter((validationError) => !validationError.getHandled())\n\n if (unhandledValidationErrors.length > 0) {\n const unhandledValidationErrorMessages = []\n\n for (const unhandledValidationError of unhandledValidationErrors) {\n for (const errorMessage of unhandledValidationError.getFullErrorMessages()) {\n unhandledValidationErrorMessages.push(errorMessage)\n }\n }\n\n return unhandledValidationErrorMessages.join(\". \")\n }\n }\n}\n\nexport {\n ValidationError,\n ValidationErrors\n}\n","import {simpleObjectValuesDifferent} from \"./diff-utils.js\"\n\nconst memoCompareProps = (prevProps, nextProps, debug) => {\n if (debug) {\n console.log(\"memoCompareProps\", {prevProps, nextProps})\n }\n\n if (Object.keys(nextProps).length != Object.keys(prevProps).length) {\n if (debug) {\n console.log(`Keys length was different - prev ${Object.keys(prevProps).length} after ${Object.keys(nextProps).length}`)\n }\n\n return false\n }\n\n if (debug) {\n console.log(\"Running simpleObjectValuesDifferent\")\n }\n\n const result = simpleObjectValuesDifferent(nextProps, prevProps, {debug})\n\n if (debug) {\n console.log(`Was it different: ${result}`)\n }\n\n return !result\n}\n\nconst memoComparePropsWithDebug = (prevProps, nextProps) => memoCompareProps(prevProps, nextProps, true)\n\nexport {memoComparePropsWithDebug}\nexport default memoCompareProps\n","import {anythingDifferent} from \"./diff-utils.js\"\nimport fetchingObject from \"fetching-object\"\nimport memoCompareProps from \"./memo-compare-props.js\"\nimport PropTypes from \"prop-types\"\nimport shared from \"./shared.js\"\nimport {useEffect, useMemo, useState} from \"react\"\n\nclass ShapeComponent {\n constructor(props) {\n this.props = props\n this.setStates = {}\n this.state = {}\n this.__firstRenderCompleted = false\n this.tt = fetchingObject(this)\n this.p = fetchingObject(() => this.props)\n this.s = fetchingObject(this.state)\n }\n\n setInstance(variables) {\n for (const name in variables) {\n this[name] = variables[name]\n }\n }\n\n setState(statesList, callback) {\n if (typeof statesList == \"function\") {\n statesList = statesList(this.state)\n }\n\n for (const stateName in statesList) {\n const newValue = statesList[stateName]\n\n if (!(stateName in this.setStates)) {\n throw new Error(`No such state: ${stateName}`)\n }\n\n this.setStates[stateName](newValue)\n }\n\n if (callback) {\n shared.renderingCallbacks.push(callback)\n }\n }\n\n useState(stateName, defaultValue) {\n const [stateValue, setState] = useState(defaultValue)\n\n if (!(stateName in this.state)) {\n this.state[stateName] = stateValue\n this.setStates[stateName] = (newValue) => {\n if (anythingDifferent(this.state[stateName], newValue)) {\n let prevState\n\n if (this.componentDidUpdate) {\n prevState = Object.assign({}, this.state)\n }\n\n this.state[stateName] = newValue\n\n // Avoid React error if using set-state while rendering (like in a useMemo callback)\n if (shared.rendering > 0) {\n shared.renderingCallbacks.push(() => {\n setState(newValue)\n })\n } else {\n setState(newValue)\n }\n\n if (this.componentDidUpdate) {\n this.componentDidUpdate(this.props, prevState)\n }\n }\n }\n }\n\n return this.setStates[stateName]\n }\n\n useStates(statesList) {\n if (Array.isArray(statesList)) {\n for(const stateName of statesList) {\n this.useState(stateName)\n }\n } else {\n for(const stateName in statesList) {\n const defaultValue = statesList[stateName]\n\n this.useState(stateName, defaultValue)\n }\n }\n }\n}\n\nconst shapeComponent = (ShapeClass) => {\n const functionalComponent = (props) => {\n // Count rendering to avoid setting state while rendering which causes a console-error from React\n shared.rendering += 1\n\n try {\n // Calculate and validate props\n let actualProps\n\n if (ShapeClass.defaultProps) {\n // Undefined values are removed from the props because they shouldn't override default values\n const propsWithoutUndefined = Object.assign({}, props)\n\n for (const key in propsWithoutUndefined) {\n const value = propsWithoutUndefined[key]\n\n if (value === undefined) {\n delete propsWithoutUndefined[key]\n }\n }\n\n actualProps = Object.assign({}, ShapeClass.defaultProps, propsWithoutUndefined)\n } else {\n actualProps = props\n }\n\n if (ShapeClass.propTypes) {\n const validateProps = {}\n\n for (const key in actualProps) {\n // Accessing 'key' will result in a warning in the console\n if (key == \"key\") continue\n\n validateProps[key] = actualProps[key]\n }\n\n PropTypes.checkPropTypes(ShapeClass.propTypes, validateProps, \"prop\", ShapeClass.name)\n }\n\n const shape = useMemo(() => new ShapeClass(actualProps), [])\n const prevProps = shape.props\n\n shape.props = actualProps\n\n if (shape.setup) {\n shape.setup()\n }\n\n if (shape.componentDidUpdate && shape.__firstRenderCompleted && memoCompareProps(shape.props, props)) {\n shape.componentDidUpdate(prevProps, shape.state)\n }\n\n if (shape.componentDidMount || shape.componentWillUnmount) {\n useEffect(() => {\n if (shape.componentDidMount) {\n shape.componentDidMount()\n }\n\n return () => {\n if (shape.componentWillUnmount) {\n shape.componentWillUnmount()\n }\n }\n }, [])\n }\n\n shape.__firstRenderCompleted = true\n\n // Run any callbacks added by setState(states, callback) once rendering is done\n useEffect(() => {\n if (shared.rendering == 0) {\n try {\n for (const callback of shared.renderingCallbacks) {\n new Promise(() => callback())\n }\n } finally {\n shared.renderingCallbacks.length = 0\n }\n }\n })\n\n // Finally render the component and return it\n return shape.render()\n } finally {\n shared.rendering -= 1\n }\n }\n\n functionalComponent.displayName = ShapeClass.name\n\n Object.defineProperty(functionalComponent, \"name\", {value: ShapeClass.name})\n\n return functionalComponent\n}\n\nexport {shapeComponent, ShapeComponent}\n","if (!window.setStateCompareData) {\n window.setStateCompareData = {\n rendering: 0,\n renderingCallbacks: []\n }\n}\n\nconst shared = window.setStateCompareData\n\nexport default shared\n","import {anythingDifferent} from \"./diff-utils.js\"\nimport {useMemo, useState} from \"react\"\nimport fetchingObject from \"fetching-object\"\nimport shared from \"./shared.js\"\n\nclass Shape {\n constructor() {\n this.setStates = {}\n this.state = {}\n this.props = {}\n this.meta = {}\n this.m = fetchingObject(() => this.meta)\n this.p = fetchingObject(() => this.props)\n this.s = fetchingObject(this.state)\n }\n\n set(statesList) {\n for (const stateName in statesList) {\n const newValue = statesList[stateName]\n\n if (!(stateName in this.setStates)) {\n throw new Error(`No such state: ${stateName}`)\n }\n\n this.setStates[stateName](newValue)\n }\n }\n\n updateMeta(newMeta) {\n Object.assign(this.meta, newMeta)\n }\n\n updateProps(newProps) {\n this.props = newProps\n }\n\n useState(stateName, defaultValue) {\n const [stateValue, setState] = useState(defaultValue)\n\n if (!(stateName in this.state)) {\n this.state[stateName] = stateValue\n this.setStates[stateName] = (newValue) => {\n if (anythingDifferent(this.state[stateName], newValue)) {\n this.state[stateName] = newValue\n\n // Avoid React error if using set-state while rendering (like in a useMemo callback)\n if (shared.rendering > 0) {\n setTimeout(() => setState(newValue), 0)\n } else {\n setState(newValue)\n }\n }\n }\n }\n\n return this.setStates[stateName]\n }\n\n useStates(statesList) {\n if (Array.isArray(statesList)) {\n for(const stateName of statesList) {\n this.useState(stateName)\n }\n } else {\n for(const stateName in statesList) {\n const defaultValue = statesList[stateName]\n\n this.useState(stateName, defaultValue)\n }\n }\n }\n}\n\nconst shapeComponent = (ShapeClass) => {\n return (props) => {\n const shape = useMemo(() => new ShapeClass(), [])\n\n shape.updateProps(props)\n\n if (shape.setup) {\n shape.setup()\n }\n\n return shape.render()\n }\n}\n\nconst useShape = (props, opts) => {\n const shape = useMemo(\n () => {\n const ShapeClass = opts?.shapeClass || Shape\n\n return new ShapeClass()\n },\n []\n )\n\n shape.updateProps(props)\n\n return shape\n}\n\nexport {shapeComponent, Shape}\nexport default useShape\n","export default class OnLocationChangedCallback {\n constructor(callbacksHandler, id, callback) {\n this.callback = callback\n this.callbacksHandler = callbacksHandler\n this.id = id\n this.callCallback = this.callCallback.bind(this)\n this.disconnect = this.disconnect.bind(this)\n }\n\n callCallback() {\n try {\n this.callback()\n } catch (error) {\n // Throw error in a callback to avoid interrupting other callbacks and properly.\n setTimeout(() => { throw error }, 0)\n }\n }\n\n disconnect() {\n delete this.callbacksHandler.callbacks[this.id]\n }\n}\n","import {digg} from \"diggerize\"\nimport OnLocationChangedCallback from \"./on-location-changed-callback.js\"\n\nclass CallbacksHandler {\n constructor() {\n this.callbacks = {}\n this.count = 0\n this.currentLocationHref = location.href\n }\n\n callCallbacks = () => {\n for (const count in this.callbacks) {\n this.callbacks[count].callCallback()\n }\n }\n\n connectMutationObserver() {\n const body = document.querySelector(\"body\")\n\n // Solution recommended various places on the internet is to observe for changed and then check if the location has changed.\n const observer = new MutationObserver(digg(this, \"onLocationMightHaveChanged\"))\n const config = {subtree: true, childList: true}\n\n observer.observe(body, config)\n observer.observe(document, config)\n }\n\n connectReactRouterHistory(history) {\n // A React Router history can be registered globally (must be imported before this file).\n history.listen(digg(this, \"onLocationMightHaveChanged\"))\n }\n\n connectWindowEvents() {\n // If the hash has changed then maybe the entire location has? Trying to catch location change as early as possible.\n window.addEventListener(\"hashchange\", digg(this, \"onLocationMightHaveChanged\"))\n\n // 'popstate' is only called doing certain actions (React Router won't trigger this for example).\n window.addEventListener(\"popstate\", digg(this, \"onLocationMightHaveChanged\"))\n }\n\n connectInterval = () => setInterval(digg(this, \"onLocationMightHaveChanged\"), 500)\n\n onLocationChanged = (givenCallback) => {\n this.count += 1\n\n const callback = new OnLocationChangedCallback(this, this.count, givenCallback)\n\n this.callbacks[this.count] = callback\n\n return callback\n }\n\n onLocationMightHaveChanged = () => {\n if (location.href != this.currentLocationHref) {\n this.currentLocationHref = location.href\n this.callCallbacks()\n }\n }\n}\n\n// Prevent anything from spawning multiple instances (which happened!)\nif (!globalThis.onLocationChangedCallbacksHandler) {\n globalThis.onLocationChangedCallbacksHandler = new CallbacksHandler()\n}\n\nconst callbacksHandler = globalThis.onLocationChangedCallbacksHandler\n\n// Export the single handler that is supposed to exist\nexport {callbacksHandler}\n","import {callbacksHandler} from \"./callbacks-handler.js\"\n\nconst onLocationChanged = (callback) => callbacksHandler.onLocationChanged(callback)\n\nexport default onLocationChanged\n","import onLocationChanged from \"./on-location-changed.js\"\nimport {useCallback, useEffect, useMemo, useState} from \"react\"\n\nconst usePath = () => {\n const [path, setPath] = useState(globalThis.location.pathname)\n const shared = useMemo(() => ({}), [])\n\n shared.path = path\n\n const onLocationChangedCallback = useCallback(() => {\n const newPath = globalThis.location.pathname\n\n if (newPath != shared.path) {\n setPath(newPath)\n }\n }, [])\n\n useEffect(() => {\n const onLocationChangedEvent = onLocationChanged(onLocationChangedCallback)\n\n return () => {\n onLocationChangedEvent.disconnect()\n }\n }, [])\n\n return path\n}\n\nexport default usePath\n","function anythingDifferent(value1, value2, debug) {\n if (Array.isArray(value1) && Array.isArray(value2)) {\n return arrayDifferent(value1, value2)\n } else if (isSimpleObject(value1) && isSimpleObject(value2)) {\n return simpleObjectDifferent(value1, value2, true)\n } else if (typeof value1 == \"object\" && typeof value2 == \"object\" && value1 && value2) {\n return !Object.is(value1, value2)\n } else if (value1 !== value2) {\n if (debug) console.log(`Value 1 ${value1} wasn't the same as value 2 ${value2}`)\n\n return true\n }\n\n return false\n}\n\nfunction arrayDifferent(array1, array2) {\n if (array1.length != array2.length) {\n return true\n }\n\n for (const key in array1) {\n if (anythingDifferent(array1[key], array2[key])) {\n return true\n }\n }\n\n return false\n}\n\nfunction isSimpleObject(value) {\n // Objects that contain $$typeof are special React objects that have recursive issues\n if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\" && !value[\"$$typeof\"]) {\n return true\n }\n\n return false\n}\n\nfunction simpleObjectDifferent(object1, object2, checkLength) {\n if (checkLength && Object.keys(object1).length !== Object.keys(object2).length) {\n return true\n }\n\n return simpleObjectValuesDifferent(object1, object2)\n}\n\nfunction simpleObjectValuesDifferent(object1, object2, args) {\n for (const key in object1) {\n if (args?.ignore && args.ignore({key})) {\n if (args?.debug) console.log(`Ignoring key ${key}`)\n continue\n }\n\n if (args?.debug) console.log({key, object1: object1[key], object2: object2[key]})\n\n if (!(key in object2)) {\n if (args?.debug) {\n console.log(`Key ${key} wasn't found in object`)\n }\n\n return true\n } else if (anythingDifferent(object1[key], object2[key], args?.debug)) {\n if (args?.debug) {\n console.log(`Something was different for ${key}`)\n }\n\n return true\n }\n }\n\n return false\n}\n\nexport {\n anythingDifferent,\n arrayDifferent,\n isSimpleObject,\n simpleObjectDifferent,\n simpleObjectValuesDifferent\n}\n","import {simpleObjectValuesDifferent} from \"./diff-utils.js\"\n\nconst memoCompareProps = (prevProps, nextProps, debug) => {\n if (debug) {\n console.log(\"memoCompareProps\", {prevProps, nextProps})\n }\n\n if (Object.keys(nextProps).length != Object.keys(prevProps).length) {\n if (debug) {\n console.log(`Keys length was different - prev ${Object.keys(prevProps).length} after ${Object.keys(nextProps).length}`)\n }\n\n return false\n }\n\n if (debug) {\n console.log(\"Running simpleObjectValuesDifferent\")\n }\n\n const result = simpleObjectValuesDifferent(nextProps, prevProps, {debug})\n\n if (debug) {\n console.log(`Was it different: ${result}`)\n }\n\n return !result\n}\n\nconst memoComparePropsWithDebug = (prevProps, nextProps) => memoCompareProps(prevProps, nextProps, true)\n\nexport {memoComparePropsWithDebug}\nexport default memoCompareProps\n","import memoCompareProps, {memoComparePropsWithDebug} from \"./memo-compare-props.js\"\nimport React from \"react\"\n\nconst memo = (component) => React.memo(component, memoCompareProps)\nconst memoWithDebug = (component) => React.memo(component, memoComparePropsWithDebug)\n\nexport {memoWithDebug}\nexport default memo\n","import {anythingDifferent} from \"./diff-utils.js\"\nimport fetchingObject from \"fetching-object\"\nimport memoCompareProps from \"./memo-compare-props.js\"\nimport PropTypes from \"prop-types\"\nimport shared from \"./shared.js\"\nimport {useEffect, useMemo, useState} from \"react\"\n\nclass ShapeComponent {\n constructor(props) {\n this.props = props\n this.setStates = {}\n this.state = {}\n this.__firstRenderCompleted = false\n this.tt = fetchingObject(this)\n this.p = fetchingObject(() => this.props)\n this.s = fetchingObject(this.state)\n }\n\n setInstance(variables) {\n for (const name in variables) {\n this[name] = variables[name]\n }\n }\n\n setState(statesList, callback) {\n if (typeof statesList == \"function\") {\n statesList = statesList(this.state)\n }\n\n for (const stateName in statesList) {\n const newValue = statesList[stateName]\n\n if (!(stateName in this.setStates)) {\n throw new Error(`No such state: ${stateName}`)\n }\n\n this.setStates[stateName](newValue)\n }\n\n if (callback) {\n shared.renderingCallbacks.push(callback)\n }\n }\n\n useState(stateName, defaultValue) {\n const [stateValue, setState] = useState(defaultValue)\n\n if (!(stateName in this.state)) {\n this.state[stateName] = stateValue\n this.setStates[stateName] = (newValue) => {\n if (anythingDifferent(this.state[stateName], newValue)) {\n let prevState\n\n if (this.componentDidUpdate) {\n prevState = Object.assign({}, this.state)\n }\n\n this.state[stateName] = newValue\n\n // Avoid React error if using set-state while rendering (like in a useMemo callback)\n if (shared.rendering > 0) {\n shared.renderingCallbacks.push(() => {\n setState(newValue)\n })\n } else {\n setState(newValue)\n }\n\n if (this.componentDidUpdate) {\n this.componentDidUpdate(this.props, prevState)\n }\n }\n }\n }\n\n return this.setStates[stateName]\n }\n\n useStates(statesList) {\n if (Array.isArray(statesList)) {\n for(const stateName of statesList) {\n this.useState(stateName)\n }\n } else {\n for(const stateName in statesList) {\n const defaultValue = statesList[stateName]\n\n this.useState(stateName, defaultValue)\n }\n }\n }\n}\n\nconst shapeComponent = (ShapeClass) => {\n const functionalComponent = (props) => {\n // Count rendering to avoid setting state while rendering which causes a console-error from React\n shared.rendering += 1\n\n try {\n // Calculate and validate props\n let actualProps\n\n if (ShapeClass.defaultProps) {\n // Undefined values are removed from the props because they shouldn't override default values\n const propsWithoutUndefined = Object.assign({}, props)\n\n for (const key in propsWithoutUndefined) {\n const value = propsWithoutUndefined[key]\n\n if (value === undefined) {\n delete propsWithoutUndefined[key]\n }\n }\n\n actualProps = Object.assign({}, ShapeClass.defaultProps, propsWithoutUndefined)\n } else {\n actualProps = props\n }\n\n if (ShapeClass.propTypes) {\n const validateProps = {}\n\n for (const key in actualProps) {\n // Accessing 'key' will result in a warning in the console\n if (key == \"key\") continue\n\n validateProps[key] = actualProps[key]\n }\n\n PropTypes.checkPropTypes(ShapeClass.propTypes, validateProps, \"prop\", ShapeClass.name)\n }\n\n const shape = useMemo(() => new ShapeClass(actualProps), [])\n const prevProps = shape.props\n\n shape.props = actualProps\n\n if (shape.setup) {\n shape.setup()\n }\n\n if (shape.componentDidUpdate && shape.__firstRenderCompleted && memoCompareProps(shape.props, props)) {\n shape.componentDidUpdate(prevProps, shape.state)\n }\n\n if (shape.componentDidMount || shape.componentWillUnmount) {\n useEffect(() => {\n if (shape.componentDidMount) {\n shape.componentDidMount()\n }\n\n return () => {\n if (shape.componentWillUnmount) {\n shape.componentWillUnmount()\n }\n }\n }, [])\n }\n\n shape.__firstRenderCompleted = true\n\n // Run any callbacks added by setState(states, callback) once rendering is done\n useEffect(() => {\n if (shared.rendering == 0) {\n try {\n for (const callback of shared.renderingCallbacks) {\n new Promise(() => callback())\n }\n } finally {\n shared.renderingCallbacks.length = 0\n }\n }\n })\n\n // Finally render the component and return it\n return shape.render()\n } finally {\n shared.rendering -= 1\n }\n }\n\n functionalComponent.displayName = ShapeClass.name\n\n Object.defineProperty(functionalComponent, \"name\", {value: ShapeClass.name})\n\n return functionalComponent\n}\n\nexport {shapeComponent, ShapeComponent}\n","if (!window.setStateCompareData) {\n window.setStateCompareData = {\n rendering: 0,\n renderingCallbacks: []\n }\n}\n\nconst shared = window.setStateCompareData\n\nexport default shared\n","function digger(target, keys, {callFunctions = false, throwError = true}) {\n let digged = target\n const currentPath = []\n\n for (const key of keys) {\n currentPath.push(key)\n\n if (!(key in digged)) {\n if (throwError) {\n throw new Error(`Path didn't exist: ${currentPath.join(\".\")}`)\n } else {\n return undefined\n }\n } else {\n digged = digged[key]\n }\n\n if (typeof digged === \"function\" && callFunctions) {\n digged = digged()\n }\n }\n\n return digged\n}\n\nconst dig = function dig(target, ...keys) {\n return digger(target, keys, {throwError: false})\n}\n\nconst digg = function dig(target, ...keys) {\n return digger(target, keys, {throwError: true})\n}\n\nconst digs = function digs(target, ...keys) {\n const result = {}\n\n for(let key of keys) {\n if (!(key in target)) throw new Error(`Target didn't contain expected key: ${key}`)\n\n result[key] = target[key]\n }\n\n return result\n}\n\nexport {dig, digg, digger, digs}\n","export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","class PropertyNotFoundError extends Error {\n constructor(message) {\n super(message)\n this.name = \"PropertyNotFoundError\"\n }\n}\n\nconst fetchingObjectHandler = {\n get(receiver, prop) {\n if (typeof receiver == \"function\") receiver = receiver()\n if (!(prop in receiver)) throw new PropertyNotFoundError(`Property not found: ${prop}`)\n\n return Reflect.get(receiver, prop)\n },\n\n set(receiver, prop, newValue) {\n if (typeof receiver == \"function\") receiver = receiver()\n if (!(prop in receiver)) throw new PropertyNotFoundError(`Property not found: ${prop}`)\n\n return Reflect.set(receiver, prop, newValue)\n }\n}\n\nconst fetchingObject = (wrappedObject = {}) => new Proxy(wrappedObject, fetchingObjectHandler)\n\nexport default fetchingObject\n","export default class ErrorHandlersRaiser {\n constructor(i18n) {\n this.i18n = i18n\n }\n\n handleError({error}) {\n throw error\n }\n}\n","import events from \"./src/events.mjs\"\nimport {dig, digg} from \"diggerize\"\nimport numberable from \"numberable\"\nimport Raiser from \"./src/error-handlers/raiser.mjs\"\nimport strftime from \"strftime\"\n\nexport default class I18nOnSteroids {\n constructor(args) {\n this.errorHandler = new Raiser(this)\n this.locales = {}\n\n if (args?.fallbacks) {\n this.fallbacks = args.fallbacks\n } else {\n this.fallbacks = {}\n }\n }\n\n setErrorHandler(errorHandler) {\n this.errorHandler = errorHandler\n }\n\n setLocale(locale) {\n this.locale = locale\n events.emit(\"localeChanged\")\n }\n\n setLocaleOnStrftime() {\n const monthNames = [...Object.values(this.t(\"date.month_names\"))]\n const abbrMonthNames = [...Object.values(this.t(\"date.abbr_month_names\"))]\n\n monthNames.shift()\n abbrMonthNames.shift()\n\n const strftimeLocales = {\n days: Object.values(this.t(\"date.day_names\")),\n shortDays: Object.values(this.t(\"date.abbr_day_names\")),\n months: monthNames,\n shortMonths: abbrMonthNames\n }\n\n this.strftime = strftime.localize(strftimeLocales)\n }\n\n scanRequireContext(contextLoader) {\n contextLoader.keys().forEach((id) => {\n const content = contextLoader(id)\n\n this._scanRecursive(content, this.locales, [], id)\n })\n }\n\n scanObject(object) {\n this._scanRecursive(object, this.locales, [])\n }\n\n _scanRecursive(data, storage, currentPath, id) {\n for (const key in data) {\n const value = data[key]\n\n if (typeof value == \"object\") {\n if (!(key in storage)) {\n storage[key] = {}\n }\n\n this._scanRecursive(value, storage[key], currentPath.concat([key], id))\n } else {\n if (key in storage) {\n console.error(`Key already found in locales: ${currentPath.join(\".\")}.${key} '${id}'`, {oldValue: storage[key], newValue: value})\n }\n\n storage[key] = value\n }\n }\n }\n\n l(format, date) {\n const formatValue = this.t(format)\n const formattedDate = this.strftime(formatValue, date)\n\n return formattedDate\n }\n\n t(key, variables, args) {\n const locale = args?.locale || this.locale\n const path = key.split(\".\")\n const localesToTry = this.fallbacks[locale] || [locale]\n let defaultValue, value\n\n for (const locale of localesToTry) {\n value = this._lookup(locale, path)\n\n if (value) {\n break\n }\n }\n\n if (variables && \"defaultValue\" in variables) {\n defaultValue = digg(variables, \"defaultValue\")\n delete variables.defaultValue\n }\n\n if (value === undefined) {\n if (args?.default) {\n value = args.default\n } else if (defaultValue) {\n value = defaultValue\n }\n }\n\n if (value) {\n return this.insertVariables(value, variables)\n }\n\n const error = Error(`Key didn't exist: ${locale}.${key}`)\n\n return this.errorHandler.handleError({error, key, path, variables})\n }\n\n insertVariables(value, variables) {\n if (variables) {\n for (const key in variables) {\n value = value.replace(`%{${key}}`, variables[key])\n }\n }\n\n return value\n }\n\n _lookup = (locale, path) => dig(this.locales, locale, ...path)\n\n toNumber(number) {\n return numberable(number, {\n delimiter: this.t(\"number.format.delimiter\"),\n precision: this.t(\"number.format.precision\"),\n separator: this.t(\"number.format.separator\")\n })\n }\n}\n","// Raises an error outside the normal thread and returns the last part of the key as a string\nexport default class ErrorHandlersRaiseInBackground {\n constructor(i18n) {\n this.i18n = i18n\n }\n\n handleError({error, path}) {\n setTimeout(\n () => {\n throw error\n },\n 0\n )\n\n // Return the last part of the path as a string\n return path[path.length - 1]\n }\n}\n","import EventEmitter from \"events\"\n\nconst events = new EventEmitter()\n\nevents.setMaxListeners(1000)\n\nexport default events\n","import {useCallback, useMemo} from \"react\"\nimport useLocale from \"./use-locale.mjs\"\n\nconst useI18n = ({namespace}) => {\n const shared = useMemo(() => ({}), [])\n const locale = useLocale()\n\n shared.locale = locale\n shared.namespace = namespace\n\n const t = useCallback((key, variables, args = {}) => {\n const newArgs = Object.assign({locale: shared.locale}, args)\n\n if (key.startsWith(\".\")) {\n key = `${shared.namespace}${key}`\n }\n\n return I18n.t(key, variables, newArgs)\n }, [])\n\n return {\n locale,\n t\n }\n}\n\nexport default useI18n\n","import events from \"./events.mjs\"\nimport {useCallback, useEffect, useState} from \"react\"\n\nconst useLocale = () => {\n const [locale, setLocale] = useState(I18n.locale)\n const updateLocale = useCallback(() => {\n setLocale(I18n.locale)\n }, [])\n\n useEffect(() => {\n events.addListener(\"localeChanged\", updateLocale)\n\n return () => {\n events.removeListener(\"localeChanged\", updateLocale)\n }\n }, [])\n\n return locale\n}\n\nexport default useLocale\n","const incorporate = (...objects) => {\n const incorporator = new Incorporator({objects})\n\n return incorporator.merge()\n}\n\nexport {incorporate}\n\nexport default class Incorporator {\n constructor({objects}) {\n this.objects = objects\n this.replaceArrayIfExistsValue = false\n }\n\n replaceArrayIfExists(newValue) {\n this.replaceArrayIfExistsValue = newValue\n }\n\n merge() {\n return this.mergeObjects(...this.objects)\n }\n\n isPlainObject = (input) => {\n if (input && typeof input === \"object\" && !Array.isArray(input)) {\n return true\n }\n\n return false\n }\n\n mergeObjects = (firstObject, ...objects) => {\n for (const object of objects) {\n this.mergeObjectsInto(firstObject, object)\n }\n\n return firstObject\n }\n\n mergeArraysInto = (mergeIntoValue, ...arrays) => {\n for (const array of arrays) {\n for (const value of array) {\n if (!mergeIntoValue.includes(value)) {\n mergeIntoValue.push(value)\n }\n }\n }\n }\n\n mergeObjectsInto = (mergeInto, object) => {\n for (const key in object) {\n const value = object[key]\n\n if (key in mergeInto) {\n const mergeIntoValue = mergeInto[key]\n\n if (Array.isArray(value) && !this.replaceArrayIfExistsValue) {\n // Current value isn't an array - turn into array and then merge into that\n if (!Array.isArray(mergeIntoValue)) {\n mergeInto[key] = [mergeIntoValue]\n }\n\n this.mergeArraysInto(mergeInto[key], value)\n } else if (this.isPlainObject(mergeIntoValue) && this.isPlainObject(value)) {\n this.mergeObjectsInto(mergeIntoValue, value)\n } else {\n mergeInto[key] = value\n }\n } else {\n mergeInto[key] = value\n }\n }\n }\n}\n","class ParentElementsResult {\n constructor(element, path) {\n this.element = element\n this.path = path\n }\n\n getElement() {\n return this.element\n }\n\n getPath() {\n return this.path\n }\n}\n\nconst parentElement = ({element, callback}) => {\n const results = parentElements({element, breakAfterFirstFound: true, callback})\n\n if (results.length > 0) {\n return results[0].getElement()\n }\n}\n\nconst parentElements = ({element, breakAfterFirstFound, callback, currentPath = [], results = []}) => {\n const parent = element.parentNode\n const includeInResults = callback({element: parent})\n\n if (includeInResults) {\n const elementResult = new ParentElementsResult(parent, currentPath)\n\n results.push(elementResult)\n\n if (breakAfterFirstFound) {\n return results\n }\n }\n\n if (parent?.parentNode && (!breakAfterFirstFound || results.length == 0)) {\n parentElements({\n breakAfterFirstFound,\n element: parent,\n callback,\n currentPath: [...currentPath, parent],\n results\n })\n }\n\n return results\n}\n\nexport {\n parentElement,\n parentElements\n}\n"],"names":["replace","String","prototype","percentTwenties","Format","module","exports","formatters","RFC1738","value","call","RFC3986","stringify","parse","formats","utils","has","Object","hasOwnProperty","isArray","Array","defaults","allowDots","allowPrototypes","allowSparse","arrayLimit","charset","charsetSentinel","comma","decoder","decode","delimiter","depth","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","plainObjects","strictNullHandling","str","$0","numberStr","fromCharCode","parseInt","parseArrayValue","val","options","indexOf","split","parseKeys","givenKey","valuesParsed","key","child","segment","exec","parent","slice","index","keys","push","i","chain","leaf","length","obj","root","concat","create","cleanRoot","charAt","isNaN","parseObject","opts","undefined","TypeError","isRegExp","normalizeParseOptions","tempObj","cleanStr","limit","Infinity","parts","skipIndex","part","bracketEqualsPos","pos","maybeMap","encodedVal","combine","parseValues","newObj","merge","compact","getSideChannel","arrayPrefixGenerators","brackets","prefix","indices","repeat","pushToArray","arr","valueOrArray","apply","toISO","Date","toISOString","defaultFormat","addQueryPrefix","encode","encoder","encodeValuesOnly","format","formatter","serializeDate","date","skipNulls","sentinel","object","generateArrayPrefix","filter","sort","sideChannel","v","tmpSc","step","findFlag","get","RangeError","isBuffer","keyValue","valuesArray","valuesJoined","objKeys","values","join","adjustedPrefix","j","keyPrefix","set","valueSideChannel","normalizeStringifyOptions","arrayFormat","joined","hexTable","array","toString","toUpperCase","arrayToObject","source","assign","target","reduce","acc","a","b","queue","o","prop","refs","item","pop","compacted","compactQueue","strWithoutPlus","unescape","decodeURIComponent","e","defaultEncoder","kind","string","Symbol","escape","out","c","charCodeAt","constructor","fn","mapped","mergeTarget","forEach","targetItem","adapters","logger","console","WebSocket","log","messages","this","enabled","now","getTime","secondsSince","time","ConnectionMonitor","connection","visibilityDidChange","bind","reconnectAttempts","start","isRunning","startedAt","stoppedAt","startPolling","addEventListener","staleThreshold","stop","stopPolling","removeEventListener","recordMessage","pingedAt","recordConnect","disconnectedAt","recordDisconnect","poll","clearTimeout","pollTimeout","setTimeout","reconnectIfStale","getPollInterval","reconnectionBackoffRate","Math","pow","min","random","connectionIsStale","refreshedAt","disconnectedRecently","reopen","document","visibilityState","isOpen","INTERNAL","message_types","welcome","disconnect","ping","confirmation","rejection","disconnect_reasons","unauthorized","invalid_request","server_restart","remote","default_mount_path","protocols","supportedProtocols","Connection","consumer","open","subscriptions","monitor","disconnected","send","data","webSocket","JSON","isActive","getState","socketProtocols","subprotocols","uninstallEventHandlers","url","installEventHandlers","close","allowReconnect","error","reopenDelay","getProtocol","protocol","isState","triedToReconnect","isProtocolSupported","states","state","readyState","toLowerCase","eventName","events","handler","message","event","identifier","reason","reconnect","type","reconnectAttempted","reload","confirmSubscription","notify","reconnected","reject","notifyAll","willAttemptReconnect","Subscription","params","mixin","properties","extend","perform","action","command","unsubscribe","remove","SubscriptionGuarantor","pendingSubscriptions","guarantee","subscription","startGuaranteeing","forget","s","stopGuaranteeing","retrySubscribing","retryTimeout","subscribe","map","Subscriptions","guarantor","channelName","channel","add","ensureActiveConnection","findAll","sendCommand","callbackName","args","Consumer","_url","test","createElement","href","createWebSocketURL","connect","addSubProtocol","subprotocol","createConsumer","name","element","head","querySelector","getAttribute","getConfig","hue2rgb","p","q","t","hslToRgb","h","l","r","g","round","NUMBER","PERCENTAGE","callWithSlashSeparator","commaSeparatedCall","cachedMatchers","parse255","int","parse360","parseFloat","parse1","num","parsePercentage","color","matchers","rgb","RegExp","rgba","hsl","hsla","hwb","hex3","hex4","hex6","hex8","getMatchers","match","colorFromKeyword","normalizeKeyword","w","gray","red","green","blue","hwbToRgb","BaseComponent","_ShapeComponent","_this","_classCallCheck","_len","arguments","_key","_callSuper","fetchingObject","props","shape","tt","_inherits","ShapeComponent","useRouter","useShape","findRouteParams","useCallback","routeDefinition","_step","result","_iterator","_createForOfIteratorHelper","path","n","done","err","f","getPath","window","location","pathname","getRouteDefinitions","routeDefinitions","config","getRoutes","routes","parseRouteDefinitions","_step2","Locales","require","regex","parsedRouteDefinitions","_iterator2","availableLocales","_step3","locale","_iterator3","routePathName","inflection","camelize","Error","routePath","_toConsumableArray","groups","pathRegexString","escapeStringRegexp","variableName","pathRegex","useMemo","updateMeta","matchingRoute","_step4","_iterator4","m","parsedRouteDefinition","matched","groupKey","Number","findMatchingRoute","propTypes","PropTypes","memo","shapeComponent","_ApiMakerRouter","_BaseComponent","ApiMakerRouter","_this$props","notFoundComponent","requireComponent","NotFoundComponent","React","Suspense","fallback","Component","propTypesExact","history","isRequired","anythingDifferent","value1","value2","debug","array1","array2","arrayDifferent","isSimpleObject","object1","object2","checkLength","simpleObjectValuesDifferent","simpleObjectDifferent","is","ignore","memoCompareProps","prevProps","nextProps","setStateCompareData","rendering","renderingCallbacks","setStates","__firstRenderCompleted","variables","statesList","callback","stateName","newValue","shared","defaultValue","_this2","_useState3","_slicedToArray","useState","stateValue","setState","prevState","componentDidUpdate","ShapeClass","functionalComponent","actualProps","defaultProps","propsWithoutUndefined","validateProps","setup","componentDidMount","componentWillUnmount","useEffect","_loop","Promise","render","displayName","defineProperty","_NotificationsNotification","NotificationsNotification","onRemovedClicked","notification","className","title","style","width","maxWidth","marginBottom","padding","borderRadius","cursor","border","background","Pressable","dataSet","class","classNames","onPress","View","Text","fontWeight","PropTypesExact","FlashNotificationsContainer","onPushNotification","detail","digg","count","removeNotification","notifications","useStates","useEventListener","position","zIndex","top","right","Notification","configuration","HayaSelectConfiguration","_bodyPortal","newBodyPortal","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$TypeError","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","func","applyBind","toStr","max","concatty","that","bound","arrLike","offset","slicy","boundLength","boundArgs","Function","joiner","joiny","Empty","implementation","clone","typeOf","isPlainObject","cloneDeep","instanceClone","res","cloneObjectDeep","cloneArrayDeep","isObject","isObjectObject","ctor","prot","_typeof","iterator","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","filterUniqueArray","lastIndexOf","assignStyle","base","property","baseValue","DASH","MS","cache","toUpper","camelCaseProperty","camelProp","hyphenateProperty","cssifyDeclaration","cssifyObject","css","RE","isPrefixedProperty","isPrefixedValue","unitlessProperties","borderImageOutset","borderImageSlice","borderImageWidth","lineHeight","opacity","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixedUnitlessProperties","prefixes","getPrefixedProperty","jLen","_property","isUnitlessProperty","unprefixProperty","propertyWithoutPrefix","normalizeProperty","resolveArrayValue","unprefixValue","_hyphenateStyleName2","_hyphenateStyleName","__esModule","$SyntaxError","gopd","nonEnumerable","nonWritable","nonConfigurable","loose","desc","configurable","enumerable","writable","hasSymbols","defineDataProperty","supportsDescriptors","predicate","defineProperties","predicates","getOwnPropertySymbols","SyntaxError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","getProto","getPrototypeOf","x","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt","Boolean","DataView","decodeURI","encodeURI","encodeURIComponent","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","Map","Proxy","ReferenceError","Reflect","Set","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","first","last","number","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","hasPropertyDescriptors","hasArrayLengthDefineBug","hasToStringTag","toStringTag","overrideIfSet","force","ReflectOwnKeys","R","ReflectApply","receiver","ownKeys","getOwnPropertyNames","NumberIsNaN","EventEmitter","init","once","emitter","resolve","errorListener","removeListener","resolver","eventTargetAgnosticAddListener","flags","on","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","_addListener","prepend","existing","warning","newListener","emit","unshift","warned","warn","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","unwrap","evlistener","ret","unwrapListeners","arrayClone","listenerCount","copy","wrapListener","arg","setMaxListeners","getMaxListeners","doError","er","context","listeners","addListener","prependListener","prependOnceListener","list","originalListener","shift","spliceOne","off","removeAllListeners","rawListeners","eventNames","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","validateFormat","condition","argIndex","framesToPop","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","hasProto","BigInt64Array","BigUint64Array","errorProto","foo","$Object","self","getPolyfill","shim","polyfill","getGlobal","origDefineProperty","define","descriptor","globalThis","origSymbol","hasSymbolSham","sym","symObj","syms","propertyIsEnumerable","$hasOwn","Action","readOnly","BeforeUnloadEventType","PopStateEventType","createBrowserHistory","_options$window","defaultView","globalHistory","getIndexAndLocation","_window$location","search","hash","idx","usr","blockedPopTx","blockers","nextAction","Pop","_getIndexAndLocation","nextIndex","nextLocation","delta","retry","go","applyTx","_getIndexAndLocation2","createEvents","createHref","to","createPath","getNextLocation","parsePath","createKey","getHistoryStateAndUrl","allowTx","_getIndexAndLocation3","replaceState","Push","_getHistoryStateAndUr","historyState","pushState","Replace","_getHistoryStateAndUr2","back","forward","listen","block","blocker","unblock","promptBeforeUnload","preventDefault","returnValue","handlers","substr","_ref","_ref$pathname","_ref$search","_ref$hash","parsedPath","hashIndex","searchIndex","uppercasePattern","msPattern","toHyphenLower","hName","uncountable_words","plural","men","people","children","tia","analyses","drives","hives","curves","lrves","aves","foves","movies","aeiouyies","series","xes","mice","buses","oes","shoes","crises","octopuses","aliases","summonses","oxen","matrices","vertices","feet","teeth","geese","quizzes","whereases","criteria","genera","ss","singular","man","person","drive","ox","axis","octopus","summons","bus","buffalo","tium","sis","ffe","hive","aeiouyy","matrix","vertex","mouse","foot","tooth","goose","quiz","whereas","criterion","genus","common","plural_rules","singular_rules","non_titlecased_words","id_suffix","underbar","space_or_underbar","uppercase","underbar_prefix","inflector","_apply_rules","rules","skip","override","from_index","compare_func","pluralize","singularize","inflect","low_first_letter","str_arr","k","str_path","substring","underscore","all_upper_case","humanize","capitalize","dasherize","titleize","d","demodulize","tableize","classify","foreign_key","drop_id_ubar","ordinalize","ltd","ld","suf","transform","method","prefixMap","plugins","_isObject2","default","combinedValue","processedValue","_prefixValue2","_addNewValuesOnly2","_processedValue","_prefixProperty2","_interopRequireDefault","_cssInJsUtils","CROSS_FADE_REGEX","grab","grabbing","FILTER_REGEX","_isPrefixedValue2","_isPrefixedValue","alternativeProps","alternativePropList","marginBlockStart","marginBlockEnd","marginInlineStart","marginInlineEnd","paddingBlockStart","paddingBlockEnd","paddingInlineStart","paddingInlineEnd","borderBlockStart","borderBlockStartColor","borderBlockStartStyle","borderBlockStartWidth","borderBlockEnd","borderBlockEndColor","borderBlockEndStyle","borderBlockEndWidth","borderInlineStart","borderInlineStartColor","borderInlineStartStyle","borderInlineStartWidth","borderInlineEnd","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","maxHeight","height","columnWidth","minWidth","minHeight","propertyPrefixMap","outputValue","multipleValues","singleValue","dashCaseProperty","_hyphenateProperty2","pLen","prefixMapping","prefixValue","webkitOutput","mozOutput","_capitalizeString2","transition","transitionProperty","WebkitTransition","WebkitTransitionProperty","MozTransition","MozTransitionProperty","Webkit","Moz","ms","addIfNew","prefixProperties","requiredPrefixes","capitalizedProperty","prefixedProperty","_capitalizeString","metaData","currencies","currency","isFunction","isString","isInt","assertSameCurrency","left","assertType","other","Money","assertOperand","operand","amount","code","freeze","fromInteger","fromDecimal","rounder","decimal_digits","resultAmount","equals","subtract","multiply","multiplier","divide","divisor","allocate","ratios","remainder","results","total","ratio","share","floor","compare","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","isZero","isPositive","isNegative","toDecimal","toFixed","toJSON","getAmount","getCurrency","ctorName","isGeneratorFn","callee","isArguments","toDateString","getDate","setDate","isDate","stackTraceLimit","isError","ignoreCase","multiline","global","isRegexp","throw","return","next","isGeneratorObj","thisArg","baseTimes","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseAssignValue","eq","objValue","getRawTag","objectToString","symToStringTag","baseGetTag","isObjectLike","isMasked","toSource","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","isLength","typedArrayTags","isPrototype","nativeKeysIn","isProto","identity","overRest","setToString","constant","baseSetToString","iteratee","assignValue","customizer","isNew","coreJsData","baseRest","isIterateeCall","assigner","sources","guard","getNative","freeGlobal","baseIsNative","getValue","getPrototype","overArg","nativeObjectToString","tag","unmasked","reIsUint","isArrayLike","uid","maskSrcKey","IE_PROTO","Ctor","freeExports","nodeType","freeModule","freeProcess","process","nodeUtil","types","binding","nativeMax","otherArgs","freeSelf","shortOut","nativeNow","lastCalled","stamp","remaining","copyObject","createAssigner","keysIn","assignIn","baseIsArguments","stubFalse","Buffer","isNumber","objectCtorString","proto","baseIsTypedArray","baseUnary","nodeIsTypedArray","arrayLikeKeys","baseKeysIn","nullthrows","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","isUndefined","isBlob","isReactNative","uri","size","initCfg","serialize","cfg","fd","pre","FormData","nullsAsUndefineds","booleansAsIntegers","allowEmptyArrays","noFilesWithArrayNotation","dotsForObjectNotation","getParts","append","isBoolean","lastModifiedDate","lastModified","isFile","objectKeys","callBound","toObject","$push","$propIsEnumerable","originalGetSymbols","source1","getSymbols","nextKey","propValue","letters","actual","lacksProperEnumerationOrder","preventExtensions","thrower","assignHasPendingExceptions","walk","ValueParser","nodes","cb","bubble","unit","openParentheses","closeParentheses","singleQuote","doubleQuote","backslash","slash","colon","star","uLower","uUpper","plus","isUnicodeRange","input","prev","token","escapePos","whitespacePos","parenthesesOpenPos","tokens","stack","balanced","before","after","sourceEndIndex","sourceIndex","unclosed","stringifyNode","node","custom","buf","customResult","minus","dot","exp","EXP","nextCode","nextNextCode","likeNumber","specialProperty","semaphore","forbidden","_","componentName","unknownProps","ReactPropTypesSecret","emptyFunctionWithReset","resetWarningCache","propName","propFullName","secret","getShim","ReactPropTypes","bigint","bool","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","z","ra","sa","ta","pa","qa","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","A","Ma","trim","Na","Oa","prepareStackTrace","construct","includes","Pa","Qa","$$typeof","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","db","ownerDocument","eb","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","valueOf","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","animationIterationCount","aspectRatio","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","order","qb","rb","sb","setProperty","tb","menuitem","area","br","col","embed","hr","img","keygen","link","meta","param","track","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","Wb","memoizedState","dehydrated","Xb","Zb","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","gd","hd","id","Uc","stopPropagation","jd","kd","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","datetime","email","month","password","range","tel","text","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","end","selectionStart","selectionEnd","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","D","of","pf","qf","rf","sf","capture","passive","J","u","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","ref","_owner","_stringRef","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","y","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","pending","effects","lh","mh","eventTime","lane","payload","nh","K","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","tagName","zh","Ah","Bh","L","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","O","Ih","Jh","Kh","Lh","P","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","Uh","Vh","Wh","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","hi","ii","destroy","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","readContext","useContext","useImperativeHandle","useInsertionEffect","useLayoutEffect","useReducer","useRef","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","contextType","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Ji","digest","Ki","Li","Mi","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","renderingStartTime","tail","tailMode","xj","Dj","S","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","createElementNS","autoFocus","createTextNode","T","Gj","Hj","Ij","Jj","U","Kj","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","display","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","src","Vk","lk","ceil","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","bl","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","querySelectorAll","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","version","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","_interopRequireWildcard","_StyleSheet","_createElement","getAnimationStyle","animationType","visible","animatedSlideInStyles","animatedSlideOutStyles","animatedFadeInStyles","animatedFadeOutStyles","styles","container","hidden","bottom","animatedIn","animationDuration","ANIMATION_DURATION","animationTimingFunction","animatedOut","pointerEvents","fadeIn","animationKeyframes","fadeOut","slideIn","slideOut","_default","onDismiss","onShow","_React$useState","isRendering","setIsRendering","wasVisible","wasRendering","isAnimated","animationEndCallback","onAnimationEnd","_extends2","_objectWithoutPropertiesLoose2","_View","_canUseDom","_excluded","ModalContent","forwardRef","forwardedRef","active","onRequestClose","transparent","rest","closeOnEscape","modal","modalTransparent","modalOpaque","role","backgroundColor","_UIManager","FocusBracket","tabIndex","focusBracket","attemptFocus","focusFirstDescendant","childNodes","focusLastDescendant","trapElementRef","focusRef","trapFocusInProgress","lastFocusedElement","trapFocus","Node","hasFocused","lastFocusedElementOutsideTrap","Fragment","outlineStyle","_reactDom","elementRef","_ModalPortal","_ModalAnimation","_ModalContent","_ModalFocusTrap","uniqueModalIdentifier","activeModalStack","activeModalListeners","notifyActiveModalListeners","activeModalId","modalId","removeActiveModal","_props$visible","setIsActive","onDismissCallback","onShowCallback","addActiveModal","_useMergeRefs","_useHover","_usePressEvents","delayLongPress","delayPressIn","delayPressOut","onBlur","onContextMenu","onFocus","onHoverIn","onHoverOut","onKeyDown","onLongPress","onPressMove","onPressIn","onPressOut","testOnly_hovered","testOnly_pressed","_useForceableState","useForceableState","hovered","setHovered","_useForceableState2","focused","setFocused","_useForceableState3","pressed","setPressed","hostRef","setRef","pressConfig","delayPressStart","delayPressEnd","onPressChange","onPressStart","onPressEnd","pressEventHandlers","onContextMenuPress","onKeyDownPress","contain","onHoverChange","onHoverStart","onHoverEnd","_tabIndex","interactionState","blurHandler","focusHandler","contextMenuHandler","keyDownHandler","forced","_useState","touchAction","MemoedPressable","_normalizeValueWithProperty","emptyObject","supportsCSS3TextDecoration","CSS","supports","SYSTEM_FONT_STACK","STYLE_SHORT_FORM_EXPANSIONS","borderColor","borderBlockColor","borderInlineColor","borderStyle","borderBlockStyle","borderInlineStyle","borderWidth","borderBlockWidth","borderInlineWidth","insetBlock","insetInline","marginBlock","marginInline","paddingBlock","paddingInline","overscrollBehavior","borderEndStartRadius","borderEndEndRadius","borderStartStartRadius","borderStartEndRadius","insetBlockEnd","insetBlockStart","isInline","resolvedStyle","backgroundClip","WebkitBackgroundClip","flexBasis","textDecorationLine","textDecoration","direction","_value","longFormProperties","marginLeft","marginRight","marginTop","paddingLeft","paddingRight","paddingTop","paddingBottom","longForm","seed","murmurhash2_32_gc","atomic","compiledStyle","$$css","compiledRules","atomicCompile","srcProp","valueString","stringifyValueWithProperty","cacheKey","cachedResult","createIdentifier","customGroup","atomicGroup","selector","_processKeyframesValu2","processKeyframesValue","animationNames","keyframesRules","createDeclarationBlock","_block","finalValue","_block2","_block3","_block4","_block5","scrollbarWidth","_block6","createAtomicRules","orderedRules","localizeableValue","PROPERTIES_VALUE","_left","_right","propPolyfill","PROPERTIES_I18N","ltr","rtl","PROPERTIES_FLIP","polyfillIndices","ltrPolyfillValues","rtlPolyfillValues","ltrVal","ltrPolyfill","rtlPolyfill","_ltr","_rtl","classic","_processKeyframesValu","_objectSpread2","classicGroup","inline","originalStyle","isRTL","frozenProps","nextStyle","originalValue","originalProp","originalValues","valuePolyfill","_createReactDOMStyle","_hash","_prefixStyles","inset","margin","insetInlineEnd","insetInlineStart","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRightColor","borderRightStyle","borderRightWidth","normalizedValue","domStyle","keyframesValue","keyframes","_createKeyframes","steps","stepName","createKeyframes","_isWebColor","_processColor","colorInt","_unitlessNumbers","colorProps","_normalizeColor","borderTopColor","borderBottomColor","shadowColor","textDecorationColor","textShadowColor","unitlessNumbers","gridRowGap","gridColumnGap","scale","scaleX","scaleY","scaleZ","shadowOpacity","prefixKey","rootNode","getElementById","ShadowRoot","sheet","group","selectors","cssRules","cssRule","cssText","selectorText","groupPattern","decodeGroupRule","getSelectorText","sheetInsert","orderedGroups","getOrderedGroups","nextGroupIndex","nextGroup","isInserted","insertRule","insertRuleAt","groupNumber","previousStart","getTextContent","marker","insert","groupValue","markerRule","encodeGroupRule","selectorPattern","createSheet","defaultId","getRootNode","sheets","_createOrderedCSSStyleSheet","_createCSSStyleSheet","initialRules","rule","roots","initialSheet","_compiler","_dom","_transformLocalizeStyle","_preprocess","_styleq","staticStyleMap","defaultPreprocessOptions","shadow","textShadow","insertRules","compiledOrderedRules","absoluteFillObject","absoluteFill","compiledStyles","_atomic","styleObj","_classic","compileAndInsertReset","preprocess","StyleSheet","writingDirection","styleProps","_options","preprocessOptions","styleq","factory","localizeStyle","customStyleq","compose","style1","style2","flatten","flatArray","flat","getSheet","hairlineWidth","resolveRNStyle","createTransformValue","createTextShadowValue","createBoxShadowValue","_warnOnce","defaultOffset","shadowOffset","shadowRadius","offsetX","offsetY","blurRadius","textShadowOffset","textShadowRadius","_ref2","radius","mapTransform","PROPERTIES_STANDARD","borderBottomEndRadius","borderBottomStartRadius","borderTopEndRadius","borderTopStartRadius","borderEndColor","borderEndStyle","borderEndWidth","borderStartColor","borderStartStyle","borderStartWidth","marginEnd","marginHorizontal","marginStart","marginVertical","paddingEnd","paddingHorizontal","paddingStart","paddingVertical","ignoredProps","elevation","overlayColor","resizeMode","tintColor","warnOnce","boxShadowValue","boxShadow","textShadowValue","_value2","verticalAlign","validate","isInvalid","suggestion","invalidShortforms","invalidMultiValueShortforms","_postcssValueParser","borderBottom","borderLeft","borderRight","borderTop","font","grid","outline","backgroundPosition","createContext","forwardedProps","_pick","_useElementLayout","_usePlatformMethods","_useResponderEvents","_TextAncestorContext","_useLocale","forwardPropsList","accessibilityProps","clickProps","focusProps","keyboardProps","mouseProps","touchProps","lang","hrefAttrs","numberOfLines","onLayout","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderGrant","onResponderMove","onResponderReject","onResponderRelease","onResponderStart","onResponderTerminate","onResponderTerminationRequest","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","selectable","hasTextAncestor","contextDirection","useLocaleContext","handleClick","component","langDirection","getLocaleDirection","componentDirection","dir","supportedProps","pickProps","WebkitLineClamp","textHasAncestor$raw","text$raw","textOneLine","textMultiLine","notSelectable","pressable","download","rel","platformMethodsRef","Provider","textStyle","boxSizing","listStyle","textAlign","whiteSpace","wordWrap","textOverflow","WebkitBoxOrient","userSelect","_getBoundingClientRect","_setValueForStyles","getRect","offsetHeight","offsetWidth","offsetLeft","offsetTop","offsetParent","clientLeft","clientTop","scrollY","scrollX","measureLayout","relativeToNativeNode","relativeNode","isConnected","relativeRect","_getRect","elementsToIgnore","BODY","INPUT","SELECT","TEXTAREA","blur","isContentEditable","measure","measureInWindow","_getBoundingClientRec","onFail","onSuccess","updateView","configureNextLayoutAnimation","onAnimationDidEnd","setLayoutAnimationEnabledExperimental","onScroll","onWheel","view$raw","alignItems","flexDirection","_AccessibilityUtil","_createDOMProps","_react","accessibilityComponent","propsToAccessibilityComponent","domProps","LocaleProvider","_normalizeColors","int32Color","_isDisabled","_propsToAccessibilityComponent","_propsToAriaRole","propsToAriaRole","accessibilityStates","roleComponents","article","banner","blockquote","complementary","contentinfo","deletion","emphasis","figure","insertion","listitem","main","navigation","paragraph","region","strong","accessibilityRole","level","accessibilityLevel","accessibilityRoleToWebRole","adjustable","header","image","imagebutton","keyboardkey","label","none","summary","_role","inferredRole","canUsePassiveEvents","getOptions","compatListener","supported","supportsPassiveEvents","_StyleSheet2","processIDRefList","idRefList","pointerEventsStyles","auto","_props","ariaActiveDescendant","accessibilityActiveDescendant","ariaAtomic","accessibilityAtomic","ariaAutoComplete","accessibilityAutoComplete","ariaBusy","accessibilityBusy","ariaChecked","accessibilityChecked","ariaColumnCount","accessibilityColumnCount","ariaColumnIndex","accessibilityColumnIndex","ariaColumnSpan","accessibilityColumnSpan","ariaControls","accessibilityControls","ariaCurrent","accessibilityCurrent","ariaDescribedBy","accessibilityDescribedBy","ariaDetails","accessibilityDetails","ariaDisabled","accessibilityDisabled","ariaErrorMessage","accessibilityErrorMessage","ariaExpanded","accessibilityExpanded","ariaFlowTo","accessibilityFlowTo","ariaHasPopup","accessibilityHasPopup","ariaHidden","accessibilityHidden","ariaInvalid","accessibilityInvalid","ariaKeyShortcuts","accessibilityKeyShortcuts","ariaLabel","accessibilityLabel","ariaLabelledBy","accessibilityLabelledBy","ariaLevel","ariaLive","accessibilityLiveRegion","ariaModal","accessibilityModal","ariaMultiline","accessibilityMultiline","ariaMultiSelectable","accessibilityMultiSelectable","ariaOrientation","accessibilityOrientation","ariaOwns","accessibilityOwns","ariaPlaceholder","accessibilityPlaceholder","ariaPosInSet","accessibilityPosInSet","ariaPressed","accessibilityPressed","ariaReadOnly","accessibilityReadOnly","ariaRequired","accessibilityRequired","ariaRoleDescription","accessibilityRoleDescription","ariaRowCount","accessibilityRowCount","ariaRowIndex","accessibilityRowIndex","ariaRowSpan","accessibilityRowSpan","ariaSelected","accessibilitySelected","ariaSetSize","accessibilitySetSize","ariaSort","accessibilitySort","ariaValueMax","accessibilityValueMax","ariaValueMin","accessibilityValueMin","ariaValueNow","accessibilityValueNow","ariaValueText","accessibilityValueText","focusable","nativeID","testID","_ariaActiveDescendant","_ariaAtomic","_ariaAutoComplete","_ariaBusy","_ariaChecked","_ariaColumnCount","_ariaColumnIndex","_ariaColumnSpan","_ariaControls","_ariaCurrent","_ariaDescribedBy","_ariaDetails","_ariaErrorMessage","_ariaExpanded","_ariaFlowTo","_ariaHasPopup","_ariaHidden","_ariaInvalid","_ariaKeyShortcuts","_ariaLabel","_ariaLabelledBy","_ariaLevel","_ariaLive","_ariaModal","_ariaMultiline","_ariaMultiSelectable","_ariaOrientation","_ariaOwns","_ariaPlaceholder","_ariaPosInSet","_ariaPressed","_ariaReadOnly","_ariaRequired","required","_ariaRoleDescription","_ariaRowCount","_ariaRowIndex","_ariaRowSpan","_ariaSelected","_ariaSetSize","_ariaSort","_ariaValueMax","_ariaValueMin","_ariaValueNow","_ariaValueText","dataProp","dataName","dataValue","inlineStyle","_id","onAuxClick","onGotPointerCapture","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerEnter","onPointerMove","onPointerLeave","onPointerOut","onPointerOver","onPointerUp","onKeyDownCapture","onKeyUp","onKeyUpCapture","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onMouseUp","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","getBoundingClientRect","selection","isTextNode","TEXT_NODE","addModalityListener","getActiveModality","activeModality","getModality","modality","testOnly_resetActiveModality","isEmulatingMouseEvents","KEYBOARD","previousModality","previousActiveModality","_addEventListener","MOUSE","TOUCH","CONTEXTMENU","MOUSEDOWN","MOUSEMOVE","MOUSEUP","POINTERDOWN","POINTERMOVE","SCROLL","SELECTIONCHANGE","TOUCHCANCEL","TOUCHMOVE","TOUCHSTART","bubbleOptions","captureOptions","restoreModality","callListeners","onPointerish","eventType","PointerEvent","nextObj","_createPrefixer","_static","_backgroundClip","_crossFade","_cursor","_filter","_imageSet","_logical","_position","_sizing","_transition","wms","appearance","textEmphasisPosition","textEmphasis","textEmphasisStyle","textEmphasisColor","boxDecorationBreak","clipPath","maskImage","maskMode","maskRepeat","maskPosition","maskClip","maskOrigin","maskSize","maskComposite","mask","maskBorderSource","maskBorderMode","maskBorderSlice","maskBorderWidth","maskBorderOutset","maskBorderRepeat","maskBorder","maskType","textDecorationStyle","textDecorationSkip","breakAfter","breakBefore","breakInside","columnFill","columnGap","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columnSpan","backdropFilter","hyphens","flowInto","flowFrom","regionFragment","textOrientation","fontKerning","textSizeAdjust","isCustomProperty","_dangerousStyleValue","styleName","styleValue","observer","ResizeObserver","resizeObserver","entries","entry","DOM_LAYOUT_HANDLER_NAME","layout","getResizeObserver","_useLayoutEffect","observe","unobserve","targetListeners","_useStable","removeTargetListener","clear","targetRef","onHoverUpdate","canUsePE","supportsPointerEvent","addMoveListener","_useEvent","addEnterListener","addLeaveListener","addLockListener","lockEventType","addUnlockListener","unlockEventType","hoverEnd","leaveListener","getPointerType","dispatchCustomEvent","moveListener","hoverStart","lockEvent","_modality","createEvent","_ref$bubbles","_ref$cancelable","initCustomEvent","LocaleContext","_isLocaleRTL","defaultLocale","isLocaleRTL","cachedRTL","Intl","Locale","script","maximize","rtlScripts","rtlLangs","_mergeRefs","hostNode","relativeToNode","success","failure","DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","RESPONDER_GRANT","getElementRole","getElementType","isActiveSignal","signal","isButtonRole","isPressStartSignal","isValidKeyPress","isSpacebar","isButtonish","normalizeDelay","delay","getTouchFromResponderEvent","_event$nativeEvent","_eventHandlers","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressDelayTimeout","_pressOutDelayTimeout","_touchState","_responderElement","configure","_config","reset","_cancelLongPressDelayTimeout","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","getEventHandlers","_createEventHandlers","shouldDelay","_selectionTerminated","_receiveSignal","_handleLongPress","keyupHandler","isNativeInteractiveElement","isActiveElement","isSpacebarKey","touch","_touchActivatePosition","hypot","_this$_config","_this$_config2","_this$_config3","nextState","_performTransitionSideEffects","isTerminalSignal","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","_this$_config5","_this$_config6","pressResponderRef","_PressResponder","pressResponder","TOUCH_START","TOUCH_MOVE","TOUCH_END","TOUCH_CANCEL","SELECTION_CHANGE","MOUSE_UP","MOUSE_MOVE","MOUSE_DOWN","MOUSE_CANCEL","FOCUS_OUT","CONTEXT_MENU","BLUR","isCancelish","isEndish","isMoveish","isScroll","isSelectionChange","isStartish","addNode","_utils","setResponderId","responderListenersMap","attachListeners","__reactResponderSystemActive","eventListener","documentEventsBubblePhase","documentEventsCapturePhase","getResponderNode","currentResponder","removeNode","terminateResponder","_createResponderEvent","_ResponderEventTypes","_ResponderTouchHistoryStore","startRegistration","moveRegistration","shouldSetResponderEvents","touchstart","mousedown","touchmove","mousemove","scroll","emptyResponder","idPath","trackedTouchCount","responderTouchHistoryStore","ResponderTouchHistoryStore","changeCurrentResponder","responder","getResponderConfig","domEvent","eventTarget","isStartEvent","isPrimaryPointerDown","isMoveEvent","isEndEvent","isScrollEvent","isSelectionChangeEvent","responderEvent","recordTouchTrack","wantsResponder","eventPaths","getResponderPaths","wasNegotiated","currentResponderIdPath","eventIdPath","lowestCommonAncestor","getLowestCommonAncestor","nodePath","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","check","shouldSetCallback","_i","_result","_id2","_node2","findWantsResponder","_currentResponder2","currentId","currentNode","_getResponderConfig2","dispatchConfig","registrationName","_getResponderConfig3","allowTransfer","attemptTransfer","_currentResponder","_getResponderConfig","isTerminateEvent","hasValidSelection","isReleaseEvent","hasTargetTouches","shouldTerminate","_currentResponder3","__DEV__","MAX_TOUCH_BANK","timestampForTouch","timestamp","getTouchIdentifier","recordTouchStart","touchHistory","touchRecord","touchBank","touchActive","startPageX","startPageY","startTimeStamp","currentPageX","currentPageY","currentTimeStamp","previousPageX","previousPageY","previousTimeStamp","resetTouchRecord","createTouchRecord","mostRecentTimeStamp","printTouch","printTouchBank","printed","_touchHistory","numberActiveTouches","indexOfSingleActiveTouch","topLevelType","recordTouchMove","recordTouchEnd","touchTrackToCheck","activeRecord","rect","propagationWasStopped","domEventChangedTouches","domEventType","normalizeIdentifier","normalizeTouches","locationX","locationY","emulatedTouches","emptyArray","getInitialValue","useStable","idCounter","isAttachedRef","ResponderSystem","requiresResponderSystem","isResponder","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","eventPath","composedPathFallback","composedPath","getEventPath","getResponderId","_isSelectionValid","isPrimaryMouseDown","isPrimaryMouseMove","noModifiers","keyName","UNINITIALIZED","I18nManager","allowRTL","forceRTL","getConstants","processColor","normalizeValueWithProperty","normalizeColor","createCSSStyleSheet","createOrderedCSSStyleSheet","OrderedCSSStyleSheet","crossFade","imageSet","logical","sizing","createPrefixer","prefixStyles","TextAncestorContext","AccessibilityUtil","reactRoot","hydrateLegacy","renderLegacy","UIManager","isScreenReaderEnabled","prefersReducedMotionMedia","matchMedia","AccessibilityInfo","isReduceMotionEnabled","matches","fetch","setAccessibilityFocus","reactTag","announceForAccessibility","announcement","alert","OS","select","web","isTesting","deepDiffer","one","two","maxDepth","twoKey","_createForOfIteratorHelperLoose","colors","onRefresh","progressBackgroundColor","progressViewOffset","refreshing","titleColor","dimensions","fontScale","screen","shouldInit","update","win","visualViewport","docEl","clientHeight","clientWidth","devicePixelRatio","handleResize","Dimensions","dimension","initialDimensions","_handler","_currentlyFocusedNode","currentlyFocusedField","focusTextInput","textFieldNode","blurTextInput","normalizeScrollEvent","contentOffset","contentSize","scrollHeight","scrollWidth","layoutMeasurement","ScrollViewBase","_props$scrollEnabled","scrollEnabled","_props$scrollEventThr","scrollEventThrottle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","scrollState","isScrolling","scrollLastTick","scrollTimeout","scrollRef","createPreventableScrollHandler","handleScrollTick","hideScrollbar","lastTick","eventThrottle","timeSinceLastTick","handleScrollEnd","handleScrollStart","useMergeRefs","scrollDisabled","overflowX","overflowY","ScrollView","super","_scrollNodeRef","_innerViewRef","isTouching","lastMomentumScrollBeginTime","lastMomentumScrollEndTime","observedScrollSinceBecomingResponder","becameResponderWhileAnimating","scrollResponderHandleScrollShouldSetResponder","scrollResponderHandleStartShouldSetResponderCapture","scrollResponderIsAnimating","scrollResponderHandleTerminationRequest","scrollResponderHandleTouchEnd","scrollResponderHandleResponderRelease","currentlyFocusedTextInput","keyboardShouldPersistTaps","onScrollResponderKeyboardDismissed","scrollResponderHandleScroll","scrollResponderHandleResponderGrant","scrollResponderHandleScrollBeginDrag","onScrollBeginDrag","scrollResponderHandleScrollEndDrag","onScrollEndDrag","scrollResponderHandleMomentumScrollBegin","onMomentumScrollBegin","scrollResponderHandleMomentumScrollEnd","onMomentumScrollEnd","scrollResponderHandleTouchStart","scrollResponderHandleTouchMove","scrollResponderScrollTo","animated","getScrollableNode","behavior","scrollResponderZoomTo","scrollResponderScrollNativeHandleToKeyboard","nodeHandle","additionalOffset","preventNegativeScrollOffset","additionalScrollOffset","getInnerViewNode","scrollResponderTextInputFocusError","scrollResponderInputMeasureAndScrollToKeyboard","keyboardScreenY","keyboardWillOpenTo","endCoordinates","scrollOffsetY","scrollResponderKeyboardWillShow","onKeyboardWillShow","scrollResponderKeyboardWillHide","onKeyboardWillHide","scrollResponderKeyboardDidShow","onKeyboardDidShow","scrollResponderKeyboardDidHide","onKeyboardDidHide","flashScrollIndicators","scrollResponderFlashScrollIndicators","getScrollResponder","getInnerViewRef","getNativeScrollRef","scrollTo","scrollToEnd","horizontal","scrollResponderNode","_handleContentOnLayout","_e$nativeEvent$layout","onContentSizeChange","_handleScroll","keyboardDismissMode","_setInnerViewRef","_setScrollNodeRef","mergeRefs","scrollResponderHandleStartShouldSetResponder","scrollResponderHandleResponderReject","contentContainerStyle","refreshControl","stickyHeaderIndices","pagingEnabled","centerContent","contentSizeChangeProps","hasStickyHeaderIndices","isSticky","stickyHeader","pagingEnabledChild","contentContainer","collapsable","contentContainerHorizontal","contentContainerCenterContent","baseStyle","baseHorizontal","baseVertical","pagingEnabledStyle","pagingEnabledHorizontal","pagingEnabledVertical","scrollResponderHandleTerminate","ScrollViewClass","scrollView","commonStyle","WebkitOverflowScrolling","justifyContent","scrollSnapType","scrollSnapAlign","ForwardedScrollView","onMoreTasks","_onMoreTasks","_queueStack","tasks","popable","enqueue","task","_getCurrentQueue","enqueueTasks","cancelTasks","tasksToCancel","hasTasksToProcess","processNext","_genPromise","run","stackIdx","stackItem","ex","_registry","registrations","registry","registration","_arr","isSupported","requestIdleCallback","didTimeout","timeRemaining","cancelIdleCallback","_emitter","InteractionManager","interactionStart","interactionComplete","runAfterInteractions","promise","_scheduleUpdate","_taskQueue","cancel","createInteractionHandle","handle","_inc","_addInteractionSet","clearInteractionHandle","_deleteInteractionSet","setDeadline","deadline","_deadline","_interactionSet","_nextUpdateHandle","_processUpdate","interactionCount","nextInteractionCount","begin","delayMS","_delay","_callback","dispose","abort","_taskHandle","schedule","CellRenderMask","numCells","_numCells","_regions","isSpacer","enumerateRegions","addCells","cells","_this$_findRegion","_findRegion","firstIntersect","firstIntersectIdx","_this$_findRegion2","lastIntersect","lastIntersectIdx","newLeadRegion","newTailRegion","newMainRegion","replacementRegions","numRegionsToDelete","every","cellIdx","firstIdx","lastIdx","middleIdx","middleRegion","ChildListCollection","_cellKeyToChildren","_childrenToCellKey","cellKey","_this$_cellKeyToChild","cellLists","forEachInCell","_this$_cellKeyToChild2","anyInCell","_this$_cellKeyToChild3","Info","any_blank_count","any_blank_ms","any_blank_speed_sum","mostly_blank_count","mostly_blank_ms","pixels_blank","pixels_sampled","pixels_scrolled","total_time_spent","sample_count","_minSampleCount","_sampleRate","setSampleRate","sampleRate","setMinSampleCount","minSampleCount","getFrameMetrics","_anyBlankStartTime","_enabled","_info","_mostlyBlankStartTime","_samplesStartTime","_getFrameMetrics","_resetData","activate","performance","deactivateAndFlush","info","computeBlankness","cellsAroundViewport","scrollMetrics","getItemCount","dOffset","velocity","visibleLength","abs","scrollSpeed","blankTop","firstFrame","inLayout","blankBottom","lastFrame","bottomEdge","blankness","StateSafePureComponent","_inAsyncStateUpdate","_installSetStateHooks","partialState","newProps","newState","_isViewable","viewAreaMode","viewablePercentThreshold","viewportHeight","itemLength","_isEntirelyVisible","pixels","visibleHeight","_getPixelsVisible","viewAreaCoveragePercentThreshold","_hasInteracted","_timers","_viewableIndices","_viewableItems","computeViewableItems","scrollOffset","renderRange","itemCount","itemVisiblePercentThreshold","viewableIndices","firstVisible","metrics","onUpdate","createViewToken","onViewableItemsChanged","waitForInteraction","minimumViewTime","_onUpdateSync","resetViewableIndices","recordInteraction","viewableIndicesToCheck","prevItems","nextItems","viewable","changed","_step$value","_step2$value","_viewable","isViewable","viewableItems","viewabilityConfig","VirtualizedListContext","VirtualizedListContextProvider","getScrollMetrics","getOutermostParentListRef","registerAsNestedChild","unregisterAsNestedChild","VirtualizedListCellContextProvider","_ref3","currContext","CellRenderer","separatorProps","highlighted","leadingItem","_separators","highlight","prevCellKey","onUpdateSeparators","unhighlight","_this$props2","updateProps","_this$props3","_onLayout","onCellLayout","updateSeparatorProps","onUnmount","_renderElement","renderItem","ListItemComponent","separators","_this$props4","CellRendererComponent","ItemSeparatorComponent","inversionStyle","onCellFocusCapture","itemSeparator","cellStyle","rowReverse","columnReverse","row","onFocusCapture","computeWindowedRenderLimits","maxToRenderPerBatch","windowSize","getFrameMetricsApprox","_scrollMetrics$zoomSc","zoomScale","visibleBegin","visibleEnd","overscanLength","fillPreference","overscanBegin","overscanEnd","_elementsThatOverlapO","offsets","offsetIndex","currentOffset","mid","frame","scaledOffsetStart","scaledOffsetEnd","elementsThatOverlapOffsets","overscanFirst","overscanLast","newCellCount","newRangeCount","maxNewCells","firstWillAddMore","firstShouldIncrement","lastWillAddMore","lastShouldIncrement","_usedIndexForKey","_keylessItemComponentName","horizontalOrDefault","maxToRenderPerBatchOrDefault","onEndReachedThresholdOrDefault","onEndReachedThreshold","getScrollingThreshold","threshold","windowSizeOrDefault","VirtualizedList","veryLast","__getFrameMetricsApprox","_footerLength","_scrollMetrics","_scrollRef","scrollToIndex","getItemLayout","onScrollToIndexFailed","viewOffset","viewPosition","_highestMeasuredFrameIndex","averageItemLength","_averageCellLength","highestMeasuredFrameIndex","_getOffsetApprox","scrollToItem","getItem","_index","scrollToOffset","_nestedChildLists","childList","_viewabilityTuples","viewabilityHelper","_updateViewableItems","getScrollRef","_getCellKey","_this$context","hasMore","_hasMore","_this$props$updateCel","_getScrollMetrics","_getOutermostParentListRef","_isNestedWithSameOrientation","_registerAsNestedChild","_unregisterAsNestedChild","_onUpdateSeparators","_cellRefs","_getSpacerKey","isVertical","_frames","_hasTriggeredInitialScrollToIndex","_hasWarned","_headerLength","_hiPriInProgress","_indicesToKeys","_lastFocusedCellKey","_offsetFromParentVirtualizedList","_prevParentOffset","contentLength","dt","_sentStartForContentLength","_sentEndForContentLength","_totalCellLength","_totalCellsMeasured","_captureScrollRef","_defaultRenderScrollComponent","_props$refreshing","_onCellLayout","_selectOffset","_selectLength","curr","_scheduleCellsToRenderUpdate","_triggerRemeasureForChildListsInCell","_computeBlankness","_onCellUnmount","measureLayoutRelativeToContainingList","_maybeCallOnEdgeReached","_onLayoutEmpty","_onLayoutFooter","_getFooterCellKey","_onLayoutHeader","_onContentSizeChange","initialScrollIndex","_convertParentScrollMetrics","_onScroll","_this$_convertParentS","perf","prevDt","_fillRateHelper","_onScrollBeginDrag","tuple","_onScrollEndDrag","_onMomentumScrollBegin","_onMomentumScrollEnd","_updateCellsToRender","_adjustCellsAroundViewport","renderMask","_createRenderMask","_getNonViewportRenderRegions","_createViewToken","_keyExtractor","isInteger","frameMetrics","focusedCellIndex","heightOfCellsBeforeFocused","heightOfCellsAfterFocused","_checkProps","_updateCellsToRenderBatcher","updateCellsBatchingPeriod","viewabilityConfigCallbackPairs","pair","initialRenderRegion","_initialRenderRegion","invertedWheelEventHandler","ev","scrollLength","clientLength","isEventTargetScrollable","leftoverDelta","targetDelta","inverted","nextScrollLeft","nextScrollTop","__isNative","additionalRegions","_i2","_allRegions","initialRegion","stickyIndicesSet","_ensureClosestStickyHeader","_props$initialScrollI","initialNumToRender","firstCellIndex","stickyOffset","ListHeaderComponent","itemIdx","newCellsAroundViewport","_this$_scrollMetrics","distanceFromEnd","_constrainToItemCount","disableVirtualization","renderAhead","EPSILON","childIdx","_findFirstChildWithMore","cellKeyForIndex","setupWebWheelHandler","teardownWebWheelHandler","constrainedCells","_pushCells","stickyIndicesFromProps","shouldListenForLayout","_onCellFocusCapture","nestedContext","keyExtractor","_this$props5","ListEmptyComponent","ListFooterComponent","_this$props6","horizontallyInverted","verticallyInverted","_element","ListHeaderComponentStyle","_element2","spacerKey","renderRegions","lastSpacer","findLastWhere","section","firstMetrics","lastMetrics","spacerSize","_element3","ListFooterComponentStyle","scrollProps","invertStickyHeaders","renderScrollComponent","_renderDebugOverlay","_this$props7","extraData","hiPriInProgress","normalize","framesInLayout","windowTop","frameLast","windowLen","visTop","visLen","debugOverlayBase","debugOverlay","debugOverlayFrame","debugOverlayFrameLast","debugOverlayFrameVis","_this$props8","onStartReached","onStartReachedThreshold","onEndReached","_this$_scrollMetrics2","distanceFromStart","isWithinStartThreshold","isWithinEndThreshold","_this$state$cellsArou","_this$_scrollMetrics3","hiPri","onStartReachedThresholdOrDefault","distTop","distBottom","safeIsNaN","areInputsEqual","newInputs","lastInputs","second","numColumnsOrDefault","numColumns","FlatList","_listRef","_virtualizedListPairs","_captureRef","_getItem","itemIndex","_item","_getItemCount","items","_this$props$keyExtrac","_renderer","columnWrapperStyle","cols","renderProp","_item2","it","_memoizedRenderer","resultFn","isEqual","memoized","newArgs","lastThis","lastArgs","lastResult","memoizeOne","_createOnViewableItemsChanged","_pushMultiColumnViewable","_this$props$keyExtrac2","removeClippedSubviews","_removeClippedSubviews","_this$props$strictMod","strictMode","restProps","renderer","NativeEventEmitter","nativeModule","_nativeModule","_this$_nativeModule","_this$_nativeModule2","removeListeners","_this$_nativeModule3","_this$_nativeModule4","nativeEventEmitter","isLayoutAnimationEnabled","shouldEmitW3CPointerEvents","shouldPressibilityUseW3CPointerEventsForHover","animatedShouldDebounceQueueFlush","animatedShouldUseSingleOp","RN$Bridgeless","__nativeAnimatedNodeTagCount","__nativeAnimationIdCount","waitingForQueuedOperations","queueOperations","queueAndExecuteBatchedOperations","flushQueueTimeout","nativeOps","API","saveValueCallback","queueOperation","setWaitingForIdentifier","unsetWaitingForIdentifier","disableQueue","clearImmediate","setImmediate","flushQueue","createAnimatedNode","updateAnimatedNodeConfig","startListeningToAnimatedNodeValue","stopListeningToAnimatedNodeValue","connectAnimatedNodes","parentTag","childTag","disconnectAnimatedNodes","startAnimatingNode","animationId","nodeTag","endCallback","stopAnimation","setAnimatedNodeValue","setAnimatedNodeOffset","flattenAnimatedNodeOffset","extractAnimatedNodeOffset","connectAnimatedNodeToView","viewTag","disconnectAnimatedNodeFromView","restoreDefaultValues","dropAnimatedNode","addAnimatedEventToView","eventMapping","removeAnimatedEventFromView","animatedNodeTag","SUPPORTED_COLOR_STYLES","SUPPORTED_STYLES","translateX","translateY","SUPPORTED_TRANSFORMS","rotate","rotateX","rotateY","rotateZ","perspective","SUPPORTED_INTERPOLATION_PARAMS","inputRange","outputRange","extrapolate","extrapolateRight","extrapolateLeft","isSupportedStyleProp","isSupportedTransformProp","isSupportedInterpolationParam","generateNewAnimationId","_warnedMissingNativeAnimated","shouldUseNativeDriver","useNativeDriver","isSupportedColorStyleProp","addWhitelistedStyleProp","addWhitelistedTransformProp","addWhitelistedInterpolationParam","validateStyles","_key2","validateTransform","configs","validateInterpolation","_key3","generateNewNodeTag","assertNativeAnimatedModule","transformDataType","PI","NativeAnimatedAPI","NativeAnimatedHelper","_uniqueId","__attach","__detach","__nativeTag","__getValue","__getAnimatedValue","__addChild","__removeChild","__getChildren","__makeNative","platformConfig","_platformConfig","hasListeners","_startListeningToNativeValueUpdates","_stopListeningForNativeValueUpdates","__nativeAnimatedValueListener","__shouldUpdateListenersForNewNativeTag","__getNativeTag","__onAnimatedValueUpdateReceived","__callListeners","_this$__nativeTag","nativeTag","__getNativeConfig","__getPlatformConfig","__setPlatformConfig","_children","linear","createInterpolation","colorToRgba","pattern","stringShapeRegex","checkPattern","outputRanges","interpolations","shouldRound","startsWith","createInterpolationFromStringOutputRange","checkInfiniteRange","checkValidInputRange","easing","findRange","inputMin","inputMax","outputMin","outputMax","interpolate","normalizedColor","AnimatedInterpolation","_parent","_interpolation","parentValue","__transformDataType","__createInterpolation","_startingValue","_offset","_animation","_updateValue","operation","_executeAsAnimatedBatch","setOffset","flattenOffset","extractOffset","resetAnimation","animate","__isInteraction","previousAnimation","_tracking","tracking","flush","animatedStyles","findAnimatedStyles","animatedStyle","attachNativeEvent","viewRef","argMapping","eventMappings","traverse","nativeEventPath","animatedValueTag","mapping","detach","AnimatedEvent","_argMapping","__addListener","_callListeners","_attachedEvent","__removeListener","__getHandler","_len2","recMapping","recEvt","mappingKey","_len3","_key4","transforms","_transforms","transConfigs","flattenStyle","createAnimatedStyle","inputStyle","_inputStyle","_style","_walkStyleAndGetValues","updatedStyle","_walkStyleAndGetAnimatedValues","styleConfig","styleKey","_animatedView","__disconnectAnimatedView","__connectAnimatedView","setNativeView","animatedView","nativeViewTag","__restoreDefaultValues","propsConfig","propKey","useAnimatedProps","onUpdateRef","prevNodeRef","isUnmountingRef","prevNode","useAnimatedPropsLifecycle","effect","cleanupRef","refEffect","getEventTarget","_events$_i","_propName","callbackRef","reduceAnimatedProps","createAnimatedComponent","_useAnimatedProps","reducedProps","_refs","passthroughAnimatedPropExplicitValues","passthroughStyle","passthroughProps","mergedStyle","assets","getAssetByID","assetId","dataUriPattern","ImageUriCache","_entries","lastUsedTimestamp","refCount","_cleanUpIfNeeded","leastRecentlyUsedKey","leastRecentlyUsedEntry","imageUris","_maximumEntries","requests","ImageLoader","requestId","onerror","onload","getSize","complete","interval","setInterval","load","clearInterval","naturalHeight","naturalWidth","onLoad","Image","onDecode","prefetch","queryCache","uris","PixelRatio","getFontScale","getPixelSizeForLayoutSize","layoutSize","roundToNearestPixel","LOADED","LOADING","_filterId","svgDataUriPattern","resolveAssetUri","asset","scales","preferredScale","scaleSuffix","httpServerLocation","svg","defaultSource","draggable","onLoadEnd","onLoadStart","updateState","_React$useState2","updateLayout","hiddenImageRef","filterRef","requestRef","shouldDisplaySource","_extractNonStandardSt","filterId","tintColorProp","flatStyle","filters","shadowString","extractNonStandardStyleProps","_resizeMode","_tintColor","selectedSource","displayImageUri","imageSizeStyle","_getAssetByID","resolveAssetDimensions","backgroundImage","backgroundSize","_hiddenImageRef$curre","_height3","_width3","scaleFactor","getBackgroundSize","hiddenImage","alt","accessibilityImage$raw","abortPendingRequest","_layout","undo","resizeModeStyles","visibility","floodColor","in2","operator","createTintColorSVG","ImageWithStatics","backgroundRepeat","center","cover","stretch","VirtualizedSectionList","_subExtractor","_convertViewable","_info$index","keyExtractorWithNullableIndex","keyExtractorWithNonNullableIndex","_onViewableItemsChanged","_renderItem","listItemCount","infoIndex","renderSectionHeader","renderSectionFooter","SeparatorComponent","_getSeparatorComponent","ItemWithSeparator","LeadingSeparatorComponent","SectionSeparatorComponent","leadingSection","setSelfHighlightCallback","_setUpdateHighlightFor","setSelfUpdatePropsCallback","_setUpdatePropsFor","updateHighlightFor","_updateHighlightFor","updatePropsFor","_updatePropsFor","trailingItem","trailingSection","_updatePropsMap","updateHighlight","_updateHighlightMap","updateHighlightFn","updatePropsFn","scrollToLocation","sectionIndex","sections","stickySectionHeadersEnabled","toIndexParams","getListRef","passThroughProps","listHeaderOffset","sectionData","isLastItemInList","isLastItemInSection","leadingSeparatorHiglighted","setLeadingSeparatorHighlighted","separatorHighlighted","setSeparatorHighlighted","_React$useState3","leadingSeparatorProps","setLeadingSeparatorProps","_React$useState4","setSeparatorProps","leadingSeparator","separator","SectionList","_wrapperListRef","listRef","_stickySectionHeadersEnabled","_a","_b","_min","_max","_lastValue","diff","_warnedAboutDivideByZero","modulus","_modulus","animationClass","animationConfig","_animationClass","_animationConfig","_useNativeDriver","toValue","__getNativeAnimationConfig","valueIn","jointCallback","getLayout","getTranslateTransform","startNativeAnimationNextId","fromValue","onEnd","animatedValue","__nativeId","__debouncedOnEnd","__onEnd","__startNativeAnimation","startNativeAnimationWaitId","_config$deceleration","_config$isInteraction","_config$iterations","_deceleration","deceleration","_velocity","isInteraction","__iterations","iterations","__active","_fromValue","_onUpdate","_startTime","_animationFrame","requestAnimationFrame","finished","cancelAnimationFrame","stiffnessFromOrigamiValue","oValue","dampingFromOrigamiValue","fromOrigamiTensionAndFriction","tension","friction","stiffness","damping","fromBouncinessAndSpeed","bounciness","speed","startValue","endValue","projectNormal","bouncyTension","bouncyFriction","b3Friction2","b3Friction3","linearInterpolation","SpringAnimation","_config$overshootClam","_config$restDisplacem","_config$restSpeedThre","_config$velocity","_config$velocity2","_config$delay","_config$stiffness","_config$damping","_config$mass","_overshootClamping","overshootClamping","_restDisplacementThreshold","restDisplacementThreshold","_restSpeedThreshold","restSpeedThreshold","_initialVelocity","_lastVelocity","_toValue","mass","_stiffness","_damping","_mass","_config$bounciness","_config$speed","springConfig","SpringConfig","_config$tension","_config$friction","_springConfig","_this$_initialVelocit","initialVelocity","_startPosition","_lastPosition","_lastTime","_frameTime","internalState","getInternalState","lastPosition","lastVelocity","lastTime","_timeout","deltaTime","v0","zeta","sqrt","omega0","omega1","x0","envelope","sin","cos","_envelope","isOvershooting","isVelocity","isDisplacement","ease","NEWTON_ITERATIONS","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSampleStepSize","float32ArraySupported","aA1","aA2","calcBezier","aT","getSlope","bezier","mX1","mY1","mX2","mY2","sampleValues","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","_aGuessT","aGuessT","currentSlope","newtonRaphsonIterate","_aA","_aB","currentX","currentT","aA","aB","binarySubdivide","Easing","step0","step1","quad","cubic","poly","circle","elastic","bounce","_t","_t2","t2","x1","y1","x2","y2","inOut","_easeInOut","_config$easing","_config$duration","_easing","_duration","duration","frames","numFrames","defaultColor","isRgbaValue","AnimatedColor","isRgbaAnimatedValue","rgbaAnimatedValue","processedColor","initColor","nativeColor","_processColor2","shouldUpdateNodeConfig","rgbaValue","_nativeTag","_combineCallbacks","onComplete","maybeVectorAnim","anim","configX","configY","_config$key","aY","parallel","stopTogether","configR","configG","configB","configA","_config$_key","aR","aG","timing","_start2","singleConfig","_startNativeLoop","_isUsingNativeDriver","sequence","animations","doneCount","hasEnded","endResult","Value","ValueXY","Color","Interpolation","decay","_start3","spring","_start","modulo","diffClamp","stagger","loop","_temp","_ref$iterations","_ref$resetBeforeItera","resetBeforeIteration","isFinished","iterationsSoFar","restart","animatedEvent","forkEvent","unforkEvent","Event","inAnimationCallback","mockAnimationStart","guardedCallback","emptyAnimation","mockCompositeAnimation","anyValue","AnimatedImplementation","Animated","AnimatedMock","query","listenerMapping","getColorScheme","addChangeListener","mappedListener","colorScheme","RootTagContext","AppContainer","WrapperComponent","innerView","appContainer","rootTag","wrapperComponentProvider","runnables","componentProviderInstrumentationHook","AppRegistry","getAppKeys","getApplication","appKey","appParameters","registerComponent","componentProvider","RootComponent","initialProps","getStyleElement","renderApplication","shouldHydrate","renderFn","registerConfig","registerRunnable","runApplication","setComponentProviderInstrumentationHook","hook","setWrapperComponentProvider","provider","unmountApplicationComponentAtRootTag","isPrefixed","EVENT_TYPES","VISIBILITY_CHANGE_EVENT","VISIBILITY_STATE_PROPERTY","AppStates","changeEmitter","AppState","currentState","isAvailable","clipboardAvailable","exitApp","Clipboard","queryCommandSupported","getString","setString","selectNodeContents","execCommand","isVisible","dismiss","configureNext","Presets","easeInEaseOut","springDamping","Types","easeIn","easeOut","keyboard","Properties","scaleXY","checkConfig","initialURL","urlToOpen","URL","_eventCallbacks","_dispatchEvent","filteredCallbacks","canOpenURL","getInitialURL","openURL","_validateURL","TouchHistoryMath","centroidDimension","touchesChangedAfter","isXAxis","ofCurrent","oneTouchData","touchTrack","noCentroid","currentCentroidXOfTouchesChangedAfter","currentCentroidYOfTouchesChangedAfter","previousCentroidXOfTouchesChangedAfter","previousCentroidYOfTouchesChangedAfter","currentCentroidX","currentCentroidY","PanResponder","_initializeGestureState","gestureState","moveX","moveY","y0","dx","dy","vx","vy","_accountsForMovesUpTo","_updateGestureStateOnMove","movedAfter","prevX","prevY","nextDX","nextDY","shouldCancelClick","timeout","stateID","panHandlers","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponderCapture","clearInteractionTimeout","onPanResponderGrant","onShouldBlockNativeResponder","onPanResponderReject","onPanResponderRelease","setInteractionTimeout","onPanResponderStart","onPanResponderMove","onPanResponderEnd","onPanResponderTerminate","onPanResponderTerminationRequest","onClickCapture","getInteractionHandle","content","navigator","sharedAction","dismissedAction","vibrate","createSvgCircle","cx","cy","fill","ActivityIndicator","_props$animating","animating","_props$color","_props$hidesWhenStopp","hidesWhenStopped","_props$size","viewBox","stroke","indicatorSizes","animationPause","animationPlayState","small","large","PressResponder","usePressEvents","TouchableOpacity","activeOpacity","rejectResponderTermination","setDuration","_useState2","opacityOverride","setOpacityOverride","setOpacityTo","setOpacityActive","setOpacityInactive","isGrant","actionable","transitionDuration","MemoedTouchableOpacity","Button","buttonDisabled","textDisabled","textTransform","CheckBox","onChange","onValueChange","fakeControl","fakeControlChecked","fakeControlDisabled","fakeControlCheckedAndDisabled","nativeControl","cursorInherit","cursorDefault","ImageBackground","_props$style","imageStyle","imageRef","_StyleSheet$flatten","KeyboardAvoidingView","relativeKeyboardHeight","keyboardFrame","keyboardY","keyboardVerticalOffset","onKeyboardChange","Picker","selectedValue","itemStyle","prompt","_e$target","selectedIndex","initial","usePlatformMethods","Item","fontFamily","fontSize","useEvent","useHover","ProgressBar","_props$indeterminate","indeterminate","_props$progress","progress","_props$trackColor","trackColor","percentageProgress","forcedColorAdjust","cssFunction","SafeAreaView","StatusBar","setBackgroundColor","setBarStyle","setHidden","setNetworkActivityIndicatorVisible","setTranslucent","CSS_UNIT_RE","thumbDefaultBoxShadow","thumbFocusedBoxShadow","defaultDisabledTrackColor","defaultDisabledThumbColor","Switch","activeThumbColor","activeTrackColor","_props$disabled","thumbColor","_props$value","thumbRef","handleFocusState","styleHeight","styleWidth","trackBorderRadius","trackCurrentColor","true","false","thumbCurrentColor","thumbHeight","thumbWidth","rootStyle","disabledTrackColor","disabledThumbColor","trackStyle","thumbStyle","thumb","thumbActive","alignSelf","setSelection","isSelectionStale","setSelectionRange","autoCapitalize","autoComplete","autoCorrect","maxLength","placeholder","rows","spellCheck","focusTimeout","TextInput","_inputMode","_props$autoCapitalize","autoCompleteType","_props$autoCorrect","blurOnSubmit","caretHidden","clearTextOnFocus","editable","enterKeyHint","inputMode","keyboardType","_props$multiline","onChangeText","onKeyPress","onSelectionChange","onSubmitEditing","placeholderTextColor","_props$readOnly","returnKeyType","_props$secureTextEntr","secureTextEntry","selectTextOnFocus","showSoftInputOnFocus","prevSelection","prevSecureTextEntry","handleContentSizeChange","newHeight","newWidth","imperativeRef","isFocused","useElementLayout","useResponderEvents","useLocale","pick","shouldBlurOnSubmit","isComposing","isEventComposing","onSelect","_selection","textinput$raw","virtualkeyboardpolicy","State","MozAppearance","WebkitAppearance","resize","caretColor","twoArgumentPooler","a1","a2","Klass","instancePool","standardReleaser","destructor","poolSize","DEFAULT_POOLER","addPoolingTo","CopyConstructor","pooler","NewKlass","getPooled","release","BoundingDimensions","getPooledFromElement","Position","extractSingleTouch","hasTouches","hasChangedTouches","States","baseStatesConditions","RESPONDER_INACTIVE_PRESS_IN","RESPONDER_INACTIVE_PRESS_OUT","RESPONDER_ACTIVE_PRESS_IN","RESPONDER_ACTIVE_PRESS_OUT","RESPONDER_ACTIVE_LONG_PRESS_IN","RESPONDER_ACTIVE_LONG_PRESS_OUT","IsActive","IsPressingIn","IsLongPressingIn","Signals","ENTER_PRESS_RECT","LEAVE_PRESS_RECT","TouchableMixin","touchableNode","getTouchableNode","_touchableBlurListener","_isTouchableKeyboardActive","touchable","touchState","touchableHandleResponderTerminate","touchableDelayTimeout","longPressDelayTimeout","pressOutDelayTimeout","pressInLocation","responderID","touchableGetInitialState","touchableHandleResponderTerminationRequest","touchableHandleStartShouldSetResponder","touchableLongPressCancelsPress","touchableHandleResponderGrant","dispatchID","touchableGetHighlightDelayMS","_handleDelay","longDelayMS","touchableGetLongPressDelayMS","LONG_PRESS_THRESHOLD","_handleLongDelay","touchableHandleResponderRelease","touchableHandleResponderMove","positionOnActivate","dimensionsOnActivate","pressRectOffset","touchableGetPressRectOffset","pressExpandLeft","pressExpandTop","pressExpandRight","pressExpandBottom","hitSlop","touchableGetHitSlop","_getDistanceBetweenPoints","touchableHandleFocus","touchableHandleBlur","_remeasureMetricsOnActivation","_handleQueryLayout","globalX","globalY","curState","_performSideEffectsForTransition","_isHighlight","_savePressInLocation","bX","bY","curIsHighlight","newIsHighlight","isInitialTransition","isActiveTransition","touchableHandleLongPress","_startHighlight","_endHighlight","hasLongPressHandler","pressIsLongButStillCallOnPress","touchableHandlePress","_playTouchSound","playTouchSound","touchableHandleActivePressIn","touchableHandleActivePressOut","touchableGetPressOutDelayMS","touchableHandleKeyEvent","withoutDefaultFocusAndBlur","TouchableMixinWithoutDefaultFocusAndBlur","Touchable","Mixin","TOUCH_TARGET_DEBUG","renderDebugView","debugHitSlopStyle","hexColor","createExtraStyles","underlayColor","underlay","hasPressHandler","TouchableHighlight","onHideUnderlay","onShowUnderlay","extraStyles","setExtraStyles","showUnderlay","hideUnderlay","only","MemoedTouchableHighlight","UnimplementedView","unimplementedViewStyles","accessibilityState","accessibilityValue","TouchableWithoutFeedback","elementProps","MemoedTouchableWithoutFeedback","YellowBox","ignoreWarnings","ignoreLogs","ignoreAllLogs","uninstall","install","useColorScheme","setColorScheme","useWindowDimensions","dims","setDims","handleChange","canUseDOM","useLayoutEffectImpl","createResponderEvent","forceUpdate","__self","__source","_status","Children","toArray","Profiler","PureComponent","StrictMode","act","cloneElement","_currentValue2","_threadCount","_defaultValue","_globalName","createFactory","createRef","isValidElement","lazy","startTransition","unstable_act","OwnPropertyKeys","CreateMethodProperty","setToStringTag","sortIndex","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","hasDescriptors","gOPD","$floor","functionLengthIsConfigurable","functionLengthIsWritable","deep","allocUnsafe","cloneBuffer","cloneSymbol","byteLength","cloneArrayBuffer","buffer","byteOffset","cloneTypedArray","lastIndex","cloneRegExp","inspect","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","$wm","$m","$o","assert","objects","listGet","listHas","listSet","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","bigIntValueOf","gOPS","symToString","hasShammedSymbols","gPO","addNumericSeparator","sepRegex","intStr","dec","utilInspect","inspectCustom","inspectSymbol","isSymbol","wrapQuotes","defaultStyle","quoteChar","quoteStyle","inspect_","seen","maxStringLength","customInspect","indent","numericSeparator","inspectString","bigIntStr","baseIndent","getIndent","noIndent","newOpts","nameOf","arrObjKeys","symString","markBoxed","HTMLElement","isElement","attrs","attributes","xs","singleLineValues","indentedJoin","cause","isMap","mapParts","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isBigInt","ys","protoTag","stringTag","trailer","lowbyte","lineJoiner","symMap","util","hasNativeMap","ArraySet","_array","_set","fromArray","aArray","aAllowDuplicates","aStr","sStr","toSetString","isDuplicate","at","aIdx","base64","aValue","digit","encoded","vlq","toVLQSigned","VLQ_BASE","aIndex","aOutParam","continuation","shifted","strLen","intToCharMap","recursiveSearch","aLow","aHigh","aNeedle","aHaystack","aCompare","aBias","cmp","LEAST_UPPER_BOUND","GREATEST_LOWER_BOUND","MappingList","_sorted","_last","generatedLine","generatedColumn","unsortedForEach","aCallback","aThisArg","aMapping","mappingA","mappingB","lineA","lineB","columnA","columnB","compareByGeneratedPositionsInflated","swap","ary","temp","doQuickSort","comparator","low","high","pivot","binarySearch","base64VLQ","quickSort","SourceMapConsumer","aSourceMap","aSourceMapURL","sourceMap","parseSourceMapInput","IndexedSourceMapConsumer","BasicSourceMapConsumer","getArg","names","sourceRoot","sourcesContent","mappings","file","_version","isAbsolute","relative","_names","_sources","_absoluteSources","computeSourceURL","_mappings","_sourceMapURL","Mapping","originalLine","originalColumn","lastOffset","line","column","_sections","offsetLine","offsetColumn","generatedOffset","fromSourceMap","__generatedMappings","_parseMappings","__originalMappings","_charIsMappingSeparator","aSourceRoot","GENERATED_ORDER","ORIGINAL_ORDER","eachMapping","aContext","aOrder","_generatedMappings","_originalMappings","allGeneratedPositionsFor","aArgs","needle","_findSourceIndex","_findMapping","compareByOriginalPositions","lastColumn","aSource","relativeSource","smc","_sourceRoot","_generateSourcesContent","_file","generatedMappings","destGeneratedMappings","destOriginalMappings","srcMapping","destMapping","previousGeneratedColumn","previousOriginalLine","previousOriginalColumn","previousSource","previousName","cachedSegments","originalMappings","compareByGeneratedPositionsDeflated","aMappings","aLineName","aColumnName","aComparator","computeColumnSpans","nextMapping","lastGeneratedColumn","originalPositionFor","hasContentsOfAllSources","some","sourceContentFor","nullOnMissing","urlParse","fileUriAbsPath","scheme","generatedPositionFor","bias","generatedPosition","sectionMappings","adjustedMapping","SourceMapGenerator","_skipValidation","_sourcesContents","aSourceMapConsumer","generator","newMapping","generated","original","addMapping","sourceFile","sourceRelative","setSourceContent","_validateMapping","aSourceFile","aSourceContent","applySourceMap","aSourceMapPath","newSources","newNames","aGenerated","aOriginal","aName","_serializeMappings","nameIdx","sourceIdx","previousGeneratedLine","aSources","REGEX_NEWLINE","isSourceNode","SourceNode","aLine","aColumn","aChunks","sourceContents","fromStringWithSourceMap","aGeneratedCode","aRelativePath","remainingLines","remainingLinesIndex","shiftNextLine","getNextLine","lastGeneratedLine","lastMapping","nextLine","addMappingWithCode","aChunk","chunk","aFn","aSep","newChildren","replaceRight","aPattern","aReplacement","walkSourceContents","fromSetString","toStringWithSourceMap","sourceMappingActive","lastOriginalSource","lastOriginalLine","lastOriginalColumn","lastOriginalName","sourceContent","aDefaultValue","urlRegexp","dataUrlRegexp","aUrl","auth","host","port","urlGenerate","aParsedUrl","aPath","up","aRoot","aPathUrl","aRootUrl","supportsNullProto","isProtoString","strcmp","aStr1","aStr2","onlyCompareOriginal","onlyCompareGenerated","sourceURL","sourceMapURL","parsed","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","tmp","lo","md51_array","subarray","rhex","hex","toUtf8","utf8Str2ArrayBuffer","returnUInt8Array","buff","arrayBuffer2Utf8Str","concatenateArrayBuffers","hexToBinaryString","bytes","SparkMD5","clamp","targetArray","sourceArray","appendBinary","contents","_buff","_length","raw","_finish","hashBinary","EventListener","eventOptions","unorderedBindings","bindingConnected","bindingDisconnected","handleEvent","extendedEvent","stopImmediatePropagation","immediatePropagationStopped","extendEvent","bindings","hasBindings","leftIndex","rightIndex","Dispatcher","application","eventListenerMaps","started","eventListeners","fetchEventListenerForBinding","clearEventListeners","clearEventListenersForBinding","handleError","removeMappedEventListenerFor","eventListenerMap","fetchEventListenerMapForEventTarget","fetchEventListener","createEventListener","defaultActionDescriptorFilters","prevent","descriptorPattern","parseEventTarget","eventTargetName","namespaceCamelize","isSomething","hasProperty","allModifiers","schema","defaultEventNames","getDefaultEventNameForElement","methodName","keyFilter","forToken","descriptorString","parseActionDescriptorString","eventFilter","shouldIgnoreKeyboardEvent","keyFilterDissatisfied","standardFilter","keyMappings","shouldIgnoreMouseEvent","typecast","ctrl","modifier","details","textarea","o_O","Binding","actionEvent","prepareActionEvent","willBeInvokedByEvent","applyEventModifiers","invokeWithEvent","controller","actionDescriptorFilters","passes","logDebugActivity","KeyboardEvent","MouseEvent","Element","scope","containsElement","ElementObserver","delegate","mutationObserverInit","subtree","elements","mutationObserver","MutationObserver","mutations","processMutations","refresh","pause","takeRecords","matchElementsInTree","removeElement","addElement","mutation","processMutation","processAttributeChange","processRemovedNodes","removedNodes","processAddedNodes","addedNodes","elementAttributeChanged","matchElement","elementFromNode","processTree","elementIsActive","tree","processor","ELEMENT_NODE","elementMatched","elementUnmatched","AttributeObserver","elementObserver","hasAttribute","elementMatchedAttribute","elementUnmatchedAttribute","elementAttributeValueChanged","del","prune","Multimap","valuesByKey","hasKey","hasValue","getValuesForKey","getKeysForValue","_values","SelectorObserver","_selector","matchesByElement","selectorMatchElement","selectorMatched","selectorUnmatched","_attributeName","matchedBefore","StringMapObserver","stringMap","attributeOldValue","knownAttributeNames","refreshAttribute","oldValue","getStringMapKeyForAttribute","stringMapKeyAdded","stringMapValueChanged","stringMapKeyRemoved","currentAttributeNames","recordedAttributeNames","attribute","TokenListObserver","attributeObserver","tokensByElement","tokensMatched","readTokensForElement","unmatchedTokens","matchedTokens","refreshTokensForElement","tokensUnmatched","tokenMatched","tokenUnmatched","previousTokens","currentTokens","firstDifferingIndex","zip","findIndex","previousToken","currentToken","tokenString","parseTokenString","ValueListObserver","tokenListObserver","parseResultsByToken","valuesByTokenByElement","fetchParseResultForToken","fetchValuesByTokenForElement","elementMatchedValue","elementUnmatchedValue","parseResult","parseToken","valuesByToken","parseValueForToken","BindingObserver","bindingsByAction","valueListObserver","actionAttribute","disconnectAllActions","connectAction","disconnectAction","ValueObserver","stringMapObserver","valueDescriptorMap","invokeChangedCallbacksForDefaultValues","invokeChangedCallback","writer","valueDescriptorNameMap","valueDescriptors","rawValue","rawOldValue","changedMethodName","changedMethod","reader","descriptors","hasMethodName","TargetObserver","targetsByName","disconnectAllTargets","connectTarget","disconnectTarget","targetConnected","targetDisconnected","readInheritableStaticArrayValues","ancestors","getAncestorsForConstructor","definition","getOwnStaticArrayValues","readInheritableStaticObjectPairs","pairs","getOwnStaticObjectPairs","reverse","OutletObserver","outletsByName","outletElementsByName","selectorObserverMap","attributeObserverMap","outletDefinitions","outletName","setupSelectorObserverForOutlet","setupAttributeObserverForOutlet","dependentContexts","disconnectAllOutlets","stopSelectorObservers","stopAttributeObservers","outlet","getOutlet","connectOutlet","getOutletFromMap","disconnectOutlet","hasOutlet","hasOutletController","controllerAttribute","getOutletNameFromOutletAttributeName","updateSelectorObserverForOutlet","outletConnected","outletDisconnected","selectorObserver","attributeNameForOutletName","outlets","getSelectorForOutletName","outletAttributeForScope","find","outletDependencies","router","modules","controllerConstructor","dependentControllerIdentifiers","identifiers","contexts","getControllerForElementAndIdentifier","Context","functionName","bindingObserver","dispatcher","valueObserver","targetObserver","outletObserver","initialize","parentElement","invokeControllerMethod","bless","shadowConstructor","shadowProperties","getOwnKeys","shadowingDescriptor","getShadowedDescriptor","getShadowProperties","blessings","blessedProperties","blessing","getBlessedProperties","extendWithReflect","extended","setPrototypeOf","testReflectExtension","Module","blessDefinition","contextsByScope","connectedContexts","connectContextForScope","fetchContextForScope","disconnectContextForScope","ClassMap","getDataKey","getAll","getAttributeName","getAttributeNameForKey","DataMap","Guide","warnedKeysByObject","warnedKeys","attributeValueContainsToken","TargetSet","targetName","targetNames","findTarget","findLegacyTarget","targets","findAllTargets","findAllLegacyTargets","getSelectorForTargetName","findElement","findAllElements","targetAttributeForScope","getLegacySelectorForTargetName","deprecate","targetDescriptor","targetAttribute","revisedAttributeName","guide","OutletSet","controllerElement","outletNames","findOutlet","findAllOutlets","queryElements","matchesElement","Scope","classes","closest","controllerSelector","documentScope","isDocumentScope","ScopeObserver","scopesByIdentifierByElement","scopeReferenceCounts","parseValueForElementAndIdentifier","scopesByIdentifier","fetchScopesByIdentifierForElement","createScopeForElementAndIdentifier","referenceCount","scopeConnected","scopeDisconnected","Router","scopeObserver","modulesByIdentifier","loadDefinition","unloadIdentifier","connectModule","afterLoad","disconnectModule","getContextForElementAndIdentifier","proposeToConnectScopeForElementAndIdentifier","defaultSchema","enter","tab","esc","space","down","home","page_up","page_down","objectFromEntries","Application","logFormattedMessage","register","registerActionOption","shouldLoad","unload","controllers","groupCollapsed","groupEnd","getOutletController","getControllerAndEnsureConnectedScope","outletController","parseValueDefinitionPair","typeDefinition","typeObject","typeFromObject","hasType","hasDefault","fullObject","onlyType","onlyDefault","parseValueTypeConstant","typeFromDefaultValue","parseValueTypeDefault","parseValueTypeObject","typeFromConstant","propertyPath","parseValueTypeDefinition","defaultValuesByType","constantFromType","defaultValueForDefinition","hasCustomDefaultValue","readers","writers","valueDescriptorForTokenAndTypeDefinition","boolean","writeJSON","Controller","_identifier","_application","CustomEvent","classDefinition","targetDefinition","propertiesForTargetDefinition","valueDefinitionPairs","propertyDescriptorMap","valueDefinitionPair","valueDescriptor","read","write","propertiesForValueDefinitionPair","outletDefinition","camelizedName","outletElement","propertiesForOutletDefinition","definitionsFromContext","logicalName","identifierForContextKey","definitionForModuleAndIdentifier","definitionForModuleWithContextAndKey","de_DE","days","shortDays","months","shortMonths","AM","PM","am","pm","en_CA","ordinalSuffixes","en_US","es_MX","fr_FR","it_IT","nl_NL","pt_BR","ru_RU","tr_TR","zh_CN","DefaultLocale","defaultStrftime","Strftime","customTimezoneOffset","useUtcTimezone","_cachedDate","_locale","_customTimezoneOffset","_useUtcBasedDate","_cachedDateTimestamp","_processFormat","resultString","isInScope","extendedTZ","currentCharCode","getDay","getMonth","padTill2","getFullYear","getHours","hours12","padTill3","getMinutes","getSeconds","weekNumber","getTimezoneName","day","ordinal","sign","getTimezoneOffset","sep","hours","mins","strftime","utcOffset","getTimestampToUtcOffsetFor","newUTCOffset","currentTimestamp","localize","localizeByIdentifier","localeIdentifier","timezone","useUtcBasedDate","timezoneType","utc","numberToPad","paddingChar","hour","firstWeekday","weekday","firstDayOfYearUtc","UTC","dateUtc","weekNum","tzString","toLocaleString","timeZoneName","getShortTimezoneName","getDefaultTimezoneName","createStyleq","disableCache","disableMix","definedProperties","nextCache","possibleStyle","classNameChunk","cacheEntry","definedPropertiesChunk","weakMap","subStyle","_prop","markerProp","compiledStyleIndex","_cachedStyles","_compiledStyle","compileStyle","cachedStyles","getRandomValues","randomUUID","crypto","rnds8","rng","byteToHex","unsafeStringify","rnds","callbacks","currentTime","toPropertyKey","_extends","_getRequireWildcardCache","getOwnPropertyDescriptors","toPrimitive","ReadersWriterLock","_debug","_readers","_writers","_processQueueTimeout","_readQueue","_writeQueue","_log","_readWithResolve","_writeWithResolve","_processRead","_processWrite","_processQueueLater","_processQueue","readQueueItem","writeQueueItem","FormDataToObject","formData","formDataFromObject","treatInitial","firstMatch","inputName","newResult","treatSecond","secondMatch","newRest","precision","numberParts","wholeNumbers","decimals","numberWithDelimiters","DefineOwnProperty","FromPropertyDescriptor","IsDataDescriptor","IsPropertyKey","SameValue","Type","isPropertyDescriptor","fromPropertyDescriptor","Desc","argument","$isNaN","ES5Type","$isEnumerable","$Array","$ownKeys","$pushApply","$SymbolValueOf","$gOPN","$gOPS","allowed","isData","IsAccessor","valuesSeen","uniqueArray","_defineProperty","_objectWithoutPropertiesLoose","response","BaseError","static","messageToUse","addResponseErrorsToErrorMessage","captureStackTrace","errorMessages","errorTypes","ApiMakerBaseModelColumn","columnData","getType","ApiMakerBaseModelAttribute","attributeData","getColumn","isColumn","isSelectedByDefault","isTranslated","ApiMakerBaseModelReflection","reflectionData","foreignKey","macro","modelClass","through","ApiMakerCanCan","abilities","abilitiesToLoad","abilitiesToLoadData","lock","currentApiMakerCanCan","can","ability","subject","abilityToUse","foundAbility","findAbility","subjectLabel","modelClassData","abilityData","abilityDataSubject","isAbilityLoaded","loadAbilities","async","promises","loadAbility","all","abilityToLoad","queueAbilitiesRequest","queueAbilitiesRequestTimeout","sendAbilitiesRequest","resetAbilities","sendRequest","request","Api","pathParams","requestLocal","headers","requestPath","getHost","xhr","XMLHttpRequest","withCredentials","headerName","setRequestHeader","executeXhr","_parseResponse","status","customError","peakflowParameters","_token","rawData","put","getCsrfToken","responseType","getResponseHeader","responseText","ApiMakerCommandSubmitData","filesCount","jsonData","traverseObject","getFilesCount","getJsonData","getRawData","getFormData","objectForFormData","json","convertDynamic","traverseArray","shouldSkip","File","newArray","newObject","DestroyError","apiMakerType","Serializer","serializeArgument","api_maker_type","model_class_name","model_id","offsetNumber","serializeArray","serializeObject","ApiMakerCommandsPool","addCommand","pool","instant","promiseResult","flushRunLast","currentApiMakerCommandsPool","flushCount","poolData","globalRequestData","commandType","commandName","collectionName","primary_key","primaryKey","commandsCount","commandSubmitData","updateSessionStatus","currentPool","currentPoolData","submitData","commandId","responses","commandResponse","commandResponseData","commandData","bugReportUrl","handleFailedResponse","error_type","validationErrors","model","errorMessage","errors","accessors","breakPoints","currenciesCollection","i18n","ApiMakerConfig","apiMakerConfigGlobal","accessorName","accessorData","camelizedAccessor","apiMakerConfig","CustomError","ApiMakerDeserializer","restObject","collection","cents","modelClassName","isNewRecord","ApiMakerDevise","callSignOutEvent","currentApiMakerDevise","addUserScope","currentMethodName","getCurrentScope","isSignedInMethodName","signIn","username","postData","updateSession","camelizedScopeName","currents","hasCurrentScope","setSignedOut","signOut","apiMakerSessionStatusUpdater","loadCurrentScope","hasGlobalCurrentScope","apiMakerDeviseCurrent","scopeData","parsedScopeData","UNKNOWN_FUNCTION","stackString","chromeRe","isNative","isEval","submatch","chromeEvalRe","lineNumber","parseChrome","winjsRe","parseWinjs","geckoRe","geckoEvalRe","parseGecko","nodeRe","parseNode","javaScriptCoreRe","parseJSC","SourceMapsLoader","isLoadingSourceMaps","sourceMaps","srcLoaded","loadSourceMapsForScriptTags","loadSourceMapsForScriptTagsCallback","sourceMapForSource","sourceMapForSourceCallback","loadSourceMaps","getSources","originalUrl","loadSourceMapForSource","getSourcesFromScripts","getSourcesFromError","uniqunize","trace","sourceMapUrl","getMapURL","scripts","loadUrl","origin","includeMapURL","loadXhr","parser","parseStackTrace","stackTrace","getStackTraceData","traceData","fileString","newSourceMap","sourceMapData","filePath","ErrorLogger","debugging","errorOccurred","isHandlingError","sourceMapsLoader","output","enable","connectOnError","connectUnhandledRejection","getErrors","hasErrorOccurred","isWorkingOnError","finally","onUnhandledRejection","backtrace","errorClass","testPromiseError","_resolve","ApiMakerLogger","isDebugging","setGlobalDebug","getDebug","getGlobalDebug","setDebug","modelName","requireName","AttributeNotLoadedError","CacheKeyGenerator","allModels","readModels","recordModelType","recordModel","filledModels","local","md5","feedModel","relationshipType","uniqueKey","isModelRecorded","fillModels","relationships","loadedRelationship","anotherModel","markedForDestruction","readAttributeUnderscore","ModelName","camelizedLower","human","countKey","argsToUse","i18nKey","defaultModelName","getI18n","paramKey","NotLoadedError","ApiMakerBaseModelScope","objectToUnderscore","BaseModel","attributeKey","newCustomEvent","ransack","findOrCreateBy","findOrCreateByArgs","additional_data","additionalData","find_or_create_by_args","resource_name","ransackableAssociations","reflections","relationshipData","ransackableAttributes","ransackableScopes","reflection","foundReflection","csrfTokenElement","changes","newRecord","relationshipsCache","_readModelDataFromArgs","modelData","assignAttributes","newAttributes","attributeUnderscore","applyChange","deleteChange","isAttributeLoaded","readAttribute","givenAbilityName","abilityName","isPersisted","keyParts","updatedAt","localCacheKey","fullCacheKey","getAttributes","dataToUse","save","parseValidationErrors","_refreshModelFromResponse","createRaw","objectData","_objectDataFromGivenRawData","_refreshModelDataFromResponse","query_params","handleResponseError","ensureAbilities","listOfAbilities","abilityInList","ransackParams","abilitiesParams","newAbilities","newAbility","identifierKey","_identifierKey","isAssociationLoaded","associationName","isAssociationLoadedUnderscore","associationNameUnderscore","isAssociationPresent","validation_errors","sendValidationErrorsEvent","throwValidationError","humanAttributeName","snakeCase","isAttributeChanged","attributeNameUnderscore","attributeNames","isChanged","savedChangeToAttribute","previousModelData","setNewModel","setNewModelData","relationshipName","relationshipCacheName","_isDateChanged","_isIntegerChanged","_isStringChanged","preload","queryArgs","select_columns","selectColumns","saveRaw","updateRaw","newModel","simple_model_errors","simpleModelErrors","isValid","isValidOnServer","valid","preloadRelationship","markForDestruction","_markedForDestruction","uniqueKeyValue","randomBetween","_callCollectionCommand","commandArgs","formOrDataObject","_callMemberCommand","_postDataFromArgs","_isPresent","_loadBelongsToReflection","reflectionName","_readBelongsToReflection","loadedRelationships","_loadHasManyReflection","models","_loadHasOneReflection","_readHasOneReflection","preloadedRelationships","_readPreloadedRelationships","preloaded","relationshipClassData","relationship","relationshipsList","relationshipId","getModel","ApiMakerModelRecipesModelLoader","modelRecipe","modelRecipesLoader","createClass","collection_commands","collectionCommands","member_commands","memberCommands","model_class_data","ModelClass","addAttributeMethodsToModelClass","addRelationshipsToModelClass","addQueryCommandsToModelClass","addMemberCommandsToModelClass","collectionCommandName","memberCommandName","active_record","activeRecordName","activeRecordPrimaryKey","class_name","klass","klassPrimaryKey","as","optionsAs","optionsPrimaryKey","optionsThrough","resourceName","loadMethodName","modelMethodName","defineBelongsToGetMethod","defineBelongsToLoadMethod","defineHasManyGetMethod","defineHasManyLoadMethod","defineHasOneGetMethd","defineHasOneLoadMethod","foreignKeyMethodName","getModelClass","hasManyParameters","queryParameters","primaryKeyColumnName","primaryKeyMethodName","ModelRecipesLoader","recipes","modelClasses","ApiMakerPreloaded","loadPreloadedModels","preloadedType","preloadedId","modelType","modelId","ModelsResponseReader","ApiMakerResult","currentPage","perPage","totalCount","totalPages","ApiMakerRoutesNative","getLocale","routeTranslationParts","loadRouteDefinitions","routeDefinitionArgs","rawPathParts","pathMethodName","urlMethodName","localized","localizedRoutes","variableCount","localizedPathParts","pathPart","translateRoute","pathParts","loadRouteTranslations","locales","routeTranslations","lastArg","restOptions","translatedRoute","addHostToRoute","fullUrl","hostToUse","portToUse","RunLast","flushTriggerCount","flushTrigger","flushTriggerQueue","flushTimeout","ApiMakerServices","currentApiMakerService","serviceName","service_args","service_name","ApiMakerSessionStatusUpdater","useMetaElement","connectOnlineEvent","connectWakeEvent","csrfToken","sessionStatus","onSignedOut","addEvent","startTimeout","updateTimeout","stopTimeout","updateMetaElementsFromResult","updateUserSessionsFromResult","csrf_token","scopeName","scopes","updateUserSessionScopeFromResult","deviseIsSignedInMethodName","currentlySignedIn","signedInOnBackend","signed_in","replaces","regexp","replaceAll","character","onCalled","onCalledCallback","ValidationError","getUnhandledErrorMessage","getErrorMessage","getUnhandledErrors","getValidationErrors","validationError","getHandled","hasUnhandledErrors","unhandledError","hasValidationErrorForAttribute","underscoredAttributeName","attributeType","input_name","handled","matchesAttributeAndInputName","getInputName","attributeNameIdMatch","attributeNameWithoutId","attributeUnderScoreName","inputNameWithoutId","getErrorMessages","getFullErrorMessages","fullErrorMessages","attributeHumanName","setHandled","ValidationErrors","rootModel","fullErrorMessage","getValidationErrorsForInput","onMatchValidationError","unhandledValidationErrors","unhandledValidationErrorMessages","unhandledValidationError","Shape","newMeta","shapeClass","OnLocationChangedCallback","callbacksHandler","callCallback","CallbacksHandler","callCallbacks","connectInterval","onLocationChanged","givenCallback","onLocationMightHaveChanged","currentLocationHref","onLocationChangedCallbacksHandler","setPath","onLocationChangedCallback","newPath","onLocationChangedEvent","digger","callFunctions","throwError","digged","currentPath","dig","digs","PropertyNotFoundError","fetchingObjectHandler","wrappedObject","ErrorHandlersRaiser","I18nOnSteroids","errorHandler","fallbacks","setLocale","setLocaleOnStrftime","monthNames","abbrMonthNames","strftimeLocales","scanRequireContext","contextLoader","_scanRecursive","scanObject","storage","formatValue","localesToTry","_lookup","insertVariables","toNumber","numberable","ErrorHandlersRaiseInBackground","namespace","I18n","updateLocale","incorporate","Incorporator","replaceArrayIfExistsValue","replaceArrayIfExists","mergeObjects","firstObject","mergeObjectsInto","mergeArraysInto","mergeIntoValue","arrays","mergeInto","ParentElementsResult","getElement","parentElements","breakAfterFirstFound","elementResult"],"sourceRoot":""}