{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/react/react.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/react-redux/lib/index.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/react-i18next/dist/commonjs/index.js","webpack:///./app/javascript/common/orders/actions.jsx","webpack:///./app/javascript/common/fetchHelper.jsx","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./app/javascript/common/app/actions.jsx","webpack:///./app/javascript/common/lib/Button.jsx","webpack:///./node_modules/lodash-es/_root.js","webpack:///./node_modules/lodash-es/_Symbol.js","webpack:///./node_modules/lodash-es/_getRawTag.js","webpack:///./node_modules/lodash-es/_objectToString.js","webpack:///./node_modules/lodash-es/_baseGetTag.js","webpack:///./node_modules/lodash-es/_overArg.js","webpack:///./node_modules/lodash-es/_getPrototype.js","webpack:///./node_modules/lodash-es/isObjectLike.js","webpack:///./node_modules/lodash-es/isPlainObject.js","webpack:///./node_modules/redux/es/createStore.js","webpack:///./node_modules/redux/es/combineReducers.js","webpack:///./node_modules/redux/es/bindActionCreators.js","webpack:///./node_modules/redux/es/compose.js","webpack:///./node_modules/redux/es/applyMiddleware.js","webpack:///./node_modules/react-dom/lib/reactProdInvariant.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/fbjs/lib/warning.js","webpack:///./node_modules/react-router/es/PatternUtils.js","webpack:///./node_modules/react-router/es/computeChangedRoutes.js","webpack:///./node_modules/react-router/es/AsyncUtils.js","webpack:///./node_modules/react-router/es/TransitionUtils.js","webpack:///./node_modules/react-router/es/isActive.js","webpack:///./node_modules/react-router/es/PromiseUtils.js","webpack:///./node_modules/react-router/es/getComponents.js","webpack:///./node_modules/react-router/es/RouteUtils.js","webpack:///./node_modules/react-router/es/matchRoutes.js","webpack:///./node_modules/react-router/es/createTransitionManager.js","webpack:///./node_modules/react-router/es/InternalPropTypes.js","webpack:///./node_modules/react-router/es/getRouteParams.js","webpack:///./node_modules/react-router/es/ContextUtils.js","webpack:///./node_modules/react-router/es/RouterContext.js","webpack:///./node_modules/react-router/es/RouterUtils.js","webpack:///./node_modules/react-router/es/Router.js","webpack:///./node_modules/react-router/es/PropTypes.js","webpack:///./node_modules/react-router/es/Link.js","webpack:///./node_modules/react-router/es/IndexLink.js","webpack:///./node_modules/react-router/es/withRouter.js","webpack:///./node_modules/react-router/es/Redirect.js","webpack:///./node_modules/react-router/es/IndexRedirect.js","webpack:///./node_modules/react-router/es/Route.js","webpack:///./node_modules/react-router/es/IndexRoute.js","webpack:///./node_modules/react-router/es/match.js","webpack:///./node_modules/react-router/es/applyRouterMiddleware.js","webpack:///./node_modules/react-router/es/createRouterHistory.js","webpack:///./node_modules/react-router/es/useRouterHistory.js","webpack:///./node_modules/react-router/es/browserHistory.js","webpack:///./node_modules/react-router/es/hashHistory.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/object-assign/index.js","webpack:///./app/javascript/common/locations/actions.jsx","webpack:///./node_modules/react-dom/lib/ReactDOMComponentTree.js","webpack:///./app/javascript/common/lib/map/Container.jsx","webpack:///./node_modules/create-react-class/index.js","webpack:///./app/javascript/common/lib/map/calculations/zoomToPositions.js","webpack:///./app/javascript/common/lib/map/calculations/zoomToFit.js","webpack:///./app/javascript/common/lib/map/calculations/zoomToPoint.js","webpack:///./app/javascript/common/lib/map/calculations/pan.js","webpack:///./app/javascript/common/lib/map/calculations/getDisplacement.js","webpack:///./app/javascript/common/lib/map/calculations/getDistance.js","webpack:///./app/javascript/common/lib/map/calculations/getSegmentsRatio.js","webpack:///./app/javascript/common/lib/map/calculations/getSegmentMidpoint.js","webpack:///./app/javascript/common/variables.jsx","webpack:///./node_modules/fbjs/lib/ExecutionEnvironment.js","webpack:///./node_modules/react-addons-css-transition-group/index.js","webpack:///./app/javascript/common/lib/mixins/SetIntervalMixin.jsx","webpack:///./app/javascript/common/lib/map/Position.jsx","webpack:///./app/javascript/common/lib/colors.js","webpack:///./app/javascript/common/lib/map/Map.jsx","webpack:///./node_modules/bluebird/js/browser/bluebird.js","webpack:///./node_modules/jsbarcode/bin/barcodes/Barcode.js","webpack:///./node_modules/redux-thunk/es/index.js","webpack:///./app/javascript/common/app/reducer.jsx","webpack:///./app/javascript/common/lib/map/ZoomedMap.jsx","webpack:///./node_modules/i18next/dist/es/logger.js","webpack:///./node_modules/i18next/dist/es/EventEmitter.js","webpack:///./node_modules/i18next/dist/es/utils.js","webpack:///./node_modules/i18next/dist/es/ResourceStore.js","webpack:///./node_modules/i18next/dist/es/postProcessor.js","webpack:///./node_modules/i18next/dist/es/compatibility/v1.js","webpack:///./node_modules/i18next/dist/es/Translator.js","webpack:///./node_modules/i18next/dist/es/LanguageUtils.js","webpack:///./node_modules/i18next/dist/es/PluralResolver.js","webpack:///./node_modules/i18next/dist/es/Interpolator.js","webpack:///./node_modules/i18next/dist/es/BackendConnector.js","webpack:///./node_modules/i18next/dist/es/CacheConnector.js","webpack:///./node_modules/i18next/dist/es/defaults.js","webpack:///./node_modules/i18next/dist/es/i18next.js","webpack:///./node_modules/i18next/dist/es/index.js","webpack:///./app/javascript/i18n.jsx","webpack:///./app/javascript/common/orders/massActions.jsx","webpack:///./node_modules/react-barcode/lib/react-barcode.js","webpack:///./node_modules/react-dom/lib/ReactInstrumentation.js","webpack:///./app/javascript/common/lib/Modal.jsx","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/react-dom/lib/ReactUpdates.js","webpack:///./node_modules/warning/browser.js","webpack:///./app/javascript/common/locations/reducer.jsx","webpack:///./node_modules/actioncable/lib/assets/compiled/action_cable.js","webpack:///./app/javascript/common/lib/FromNow.jsx","webpack:///./app/javascript/common/lib/mixins/OrderMixin.jsx","webpack:///./app/javascript/common/lib/OrderStatusIcon.jsx","webpack:///./app/javascript/common/lib/ConfirmButton.jsx","webpack:///./node_modules/react/lib/ReactCurrentOwner.js","webpack:///./node_modules/react-dom/lib/SyntheticEvent.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/history/lib/PathUtils.js","webpack:///./node_modules/react-dimensions/index.js","webpack:///./app/javascript/common/lib/OrderDirectionIcon.jsx","webpack:///./app/javascript/common/lib/Search.jsx","webpack:///./app/javascript/common/containers/connectionStatus/ConnectionStatus.jsx","webpack:///./node_modules/react-dom/lib/PooledClass.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/history/lib/LocationUtils.js","webpack:///./node_modules/domkit/appendVendorPrefix.js","webpack:///./node_modules/bowser/src/bowser.js","webpack:///./node_modules/react/lib/React.js","webpack:///./node_modules/react/lib/ReactElement.js","webpack:///./node_modules/react-dom/lib/DOMProperty.js","webpack:///./node_modules/react-dom/lib/ReactReconciler.js","webpack:///./node_modules/react-dom/lib/DOMLazyTree.js","webpack:///./node_modules/boron/modalFactory.js","webpack:///./node_modules/domkit/insertKeyframesRule.js","webpack:///./node_modules/history/lib/Actions.js","webpack:///./app/javascript/common/orders/reducer.jsx","webpack:///./node_modules/history/lib/index.js","webpack:///./node_modules/react/lib/reactProdInvariant.js","webpack:///./node_modules/react-dom/lib/EventPropagators.js","webpack:///./node_modules/react-dom/lib/EventPluginHub.js","webpack:///./node_modules/react-dom/lib/SyntheticUIEvent.js","webpack:///./node_modules/react-dom/lib/ReactInstanceMap.js","webpack:///./node_modules/history/lib/DOMUtils.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/constants.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/encoder.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI.js","webpack:///./node_modules/history/lib/useQueries.js","webpack:///./node_modules/history/lib/useBasename.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/react-dom/lib/Transaction.js","webpack:///./node_modules/react-dom/lib/SyntheticMouseEvent.js","webpack:///./node_modules/react-dom/lib/setInnerHTML.js","webpack:///./node_modules/react-dom/lib/escapeTextContentForBrowser.js","webpack:///./node_modules/react-dom/lib/ReactBrowserEventEmitter.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/history/lib/ExecutionEnvironment.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/checksums.js","webpack:///./node_modules/jsbarcode/bin/help/merge.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/boron/Boron.js","webpack:///./app/javascript/common/lib/ThemeSwitch.jsx","webpack:///./app/javascript/common/lib/OrderLocation.jsx","webpack:///./app/javascript/common/pages/Profile.jsx","webpack:///./app/javascript/common/lib/ThemeProvider.jsx","webpack:///./app/javascript/common/supplies/reducer.jsx","webpack:///./node_modules/color/index.js","webpack:///./node_modules/fbjs/lib/emptyObject.js","webpack:///./node_modules/react-dom/lib/EventPluginRegistry.js","webpack:///./node_modules/react-dom/lib/EventPluginUtils.js","webpack:///./node_modules/react-dom/lib/ReactErrorUtils.js","webpack:///./node_modules/react-dom/lib/getEventTarget.js","webpack:///./node_modules/react-dom/lib/isEventSupported.js","webpack:///./node_modules/react-dom/lib/getEventModifierState.js","webpack:///./node_modules/react-dom/lib/DOMChildrenOperations.js","webpack:///./node_modules/react-dom/lib/DOMNamespaces.js","webpack:///./node_modules/react-dom/lib/createMicrosoftUnsafeLocalFunction.js","webpack:///./node_modules/react-dom/lib/LinkedValueUtils.js","webpack:///./node_modules/react-dom/lib/ReactComponentEnvironment.js","webpack:///./node_modules/fbjs/lib/shallowEqual.js","webpack:///./node_modules/react-dom/lib/shouldUpdateReactComponent.js","webpack:///./node_modules/react-dom/lib/KeyEscapeUtils.js","webpack:///./node_modules/react-dom/lib/ReactUpdateQueue.js","webpack:///./node_modules/react-dom/lib/validateDOMNesting.js","webpack:///./node_modules/react-dom/lib/getEventCharCode.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/history/lib/runTransitionHook.js","webpack:///./node_modules/history/lib/createHistory.js","webpack:///./node_modules/history/lib/BrowserProtocol.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/history/lib/createMemoryHistory.js","webpack:///./node_modules/history/lib/createBrowserHistory.js","webpack:///./node_modules/history/lib/createHashHistory.js","webpack:///./node_modules/symbol-observable/es/index.js","webpack:///./node_modules/react/lib/ReactBaseClasses.js","webpack:///./node_modules/react/lib/ReactNoopUpdateQueue.js","webpack:///./node_modules/react/lib/canDefineProperty.js","webpack:///./node_modules/react/lib/ReactElementSymbol.js","webpack:///./node_modules/prop-types/factory.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/create-react-class/factory.js","webpack:///./node_modules/react-dom/lib/ReactDOMComponentFlags.js","webpack:///./node_modules/react-dom/lib/accumulateInto.js","webpack:///./node_modules/react-dom/lib/forEachAccumulated.js","webpack:///./node_modules/react-dom/lib/getTextContentAccessor.js","webpack:///./node_modules/react-dom/lib/CallbackQueue.js","webpack:///./node_modules/react-dom/lib/ReactFeatureFlags.js","webpack:///./node_modules/react-dom/lib/inputValueTracking.js","webpack:///./node_modules/react-dom/lib/isTextInputElement.js","webpack:///./node_modules/react-dom/lib/ViewportMetrics.js","webpack:///./node_modules/react-dom/lib/setTextContent.js","webpack:///./node_modules/fbjs/lib/focusNode.js","webpack:///./node_modules/react-dom/lib/CSSProperty.js","webpack:///./node_modules/react-dom/lib/DOMPropertyOperations.js","webpack:///./node_modules/react-dom/lib/ReactDOMSelect.js","webpack:///./node_modules/react-dom/lib/instantiateReactComponent.js","webpack:///./node_modules/react-dom/lib/ReactNodeTypes.js","webpack:///./node_modules/react-dom/lib/ReactEmptyComponent.js","webpack:///./node_modules/react-dom/lib/ReactHostComponent.js","webpack:///./node_modules/react-dom/lib/traverseAllChildren.js","webpack:///./node_modules/react/lib/ReactComponentTreeHook.js","webpack:///./node_modules/fbjs/lib/EventListener.js","webpack:///./node_modules/react-dom/lib/ReactInputSelection.js","webpack:///./node_modules/fbjs/lib/getActiveElement.js","webpack:///./node_modules/react-dom/lib/ReactMount.js","webpack:///./node_modules/react-dom/lib/getHostComponentFromComposite.js","webpack:///./node_modules/react-redux/lib/utils/storeShape.js","webpack:///./node_modules/react-redux/lib/utils/warning.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/color-convert/conversions.js","webpack:///./node_modules/history/lib/DOMStateStorage.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPC.js","webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/ITF.js","webpack:///./node_modules/jsbarcode/bin/help/optionsFromStrings.js","webpack:///./node_modules/jsbarcode/bin/options/defaults.js","webpack:///./node_modules/jsbarcode/bin/renderers/shared.js","webpack:///./node_modules/jsbarcode/bin/exceptions/exceptions.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bn-bd.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es-mx.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tk.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/dom-helpers/util/inDOM.js","webpack:///./node_modules/react-transition-group/utils/PropTypes.js","webpack:///./node_modules/symbol-observable/es/ponyfill.js","webpack:///./node_modules/lodash-es/_freeGlobal.js","webpack:///./app/javascript/packs/application.js","webpack:///./node_modules/react/lib/lowPriorityWarning.js","webpack:///./node_modules/react/lib/ReactChildren.js","webpack:///./node_modules/react/lib/PooledClass.js","webpack:///./node_modules/react/lib/traverseAllChildren.js","webpack:///./node_modules/react/lib/getIteratorFn.js","webpack:///./node_modules/react/lib/KeyEscapeUtils.js","webpack:///./node_modules/react/lib/ReactDOMFactories.js","webpack:///./node_modules/react/lib/ReactPropTypes.js","webpack:///./node_modules/prop-types/factoryWithTypeCheckers.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/prop-types/checkPropTypes.js","webpack:///./node_modules/react/lib/ReactVersion.js","webpack:///./node_modules/react/lib/createClass.js","webpack:///./node_modules/react/lib/onlyChild.js","webpack:///./node_modules/react-dom/lib/ReactDOM.js","webpack:///./node_modules/react-dom/lib/ReactDefaultInjection.js","webpack:///./node_modules/react-dom/lib/ARIADOMPropertyConfig.js","webpack:///./node_modules/react-dom/lib/BeforeInputEventPlugin.js","webpack:///./node_modules/react-dom/lib/FallbackCompositionState.js","webpack:///./node_modules/react-dom/lib/SyntheticCompositionEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticInputEvent.js","webpack:///./node_modules/react-dom/lib/ChangeEventPlugin.js","webpack:///./node_modules/react-dom/lib/ReactRef.js","webpack:///./node_modules/react-dom/lib/ReactOwner.js","webpack:///./node_modules/react-dom/lib/DefaultEventPluginOrder.js","webpack:///./node_modules/react-dom/lib/EnterLeaveEventPlugin.js","webpack:///./node_modules/react-dom/lib/HTMLDOMPropertyConfig.js","webpack:///./node_modules/react-dom/lib/ReactComponentBrowserEnvironment.js","webpack:///./node_modules/react-dom/lib/Danger.js","webpack:///./node_modules/fbjs/lib/createNodesFromMarkup.js","webpack:///./node_modules/fbjs/lib/createArrayFromMixed.js","webpack:///./node_modules/fbjs/lib/getMarkupWrap.js","webpack:///./node_modules/react-dom/lib/ReactDOMIDOperations.js","webpack:///./node_modules/react-dom/lib/ReactDOMComponent.js","webpack:///./node_modules/react-dom/lib/AutoFocusUtils.js","webpack:///./node_modules/react-dom/lib/CSSPropertyOperations.js","webpack:///./node_modules/fbjs/lib/camelizeStyleName.js","webpack:///./node_modules/fbjs/lib/camelize.js","webpack:///./node_modules/react-dom/lib/dangerousStyleValue.js","webpack:///./node_modules/fbjs/lib/hyphenateStyleName.js","webpack:///./node_modules/fbjs/lib/hyphenate.js","webpack:///./node_modules/fbjs/lib/memoizeStringOnly.js","webpack:///./node_modules/react-dom/lib/quoteAttributeValueForBrowser.js","webpack:///./node_modules/react-dom/lib/ReactEventEmitterMixin.js","webpack:///./node_modules/react-dom/lib/getVendorPrefixedEventName.js","webpack:///./node_modules/react-dom/lib/ReactDOMInput.js","webpack:///./node_modules/react-dom/lib/ReactPropTypesSecret.js","webpack:///./node_modules/react-dom/lib/ReactDOMOption.js","webpack:///./node_modules/react-dom/lib/ReactDOMTextarea.js","webpack:///./node_modules/react-dom/lib/ReactMultiChild.js","webpack:///./node_modules/react-dom/lib/ReactChildReconciler.js","webpack:///./node_modules/react-dom/lib/ReactCompositeComponent.js","webpack:///./node_modules/react/lib/getNextDebugID.js","webpack:///./node_modules/react-dom/lib/ReactElementSymbol.js","webpack:///./node_modules/react-dom/lib/getIteratorFn.js","webpack:///./node_modules/react-dom/lib/flattenChildren.js","webpack:///./node_modules/react-dom/lib/ReactServerRenderingTransaction.js","webpack:///./node_modules/react-dom/lib/ReactServerUpdateQueue.js","webpack:///./node_modules/react-dom/lib/ReactDOMEmptyComponent.js","webpack:///./node_modules/react-dom/lib/ReactDOMTreeTraversal.js","webpack:///./node_modules/react-dom/lib/ReactDOMTextComponent.js","webpack:///./node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js","webpack:///./node_modules/react-dom/lib/ReactEventListener.js","webpack:///./node_modules/fbjs/lib/getUnboundedScrollPosition.js","webpack:///./node_modules/react-dom/lib/ReactInjection.js","webpack:///./node_modules/react-dom/lib/ReactReconcileTransaction.js","webpack:///./node_modules/react-dom/lib/ReactDOMSelection.js","webpack:///./node_modules/react-dom/lib/getNodeForCharacterOffset.js","webpack:///./node_modules/fbjs/lib/containsNode.js","webpack:///./node_modules/fbjs/lib/isTextNode.js","webpack:///./node_modules/fbjs/lib/isNode.js","webpack:///./node_modules/react-dom/lib/SVGDOMPropertyConfig.js","webpack:///./node_modules/react-dom/lib/SelectEventPlugin.js","webpack:///./node_modules/react-dom/lib/SimpleEventPlugin.js","webpack:///./node_modules/react-dom/lib/SyntheticAnimationEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticClipboardEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticFocusEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticKeyboardEvent.js","webpack:///./node_modules/react-dom/lib/getEventKey.js","webpack:///./node_modules/react-dom/lib/SyntheticDragEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticTouchEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticTransitionEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticWheelEvent.js","webpack:///./node_modules/react-dom/lib/ReactDOMContainerInfo.js","webpack:///./node_modules/react-dom/lib/ReactDOMFeatureFlags.js","webpack:///./node_modules/react-dom/lib/ReactMarkupChecksum.js","webpack:///./node_modules/react-dom/lib/adler32.js","webpack:///./node_modules/react-dom/lib/ReactVersion.js","webpack:///./node_modules/react-dom/lib/findDOMNode.js","webpack:///./node_modules/react-dom/lib/renderSubtreeIntoContainer.js","webpack:///./node_modules/react-redux/lib/components/Provider.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/react-redux/lib/components/connect.js","webpack:///./node_modules/react-redux/lib/utils/shallowEqual.js","webpack:///./node_modules/react-redux/lib/utils/wrapActionCreators.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/lodash/isPlainObject.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/react-i18next/dist/commonjs/translate.js","webpack:///./node_modules/react-i18next/node_modules/hoist-non-react-statics/index.js","webpack:///./node_modules/react-i18next/dist/commonjs/interpolate.js","webpack:///./node_modules/react-i18next/dist/commonjs/I18nextProvider.js","webpack:///./node_modules/react-i18next/dist/commonjs/loadNamespaces.js","webpack:///./app/javascript/assets/i18n/index.js","webpack:///./node_modules/element-resize-event/index.js","webpack:///./node_modules/clone/clone.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/color-convert/index.js","webpack:///./node_modules/color-convert/node_modules/color-name/index.js","webpack:///./node_modules/color-convert/route.js","webpack:///./node_modules/color-string/color-string.js","webpack:///./node_modules/color-name/index.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///./node_modules/query-string/index.js","webpack:///./node_modules/strict-uri-encode/index.js","webpack:///./node_modules/history/lib/AsyncUtils.js","webpack:///./node_modules/history/lib/RefreshProtocol.js","webpack:///./node_modules/history/lib/HashProtocol.js","webpack:///./node_modules/history/lib/useBeforeUnload.js","webpack:///./node_modules/boron/DropModal.js","webpack:///./node_modules/domkit/transitionEvents.js","webpack:///./node_modules/domkit/getVendorPropertyName.js","webpack:///./node_modules/domkit/builtinStyle.js","webpack:///./node_modules/domkit/insertRule.js","webpack:///./node_modules/domkit/getVendorPrefix.js","webpack:///./node_modules/boron/WaveModal.js","webpack:///./node_modules/boron/FlyModal.js","webpack:///./node_modules/boron/FadeModal.js","webpack:///./node_modules/boron/ScaleModal.js","webpack:///./node_modules/boron/OutlineModal.js","webpack:///./node_modules/jsbarcode/bin/JsBarcode.js","webpack:///./node_modules/jsbarcode/bin/barcodes/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE39/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128_AUTO.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/auto.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128A.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128B.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128C.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN13.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN8.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN5.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN2.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPCE.js","webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/constants.js","webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/ITF14.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI10.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI11.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI1010.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI1110.js","webpack:///./node_modules/jsbarcode/bin/barcodes/pharmacode/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/codabar/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js","webpack:///./node_modules/jsbarcode/bin/help/linearizeEncodings.js","webpack:///./node_modules/jsbarcode/bin/help/fixOptions.js","webpack:///./node_modules/jsbarcode/bin/help/getRenderProperties.js","webpack:///./node_modules/jsbarcode/bin/help/getOptionsFromElement.js","webpack:///./node_modules/jsbarcode/bin/renderers/index.js","webpack:///./node_modules/jsbarcode/bin/renderers/canvas.js","webpack:///./node_modules/jsbarcode/bin/renderers/svg.js","webpack:///./node_modules/jsbarcode/bin/renderers/object.js","webpack:///./node_modules/jsbarcode/bin/exceptions/ErrorHandler.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/react-transition-group/CSSTransitionGroup.js","webpack:///./node_modules/react-transition-group/TransitionGroup.js","webpack:///./node_modules/chain-function/index.js","webpack:///./node_modules/react-transition-group/utils/ChildMapping.js","webpack:///./node_modules/react-transition-group/CSSTransitionGroupChild.js","webpack:///./node_modules/dom-helpers/class/addClass.js","webpack:///./node_modules/dom-helpers/class/hasClass.js","webpack:///./node_modules/dom-helpers/class/removeClass.js","webpack:///./node_modules/dom-helpers/util/requestAnimationFrame.js","webpack:///./node_modules/dom-helpers/transition/properties.js","webpack:///./app/javascript/common/supplies/actions.jsx","webpack:///./app/javascript/operator/app/header/SuppliesSubmitButton.jsx","webpack:///./app/javascript/operator/app/Header.jsx","webpack:///./app/javascript/operator/app/App.jsx","webpack:///./app/javascript/operator/orders/CancelOrder.jsx","webpack:///./app/javascript/operator/orders/OrderDetails.jsx","webpack:///./app/javascript/operator/orders/Order.jsx","webpack:///./app/javascript/operator/orders/OrdersList.jsx","webpack:///./app/javascript/operator/orders/OrdersWrapper.jsx","webpack:///./app/javascript/common/lib/Spinner.jsx","webpack:///./app/javascript/operator/orders/OrderSummary.jsx","webpack:///./app/javascript/operator/orders/SpecialOrderSummary.jsx","webpack:///./app/javascript/operator/supplies/Supply.jsx","webpack:///./app/javascript/operator/supplies/SpecialOrder.jsx","webpack:///./app/javascript/operator/supplies/SuppliesQuantityModal.jsx","webpack:///./app/javascript/operator/app/LocationSelect.jsx","webpack:///./app/javascript/operator/supplies/SuppliesList.jsx","webpack:///./app/javascript/operatorApp.jsx","webpack:///./app/javascript/common/lib/mixins/PositionMixin.jsx","webpack:///./app/javascript/common/lib/map/zoom/propTypes.js","webpack:///./app/javascript/common/lib/map/zoom/Mouse.jsx","webpack:///./app/javascript/common/lib/map/zoom/Touch.jsx","webpack:///./app/javascript/admin/app/AdminMap.jsx","webpack:///./app/javascript/admin/app/AdminMapEditSpots.jsx","webpack:///./app/javascript/admin/app/EditSpot.jsx","webpack:///./app/javascript/admin/app/App.jsx","webpack:///./app/javascript/common/branches/reducer.jsx","webpack:///./app/javascript/adminApp.jsx","webpack:///./app/javascript/common/branches/actions.jsx","webpack:///./app/javascript/carrier/orders/CancelOrder.jsx","webpack:///./app/javascript/carrier/orders/InformOrder.jsx","webpack:///./app/javascript/carrier/app/Header.jsx","webpack:///./app/javascript/carrier/orders/OrderDetails.jsx","webpack:///./app/javascript/carrier/orders/Order.jsx","webpack:///./app/javascript/carrier/orders/OrdersMassActions.jsx","webpack:///./app/javascript/carrier/orders/OrdersList.jsx","webpack:///./app/javascript/carrier/orders/OrdersWrapper.jsx","webpack:///./app/javascript/carrier/app/App.jsx","webpack:///./app/javascript/carrierApp.jsx","webpack:///./app/javascript/common/scannerOrders/reducer.jsx","webpack:///./app/javascript/common/scannerOrders/actions.jsx","webpack:///./app/javascript/scanner/orders/OrderDetails.jsx","webpack:///./app/javascript/scanner/orders/Order.jsx","webpack:///./app/javascript/scanner/orders/OrdersList.jsx","webpack:///./app/javascript/scanner/app/Scanner.jsx","webpack:///./app/javascript/scanner/orders/OrdersWrapper.jsx","webpack:///./app/javascript/scanner/app/Header.jsx","webpack:///./app/javascript/scanner/app/App.jsx","webpack:///./app/javascript/scannerApp.jsx","webpack:///./app/javascript/common/displayOrders/reducer.jsx","webpack:///./app/javascript/display/app/Header.jsx","webpack:///./app/javascript/display/orders/Order.jsx","webpack:///./app/javascript/display/orders/OrdersList.jsx","webpack:///./app/javascript/display/app/Box.jsx","webpack:///./app/javascript/common/displayOrders/actions.jsx","webpack:///./app/javascript/display/app/App.jsx","webpack:///./app/javascript/displayApp.jsx","webpack:///./app/javascript/quality/app/Header.jsx","webpack:///./app/javascript/quality/orders/OrderDetails.jsx","webpack:///./app/javascript/quality/orders/Order.jsx","webpack:///./app/javascript/quality/orders/OrdersMassActions.jsx","webpack:///./app/javascript/quality/orders/OrdersList.jsx","webpack:///./app/javascript/quality/orders/OrdersWrapper.jsx","webpack:///./app/javascript/quality/app/App.jsx","webpack:///./app/javascript/qualityApp.jsx"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","factory","_typeof","iterator","obj","constructor","hookCallback","some","hooks","apply","arguments","isArray","input","Array","toString","isObject","hasOwnProp","a","b","isObjectEmpty","getOwnPropertyNames","length","k","isUndefined","isNumber","isDate","Date","map","arr","fn","res","push","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","this","len","momentProperties","updateInProgress","copyConfig","to","from","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","args","slice","join","Error","stack","keys","deprecations","deprecateSimple","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","zeroFill","number","targetLength","forceSign","absNumber","Math","abs","zerosToFill","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","isLeapYear","year","absFloor","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","makeGetSet","keepTime","set$1","month","date","daysInMonth","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","indexOf","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","x","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","split","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","min","getSetMonth","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","daysInYear","y","parseTwoDigitYear","parseInt","getSetYear","createDate","h","M","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","concat","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","day","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","w","ww","MM","yy","meridiemParse","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","names","j","next","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","string","exec","configFromStringAndFormat","untruncateYear","yearStr","configFromRFC2822","parsedArray","monthStr","dayStr","hourStr","minuteStr","secondStr","result","weekdayStr","parsedInput","getDay","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","setUTCMinutes","getUTCMinutes","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","currentDateArray","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","_week","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","isPm","meridiemHour","meridiemFixWrap","erasConvertYear","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","score","configFromStringAndArray","createFromInputFallback","configFromString","dayOrDate","minute","second","millisecond","configFromObject","configFromInput","isUTC","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","unitHasDecimal","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","parts","matches","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","base","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","isString","String","isMomentInput","arrayTest","dataTypeTest","filter","item","isNumberOrStringArray","objectTest","propertyTest","properties","isMomentInputObject","isCalendarSpec","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","abbrPieces","namePieces","narrowPieces","eras","narrow","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","erasNameRegex","erasNarrowRegex","erasParse","_eraYearOrdinalRegex","eraYearOrdinalParse","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetMillisecond","getSetSecond","parseMs","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","startOfDate","isoWeekday","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","toArray","toObject","toDate","toISOString","keepOffset","inspect","prefix","suffix","zone","isLocal","for","toJSON","unix","creationData","eraName","since","until","eraNarrow","eraAbbr","eraYear","dir","isoWeeks","weekInfo","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","array1","array2","dontConvert","lengthDiff","diffs","compareArrays","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","tok","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","_eras","isFormat","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","toFixed","proto$2","monthsFromDays","argWithSuffix","argThresholds","withSuffix","th","assign","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","DATE","TIME","TIME_SECONDS","TIME_MS","WEEK","MONTH","connect","Provider","_Provider2","_interopRequireDefault","_connect2","I18nextProvider","Interpolate","translate","loadNamespaces","_translate2","_interpolate2","_I18nextProvider2","_loadNamespaces2","default","fetchSuccess","orders","type","fetchFailure","errors","placeOrdersFailure","error","update","order","changeRemarks","remarks","filteredUpdate","dispatch","getState","location_ids","app","locationIds","includes","location_id","showDetails","id","check","setCancelReasons","hash","setInfos","carrierTakeOrder","parameters","postFetchConfig","JSON","stringify","ids","fetch","then","carrierDeliverOrder","carrierCancelOrder","reason","operatorCancelOrder","url","operatorFetch","body","operatorReturnOrder","quantity","json","operatorConfirmDelivery","carrierInformOrder","info","search","encodeURIComponent","getFetchConfig","checkStatus","parseJSON","carrierFetch","qualityFetch","operatorReorder","CSRFToken","operatorPlaceOrder","supplies","spot_id","locations","selectedId","plant_id","Promise","supply","supply_id","count","operatorPushOrder","operatorPushSpecialOrder","special_order_id","qualityAcceptOrder","qualityRejectOrder","window","method","credentials","cache","headers","document","getElementsByName","content","patchFetchConfig","deleteFetchConfig","response","status","Flash","statusText","condition","f","argIndex","framesToPop","setCSRFToken","setCurrentPlant","setCurrentUser","setLanguage","setUserName","setUser","user","setAvailableLocales","langs","setUserLocations","setDisplayName","setTheme","props","color","size","block","active","disabled","children","className","classNames","freeSelf","self","objectProto","nativeObjectToString","symToStringTag","isOwn","tag","unmasked","transform","getPrototypeOf","funcProto","funcToString","objectCtorString","Ctor","ActionTypes","reducer","preloadedState","enhancer","_ref2","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","subscribe","listener","isSubscribed","splice","action","listeners","replaceReducer","nextReducer","_ref","outerSubscribe","observer","TypeError","observeState","unsubscribe","getUndefinedStateErrorMessage","actionType","combineReducers","reducers","reducerKeys","finalReducers","finalReducerKeys","shapeAssertionError","random","substring","assertReducerShape","state","hasChanged","nextState","_key","previousStateForKey","nextStateForKey","errorMessage","bindActionCreator","actionCreator","bindActionCreators","actionCreators","boundActionCreators","compose","_len","funcs","reduce","_extends","target","applyMiddleware","middlewares","createStore","chain","store","_dispatch","middlewareAPI","middleware","code","argCount","message","argIdx","warning","escapeRegExp","CompiledPatternsCache","compilePattern","pattern","regexpSource","paramNames","_compilePattern","matchPattern","pathname","_compilePattern2","matchedPath","remainingPathname","paramValues","v","decodeURIComponent","getParamNames","formatPattern","params","parenCount","splatIndex","parenHistory","paramValue","splat","encodeURI","parenText","pop","curTokenIdx","tokensSubset","nextParenIdx","prevState","prevRoutes","routes","nextRoutes","leaveRoutes","changeRoutes","enterRoutes","parentIsLeaving","route","isLeaving","path","paramName","routeParamsChanged","reverse","isNew","paramsChanged","loopAsync","turns","work","currentTurn","isDone","sync","hasNext","doneArgs","done","mapAsync","doneCount","PendingHooks","_this","instance","Constructor","_classCallCheck","hook","remove","has","clear","getTransitionUtils","enterHooks","changeHooks","createTransitionHook","asyncArity","pendingHooks","isSync","transitionHook","runTransitionHooks","iter","redirectInfo","location","runEnterHooks","onEnter","getEnterHooks","runChangeHooks","onChange","getChangeHooks","runLeaveHooks","onLeave","_typeof2","queryIsActive","query","activeQuery","deepEqual","every","indexOnly","currentLocation","currentPathname","pathIsActive","routeIsActive","isPromise","component","components","getComponent","getComponents","componentReturn","getComponentsForRoute","isValidChild","isValidElement","isReactChildren","element","defaultProps","childRoutes","createRoutesFromReactChildren","parentRoute","Children","createRouteFromReactElement","createRoutes","getChildRoutes","partialNextState","createParams","childRoutesReturn","assignParams","matchRouteDeep","getIndexRoute","indexRoute","indexRoutesReturn","onChildRoutes","pathless","childRoute","err","_match$routes","matchRoutes","unshift","hasAnyProperties","history","_getTransitionUtils","finishMatch","_computeChangedRoutes","finishEnterHooks","handleErrorOrRedirect","removeListenBeforeHooksForRoute","RouteGuid","getRouteID","__id__","RouteHooks","getRouteHooksForRoutes","beforeUnloadHook","unlistenBefore","unlistenBeforeUnload","routeID","isActive","createLocation","listenBeforeLeavingRoute","thereWereNoRouteHooks","listenBefore","listenBeforeUnload","listen","historyListener","redirectLocation","getCurrentLocation","falsy","propName","componentName","isRequired","go","goBack","goForward","routeParams","contextProviderShape","shape","eventIndex","makeContextName","prefixUnsafeLifecycleMethods","forwardRef","ContextSubscriber","_contextTypes","_config2","contextName","lastRenderedEventIndexKey","handleContextUpdateKey","unsubscribeKey","contextTypes","getInitialState","context","componentDidMount","componentWillReceiveProps","_setState","setState","componentWillUnmount","_setState2","UNSAFE_componentWillReceiveProps","_childContextTypes","listenersKey","eventIndexKey","subscribeKey","displayName","mixins","childContextTypes","getChildContext","componentWillMount","componentDidUpdate","_this2","UNSAFE_componentWillMount","propTypes","router","createElement","getDefaultProps","render","_props","reduceRight","elements","transitionManager","assignRouterState","setRouteLeaveHook","onError","onUpdate","matchContext","Router","handleError","createRouterObject","createTransitionManager","_unlisten","nextProps","_state","_props2","_objectWithoutProperties","propType","routerShape","resolveToLocation","activeStyle","activeClassName","onlyActiveOnIndex","onClick","innerRef","current","style","handleClick","event","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","isModifiedEvent","button","isLeftClickEvent","preventDefault","ref","toLocation","href","createHref","isEmptyObject","Redirect","statics","routeIndex","getRoutePattern","parentPattern","canUseDOM","createRouterHistory","createHistory","options","useRouterHistory","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","test1","test2","fromCharCode","test3","letter","shouldUseNative","symbols","setLocation","fetchLocations","fetchDisplayLocations","adminFetch","adminUpdatePostSpot","spot","updateSpot","adminDeleteSpot","alert","createPostSpot","addSpot","spotCopy","dataset","_prodInvariant","DOMProperty","ReactDOMComponentFlags","ATTR_NAME","ID_ATTRIBUTE_NAME","Flags","internalInstanceKey","shouldPrecacheNode","node","nodeID","nodeType","getAttribute","nodeValue","getRenderedHostOrTextFromComponent","rendered","_renderedComponent","precacheNode","inst","hostInst","_hostNode","precacheChildNodes","_flags","hasCachedChildNodes","_renderedChildren","childNode","firstChild","outer","childInst","childID","_domID","nextSibling","getClosestInstanceFromNode","closest","parents","parentNode","ReactDOMComponentTree","getInstanceFromNode","getNodeFromInstance","_hostParent","uncacheNode","MapContainer","React","ReactNoopUpdateQueue","Component","updater","zoomToPositions","positions","containerWidth","containerHeight","padding","zoom","area","getPositionsArea","availableArea","getAvailableArea","areaFitsInto","width","height","pan","mid","edges","xs","position_x","ys","position_y","groupPositionsCoordinates","getPositionsEdgeCoordinates","zoomToFit","heightRatio","widthRatio","image","zoomToPoint","targetZoom","zoomChange","newPan","getDisplacement","scale","getDistance","x1","y1","x2","y2","sqrt","getSegmentsRatio","ab","cd","getSegmentMidpoint","supplyStages","DEFAULT_BAR_FORMAT","ORDERS_COUNT_LIMIT","DATETIME_FORMAT","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","isInWorker","intervals","setInterval","clearInterval","Position","createClass","truncateText","PropTypes","symbol","isSelected","bool","onGrab","onRelease","animate","isHighlighted","getColor","isGrabbed","Color","rgbString","getFillColor","lighten","getTextColor","darken","getSize","getText","getTransform","grab","moved","release","onMouseEnter","onMouseLeave","onMouseDown","onMouseMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","transition","cursor","fill","stroke","strokeWidth","textAnchor","fontSize","Map","positionSize","arrayOf","selectedPositionId","onPositionClick","onPositionGrab","onPositionRelease","getViewBox","getTranslate","getScale","getStyle","background","viewBox","preserveAspectRatio","svg","onWheel","xlinkHref","position","grabbedPositionId","Dimensions","define","_dereq_","1","SomePromiseArray","_SomePromiseArray","any","promises","promise","setHowMany","setUnwrap","init","2","firstLineError","schedule","Queue","Async","_customScheduler","_isTickUsed","_lateQueue","_normalQueue","_haveDrainedQueues","drainQueues","_drainQueues","_schedule","_drainQueue","queue","_drainQueueStep","_settlePromises","receiver","setScheduler","prev","hasCustomScheduler","haveItemsQueued","fatalError","isNode","process","stderr","write","exit","throwLater","setTimeout","invokeLater","_queueTick","invoke","settlePromises","_pushOne","_reset","3","INTERNAL","tryConvertToPromise","debug","calledBind","rejectThis","_","_reject","targetRejected","promiseRejectionQueued","bindingPromise","_then","bindingResolved","thisArg","_bitField","_resolveCallback","bindingRejected","_propagateFrom","propagateFromFunction","_boundValue","boundValueFunction","maybePromise","_target","_setBoundTo","_setOnCancel","_boundTo","_isBound","resolve","4","old","bluebird","noConflict","5","cr","callerCache","getterCache","util","canEvaluate","caller","methodName","classString","ensureMethod","namedGetter","indexedGetter","isIdentifier","propertyName","maybeGetter","getGetter","6","PromiseArray","apiRejection","tryCatch","errorObj","async","_async","cancel","cancellation","_warn","child","_isCancellable","_cancelBy","_isFollowing","_followee","_cancelBranched","parent","_cancellationParent","_setWillBeCancelled","_branchHasCancelled","_branchesRemainingToCancel","_enoughBranchesHaveCancelled","canceller","_invokeOnCancel","_cancel","_setCancelled","_cancelPromises","_length","_unsetOnCancel","_onCancelField","isPending","_isCancelled","isCancellable","isCancelled","_doInvokeOnCancel","onCancelCallback","internalOnly","_attachExtraTrace","_resultCancelled","_onCancel","_invokeInternalOnCancel","7","NEXT_FILTER","getKeys","instances","cb","boundTo","predicateLoop","matchesPredicate","8","longStackTraces","contextStack","Context","_trace","CapturedTrace","peekContext","_promiseCreated","_pushContext","_popContext","_peekContext","trace","deactivateLongStackTraces","activateLongStackTraces","Promise_pushContext","Promise_popContext","Promise_PeekContext","Promise_peekContext","Promise_promiseCreated","ctx","9","enableAsyncHooks","disableAsyncHooks","unhandledRejectionHandled","possiblyUnhandledRejection","printWarning","deferUnhandledRejectionCheck","Warning","es5","canAttachTrace","bluebirdFramePattern","nodeFramePattern","parseLinePattern","stackFramePattern","formatStack","indentStackFrames","debugging","env","warnings","wForgottenReturn","unhandledRejectionCheck","_notifyUnhandledRejection","unhandledRejectionClear","suppressUnhandledRejections","_ensurePossibleRejectionHandled","_setRejectionIsUnhandled","_notifyUnhandledRejectionIsHandled","fireRejectionEvent","_setReturnedNonUndefined","_returnedNonUndefined","_isRejectionUnhandled","_settledValue","_setUnhandledRejectionIsNotified","_unsetUnhandledRejectionIsNotified","_isUnhandledRejectionNotified","_unsetRejectionIsUnhandled","shouldUseOwnTrace","onPossiblyUnhandledRejection","_getContext","contextBind","onUnhandledRejectionHandled","disableLongStackTraces","longStackTracesIsSupported","Promise_captureStackTrace","_captureStackTrace","Promise_attachExtraTrace","Promise_dereferenceTrace","_dereferenceTrace","longStackTracesCaptureStackTrace","longStackTracesAttachExtraTrace","longStackTracesDereferenceTrace","hasLongStackTraces","legacyHandlers","unhandledrejection","before","global","onunhandledrejection","after","rejectionhandled","onrejectionhandled","fireDomEvent","legacy","dispatchEvent","CustomEvent","domEvent","detail","cancelable","Event","createEvent","initCustomEvent","fireGlobalEvent","emit","generatePromiseLifecycleEventObject","eventToObjectGenerator","promiseCreated","promiseFulfilled","promiseRejected","promiseResolved","promiseCancelled","promiseChained","_warning","unhandledRejection","rejectionHandled","activeFireEvent","globalEventFired","domEventFired","defaultFireEvent","cancellationExecute","executor","reject","onCancel","_attachCancellationCallback","cancellationAttachCancellationCallback","previousOnCancel","cancellationOnCancel","cancellationSetOnCancel","cancellationClearCancellationData","cancellationPropagateFrom","branchesRemainingToCancel","opts","warningsOption","_clearCancellationData","_execute","_propagateFromFunction","monitoring","_fireEvent","nodeSupportsAsyncResource","asyncHooks","cur","handler","_boundValueFunction","isFulfilled","ignoreSelf","_parent","attachExtraTrace","__stackCleaned__","parsed","parseStackAndMessage","notEnumerableProp","formatAndLogError","cleanStack","line","isTraceLine","isInternalFrame","shouldIgnore","stackFramesAsArray","title","isSoft","log","localHandler","localEventFired","formatNonError","str","maxChars","snip","captureStackTrace","parseLineInfoRegex","parseLineInfo","fileName","_promisesCreated","uncycle","inherits","nodes","stackToIndex","cycleEdgeNode","currentChildLength","stacks","currentLastIndex","currentLastLine","commonRootMeetPoint","removeCommonRoots","removeDuplicateOrEmptyJumps","reconstructStack","v8stackFramePattern","v8stackFormatter","stackTraceLimit","ignoreUntil","hasStackAfterThrow","isTTY","checkForgottenReturns","returnValue","handlerLine","creatorLine","traceLines","lineMatches","firstUserLine","setBounds","lastLineError","firstFileName","lastFileName","firstStackLines","lastStackLines","firstIndex","deprecated","replacement","10","returner","thrower","thenReturn","thenThrow","catchThrow","_reason","caught","catchReturn","_value","11","PromiseReduce","PromiseAll","all","promiseAllThis","each","mapSeries","12","_TypeError","_RangeError","Objectfreeze","freeze","subError","nameProperty","defaultMessage","SubError","CancellationError","TimeoutError","AggregateError","RangeError","methods","configurable","writable","level","OperationalError","cause","indent","lines","errorTypes","RejectionError","13","isES5","getDescriptor","getOwnPropertyDescriptor","propertyIsWritable","descriptor","ObjectKeys","desc","14","PromiseMap","15","catchFilter","PassThroughHandlerContext","called","cancelPromise","FinallyHandlerCancelReaction","finallyHandler","checkCancel","succeed","fail","reasonOrValue","isFinallyHandler","isRejected","_passThrough","success","lastly","tap","tapCatch","handlerOrPredicate","catchInstances","16","Proxyable","yieldHandlers","PromiseSpawn","generatorFunction","yieldHandler","internal","_finallyPromise","_promise","_stack","_generatorFunction","_receiver","_generator","_yieldHandlers","_yieldedPromise","_cancellationPhase","_isResolved","_cleanup","_fulfill","_promiseCancelled","coroutine","returnSentinel","_continue","_promiseFulfilled","_promiseRejected","_run","_rejectCallback","traceParent","promiseFromYieldHandler","bitField","_proxy","PromiseSpawn$","generator","spawn","addYieldHandler","17","last","spread","18","MappingPromiseArray","_filter","constructor$","_callback","_preservedValues","_limit","_inFlight","_queue","_asyncInit","concurrency","_init$","_init","_values","preservedValues","_totalResolved","_resolve","booleans","19","_resolveFromSyncValue","attempt","20","maybeWrapAsError","rErrorKey","wrapAsOperationalError","isUntypedError","markAsOriginatingFromRejection","multiArgs","wrapped","21","spreadAdapter","nodeback","successAdapter","errorAdapter","newReason","asCallback","nodeify","adapter","22","makeSelfResolutionError","reflectHandler","PromiseInspection","UNDEFINED_BINDING","setReflectHandler","getDomain","domain","getContextDomain","AsyncResource","getContextAsyncHooks","getContext","APPLY","createContext","nodebackForPromise","_fulfillmentHandler0","_rejectionHandler0","_promise0","_receiver0","_resolveFromExecutor","deferResolve","deferReject","fillTypes","reflect","didFulfill","didReject","_setIsFinal","fulfillmentValue","rejectionReason","originatesFromRejection","getNewLibraryCopy","is","fromNode","fromCallback","_isFateSealed","_setAsyncGuaranteed","cast","_setFulfilled","fulfilled","rejected","internalData","haveInternalData","settler","_settlePromiseCtx","_settlePromiseLateCancellationObserver","_addCallbacks","_setLength","_setRejected","_setFollowing","_isFinal","_unsetCancelled","_setNoAsyncGuarantee","_receiverAt","_promiseAt","_fulfillmentHandlerAt","_rejectionHandlerAt","_migrateCallback0","follower","fulfill","_migrateCallbackAt","proxyable","shouldBind","_setFollowee","synchronous","ignoreNonErrorWarnings","ensureErrorObject","hasStack","_settlePromiseFromHandler","_settlePromise","asyncGuaranteed","_settlePromise0","_clearCallbackDataAtIndex","_fulfillPromises","_rejectPromises","defer","pending","toFastProperties","23","resolveValueIfEmpty","asArray","_iterate","_resolveEmptyArray","toResolutionValue","getActualLength","shouldCopyValues","isResolved","24","THIS","withAppended","defaultPromisified","__isPromisified__","noCopyPropsPattern","defaultFilter","propsFilter","isPromisified","hasPromisified","getDataPropertyOrDefault","promisifiableMethods","suffixRegexp","inheritedDataKeys","passesDefaultFilter","keyWithoutAsyncSuffix","checkValid","makeNodePromisified","makeNodePromisifiedEval","__","defaultThis","promisified","promisifyAll","promisifier","promisifiedKey","promisify","copyDescriptors","isClass","25","Es6Map","mapToEntries","extractEntry","PropertiesPromiseArray","entries","isMap","_isMap","castValue","entriesToMap","keyOffset","26","capacity","_capacity","_front","_willBeOverCapacity","_checkCapacity","wrapMask","front","_resizeTo","oldCapacity","src","srcIndex","dst","dstIndex","arrayMove","27","race","28","ReductionPromiseArray","initialValue","_each","_fn","_initialValue","_currentCancellable","_eachValues","completed","valueOrReason","gotAccum","accum","_gotAccum","gotValue","_eachComplete","sender","_resultCancelled$","29","div","toggleScheduled","div2","NativePromise","getNativePromise","MutationObserver","GlobalSetImmediate","setImmediate","ProcessNextTick","nextTick","isRecentNode","nativePromise","navigator","standalone","cordova","documentElement","attributes","classList","toggle","observe","disconnect","30","SettledPromiseArray","_promiseResolved","inspection","_settledValueField","settle","allSettled","31","CANCELLATION","_howMany","_unwrap","_initialized","howMany","isArrayResolved","_canPossiblyFulfill","_getRangeError","_addFulfilled","_fulfilled","_addRejected","_checkOutcome","_rejected","32","__isCancelled","33","hasProp","doGetThen","getThen","isAnyBluebirdPromise","doThenable","34","HandleWrapper","handle","clearTimeout","afterValue","delay","successClear","failureClear","timeout","handleWrapper","afterTimeout","35","NULL","dispose","resources","thenable","_isDisposable","_getDisposer","_setDisposable","castPreservingDisposable","tryDispose","Disposer","_context","FunctionDisposer","maybeUnwrapDisposer","isDisposer","ResourceList","resource","doDispose","_unsetDisposable","using","spreadArgs","disposer","reflectedResources","resultPromise","inspections","_disposer","36","tryCatchTarget","globalObject","tryCatcher","Child","Parent","T","isPrimitive","maybeError","safeToString","appendee","defaultValue","excludedPrototypes","isExcludedProto","visitedKeys","enumeration","thisAssignmentPattern","hasMethods","hasMethodsOtherThanConstructor","hasThisAssignmentAndStaticMethods","FakeConstructor","ic","foo","rident","filledRange","isError","ignore","ArrayFrom","itResult","it","hasEnvVariables","runInAsyncScope","versions","Number","supportsAsync","P","Barcode","text","createThunkMiddleware","extraArgument","thunk","withExtraArgument","currentView","currentUserId","language","userName","theme","availableLocales","parse","ZoomedMap","getInitalState","consoleLogger","_output","Logger","concreteLogger","logger","setDebug","forward","lvl","debugOnly","moduleName","EventEmitter","observers","on","events","off","makeString","getLastOfPath","Empty","cleanKey","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","_entityMap","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","setPrototypeOf","_defaults","_EventEmitter","ResourceStore","defaultNS","addNamespaces","removeNamespaces","getResource","lng","keySeparator","addResource","silent","addResources","addResourceBundle","deep","overwrite","pack","deepExtend","removeResourceBundle","hasResourceBundle","getResourceBundle","compatibilityAPI","processors","addPostProcessor","translator","processor","convertInterpolation","interpolation","unescapeSuffix","interpolationPrefix","interpolationSuffix","escapeValue","escapeInterpolation","nestingPrefix","reusePrefix","nestingSuffix","reuseSuffix","convertTOptions","nsSeparator","nsseparator","keyseparator","returnObjects","returnObjectTrees","Translator","services","changeLanguage","exists","extractFromKey","namespaces","overloadTranslationOptionHandler","_extractFromKey","namespace","resType","noObject","joinArrays","returnedObjectHandler","copy","extendTranslation","usedDefault","usedKey","isValidLookup","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","saveMissing","missingKeyHandler","backendConnector","appendNamespaceToMissingKey","parseMissingKeyHandler","interpolator","defaultVariables","interpolate","nest","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessor","_this3","found","_extractFromKey2","fallbackNS","needsPluralHandling","needsContextHandling","codes","finalKey","finalKeys","pluralSuffix","pluralResolver","getSuffix","contextSeparator","possibleKey","returnNull","returnEmptyString","resourceStore","capitalize","LanguageUtil","whitelist","getLanguagePartFromCode","formatLanguageCode","getScriptPartFromCode","specialCases","lowerCaseLng","part","cleanCode","isWhitelisted","exactMatch","load","nonExplicitWhitelist","fallbacks","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","createRules","rules","numbers","plurals","PluralResolver","addRule","getRule","needsPlural","rule","_ret","idx","noAbs","returnSuffix","prepend","compatibilityJSON","Interpolator","escape","iOpts","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","nestingPrefixEscaped","nestingSuffixEscaped","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","nestingRegexp","regexSafe","handleFormat","trim","clonedOptions","handleHasOptions","optionsString","_slicedToArray","_arr","_n","_e","_s","sliceIterator","Connector","backend","queueLoad","languages","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","loaded","_name$split","_name$split2","q","_getLastOfPath2","what","read","fcName","tried","wait","_this4","_this5","readOne","allowMultiLoading","readMulti","_name$split3","_name$split4","bundle","_err","_this6","_name$split5","_name$split6","reload","_this7","_err2","_this8","_name$split7","_name$split8","fallbackValue","enabled","save","transformOptions","noop","I18n","isInitialized","createClassOnDemand","ClassOrObject","initImmediate","preload","pluralSeparator","_format","resStore","defaultNs","fallbackToDefaultNS","sendMissing","sendMissingTo","fallbackOnNull","fallbackOnEmpty","objectTreeKeyHandler","parseMissingKey","shortcutFunction","sprintf","lngWhitelist","loadPath","resGetPath","addPath","resPostPath","dynamicLoad","expirationTime","useLocalStorage","isClone","lu","LanguageUtils","cacheConnector","BackendConnector","CacheConnector","_len2","_key2","languageDetector","detection","_len3","_key3","i18n","loadLanguages","setLng","fixLng","getFixedT","use","loadResources","append","reloadResources","detect","cacheUserLanguage","_len4","_key4","fixedT","setDefaultNamespace","preloaded","newLngs","createInstance","cloneInstance","membersToCopy","_len5","_key5","resBundle","require","initializeI18n","massCancelOrder","massInformOrder","massTakeOrder","massDeliverOrder","qualityMassAcceptOrder","qualityMassRejectOrder","getDOMNode","_react","_jsbarcode","_propTypes","_defineProperties","_getPrototypeOf","__proto__","_assertThisInitialized","_setPrototypeOf","_React$Component","protoProps","staticProps","renderElement","refs","renderer","displayValue","fontOptions","font","textAlign","textPosition","textMargin","lineColor","margin","marginTop","marginBottom","marginLeft","marginRight","debugTool","modalStyle","contentStyle","maxWidth","wordWrap","showModal","refName","show","hideModal","hide","keyboard","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","_assign","CallbackQueue","PooledClass","ReactFeatureFlags","ReactReconciler","Transaction","invariant","dirtyComponents","updateBatchNumber","asapCallbackQueue","getPooled","asapEnqueued","batchingStrategy","ensureInjected","ReactUpdates","ReactReconcileTransaction","TRANSACTION_WRAPPERS","initialize","dirtyComponentsLength","close","flushBatchedUpdates","callbackQueue","notifyAll","ReactUpdatesFlushTransaction","reinitializeTransaction","reconcileTransaction","mountOrderComparator","c1","c2","_mountOrder","runBatchedUpdates","transaction","markerName","callbacks","_pendingCallbacks","logTopLevelRenders","namedComponent","_currentElement","isReactTopLevelWrapper","getName","performUpdateIfNecessary","timeEnd","enqueue","getPublicInstance","getTransactionWrappers","destructor","perform","scope","addPoolingTo","batchedUpdates","enqueueUpdate","isBatchingUpdates","_updateBatchNumber","injection","injectReconcileTransaction","ReconcileTransaction","injectBatchingStrategy","_batchingStrategy","asap","spots","ActionCable","WebSocket","createConsumer","getConfig","default_mount_path","Consumer","createWebSocketURL","head","querySelector","protocol","startDebugging","stopDebugging","messages","ConnectionMonitor","clamp","secondsSince","connection","me","visibilityDidChange","reconnectAttempts","pollInterval","staleThreshold","start","isRunning","startedAt","stoppedAt","startPolling","getPollInterval","stop","stopPolling","removeEventListener","recordPing","pingedAt","recordConnect","disconnectedAt","recordDisconnect","poll","pollTimeout","reconnectIfStale","interval","connectionIsStale","disconnectedRecently","reopen","visibilityState","isOpen","message_types","protocols","supportedProtocols","Connection","consumer","open","subscriptions","monitor","disconnected","reopenDelay","send","webSocket","uninstallEventHandlers","installEventHandlers","ref1","allowReconnect","error1","getProtocol","isState","isProtocolSupported","states","readyState","eventName","identifier","welcome","ping","confirmation","notify","rejection","willAttemptReconnect","Subscriptions","channelName","mixin","channel","subscription","Subscription","ensureActiveConnection","sendCommand","forget","findAll","results","callbackName","command","FromNow","SetIntervalMixin","datetime","forceUpdate","sanitizedDatetime","moment","ownProps","isBlinking","hasOrderChanged","shouldBlink","created_at","highlighted","showDetailsOrderId","handleShowDetails","updated_at","rowClassNames","checkBox","checkedOrders","checkedOrdersStatus","isChecked","handleOrderCheck","stopPropagation","batch_quantity","OrderStatusIcon","carrier_info","carrierInfoModal","cancelInfoModal","renderCarrierInfoModal","renderCancelInfoModal","cancel_reason","ConfirmButton","activate","confirm","i18nLoadedAt","buttonWidth","otherProps","display","whiteSpace","shouldBeReleasedProperties","EventInterface","currentTarget","eventPhase","bubbles","timeStamp","isTrusted","SyntheticEvent","dispatchConfig","targetInst","nativeEvent","nativeEventTarget","_targetInst","Interface","normalize","isDefaultPrevented","isPropagationStopped","cancelBubble","persist","isPersistent","augmentClass","Class","fourArgumentPooler","plural","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","monthsNominative","monthsSubjective","momentToFormat","createPath","parsePath","getQueryStringValueFromPath","stripQueryStringValueFromPath","addQueryStringValueToPath","_parsePath","_parsePath2","hashIndex","searchIndex","basename","_createClass","defineProperties","onElementResize","defaultContainerStyle","border","defaultGetWidth","clientWidth","defaultGetHeight","clientHeight","_ref$getHeight","getHeight","_ref$getWidth","getWidth","_ref$containerStyle","containerStyle","_ref$className","_ref$elementResize","elementResize","ComposedComponent","DimensionsHOC","_temp","updateDimensions","container","onResize","rqf","getWindow","requestAnimationFrame","ownerDocument","defaultView","wrappedInstance","OrderDirectionIcon","deliveryOrder","Search","searchInput","acceptCharset","onSearch","autoComplete","ConnectionStatus","testUrl","onlineAgain","online","secondsRemaining","checkConnection","isOnline","connectionTest","handleConnectionSuccess","backToOnline","handleConnectionError","countDown","renderMessage","ok","countDownTick","styles","offline_ui","offline_ui_up","offline_ui_down","offline_ui_connecting","offline_ui_waiting","offline_ui_content","oneArgumentPooler","copyFieldsFrom","instancePool","standardReleaser","poolSize","DEFAULT_POOLER","CopyConstructor","pooler","NewKlass","twoArgumentPooler","a1","a2","threeArgumentPooler","a3","a4","g","locationsAreEqual","statesAreEqual","createQuery","_invariant2","_PathUtils","_Actions","POP","typeofA","keysofA","keysofB","getVendorPropertyName","sources","nextIndex","nextSource","prefixed","definition","ua","getFirstMatch","getSecondMatch","iosdevice","android","nexusMobile","nexusTablet","chromeos","silk","sailfish","tizen","webos","windowsphone","windows","mac","linux","edgeVersion","versionIdentifier","tablet","mobile","xbox","opera","samsungBrowser","whale","mzbrowser","coast","focus","yandexbrowser","ucbrowser","maxthon","epiphany","puffin","sleipnir","kMeleon","osname","msedge","msie","chromeBook","chrome","vivaldi","seamonkey","firefox","firefoxos","phantom","slimer","blackberry","touchpad","bada","qupzilla","chromium","safari","googlebot","blink","webkit","gecko","ios","osVersion","getWindowsVersion","osversion","osMajorVersion","compareVersions","bowser","userAgent","getVersionPrecision","precision","chunks","delta","chunk","isUnsupportedBrowser","minVersions","strictMode","_bowser","browser","browserList","browserItem","_detect","ReactBaseClasses","ReactChildren","ReactDOMFactories","ReactElement","ReactPropTypes","ReactVersion","createReactClass","onlyChild","createFactory","cloneElement","__spread","only","PureComponent","createMixin","DOM","ReactCurrentOwner","REACT_ELEMENT_TYPE","RESERVED_PROPS","__self","__source","hasValidRef","hasValidKey","owner","$$typeof","_owner","childrenLength","childArray","cloneAndReplaceKey","oldElement","newKey","_self","_source","checkMask","bitmask","DOMPropertyInjection","MUST_USE_PROPERTY","HAS_BOOLEAN_VALUE","HAS_NUMERIC_VALUE","HAS_POSITIVE_NUMERIC_VALUE","HAS_OVERLOADED_BOOLEAN_VALUE","injectDOMPropertyConfig","domPropertyConfig","Injection","Properties","DOMAttributeNamespaces","DOMAttributeNames","DOMPropertyNames","DOMMutationMethods","isCustomAttribute","_isCustomAttributeFunctions","lowerCased","propConfig","propertyInfo","attributeName","attributeNamespace","mutationMethod","mustUseProperty","hasBooleanValue","hasNumericValue","hasPositiveNumericValue","hasOverloadedBooleanValue","ATTRIBUTE_NAME_START_CHAR","ROOT_ATTRIBUTE_NAME","ATTRIBUTE_NAME_CHAR","getPossibleStandardName","isCustomAttributeFn","ReactRef","attachRefs","mountComponent","internalInstance","hostParent","hostContainerInfo","parentDebugID","markup","getReactMountReady","getHostNode","unmountComponent","safely","detachRefs","receiveComponent","nextElement","prevElement","refsChanged","shouldUpdateRefs","DOMNamespaces","setInnerHTML","createMicrosoftUnsafeLocalFunction","setTextContent","enableLazy","documentMode","insertTreeChildren","tree","insertTreeBefore","html","referenceNode","nodeName","namespaceURI","insertBefore","DOMLazyTree","replaceChildWithTree","oldNode","newTree","replaceChild","queueChild","parentTree","childTree","appendChild","queueHTML","queueText","transitionEvents","appendVendorPrefix","animation","onShow","onHide","backdrop","closeOnClick","backdropStyle","willHidden","hidden","hasHidden","addTransitionListener","addEndEventListener","endListener","removeEndEventListener","handleBackdropClick","getModalStyle","getBackdropStyle","getContentStyle","getRef","sharp","getSharp","prefixedModalStyle","prefixedBackdropStyle","prefixedContentStyle","leave","tabIndex","enter","listenKeyboard","keyCode","insertRule","vendorPrefix","keyframes","css","PUSH","REPLACE","isSendingOrders","cancelReasons","infos","elem","Actions","useQueries","useBeforeUnload","useBasename","createMemoryHistory","createHashHistory","_LocationUtils","_createBrowserHistory2","_createHashHistory3","_createMemoryHistory3","_useBasename3","_useBeforeUnload3","_useQueries3","newObj","_interopRequireWildcard","EventPluginHub","EventPluginUtils","accumulateInto","forEachAccumulated","getListener","accumulateDirectionalDispatches","phase","propagationPhase","registrationName","phasedRegistrationNames","listenerAtPhase","_dispatchListeners","_dispatchInstances","accumulateTwoPhaseDispatchesSingle","traverseTwoPhase","accumulateTwoPhaseDispatchesSingleSkipTarget","parentInst","getParentInstance","accumulateDispatches","ignoredDirection","accumulateDirectDispatchesSingle","EventPropagators","accumulateTwoPhaseDispatches","accumulateTwoPhaseDispatchesSkipTarget","accumulateDirectDispatches","accumulateEnterLeaveDispatches","traverseEnterLeave","EventPluginRegistry","ReactErrorUtils","listenerBank","eventQueue","executeDispatchesAndRelease","simulated","executeDispatchesInOrder","executeDispatchesAndReleaseSimulated","executeDispatchesAndReleaseTopLevel","getDictionaryKey","_rootNodeID","injectEventPluginOrder","injectEventPluginsByName","putListener","PluginModule","registrationNameModules","didPutListener","bankForRegistrationName","shouldPreventMouseEvent","deleteListener","willDeleteListener","deleteAllListeners","extractEvents","topLevelType","plugins","possiblePlugin","extractedEvents","enqueueEvents","processEventQueue","processingEventQueue","rethrowCaughtError","__purge","__getListenerBank","getEventTarget","UIEventInterface","view","doc","parentWindow","SyntheticUIEvent","dispatchMarker","ReactInstanceMap","_reactInternalInstance","detachEvent","supportsHistory","supportsGoWithoutReloadUsingHash","supportsPopstateOnHashchange","isExtraneousPopstateEvent","_SET_BY_CODE","_defineProperty","SET_A","SET_B","SET_C","START_A","SHIFT","START_B","START_C","MODULO","STOP","FNC1","SET_BY_CODE","SWAP","101","100","99","A_START_CHAR","B_START_CHAR","C_START_CHAR","A_CHARS","B_CHARS","C_CHARS","BARS","SIDE_BIN","MIDDLE_BIN","BINARIES","EAN2_STRUCTURE","EAN5_STRUCTURE","EAN13_STRUCTURE","_constants","structure","encoded","_Barcode2","MSI","_Barcode","bin","addZeroes","_queryString","_runTransitionHook","_runTransitionHook2","defaultStringifyQuery","defaultParseQueryString","stringifyQuery","parseQueryString","decodeQuery","encodeQuery","queryString","newLocation","addBasename","prependBasename","pname","normalizedBasename","normalizedPathname","registeredInModuleLoader","OldCookies","Cookies","api","decode","converter","expires","toUTCString","stringifiedAttributes","cookie","jar","cookies","getJSON","withConverter","OBSERVED_ERROR","TransactionImpl","transactionWrappers","wrapperInitData","_isInTransaction","isInTransaction","errorThrown","initializeAll","closeAll","startIndex","wrapper","initData","ViewportMetrics","MouseEventInterface","screenX","screenY","clientX","clientY","getModifierState","buttons","relatedTarget","fromElement","srcElement","toElement","pageX","currentScrollLeft","pageY","currentScrollTop","SyntheticMouseEvent","reusableSVGContainer","WHITESPACE_TEST","NONVISIBLE_TEST","innerHTML","svgNode","testElement","textNode","removeChild","deleteData","matchHtmlRegExp","charCodeAt","escapeHtml","hasEventPageXY","ReactEventEmitterMixin","getVendorPrefixedEventName","isEventSupported","alreadyListeningTo","isMonitoringScrollValue","reactTopListenersCounter","topEventMapping","topAbort","topAnimationEnd","topAnimationIteration","topAnimationStart","topBlur","topCanPlay","topCanPlayThrough","topChange","topClick","topCompositionEnd","topCompositionStart","topCompositionUpdate","topContextMenu","topCopy","topCut","topDoubleClick","topDrag","topDragEnd","topDragEnter","topDragExit","topDragLeave","topDragOver","topDragStart","topDrop","topDurationChange","topEmptied","topEncrypted","topEnded","topError","topFocus","topInput","topKeyDown","topKeyPress","topKeyUp","topLoadedData","topLoadedMetadata","topLoadStart","topMouseDown","topMouseMove","topMouseOut","topMouseOver","topMouseUp","topPaste","topPause","topPlay","topPlaying","topProgress","topRateChange","topScroll","topSeeked","topSeeking","topSelectionChange","topStalled","topSuspend","topTextInput","topTimeUpdate","topTouchCancel","topTouchEnd","topTouchMove","topTouchStart","topTransitionEnd","topVolumeChange","topWaiting","topWheel","topListenersIDKey","ReactBrowserEventEmitter","ReactEventListener","injectReactEventListener","setHandleTopLevel","handleTopLevel","setEnabled","isEnabled","listenTo","contentDocumentHandle","mountAt","isListening","getListeningForDocument","dependencies","registrationNameDependencies","dependency","trapBubbledEvent","trapCapturedEvent","WINDOW_HANDLE","handlerBaseName","supportsEventPageXY","ev","ensureScrollValueMonitoring","refresh","refreshScrollValues","monitorScrollValue","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","argv","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","_Barcode3","CODE128","bytes","char","startSet","shouldEncodeAsEan128","encodingResult","getBar","checksum","isEAN128","ean128","charCode","nextCode","nextSet","correctIndex","weight","mod10","sum","mod11","weights","replaceObj","DropModal","WaveModal","FlyModal","FadeModal","ScaleModal","OutlineModal","ThemeSwitch","newTheme","changeTheme","OrderLocation","renderSpotLocation","spot_symbol","renderStockLocation","to_stock","renderLocation","Profile","backgroundColor","first_name","last_name","username","email","justifyContent","ThemeProvider","categories","selectedStage","selectedCategoryId","orderKind","qunatityModalSupply","quantityModal","modalSupply","fixedCount","multiples","modal","newCategoryId","supplyId","stock_quantity","stockQuantity","_clone","convert","vals","rgb","hsl","hsv","hwb","cmyk","alpha","getRgba","setValues","getHsla","getHwb","red","lightness","whiteness","cyan","setSpace","rgbArray","hslArray","hsvArray","hwbArray","cmykArray","rgbaArray","rgbaArrayNormalized","glRgba","hslaArray","setChannel","green","blue","hue","saturation","saturationv","blackness","magenta","yellow","black","hexString","rgbaString","percentString","hslString","hslaString","hwbString","keyword","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","contrastRatio","dark","light","negate","ratio","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","rotate","degrees","mix","mixinColor","w1","w2","col","getValues","space","capped","spaces","maxes","chans","sname","eventPluginOrder","namesToPlugins","recomputePluginOrdering","pluginName","pluginModule","pluginIndex","publishedEvents","eventTypes","publishEventForPlugin","eventNameDispatchConfigs","phaseName","publishRegistrationName","possibleRegistrationNames","injectedEventPluginOrder","injectedNamesToPlugins","isOrderingDirty","getPluginModuleForEvent","_resetEventPlugins","ComponentTree","TreeTraversal","executeDispatch","invokeGuardedCallbackWithCatch","invokeGuardedCallback","isEndish","isMoveish","isStartish","executeDirectDispatch","dispatchListener","dispatchInstance","dispatchListeners","dispatchInstances","executeDispatchesInOrderStopAtTrue","executeDispatchesInOrderStopAtTrueImpl","hasDispatches","isAncestor","getLowestCommonAncestor","argFrom","argTo","injectComponentTree","Injected","injectTreeTraversal","caughtError","correspondingUseElement","useHasFeature","implementation","hasFeature","eventNameSuffix","capture","isSupported","setAttribute","modifierKeyToProp","Alt","Control","Meta","Shift","modifierStateGetter","keyArg","keyProp","Danger","getNodeAfter","insertChildAt","insertLazyTreeChildAt","moveChild","openingComment","closingComment","nextNode","moveDelimitedText","removeDelimitedText","startNode","DOMChildrenOperations","dangerouslyReplaceNodeWithMarkup","replaceDelimitedText","stringText","nodeAfterComment","createTextNode","processUpdates","updates","afterNode","mathml","MSApp","execUnsafeLocalFunction","arg0","arg1","arg2","arg3","ReactPropTypesSecret","propTypesFactory","hasReadOnlyValue","checkbox","radio","submit","_assertSingleLink","inputProps","checkedLink","valueLink","_assertValueLink","_assertCheckedLink","checked","readOnly","loggedTypeFailures","getDeclarationErrorAddendum","LinkedValueUtils","checkPropTypes","tagName","getValue","getChecked","executeOnChange","requestChange","injected","ReactComponentEnvironment","replaceNodeWithMarkup","processChildrenUpdates","injectEnvironment","environment","objA","objB","keysA","keysB","prevEmpty","nextEmpty","prevType","nextType","KeyEscapeUtils","escaperLookup","unescape","unescaperLookup","getInternalInstanceReadyForUpdate","publicInstance","callerName","ReactUpdateQueue","isMounted","enqueueCallback","validateCallback","enqueueCallbackInternal","enqueueForceUpdate","_pendingForceUpdate","enqueueReplaceState","completeState","_pendingStateQueue","_pendingReplaceState","enqueueSetState","partialState","enqueueElementInternal","nextContext","_pendingElement","formatUnexpectedArgument","validateDOMNesting","webpackPolyfill","paths","_AsyncUtils","getUserConfirmation","pushLocation","replaceLocation","keyLength","pendingLocation","beforeListeners","allKeys","getCurrentIndex","updateLocation","nextLocation","currentIndex","confirmTransitionTo","transitionTo","prevPath","prevIndex","createKey","startListener","_DOMUtils","_DOMStateStorage","_ExecutionEnvironment","needsHashchangeListener","_createLocation","historyState","readState","handlePopState","handleUnpoppedHashChange","updateState","saveState","pushState","replaceState","reactIs","REACT_STATICS","contextType","getDerivedStateFromError","getDerivedStateFromProps","KNOWN_STATICS","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","_createHistory2","createStateStorage","entry","memo","canGo","_options","storage","BrowserProtocol","RefreshProtocol","useRefresh","forceRefresh","Protocol","listenerCount","stopListener","unlisten","HashProtocol","addLeadingSlash","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","queryKey","hashType","pathCoder","root","emptyObject","ReactComponent","ReactPureComponent","ComponentDummy","isReactComponent","isPureReactComponent","_invariant","injectedMixins","ReactClassInterface","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","updateComponent","ReactClassStaticInterface","RESERVED_SPEC_KEYS","_displayName","_mixins","mixSpecIntoComponent","_getDefaultProps","createMergedResultFunction","_statics","mixStaticSpecIntoComponent","autobind","validateMethodOverride","isAlreadyDefined","specPolicy","ReactClassMixin","spec","autoBindPairs","__reactAutoBindPairs","isReactClassMethod","createChainedFunction","mergeIntoWithNoDuplicateKeys","one","two","bindAutoBindMethod","IsMountedPreMixin","__isMounted","IsMountedPostMixin","newState","ReactClassComponent","pairs","autoBindKey","bindAutoBindMethods","initialState","contentKey","_callbacks","_contexts","_arg","contexts","checkpoint","rollback","isCheckable","getTracker","_wrapperState","valueTracker","inputValueTracking","_getTrackerFromNode","track","valueField","currentValue","tracker","attachTracker","setValue","stopTracking","detachTracker","updateValueIfChanged","lastValue","nextValue","supportedInputTypes","password","range","tel","scrollPosition","escapeTextContentForBrowser","lastChild","textContent","isUnitlessNumber","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","orphans","tabSize","widows","zIndex","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","prefixes","prefixKey","CSSProperty","shorthandPropertyExpansions","backgroundAttachment","backgroundImage","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundPosition","borderWidth","borderStyle","borderColor","borderBottom","borderBottomWidth","borderBottomStyle","borderBottomColor","borderLeft","borderLeftWidth","borderLeftStyle","borderLeftColor","borderRight","borderRightWidth","borderRightStyle","borderRightColor","borderTop","borderTopWidth","borderTopStyle","borderTopColor","fontStyle","fontVariant","fontFamily","outline","outlineWidth","outlineStyle","outlineColor","quoteAttributeValueForBrowser","VALID_ATTRIBUTE_NAME_REGEX","illegalAttributeNameCache","validatedAttributeNameCache","isAttributeNameSafe","shouldIgnoreValue","DOMPropertyOperations","createMarkupForID","setAttributeForID","createMarkupForRoot","setAttributeForRoot","createMarkupForProperty","createMarkupForCustomAttribute","setValueForProperty","deleteValueForProperty","setAttributeNS","setValueForAttribute","removeAttribute","deleteValueForAttribute","didWarnValueDefaultValue","updateOptionsIfPendingUpdateAndMounted","pendingUpdate","updateOptions","Boolean","multiple","propValue","selectedValue","selected","ReactDOMSelect","getHostProps","mountWrapper","_handleChange","wasMultiple","getSelectValueContext","postUpdateWrapper","ReactCompositeComponent","ReactEmptyComponent","ReactHostComponent","ReactCompositeComponentWrapper","construct","instantiateReactComponent","shouldHaveDebugID","createInternalComponent","isInternalComponentType","getNativeNode","createInstanceForText","_mountIndex","_mountImage","_instantiateReactComponent","ReactNodeTypes","HOST","COMPOSITE","EMPTY","getType","emptyComponentFactory","ReactEmptyComponentInjection","injectEmptyComponentFactory","instantiate","genericComponentClass","textComponentClass","isTextComponent","injectGenericComponentClass","componentClass","injectTextComponentClass","getIteratorFn","getComponentKey","traverseContext","traverseAllChildrenImpl","nameSoFar","subtreeCount","nextNamePrefix","iteratorFn","step","childrenString","setItem","getItem","removeItem","getItemIDs","addRoot","removeRoot","getRootIDs","isNative","reIsNative","Set","itemMap","rootIDSet","itemByKey","rootByKey","getKeyFromID","getIDFromKey","unmountedIDs","purgeDeep","childIDs","describeComponentFrame","ownerName","lineNumber","_getDisplayName","describeID","ReactComponentTreeHook","getDisplayName","getElement","ownerID","getOwnerID","onSetChildren","nextChildIDs","nextChildID","nextChild","parentID","onBeforeMountComponent","updateCount","onBeforeUpdateComponent","onMountComponent","onUpdateComponent","onUnmountComponent","purgeUnmountedComponents","_preventPurging","getCurrentStackAddendum","topElement","currentOwner","_debugID","getStackAddendumByID","getParentID","getChildIDs","getSource","getUpdateCount","getRegisteredIDs","pushNonStandardWarningStack","isCreatingElement","currentSource","reactStack","popNonStandardWarningStack","reactStackEnd","EventListener","eventType","registerDefault","ReactDOMSelection","containsNode","focusNode","getActiveElement","ReactInputSelection","hasSelectionCapabilities","contentEditable","getSelectionInformation","focusedElem","selectionRange","getSelection","restoreSelection","priorSelectionInformation","curFocusedElem","priorFocusedElem","priorSelectionRange","setSelection","selection","selectionStart","end","selectionEnd","createRange","parentElement","moveStart","moveEnd","getOffsets","offsets","createTextRange","collapse","select","setOffsets","activeElement","ReactDOMContainerInfo","ReactDOMFeatureFlags","ReactMarkupChecksum","shouldUpdateReactComponent","ROOT_ATTR_NAME","instancesByReactRootID","getReactRootElementInContainer","mountComponentIntoNode","wrapperInstance","shouldReuseMarkup","_topLevelWrapper","ReactMount","_mountImageIntoNode","batchedMountComponentIntoNode","componentInstance","useCreateElement","unmountComponentFromNode","hasNonRootReactChild","rootEl","isValidContainer","getTopLevelWrapperInContainer","prevHostInstance","getHostRootInstanceInContainer","_hostContainerInfo","topLevelRootCounter","TopLevelWrapper","rootID","_instancesByReactRootID","scrollMonitor","renderCallback","_updateRootComponent","prevComponent","_renderNewRootComponent","wrapperID","_instance","renderSubtreeIntoContainer","parentComponent","_renderSubtreeIntoContainer","nextWrappedElement","_processChildContext","publicInst","updatedCallback","unmountComponentAtNode","reactRootElement","containerHasReactMarkup","containerHasNonRootReactChild","hasAttribute","rootElement","canReuseMarkup","CHECKSUM_ATTR_NAME","rootMarkup","outerHTML","normalizedMarkup","diffIndex","string1","string2","minLen","firstDifferenceIndex","difference","_renderedNodeType","_propTypes2","_Symbol","cssKeywords","reverseKeywords","channels","labels","xyz","lab","lch","hex","ansi16","ansi256","hcg","apple","gray","rdif","gdif","bdif","diffc","reversed","currentClosestKeyword","currentClosestDistance","Infinity","distance","z","t1","t2","t3","smin","lmin","hi","sl","vmin","wh","bl","z2","atan2","PI","hr","cos","sin","ansi","mult","rem","colorString","integer","chroma","mg","pure","QuotaExceededErrors","QuotaExceededError","QUOTA_EXCEEDED_ERR","SecurityErrors","SecurityError","sessionStorage","_encoder2","EAN","flat","guardHeight","encodeFlat","encodeGuarded","textOptions","guardOptions","leftEncode","leftText","rightEncode","rightText","UPC","flatEncoding","guardedEncoding","ITF","pair","encodePair","START_BIN","END_BIN","first","intOptions","intOption","valid","getTotalWidthOfEncodings","calculateEncodingAttributes","getBarcodePadding","getEncodingHeight","getMaximumHeightOfEncodings","_merge","_merge2","encoding","textWidth","barcodeWidth","messureText","measureTextResult","measureText","encodings","maxHeight","barcodeOptions","barcodePadding","totalWidth","InvalidInputException","_Error","symbology","InvalidElementException","_Error2","NoElementException","_Error3","symbolMap","0","numberMap","pluralForm","pluralize","weekdaysParseExact","suffixes","70","80","50","60","90","relativeTimeWithPlural","num","forms","lastDigit","last2Digits","monthsParseExact","relativeTimeWithMutation","mutationTable","softMutation","mutation","minWeekdaysParse","fullWeekdaysParse","shortWeekdaysParse","lastNumber","ll","lll","llll","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eraYearOrdinalRegex","$0","$1","$2","40","isUpper","eifelerRegelAppliesToNumber","translateSingular","special","relativeTimeWithSingular","words","correctGrammaticalCase","wordKey","relativeTimeMr","numbersNouns","numberNoun","hundred","ten","word","numberAsNoun","processHoursFunction","nominative","accusative","genitive","_default","nameShape","transitionTimeout","transitionType","timeoutPropName","enabledPropName","oneOfType","enterActive","leaveActive","appear","appearActive","symbolObservablePonyfill","observable","freeGlobal","getElementById","onload","traverseAllChildren","userProvidedKeyEscapeRegex","escapeUserProvidedKey","ForEachBookKeeping","forEachFunction","forEachContext","forEachSingleChild","bookKeeping","MapBookKeeping","mapResult","keyPrefix","mapFunction","mapContext","mapSingleChildIntoContext","childKey","mappedChild","mapIntoWithKeyPrefixInternal","escapedPrefix","forEachSingleChildDummy","forEachFunc","ITERATOR_SYMBOL","maybeIterable","createDOMFactory","address","article","aside","audio","bdi","bdo","big","blockquote","br","canvas","caption","cite","colgroup","datalist","del","details","dfn","dialog","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","iframe","img","ins","kbd","keygen","label","legend","li","link","main","mark","menu","menuitem","meta","meter","nav","noscript","ol","optgroup","option","param","picture","pre","progress","rp","rt","ruby","samp","script","section","small","span","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","thead","tr","ul","video","wbr","circle","clipPath","defs","ellipse","linearGradient","mask","polygon","polyline","radialGradient","rect","tspan","ReactIs","emptyFunctionThatReturnsNull","throwOnDirectAccess","createPrimitiveTypeChecker","createChainableTypeChecker","typeChecker","propFullName","PropTypeError","getPropType","elementType","isValidElementType","instanceOf","expectedClass","expectedClassName","getClassName","objectOf","oneOf","expectedValues","valuesString","getPreciseType","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","shapeTypes","exact","validate","checkType","secret","chainedCheckType","expectedType","isSymbol","resetWarningCache","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","typeOf","typeSpecs","getStack","ReactDefaultInjection","findDOMNode","getHostComponentFromComposite","inject","ReactDOM","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","__REACT_DEVTOOLS_GLOBAL_HOOK__","Mount","Reconciler","ARIADOMPropertyConfig","BeforeInputEventPlugin","ChangeEventPlugin","DefaultEventPluginOrder","EnterLeaveEventPlugin","HTMLDOMPropertyConfig","ReactComponentBrowserEnvironment","ReactDOMComponent","ReactDOMEmptyComponent","ReactDOMTreeTraversal","ReactDOMTextComponent","ReactDefaultBatchingStrategy","ReactInjection","SVGDOMPropertyConfig","SelectEventPlugin","SimpleEventPlugin","alreadyInjected","HostComponent","EmptyComponent","Updates","FallbackCompositionState","SyntheticCompositionEvent","SyntheticInputEvent","END_KEYCODES","canUseCompositionEvent","canUseTextInputEvent","useFallbackCompositionData","SPACEBAR_CHAR","beforeInput","bubbled","captured","compositionEnd","compositionStart","compositionUpdate","hasSpaceKeypress","isFallbackCompositionEnd","getDataFromCustomEvent","currentComposition","extractCompositionEvent","fallbackData","getCompositionEventType","isFallbackCompositionStart","getData","customData","extractBeforeInputEvent","chars","which","getNativeBeforeInputChars","isKeypressCommand","getFallbackBeforeInputChars","getTextContentAccessor","_root","_startText","_fallbackText","startValue","startLength","endValue","endLength","minEnd","sliceTail","isTextInputElement","change","createAndAccumulateChangeEvent","activeElementInst","doesChangeEventBubble","manualDispatchChangeEvent","runEventInBatch","stopWatchingForChangeEventIE8","getInstIfValueChanged","updated","_allowSimulatedPassThrough","getTargetInstForChangeEvent","handleEventsForChangeEventIE8","startWatchingForChangeEventIE8","isInputEventSupported","stopWatchingForValueChange","handlePropertyChange","handleEventsForInputEventPolyfill","startWatchingForValueChange","getTargetInstForInputEventPolyfill","getTargetInstForClickEvent","getTargetInstForInputOrChangeEvent","_isInputEventSupported","getTargetInstFunc","handleEventFunc","targetNode","shouldUseClickEvent","controlled","handleControlledInputBlur","ReactOwner","addComponentAsRefTo","attachRef","prevRef","prevOwner","nextRef","nextOwner","removeComponentAsRefFrom","detachRef","isValidOwner","ownerPublicInstance","mouseEnter","mouseLeave","win","related","toNode","accept","accessKey","allowFullScreen","allowTransparency","alt","autoPlay","cellPadding","cellSpacing","charSet","challenge","classID","cols","colSpan","contextMenu","controls","controlsList","coords","crossOrigin","dateTime","download","draggable","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","high","hrefLang","htmlFor","httpEquiv","icon","inputMode","integrity","keyParams","keyType","kind","list","loop","low","manifest","marginHeight","marginWidth","maxLength","media","mediaGroup","minLength","muted","nonce","noValidate","optimum","placeholder","playsInline","poster","profile","radioGroup","referrerPolicy","rel","required","role","rows","rowSpan","sandbox","scoped","scrolling","seamless","sizes","spellCheck","srcDoc","srcLang","srcSet","useMap","wmode","wrap","about","datatype","inlist","vocab","autoCapitalize","autoCorrect","autoSave","itemProp","itemScope","itemType","itemID","itemRef","security","unselectable","validity","badInput","dangerouslyProcessChildrenUpdates","createNodesFromMarkup","oldChild","newChild","createArrayFromMixed","getMarkupWrap","dummyNode","nodeNamePattern","handleScript","nodeNameMatch","getNodeName","wrapDepth","scripts","getElementsByTagName","childNodes","hasArrayNature","shouldWrap","selectWrap","tableWrap","trWrap","svgWrap","markupWrap","ReactDOMIDOperations","AutoFocusUtils","CSSPropertyOperations","ReactDOMInput","ReactDOMOption","ReactDOMTextarea","ReactMultiChild","ReactServerRenderingTransaction","getNode","CONTENT_TYPES","dangerouslySetInnerHTML","suppressContentEditableWarning","assertValidProps","voidElementTags","_tag","enqueuePutListener","containerInfo","_node","_ownerDocument","inputPostMount","postMountWrapper","textareaPostMount","optionPostMount","mediaEvents","trackInputValue","trapBubbledEventsLocal","postUpdateSelectWrapper","omittedCloseTags","newlineEatingTags","listing","VALID_TAG_REGEX","validatedTagCache","isCustomComponent","globalIdCounter","validateDangerousTag","_namespaceURI","_previousStyle","_previousStyleCopy","Mixin","_idCounter","parentTag","mountImage","el","createElementNS","_updateDOMProperties","lazyTree","_createInitialChildren","tagOpen","_createOpenTagMarkupAndPutListeners","tagContent","_createContentMarkup","autoFocus","focusDOMComponent","propKey","createMarkupForStyles","renderToStaticMarkup","__html","contentToUse","childrenToUse","mountChildren","mountImages","lastProps","_updateDOMChildren","updateWrapper","styleName","styleUpdates","lastStyle","nextProp","lastProp","setValueForStyles","lastContent","nextContent","lastHtml","nextHtml","lastChildren","nextChildren","lastHasContentOrHtml","nextHasContentOrHtml","updateChildren","updateTextContent","updateMarkup","unmountChildren","dangerousStyleValue","hyphenateStyleName","memoizeStringOnly","processStyleName","hasShorthandPropertyBug","styleFloatAccessor","tempStyle","cssFloat","serialized","isCustomProperty","styleValue","setProperty","expansion","individualStyleName","camelize","msPattern","_hyphenPattern","character","isNonNumeric","hyphenate","_uppercasePattern","runEventQueueInBatch","makePrefixMap","styleProp","vendorPrefixes","animationend","animationiteration","animationstart","transitionend","prefixedEventNames","prefixMap","forceUpdateIfMounted","isControlled","defaultChecked","initialChecked","valueAsNumber","rootNode","queryRoot","group","querySelectorAll","otherNode","otherInstance","didWarnInvalidOptionChildren","flattenChildren","selectValue","selectParent","hostProps","ReactChildReconciler","processQueue","updateQueue","_reconcilerInstantiateChildren","nestedChildren","instantiateChildren","_reconcilerUpdateChildren","prevChildren","nextNestedChildrenElements","removedNodes","fromIndex","toIndex","nextMarkup","_updateChildren","nextMountIndex","lastPlacedNode","prevChild","_mountChildAtIndex","_unmountChild","renderedChildren","makeMove","createChild","makeInsertMarkup","makeRemove","instantiateChild","childInstances","selfDebugID","keyUnique","nestedChildNodes","nextChildInstance","nextChildMountImage","renderedChild","shallowEqual","CompositeTypes","StatelessComponent","warnIfInvalidElement","nextMountID","_compositeType","_calledComponentWillUnmount","renderedElement","publicProps","publicContext","_processContext","getUpdateQueue","doConstruct","shouldConstruct","_constructComponent","isPureComponent","unstable_handleError","performInitialMountWithErrorHandling","performInitialMount","_constructComponentWithoutOwner","_processPendingState","_renderValidatedComponent","_maskContext","maskedContext","currentContext","childContext","_checkContextTypes","prevContext","prevParentElement","nextParentElement","prevUnmaskedContext","nextUnmaskedContext","willReceive","prevProps","shouldUpdate","_performComponentUpdate","partial","unmaskedContext","hasComponentDidUpdate","_updateRenderedComponent","prevComponentInstance","prevRenderedElement","nextRenderedElement","oldHostNode","_replaceNodeWithMarkup","prevInstance","_renderValidatedComponentWithoutOwnerOrContext","publicComponentInstance","nextDebugID","flattenSingleChildIntoContext","ReactServerUpdateQueue","noopCallbackQueue","domID","createComment","instA","instB","depthA","tempA","depthB","tempB","depth","common","pathFrom","pathTo","_stringText","_closingComment","_commentNodes","openingValue","createDocumentFragment","escapedText","nextText","nextStringText","commentNodes","hostNode","RESET_BATCHED_UPDATES","ReactDefaultBatchingStrategyTransaction","alreadyBatchingUpdates","getUnboundedScrollPosition","findParent","TopLevelCallbackBookKeeping","ancestors","handleTopLevelImpl","ancestor","_handleTopLevel","scrollValueMonitor","_enabled","scrollable","Window","pageXOffset","scrollLeft","pageYOffset","scrollTop","currentlyEnabled","previouslyEnabled","reactMountReady","getNodeForCharacterOffset","isCollapsed","anchorNode","anchorOffset","focusOffset","useIEOffsets","selectedRange","selectedLength","fromStart","duplicate","moveToElementText","setEndPoint","startOffset","rangeCount","currentRange","getRangeAt","startContainer","endContainer","rangeLength","tempRange","cloneRange","selectNodeContents","setEnd","endOffset","detectionRange","setStart","isBackward","collapsed","startMarker","endMarker","removeAllRanges","addRange","getLeafNode","getSiblingNode","nodeStart","nodeEnd","isTextNode","outerNode","innerNode","contains","compareDocumentPosition","Node","NS","ATTRS","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeType","autoReverse","azimuth","baseFrequency","baseProfile","baselineShift","bbox","begin","bias","by","calcMode","capHeight","clip","clipRule","clipPathUnits","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cx","cy","decelerate","descent","diffuseConstant","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","exponent","externalResourcesRequired","fillRule","filterRes","filterUnits","floodColor","focusable","fontSizeAdjust","fontStretch","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","ideographic","imageRendering","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","markerEnd","markerMid","markerStart","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","numOctaves","operator","orient","orientation","origin","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","primitiveUnits","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","stdDeviation","stemh","stemv","stitchTiles","stopColor","strikethroughPosition","strikethroughThickness","strokeLinecap","strokeLinejoin","surfaceScale","systemLanguage","tableValues","targetX","targetY","textDecoration","textRendering","textLength","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","viewTarget","visibility","widths","wordSpacing","writingMode","xHeight","xChannelSelector","xlinkActuate","xlinkArcrole","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlns","xmlnsXlink","xmlLang","xmlSpace","yChannelSelector","zoomAndPan","skipSelectionChangeEvent","lastSelection","mouseDown","hasListener","constructSelectEvent","currentSelection","top","boundingTop","left","boundingLeft","syntheticEvent","SyntheticAnimationEvent","SyntheticClipboardEvent","SyntheticFocusEvent","SyntheticKeyboardEvent","SyntheticDragEvent","SyntheticTouchEvent","SyntheticTransitionEvent","SyntheticWheelEvent","getEventCharCode","topLevelEventsToDispatchConfig","capitalizedEvent","onEvent","topEvent","onClickListeners","isInteractive","EventConstructor","animationName","elapsedTime","pseudoElement","ClipboardEventInterface","clipboardData","KeyboardEventInterface","repeat","normalizeKey","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","translateToKey","37","38","39","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","dataTransfer","TouchEventInterface","touches","targetTouches","changedTouches","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","topLevelWrapper","useFiber","adler32","TAG_END","COMMENT_START","addChecksumToMarkup","existingChecksum","componentOrElement","_storeShape2","_Component","emptyFunctionWithReset","shim","getShim","mapStateToProps","mapDispatchToProps","mergeProps","shouldSubscribe","mapState","defaultMapStateToProps","mapDispatch","_wrapActionCreators2","defaultMapDispatchToProps","finalMergeProps","defaultMergeProps","_options$pure","_options$withRef","withRef","checkMergedEquals","nextVersion","WrappedComponent","connectDisplayName","Connect","storeState","clearCache","haveOwnPropsChanged","hasStoreStateChanged","computeStateProps","finalMapStateToProps","configureFinalMapState","doStatePropsDependOnOwnProps","mappedState","isFactory","computeDispatchProps","finalMapDispatchToProps","configureFinalMapDispatch","doDispatchPropsDependOnOwnProps","mappedDispatch","updateStatePropsIfNeeded","nextStateProps","stateProps","_shallowEqual2","updateDispatchPropsIfNeeded","nextDispatchProps","dispatchProps","updateMergedPropsIfNeeded","parentProps","nextMergedProps","mergedProps","trySubscribe","handleChange","tryUnsubscribe","haveStatePropsBeenPrecalculated","statePropsPrecalculationError","prevStoreState","haveStatePropsChanged","errorObject","getWrappedInstance","shouldUpdateStateProps","shouldUpdateDispatchProps","haveDispatchPropsChanged","_hoistNonReactStatics2","hasOwn","_redux","originalModule","baseGetTag","getPrototype","isObjectLike","getRawTag","objectToString","overArg","_options$wait","_options$bindI18n","bindI18n","_options$bindStore","bindStore","_options$translateFun","translateFuncName","Translate","ready","onI18nChanged","mounted","extraProps","_react2","isGetOwnPropertySymbolsAvailable","customStatics","REGEXP","useDangerouslySetInnerHTML","dangerouslySetInnerHTMLPartElement","tOpts","i18nKey","allNamespaces","flattened","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_step$value","return","eachComponents","filterAndFlattenComponents","requestFrame","raf","mozRequestAnimationFrame","webkitRequestAnimationFrame","cancelFrame","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","resizeListener","__resizeRAF__","trigger","__resizeTrigger__","__resizeListeners__","isIE","getComputedStyle","__resizeElement__","contentDocument","unbind","circular","allParents","allChildren","useBuffer","Buffer","__isArray","__isRegExp","__getRegExpFlags","__isDate","isBuffer","allocUnsafe","attrs","__objToStr","re","ignoreCase","multiline","clonePrototype","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","Uint8Array","encodingOrOffset","ArrayBuffer","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","isEncoding","actual","fromString","buffer","fromObject","assertSize","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","hexWrite","remaining","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","subarray","typedArraySupport","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","thisStart","thisEnd","thisCopy","targetCopy","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","lookup","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","LN2","conversions","fromModel","toModel","wrappedFn","conversion","wrapRounded","raw","wrapRaw","deriveBFS","graph","models","buildGraph","adjacents","adjacent","wrapConversion","colorNames","rgba","percentaString","hsla","hexDouble","getRgb","getHsl","getAlpha","reverseNames","Timeout","clearFn","_id","_clearFn","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","onreadystatechange","task","strictUriEncode","objectAssign","encode","extract","formatter","arrayFormat","accumulator","parserForArrayFormat","keysSorter","encoderForArrayFormat","val2","_BrowserProtocol","getHashPath","replaceHashPath","prevLocation","handleHashChange","encodedPath","updateHash","pushHashPath","getPromptMessage","handleBeforeUnload","modalFactory","insertKeyframesRule","animationDuration","animationTimingFunction","showModalAnimation","hideModalAnimation","showBackdropAnimation","hideBackdropAnimation","showContentAnimation","hideContentAnimation","showAnimation","hideAnimation","animationFillMode","right","bottom","animationDelay","EVENT_NAME_MAP","endEvents","baseEventName","baseEvents","detectEvents","eventListener","endEvent","domVendorPrefix","builtinStyle","isSupportTest","vendorProp","UpperProp","extraSheet","sheet","styleSheet","cssRules","cssVendorPrefix","OLink","opactiy","showSharpAnimation","rectStyle","_barcodes2","_linearizeEncodings2","_fixOptions2","_getRenderProperties2","_optionsFromStrings2","_ErrorHandler2","_exceptions","_defaults2","API","JsBarcode","_renderProperties","_encodings","_errorHandler","autoSelectBarcode","getModule","registerBarcode","barcodes","wrapBarcodeCall","newOptions","Encoder","encoder","renderProperties","Renderer","afterRender","blank","zeroes","renderProperty","jQuery","elementArray","_CODE","_CODE2","_EAN_UPC","_ITF","_MSI","_pharmacode","_codabar","_GenericBarcode","CODE39","CODE128A","CODE128B","CODE128C","EAN13","EAN8","EAN5","EAN2","UPCE","ITF14","MSI10","MSI11","MSI1010","MSI1110","pharmacode","codabar","GenericBarcode","mod43","characterValue","characters","getCharacter","mod43checksum","getEncoding","getBinary","_CODE128_AUTO2","_CODE128A2","_CODE128B2","_CODE128C2","_CODE3","_auto2","CODE128AUTO","matchSetALength","matchSetBLength","matchSetC","autoSelectFromAB","isA","ranges","untilC","autoSelectFromC","cMatch","newString","_EAN2","_EAN4","_EAN6","_EAN8","_UPC2","_UPCE2","_get","_EAN3","_EAN","lastChar","_UPC","EXPANSIONS","PARITIES","middleDigits","upcA","expandToUPCA","encodeMiddleDigits","numberSystem","checkDigit","parity","lastUpcE","digitIndex","_ITF2","_ITF4","_ITF3","_MSI2","_MSI4","_MSI6","_MSI8","_MSI10","_MSI3","_checksums","getEncodings","linearEncodings","nextLevel","_getOptionsFromElement2","_renderers2","getRenderProperties","selector","returnArray","querySelectedRenderProperties","HTMLCanvasElement","HTMLImageElement","imgElement","CanvasRenderer","toDataURL","SVGElement","SVGRenderer","ObjectRenderer","_canvas2","_svg2","_object2","_shared","prepareCanvas","encodingOptions","drawCanvasBarcode","drawCanvasText","moveCanvasDrawing","restoreCanvas","clearRect","fillStyle","fillRect","yFrom","binary","fillText","restore","svgns","xmlDocument","currentX","prepareSVG","createGroup","setGroupOptions","drawSvgBarcode","drawSVGText","setSvgAttributes","drawRect","barWidth","textElem","ErrorHandler","handleCatch","webpackContext","req","webpackContextResolve","_TransitionGroup2","_CSSTransitionGroupChild2","_PropTypes","CSSTransitionGroup","_wrapChild","transitionName","transitionAppear","transitionEnter","transitionLeave","appearTimeout","transitionAppearTimeout","enterTimeout","transitionEnterTimeout","leaveTimeout","transitionLeaveTimeout","childFactory","_chainFunction2","_ChildMapping","TransitionGroup","performAppear","currentlyTransitioningKeys","componentWillAppear","_handleDoneAppearing","componentDidAppear","currentChildMapping","getChildMapping","performLeave","performEnter","componentWillEnter","_handleDoneEntering","componentDidEnter","componentWillLeave","_handleDoneLeaving","componentDidLeave","keysToEnter","newChildren","childRefs","keysToLeave","initialChildMapping","nextChildMapping","prevChildMapping","mergeChildMappings","hasPrev","childrenToRender","_loop","isCallbackRef","factoryChild","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","_addClass2","_removeClass2","_requestAnimationFrame2","_properties","_reactDom","transitionEnd","animationEnd","CSSTransitionGroupChild","classNameAndNodeQueue","transitionTimeouts","unmounted","animationType","finishCallback","timer","removeListeners","queueClassAndNode","finish","addEndListener","rafHandle","flushClassNameAndNodeQueue","_hasClass","baseVal","replaceClassName","origClass","classToRemove","compatRaf","_inDOM","curr","getKey","vendor","rafKey","animationTiming","transitionDuration","transitionDelay","transitionTiming","transitionProperty","_getTransitionPropert","vendorMap","O","Moz","Webkit","vendors","getTransitionProperties","timing","fetchSupplies","SuppliesSubmitButton","isDisabled","disabledClassName","shouldNotRender","changeDirection","buttonText","canShuffle","renderShuffle","Header","renderSuppliesLink","renderOrdersLink","userSelect","App","fetchOrders","CancelOrder","cancelOrderClick","cancelOrder","reasonLinks","Button","formatDatetime","OrderDetails","isOrderReturning","quantityToReturn","quantity_from_stock","returned_quantity","properQuantityToReturn","isProperQuantityToReturn","nextQuantity","handleOrderCancel","handleHideDetails","handleReorder","scrollListUp","handleReturnToStockQuantityChange","orderQuantity","orderReturnedQuantity","handleReturnToStock","renderCancelButton","renderReorderButton","renderRemarks","renderReturnToStock","description","image_medium_url","map_url","map_width","map_height","zoomId","taken_at","delivered_at","delivery_confirmation","delivery_confirmed_at","Order","OrderMixin","handleConfirmDelivery","image_thumb_url","OrdersList","operatorsOrders","operator_id","operatorId","filteredOrders","searchText","sortedOrders","OrdersWrapper","shouldShowDetails","detailedOrder","handleSearch","refreshClick","searchBox","orderList","OrderSummary","selectedSpot","actions","Spinner","finishClick","cancelClick","changeSpotClick","handleChangeRemarks","spotId","placeSuppliesOrder","SpecialOrderSummary","placeOrder","Supply","decreaseButton","increaseButton","handleCountIncrease","handleCountDecrease","isDecreaseButtonDisabled","isIncreaseButtonDisabled","last_elem","SpecialOrder","specialOrder","currentLocationId","SuppliesQuantityModal","inputValue","handleSaveClick","handleInputChange","LocationSelect","handleLocationChange","handleStageChange","handleCategoryChange","sortedLocations","uniqueLocations","REGEX","countSuppliesForStage","stage","operatorSupplyStages","renderStageSelect","renderCategorySelect","category","selectedLocationId","SuppliesList","locationId","filteredSupplies","selectedLocation","filteredSpecialOrders","special_orders","renderSuppliesList","renderSpecialOrdersList","validStage","validCategory","category_ids","OrdersReducer","SuppliesReducer","LocationsReducer","AppReducer","devToolsExtension","i18nObj","connected","received","updateOrder","setOrderCancelReasons","elems","getTouchListPositions","touchList","getEventPosition","getPagePosition","getClientRects","onZoom","onPan","Mouse","PositionMixin","lastPosition","dragging","handleWheel","factor","handleMouseDown","handleMouseMove","newPosition","displacement","didMove","handleMouseLeave","cleanUpAfterMove","handleMouseUp","Touch","lastTouch","lastPinch","onTap","handleTouchStart","handleTouchMove","touchCount","handleDrag","handlePinch","handleTouchEnd","handleTouchCancel","newPinch","focal","AdminMap","newZoom","movePosition","panCalculation","click","eventPosition","mapPosition","addNewPosition","AdminMapEditSpots","handlePositionChange","EditSpot","descriptionChange","symbolChange","characterChange","formattedDescription","handleDelete","isEdition","branch","branches","BranchesReducer","fetchLocation","orderIds","InformOrder","informOrderClick","infoLinks","renderTakeButton","handleOrderTake","renderDeliveryButton","carrier_id","currentUser","handleOrderDeliver","cancelModal","Modal","renderInformButton","infosModal","handleOrderInform","accepted_at","pretty_location","OrdersMassActions","handleOrderInfrom","handleOrderDelivery","anyCheckedOrders","quality_check_required","setOrderInfos","getElementsByClassName","fetchScannerOrders","Scanner","scannerInput","handleKeyPress","showStatusMessage","clearInput","onKeyPress","filteredAvailableLocales","filtered_orders","renderTitle","renderOrdersCount","Box","fetchDisplayOrders","filterOrdersByLocation","allowedStatuses","renderRejectButton","handleOrderReject","renderAcceptButton","handleOrderAccept"],"mappings":"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","file":"js/application-3318ca7d44e9f67b334f.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 312);\n","'use strict';\n\nmodule.exports = require('./lib/React');","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\n//! moment.js\n//! version : 2.29.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.moment = factory();\n})(this, function () {\n 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n } // This is done to register the method called with moment()\n // without creating circular dependencies.\n\n\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [],\n i;\n\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n\n return m._pf;\n }\n\n var some;\n\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function some(fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && !flags.invalidEra && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts);\n\n if (m._strict) {\n isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n } // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n\n\n var momentProperties = hooks.momentProperties = [],\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n } // Moment prototype object\n\n\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n\n if (!this.isValid()) {\n this._d = new Date(NaN);\n } // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n\n\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return obj instanceof Moment || obj != null && obj._isAMomentObject != null;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n\n if (firstTime) {\n var args = [],\n arg,\n i,\n key;\n\n for (i = 0; i < arguments.length; i++) {\n arg = '';\n\n if (_typeof(arguments[i]) === 'object') {\n arg += '\\n[' + i + '] ';\n\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n\n args.push(arg);\n }\n\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + new Error().stack);\n firstTime = false;\n }\n\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set(config) {\n var prop, i;\n\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n\n this._config = config; // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n\n this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\\d{1,2}/.source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function keys(obj) {\n var i,\n res = [];\n\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? forceSign ? '+' : '' : '-') + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {}; // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n\n if (typeof callback === 'string') {\n func = function func() {\n return this[callback]();\n };\n }\n\n if (token) {\n formatTokenFunctions[token] = func;\n }\n\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n\n return output;\n };\n } // format date using native date object\n\n\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.match(formattingTokens).map(function (tok) {\n if (tok === 'MMMM' || tok === 'MM' || tok === 'DD' || tok === 'dddd') {\n return tok.slice(1);\n }\n\n return tok;\n }).join('');\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({\n unit: u,\n priority: priorities[u]\n });\n }\n }\n\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid() ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n value = toInt(value);\n\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n } // MOMENTS\n\n\n function stringGet(units) {\n units = normalizeUnits(units);\n\n if (isFunction(this[units])) {\n return this[units]();\n }\n\n return this;\n }\n\n function stringSet(units, value) {\n if (_typeof(units) === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i;\n\n for (i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n\n return this;\n }\n\n var match1 = /\\d/,\n // 0 - 9\n match2 = /\\d\\d/,\n // 00 - 99\n match3 = /\\d{3}/,\n // 000 - 999\n match4 = /\\d{4}/,\n // 0000 - 9999\n match6 = /[+-]?\\d{6}/,\n // -999999 - 999999\n match1to2 = /\\d\\d?/,\n // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/,\n // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/,\n // 99999 - 999999\n match1to3 = /\\d{1,3}/,\n // 0 - 999\n match1to4 = /\\d{1,4}/,\n // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/,\n // -999999 - 999999\n matchUnsigned = /\\d+/,\n // 0 - inf\n matchSigned = /[+-]?\\d+/,\n // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi,\n // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi,\n // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/,\n // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n } // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n\n\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback;\n\n if (typeof token === 'string') {\n token = [token];\n }\n\n if (isNumber(callback)) {\n func = function func(input, array) {\n array[callback] = toInt(input);\n };\n }\n\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return (n % x + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function indexOf(o) {\n // I know\n var i;\n\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2;\n } // FORMATTING\n\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n }); // ALIASES\n\n addUnitAlias('month', 'M'); // PRIORITY\n\n addUnitPriority('month', 8); // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict); // if we didn't find a month name, mark the date as invalid.\n\n\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n }); // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months) ? this._months : this._months['standalone'];\n }\n\n return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort['standalone'];\n }\n\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n } // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n\n\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n } // test the regex\n\n\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n } // MOMENTS\n\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value); // TODO: Another silent failure?\n\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n\n return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n\n return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n } // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n\n\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); // ALIASES\n\n addUnitAlias('year', 'y'); // PRIORITIES\n\n addUnitPriority('year', 1); // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n }); // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n } // HOOKS\n\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n }; // MOMENTS\n\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date; // the date constructor remaps years 0-99 to 1900-1999\n\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args; // the Date.UTC function remaps years 0-99 to 1900-1999\n\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments); // preserve leap years using a full 400 year cycle, then reset\n\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n } // start-of-first-week - start-of-year\n\n\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n return -fwdlw + fwd - 1;\n } // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n\n\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n } // FORMATTING\n\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W'); // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5); // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }); // HELPERS\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n } // MOMENTS\n\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n } // FORMATTING\n\n\n addFormatToken('d', 0, 'do', 'day');\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday'); // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E'); // PRIORITY\n\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11); // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict); // if we didn't get a weekday name, mark the date as invalid\n\n\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n }); // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n\n return isNaN(input) ? null : input;\n } // LOCALES\n\n\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays : this._weekdays[m && m !== true && this._weekdays.isFormat.test(format) ? 'format' : 'standalone'];\n return m === true ? shiftWeekdays(weekdays, this._week.dow) : m ? weekdays[m.day()] : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n } // test the regex\n\n\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n } // MOMENTS\n\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n } // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n\n return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n\n return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n\n return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n } // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n\n\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false); // ALIASES\n\n addUnitAlias('hour', 'h'); // PRIORITY\n\n addUnitPriority('hour', 13); // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n }); // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n week: defaultLocaleWeek,\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n meridiemParse: defaultLocaleMeridiemParse\n }; // internal storage for locale config files\n\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n } // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n\n\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n\n if (locale) {\n return locale;\n }\n\n if (next && next.length >= j && commonPrefix(split, next) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n\n j--;\n }\n\n i++;\n }\n\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire; // TODO: Find a better way to register and load all the locales in Node\n\n if (locales[name] === undefined && typeof module !== 'undefined' && module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n\n return locales[name];\n } // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n\n\n function getSetGlobalLocale(key, values) {\n var data;\n\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride', 'use moment.updateLocale(localeName, config) to change ' + 'an existing locale. moment.defineLocale(localeName, ' + 'config) should only be used for creating a new locale ' + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n } // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n\n\n getSetGlobalLocale(name);\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n\n config = mergeConfigs(parentConfig, config);\n\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n } // backwards compat for now: also set the locale\n\n\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n\n return locales[name];\n } // returns locale data\n\n\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n\n if (locale) {\n return locale;\n }\n\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n } // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n\n\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/], ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/], ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/], ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false], ['YYYY-DDD', /\\d{4}-\\d{3}/], ['YYYY-MM', /\\d{4}-\\d\\d/, false], ['YYYYYYMMDD', /[+-]\\d{10}/], ['YYYYMMDD', /\\d{8}/], ['GGGG[W]WWE', /\\d{4}W\\d{3}/], ['GGGG[W]WW', /\\d{4}W\\d{2}/, false], ['YYYYDDD', /\\d{7}/], ['YYYYMM', /\\d{6}/, false], ['YYYY', /\\d{4}/, false]],\n // iso time formats and regexes\n isoTimes = [['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/], ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/], ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/], ['HH:mm', /\\d\\d:\\d\\d/], ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/], ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/], ['HHmmss', /\\d\\d\\d\\d\\d\\d/], ['HHmm', /\\d\\d\\d\\d/], ['HH', /\\d\\d/]],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n }; // date from iso format\n\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [untruncateYear(yearStr), defaultLocaleMonthsShort.indexOf(monthStr), parseInt(dayStr, 10), parseInt(hourStr, 10), parseInt(minuteStr, 10)];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n } // date and time from ref 2822 format\n\n\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n\n if (match) {\n parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n config._d = createUTCDate.apply(null, config._a);\n\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n } // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n\n\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate('value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }); // Pick the first defined of two or three arguments.\n\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n\n if (b != null) {\n return b;\n }\n\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n } // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n\n\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config); //compute day of the year from weeks and weekdays\n\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n } //if the day of the year is set, figure out what it is\n\n\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n } // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n\n\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n } // Zero out whatever was not defaulted, including time\n\n\n for (; i < 7; i++) {\n config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];\n } // Check for 24:00:00.000\n\n\n if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n } // check for mismatching day of week\n\n\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n w = config._w;\n\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4; // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n curWeek = weekOfYear(createLocal(), dow, doy);\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); // Default to current week.\n\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n } // constant that refers to the ISO standard\n\n\n hooks.ISO_8601 = function () {}; // constant that refers to the RFC 2822 form\n\n\n hooks.RFC_2822 = function () {}; // date from string and format string\n\n\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n\n config._a = [];\n getParsingFlags(config).empty = true; // This array is used to make a Date, either with `new Date` or `Date.UTC`\n\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era;\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n } // don't parse if it's not a known token\n\n\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n } // add remaining unparsed input length to the string\n\n\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n } // clear _12h flag if hour is <= 12\n\n\n if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem; // handle meridiem\n\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); // handle era\n\n era = getParsingFlags(config).era;\n\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n\n if (isPm && hour < 12) {\n hour += 12;\n }\n\n if (!isPm && hour === 12) {\n hour = 0;\n }\n\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n } // date from string and array of format strings\n\n\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n } // if there is any input that was not parsed add a penalty for that format\n\n\n currentScore += getParsingFlags(tempConfig).charsLeftOver; //or tokens\n\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (scoreToBeat == null || currentScore < scoreToBeat || validFormatFound) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map([i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || format === undefined && input === '') {\n return createInvalid({\n nullInput: true\n });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) {\n input = undefined;\n } // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n\n\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate('moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }),\n prototypeMax = deprecate('moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }); // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n\n function pickBy(fn, moments) {\n var res, i;\n\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n\n if (!moments.length) {\n return createLocal();\n }\n\n res = moments[0];\n\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n\n return res;\n } // TODO: Use [].sort instead?\n\n\n function min() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isAfter', args);\n }\n\n var now = function now() {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i;\n\n for (key in m) {\n if (hasOwnProp(m, key) && !(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n for (i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n this._isValid = isDurationValid(normalizedInput); // representation for dateAddRemove\n\n this._milliseconds = +milliseconds + seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n\n this._days = +days + weeks * 7; // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n\n this._months = +months + quarters * 3 + years * 12;\n this._data = {};\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n } // compare two arrays, return the number of differences\n\n\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) {\n diffs++;\n }\n }\n\n return diffs + lengthDiff;\n } // FORMATTING\n\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~offset % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', ''); // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n }); // HELPERS\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n } // Return a moment from input, that is local/utc/zone equivalent to model.\n\n\n function cloneWithOffset(input, model) {\n var res, diff;\n\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); // Use low-level api, because this fn is low-level api.\n\n res._d.setTime(res._d.valueOf() + diff);\n\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n } // HOOKS\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n\n\n hooks.updateOffset = function () {}; // MOMENTS\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n\n\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n\n this._offset = input;\n this._isUTC = true;\n\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n\n input = input ? createLocal(input).utcOffset() : 0;\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n } // ASP.NET json date format regex\n\n\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if (match = aspNetRegex.exec(input)) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n\n };\n } else if (match = isoRegex.exec(input)) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign)\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (_typeof(duration) === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.')); // apply sign while we're at it\n\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n res.months = other.month() - base.month() + (other.year() - base.year()) * 12;\n\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n\n if (!(base.isValid() && other.isValid())) {\n return {\n milliseconds: 0,\n months: 0\n };\n }\n\n other = cloneWithOffset(other, base);\n\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n } // TODO: remove 'name' arg after deprecation is removed\n\n\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp; //invert the arguments, but complain about it\n\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n } // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n\n\n function isMomentInput(input) {\n return isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === undefined;\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = ['years', 'year', 'y', 'months', 'month', 'M', 'days', 'day', 'd', 'dates', 'date', 'D', 'hours', 'hour', 'h', 'minutes', 'minute', 'm', 'seconds', 'second', 's', 'milliseconds', 'millisecond', 'ms'],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n\n if (arrayTest) {\n dataTypeTest = input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = ['sameDay', 'nextDay', 'lastDay', 'nextWeek', 'lastWeek', 'sameElse'],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n } // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n\n\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n\n case 'month':\n output = monthDiff(this, that);\n break;\n\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n\n case 'second':\n output = (this - that) / 1e3;\n break;\n // 1000\n\n case 'minute':\n output = (this - that) / 6e4;\n break;\n // 1000 * 60\n\n case 'hour':\n output = (this - that) / 36e5;\n break;\n // 1000 * 60 * 60\n\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break;\n // 1000 * 60 * 60 * 24, negate dst\n\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break;\n // 1000 * 60 * 60 * 24 * 7, negate dst\n\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n } // difference in months\n\n\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); // linear across the month\n\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); // linear across the month\n\n adjust = (b - anchor) / (anchor2 - anchor);\n } //check for negative zero, return zero if negative zero\n\n\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n\n\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({\n to: this,\n from: time\n }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({\n from: this,\n to: time\n }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n } // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n\n\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n\n return this;\n }\n }\n\n var lang = deprecate('moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n });\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; // actual modulo - handles negative numbers (for dates before 1970):\n\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (_typeof(eras[i].since)) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (_typeof(eras[i].until)) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1; // truncate time\n\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until || eras[i].until <= val && val <= eras[i].since) {\n return (this.year() - hooks(eras[i].since).year()) * dir + eras[i].offset;\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp('^(' + narrowPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear'); // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG'); // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1); // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n }); // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n } // FORMATTING\n\n\n addFormatToken('Q', 0, 'Qo', 'quarter'); // ALIASES\n\n addUnitAlias('quarter', 'Q'); // PRIORITY\n\n addUnitPriority('quarter', 7); // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n }); // MOMENTS\n\n function getSetQuarter(input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n } // FORMATTING\n\n\n addFormatToken('D', ['DD', 2], 'Do', 'date'); // ALIASES\n\n addUnitAlias('date', 'D'); // PRIORITY\n\n addUnitPriority('date', 9); // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ? locale._dayOfMonthOrdinalParse || locale._ordinalParse : locale._dayOfMonthOrdinalParseLenient;\n });\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n }); // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true); // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD'); // PRIORITY\n\n addUnitPriority('dayOfYear', 4); // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n }); // HELPERS\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n } // FORMATTING\n\n\n addFormatToken('m', ['mm', 2], 0, 'minute'); // ALIASES\n\n addUnitAlias('minute', 'm'); // PRIORITY\n\n addUnitPriority('minute', 14); // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE); // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false); // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second'); // ALIASES\n\n addUnitAlias('second', 's'); // PRIORITY\n\n addUnitPriority('second', 15); // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND); // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false); // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n }); // ALIASES\n\n addUnitAlias('millisecond', 'ms'); // PRIORITY\n\n addUnitPriority('millisecond', 16); // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n var token, getSetMillisecond;\n\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false); // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName'); // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n\n return out;\n } // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n\n\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [{\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD'\n }, {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC'\n }],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = toInt(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n }); // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n return duration._bubble();\n } // supports only 2.0-style add(1, 's') or add(duration)\n\n\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n } // supports only 2.0-style subtract(1, 's') or subtract(duration)\n\n\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays; // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n\n if (!(milliseconds >= 0 && days >= 0 && months >= 0 || milliseconds <= 0 && days <= 0 && months <= 0)) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n } // The following code bubbles up values, see the tests for\n // examples of what that means.\n\n\n data.milliseconds = milliseconds % 1000;\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n days += absFloor(hours / 24); // convert days to months\n\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays)); // 12 months -> 1 year\n\n years = absFloor(months / 12);\n months %= 12;\n data.days = days;\n data.months = months;\n data.years = years;\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n\n var days,\n months,\n milliseconds = this._milliseconds;\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n\n switch (units) {\n case 'month':\n return months;\n\n case 'quarter':\n return months / 3;\n\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n\n case 'day':\n return days + milliseconds / 864e5;\n\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n } // TODO: Use this.as('ms')?\n\n\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n\n return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + toInt(this._months / 12) * 31536e6;\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44,\n // a few seconds to seconds\n s: 45,\n // seconds to minute\n m: 45,\n // minutes to hour\n h: 22,\n // hours to day\n d: 26,\n // days to month/week\n w: null,\n // weeks to month\n M: 11 // months to year\n\n }; // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a = seconds <= thresholds.ss && ['s', seconds] || seconds < thresholds.s && ['ss', seconds] || minutes <= 1 && ['m'] || minutes < thresholds.m && ['mm', minutes] || hours <= 1 && ['h'] || hours < thresholds.h && ['hh', hours] || days <= 1 && ['d'] || days < thresholds.d && ['dd', days];\n\n if (thresholds.w != null) {\n a = a || weeks <= 1 && ['w'] || weeks < thresholds.w && ['ww', weeks];\n }\n\n a = a || months <= 1 && ['M'] || months < thresholds.M && ['MM', months] || years <= 1 && ['y'] || ['yy', years];\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n } // This function allows you to set the rounding function for relative time strings\n\n\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n\n return false;\n } // This function allows you to set a threshold for relative time strings\n\n\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n\n if (limit === undefined) {\n return thresholds[threshold];\n }\n\n thresholds[threshold] = limit;\n\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (_typeof(argWithSuffix) === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n\n if (_typeof(argThresholds) === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n } // 3600 seconds -> 60 minutes -> 1 hour\n\n\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60; // 12 months -> 1 year\n\n years = absFloor(months / 12);\n months %= 12; // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n return totalSign + 'P' + (years ? ymSign + years + 'Y' : '') + (months ? ymSign + months + 'M' : '') + (days ? daysSign + days + 'D' : '') + (hours || minutes || seconds ? 'T' : '') + (hours ? hmsSign + hours + 'H' : '') + (minutes ? hmsSign + minutes + 'M' : '') + (seconds ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang; // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf'); // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n }); //! moment.js\n\n hooks.version = '2.29.1';\n setHookCallback(createLocal);\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto; // currently HTML5 input type only supports 24-hour formats\n\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',\n // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',\n // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',\n // \n DATE: 'YYYY-MM-DD',\n // \n TIME: 'HH:mm',\n // \n TIME_SECONDS: 'HH:mm:ss',\n // \n TIME_MS: 'HH:mm:ss.SSS',\n // \n WEEK: 'GGGG-[W]WW',\n // \n MONTH: 'YYYY-MM' // \n\n };\n return hooks;\n});","'use strict';\n\nexports.__esModule = true;\nexports.connect = exports.Provider = undefined;\n\nvar _Provider = require('./components/Provider');\n\nvar _Provider2 = _interopRequireDefault(_Provider);\n\nvar _connect = require('./components/connect');\n\nvar _connect2 = _interopRequireDefault(_connect);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nexports.Provider = _Provider2[\"default\"];\nexports.connect = _connect2[\"default\"];","/**\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 */\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is'); // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n\n\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}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.I18nextProvider = exports.Interpolate = exports.translate = exports.loadNamespaces = undefined;\n\nvar _translate = require('./translate');\n\nvar _translate2 = _interopRequireDefault(_translate);\n\nvar _interpolate = require('./interpolate');\n\nvar _interpolate2 = _interopRequireDefault(_interpolate);\n\nvar _I18nextProvider = require('./I18nextProvider');\n\nvar _I18nextProvider2 = _interopRequireDefault(_I18nextProvider);\n\nvar _loadNamespaces = require('./loadNamespaces');\n\nvar _loadNamespaces2 = _interopRequireDefault(_loadNamespaces);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.loadNamespaces = _loadNamespaces2.default;\nexports.translate = _translate2.default;\nexports.Interpolate = _interpolate2.default;\nexports.I18nextProvider = _I18nextProvider2.default;","import {getFetchConfig, postFetchConfig, parseJSON, checkStatus} from '../../common/fetchHelper'\n\nimport Promise from 'bluebird'\nif (!window.Promise) {\n window.Promise = Promise;\n}\n\nfunction fetchSuccess(orders) {\n return { type: 'FETCH_ORDERS_SUCCESS', data: orders }\n}\n\nfunction fetchFailure(errors) {\n return { type: 'FETCH_ORDERS_FAILURE', errors }\n}\n\nfunction placeOrdersRequest() {\n return { type: 'PLACE_ORDERS_REQUEST' }\n}\n\nfunction placeOrdersSuccess() {\n return { type: 'PLACE_ORDERS_SUCCESS' }\n}\n\nfunction placeOrdersFailure(error) {\n return { type: 'PLACE_ORDERS_FAILURE', error: error }\n}\n\nexport function update(order) {\n return { type: 'UPDATE_ORDER', data: order }\n}\n\nexport function changeRemarks(remarks) {\n return { type: 'CHANGE_REMARKS', remarks: remarks }\n}\n\nexport function filteredUpdate(order) {\n return (dispatch, getState) => {\n const location_ids = getState().app.locationIds;\n\n if (location_ids == []) {\n dispatch(update(order));\n } else if (location_ids.includes(order.location_id)) {\n dispatch(update(order));\n }\n }\n}\n\nexport function showDetails(id) {\n return { type: 'SHOW_ORDER_DETAILS', id: id }\n}\n\nexport function check(id) {\n return { type: 'CHECK_ORDER', id: id }\n}\n\nexport function setCancelReasons(hash) {\n return { type: 'SET_ORDER_CANCEL_REASONS', data: hash }\n}\n\nexport function setInfos(hash) {\n return { type: 'SET_ORDER_INFOS', data: hash }\n}\n\nexport function carrierTakeOrder(id) {\n return (dispatch, getState) => {\n let url = '/api/v1/carrier/orders/pick_up.json';\n\n let parameters = postFetchConfig\n parameters['body'] = JSON.stringify({ids: [id]})\n\n return fetch(url, parameters)\n .then((res) => {\n return res;\n })\n .catch((error) => {\n return;\n });\n }\n}\n\nexport function carrierDeliverOrder(id) {\n return (dispatch, getState) => {\n let url = '/api/v1/carrier/orders/deliver.json';\n\n let parameters = postFetchConfig\n parameters['body'] = JSON.stringify({ids: [id]})\n\n return fetch(url, parameters)\n .then((res) => {\n dispatch(showDetails(null));\n return res;\n })\n .catch((error) => {\n return;\n });\n }\n}\n\nexport function carrierCancelOrder(id, reason = null) {\n return (dispatch, getState) => {\n let url = '/api/v1/carrier/orders/cancel.json';\n\n let parameters = postFetchConfig\n parameters['body'] = JSON.stringify({\n ids: [id],\n reason: reason\n })\n\n return fetch(url, parameters)\n .then((res) => {\n dispatch(showDetails(null));\n return res;\n })\n .catch((error) => {\n return;\n });\n }\n}\n\nexport function operatorCancelOrder(id, reason = null) {\n return (dispatch, getState) => {\n let url = '/api/v1/operator/orders/' + id + '/cancel.json';\n\n let parameters = postFetchConfig;\n parameters['body'] = JSON.stringify({\n reason: reason\n });\n\n return fetch(url, parameters)\n .then((res) => {\n dispatch(showDetails(null));\n dispatch(operatorFetch());\n return res;\n })\n .catch((error) => {\n dispatch(fetchFailure(error.res.body.errors));\n return error;\n })\n }\n}\n\nexport function operatorReturnOrder(id, quantity) {\n return (dispatch, getState) => {\n let url = '/api/v1/operator/orders/' + id + '/return_quantity.json';\n\n let parameters = postFetchConfig\n parameters['body'] = JSON.stringify({\n quantity: quantity\n })\n\n return fetch(url, parameters)\n .then((res) => {\n res.json().then((order) => dispatch(update(order)));\n })\n .catch((error) => {\n return;\n });\n }\n}\n\nexport function operatorConfirmDelivery(id) {\n return (dispatch, getState) => {\n let url = '/api/v1/operator/orders/' + id + '/confirm_delivery.json';\n \n return fetch(url, postFetchConfig)\n .then((res) => {\n res.json().then((order) => dispatch(update(order)));\n return;\n })\n .catch((error) => {\n return;\n });\n }\n}\n\nexport function carrierInformOrder(id, info = null) {\n return (dispatch, getState) => {\n let url = '/api/v1/carrier/orders/inform.json';\n\n let parameters = postFetchConfig\n parameters['body'] = JSON.stringify({\n ids: [id],\n info: info\n })\n\n return fetch(url, parameters)\n .then((res) => {\n dispatch(showDetails(null));\n return;\n })\n .catch((error) => {\n return;\n });\n }\n}\n\nexport function operatorFetch(search = '') {\n return (dispatch, getState) => {\n let url = '/api/v1/operator/orders.json'\n\n if (search != '') {\n url = url + '?search=' + encodeURIComponent(search);\n }\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((data) => {\n dispatch(fetchSuccess(data));\n return data;\n })\n .catch((error) => {\n dispatch(fetchFailure(error))\n return;\n });\n }\n}\n\nexport function carrierFetch(search = '') {\n return (dispatch, getState) => {\n let url = '/api/v1/carrier/orders.json'\n\n if (search != '') {\n url = url + '?search=' + encodeURIComponent(search);\n }\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((data) => {\n dispatch(fetchSuccess(data));\n return data;\n })\n .catch((error) => {\n dispatch(fetchFailure(error));\n throw error;\n })\n }\n}\n\nexport function qualityFetch(search = '') {\n return (dispatch, getState) => {\n let url = '/api/v1/quality/orders.json'\n\n if (search != '') {\n url = url + '?search=' + encodeURIComponent(search);\n }\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((data) => {\n dispatch(fetchSuccess(data));\n return data;\n })\n .catch((error) => {\n dispatch(fetchFailure(error));\n throw error;\n })\n }\n}\n\nexport function operatorReorder(id) {\n return (dispatch, getState) => {\n\n let url = '/api/v1/operator/orders/' + id + '/reorder.json';\n let CSRFToken = getState().app.CSRFToken;\n\n return fetch(url, postFetchConfig)\n .then((data) => {\n dispatch(showDetails(null));\n return data;\n })\n .catch((error) => {\n dispatch(fetchFailure(error));\n return;\n });\n }\n}\n\nexport function operatorPlaceOrder(supplies, spot_id, direction = 'reception', remarks = '') {\n return (dispatch, getState) => {\n let location_id = getState().locations.selectedId;\n let plant_id = getState().app.plant_id;\n let CSRFToken = getState().app.CSRFToken;\n\n dispatch(placeOrdersRequest());\n\n Promise.map(supplies, (supply) => {\n let supply_id = supply.id;\n let quantity = supply.count;\n return operatorPushOrder(location_id, direction, spot_id, supply_id, plant_id, quantity, CSRFToken, remarks);\n }).then(() => {\n dispatch(placeOrdersSuccess());\n }).catch((error) => {\n dispatch(placeOrdersFailure(error));\n })\n }\n}\n\nfunction operatorPushOrder(location_id, direction, spot_id, supply_id, plant_id, quantity, CSRFToken, remarks) {\n const url = '/api/v1/operator/orders.json'\n\n let parameters = postFetchConfig\n parameters['body'] = JSON.stringify({\n 'order': {\n location_id: location_id,\n spot_id: spot_id,\n supply_id: supply_id,\n plant_id: plant_id,\n quantity: quantity,\n direction: direction,\n remarks: remarks\n }\n })\n\n return fetch(url, parameters)\n .then(checkStatus)\n .then(parseJSON)\n .then((data) => {\n return data;\n })\n .catch((error) => {\n return;\n });\n}\nexport function operatorPushSpecialOrder(special_order_id, location_id, spot_id) {\n return (dispatch, getState) => {\n const url = '/api/v1/operator/orders/place_special.json'\n const CSRFToken = getState().app.CSRFToken;\n\n let parameters = postFetchConfig\n parameters['body'] = JSON.stringify({\n 'special_order': {\n location_id: location_id,\n spot_id: spot_id,\n special_order_id: special_order_id\n }\n })\n\n return fetch(url, parameters)\n .then((data) => {\n return data;\n })\n .catch((error) => {\n return;\n });\n }\n}\n\nexport function qualityAcceptOrder(id) {\n return (dispatch, getState) => {\n let url = '/api/v1/quality/orders/accept.json';\n\n let parameters = postFetchConfig\n parameters['body'] = JSON.stringify({ids: [id]})\n\n return fetch(url, parameters)\n .then((res) => {\n dispatch(showDetails(null));\n return;\n })\n .catch((error) => {\n return;\n });\n }\n}\n\nexport function qualityRejectOrder(id) {\n return (dispatch, getState) => {\n let url = '/api/v1/quality/orders/reject.json';\n\n let parameters = postFetchConfig\n parameters['body'] = JSON.stringify({ids: [id]})\n\n return fetch(url, parameters)\n .then((res) => {\n dispatch(showDetails(null));\n return;\n })\n .catch((error) => {\n return;\n });\n }\n}\n","export let getFetchConfig = {\n method: 'GET',\n credentials: 'same-origin',\n cache: 'default',\n headers: {\n 'X-CSRF-Token': document.getElementsByName('csrf-token')[0].content\n }\n}\n\nexport let postFetchConfig = {\n method: 'POST',\n credentials: 'same-origin',\n cache: 'default',\n headers: {\n 'Content-Type': 'application/json',\n 'X-CSRF-Token': document.getElementsByName('csrf-token')[0].content\n }\n}\n\nexport let patchFetchConfig = {\n method: 'PATCH',\n credentials: 'same-origin',\n cache: 'default',\n headers: {\n 'Content-Type': 'application/json',\n 'X-CSRF-Token': document.getElementsByName('csrf-token')[0].content\n }\n}\n\nexport let deleteFetchConfig = {\n method: 'DELETE',\n credentials: 'same-origin',\n cache: 'default',\n headers: {\n 'Content-Type': 'application/json',\n 'X-CSRF-Token': document.getElementsByName('csrf-token')[0].content\n }\n}\n\nexport function parseJSON(response) {\n return response.json()\n}\n\nexport function checkStatus(response) {\n if (response.status >= 200 && response.status < 300) {\n return response\n } else {\n\n if (response.status == 422) {\n response.json().then(object => {\n new Flash(\n object.errors.join(', '),\n 'alert'\n );\n })\n }\n\n var error = new Error(response.statusText)\n error.response = response\n throw error\n }\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/**\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\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\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 args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n\n throw error;\n }\n}\n\nmodule.exports = invariant;","export function setCSRFToken(token) {\n return { type: 'SET_APP_CSRF_TOKEN', CSRFToken: token };\n}\n\nexport function setCurrentView(view) {\n return { type: 'SET_CURRENT_VIEW', data: view };\n}\n\nexport function setCurrentPlant(id) {\n return { type: 'SET_CURRENT_PLANT', data: id };\n}\n\nexport function setCurrentUser(id) {\n return { type: 'SET_CURRENT_USER', data: id };\n}\n\nexport function setLanguage(lang) {\n return { type: 'SET_LANGUAGE', data: lang };\n}\n\nexport function setUserName(name) {\n return { type: 'SET_USER_NAME', data: name };\n}\n\nexport function setUser(user) {\n return { type: 'SET_USER', data: user };\n}\n\nexport function setAvailableLocales(langs) {\n return { type: 'SET_AVAILABLE_LOCALES', data: langs };\n}\n\nexport function setUserLocations(locations) {\n return { type: 'SET_USER_LOCATIONS', data: locations };\n}\n\nexport function setDisplayName(name) {\n return { type: 'SET_DISPLAY_NAME', data: name };\n}\n\nexport function setTheme(name) {\n return { type: 'SET_THEME', data: name };\n}\n","import React from 'react';\n\nexport default (props) => {\n let {\n color = 'default',\n size = 'default',\n block = false,\n active = false,\n disabled = false,\n children,\n className,\n ...other\n } = props;\n\n let classNames = [\"btn\"];\n if (props.className)\n classNames = [props.className];\n classNames.push(`btn-${color}`);\n if (size != 'default')\n classNames.push(`btn-${size}`);\n if (block)\n classNames.push(`btn-block`);\n if (active)\n classNames.push(`btn-active`);\n\n return (\n \n { children }\n \n )\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\nimport freeGlobal from './_freeGlobal.js';\n/** Detect free variable `self`. */\n\nvar freeSelf = (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\nexport default root;","import root from './_root.js';\n/** Built-in value references. */\n\nvar _Symbol = root.Symbol;\nexport default _Symbol;","import _Symbol from './_Symbol.js';\n/** Used for built-in method references. */\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\n/** Built-in value references. */\n\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\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 */\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\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n\n return result;\n}\n\nexport default getRawTag;","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\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 */\n\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;","import _Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n/** `Object#toString` result references. */\n\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n/** Built-in value references. */\n\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\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 */\n\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nexport default baseGetTag;","/**\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\nexport default overArg;","import overArg from './_overArg.js';\n/** Built-in value references. */\n\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\nexport default getPrototype;","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\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\nexport default isObjectLike;","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n/** `Object#toString` result references. */\n\nvar objectTag = '[object Object]';\n/** Used for built-in method references. */\n\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n/** Used to resolve the decompiled source of functions. */\n\nvar funcToString = funcProto.toString;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/** Used to infer the `Object` constructor. */\n\nvar objectCtorString = funcToString.call(Object);\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 */\n\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n\n var proto = getPrototype(value);\n\n if (proto === null) {\n return true;\n }\n\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;","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\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\n\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\n};\nexport default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({\n type: ActionTypes.INIT\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (_typeof(observer) !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}","import { ActionTypes } from './createStore';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './utils/warning';\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n\n if (typeof reducer(undefined, {\n type: type\n }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers);\n var unexpectedKeyCache = void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n return hasChanged ? nextState : state;\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 bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nexport default function bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (_typeof(actionCreators) !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : _typeof(actionCreators)) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nimport compose from './compose';\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nexport default function applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, preloadedState, enhancer) {\n var store = createStore(reducer, preloadedState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(undefined, chain)(store.dispatch);\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\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 */\n'use strict';\n/**\n * WARNING: DO NOT manually require this module.\n * This is a replacement for `invariant(...)` used by the error code system\n * and will _only_ be required by the corresponding babel pass.\n * It always throws.\n */\n\nfunction reactProdInvariant(code) {\n var argCount = arguments.length - 1;\n var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;\n\n for (var argIdx = 0; argIdx < argCount; argIdx++) {\n message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);\n }\n\n message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';\n var error = new Error(message);\n error.name = 'Invariant Violation';\n error.framesToPop = 1; // we don't care about reactProdInvariant's own frame\n\n throw error;\n}\n\nmodule.exports = reactProdInvariant;","/**\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'use strict';\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\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function invariant(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\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 args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own 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\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = 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\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;","import invariant from 'invariant';\n\nfunction escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nfunction _compilePattern(pattern) {\n var regexpSource = '';\n var paramNames = [];\n var tokens = [];\n var match = void 0,\n lastIndex = 0,\n matcher = /:([a-zA-Z_$][a-zA-Z0-9_$]*)|\\*\\*|\\*|\\(|\\)|\\\\\\(|\\\\\\)/g;\n\n while (match = matcher.exec(pattern)) {\n if (match.index !== lastIndex) {\n tokens.push(pattern.slice(lastIndex, match.index));\n regexpSource += escapeRegExp(pattern.slice(lastIndex, match.index));\n }\n\n if (match[1]) {\n regexpSource += '([^/]+)';\n paramNames.push(match[1]);\n } else if (match[0] === '**') {\n regexpSource += '(.*)';\n paramNames.push('splat');\n } else if (match[0] === '*') {\n regexpSource += '(.*?)';\n paramNames.push('splat');\n } else if (match[0] === '(') {\n regexpSource += '(?:';\n } else if (match[0] === ')') {\n regexpSource += ')?';\n } else if (match[0] === '\\\\(') {\n regexpSource += '\\\\(';\n } else if (match[0] === '\\\\)') {\n regexpSource += '\\\\)';\n }\n\n tokens.push(match[0]);\n lastIndex = matcher.lastIndex;\n }\n\n if (lastIndex !== pattern.length) {\n tokens.push(pattern.slice(lastIndex, pattern.length));\n regexpSource += escapeRegExp(pattern.slice(lastIndex, pattern.length));\n }\n\n return {\n pattern: pattern,\n regexpSource: regexpSource,\n paramNames: paramNames,\n tokens: tokens\n };\n}\n\nvar CompiledPatternsCache = Object.create(null);\nexport function compilePattern(pattern) {\n if (!CompiledPatternsCache[pattern]) CompiledPatternsCache[pattern] = _compilePattern(pattern);\n return CompiledPatternsCache[pattern];\n}\n/**\n * Attempts to match a pattern on the given pathname. Patterns may use\n * the following special characters:\n *\n * - :paramName Matches a URL segment up to the next /, ?, or #. The\n * captured string is considered a \"param\"\n * - () Wraps a segment of the URL that is optional\n * - * Consumes (non-greedy) all characters up to the next\n * character in the pattern, or to the end of the URL if\n * there is none\n * - ** Consumes (greedy) all characters up to the next character\n * in the pattern, or to the end of the URL if there is none\n *\n * The function calls callback(error, matched) when finished.\n * The return value is an object with the following properties:\n *\n * - remainingPathname\n * - paramNames\n * - paramValues\n */\n\nexport function matchPattern(pattern, pathname) {\n // Ensure pattern starts with leading slash for consistency with pathname.\n if (pattern.charAt(0) !== '/') {\n pattern = '/' + pattern;\n }\n\n var _compilePattern2 = compilePattern(pattern),\n regexpSource = _compilePattern2.regexpSource,\n paramNames = _compilePattern2.paramNames,\n tokens = _compilePattern2.tokens;\n\n if (pattern.charAt(pattern.length - 1) !== '/') {\n regexpSource += '/?'; // Allow optional path separator at end.\n } // Special-case patterns like '*' for catch-all routes.\n\n\n if (tokens[tokens.length - 1] === '*') {\n regexpSource += '$';\n }\n\n var match = pathname.match(new RegExp('^' + regexpSource, 'i'));\n\n if (match == null) {\n return null;\n }\n\n var matchedPath = match[0];\n var remainingPathname = pathname.substr(matchedPath.length);\n\n if (remainingPathname) {\n // Require that the match ends at a path separator, if we didn't match\n // the full path, so any remaining pathname is a new path segment.\n if (matchedPath.charAt(matchedPath.length - 1) !== '/') {\n return null;\n } // If there is a remaining pathname, treat the path separator as part of\n // the remaining pathname for properly continuing the match.\n\n\n remainingPathname = '/' + remainingPathname;\n }\n\n return {\n remainingPathname: remainingPathname,\n paramNames: paramNames,\n paramValues: match.slice(1).map(function (v) {\n return v && decodeURIComponent(v);\n })\n };\n}\nexport function getParamNames(pattern) {\n return compilePattern(pattern).paramNames;\n}\nexport function getParams(pattern, pathname) {\n var match = matchPattern(pattern, pathname);\n\n if (!match) {\n return null;\n }\n\n var paramNames = match.paramNames,\n paramValues = match.paramValues;\n var params = {};\n paramNames.forEach(function (paramName, index) {\n params[paramName] = paramValues[index];\n });\n return params;\n}\n/**\n * Returns a version of the given pattern with params interpolated. Throws\n * if there is a dynamic segment of the pattern for which there is no param.\n */\n\nexport function formatPattern(pattern, params) {\n params = params || {};\n\n var _compilePattern3 = compilePattern(pattern),\n tokens = _compilePattern3.tokens;\n\n var parenCount = 0,\n pathname = '',\n splatIndex = 0,\n parenHistory = [];\n var token = void 0,\n paramName = void 0,\n paramValue = void 0;\n\n for (var i = 0, len = tokens.length; i < len; ++i) {\n token = tokens[i];\n\n if (token === '*' || token === '**') {\n paramValue = Array.isArray(params.splat) ? params.splat[splatIndex++] : params.splat;\n !(paramValue != null || parenCount > 0) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing splat #%s for path \"%s\"', splatIndex, pattern) : invariant(false) : void 0;\n if (paramValue != null) pathname += encodeURI(paramValue);\n } else if (token === '(') {\n parenHistory[parenCount] = '';\n parenCount += 1;\n } else if (token === ')') {\n var parenText = parenHistory.pop();\n parenCount -= 1;\n if (parenCount) parenHistory[parenCount - 1] += parenText;else pathname += parenText;\n } else if (token === '\\\\(') {\n pathname += '(';\n } else if (token === '\\\\)') {\n pathname += ')';\n } else if (token.charAt(0) === ':') {\n paramName = token.substring(1);\n paramValue = params[paramName];\n !(paramValue != null || parenCount > 0) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing \"%s\" parameter for path \"%s\"', paramName, pattern) : invariant(false) : void 0;\n\n if (paramValue == null) {\n if (parenCount) {\n parenHistory[parenCount - 1] = '';\n var curTokenIdx = tokens.indexOf(token);\n var tokensSubset = tokens.slice(curTokenIdx, tokens.length);\n var nextParenIdx = -1;\n\n for (var _i = 0; _i < tokensSubset.length; _i++) {\n if (tokensSubset[_i] == ')') {\n nextParenIdx = _i;\n break;\n }\n }\n\n !(nextParenIdx > 0) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Path \"%s\" is missing end paren at segment \"%s\"', pattern, tokensSubset.join('')) : invariant(false) : void 0; // jump to ending paren\n\n i = curTokenIdx + nextParenIdx - 1;\n }\n } else if (parenCount) parenHistory[parenCount - 1] += encodeURIComponent(paramValue);else pathname += encodeURIComponent(paramValue);\n } else {\n if (parenCount) parenHistory[parenCount - 1] += token;else pathname += token;\n }\n }\n\n !(parenCount <= 0) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Path \"%s\" is missing end paren', pattern) : invariant(false) : void 0;\n return pathname.replace(/\\/+/g, '/');\n}","import { getParamNames } from './PatternUtils';\n\nfunction routeParamsChanged(route, prevState, nextState) {\n if (!route.path) return false;\n var paramNames = getParamNames(route.path);\n return paramNames.some(function (paramName) {\n return prevState.params[paramName] !== nextState.params[paramName];\n });\n}\n/**\n * Returns an object of { leaveRoutes, changeRoutes, enterRoutes } determined by\n * the change from prevState to nextState. We leave routes if either\n * 1) they are not in the next state or 2) they are in the next state\n * but their params have changed (i.e. /users/123 => /users/456).\n *\n * leaveRoutes are ordered starting at the leaf route of the tree\n * we're leaving up to the common parent route. enterRoutes are ordered\n * from the top of the tree we're entering down to the leaf route.\n *\n * changeRoutes are any routes that didn't leave or enter during\n * the transition.\n */\n\n\nfunction computeChangedRoutes(prevState, nextState) {\n var prevRoutes = prevState && prevState.routes;\n var nextRoutes = nextState.routes;\n var leaveRoutes = void 0,\n changeRoutes = void 0,\n enterRoutes = void 0;\n\n if (prevRoutes) {\n var parentIsLeaving = false;\n leaveRoutes = prevRoutes.filter(function (route) {\n if (parentIsLeaving) {\n return true;\n } else {\n var isLeaving = nextRoutes.indexOf(route) === -1 || routeParamsChanged(route, prevState, nextState);\n if (isLeaving) parentIsLeaving = true;\n return isLeaving;\n }\n }); // onLeave hooks start at the leaf route.\n\n leaveRoutes.reverse();\n enterRoutes = [];\n changeRoutes = [];\n nextRoutes.forEach(function (route) {\n var isNew = prevRoutes.indexOf(route) === -1;\n var paramsChanged = leaveRoutes.indexOf(route) !== -1;\n if (isNew || paramsChanged) enterRoutes.push(route);else changeRoutes.push(route);\n });\n } else {\n leaveRoutes = [];\n changeRoutes = [];\n enterRoutes = nextRoutes;\n }\n\n return {\n leaveRoutes: leaveRoutes,\n changeRoutes: changeRoutes,\n enterRoutes: enterRoutes\n };\n}\n\nexport default computeChangedRoutes;","export function loopAsync(turns, work, callback) {\n var currentTurn = 0,\n isDone = false;\n var sync = false,\n hasNext = false,\n doneArgs = void 0;\n\n function done() {\n isDone = true;\n\n if (sync) {\n // Iterate instead of recursing if possible.\n doneArgs = [].concat(Array.prototype.slice.call(arguments));\n return;\n }\n\n callback.apply(this, arguments);\n }\n\n function next() {\n if (isDone) {\n return;\n }\n\n hasNext = true;\n\n if (sync) {\n // Iterate instead of recursing if possible.\n return;\n }\n\n sync = true;\n\n while (!isDone && currentTurn < turns && hasNext) {\n hasNext = false;\n work.call(this, currentTurn++, next, done);\n }\n\n sync = false;\n\n if (isDone) {\n // This means the loop finished synchronously.\n callback.apply(this, doneArgs);\n return;\n }\n\n if (currentTurn >= turns && hasNext) {\n isDone = true;\n callback();\n }\n }\n\n next();\n}\nexport function mapAsync(array, work, callback) {\n var length = array.length;\n var values = [];\n if (length === 0) return callback(null, values);\n var isDone = false,\n doneCount = 0;\n\n function done(index, error, value) {\n if (isDone) return;\n\n if (error) {\n isDone = true;\n callback(error);\n } else {\n values[index] = value;\n isDone = ++doneCount === length;\n if (isDone) callback(null, values);\n }\n }\n\n array.forEach(function (item, index) {\n work(item, index, function (error, value) {\n done(index, error, value);\n });\n });\n}","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nimport { loopAsync } from './AsyncUtils';\n\nvar PendingHooks = function PendingHooks() {\n var _this = this;\n\n _classCallCheck(this, PendingHooks);\n\n this.hooks = [];\n\n this.add = function (hook) {\n return _this.hooks.push(hook);\n };\n\n this.remove = function (hook) {\n return _this.hooks = _this.hooks.filter(function (h) {\n return h !== hook;\n });\n };\n\n this.has = function (hook) {\n return _this.hooks.indexOf(hook) !== -1;\n };\n\n this.clear = function () {\n return _this.hooks = [];\n };\n};\n\nexport default function getTransitionUtils() {\n var enterHooks = new PendingHooks();\n var changeHooks = new PendingHooks();\n\n function createTransitionHook(hook, route, asyncArity, pendingHooks) {\n var isSync = hook.length < asyncArity;\n\n var transitionHook = function transitionHook() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n hook.apply(route, args);\n\n if (isSync) {\n var callback = args[args.length - 1]; // Assume hook executes synchronously and\n // automatically call the callback.\n\n callback();\n }\n };\n\n pendingHooks.add(transitionHook);\n return transitionHook;\n }\n\n function getEnterHooks(routes) {\n return routes.reduce(function (hooks, route) {\n if (route.onEnter) hooks.push(createTransitionHook(route.onEnter, route, 3, enterHooks));\n return hooks;\n }, []);\n }\n\n function getChangeHooks(routes) {\n return routes.reduce(function (hooks, route) {\n if (route.onChange) hooks.push(createTransitionHook(route.onChange, route, 4, changeHooks));\n return hooks;\n }, []);\n }\n\n function runTransitionHooks(length, iter, callback) {\n if (!length) {\n callback();\n return;\n }\n\n var redirectInfo = void 0;\n\n function replace(location) {\n redirectInfo = location;\n }\n\n loopAsync(length, function (index, next, done) {\n iter(index, replace, function (error) {\n if (error || redirectInfo) {\n done(error, redirectInfo); // No need to continue.\n } else {\n next();\n }\n });\n }, callback);\n }\n /**\n * Runs all onEnter hooks in the given array of routes in order\n * with onEnter(nextState, replace, callback) and calls\n * callback(error, redirectInfo) when finished. The first hook\n * to use replace short-circuits the loop.\n *\n * If a hook needs to run asynchronously, it may use the callback\n * function. However, doing so will cause the transition to pause,\n * which could lead to a non-responsive UI if the hook is slow.\n */\n\n\n function runEnterHooks(routes, nextState, callback) {\n enterHooks.clear();\n var hooks = getEnterHooks(routes);\n return runTransitionHooks(hooks.length, function (index, replace, next) {\n var wrappedNext = function wrappedNext() {\n if (enterHooks.has(hooks[index])) {\n next.apply(undefined, arguments);\n enterHooks.remove(hooks[index]);\n }\n };\n\n hooks[index](nextState, replace, wrappedNext);\n }, callback);\n }\n /**\n * Runs all onChange hooks in the given array of routes in order\n * with onChange(prevState, nextState, replace, callback) and calls\n * callback(error, redirectInfo) when finished. The first hook\n * to use replace short-circuits the loop.\n *\n * If a hook needs to run asynchronously, it may use the callback\n * function. However, doing so will cause the transition to pause,\n * which could lead to a non-responsive UI if the hook is slow.\n */\n\n\n function runChangeHooks(routes, state, nextState, callback) {\n changeHooks.clear();\n var hooks = getChangeHooks(routes);\n return runTransitionHooks(hooks.length, function (index, replace, next) {\n var wrappedNext = function wrappedNext() {\n if (changeHooks.has(hooks[index])) {\n next.apply(undefined, arguments);\n changeHooks.remove(hooks[index]);\n }\n };\n\n hooks[index](state, nextState, replace, wrappedNext);\n }, callback);\n }\n /**\n * Runs all onLeave hooks in the given array of routes in order.\n */\n\n\n function runLeaveHooks(routes, prevState) {\n for (var i = 0, len = routes.length; i < len; ++i) {\n if (routes[i].onLeave) routes[i].onLeave.call(routes[i], prevState);\n }\n }\n\n return {\n runEnterHooks: runEnterHooks,\n runChangeHooks: runChangeHooks,\n runLeaveHooks: runLeaveHooks\n };\n}","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n\nimport { matchPattern } from './PatternUtils';\n\nfunction deepEqual(a, b) {\n if (a == b) return true;\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return deepEqual(item, b[index]);\n });\n }\n\n if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) === 'object') {\n for (var p in a) {\n if (!Object.prototype.hasOwnProperty.call(a, p)) {\n continue;\n }\n\n if (a[p] === undefined) {\n if (b[p] !== undefined) {\n return false;\n }\n } else if (!Object.prototype.hasOwnProperty.call(b, p)) {\n return false;\n } else if (!deepEqual(a[p], b[p])) {\n return false;\n }\n }\n\n return true;\n }\n\n return String(a) === String(b);\n}\n/**\n * Returns true if the current pathname matches the supplied one, net of\n * leading and trailing slash normalization. This is sufficient for an\n * indexOnly route match.\n */\n\n\nfunction pathIsActive(pathname, currentPathname) {\n // Normalize leading slash for consistency. Leading slash on pathname has\n // already been normalized in isActive. See caveat there.\n if (currentPathname.charAt(0) !== '/') {\n currentPathname = '/' + currentPathname;\n } // Normalize the end of both path names too. Maybe `/foo/` shouldn't show\n // `/foo` as active, but in this case, we would already have failed the\n // match.\n\n\n if (pathname.charAt(pathname.length - 1) !== '/') {\n pathname += '/';\n }\n\n if (currentPathname.charAt(currentPathname.length - 1) !== '/') {\n currentPathname += '/';\n }\n\n return currentPathname === pathname;\n}\n/**\n * Returns true if the given pathname matches the active routes and params.\n */\n\n\nfunction routeIsActive(pathname, routes, params) {\n var remainingPathname = pathname,\n paramNames = [],\n paramValues = []; // for...of would work here but it's probably slower post-transpilation.\n\n for (var i = 0, len = routes.length; i < len; ++i) {\n var route = routes[i];\n var pattern = route.path || '';\n\n if (pattern.charAt(0) === '/') {\n remainingPathname = pathname;\n paramNames = [];\n paramValues = [];\n }\n\n if (remainingPathname !== null && pattern) {\n var matched = matchPattern(pattern, remainingPathname);\n\n if (matched) {\n remainingPathname = matched.remainingPathname;\n paramNames = [].concat(paramNames, matched.paramNames);\n paramValues = [].concat(paramValues, matched.paramValues);\n } else {\n remainingPathname = null;\n }\n\n if (remainingPathname === '') {\n // We have an exact match on the route. Just check that all the params\n // match.\n // FIXME: This doesn't work on repeated params.\n return paramNames.every(function (paramName, index) {\n return String(paramValues[index]) === String(params[paramName]);\n });\n }\n }\n }\n\n return false;\n}\n/**\n * Returns true if all key/value pairs in the given query are\n * currently active.\n */\n\n\nfunction queryIsActive(query, activeQuery) {\n if (activeQuery == null) return query == null;\n if (query == null) return true;\n return deepEqual(query, activeQuery);\n}\n/**\n * Returns true if a to the given pathname/query combination is\n * currently active.\n */\n\n\nexport default function isActive(_ref, indexOnly, currentLocation, routes, params) {\n var pathname = _ref.pathname,\n query = _ref.query;\n if (currentLocation == null) return false; // TODO: This is a bit ugly. It keeps around support for treating pathnames\n // without preceding slashes as absolute paths, but possibly also works\n // around the same quirks with basenames as in matchRoutes.\n\n if (pathname.charAt(0) !== '/') {\n pathname = '/' + pathname;\n }\n\n if (!pathIsActive(pathname, currentLocation.pathname)) {\n // The path check is necessary and sufficient for indexOnly, but otherwise\n // we still need to check the routes.\n if (indexOnly || !routeIsActive(pathname, routes, params)) {\n return false;\n }\n }\n\n return queryIsActive(query, currentLocation.query);\n}","export function isPromise(obj) {\n return obj && typeof obj.then === 'function';\n}","import { mapAsync } from './AsyncUtils';\nimport { isPromise } from './PromiseUtils';\n\nfunction getComponentsForRoute(nextState, route, callback) {\n if (route.component || route.components) {\n callback(null, route.component || route.components);\n return;\n }\n\n var getComponent = route.getComponent || route.getComponents;\n\n if (getComponent) {\n var componentReturn = getComponent.call(route, nextState, callback);\n if (isPromise(componentReturn)) componentReturn.then(function (component) {\n return callback(null, component);\n }, callback);\n } else {\n callback();\n }\n}\n/**\n * Asynchronously fetches all components needed for the given router\n * state and calls callback(error, components) when finished.\n *\n * Note: This operation may finish synchronously if no routes have an\n * asynchronous getComponents method.\n */\n\n\nfunction getComponents(nextState, callback) {\n mapAsync(nextState.routes, function (route, index, callback) {\n getComponentsForRoute(nextState, route, callback);\n }, callback);\n}\n\nexport default getComponents;","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nimport React from 'react';\n\nfunction isValidChild(object) {\n return object == null || /*#__PURE__*/React.isValidElement(object);\n}\n\nexport function isReactChildren(object) {\n return isValidChild(object) || Array.isArray(object) && object.every(isValidChild);\n}\n\nfunction createRoute(defaultProps, props) {\n return _extends({}, defaultProps, props);\n}\n\nexport function createRouteFromReactElement(element) {\n var type = element.type;\n var route = createRoute(type.defaultProps, element.props);\n\n if (route.children) {\n var childRoutes = createRoutesFromReactChildren(route.children, route);\n if (childRoutes.length) route.childRoutes = childRoutes;\n delete route.children;\n }\n\n return route;\n}\n/**\n * Creates and returns a routes object from the given ReactChildren. JSX\n * provides a convenient way to visualize how routes in the hierarchy are\n * nested.\n *\n * import { Route, createRoutesFromReactChildren } from 'react-router'\n *\n * const routes = createRoutesFromReactChildren(\n * \n * \n * \n * \n * )\n *\n * Note: This method is automatically used when you provide children\n * to a component.\n */\n\nexport function createRoutesFromReactChildren(children, parentRoute) {\n var routes = [];\n React.Children.forEach(children, function (element) {\n if ( /*#__PURE__*/React.isValidElement(element)) {\n // Component classes may have a static create* method.\n if (element.type.createRouteFromReactElement) {\n var route = element.type.createRouteFromReactElement(element, parentRoute);\n if (route) routes.push(route);\n } else {\n routes.push(createRouteFromReactElement(element));\n }\n }\n });\n return routes;\n}\n/**\n * Creates and returns an array of routes from the given object which\n * may be a JSX route, a plain object route, or an array of either.\n */\n\nexport function createRoutes(routes) {\n if (isReactChildren(routes)) {\n routes = createRoutesFromReactChildren(routes);\n } else if (routes && !Array.isArray(routes)) {\n routes = [routes];\n }\n\n return routes;\n}","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nimport { loopAsync } from './AsyncUtils';\nimport { isPromise } from './PromiseUtils';\nimport { matchPattern } from './PatternUtils';\nimport warning from './routerWarning';\nimport { createRoutes } from './RouteUtils';\n\nfunction getChildRoutes(route, location, paramNames, paramValues, callback) {\n if (route.childRoutes) {\n return [null, route.childRoutes];\n }\n\n if (!route.getChildRoutes) {\n return [];\n }\n\n var sync = true,\n result = void 0;\n var partialNextState = {\n location: location,\n params: createParams(paramNames, paramValues)\n };\n var childRoutesReturn = route.getChildRoutes(partialNextState, function (error, childRoutes) {\n childRoutes = !error && createRoutes(childRoutes);\n\n if (sync) {\n result = [error, childRoutes];\n return;\n }\n\n callback(error, childRoutes);\n });\n if (isPromise(childRoutesReturn)) childRoutesReturn.then(function (childRoutes) {\n return callback(null, createRoutes(childRoutes));\n }, callback);\n sync = false;\n return result; // Might be undefined.\n}\n\nfunction getIndexRoute(route, location, paramNames, paramValues, callback) {\n if (route.indexRoute) {\n callback(null, route.indexRoute);\n } else if (route.getIndexRoute) {\n var partialNextState = {\n location: location,\n params: createParams(paramNames, paramValues)\n };\n var indexRoutesReturn = route.getIndexRoute(partialNextState, function (error, indexRoute) {\n callback(error, !error && createRoutes(indexRoute)[0]);\n });\n if (isPromise(indexRoutesReturn)) indexRoutesReturn.then(function (indexRoute) {\n return callback(null, createRoutes(indexRoute)[0]);\n }, callback);\n } else if (route.childRoutes || route.getChildRoutes) {\n var onChildRoutes = function onChildRoutes(error, childRoutes) {\n if (error) {\n callback(error);\n return;\n }\n\n var pathless = childRoutes.filter(function (childRoute) {\n return !childRoute.path;\n });\n loopAsync(pathless.length, function (index, next, done) {\n getIndexRoute(pathless[index], location, paramNames, paramValues, function (error, indexRoute) {\n if (error || indexRoute) {\n var routes = [pathless[index]].concat(Array.isArray(indexRoute) ? indexRoute : [indexRoute]);\n done(error, routes);\n } else {\n next();\n }\n });\n }, function (err, routes) {\n callback(null, routes);\n });\n };\n\n var result = getChildRoutes(route, location, paramNames, paramValues, onChildRoutes);\n\n if (result) {\n onChildRoutes.apply(undefined, result);\n }\n } else {\n callback();\n }\n}\n\nfunction assignParams(params, paramNames, paramValues) {\n return paramNames.reduce(function (params, paramName, index) {\n var paramValue = paramValues && paramValues[index];\n\n if (Array.isArray(params[paramName])) {\n params[paramName].push(paramValue);\n } else if (paramName in params) {\n params[paramName] = [params[paramName], paramValue];\n } else {\n params[paramName] = paramValue;\n }\n\n return params;\n }, params);\n}\n\nfunction createParams(paramNames, paramValues) {\n return assignParams({}, paramNames, paramValues);\n}\n\nfunction matchRouteDeep(route, location, remainingPathname, paramNames, paramValues, callback) {\n var pattern = route.path || '';\n\n if (pattern.charAt(0) === '/') {\n remainingPathname = location.pathname;\n paramNames = [];\n paramValues = [];\n } // Only try to match the path if the route actually has a pattern, and if\n // we're not just searching for potential nested absolute paths.\n\n\n if (remainingPathname !== null && pattern) {\n try {\n var matched = matchPattern(pattern, remainingPathname);\n\n if (matched) {\n remainingPathname = matched.remainingPathname;\n paramNames = [].concat(paramNames, matched.paramNames);\n paramValues = [].concat(paramValues, matched.paramValues);\n } else {\n remainingPathname = null;\n }\n } catch (error) {\n callback(error);\n } // By assumption, pattern is non-empty here, which is the prerequisite for\n // actually terminating a match.\n\n\n if (remainingPathname === '') {\n var match = {\n routes: [route],\n params: createParams(paramNames, paramValues)\n };\n getIndexRoute(route, location, paramNames, paramValues, function (error, indexRoute) {\n if (error) {\n callback(error);\n } else {\n if (Array.isArray(indexRoute)) {\n var _match$routes;\n\n process.env.NODE_ENV !== 'production' ? warning(indexRoute.every(function (route) {\n return !route.path;\n }), 'Index routes should not have paths') : void 0;\n\n (_match$routes = match.routes).push.apply(_match$routes, indexRoute);\n } else if (indexRoute) {\n process.env.NODE_ENV !== 'production' ? warning(!indexRoute.path, 'Index routes should not have paths') : void 0;\n match.routes.push(indexRoute);\n }\n\n callback(null, match);\n }\n });\n return;\n }\n }\n\n if (remainingPathname != null || route.childRoutes) {\n // Either a) this route matched at least some of the path or b)\n // we don't have to load this route's children asynchronously. In\n // either case continue checking for matches in the subtree.\n var onChildRoutes = function onChildRoutes(error, childRoutes) {\n if (error) {\n callback(error);\n } else if (childRoutes) {\n // Check the child routes to see if any of them match.\n matchRoutes(childRoutes, location, function (error, match) {\n if (error) {\n callback(error);\n } else if (match) {\n // A child route matched! Augment the match and pass it up the stack.\n match.routes.unshift(route);\n callback(null, match);\n } else {\n callback();\n }\n }, remainingPathname, paramNames, paramValues);\n } else {\n callback();\n }\n };\n\n var result = getChildRoutes(route, location, paramNames, paramValues, onChildRoutes);\n\n if (result) {\n onChildRoutes.apply(undefined, result);\n }\n } else {\n callback();\n }\n}\n/**\n * Asynchronously matches the given location to a set of routes and calls\n * callback(error, state) when finished. The state object will have the\n * following properties:\n *\n * - routes An array of routes that matched, in hierarchical order\n * - params An object of URL parameters\n *\n * Note: This operation may finish synchronously if no routes have an\n * asynchronous getChildRoutes method.\n */\n\n\nexport default function matchRoutes(routes, location, callback, remainingPathname) {\n var paramNames = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];\n var paramValues = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];\n\n if (remainingPathname === undefined) {\n // TODO: This is a little bit ugly, but it works around a quirk in history\n // that strips the leading slash from pathnames when using basenames with\n // trailing slashes.\n if (location.pathname.charAt(0) !== '/') {\n location = _extends({}, location, {\n pathname: '/' + location.pathname\n });\n }\n\n remainingPathname = location.pathname;\n }\n\n loopAsync(routes.length, function (index, next, done) {\n matchRouteDeep(routes[index], location, remainingPathname, paramNames, paramValues, function (error, match) {\n if (error || match) {\n done(error, match);\n } else {\n next();\n }\n });\n }, callback);\n}","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nimport warning from './routerWarning';\nimport computeChangedRoutes from './computeChangedRoutes';\nimport getTransitionUtils from './TransitionUtils';\nimport _isActive from './isActive';\nimport getComponents from './getComponents';\nimport matchRoutes from './matchRoutes';\n\nfunction hasAnyProperties(object) {\n for (var p in object) {\n if (Object.prototype.hasOwnProperty.call(object, p)) return true;\n }\n\n return false;\n}\n\nexport default function createTransitionManager(history, routes) {\n var state = {};\n\n var _getTransitionUtils = getTransitionUtils(),\n runEnterHooks = _getTransitionUtils.runEnterHooks,\n runChangeHooks = _getTransitionUtils.runChangeHooks,\n runLeaveHooks = _getTransitionUtils.runLeaveHooks; // Signature should be (location, indexOnly), but needs to support (path,\n // query, indexOnly)\n\n\n function isActive(location, indexOnly) {\n location = history.createLocation(location);\n return _isActive(location, indexOnly, state.location, state.routes, state.params);\n }\n\n var partialNextState = void 0;\n\n function match(location, callback) {\n if (partialNextState && partialNextState.location === location) {\n // Continue from where we left off.\n finishMatch(partialNextState, callback);\n } else {\n matchRoutes(routes, location, function (error, nextState) {\n if (error) {\n callback(error);\n } else if (nextState) {\n finishMatch(_extends({}, nextState, {\n location: location\n }), callback);\n } else {\n callback();\n }\n });\n }\n }\n\n function finishMatch(nextState, callback) {\n var _computeChangedRoutes = computeChangedRoutes(state, nextState),\n leaveRoutes = _computeChangedRoutes.leaveRoutes,\n changeRoutes = _computeChangedRoutes.changeRoutes,\n enterRoutes = _computeChangedRoutes.enterRoutes;\n\n runLeaveHooks(leaveRoutes, state); // Tear down confirmation hooks for left routes\n\n leaveRoutes.filter(function (route) {\n return enterRoutes.indexOf(route) === -1;\n }).forEach(removeListenBeforeHooksForRoute); // change and enter hooks are run in series\n\n runChangeHooks(changeRoutes, state, nextState, function (error, redirectInfo) {\n if (error || redirectInfo) return handleErrorOrRedirect(error, redirectInfo);\n runEnterHooks(enterRoutes, nextState, finishEnterHooks);\n });\n\n function finishEnterHooks(error, redirectInfo) {\n if (error || redirectInfo) return handleErrorOrRedirect(error, redirectInfo); // TODO: Fetch components after state is updated.\n\n getComponents(nextState, function (error, components) {\n if (error) {\n callback(error);\n } else {\n // TODO: Make match a pure function and have some other API\n // for \"match and update state\".\n callback(null, null, state = _extends({}, nextState, {\n components: components\n }));\n }\n });\n }\n\n function handleErrorOrRedirect(error, redirectInfo) {\n if (error) callback(error);else callback(null, redirectInfo);\n }\n }\n\n var RouteGuid = 1;\n\n function getRouteID(route) {\n var create = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return route.__id__ || create && (route.__id__ = RouteGuid++);\n }\n\n var RouteHooks = Object.create(null);\n\n function getRouteHooksForRoutes(routes) {\n return routes.map(function (route) {\n return RouteHooks[getRouteID(route)];\n }).filter(function (hook) {\n return hook;\n });\n }\n\n function transitionHook(location, callback) {\n matchRoutes(routes, location, function (error, nextState) {\n if (nextState == null) {\n // TODO: We didn't actually match anything, but hang\n // onto error/nextState so we don't have to matchRoutes\n // again in the listen callback.\n callback();\n return;\n } // Cache some state here so we don't have to\n // matchRoutes() again in the listen callback.\n\n\n partialNextState = _extends({}, nextState, {\n location: location\n });\n var hooks = getRouteHooksForRoutes(computeChangedRoutes(state, partialNextState).leaveRoutes);\n var result = void 0;\n\n for (var i = 0, len = hooks.length; result == null && i < len; ++i) {\n // Passing the location arg here indicates to\n // the user that this is a transition hook.\n result = hooks[i](location);\n }\n\n callback(result);\n });\n }\n /* istanbul ignore next: untestable with Karma */\n\n\n function beforeUnloadHook() {\n // Synchronously check to see if any route hooks want\n // to prevent the current window/tab from closing.\n if (state.routes) {\n var hooks = getRouteHooksForRoutes(state.routes);\n var message = void 0;\n\n for (var i = 0, len = hooks.length; typeof message !== 'string' && i < len; ++i) {\n // Passing no args indicates to the user that this is a\n // beforeunload hook. We don't know the next location.\n message = hooks[i]();\n }\n\n return message;\n }\n }\n\n var unlistenBefore = void 0,\n unlistenBeforeUnload = void 0;\n\n function removeListenBeforeHooksForRoute(route) {\n var routeID = getRouteID(route);\n\n if (!routeID) {\n return;\n }\n\n delete RouteHooks[routeID];\n\n if (!hasAnyProperties(RouteHooks)) {\n // teardown transition & beforeunload hooks\n if (unlistenBefore) {\n unlistenBefore();\n unlistenBefore = null;\n }\n\n if (unlistenBeforeUnload) {\n unlistenBeforeUnload();\n unlistenBeforeUnload = null;\n }\n }\n }\n /**\n * Registers the given hook function to run before leaving the given route.\n *\n * During a normal transition, the hook function receives the next location\n * as its only argument and can return either a prompt message (string) to show the user,\n * to make sure they want to leave the page; or `false`, to prevent the transition.\n * Any other return value will have no effect.\n *\n * During the beforeunload event (in browsers) the hook receives no arguments.\n * In this case it must return a prompt message to prevent the transition.\n *\n * Returns a function that may be used to unbind the listener.\n */\n\n\n function listenBeforeLeavingRoute(route, hook) {\n var thereWereNoRouteHooks = !hasAnyProperties(RouteHooks);\n var routeID = getRouteID(route, true);\n RouteHooks[routeID] = hook;\n\n if (thereWereNoRouteHooks) {\n // setup transition & beforeunload hooks\n unlistenBefore = history.listenBefore(transitionHook);\n if (history.listenBeforeUnload) unlistenBeforeUnload = history.listenBeforeUnload(beforeUnloadHook);\n }\n\n return function () {\n removeListenBeforeHooksForRoute(route);\n };\n }\n /**\n * This is the API for stateful environments. As the location\n * changes, we update state and call the listener. We can also\n * gracefully handle errors and redirects.\n */\n\n\n function listen(listener) {\n function historyListener(location) {\n if (state.location === location) {\n listener(null, state);\n } else {\n match(location, function (error, redirectLocation, nextState) {\n if (error) {\n listener(error);\n } else if (redirectLocation) {\n history.replace(redirectLocation);\n } else if (nextState) {\n listener(null, nextState);\n } else {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Location \"%s\" did not match any routes', location.pathname + location.search + location.hash) : void 0;\n }\n });\n }\n } // TODO: Only use a single history listener. Otherwise we'll end up with\n // multiple concurrent calls to match.\n // Set up the history listener first in case the initial match redirects.\n\n\n var unsubscribe = history.listen(historyListener);\n\n if (state.location) {\n // Picking up on a matchContext.\n listener(null, state);\n } else {\n historyListener(history.getCurrentLocation());\n }\n\n return unsubscribe;\n }\n\n return {\n isActive: isActive,\n match: match,\n listenBeforeLeavingRoute: listenBeforeLeavingRoute,\n listen: listen\n };\n}","import { func, object, arrayOf, oneOfType, element, shape, elementType } from 'prop-types';\nexport function falsy(props, propName, componentName) {\n if (props[propName]) return new Error('<' + componentName + '> should not have a \"' + propName + '\" prop');\n}\nexport var history = shape({\n listen: func.isRequired,\n push: func.isRequired,\n replace: func.isRequired,\n go: func.isRequired,\n goBack: func.isRequired,\n goForward: func.isRequired\n});\nexport var component = elementType;\nexport var components = oneOfType([component, object]);\nexport var route = oneOfType([object, element]);\nexport var routes = oneOfType([route, arrayOf(route)]);","import { getParamNames } from './PatternUtils';\n/**\n * Extracts an object of params the given route cares about from\n * the given params object.\n */\n\nfunction getRouteParams(route, params) {\n var routeParams = {};\n if (!route.path) return routeParams;\n getParamNames(route.path).forEach(function (p) {\n if (Object.prototype.hasOwnProperty.call(params, p)) {\n routeParams[p] = params[p];\n }\n });\n return routeParams;\n}\n\nexport default getRouteParams;","import React from 'react';\nimport PropTypes from 'prop-types'; // Works around issues with context updates failing to propagate.\n// Caveat: the context value is expected to never change its identity.\n// https://github.com/facebook/react/issues/2517\n// https://github.com/reactjs/react-router/issues/470\n\nvar contextProviderShape = PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n eventIndex: PropTypes.number.isRequired\n});\n\nfunction makeContextName(name) {\n return '@@contextSubscriber/' + name;\n}\n\nvar prefixUnsafeLifecycleMethods = typeof React.forwardRef !== 'undefined';\nexport function ContextProvider(name) {\n var _childContextTypes, _config;\n\n var contextName = makeContextName(name);\n var listenersKey = contextName + '/listeners';\n var eventIndexKey = contextName + '/eventIndex';\n var subscribeKey = contextName + '/subscribe';\n var config = (_config = {\n childContextTypes: (_childContextTypes = {}, _childContextTypes[contextName] = contextProviderShape.isRequired, _childContextTypes),\n getChildContext: function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextName] = {\n eventIndex: this[eventIndexKey],\n subscribe: this[subscribeKey]\n }, _ref;\n },\n // this method will be updated to UNSAFE_componentWillMount below for React versions >= 16.3\n componentWillMount: function componentWillMount() {\n this[listenersKey] = [];\n this[eventIndexKey] = 0;\n },\n // this method will be updated to UNSAFE_componentWillReceiveProps below for React versions >= 16.3\n componentWillReceiveProps: function componentWillReceiveProps() {\n this[eventIndexKey]++;\n },\n componentDidUpdate: function componentDidUpdate() {\n var _this = this;\n\n this[listenersKey].forEach(function (listener) {\n return listener(_this[eventIndexKey]);\n });\n }\n }, _config[subscribeKey] = function (listener) {\n var _this2 = this; // No need to immediately call listener here.\n\n\n this[listenersKey].push(listener);\n return function () {\n _this2[listenersKey] = _this2[listenersKey].filter(function (item) {\n return item !== listener;\n });\n };\n }, _config);\n\n if (prefixUnsafeLifecycleMethods) {\n config.UNSAFE_componentWillMount = config.componentWillMount;\n config.UNSAFE_componentWillReceiveProps = config.componentWillReceiveProps;\n delete config.componentWillMount;\n delete config.componentWillReceiveProps;\n }\n\n return config;\n}\nexport function ContextSubscriber(name) {\n var _contextTypes, _config2;\n\n var contextName = makeContextName(name);\n var lastRenderedEventIndexKey = contextName + '/lastRenderedEventIndex';\n var handleContextUpdateKey = contextName + '/handleContextUpdate';\n var unsubscribeKey = contextName + '/unsubscribe';\n var config = (_config2 = {\n contextTypes: (_contextTypes = {}, _contextTypes[contextName] = contextProviderShape, _contextTypes),\n getInitialState: function getInitialState() {\n var _ref2;\n\n if (!this.context[contextName]) {\n return {};\n }\n\n return _ref2 = {}, _ref2[lastRenderedEventIndexKey] = this.context[contextName].eventIndex, _ref2;\n },\n componentDidMount: function componentDidMount() {\n if (!this.context[contextName]) {\n return;\n }\n\n this[unsubscribeKey] = this.context[contextName].subscribe(this[handleContextUpdateKey]);\n },\n // this method will be updated to UNSAFE_componentWillReceiveProps below for React versions >= 16.3\n componentWillReceiveProps: function componentWillReceiveProps() {\n var _setState;\n\n if (!this.context[contextName]) {\n return;\n }\n\n this.setState((_setState = {}, _setState[lastRenderedEventIndexKey] = this.context[contextName].eventIndex, _setState));\n },\n componentWillUnmount: function componentWillUnmount() {\n if (!this[unsubscribeKey]) {\n return;\n }\n\n this[unsubscribeKey]();\n this[unsubscribeKey] = null;\n }\n }, _config2[handleContextUpdateKey] = function (eventIndex) {\n if (eventIndex !== this.state[lastRenderedEventIndexKey]) {\n var _setState2;\n\n this.setState((_setState2 = {}, _setState2[lastRenderedEventIndexKey] = eventIndex, _setState2));\n }\n }, _config2);\n\n if (prefixUnsafeLifecycleMethods) {\n config.UNSAFE_componentWillReceiveProps = config.componentWillReceiveProps;\n delete config.componentWillReceiveProps;\n }\n\n return config;\n}","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n\nimport invariant from 'invariant';\nimport React from 'react';\nimport { isValidElementType } from 'react-is';\nimport createReactClass from 'create-react-class';\nimport { array, func, object } from 'prop-types';\nimport getRouteParams from './getRouteParams';\nimport { ContextProvider } from './ContextUtils';\nimport { isReactChildren } from './RouteUtils';\n/**\n * A renders the component tree for a given router state\n * and sets the history object and the current location in context.\n */\n\nvar RouterContext = createReactClass({\n displayName: 'RouterContext',\n mixins: [ContextProvider('router')],\n propTypes: {\n router: object.isRequired,\n location: object.isRequired,\n routes: array.isRequired,\n params: object.isRequired,\n components: array.isRequired,\n createElement: func.isRequired\n },\n getDefaultProps: function getDefaultProps() {\n return {\n createElement: React.createElement\n };\n },\n childContextTypes: {\n router: object.isRequired\n },\n getChildContext: function getChildContext() {\n return {\n router: this.props.router\n };\n },\n createElement: function createElement(component, props) {\n return component == null ? null : this.props.createElement(component, props);\n },\n render: function render() {\n var _this = this;\n\n var _props = this.props,\n location = _props.location,\n routes = _props.routes,\n params = _props.params,\n components = _props.components,\n router = _props.router;\n var element = null;\n\n if (components) {\n element = components.reduceRight(function (element, components, index) {\n if (components == null) return element; // Don't create new children; use the grandchildren.\n\n var route = routes[index];\n var routeParams = getRouteParams(route, params);\n var props = {\n location: location,\n params: params,\n route: route,\n router: router,\n routeParams: routeParams,\n routes: routes\n };\n\n if (isReactChildren(element)) {\n props.children = element;\n } else if (element) {\n for (var prop in element) {\n if (Object.prototype.hasOwnProperty.call(element, prop)) props[prop] = element[prop];\n }\n } // Handle components is object for { [name]: component } but not valid element\n // type of react, such as React.memo, React.lazy and so on.\n\n\n if ((typeof components === 'undefined' ? 'undefined' : _typeof(components)) === 'object' && !isValidElementType(components)) {\n var elements = {};\n\n for (var key in components) {\n if (Object.prototype.hasOwnProperty.call(components, key)) {\n // Pass through the key as a prop to createElement to allow\n // custom createElement functions to know which named component\n // they're rendering, for e.g. matching up to fetched data.\n elements[key] = _this.createElement(components[key], _extends({\n key: key\n }, props));\n }\n }\n\n return elements;\n }\n\n return _this.createElement(components, props);\n }, element);\n }\n\n !(element === null || element === false || /*#__PURE__*/React.isValidElement(element)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'The root route must render a single element') : invariant(false) : void 0;\n return element;\n }\n});\nexport default RouterContext;","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nexport function createRouterObject(history, transitionManager, state) {\n var router = _extends({}, history, {\n setRouteLeaveHook: transitionManager.listenBeforeLeavingRoute,\n isActive: transitionManager.isActive\n });\n\n return assignRouterState(router, state);\n}\nexport function assignRouterState(router, _ref) {\n var location = _ref.location,\n params = _ref.params,\n routes = _ref.routes;\n router.location = location;\n router.params = params;\n router.routes = routes;\n return router;\n}","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nimport invariant from 'invariant';\nimport React from 'react';\nimport createReactClass from 'create-react-class';\nimport { func, object } from 'prop-types';\nimport _createTransitionManager from './createTransitionManager';\nimport { routes } from './InternalPropTypes';\nimport RouterContext from './RouterContext';\nimport { createRoutes } from './RouteUtils';\nimport { createRouterObject as _createRouterObject, assignRouterState } from './RouterUtils';\nimport warning from './routerWarning';\nvar propTypes = {\n history: object,\n children: routes,\n routes: routes,\n // alias for children\n render: func,\n createElement: func,\n onError: func,\n onUpdate: func,\n // PRIVATE: For client-side rehydration of server match.\n matchContext: object\n};\nvar prefixUnsafeLifecycleMethods = typeof React.forwardRef !== 'undefined';\n/**\n * A is a high-level API for automatically setting up\n * a router that renders a with all the props\n * it needs each time the URL changes.\n */\n\nvar Router = createReactClass({\n displayName: 'Router',\n propTypes: propTypes,\n getDefaultProps: function getDefaultProps() {\n return {\n render: function render(props) {\n return /*#__PURE__*/React.createElement(RouterContext, props);\n }\n };\n },\n getInitialState: function getInitialState() {\n return {\n location: null,\n routes: null,\n params: null,\n components: null\n };\n },\n handleError: function handleError(error) {\n if (this.props.onError) {\n this.props.onError.call(this, error);\n } else {\n // Throw errors by default so we don't silently swallow them!\n throw error; // This error probably occurred in getChildRoutes or getComponents.\n }\n },\n createRouterObject: function createRouterObject(state) {\n var matchContext = this.props.matchContext;\n\n if (matchContext) {\n return matchContext.router;\n }\n\n var history = this.props.history;\n return _createRouterObject(history, this.transitionManager, state);\n },\n createTransitionManager: function createTransitionManager() {\n var matchContext = this.props.matchContext;\n\n if (matchContext) {\n return matchContext.transitionManager;\n }\n\n var history = this.props.history;\n var _props = this.props,\n routes = _props.routes,\n children = _props.children;\n !history.getCurrentLocation ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You have provided a history object created with history v4.x or v2.x ' + 'and earlier. This version of React Router is only compatible with v3 ' + 'history objects. Please change to history v3.x.') : invariant(false) : void 0;\n return _createTransitionManager(history, createRoutes(routes || children));\n },\n // this method will be updated to UNSAFE_componentWillMount below for React versions >= 16.3\n componentWillMount: function componentWillMount() {\n var _this = this;\n\n this.transitionManager = this.createTransitionManager();\n this.router = this.createRouterObject(this.state);\n this._unlisten = this.transitionManager.listen(function (error, state) {\n if (error) {\n _this.handleError(error);\n } else {\n // Keep the identity of this.router because of a caveat in ContextUtils:\n // they only work if the object identity is preserved.\n assignRouterState(_this.router, state);\n\n _this.setState(state, _this.props.onUpdate);\n }\n });\n },\n // this method will be updated to UNSAFE_componentWillReceiveProps below for React versions >= 16.3\n\n /* istanbul ignore next: sanity check */\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n process.env.NODE_ENV !== 'production' ? warning(nextProps.history === this.props.history, 'You cannot change ; it will be ignored') : void 0;\n process.env.NODE_ENV !== 'production' ? warning((nextProps.routes || nextProps.children) === (this.props.routes || this.props.children), 'You cannot change ; it will be ignored') : void 0;\n },\n componentWillUnmount: function componentWillUnmount() {\n if (this._unlisten) this._unlisten();\n },\n render: function render() {\n var _state = this.state,\n location = _state.location,\n routes = _state.routes,\n params = _state.params,\n components = _state.components;\n\n var _props2 = this.props,\n createElement = _props2.createElement,\n render = _props2.render,\n props = _objectWithoutProperties(_props2, ['createElement', 'render']);\n\n if (location == null) return null; // Async match\n // Only forward non-Router-specific props to routing context, as those are\n // the only ones that might be custom routing context props.\n\n Object.keys(propTypes).forEach(function (propType) {\n return delete props[propType];\n });\n return render(_extends({}, props, {\n router: this.router,\n location: location,\n routes: routes,\n params: params,\n components: components,\n createElement: createElement\n }));\n }\n});\n\nif (prefixUnsafeLifecycleMethods) {\n Router.prototype.UNSAFE_componentWillReceiveProps = Router.prototype.componentWillReceiveProps;\n Router.prototype.UNSAFE_componentWillMount = Router.prototype.componentWillMount;\n delete Router.prototype.componentWillReceiveProps;\n delete Router.prototype.componentWillMount;\n}\n\nexport default Router;","import { func, object, shape, string } from 'prop-types';\nexport var routerShape = shape({\n push: func.isRequired,\n replace: func.isRequired,\n go: func.isRequired,\n goBack: func.isRequired,\n goForward: func.isRequired,\n setRouteLeaveHook: func.isRequired,\n isActive: func.isRequired\n});\nexport var locationShape = shape({\n pathname: string.isRequired,\n search: string.isRequired,\n state: object,\n action: string.isRequired,\n key: string\n});","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nimport React from 'react';\nimport createReactClass from 'create-react-class';\nimport { bool, object, string, func, oneOfType, shape, elementType } from 'prop-types';\nimport invariant from 'invariant';\nimport { routerShape } from './PropTypes';\nimport { ContextSubscriber } from './ContextUtils';\n\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n} // TODO: De-duplicate against hasAnyProperties in createTransitionManager.\n\n\nfunction isEmptyObject(object) {\n for (var p in object) {\n if (Object.prototype.hasOwnProperty.call(object, p)) return false;\n }\n\n return true;\n}\n\nfunction resolveToLocation(to, router) {\n return typeof to === 'function' ? to(router.location) : to;\n}\n/**\n * A is used to create an element that links to a route.\n * When that route is active, the link gets the value of its\n * activeClassName prop.\n *\n * For example, assuming you have the following route:\n *\n * \n *\n * You could use the following component to link to that route:\n *\n * \n */\n\n\nvar Link = createReactClass({\n displayName: 'Link',\n mixins: [ContextSubscriber('router')],\n contextTypes: {\n router: routerShape\n },\n propTypes: {\n to: oneOfType([string, object, func]),\n activeStyle: object,\n activeClassName: string,\n onlyActiveOnIndex: bool.isRequired,\n onClick: func,\n target: string,\n innerRef: oneOfType([string, func, shape({\n current: elementType\n })])\n },\n getDefaultProps: function getDefaultProps() {\n return {\n onlyActiveOnIndex: false,\n style: {}\n };\n },\n handleClick: function handleClick(event) {\n if (this.props.onClick) this.props.onClick(event);\n if (event.defaultPrevented) return;\n var router = this.context.router;\n !router ? process.env.NODE_ENV !== 'production' ? invariant(false, 's rendered outside of a router context cannot navigate.') : invariant(false) : void 0;\n if (isModifiedEvent(event) || !isLeftClickEvent(event)) return; // If target prop is set (e.g. to \"_blank\"), let browser handle link.\n\n /* istanbul ignore if: untestable with Karma */\n\n if (this.props.target) return;\n event.preventDefault();\n router.push(resolveToLocation(this.props.to, router));\n },\n render: function render() {\n var _props = this.props,\n to = _props.to,\n activeClassName = _props.activeClassName,\n activeStyle = _props.activeStyle,\n onlyActiveOnIndex = _props.onlyActiveOnIndex,\n innerRef = _props.innerRef,\n props = _objectWithoutProperties(_props, ['to', 'activeClassName', 'activeStyle', 'onlyActiveOnIndex', 'innerRef']); // Ignore if rendered outside the context of router to simplify unit testing.\n\n\n var router = this.context.router;\n\n if (router) {\n // If user does not specify a `to` prop, return an empty anchor tag.\n if (!to) {\n return /*#__PURE__*/React.createElement('a', _extends({}, props, {\n ref: innerRef\n }));\n }\n\n var toLocation = resolveToLocation(to, router);\n props.href = router.createHref(toLocation);\n\n if (activeClassName || activeStyle != null && !isEmptyObject(activeStyle)) {\n if (router.isActive(toLocation, onlyActiveOnIndex)) {\n if (activeClassName) {\n if (props.className) {\n props.className += ' ' + activeClassName;\n } else {\n props.className = activeClassName;\n }\n }\n\n if (activeStyle) props.style = _extends({}, props.style, activeStyle);\n }\n }\n }\n\n return /*#__PURE__*/React.createElement('a', _extends({}, props, {\n onClick: this.handleClick,\n ref: innerRef\n }));\n }\n});\nexport default Link;","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nimport React from 'react';\nimport createReactClass from 'create-react-class';\nimport Link from './Link';\n/**\n * An is used to link to an .\n */\n\nvar IndexLink = createReactClass({\n displayName: 'IndexLink',\n render: function render() {\n return /*#__PURE__*/React.createElement(Link, _extends({}, this.props, {\n onlyActiveOnIndex: true\n }));\n }\n});\nexport default IndexLink;","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nimport invariant from 'invariant';\nimport React from 'react';\nimport createReactClass from 'create-react-class';\nimport hoistStatics from 'hoist-non-react-statics';\nimport { ContextSubscriber } from './ContextUtils';\nimport { routerShape } from './PropTypes';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nexport default function withRouter(WrappedComponent, options) {\n var withRef = options && options.withRef;\n var WithRouter = createReactClass({\n displayName: 'WithRouter',\n mixins: [ContextSubscriber('router')],\n contextTypes: {\n router: routerShape\n },\n propTypes: {\n router: routerShape\n },\n getWrappedInstance: function getWrappedInstance() {\n !withRef ? process.env.NODE_ENV !== 'production' ? invariant(false, 'To access the wrapped instance, you need to specify ' + '`{ withRef: true }` as the second argument of the withRouter() call.') : invariant(false) : void 0;\n return this.wrappedInstance;\n },\n render: function render() {\n var _this = this;\n\n var router = this.props.router || this.context.router;\n\n if (!router) {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n }\n\n var params = router.params,\n location = router.location,\n routes = router.routes;\n\n var props = _extends({}, this.props, {\n router: router,\n params: params,\n location: location,\n routes: routes\n });\n\n if (withRef) {\n props.ref = function (c) {\n _this.wrappedInstance = c;\n };\n }\n\n return /*#__PURE__*/React.createElement(WrappedComponent, props);\n }\n });\n WithRouter.displayName = 'withRouter(' + getDisplayName(WrappedComponent) + ')';\n WithRouter.WrappedComponent = WrappedComponent;\n return hoistStatics(WithRouter, WrappedComponent);\n}","import createReactClass from 'create-react-class';\nimport { string, object } from 'prop-types';\nimport invariant from 'invariant';\nimport { createRouteFromReactElement as _createRouteFromReactElement } from './RouteUtils';\nimport { formatPattern } from './PatternUtils';\nimport { falsy } from './InternalPropTypes';\n/**\n * A is used to declare another URL path a client should\n * be sent to when they request a given URL.\n *\n * Redirects are placed alongside routes in the route configuration\n * and are traversed in the same manner.\n */\n\n/* eslint-disable react/require-render-return */\n\nvar Redirect = createReactClass({\n displayName: 'Redirect',\n statics: {\n createRouteFromReactElement: function createRouteFromReactElement(element) {\n var route = _createRouteFromReactElement(element);\n\n if (route.from) route.path = route.from;\n\n route.onEnter = function (nextState, replace) {\n var location = nextState.location,\n params = nextState.params;\n var pathname = void 0;\n\n if (route.to.charAt(0) === '/') {\n pathname = formatPattern(route.to, params);\n } else if (!route.to) {\n pathname = location.pathname;\n } else {\n var routeIndex = nextState.routes.indexOf(route);\n var parentPattern = Redirect.getRoutePattern(nextState.routes, routeIndex - 1);\n var pattern = parentPattern.replace(/\\/*$/, '/') + route.to;\n pathname = formatPattern(pattern, params);\n }\n\n replace({\n pathname: pathname,\n query: route.query || location.query,\n state: route.state || location.state\n });\n };\n\n return route;\n },\n getRoutePattern: function getRoutePattern(routes, routeIndex) {\n var parentPattern = '';\n\n for (var i = routeIndex; i >= 0; i--) {\n var route = routes[i];\n var pattern = route.path || '';\n parentPattern = pattern.replace(/\\/*$/, '/') + parentPattern;\n if (pattern.indexOf('/') === 0) break;\n }\n\n return '/' + parentPattern;\n }\n },\n propTypes: {\n path: string,\n from: string,\n // Alias for path\n to: string.isRequired,\n query: object,\n state: object,\n onEnter: falsy,\n children: falsy\n },\n\n /* istanbul ignore next: sanity check */\n render: function render() {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, ' elements are for router configuration only and should not be rendered') : invariant(false) : void 0;\n }\n});\nexport default Redirect;","import createReactClass from 'create-react-class';\nimport { string, object } from 'prop-types';\nimport warning from './routerWarning';\nimport invariant from 'invariant';\nimport Redirect from './Redirect';\nimport { falsy } from './InternalPropTypes';\n/**\n * An is used to redirect from an indexRoute.\n */\n\n/* eslint-disable react/require-render-return */\n\nvar IndexRedirect = createReactClass({\n displayName: 'IndexRedirect',\n statics: {\n createRouteFromReactElement: function createRouteFromReactElement(element, parentRoute) {\n /* istanbul ignore else: sanity check */\n if (parentRoute) {\n parentRoute.indexRoute = Redirect.createRouteFromReactElement(element);\n } else {\n process.env.NODE_ENV !== 'production' ? warning(false, 'An does not make sense at the root of your route config') : void 0;\n }\n }\n },\n propTypes: {\n to: string.isRequired,\n query: object,\n state: object,\n onEnter: falsy,\n children: falsy\n },\n\n /* istanbul ignore next: sanity check */\n render: function render() {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, ' elements are for router configuration only and should not be rendered') : invariant(false) : void 0;\n }\n});\nexport default IndexRedirect;","import createReactClass from 'create-react-class';\nimport { string, func } from 'prop-types';\nimport invariant from 'invariant';\nimport { createRouteFromReactElement } from './RouteUtils';\nimport { component, components } from './InternalPropTypes';\n/**\n * A is used to declare which components are rendered to the\n * page when the URL matches a given pattern.\n *\n * Routes are arranged in a nested tree structure. When a new URL is\n * requested, the tree is searched depth-first to find a route whose\n * path matches the URL. When one is found, all routes in the tree\n * that lead to it are considered \"active\" and their components are\n * rendered into the DOM, nested in the same order as in the tree.\n */\n\n/* eslint-disable react/require-render-return */\n\nvar Route = createReactClass({\n displayName: 'Route',\n statics: {\n createRouteFromReactElement: createRouteFromReactElement\n },\n propTypes: {\n path: string,\n component: component,\n components: components,\n getComponent: func,\n getComponents: func\n },\n\n /* istanbul ignore next: sanity check */\n render: function render() {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, ' elements are for router configuration only and should not be rendered') : invariant(false) : void 0;\n }\n});\nexport default Route;","import createReactClass from 'create-react-class';\nimport { func } from 'prop-types';\nimport warning from './routerWarning';\nimport invariant from 'invariant';\nimport { createRouteFromReactElement as _createRouteFromReactElement } from './RouteUtils';\nimport { component, components, falsy } from './InternalPropTypes';\n/**\n * An is used to specify its parent's in\n * a JSX route config.\n */\n\n/* eslint-disable react/require-render-return */\n\nvar IndexRoute = createReactClass({\n displayName: 'IndexRoute',\n statics: {\n createRouteFromReactElement: function createRouteFromReactElement(element, parentRoute) {\n /* istanbul ignore else: sanity check */\n if (parentRoute) {\n parentRoute.indexRoute = _createRouteFromReactElement(element);\n } else {\n process.env.NODE_ENV !== 'production' ? warning(false, 'An does not make sense at the root of your route config') : void 0;\n }\n }\n },\n propTypes: {\n path: falsy,\n component: component,\n components: components,\n getComponent: func,\n getComponents: func\n },\n\n /* istanbul ignore next: sanity check */\n render: function render() {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, ' elements are for router configuration only and should not be rendered') : invariant(false) : void 0;\n }\n});\nexport default IndexRoute;","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nimport { REPLACE } from 'history/lib/Actions';\nimport invariant from 'invariant';\nimport createMemoryHistory from './createMemoryHistory';\nimport createTransitionManager from './createTransitionManager';\nimport { createRoutes } from './RouteUtils';\nimport { createRouterObject } from './RouterUtils';\n/**\n * A high-level API to be used for server-side rendering.\n *\n * This function matches a location to a set of routes and calls\n * callback(error, redirectLocation, renderProps) when finished.\n *\n * Note: You probably don't want to use this in a browser unless you're using\n * server-side rendering with async routes.\n */\n\nfunction match(_ref, callback) {\n var history = _ref.history,\n routes = _ref.routes,\n location = _ref.location,\n options = _objectWithoutProperties(_ref, ['history', 'routes', 'location']);\n\n !(history || location) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'match needs a history or a location') : invariant(false) : void 0;\n history = history ? history : createMemoryHistory(options);\n var transitionManager = createTransitionManager(history, createRoutes(routes));\n\n if (location) {\n // Allow match({ location: '/the/path', ... })\n location = history.createLocation(location);\n } else {\n location = history.getCurrentLocation();\n }\n\n transitionManager.match(location, function (error, redirectLocation, nextState) {\n var renderProps = void 0;\n\n if (nextState) {\n var router = createRouterObject(history, transitionManager, nextState);\n renderProps = _extends({}, nextState, {\n router: router,\n matchContext: {\n transitionManager: transitionManager,\n router: router\n }\n });\n }\n\n callback(error, redirectLocation && history.createLocation(redirectLocation, REPLACE), renderProps);\n });\n}\n\nexport default match;","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nimport React, { createElement } from 'react';\nimport RouterContext from './RouterContext';\nimport warning from './routerWarning';\nexport default (function () {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n if (process.env.NODE_ENV !== 'production') {\n middlewares.forEach(function (middleware, index) {\n process.env.NODE_ENV !== 'production' ? warning(middleware.renderRouterContext || middleware.renderRouteComponent, 'The middleware specified at index ' + index + ' does not appear to be ' + 'a valid React Router middleware.') : void 0;\n });\n }\n\n var withContext = middlewares.map(function (middleware) {\n return middleware.renderRouterContext;\n }).filter(Boolean);\n var withComponent = middlewares.map(function (middleware) {\n return middleware.renderRouteComponent;\n }).filter(Boolean);\n\n var makeCreateElement = function makeCreateElement() {\n var baseCreateElement = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : createElement;\n return function (Component, props) {\n return withComponent.reduceRight(function (previous, renderRouteComponent) {\n return renderRouteComponent(previous, props);\n }, baseCreateElement(Component, props));\n };\n };\n\n return function (renderProps) {\n return withContext.reduceRight(function (previous, renderRouterContext) {\n return renderRouterContext(previous, renderProps);\n }, /*#__PURE__*/React.createElement(RouterContext, _extends({}, renderProps, {\n createElement: makeCreateElement(renderProps.createElement)\n })));\n };\n});","import useRouterHistory from './useRouterHistory';\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default function createRouterHistory(createHistory) {\n var history = void 0;\n if (canUseDOM) history = useRouterHistory(createHistory)();\n return history;\n}","import useQueries from 'history/lib/useQueries';\nimport useBasename from 'history/lib/useBasename';\nexport default function useRouterHistory(createHistory) {\n return function (options) {\n var history = useQueries(useBasename(createHistory))(options);\n return history;\n };\n}","import createBrowserHistory from 'history/lib/createBrowserHistory';\nimport createRouterHistory from './createRouterHistory';\nexport default createRouterHistory(createBrowserHistory);","import createHashHistory from 'history/lib/createHashHistory';\nimport createRouterHistory from './createRouterHistory';\nexport default createRouterHistory(createHashHistory);","'use strict';\n\nmodule.exports = require('./lib/ReactDOM');","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n'use strict';\n/* eslint-disable no-unused-vars */\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n}\n\nfunction shouldUseNative() {\n try {\n if (!Object.assign) {\n return false;\n } // Detect buggy property enumeration order in older V8 versions.\n // https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\n\n var test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\n test1[5] = 'de';\n\n if (Object.getOwnPropertyNames(test1)[0] === '5') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test2 = {};\n\n for (var i = 0; i < 10; i++) {\n test2['_' + String.fromCharCode(i)] = i;\n }\n\n var order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n return test2[n];\n });\n\n if (order2.join('') !== '0123456789') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test3 = {};\n 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n test3[letter] = letter;\n });\n\n if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {\n return false;\n }\n\n return true;\n } catch (err) {\n // We don't expect any of the above to throw, but better to be safe.\n return false;\n }\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n};","import { getFetchConfig, patchFetchConfig, postFetchConfig, parseJSON,\n checkStatus, deleteFetchConfig } from '../../common/fetchHelper'\n\nimport Promise from 'bluebird'\nif (!window.Promise) {\n window.Promise = Promise;\n}\n\nfunction fetchSuccess(locations) {\n return { type: 'FETCH_LOCATIONS_SUCCESS', data: locations }\n}\n\nfunction fetchFailure(errors) {\n return { type: 'FETCH_LOCATIONS_FAILURE', errors }\n}\n\nexport function setLocation(id) {\n return { type: 'SET_SELECTED_LOCATION', data: id }\n}\n\nexport function updateSpot(spot) {\n return { type: 'UPDATE_SPOT', data: spot }\n}\n\nexport function addSpot(spot) {\n return { type: 'ADD_SPOT', data: spot }\n}\n\nexport function fetchLocations() {\n return (dispatch, getState) => {\n let url = '/api/v1/operator/locations.json'\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((data) => {\n dispatch(fetchSuccess(data));\n dispatch(setLocation(data[0]['id']));\n return data;\n })\n .catch((error) => {\n return;\n })\n }\n}\n\nexport function fetchDisplayLocations() {\n return (dispatch, getState) => {\n let url = '/api/v1/display/locations.json'\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((data) => {\n dispatch(fetchSuccess(data));\n return data;\n })\n .catch((error) => {\n return;\n })\n }\n}\n\nexport function adminFetch(id) {\n return (dispatch, getState) => {\n let url = `/api/v1/admin/locations/${id}.json`\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((res) => {\n dispatch(fetchSuccess(res));\n return res;\n }, (error) => {\n dispatch(fetchFailure(error));\n throw error;\n });\n }\n}\n\nexport function adminUpdatePostSpot(spot) {\n return (dispatch, getState) => {\n dispatch(updateSpot(spot));\n\n let url = `/api/v1/admin/spots/${spot.id}.json`\n let parameters = patchFetchConfig\n parameters['body'] = JSON.stringify({spot: spot})\n\n return fetch(url, parameters)\n .then((res) => {\n return res;\n })\n .catch((error) => {\n return;\n });\n }\n}\n\nexport function adminDeleteSpot(spot) {\n return (dispatch, getState) => {\n\n let url = `/api/v1/admin/spots/${spot.id}.json`\n let parameters = deleteFetchConfig\n parameters['body'] = JSON.stringify({\n id: spot.id\n })\n\n return fetch(url, parameters)\n .then(res=>res.json())\n .then((res) => {\n\n if (res && res.errors && res.errors.base) {\n alert(res.errors.base[0]);\n }\n\n return res;\n })\n .catch((error) => {\n return;\n });\n }\n}\n\nexport function createPostSpot(spot) {\n return (dispatch, getState) => {\n dispatch(addSpot(spot));\n\n let url = `/api/v1/admin/spots.json`;\n let location_id = getState().locations.locations.id;\n let parameters = postFetchConfig;\n let spotCopy = {...spot};\n spotCopy.id = null;\n\n parameters['body'] = JSON.stringify({spot: {...spotCopy, location_id: location_id}})\n\n return fetch(url, parameters)\n .then((res) => {\n dispatch(adminFetch(document.getElementsByName('location_id')[0].dataset.id));\n return res;\n })\n .catch((error) => {\n return;\n });\n }\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 _prodInvariant = require('./reactProdInvariant');\n\nvar DOMProperty = require('./DOMProperty');\n\nvar ReactDOMComponentFlags = require('./ReactDOMComponentFlags');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\nvar Flags = ReactDOMComponentFlags;\nvar internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2);\n/**\n * Check if a given node should be cached.\n */\n\nfunction shouldPrecacheNode(node, nodeID) {\n return node.nodeType === 1 && node.getAttribute(ATTR_NAME) === String(nodeID) || node.nodeType === 8 && node.nodeValue === ' react-text: ' + nodeID + ' ' || node.nodeType === 8 && node.nodeValue === ' react-empty: ' + nodeID + ' ';\n}\n/**\n * Drill down (through composites and empty components) until we get a host or\n * host text component.\n *\n * This is pretty polymorphic but unavoidable with the current structure we have\n * for `_renderedChildren`.\n */\n\n\nfunction getRenderedHostOrTextFromComponent(component) {\n var rendered;\n\n while (rendered = component._renderedComponent) {\n component = rendered;\n }\n\n return component;\n}\n/**\n * Populate `_hostNode` on the rendered host/text component with the given\n * DOM node. The passed `inst` can be a composite.\n */\n\n\nfunction precacheNode(inst, node) {\n var hostInst = getRenderedHostOrTextFromComponent(inst);\n hostInst._hostNode = node;\n node[internalInstanceKey] = hostInst;\n}\n\nfunction uncacheNode(inst) {\n var node = inst._hostNode;\n\n if (node) {\n delete node[internalInstanceKey];\n inst._hostNode = null;\n }\n}\n/**\n * Populate `_hostNode` on each child of `inst`, assuming that the children\n * match up with the DOM (element) children of `node`.\n *\n * We cache entire levels at once to avoid an n^2 problem where we access the\n * children of a node sequentially and have to walk from the start to our target\n * node every time.\n *\n * Since we update `_renderedChildren` and the actual DOM at (slightly)\n * different times, we could race here and see a newer `_renderedChildren` than\n * the DOM nodes we see. To avoid this, ReactMultiChild calls\n * `prepareToManageChildren` before we change `_renderedChildren`, at which\n * time the container's child nodes are always cached (until it unmounts).\n */\n\n\nfunction precacheChildNodes(inst, node) {\n if (inst._flags & Flags.hasCachedChildNodes) {\n return;\n }\n\n var children = inst._renderedChildren;\n var childNode = node.firstChild;\n\n outer: for (var name in children) {\n if (!children.hasOwnProperty(name)) {\n continue;\n }\n\n var childInst = children[name];\n\n var childID = getRenderedHostOrTextFromComponent(childInst)._domID;\n\n if (childID === 0) {\n // We're currently unmounting this child in ReactMultiChild; skip it.\n continue;\n } // We assume the child nodes are in the same order as the child instances.\n\n\n for (; childNode !== null; childNode = childNode.nextSibling) {\n if (shouldPrecacheNode(childNode, childID)) {\n precacheNode(childInst, childNode);\n continue outer;\n }\n } // We reached the end of the DOM children without finding an ID match.\n\n\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0;\n }\n\n inst._flags |= Flags.hasCachedChildNodes;\n}\n/**\n * Given a DOM node, return the closest ReactDOMComponent or\n * ReactDOMTextComponent instance ancestor.\n */\n\n\nfunction getClosestInstanceFromNode(node) {\n if (node[internalInstanceKey]) {\n return node[internalInstanceKey];\n } // Walk up the tree until we find an ancestor whose instance we have cached.\n\n\n var parents = [];\n\n while (!node[internalInstanceKey]) {\n parents.push(node);\n\n if (node.parentNode) {\n node = node.parentNode;\n } else {\n // Top of the tree. This node must not be part of a React tree (or is\n // unmounted, potentially).\n return null;\n }\n }\n\n var closest;\n var inst;\n\n for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) {\n closest = inst;\n\n if (parents.length) {\n precacheChildNodes(inst, node);\n }\n }\n\n return closest;\n}\n/**\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n * instance, or null if the node was not rendered by this React.\n */\n\n\nfunction getInstanceFromNode(node) {\n var inst = getClosestInstanceFromNode(node);\n\n if (inst != null && inst._hostNode === node) {\n return inst;\n } else {\n return null;\n }\n}\n/**\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n * DOM node.\n */\n\n\nfunction getNodeFromInstance(inst) {\n // Without this first invariant, passing a non-DOM-component triggers the next\n // invariant for a missing parent, which is super confusing.\n !(inst._hostNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n\n if (inst._hostNode) {\n return inst._hostNode;\n } // Walk up the tree until we find an ancestor whose DOM node we have cached.\n\n\n var parents = [];\n\n while (!inst._hostNode) {\n parents.push(inst);\n !inst._hostParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0;\n inst = inst._hostParent;\n } // Now parents contains each ancestor that does *not* have a cached native\n // node, and `inst` is the deepest ancestor that does.\n\n\n for (; parents.length; inst = parents.pop()) {\n precacheChildNodes(inst, inst._hostNode);\n }\n\n return inst._hostNode;\n}\n\nvar ReactDOMComponentTree = {\n getClosestInstanceFromNode: getClosestInstanceFromNode,\n getInstanceFromNode: getInstanceFromNode,\n getNodeFromInstance: getNodeFromInstance,\n precacheChildNodes: precacheChildNodes,\n precacheNode: precacheNode,\n uncacheNode: uncacheNode\n};\nmodule.exports = ReactDOMComponentTree;","import React, { PropTypes } from 'react'\n\nconst MapContainer = ({ children, ...props}) => {\n return
{children}
\n}\n\nexport default MapContainer\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 React = require('react');\n\nvar factory = require('./factory');\n\nif (typeof React === 'undefined') {\n throw Error('create-react-class could not find the React object. If you are using script tags, ' + 'make sure that React is being loaded before create-react-class.');\n} // Hack to grab NoopUpdateQueue from isomorphic React\n\n\nvar ReactNoopUpdateQueue = new React.Component().updater;\nmodule.exports = factory(React.Component, React.isValidElement, ReactNoopUpdateQueue);","const AUTO_ZOOM_PADDING = 80\n\n/**\n * Zooms in to show all positions, leaves padding in px.\n * Arguments: Map props\n * Returns: object with zoom and pan\n */\nexport default function zoomToPositions(\n { positions, containerWidth, containerHeight },\n padding = AUTO_ZOOM_PADDING\n) {\n let zoom = 1\n let area = getPositionsArea(positions)\n let availableArea = getAvailableArea(containerWidth, containerHeight, padding)\n\n if (!areaFitsInto(area, availableArea)) {\n zoom = Math.min(availableArea.width / area.width, availableArea.height / area.height)\n }\n\n return {\n zoom: zoom,\n pan: {\n x: area.mid.x - containerWidth / zoom / 2,\n y: area.mid.y - containerHeight / zoom / 2\n }\n }\n}\n\n/**\n * Returns an object with min, mid, max coordinates of given positions and\n * width and height of the area defined by these coordinates\n */\nfunction getPositionsArea(positions) {\n let edges = getPositionsEdgeCoordinates(positions)\n let { min, max } = edges\n\n return {\n ...edges,\n mid: {\n x: (min.x + max.x) / 2,\n y: (min.y + max.y) / 2,\n },\n width: max.x - min.x,\n height: max.y - min.y\n }\n}\n\nfunction getPositionsEdgeCoordinates(positions) {\n let { xs, ys } = groupPositionsCoordinates(positions)\n\n return {\n min: {\n x: Math.min(...xs),\n y: Math.min(...ys)\n },\n max: {\n x: Math.max(...xs),\n y: Math.max(...ys)\n },\n }\n}\n\nfunction groupPositionsCoordinates(positions) {\n return {\n xs: positions.map(pos => pos.position_x),\n ys: positions.map(pos => pos.position_y)\n }\n}\n\nfunction getAvailableArea(containerWidth, containerHeight, padding) {\n return {\n width: containerWidth - padding * 2,\n height: containerHeight - padding * 2\n }\n}\n\nfunction areaFitsInto(a, b) {\n return a.width <= b.width && a.height <= b.height\n}\n","/**\n * Shows the whole map.\n * Arguments: Map props\n * Returns: object with zoom and pan\n */\nexport default function zoomToFit({ image, containerWidth, containerHeight }) {\n let zoom, heightRatio, widthRatio, x = 0, y = 0\n\n if (containerHeight < image.height || containerWidth < image.width) {\n heightRatio = containerHeight / image.height\n widthRatio = containerWidth / image.width\n zoom = Math.min(heightRatio, widthRatio)\n\n x = - (containerWidth / zoom - image.width) / 2\n y = - (containerHeight / zoom - image.height) / 2\n\n return({\n zoom,\n pan: {\n x,\n y\n }\n })\n }\n}\n","/**\n * Returns Map props with updated zoom while keeping one point in the same place\n * relative to viewport.\n * Arguments: Map props, focal point, new zoom\n * Returns: object with zoom and pan\n */\nexport default function zoomToPoint(\n { zoom, pan, containerWidth, containerHeight },\n { x, y },\n targetZoom\n) {\n let zoomChange = 1 - zoom/targetZoom\n\n return {\n zoom: targetZoom,\n pan: {\n x: pan.x + (x / zoom) * zoomChange,\n y: pan.y + (y / zoom) * zoomChange,\n }\n }\n}\n","/**\n * Changes pan by specified values.\n * Arguments: Map props, pan\n * Retunrs: Map props\n *\n * e.g.: Given current pan { x: 100, y: 50 } and new pan { x: -20, y: 0 },\n * the result will be { x: 80, y: 50 }\n */\nexport default function pan({ pan }, newPan) {\n return {\n pan: {\n x: pan.x - newPan.x,\n y: pan.y - newPan.y\n }\n }\n}\n","/**\n * Calculates displacement vector of 2 points, returns an object { x, y }\n */\nexport default function getDisplacement(a, b, scale = 1) {\n return {\n x: (b.x - a.x) / scale,\n y: (b.y - a.y) / scale\n }\n}\n","/**\n * Calculates the distance between two points (segment length)\n */\nexport default function getDistance(a, b) {\n let { x: x1, y: y1 } = a,\n { x: x2, y: y2 } = b\n\n return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2))\n}\n","import getDistance from './getDistance'\n\n/**\n * Calculates the ratio of 2 segments defined by pairs of points.\n * Returns ratio of second segment to first.\n */\nexport default function getSegmentsRatio(ab, cd) {\n return getDistance(...cd) / getDistance(...ab)\n}\n","/**\n * Calculates the center of a segment, returns an object {x, y }\n */\nexport default function getSegmentMidpoint(a, b) {\n let { x: x1, y: y1 } = a,\n { x: x2, y: y2 } = b\n\n return {\n x: (x1 + x2) / 2,\n y: (y1 + y2) / 2\n }\n}\n","export const supplyStages = [\n 'raw_material',\n 'work_in_progress',\n 'finished_good'\n]\n\nexport const DEFAULT_BAR_FORMAT = 'CODE39';\nexport const ORDERS_COUNT_LIMIT = 100;\nexport const DATETIME_FORMAT = 'YYYY-MM-DD HH:mm';\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 canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\n\nvar ExecutionEnvironment = {\n canUseDOM: canUseDOM,\n canUseWorkers: typeof Worker !== 'undefined',\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n canUseViewport: canUseDOM && !!window.screen,\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\nmodule.exports = ExecutionEnvironment;","/**\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'use strict';\n\nmodule.exports = require('react-transition-group/CSSTransitionGroup');","export default {\n componentWillMount() {\n this.intervals = [];\n },\n\n setInterval() {\n this.intervals.push(setInterval.apply(null, arguments));\n },\n\n componentWillUnmount() {\n this.intervals.forEach(clearInterval);\n }\n};\n","import React, { PropTypes } from 'react'\nimport Color from 'color'\n\nimport { Nephritis, Asbestos } from '../colors'\n\nconst Position = React.createClass({\n truncateText: 16,\n\n propTypes: {\n position_x: PropTypes.number.isRequired,\n position_y: PropTypes.number.isRequired,\n id: PropTypes.number.isRequired,\n symbol: PropTypes.string.isRequired,\n size: PropTypes.number,\n isSelected: PropTypes.bool,\n zoom: PropTypes.number,\n onClick: PropTypes.func,\n onGrab: PropTypes.func,\n onRelease: PropTypes.func,\n animate: PropTypes.bool\n },\n\n getDefaultProps() {\n return {\n size: 50,\n onClick: e => {},\n onGrab: e => {},\n onRelease: e => {},\n zoom: 1\n }\n },\n\n getInitialState() {\n return {\n isHighlighted: false\n }\n },\n\n getColor() {\n let { isSelected, isGrabbed } = this.props\n let { isHighlighted } = this.state\n let color = Color(isSelected || isHighlighted || isGrabbed ? Nephritis : Asbestos)\n\n return color.rgbString()\n },\n\n getFillColor() {\n let color = Color(this.getColor())\n\n if (this.state.isHighlighted) {\n color.lighten(0.2)\n }\n\n return color.rgbString()\n },\n\n getTextColor() {\n return Color(this.getColor()).darken(0.8).rgbString()\n },\n\n getSize() {\n return this.props.size / this.props.zoom\n },\n\n getText() {\n let { symbol } = this.props\n return symbol.substr(0, this.truncateText) + (symbol.length > this.truncateText ? '...' : '')\n },\n\n getTransform() {\n let { position_x, position_y, zoom } = this.props\n return `translate(${position_x * zoom}px, ${position_y * zoom}px)`\n },\n\n grab(e) {\n this.moved = false\n this.props.onGrab(e, this.props.id)\n this.setState({ isHighlighted: true })\n },\n\n release(e) {\n if (this.moved !== true) {\n this.props.onClick(e, this.props.id)\n }\n this.props.onRelease(e, this.props.id)\n this.setState({ isHighlighted: false })\n },\n\n render() {\n return (\n e.preventDefault() }\n\n onMouseEnter={e => this.setState({ isHighlighted: true })}\n onMouseLeave={e => this.setState({ isHighlighted: false })}\n onMouseDown={this.grab}\n onMouseMove={e => this.moved = true}\n onMouseUp={this.release}\n\n onTouchStart={this.grab}\n onTouchMove={e => this.moved = true}\n onTouchEnd={this.release}\n onTouchCancel={this.release}\n\n style={{\n transform: this.getTransform(),\n transition: this.props.animate === true ? 'all 1s linear' : null,\n cursor: 'pointer'\n }}\n >\n \n\n \n {this.getText()}\n {this.getText()}\n \n \n )\n }\n})\n\nexport default Position\n","// Basics\nexport const White = '#FFF'\nexport const Black = '#000'\nexport const red = '#C00'\n\n// Greens\nexport const Turquoise = '#1ABC9C'\nexport const GreenSea = '#16A085'\nexport const Emerald = '#2ECC71'\nexport const Nephritis = '#27AE60'\n\n// Blues\nexport const PeterRiver = '#3498DB'\nexport const BelizeHole = '#2980B9'\nexport const WetAsphalt = '#34495E'\nexport const MidnightBlue = '#2C3E50'\nexport const JordyBlue = '#89C4F4'\nexport const BlueGray = '#34495e'\nexport const BlueOrderLight = '#4F6F8F'\nexport const BlueOrderDark = '#46637F'\nexport const FountainBlue = '#5C97BF'\n\n// Purples\nexport const Amethyst = '#9B59B6'\nexport const Wisteria = '#8E44AD'\n\n// Yellows\nexport const SunFlower = '#F1C40F'\nexport const CreamCan = '#F5D76E'\n\n// Oranges\nexport const Orange = '#F39C12'\nexport const Carrot = '#E67E22'\nexport const Pumpkin = '#D35400'\n\n// Reds\nexport const Alizarin = '#E74C3C'\nexport const Pomegranate = '#C0392B'\n\n// Grays\nexport const Porcelain = '#ECF0F1'\nexport const Clouds = '#ECF0F1'\nexport const Silver = '#BDC3C7'\nexport const Concrete = '#95A5A6'\nexport const Asbestos = '#7F8C8D'\n\n// Status\nexport const Done = Turquoise\nexport const New = Alizarin\nexport const Taken = SunFlower\n","import React, { PropTypes } from 'react'\nimport Dimensions from 'react-dimensions'\n\nimport Position from './Position'\n\nconst Map = React.createClass({\n positionSize: 30,\n\n propTypes: {\n containerWidth: PropTypes.number.isRequired,\n containerHeight: PropTypes.number.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string.isRequired,\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired\n }).isRequired,\n positions: PropTypes.arrayOf(PropTypes.shape(Position.propTypes)).isRequired,\n selectedPositionId: PropTypes.number,\n onPositionClick: PropTypes.func,\n onPositionGrab: PropTypes.func,\n onPositionRelease: PropTypes.func,\n zoom: PropTypes.number,\n pan: PropTypes.shape({\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired\n }),\n animate: PropTypes.bool\n },\n\n getDefaultProps() {\n return {\n zoom: 1,\n pan: {\n x: 0,\n y: 0\n },\n animate: false\n }\n },\n\n getViewBox() {\n let { containerWidth, containerHeight } = this.props\n return `0 0 ${containerWidth} ${containerHeight}`\n },\n\n getTranslate() {\n let { pan, zoom } = this.props\n let { x, y } = pan\n\n return `translate(${-x * zoom}px, ${-y * zoom}px)`\n },\n\n getScale() {\n return `scale(${this.props.zoom})`\n },\n\n getStyle() {\n return {\n width: '100%',\n height: '100%',\n background: '#000'\n }\n },\n\n render () {\n return (\n this.svg = svg}\n onWheel={this.props.onWheel}\n onMouseUp={this.props.onMouseUp}\n onMouseDown={this.props.onMouseDown}\n onMouseMove={this.props.onMouseMove}\n onMouseLeave={this.props.onMouseLeave}\n onTouchStart={this.props.onTouchStart}\n onTouchMove={this.props.onTouchMove}\n onTouchCancel={this.props.onTouchCancel}\n onTouchEnd={this.props.onTouchEnd}\n >\n \n \n \n \n {this.props.positions.map(position => {\n return (\n \n )\n })}\n \n \n )\n }\n})\n\nexport default Dimensions()(Map)\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\n/* @preserve\n * The MIT License (MIT)\n * \n * Copyright (c) 2013-2018 Petka Antonov\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n * \n */\n\n/**\n * bluebird build version 3.7.2\n * Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each\n*/\n!function (e) {\n if (\"object\" == (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) && \"undefined\" != typeof module) module.exports = e();else if (\"function\" == typeof define && define.amd) define([], e);else {\n var f;\n \"undefined\" != typeof window ? f = window : \"undefined\" != typeof global ? f = global : \"undefined\" != typeof self && (f = self), f.Promise = e();\n }\n}(function () {\n var define, module, exports;\n return function e(t, n, r) {\n function s(o, u) {\n if (!n[o]) {\n if (!t[o]) {\n var a = typeof _dereq_ == \"function\" && _dereq_;\n if (!u && a) return a(o, !0);\n if (i) return i(o, !0);\n var f = new Error(\"Cannot find module '\" + o + \"'\");\n throw f.code = \"MODULE_NOT_FOUND\", f;\n }\n\n var l = n[o] = {\n exports: {}\n };\n t[o][0].call(l.exports, function (e) {\n var n = t[o][1][e];\n return s(n ? n : e);\n }, l, l.exports, e, t, n, r);\n }\n\n return n[o].exports;\n }\n\n var i = typeof _dereq_ == \"function\" && _dereq_;\n\n for (var o = 0; o < r.length; o++) {\n s(r[o]);\n }\n\n return s;\n }({\n 1: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise) {\n var SomePromiseArray = Promise._SomePromiseArray;\n\n function any(promises) {\n var ret = new SomePromiseArray(promises);\n var promise = ret.promise();\n ret.setHowMany(1);\n ret.setUnwrap();\n ret.init();\n return promise;\n }\n\n Promise.any = function (promises) {\n return any(promises);\n };\n\n Promise.prototype.any = function () {\n return any(this);\n };\n };\n }, {}],\n 2: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var firstLineError;\n\n try {\n throw new Error();\n } catch (e) {\n firstLineError = e;\n }\n\n var schedule = _dereq_(\"./schedule\");\n\n var Queue = _dereq_(\"./queue\");\n\n function Async() {\n this._customScheduler = false;\n this._isTickUsed = false;\n this._lateQueue = new Queue(16);\n this._normalQueue = new Queue(16);\n this._haveDrainedQueues = false;\n var self = this;\n\n this.drainQueues = function () {\n self._drainQueues();\n };\n\n this._schedule = schedule;\n }\n\n Async.prototype.setScheduler = function (fn) {\n var prev = this._schedule;\n this._schedule = fn;\n this._customScheduler = true;\n return prev;\n };\n\n Async.prototype.hasCustomScheduler = function () {\n return this._customScheduler;\n };\n\n Async.prototype.haveItemsQueued = function () {\n return this._isTickUsed || this._haveDrainedQueues;\n };\n\n Async.prototype.fatalError = function (e, isNode) {\n if (isNode) {\n process.stderr.write(\"Fatal \" + (e instanceof Error ? e.stack : e) + \"\\n\");\n process.exit(2);\n } else {\n this.throwLater(e);\n }\n };\n\n Async.prototype.throwLater = function (fn, arg) {\n if (arguments.length === 1) {\n arg = fn;\n\n fn = function fn() {\n throw arg;\n };\n }\n\n if (typeof setTimeout !== \"undefined\") {\n setTimeout(function () {\n fn(arg);\n }, 0);\n } else try {\n this._schedule(function () {\n fn(arg);\n });\n } catch (e) {\n throw new Error(\"No async scheduler available\\n\\n See http://goo.gl/MqrFmX\\n\");\n }\n };\n\n function AsyncInvokeLater(fn, receiver, arg) {\n this._lateQueue.push(fn, receiver, arg);\n\n this._queueTick();\n }\n\n function AsyncInvoke(fn, receiver, arg) {\n this._normalQueue.push(fn, receiver, arg);\n\n this._queueTick();\n }\n\n function AsyncSettlePromises(promise) {\n this._normalQueue._pushOne(promise);\n\n this._queueTick();\n }\n\n Async.prototype.invokeLater = AsyncInvokeLater;\n Async.prototype.invoke = AsyncInvoke;\n Async.prototype.settlePromises = AsyncSettlePromises;\n\n function _drainQueue(queue) {\n while (queue.length() > 0) {\n _drainQueueStep(queue);\n }\n }\n\n function _drainQueueStep(queue) {\n var fn = queue.shift();\n\n if (typeof fn !== \"function\") {\n fn._settlePromises();\n } else {\n var receiver = queue.shift();\n var arg = queue.shift();\n fn.call(receiver, arg);\n }\n }\n\n Async.prototype._drainQueues = function () {\n _drainQueue(this._normalQueue);\n\n this._reset();\n\n this._haveDrainedQueues = true;\n\n _drainQueue(this._lateQueue);\n };\n\n Async.prototype._queueTick = function () {\n if (!this._isTickUsed) {\n this._isTickUsed = true;\n\n this._schedule(this.drainQueues);\n }\n };\n\n Async.prototype._reset = function () {\n this._isTickUsed = false;\n };\n\n module.exports = Async;\n module.exports.firstLineError = firstLineError;\n }, {\n \"./queue\": 26,\n \"./schedule\": 29\n }],\n 3: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, INTERNAL, tryConvertToPromise, debug) {\n var calledBind = false;\n\n var rejectThis = function rejectThis(_, e) {\n this._reject(e);\n };\n\n var targetRejected = function targetRejected(e, context) {\n context.promiseRejectionQueued = true;\n\n context.bindingPromise._then(rejectThis, rejectThis, null, this, e);\n };\n\n var bindingResolved = function bindingResolved(thisArg, context) {\n if ((this._bitField & 50397184) === 0) {\n this._resolveCallback(context.target);\n }\n };\n\n var bindingRejected = function bindingRejected(e, context) {\n if (!context.promiseRejectionQueued) this._reject(e);\n };\n\n Promise.prototype.bind = function (thisArg) {\n if (!calledBind) {\n calledBind = true;\n Promise.prototype._propagateFrom = debug.propagateFromFunction();\n Promise.prototype._boundValue = debug.boundValueFunction();\n }\n\n var maybePromise = tryConvertToPromise(thisArg);\n var ret = new Promise(INTERNAL);\n\n ret._propagateFrom(this, 1);\n\n var target = this._target();\n\n ret._setBoundTo(maybePromise);\n\n if (maybePromise instanceof Promise) {\n var context = {\n promiseRejectionQueued: false,\n promise: ret,\n target: target,\n bindingPromise: maybePromise\n };\n\n target._then(INTERNAL, targetRejected, undefined, ret, context);\n\n maybePromise._then(bindingResolved, bindingRejected, undefined, ret, context);\n\n ret._setOnCancel(maybePromise);\n } else {\n ret._resolveCallback(target);\n }\n\n return ret;\n };\n\n Promise.prototype._setBoundTo = function (obj) {\n if (obj !== undefined) {\n this._bitField = this._bitField | 2097152;\n this._boundTo = obj;\n } else {\n this._bitField = this._bitField & ~2097152;\n }\n };\n\n Promise.prototype._isBound = function () {\n return (this._bitField & 2097152) === 2097152;\n };\n\n Promise.bind = function (thisArg, value) {\n return Promise.resolve(value).bind(thisArg);\n };\n };\n }, {}],\n 4: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var old;\n if (typeof Promise !== \"undefined\") old = Promise;\n\n function noConflict() {\n try {\n if (Promise === bluebird) Promise = old;\n } catch (e) {}\n\n return bluebird;\n }\n\n var bluebird = _dereq_(\"./promise\")();\n\n bluebird.noConflict = noConflict;\n module.exports = bluebird;\n }, {\n \"./promise\": 22\n }],\n 5: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var cr = Object.create;\n\n if (cr) {\n var callerCache = cr(null);\n var getterCache = cr(null);\n callerCache[\" size\"] = getterCache[\" size\"] = 0;\n }\n\n module.exports = function (Promise) {\n var util = _dereq_(\"./util\");\n\n var canEvaluate = util.canEvaluate;\n var isIdentifier = util.isIdentifier;\n var getMethodCaller;\n var getGetter;\n\n if (!true) {\n var makeMethodCaller = function makeMethodCaller(methodName) {\n return new Function(\"ensureMethod\", \" \\n\\\n return function(obj) { \\n\\\n 'use strict' \\n\\\n var len = this.length; \\n\\\n ensureMethod(obj, 'methodName'); \\n\\\n switch(len) { \\n\\\n case 1: return obj.methodName(this[0]); \\n\\\n case 2: return obj.methodName(this[0], this[1]); \\n\\\n case 3: return obj.methodName(this[0], this[1], this[2]); \\n\\\n case 0: return obj.methodName(); \\n\\\n default: \\n\\\n return obj.methodName.apply(obj, this); \\n\\\n } \\n\\\n }; \\n\\\n \".replace(/methodName/g, methodName))(ensureMethod);\n };\n\n var makeGetter = function makeGetter(propertyName) {\n return new Function(\"obj\", \" \\n\\\n 'use strict'; \\n\\\n return obj.propertyName; \\n\\\n \".replace(\"propertyName\", propertyName));\n };\n\n var getCompiled = function getCompiled(name, compiler, cache) {\n var ret = cache[name];\n\n if (typeof ret !== \"function\") {\n if (!isIdentifier(name)) {\n return null;\n }\n\n ret = compiler(name);\n cache[name] = ret;\n cache[\" size\"]++;\n\n if (cache[\" size\"] > 512) {\n var keys = Object.keys(cache);\n\n for (var i = 0; i < 256; ++i) {\n delete cache[keys[i]];\n }\n\n cache[\" size\"] = keys.length - 256;\n }\n }\n\n return ret;\n };\n\n getMethodCaller = function getMethodCaller(name) {\n return getCompiled(name, makeMethodCaller, callerCache);\n };\n\n getGetter = function getGetter(name) {\n return getCompiled(name, makeGetter, getterCache);\n };\n }\n\n function ensureMethod(obj, methodName) {\n var fn;\n if (obj != null) fn = obj[methodName];\n\n if (typeof fn !== \"function\") {\n var message = \"Object \" + util.classString(obj) + \" has no method '\" + util.toString(methodName) + \"'\";\n throw new Promise.TypeError(message);\n }\n\n return fn;\n }\n\n function caller(obj) {\n var methodName = this.pop();\n var fn = ensureMethod(obj, methodName);\n return fn.apply(obj, this);\n }\n\n Promise.prototype.call = function (methodName) {\n var args = [].slice.call(arguments, 1);\n ;\n\n if (!true) {\n if (canEvaluate) {\n var maybeCaller = getMethodCaller(methodName);\n\n if (maybeCaller !== null) {\n return this._then(maybeCaller, undefined, undefined, args, undefined);\n }\n }\n }\n\n args.push(methodName);\n return this._then(caller, undefined, undefined, args, undefined);\n };\n\n function namedGetter(obj) {\n return obj[this];\n }\n\n function indexedGetter(obj) {\n var index = +this;\n if (index < 0) index = Math.max(0, index + obj.length);\n return obj[index];\n }\n\n Promise.prototype.get = function (propertyName) {\n var isIndex = typeof propertyName === \"number\";\n var getter;\n\n if (!isIndex) {\n if (canEvaluate) {\n var maybeGetter = getGetter(propertyName);\n getter = maybeGetter !== null ? maybeGetter : namedGetter;\n } else {\n getter = namedGetter;\n }\n } else {\n getter = indexedGetter;\n }\n\n return this._then(getter, undefined, undefined, propertyName, undefined);\n };\n };\n }, {\n \"./util\": 36\n }],\n 6: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, PromiseArray, apiRejection, debug) {\n var util = _dereq_(\"./util\");\n\n var tryCatch = util.tryCatch;\n var errorObj = util.errorObj;\n var async = Promise._async;\n\n Promise.prototype[\"break\"] = Promise.prototype.cancel = function () {\n if (!debug.cancellation()) return this._warn(\"cancellation is disabled\");\n var promise = this;\n var child = promise;\n\n while (promise._isCancellable()) {\n if (!promise._cancelBy(child)) {\n if (child._isFollowing()) {\n child._followee().cancel();\n } else {\n child._cancelBranched();\n }\n\n break;\n }\n\n var parent = promise._cancellationParent;\n\n if (parent == null || !parent._isCancellable()) {\n if (promise._isFollowing()) {\n promise._followee().cancel();\n } else {\n promise._cancelBranched();\n }\n\n break;\n } else {\n if (promise._isFollowing()) promise._followee().cancel();\n\n promise._setWillBeCancelled();\n\n child = promise;\n promise = parent;\n }\n }\n };\n\n Promise.prototype._branchHasCancelled = function () {\n this._branchesRemainingToCancel--;\n };\n\n Promise.prototype._enoughBranchesHaveCancelled = function () {\n return this._branchesRemainingToCancel === undefined || this._branchesRemainingToCancel <= 0;\n };\n\n Promise.prototype._cancelBy = function (canceller) {\n if (canceller === this) {\n this._branchesRemainingToCancel = 0;\n\n this._invokeOnCancel();\n\n return true;\n } else {\n this._branchHasCancelled();\n\n if (this._enoughBranchesHaveCancelled()) {\n this._invokeOnCancel();\n\n return true;\n }\n }\n\n return false;\n };\n\n Promise.prototype._cancelBranched = function () {\n if (this._enoughBranchesHaveCancelled()) {\n this._cancel();\n }\n };\n\n Promise.prototype._cancel = function () {\n if (!this._isCancellable()) return;\n\n this._setCancelled();\n\n async.invoke(this._cancelPromises, this, undefined);\n };\n\n Promise.prototype._cancelPromises = function () {\n if (this._length() > 0) this._settlePromises();\n };\n\n Promise.prototype._unsetOnCancel = function () {\n this._onCancelField = undefined;\n };\n\n Promise.prototype._isCancellable = function () {\n return this.isPending() && !this._isCancelled();\n };\n\n Promise.prototype.isCancellable = function () {\n return this.isPending() && !this.isCancelled();\n };\n\n Promise.prototype._doInvokeOnCancel = function (onCancelCallback, internalOnly) {\n if (util.isArray(onCancelCallback)) {\n for (var i = 0; i < onCancelCallback.length; ++i) {\n this._doInvokeOnCancel(onCancelCallback[i], internalOnly);\n }\n } else if (onCancelCallback !== undefined) {\n if (typeof onCancelCallback === \"function\") {\n if (!internalOnly) {\n var e = tryCatch(onCancelCallback).call(this._boundValue());\n\n if (e === errorObj) {\n this._attachExtraTrace(e.e);\n\n async.throwLater(e.e);\n }\n }\n } else {\n onCancelCallback._resultCancelled(this);\n }\n }\n };\n\n Promise.prototype._invokeOnCancel = function () {\n var onCancelCallback = this._onCancel();\n\n this._unsetOnCancel();\n\n async.invoke(this._doInvokeOnCancel, this, onCancelCallback);\n };\n\n Promise.prototype._invokeInternalOnCancel = function () {\n if (this._isCancellable()) {\n this._doInvokeOnCancel(this._onCancel(), true);\n\n this._unsetOnCancel();\n }\n };\n\n Promise.prototype._resultCancelled = function () {\n this.cancel();\n };\n };\n }, {\n \"./util\": 36\n }],\n 7: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (NEXT_FILTER) {\n var util = _dereq_(\"./util\");\n\n var getKeys = _dereq_(\"./es5\").keys;\n\n var tryCatch = util.tryCatch;\n var errorObj = util.errorObj;\n\n function catchFilter(instances, cb, promise) {\n return function (e) {\n var boundTo = promise._boundValue();\n\n predicateLoop: for (var i = 0; i < instances.length; ++i) {\n var item = instances[i];\n\n if (item === Error || item != null && item.prototype instanceof Error) {\n if (e instanceof item) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (typeof item === \"function\") {\n var matchesPredicate = tryCatch(item).call(boundTo, e);\n\n if (matchesPredicate === errorObj) {\n return matchesPredicate;\n } else if (matchesPredicate) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (util.isObject(e)) {\n var keys = getKeys(item);\n\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n\n if (item[key] != e[key]) {\n continue predicateLoop;\n }\n }\n\n return tryCatch(cb).call(boundTo, e);\n }\n }\n\n return NEXT_FILTER;\n };\n }\n\n return catchFilter;\n };\n }, {\n \"./es5\": 13,\n \"./util\": 36\n }],\n 8: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise) {\n var longStackTraces = false;\n var contextStack = [];\n\n Promise.prototype._promiseCreated = function () {};\n\n Promise.prototype._pushContext = function () {};\n\n Promise.prototype._popContext = function () {\n return null;\n };\n\n Promise._peekContext = Promise.prototype._peekContext = function () {};\n\n function Context() {\n this._trace = new Context.CapturedTrace(peekContext());\n }\n\n Context.prototype._pushContext = function () {\n if (this._trace !== undefined) {\n this._trace._promiseCreated = null;\n contextStack.push(this._trace);\n }\n };\n\n Context.prototype._popContext = function () {\n if (this._trace !== undefined) {\n var trace = contextStack.pop();\n var ret = trace._promiseCreated;\n trace._promiseCreated = null;\n return ret;\n }\n\n return null;\n };\n\n function createContext() {\n if (longStackTraces) return new Context();\n }\n\n function peekContext() {\n var lastIndex = contextStack.length - 1;\n\n if (lastIndex >= 0) {\n return contextStack[lastIndex];\n }\n\n return undefined;\n }\n\n Context.CapturedTrace = null;\n Context.create = createContext;\n\n Context.deactivateLongStackTraces = function () {};\n\n Context.activateLongStackTraces = function () {\n var Promise_pushContext = Promise.prototype._pushContext;\n var Promise_popContext = Promise.prototype._popContext;\n var Promise_PeekContext = Promise._peekContext;\n var Promise_peekContext = Promise.prototype._peekContext;\n var Promise_promiseCreated = Promise.prototype._promiseCreated;\n\n Context.deactivateLongStackTraces = function () {\n Promise.prototype._pushContext = Promise_pushContext;\n Promise.prototype._popContext = Promise_popContext;\n Promise._peekContext = Promise_PeekContext;\n Promise.prototype._peekContext = Promise_peekContext;\n Promise.prototype._promiseCreated = Promise_promiseCreated;\n longStackTraces = false;\n };\n\n longStackTraces = true;\n Promise.prototype._pushContext = Context.prototype._pushContext;\n Promise.prototype._popContext = Context.prototype._popContext;\n Promise._peekContext = Promise.prototype._peekContext = peekContext;\n\n Promise.prototype._promiseCreated = function () {\n var ctx = this._peekContext();\n\n if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this;\n };\n };\n\n return Context;\n };\n }, {}],\n 9: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, Context, enableAsyncHooks, disableAsyncHooks) {\n var async = Promise._async;\n\n var Warning = _dereq_(\"./errors\").Warning;\n\n var util = _dereq_(\"./util\");\n\n var es5 = _dereq_(\"./es5\");\n\n var canAttachTrace = util.canAttachTrace;\n var unhandledRejectionHandled;\n var possiblyUnhandledRejection;\n var bluebirdFramePattern = /[\\\\\\/]bluebird[\\\\\\/]js[\\\\\\/](release|debug|instrumented)/;\n var nodeFramePattern = /\\((?:timers\\.js):\\d+:\\d+\\)/;\n var parseLinePattern = /[\\/<\\(](.+?):(\\d+):(\\d+)\\)?\\s*$/;\n var stackFramePattern = null;\n var formatStack = null;\n var indentStackFrames = false;\n var printWarning;\n var debugging = !!(util.env(\"BLUEBIRD_DEBUG\") != 0 && (true || util.env(\"BLUEBIRD_DEBUG\") || util.env(\"NODE_ENV\") === \"development\"));\n var warnings = !!(util.env(\"BLUEBIRD_WARNINGS\") != 0 && (debugging || util.env(\"BLUEBIRD_WARNINGS\")));\n var longStackTraces = !!(util.env(\"BLUEBIRD_LONG_STACK_TRACES\") != 0 && (debugging || util.env(\"BLUEBIRD_LONG_STACK_TRACES\")));\n var wForgottenReturn = util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\") != 0 && (warnings || !!util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\"));\n var deferUnhandledRejectionCheck;\n\n (function () {\n var promises = [];\n\n function unhandledRejectionCheck() {\n for (var i = 0; i < promises.length; ++i) {\n promises[i]._notifyUnhandledRejection();\n }\n\n unhandledRejectionClear();\n }\n\n function unhandledRejectionClear() {\n promises.length = 0;\n }\n\n deferUnhandledRejectionCheck = function deferUnhandledRejectionCheck(promise) {\n promises.push(promise);\n setTimeout(unhandledRejectionCheck, 1);\n };\n\n es5.defineProperty(Promise, \"_unhandledRejectionCheck\", {\n value: unhandledRejectionCheck\n });\n es5.defineProperty(Promise, \"_unhandledRejectionClear\", {\n value: unhandledRejectionClear\n });\n })();\n\n Promise.prototype.suppressUnhandledRejections = function () {\n var target = this._target();\n\n target._bitField = target._bitField & ~1048576 | 524288;\n };\n\n Promise.prototype._ensurePossibleRejectionHandled = function () {\n if ((this._bitField & 524288) !== 0) return;\n\n this._setRejectionIsUnhandled();\n\n deferUnhandledRejectionCheck(this);\n };\n\n Promise.prototype._notifyUnhandledRejectionIsHandled = function () {\n fireRejectionEvent(\"rejectionHandled\", unhandledRejectionHandled, undefined, this);\n };\n\n Promise.prototype._setReturnedNonUndefined = function () {\n this._bitField = this._bitField | 268435456;\n };\n\n Promise.prototype._returnedNonUndefined = function () {\n return (this._bitField & 268435456) !== 0;\n };\n\n Promise.prototype._notifyUnhandledRejection = function () {\n if (this._isRejectionUnhandled()) {\n var reason = this._settledValue();\n\n this._setUnhandledRejectionIsNotified();\n\n fireRejectionEvent(\"unhandledRejection\", possiblyUnhandledRejection, reason, this);\n }\n };\n\n Promise.prototype._setUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField | 262144;\n };\n\n Promise.prototype._unsetUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField & ~262144;\n };\n\n Promise.prototype._isUnhandledRejectionNotified = function () {\n return (this._bitField & 262144) > 0;\n };\n\n Promise.prototype._setRejectionIsUnhandled = function () {\n this._bitField = this._bitField | 1048576;\n };\n\n Promise.prototype._unsetRejectionIsUnhandled = function () {\n this._bitField = this._bitField & ~1048576;\n\n if (this._isUnhandledRejectionNotified()) {\n this._unsetUnhandledRejectionIsNotified();\n\n this._notifyUnhandledRejectionIsHandled();\n }\n };\n\n Promise.prototype._isRejectionUnhandled = function () {\n return (this._bitField & 1048576) > 0;\n };\n\n Promise.prototype._warn = function (message, shouldUseOwnTrace, promise) {\n return warn(message, shouldUseOwnTrace, promise || this);\n };\n\n Promise.onPossiblyUnhandledRejection = function (fn) {\n var context = Promise._getContext();\n\n possiblyUnhandledRejection = util.contextBind(context, fn);\n };\n\n Promise.onUnhandledRejectionHandled = function (fn) {\n var context = Promise._getContext();\n\n unhandledRejectionHandled = util.contextBind(context, fn);\n };\n\n var disableLongStackTraces = function disableLongStackTraces() {};\n\n Promise.longStackTraces = function () {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\n\\n See http://goo.gl/MqrFmX\\n\");\n }\n\n if (!config.longStackTraces && longStackTracesIsSupported()) {\n var Promise_captureStackTrace = Promise.prototype._captureStackTrace;\n var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace;\n var Promise_dereferenceTrace = Promise.prototype._dereferenceTrace;\n config.longStackTraces = true;\n\n disableLongStackTraces = function disableLongStackTraces() {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\n\\n See http://goo.gl/MqrFmX\\n\");\n }\n\n Promise.prototype._captureStackTrace = Promise_captureStackTrace;\n Promise.prototype._attachExtraTrace = Promise_attachExtraTrace;\n Promise.prototype._dereferenceTrace = Promise_dereferenceTrace;\n Context.deactivateLongStackTraces();\n config.longStackTraces = false;\n };\n\n Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace;\n Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace;\n Promise.prototype._dereferenceTrace = longStackTracesDereferenceTrace;\n Context.activateLongStackTraces();\n }\n };\n\n Promise.hasLongStackTraces = function () {\n return config.longStackTraces && longStackTracesIsSupported();\n };\n\n var legacyHandlers = {\n unhandledrejection: {\n before: function before() {\n var ret = util.global.onunhandledrejection;\n util.global.onunhandledrejection = null;\n return ret;\n },\n after: function after(fn) {\n util.global.onunhandledrejection = fn;\n }\n },\n rejectionhandled: {\n before: function before() {\n var ret = util.global.onrejectionhandled;\n util.global.onrejectionhandled = null;\n return ret;\n },\n after: function after(fn) {\n util.global.onrejectionhandled = fn;\n }\n }\n };\n\n var fireDomEvent = function () {\n var dispatch = function dispatch(legacy, e) {\n if (legacy) {\n var fn;\n\n try {\n fn = legacy.before();\n return !util.global.dispatchEvent(e);\n } finally {\n legacy.after(fn);\n }\n } else {\n return !util.global.dispatchEvent(e);\n }\n };\n\n try {\n if (typeof CustomEvent === \"function\") {\n var event = new CustomEvent(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function (name, event) {\n name = name.toLowerCase();\n var eventData = {\n detail: event,\n cancelable: true\n };\n var domEvent = new CustomEvent(name, eventData);\n es5.defineProperty(domEvent, \"promise\", {\n value: event.promise\n });\n es5.defineProperty(domEvent, \"reason\", {\n value: event.reason\n });\n return dispatch(legacyHandlers[name], domEvent);\n };\n } else if (typeof Event === \"function\") {\n var event = new Event(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function (name, event) {\n name = name.toLowerCase();\n var domEvent = new Event(name, {\n cancelable: true\n });\n domEvent.detail = event;\n es5.defineProperty(domEvent, \"promise\", {\n value: event.promise\n });\n es5.defineProperty(domEvent, \"reason\", {\n value: event.reason\n });\n return dispatch(legacyHandlers[name], domEvent);\n };\n } else {\n var event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(\"testingtheevent\", false, true, {});\n util.global.dispatchEvent(event);\n return function (name, event) {\n name = name.toLowerCase();\n var domEvent = document.createEvent(\"CustomEvent\");\n domEvent.initCustomEvent(name, false, true, event);\n return dispatch(legacyHandlers[name], domEvent);\n };\n }\n } catch (e) {}\n\n return function () {\n return false;\n };\n }();\n\n var fireGlobalEvent = function () {\n if (util.isNode) {\n return function () {\n return process.emit.apply(process, arguments);\n };\n } else {\n if (!util.global) {\n return function () {\n return false;\n };\n }\n\n return function (name) {\n var methodName = \"on\" + name.toLowerCase();\n var method = util.global[methodName];\n if (!method) return false;\n method.apply(util.global, [].slice.call(arguments, 1));\n return true;\n };\n }\n }();\n\n function generatePromiseLifecycleEventObject(name, promise) {\n return {\n promise: promise\n };\n }\n\n var eventToObjectGenerator = {\n promiseCreated: generatePromiseLifecycleEventObject,\n promiseFulfilled: generatePromiseLifecycleEventObject,\n promiseRejected: generatePromiseLifecycleEventObject,\n promiseResolved: generatePromiseLifecycleEventObject,\n promiseCancelled: generatePromiseLifecycleEventObject,\n promiseChained: function promiseChained(name, promise, child) {\n return {\n promise: promise,\n child: child\n };\n },\n warning: function warning(name, _warning) {\n return {\n warning: _warning\n };\n },\n unhandledRejection: function unhandledRejection(name, reason, promise) {\n return {\n reason: reason,\n promise: promise\n };\n },\n rejectionHandled: generatePromiseLifecycleEventObject\n };\n\n var activeFireEvent = function activeFireEvent(name) {\n var globalEventFired = false;\n\n try {\n globalEventFired = fireGlobalEvent.apply(null, arguments);\n } catch (e) {\n async.throwLater(e);\n globalEventFired = true;\n }\n\n var domEventFired = false;\n\n try {\n domEventFired = fireDomEvent(name, eventToObjectGenerator[name].apply(null, arguments));\n } catch (e) {\n async.throwLater(e);\n domEventFired = true;\n }\n\n return domEventFired || globalEventFired;\n };\n\n Promise.config = function (opts) {\n opts = Object(opts);\n\n if (\"longStackTraces\" in opts) {\n if (opts.longStackTraces) {\n Promise.longStackTraces();\n } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) {\n disableLongStackTraces();\n }\n }\n\n if (\"warnings\" in opts) {\n var warningsOption = opts.warnings;\n config.warnings = !!warningsOption;\n wForgottenReturn = config.warnings;\n\n if (util.isObject(warningsOption)) {\n if (\"wForgottenReturn\" in warningsOption) {\n wForgottenReturn = !!warningsOption.wForgottenReturn;\n }\n }\n }\n\n if (\"cancellation\" in opts && opts.cancellation && !config.cancellation) {\n if (async.haveItemsQueued()) {\n throw new Error(\"cannot enable cancellation after promises are in use\");\n }\n\n Promise.prototype._clearCancellationData = cancellationClearCancellationData;\n Promise.prototype._propagateFrom = cancellationPropagateFrom;\n Promise.prototype._onCancel = cancellationOnCancel;\n Promise.prototype._setOnCancel = cancellationSetOnCancel;\n Promise.prototype._attachCancellationCallback = cancellationAttachCancellationCallback;\n Promise.prototype._execute = cancellationExecute;\n _propagateFromFunction = cancellationPropagateFrom;\n config.cancellation = true;\n }\n\n if (\"monitoring\" in opts) {\n if (opts.monitoring && !config.monitoring) {\n config.monitoring = true;\n Promise.prototype._fireEvent = activeFireEvent;\n } else if (!opts.monitoring && config.monitoring) {\n config.monitoring = false;\n Promise.prototype._fireEvent = defaultFireEvent;\n }\n }\n\n if (\"asyncHooks\" in opts && util.nodeSupportsAsyncResource) {\n var prev = config.asyncHooks;\n var cur = !!opts.asyncHooks;\n\n if (prev !== cur) {\n config.asyncHooks = cur;\n\n if (cur) {\n enableAsyncHooks();\n } else {\n disableAsyncHooks();\n }\n }\n }\n\n return Promise;\n };\n\n function defaultFireEvent() {\n return false;\n }\n\n Promise.prototype._fireEvent = defaultFireEvent;\n\n Promise.prototype._execute = function (executor, resolve, reject) {\n try {\n executor(resolve, reject);\n } catch (e) {\n return e;\n }\n };\n\n Promise.prototype._onCancel = function () {};\n\n Promise.prototype._setOnCancel = function (handler) {\n ;\n };\n\n Promise.prototype._attachCancellationCallback = function (onCancel) {\n ;\n };\n\n Promise.prototype._captureStackTrace = function () {};\n\n Promise.prototype._attachExtraTrace = function () {};\n\n Promise.prototype._dereferenceTrace = function () {};\n\n Promise.prototype._clearCancellationData = function () {};\n\n Promise.prototype._propagateFrom = function (parent, flags) {\n ;\n ;\n };\n\n function cancellationExecute(executor, resolve, reject) {\n var promise = this;\n\n try {\n executor(resolve, reject, function (onCancel) {\n if (typeof onCancel !== \"function\") {\n throw new TypeError(\"onCancel must be a function, got: \" + util.toString(onCancel));\n }\n\n promise._attachCancellationCallback(onCancel);\n });\n } catch (e) {\n return e;\n }\n }\n\n function cancellationAttachCancellationCallback(onCancel) {\n if (!this._isCancellable()) return this;\n\n var previousOnCancel = this._onCancel();\n\n if (previousOnCancel !== undefined) {\n if (util.isArray(previousOnCancel)) {\n previousOnCancel.push(onCancel);\n } else {\n this._setOnCancel([previousOnCancel, onCancel]);\n }\n } else {\n this._setOnCancel(onCancel);\n }\n }\n\n function cancellationOnCancel() {\n return this._onCancelField;\n }\n\n function cancellationSetOnCancel(onCancel) {\n this._onCancelField = onCancel;\n }\n\n function cancellationClearCancellationData() {\n this._cancellationParent = undefined;\n this._onCancelField = undefined;\n }\n\n function cancellationPropagateFrom(parent, flags) {\n if ((flags & 1) !== 0) {\n this._cancellationParent = parent;\n var branchesRemainingToCancel = parent._branchesRemainingToCancel;\n\n if (branchesRemainingToCancel === undefined) {\n branchesRemainingToCancel = 0;\n }\n\n parent._branchesRemainingToCancel = branchesRemainingToCancel + 1;\n }\n\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n }\n\n function bindingPropagateFrom(parent, flags) {\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n }\n\n var _propagateFromFunction = bindingPropagateFrom;\n\n function _boundValueFunction() {\n var ret = this._boundTo;\n\n if (ret !== undefined) {\n if (ret instanceof Promise) {\n if (ret.isFulfilled()) {\n return ret.value();\n } else {\n return undefined;\n }\n }\n }\n\n return ret;\n }\n\n function longStackTracesCaptureStackTrace() {\n this._trace = new CapturedTrace(this._peekContext());\n }\n\n function longStackTracesAttachExtraTrace(error, ignoreSelf) {\n if (canAttachTrace(error)) {\n var trace = this._trace;\n\n if (trace !== undefined) {\n if (ignoreSelf) trace = trace._parent;\n }\n\n if (trace !== undefined) {\n trace.attachExtraTrace(error);\n } else if (!error.__stackCleaned__) {\n var parsed = parseStackAndMessage(error);\n util.notEnumerableProp(error, \"stack\", parsed.message + \"\\n\" + parsed.stack.join(\"\\n\"));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n }\n }\n }\n\n function longStackTracesDereferenceTrace() {\n this._trace = undefined;\n }\n\n function checkForgottenReturns(returnValue, promiseCreated, name, promise, parent) {\n if (returnValue === undefined && promiseCreated !== null && wForgottenReturn) {\n if (parent !== undefined && parent._returnedNonUndefined()) return;\n if ((promise._bitField & 65535) === 0) return;\n if (name) name = name + \" \";\n var handlerLine = \"\";\n var creatorLine = \"\";\n\n if (promiseCreated._trace) {\n var traceLines = promiseCreated._trace.stack.split(\"\\n\");\n\n var stack = cleanStack(traceLines);\n\n for (var i = stack.length - 1; i >= 0; --i) {\n var line = stack[i];\n\n if (!nodeFramePattern.test(line)) {\n var lineMatches = line.match(parseLinePattern);\n\n if (lineMatches) {\n handlerLine = \"at \" + lineMatches[1] + \":\" + lineMatches[2] + \":\" + lineMatches[3] + \" \";\n }\n\n break;\n }\n }\n\n if (stack.length > 0) {\n var firstUserLine = stack[0];\n\n for (var i = 0; i < traceLines.length; ++i) {\n if (traceLines[i] === firstUserLine) {\n if (i > 0) {\n creatorLine = \"\\n\" + traceLines[i - 1];\n }\n\n break;\n }\n }\n }\n }\n\n var msg = \"a promise was created in a \" + name + \"handler \" + handlerLine + \"but was not returned from it, \" + \"see http://goo.gl/rRqMUw\" + creatorLine;\n\n promise._warn(msg, true, promiseCreated);\n }\n }\n\n function deprecated(name, replacement) {\n var message = name + \" is deprecated and will be removed in a future version.\";\n if (replacement) message += \" Use \" + replacement + \" instead.\";\n return warn(message);\n }\n\n function warn(message, shouldUseOwnTrace, promise) {\n if (!config.warnings) return;\n var warning = new Warning(message);\n var ctx;\n\n if (shouldUseOwnTrace) {\n promise._attachExtraTrace(warning);\n } else if (config.longStackTraces && (ctx = Promise._peekContext())) {\n ctx.attachExtraTrace(warning);\n } else {\n var parsed = parseStackAndMessage(warning);\n warning.stack = parsed.message + \"\\n\" + parsed.stack.join(\"\\n\");\n }\n\n if (!activeFireEvent(\"warning\", warning)) {\n formatAndLogError(warning, \"\", true);\n }\n }\n\n function reconstructStack(message, stacks) {\n for (var i = 0; i < stacks.length - 1; ++i) {\n stacks[i].push(\"From previous event:\");\n stacks[i] = stacks[i].join(\"\\n\");\n }\n\n if (i < stacks.length) {\n stacks[i] = stacks[i].join(\"\\n\");\n }\n\n return message + \"\\n\" + stacks.join(\"\\n\");\n }\n\n function removeDuplicateOrEmptyJumps(stacks) {\n for (var i = 0; i < stacks.length; ++i) {\n if (stacks[i].length === 0 || i + 1 < stacks.length && stacks[i][0] === stacks[i + 1][0]) {\n stacks.splice(i, 1);\n i--;\n }\n }\n }\n\n function removeCommonRoots(stacks) {\n var current = stacks[0];\n\n for (var i = 1; i < stacks.length; ++i) {\n var prev = stacks[i];\n var currentLastIndex = current.length - 1;\n var currentLastLine = current[currentLastIndex];\n var commonRootMeetPoint = -1;\n\n for (var j = prev.length - 1; j >= 0; --j) {\n if (prev[j] === currentLastLine) {\n commonRootMeetPoint = j;\n break;\n }\n }\n\n for (var j = commonRootMeetPoint; j >= 0; --j) {\n var line = prev[j];\n\n if (current[currentLastIndex] === line) {\n current.pop();\n currentLastIndex--;\n } else {\n break;\n }\n }\n\n current = prev;\n }\n }\n\n function cleanStack(stack) {\n var ret = [];\n\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n var isTraceLine = \" (No stack trace)\" === line || stackFramePattern.test(line);\n var isInternalFrame = isTraceLine && shouldIgnore(line);\n\n if (isTraceLine && !isInternalFrame) {\n if (indentStackFrames && line.charAt(0) !== \" \") {\n line = \" \" + line;\n }\n\n ret.push(line);\n }\n }\n\n return ret;\n }\n\n function stackFramesAsArray(error) {\n var stack = error.stack.replace(/\\s+$/g, \"\").split(\"\\n\");\n\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n\n if (\" (No stack trace)\" === line || stackFramePattern.test(line)) {\n break;\n }\n }\n\n if (i > 0 && error.name != \"SyntaxError\") {\n stack = stack.slice(i);\n }\n\n return stack;\n }\n\n function parseStackAndMessage(error) {\n var stack = error.stack;\n var message = error.toString();\n stack = typeof stack === \"string\" && stack.length > 0 ? stackFramesAsArray(error) : [\" (No stack trace)\"];\n return {\n message: message,\n stack: error.name == \"SyntaxError\" ? stack : cleanStack(stack)\n };\n }\n\n function formatAndLogError(error, title, isSoft) {\n if (typeof console !== \"undefined\") {\n var message;\n\n if (util.isObject(error)) {\n var stack = error.stack;\n message = title + formatStack(stack, error);\n } else {\n message = title + String(error);\n }\n\n if (typeof printWarning === \"function\") {\n printWarning(message, isSoft);\n } else if (typeof console.log === \"function\" || _typeof(console.log) === \"object\") {\n console.log(message);\n }\n }\n }\n\n function fireRejectionEvent(name, localHandler, reason, promise) {\n var localEventFired = false;\n\n try {\n if (typeof localHandler === \"function\") {\n localEventFired = true;\n\n if (name === \"rejectionHandled\") {\n localHandler(promise);\n } else {\n localHandler(reason, promise);\n }\n }\n } catch (e) {\n async.throwLater(e);\n }\n\n if (name === \"unhandledRejection\") {\n if (!activeFireEvent(name, reason, promise) && !localEventFired) {\n formatAndLogError(reason, \"Unhandled rejection \");\n }\n } else {\n activeFireEvent(name, promise);\n }\n }\n\n function formatNonError(obj) {\n var str;\n\n if (typeof obj === \"function\") {\n str = \"[function \" + (obj.name || \"anonymous\") + \"]\";\n } else {\n str = obj && typeof obj.toString === \"function\" ? obj.toString() : util.toString(obj);\n var ruselessToString = /\\[object [a-zA-Z0-9$_]+\\]/;\n\n if (ruselessToString.test(str)) {\n try {\n var newStr = JSON.stringify(obj);\n str = newStr;\n } catch (e) {}\n }\n\n if (str.length === 0) {\n str = \"(empty array)\";\n }\n }\n\n return \"(<\" + snip(str) + \">, no stack trace)\";\n }\n\n function snip(str) {\n var maxChars = 41;\n\n if (str.length < maxChars) {\n return str;\n }\n\n return str.substr(0, maxChars - 3) + \"...\";\n }\n\n function longStackTracesIsSupported() {\n return typeof captureStackTrace === \"function\";\n }\n\n var shouldIgnore = function shouldIgnore() {\n return false;\n };\n\n var parseLineInfoRegex = /[\\/<\\(]([^:\\/]+):(\\d+):(?:\\d+)\\)?\\s*$/;\n\n function parseLineInfo(line) {\n var matches = line.match(parseLineInfoRegex);\n\n if (matches) {\n return {\n fileName: matches[1],\n line: parseInt(matches[2], 10)\n };\n }\n }\n\n function setBounds(firstLineError, lastLineError) {\n if (!longStackTracesIsSupported()) return;\n var firstStackLines = (firstLineError.stack || \"\").split(\"\\n\");\n var lastStackLines = (lastLineError.stack || \"\").split(\"\\n\");\n var firstIndex = -1;\n var lastIndex = -1;\n var firstFileName;\n var lastFileName;\n\n for (var i = 0; i < firstStackLines.length; ++i) {\n var result = parseLineInfo(firstStackLines[i]);\n\n if (result) {\n firstFileName = result.fileName;\n firstIndex = result.line;\n break;\n }\n }\n\n for (var i = 0; i < lastStackLines.length; ++i) {\n var result = parseLineInfo(lastStackLines[i]);\n\n if (result) {\n lastFileName = result.fileName;\n lastIndex = result.line;\n break;\n }\n }\n\n if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || firstFileName !== lastFileName || firstIndex >= lastIndex) {\n return;\n }\n\n shouldIgnore = function shouldIgnore(line) {\n if (bluebirdFramePattern.test(line)) return true;\n var info = parseLineInfo(line);\n\n if (info) {\n if (info.fileName === firstFileName && firstIndex <= info.line && info.line <= lastIndex) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function CapturedTrace(parent) {\n this._parent = parent;\n this._promisesCreated = 0;\n var length = this._length = 1 + (parent === undefined ? 0 : parent._length);\n captureStackTrace(this, CapturedTrace);\n if (length > 32) this.uncycle();\n }\n\n util.inherits(CapturedTrace, Error);\n Context.CapturedTrace = CapturedTrace;\n\n CapturedTrace.prototype.uncycle = function () {\n var length = this._length;\n if (length < 2) return;\n var nodes = [];\n var stackToIndex = {};\n\n for (var i = 0, node = this; node !== undefined; ++i) {\n nodes.push(node);\n node = node._parent;\n }\n\n length = this._length = i;\n\n for (var i = length - 1; i >= 0; --i) {\n var stack = nodes[i].stack;\n\n if (stackToIndex[stack] === undefined) {\n stackToIndex[stack] = i;\n }\n }\n\n for (var i = 0; i < length; ++i) {\n var currentStack = nodes[i].stack;\n var index = stackToIndex[currentStack];\n\n if (index !== undefined && index !== i) {\n if (index > 0) {\n nodes[index - 1]._parent = undefined;\n nodes[index - 1]._length = 1;\n }\n\n nodes[i]._parent = undefined;\n nodes[i]._length = 1;\n var cycleEdgeNode = i > 0 ? nodes[i - 1] : this;\n\n if (index < length - 1) {\n cycleEdgeNode._parent = nodes[index + 1];\n\n cycleEdgeNode._parent.uncycle();\n\n cycleEdgeNode._length = cycleEdgeNode._parent._length + 1;\n } else {\n cycleEdgeNode._parent = undefined;\n cycleEdgeNode._length = 1;\n }\n\n var currentChildLength = cycleEdgeNode._length + 1;\n\n for (var j = i - 2; j >= 0; --j) {\n nodes[j]._length = currentChildLength;\n currentChildLength++;\n }\n\n return;\n }\n }\n };\n\n CapturedTrace.prototype.attachExtraTrace = function (error) {\n if (error.__stackCleaned__) return;\n this.uncycle();\n var parsed = parseStackAndMessage(error);\n var message = parsed.message;\n var stacks = [parsed.stack];\n var trace = this;\n\n while (trace !== undefined) {\n stacks.push(cleanStack(trace.stack.split(\"\\n\")));\n trace = trace._parent;\n }\n\n removeCommonRoots(stacks);\n removeDuplicateOrEmptyJumps(stacks);\n util.notEnumerableProp(error, \"stack\", reconstructStack(message, stacks));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n };\n\n var captureStackTrace = function stackDetection() {\n var v8stackFramePattern = /^\\s*at\\s*/;\n\n var v8stackFormatter = function v8stackFormatter(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if (error.name !== undefined && error.message !== undefined) {\n return error.toString();\n }\n\n return formatNonError(error);\n };\n\n if (typeof Error.stackTraceLimit === \"number\" && typeof Error.captureStackTrace === \"function\") {\n Error.stackTraceLimit += 6;\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n var captureStackTrace = Error.captureStackTrace;\n\n shouldIgnore = function shouldIgnore(line) {\n return bluebirdFramePattern.test(line);\n };\n\n return function (receiver, ignoreUntil) {\n Error.stackTraceLimit += 6;\n captureStackTrace(receiver, ignoreUntil);\n Error.stackTraceLimit -= 6;\n };\n }\n\n var err = new Error();\n\n if (typeof err.stack === \"string\" && err.stack.split(\"\\n\")[0].indexOf(\"stackDetection@\") >= 0) {\n stackFramePattern = /@/;\n formatStack = v8stackFormatter;\n indentStackFrames = true;\n return function captureStackTrace(o) {\n o.stack = new Error().stack;\n };\n }\n\n var hasStackAfterThrow;\n\n try {\n throw new Error();\n } catch (e) {\n hasStackAfterThrow = \"stack\" in e;\n }\n\n if (!(\"stack\" in err) && hasStackAfterThrow && typeof Error.stackTraceLimit === \"number\") {\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n return function captureStackTrace(o) {\n Error.stackTraceLimit += 6;\n\n try {\n throw new Error();\n } catch (e) {\n o.stack = e.stack;\n }\n\n Error.stackTraceLimit -= 6;\n };\n }\n\n formatStack = function formatStack(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if ((_typeof(error) === \"object\" || typeof error === \"function\") && error.name !== undefined && error.message !== undefined) {\n return error.toString();\n }\n\n return formatNonError(error);\n };\n\n return null;\n }([]);\n\n if (typeof console !== \"undefined\" && typeof console.warn !== \"undefined\") {\n printWarning = function printWarning(message) {\n console.warn(message);\n };\n\n if (util.isNode && process.stderr.isTTY) {\n printWarning = function printWarning(message, isSoft) {\n var color = isSoft ? \"\\x1B[33m\" : \"\\x1B[31m\";\n console.warn(color + message + \"\\x1B[0m\\n\");\n };\n } else if (!util.isNode && typeof new Error().stack === \"string\") {\n printWarning = function printWarning(message, isSoft) {\n console.warn(\"%c\" + message, isSoft ? \"color: darkorange\" : \"color: red\");\n };\n }\n }\n\n var config = {\n warnings: warnings,\n longStackTraces: false,\n cancellation: false,\n monitoring: false,\n asyncHooks: false\n };\n if (longStackTraces) Promise.longStackTraces();\n return {\n asyncHooks: function asyncHooks() {\n return config.asyncHooks;\n },\n longStackTraces: function longStackTraces() {\n return config.longStackTraces;\n },\n warnings: function warnings() {\n return config.warnings;\n },\n cancellation: function cancellation() {\n return config.cancellation;\n },\n monitoring: function monitoring() {\n return config.monitoring;\n },\n propagateFromFunction: function propagateFromFunction() {\n return _propagateFromFunction;\n },\n boundValueFunction: function boundValueFunction() {\n return _boundValueFunction;\n },\n checkForgottenReturns: checkForgottenReturns,\n setBounds: setBounds,\n warn: warn,\n deprecated: deprecated,\n CapturedTrace: CapturedTrace,\n fireDomEvent: fireDomEvent,\n fireGlobalEvent: fireGlobalEvent\n };\n };\n }, {\n \"./errors\": 12,\n \"./es5\": 13,\n \"./util\": 36\n }],\n 10: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise) {\n function returner() {\n return this.value;\n }\n\n function thrower() {\n throw this.reason;\n }\n\n Promise.prototype[\"return\"] = Promise.prototype.thenReturn = function (value) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(returner, undefined, undefined, {\n value: value\n }, undefined);\n };\n\n Promise.prototype[\"throw\"] = Promise.prototype.thenThrow = function (reason) {\n return this._then(thrower, undefined, undefined, {\n reason: reason\n }, undefined);\n };\n\n Promise.prototype.catchThrow = function (reason) {\n if (arguments.length <= 1) {\n return this._then(undefined, thrower, undefined, {\n reason: reason\n }, undefined);\n } else {\n var _reason = arguments[1];\n\n var handler = function handler() {\n throw _reason;\n };\n\n return this.caught(reason, handler);\n }\n };\n\n Promise.prototype.catchReturn = function (value) {\n if (arguments.length <= 1) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(undefined, returner, undefined, {\n value: value\n }, undefined);\n } else {\n var _value = arguments[1];\n if (_value instanceof Promise) _value.suppressUnhandledRejections();\n\n var handler = function handler() {\n return _value;\n };\n\n return this.caught(value, handler);\n }\n };\n };\n }, {}],\n 11: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, INTERNAL) {\n var PromiseReduce = Promise.reduce;\n var PromiseAll = Promise.all;\n\n function promiseAllThis() {\n return PromiseAll(this);\n }\n\n function PromiseMapSeries(promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, INTERNAL);\n }\n\n Promise.prototype.each = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, 0)._then(promiseAllThis, undefined, undefined, this, undefined);\n };\n\n Promise.prototype.mapSeries = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, INTERNAL);\n };\n\n Promise.each = function (promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, 0)._then(promiseAllThis, undefined, undefined, promises, undefined);\n };\n\n Promise.mapSeries = PromiseMapSeries;\n };\n }, {}],\n 12: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var es5 = _dereq_(\"./es5\");\n\n var Objectfreeze = es5.freeze;\n\n var util = _dereq_(\"./util\");\n\n var inherits = util.inherits;\n var notEnumerableProp = util.notEnumerableProp;\n\n function subError(nameProperty, defaultMessage) {\n function SubError(message) {\n if (!(this instanceof SubError)) return new SubError(message);\n notEnumerableProp(this, \"message\", typeof message === \"string\" ? message : defaultMessage);\n notEnumerableProp(this, \"name\", nameProperty);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n Error.call(this);\n }\n }\n\n inherits(SubError, Error);\n return SubError;\n }\n\n var _TypeError, _RangeError;\n\n var Warning = subError(\"Warning\", \"warning\");\n var CancellationError = subError(\"CancellationError\", \"cancellation error\");\n var TimeoutError = subError(\"TimeoutError\", \"timeout error\");\n var AggregateError = subError(\"AggregateError\", \"aggregate error\");\n\n try {\n _TypeError = TypeError;\n _RangeError = RangeError;\n } catch (e) {\n _TypeError = subError(\"TypeError\", \"type error\");\n _RangeError = subError(\"RangeError\", \"range error\");\n }\n\n var methods = (\"join pop push shift unshift slice filter forEach some \" + \"every map indexOf lastIndexOf reduce reduceRight sort reverse\").split(\" \");\n\n for (var i = 0; i < methods.length; ++i) {\n if (typeof Array.prototype[methods[i]] === \"function\") {\n AggregateError.prototype[methods[i]] = Array.prototype[methods[i]];\n }\n }\n\n es5.defineProperty(AggregateError.prototype, \"length\", {\n value: 0,\n configurable: false,\n writable: true,\n enumerable: true\n });\n AggregateError.prototype[\"isOperational\"] = true;\n var level = 0;\n\n AggregateError.prototype.toString = function () {\n var indent = Array(level * 4 + 1).join(\" \");\n var ret = \"\\n\" + indent + \"AggregateError of:\" + \"\\n\";\n level++;\n indent = Array(level * 4 + 1).join(\" \");\n\n for (var i = 0; i < this.length; ++i) {\n var str = this[i] === this ? \"[Circular AggregateError]\" : this[i] + \"\";\n var lines = str.split(\"\\n\");\n\n for (var j = 0; j < lines.length; ++j) {\n lines[j] = indent + lines[j];\n }\n\n str = lines.join(\"\\n\");\n ret += str + \"\\n\";\n }\n\n level--;\n return ret;\n };\n\n function OperationalError(message) {\n if (!(this instanceof OperationalError)) return new OperationalError(message);\n notEnumerableProp(this, \"name\", \"OperationalError\");\n notEnumerableProp(this, \"message\", message);\n this.cause = message;\n this[\"isOperational\"] = true;\n\n if (message instanceof Error) {\n notEnumerableProp(this, \"message\", message.message);\n notEnumerableProp(this, \"stack\", message.stack);\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n inherits(OperationalError, Error);\n var errorTypes = Error[\"__BluebirdErrorTypes__\"];\n\n if (!errorTypes) {\n errorTypes = Objectfreeze({\n CancellationError: CancellationError,\n TimeoutError: TimeoutError,\n OperationalError: OperationalError,\n RejectionError: OperationalError,\n AggregateError: AggregateError\n });\n es5.defineProperty(Error, \"__BluebirdErrorTypes__\", {\n value: errorTypes,\n writable: false,\n enumerable: false,\n configurable: false\n });\n }\n\n module.exports = {\n Error: Error,\n TypeError: _TypeError,\n RangeError: _RangeError,\n CancellationError: errorTypes.CancellationError,\n OperationalError: errorTypes.OperationalError,\n TimeoutError: errorTypes.TimeoutError,\n AggregateError: errorTypes.AggregateError,\n Warning: Warning\n };\n }, {\n \"./es5\": 13,\n \"./util\": 36\n }],\n 13: [function (_dereq_, module, exports) {\n var isES5 = function () {\n \"use strict\";\n\n return this === undefined;\n }();\n\n if (isES5) {\n module.exports = {\n freeze: Object.freeze,\n defineProperty: Object.defineProperty,\n getDescriptor: Object.getOwnPropertyDescriptor,\n keys: Object.keys,\n names: Object.getOwnPropertyNames,\n getPrototypeOf: Object.getPrototypeOf,\n isArray: Array.isArray,\n isES5: isES5,\n propertyIsWritable: function propertyIsWritable(obj, prop) {\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n return !!(!descriptor || descriptor.writable || descriptor.set);\n }\n };\n } else {\n var has = {}.hasOwnProperty;\n var str = {}.toString;\n var proto = {}.constructor.prototype;\n\n var ObjectKeys = function ObjectKeys(o) {\n var ret = [];\n\n for (var key in o) {\n if (has.call(o, key)) {\n ret.push(key);\n }\n }\n\n return ret;\n };\n\n var ObjectGetDescriptor = function ObjectGetDescriptor(o, key) {\n return {\n value: o[key]\n };\n };\n\n var ObjectDefineProperty = function ObjectDefineProperty(o, key, desc) {\n o[key] = desc.value;\n return o;\n };\n\n var ObjectFreeze = function ObjectFreeze(obj) {\n return obj;\n };\n\n var ObjectGetPrototypeOf = function ObjectGetPrototypeOf(obj) {\n try {\n return Object(obj).constructor.prototype;\n } catch (e) {\n return proto;\n }\n };\n\n var ArrayIsArray = function ArrayIsArray(obj) {\n try {\n return str.call(obj) === \"[object Array]\";\n } catch (e) {\n return false;\n }\n };\n\n module.exports = {\n isArray: ArrayIsArray,\n keys: ObjectKeys,\n names: ObjectKeys,\n defineProperty: ObjectDefineProperty,\n getDescriptor: ObjectGetDescriptor,\n freeze: ObjectFreeze,\n getPrototypeOf: ObjectGetPrototypeOf,\n isES5: isES5,\n propertyIsWritable: function propertyIsWritable() {\n return true;\n }\n };\n }\n }, {}],\n 14: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, INTERNAL) {\n var PromiseMap = Promise.map;\n\n Promise.prototype.filter = function (fn, options) {\n return PromiseMap(this, fn, options, INTERNAL);\n };\n\n Promise.filter = function (promises, fn, options) {\n return PromiseMap(promises, fn, options, INTERNAL);\n };\n };\n }, {}],\n 15: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, tryConvertToPromise, NEXT_FILTER) {\n var util = _dereq_(\"./util\");\n\n var CancellationError = Promise.CancellationError;\n var errorObj = util.errorObj;\n\n var catchFilter = _dereq_(\"./catch_filter\")(NEXT_FILTER);\n\n function PassThroughHandlerContext(promise, type, handler) {\n this.promise = promise;\n this.type = type;\n this.handler = handler;\n this.called = false;\n this.cancelPromise = null;\n }\n\n PassThroughHandlerContext.prototype.isFinallyHandler = function () {\n return this.type === 0;\n };\n\n function FinallyHandlerCancelReaction(finallyHandler) {\n this.finallyHandler = finallyHandler;\n }\n\n FinallyHandlerCancelReaction.prototype._resultCancelled = function () {\n checkCancel(this.finallyHandler);\n };\n\n function checkCancel(ctx, reason) {\n if (ctx.cancelPromise != null) {\n if (arguments.length > 1) {\n ctx.cancelPromise._reject(reason);\n } else {\n ctx.cancelPromise._cancel();\n }\n\n ctx.cancelPromise = null;\n return true;\n }\n\n return false;\n }\n\n function succeed() {\n return finallyHandler.call(this, this.promise._target()._settledValue());\n }\n\n function fail(reason) {\n if (checkCancel(this, reason)) return;\n errorObj.e = reason;\n return errorObj;\n }\n\n function finallyHandler(reasonOrValue) {\n var promise = this.promise;\n var handler = this.handler;\n\n if (!this.called) {\n this.called = true;\n var ret = this.isFinallyHandler() ? handler.call(promise._boundValue()) : handler.call(promise._boundValue(), reasonOrValue);\n\n if (ret === NEXT_FILTER) {\n return ret;\n } else if (ret !== undefined) {\n promise._setReturnedNonUndefined();\n\n var maybePromise = tryConvertToPromise(ret, promise);\n\n if (maybePromise instanceof Promise) {\n if (this.cancelPromise != null) {\n if (maybePromise._isCancelled()) {\n var reason = new CancellationError(\"late cancellation observer\");\n\n promise._attachExtraTrace(reason);\n\n errorObj.e = reason;\n return errorObj;\n } else if (maybePromise.isPending()) {\n maybePromise._attachCancellationCallback(new FinallyHandlerCancelReaction(this));\n }\n }\n\n return maybePromise._then(succeed, fail, undefined, this, undefined);\n }\n }\n }\n\n if (promise.isRejected()) {\n checkCancel(this);\n errorObj.e = reasonOrValue;\n return errorObj;\n } else {\n checkCancel(this);\n return reasonOrValue;\n }\n }\n\n Promise.prototype._passThrough = function (handler, type, success, fail) {\n if (typeof handler !== \"function\") return this.then();\n return this._then(success, fail, undefined, new PassThroughHandlerContext(this, type, handler), undefined);\n };\n\n Promise.prototype.lastly = Promise.prototype[\"finally\"] = function (handler) {\n return this._passThrough(handler, 0, finallyHandler, finallyHandler);\n };\n\n Promise.prototype.tap = function (handler) {\n return this._passThrough(handler, 1, finallyHandler);\n };\n\n Promise.prototype.tapCatch = function (handlerOrPredicate) {\n var len = arguments.length;\n\n if (len === 1) {\n return this._passThrough(handlerOrPredicate, 1, undefined, finallyHandler);\n } else {\n var catchInstances = new Array(len - 1),\n j = 0,\n i;\n\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return Promise.reject(new TypeError(\"tapCatch statement predicate: \" + \"expecting an object but got \" + util.classString(item)));\n }\n }\n\n catchInstances.length = j;\n var handler = arguments[i];\n return this._passThrough(catchFilter(catchInstances, handler, this), 1, undefined, finallyHandler);\n }\n };\n\n return PassThroughHandlerContext;\n };\n }, {\n \"./catch_filter\": 7,\n \"./util\": 36\n }],\n 16: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug) {\n var errors = _dereq_(\"./errors\");\n\n var TypeError = errors.TypeError;\n\n var util = _dereq_(\"./util\");\n\n var errorObj = util.errorObj;\n var tryCatch = util.tryCatch;\n var yieldHandlers = [];\n\n function promiseFromYieldHandler(value, yieldHandlers, traceParent) {\n for (var i = 0; i < yieldHandlers.length; ++i) {\n traceParent._pushContext();\n\n var result = tryCatch(yieldHandlers[i])(value);\n\n traceParent._popContext();\n\n if (result === errorObj) {\n traceParent._pushContext();\n\n var ret = Promise.reject(errorObj.e);\n\n traceParent._popContext();\n\n return ret;\n }\n\n var maybePromise = tryConvertToPromise(result, traceParent);\n if (maybePromise instanceof Promise) return maybePromise;\n }\n\n return null;\n }\n\n function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) {\n if (debug.cancellation()) {\n var internal = new Promise(INTERNAL);\n\n var _finallyPromise = this._finallyPromise = new Promise(INTERNAL);\n\n this._promise = internal.lastly(function () {\n return _finallyPromise;\n });\n\n internal._captureStackTrace();\n\n internal._setOnCancel(this);\n } else {\n var promise = this._promise = new Promise(INTERNAL);\n\n promise._captureStackTrace();\n }\n\n this._stack = stack;\n this._generatorFunction = generatorFunction;\n this._receiver = receiver;\n this._generator = undefined;\n this._yieldHandlers = typeof yieldHandler === \"function\" ? [yieldHandler].concat(yieldHandlers) : yieldHandlers;\n this._yieldedPromise = null;\n this._cancellationPhase = false;\n }\n\n util.inherits(PromiseSpawn, Proxyable);\n\n PromiseSpawn.prototype._isResolved = function () {\n return this._promise === null;\n };\n\n PromiseSpawn.prototype._cleanup = function () {\n this._promise = this._generator = null;\n\n if (debug.cancellation() && this._finallyPromise !== null) {\n this._finallyPromise._fulfill();\n\n this._finallyPromise = null;\n }\n };\n\n PromiseSpawn.prototype._promiseCancelled = function () {\n if (this._isResolved()) return;\n var implementsReturn = typeof this._generator[\"return\"] !== \"undefined\";\n var result;\n\n if (!implementsReturn) {\n var reason = new Promise.CancellationError(\"generator .return() sentinel\");\n Promise.coroutine.returnSentinel = reason;\n\n this._promise._attachExtraTrace(reason);\n\n this._promise._pushContext();\n\n result = tryCatch(this._generator[\"throw\"]).call(this._generator, reason);\n\n this._promise._popContext();\n } else {\n this._promise._pushContext();\n\n result = tryCatch(this._generator[\"return\"]).call(this._generator, undefined);\n\n this._promise._popContext();\n }\n\n this._cancellationPhase = true;\n this._yieldedPromise = null;\n\n this._continue(result);\n };\n\n PromiseSpawn.prototype._promiseFulfilled = function (value) {\n this._yieldedPromise = null;\n\n this._promise._pushContext();\n\n var result = tryCatch(this._generator.next).call(this._generator, value);\n\n this._promise._popContext();\n\n this._continue(result);\n };\n\n PromiseSpawn.prototype._promiseRejected = function (reason) {\n this._yieldedPromise = null;\n\n this._promise._attachExtraTrace(reason);\n\n this._promise._pushContext();\n\n var result = tryCatch(this._generator[\"throw\"]).call(this._generator, reason);\n\n this._promise._popContext();\n\n this._continue(result);\n };\n\n PromiseSpawn.prototype._resultCancelled = function () {\n if (this._yieldedPromise instanceof Promise) {\n var promise = this._yieldedPromise;\n this._yieldedPromise = null;\n promise.cancel();\n }\n };\n\n PromiseSpawn.prototype.promise = function () {\n return this._promise;\n };\n\n PromiseSpawn.prototype._run = function () {\n this._generator = this._generatorFunction.call(this._receiver);\n this._receiver = this._generatorFunction = undefined;\n\n this._promiseFulfilled(undefined);\n };\n\n PromiseSpawn.prototype._continue = function (result) {\n var promise = this._promise;\n\n if (result === errorObj) {\n this._cleanup();\n\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._rejectCallback(result.e, false);\n }\n }\n\n var value = result.value;\n\n if (result.done === true) {\n this._cleanup();\n\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._resolveCallback(value);\n }\n } else {\n var maybePromise = tryConvertToPromise(value, this._promise);\n\n if (!(maybePromise instanceof Promise)) {\n maybePromise = promiseFromYieldHandler(maybePromise, this._yieldHandlers, this._promise);\n\n if (maybePromise === null) {\n this._promiseRejected(new TypeError(\"A value %s was yielded that could not be treated as a promise\\n\\n See http://goo.gl/MqrFmX\\n\\n\".replace(\"%s\", String(value)) + \"From coroutine:\\n\" + this._stack.split(\"\\n\").slice(1, -7).join(\"\\n\")));\n\n return;\n }\n }\n\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n\n if ((bitField & 50397184) === 0) {\n this._yieldedPromise = maybePromise;\n\n maybePromise._proxy(this, null);\n } else if ((bitField & 33554432) !== 0) {\n Promise._async.invoke(this._promiseFulfilled, this, maybePromise._value());\n } else if ((bitField & 16777216) !== 0) {\n Promise._async.invoke(this._promiseRejected, this, maybePromise._reason());\n } else {\n this._promiseCancelled();\n }\n }\n };\n\n Promise.coroutine = function (generatorFunction, options) {\n if (typeof generatorFunction !== \"function\") {\n throw new TypeError(\"generatorFunction must be a function\\n\\n See http://goo.gl/MqrFmX\\n\");\n }\n\n var yieldHandler = Object(options).yieldHandler;\n var PromiseSpawn$ = PromiseSpawn;\n var stack = new Error().stack;\n return function () {\n var generator = generatorFunction.apply(this, arguments);\n var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler, stack);\n var ret = spawn.promise();\n spawn._generator = generator;\n\n spawn._promiseFulfilled(undefined);\n\n return ret;\n };\n };\n\n Promise.coroutine.addYieldHandler = function (fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n\n yieldHandlers.push(fn);\n };\n\n Promise.spawn = function (generatorFunction) {\n debug.deprecated(\"Promise.spawn()\", \"Promise.coroutine()\");\n\n if (typeof generatorFunction !== \"function\") {\n return apiRejection(\"generatorFunction must be a function\\n\\n See http://goo.gl/MqrFmX\\n\");\n }\n\n var spawn = new PromiseSpawn(generatorFunction, this);\n var ret = spawn.promise();\n\n spawn._run(Promise.spawn);\n\n return ret;\n };\n };\n }, {\n \"./errors\": 12,\n \"./util\": 36\n }],\n 17: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, PromiseArray, tryConvertToPromise, INTERNAL, async) {\n var util = _dereq_(\"./util\");\n\n var canEvaluate = util.canEvaluate;\n var tryCatch = util.tryCatch;\n var errorObj = util.errorObj;\n var reject;\n\n if (!true) {\n if (canEvaluate) {\n var thenCallback = function thenCallback(i) {\n return new Function(\"value\", \"holder\", \" \\n\\\n 'use strict'; \\n\\\n holder.pIndex = value; \\n\\\n holder.checkFulfillment(this); \\n\\\n \".replace(/Index/g, i));\n };\n\n var promiseSetter = function promiseSetter(i) {\n return new Function(\"promise\", \"holder\", \" \\n\\\n 'use strict'; \\n\\\n holder.pIndex = promise; \\n\\\n \".replace(/Index/g, i));\n };\n\n var generateHolderClass = function generateHolderClass(total) {\n var props = new Array(total);\n\n for (var i = 0; i < props.length; ++i) {\n props[i] = \"this.p\" + (i + 1);\n }\n\n var assignment = props.join(\" = \") + \" = null;\";\n var cancellationCode = \"var promise;\\n\" + props.map(function (prop) {\n return \" \\n\\\n promise = \" + prop + \"; \\n\\\n if (promise instanceof Promise) { \\n\\\n promise.cancel(); \\n\\\n } \\n\\\n \";\n }).join(\"\\n\");\n var passedArguments = props.join(\", \");\n var name = \"Holder$\" + total;\n var code = \"return function(tryCatch, errorObj, Promise, async) { \\n\\\n 'use strict'; \\n\\\n function [TheName](fn) { \\n\\\n [TheProperties] \\n\\\n this.fn = fn; \\n\\\n this.asyncNeeded = true; \\n\\\n this.now = 0; \\n\\\n } \\n\\\n \\n\\\n [TheName].prototype._callFunction = function(promise) { \\n\\\n promise._pushContext(); \\n\\\n var ret = tryCatch(this.fn)([ThePassedArguments]); \\n\\\n promise._popContext(); \\n\\\n if (ret === errorObj) { \\n\\\n promise._rejectCallback(ret.e, false); \\n\\\n } else { \\n\\\n promise._resolveCallback(ret); \\n\\\n } \\n\\\n }; \\n\\\n \\n\\\n [TheName].prototype.checkFulfillment = function(promise) { \\n\\\n var now = ++this.now; \\n\\\n if (now === [TheTotal]) { \\n\\\n if (this.asyncNeeded) { \\n\\\n async.invoke(this._callFunction, this, promise); \\n\\\n } else { \\n\\\n this._callFunction(promise); \\n\\\n } \\n\\\n \\n\\\n } \\n\\\n }; \\n\\\n \\n\\\n [TheName].prototype._resultCancelled = function() { \\n\\\n [CancellationCode] \\n\\\n }; \\n\\\n \\n\\\n return [TheName]; \\n\\\n }(tryCatch, errorObj, Promise, async); \\n\\\n \";\n code = code.replace(/\\[TheName\\]/g, name).replace(/\\[TheTotal\\]/g, total).replace(/\\[ThePassedArguments\\]/g, passedArguments).replace(/\\[TheProperties\\]/g, assignment).replace(/\\[CancellationCode\\]/g, cancellationCode);\n return new Function(\"tryCatch\", \"errorObj\", \"Promise\", \"async\", code)(tryCatch, errorObj, Promise, async);\n };\n\n var holderClasses = [];\n var thenCallbacks = [];\n var promiseSetters = [];\n\n for (var i = 0; i < 8; ++i) {\n holderClasses.push(generateHolderClass(i + 1));\n thenCallbacks.push(thenCallback(i + 1));\n promiseSetters.push(promiseSetter(i + 1));\n }\n\n reject = function reject(reason) {\n this._reject(reason);\n };\n }\n }\n\n Promise.join = function () {\n var last = arguments.length - 1;\n var fn;\n\n if (last > 0 && typeof arguments[last] === \"function\") {\n fn = arguments[last];\n\n if (!true) {\n if (last <= 8 && canEvaluate) {\n var ret = new Promise(INTERNAL);\n\n ret._captureStackTrace();\n\n var HolderClass = holderClasses[last - 1];\n var holder = new HolderClass(fn);\n var callbacks = thenCallbacks;\n\n for (var i = 0; i < last; ++i) {\n var maybePromise = tryConvertToPromise(arguments[i], ret);\n\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n\n if ((bitField & 50397184) === 0) {\n maybePromise._then(callbacks[i], reject, undefined, ret, holder);\n\n promiseSetters[i](maybePromise, holder);\n holder.asyncNeeded = false;\n } else if ((bitField & 33554432) !== 0) {\n callbacks[i].call(ret, maybePromise._value(), holder);\n } else if ((bitField & 16777216) !== 0) {\n ret._reject(maybePromise._reason());\n } else {\n ret._cancel();\n }\n } else {\n callbacks[i].call(ret, maybePromise, holder);\n }\n }\n\n if (!ret._isFateSealed()) {\n if (holder.asyncNeeded) {\n var context = Promise._getContext();\n\n holder.fn = util.contextBind(context, holder.fn);\n }\n\n ret._setAsyncGuaranteed();\n\n ret._setOnCancel(holder);\n }\n\n return ret;\n }\n }\n }\n\n var args = [].slice.call(arguments);\n ;\n if (fn) args.pop();\n var ret = new PromiseArray(args).promise();\n return fn !== undefined ? ret.spread(fn) : ret;\n };\n };\n }, {\n \"./util\": 36\n }],\n 18: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug) {\n var util = _dereq_(\"./util\");\n\n var tryCatch = util.tryCatch;\n var errorObj = util.errorObj;\n var async = Promise._async;\n\n function MappingPromiseArray(promises, fn, limit, _filter) {\n this.constructor$(promises);\n\n this._promise._captureStackTrace();\n\n var context = Promise._getContext();\n\n this._callback = util.contextBind(context, fn);\n this._preservedValues = _filter === INTERNAL ? new Array(this.length()) : null;\n this._limit = limit;\n this._inFlight = 0;\n this._queue = [];\n async.invoke(this._asyncInit, this, undefined);\n\n if (util.isArray(promises)) {\n for (var i = 0; i < promises.length; ++i) {\n var maybePromise = promises[i];\n\n if (maybePromise instanceof Promise) {\n maybePromise.suppressUnhandledRejections();\n }\n }\n }\n }\n\n util.inherits(MappingPromiseArray, PromiseArray);\n\n MappingPromiseArray.prototype._asyncInit = function () {\n this._init$(undefined, -2);\n };\n\n MappingPromiseArray.prototype._init = function () {};\n\n MappingPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var values = this._values;\n var length = this.length();\n var preservedValues = this._preservedValues;\n var limit = this._limit;\n\n if (index < 0) {\n index = index * -1 - 1;\n values[index] = value;\n\n if (limit >= 1) {\n this._inFlight--;\n\n this._drainQueue();\n\n if (this._isResolved()) return true;\n }\n } else {\n if (limit >= 1 && this._inFlight >= limit) {\n values[index] = value;\n\n this._queue.push(index);\n\n return false;\n }\n\n if (preservedValues !== null) preservedValues[index] = value;\n var promise = this._promise;\n var callback = this._callback;\n\n var receiver = promise._boundValue();\n\n promise._pushContext();\n\n var ret = tryCatch(callback).call(receiver, value, index, length);\n\n var promiseCreated = promise._popContext();\n\n debug.checkForgottenReturns(ret, promiseCreated, preservedValues !== null ? \"Promise.filter\" : \"Promise.map\", promise);\n\n if (ret === errorObj) {\n this._reject(ret.e);\n\n return true;\n }\n\n var maybePromise = tryConvertToPromise(ret, this._promise);\n\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n\n if ((bitField & 50397184) === 0) {\n if (limit >= 1) this._inFlight++;\n values[index] = maybePromise;\n\n maybePromise._proxy(this, (index + 1) * -1);\n\n return false;\n } else if ((bitField & 33554432) !== 0) {\n ret = maybePromise._value();\n } else if ((bitField & 16777216) !== 0) {\n this._reject(maybePromise._reason());\n\n return true;\n } else {\n this._cancel();\n\n return true;\n }\n }\n\n values[index] = ret;\n }\n\n var totalResolved = ++this._totalResolved;\n\n if (totalResolved >= length) {\n if (preservedValues !== null) {\n this._filter(values, preservedValues);\n } else {\n this._resolve(values);\n }\n\n return true;\n }\n\n return false;\n };\n\n MappingPromiseArray.prototype._drainQueue = function () {\n var queue = this._queue;\n var limit = this._limit;\n var values = this._values;\n\n while (queue.length > 0 && this._inFlight < limit) {\n if (this._isResolved()) return;\n var index = queue.pop();\n\n this._promiseFulfilled(values[index], index);\n }\n };\n\n MappingPromiseArray.prototype._filter = function (booleans, values) {\n var len = values.length;\n var ret = new Array(len);\n var j = 0;\n\n for (var i = 0; i < len; ++i) {\n if (booleans[i]) ret[j++] = values[i];\n }\n\n ret.length = j;\n\n this._resolve(ret);\n };\n\n MappingPromiseArray.prototype.preservedValues = function () {\n return this._preservedValues;\n };\n\n function map(promises, fn, options, _filter) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n\n var limit = 0;\n\n if (options !== undefined) {\n if (_typeof(options) === \"object\" && options !== null) {\n if (typeof options.concurrency !== \"number\") {\n return Promise.reject(new TypeError(\"'concurrency' must be a number but it is \" + util.classString(options.concurrency)));\n }\n\n limit = options.concurrency;\n } else {\n return Promise.reject(new TypeError(\"options argument must be an object but it is \" + util.classString(options)));\n }\n }\n\n limit = typeof limit === \"number\" && isFinite(limit) && limit >= 1 ? limit : 0;\n return new MappingPromiseArray(promises, fn, limit, _filter).promise();\n }\n\n Promise.prototype.map = function (fn, options) {\n return map(this, fn, options, null);\n };\n\n Promise.map = function (promises, fn, options, _filter) {\n return map(promises, fn, options, _filter);\n };\n };\n }, {\n \"./util\": 36\n }],\n 19: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) {\n var util = _dereq_(\"./util\");\n\n var tryCatch = util.tryCatch;\n\n Promise.method = function (fn) {\n if (typeof fn !== \"function\") {\n throw new Promise.TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n\n return function () {\n var ret = new Promise(INTERNAL);\n\n ret._captureStackTrace();\n\n ret._pushContext();\n\n var value = tryCatch(fn).apply(this, arguments);\n\n var promiseCreated = ret._popContext();\n\n debug.checkForgottenReturns(value, promiseCreated, \"Promise.method\", ret);\n\n ret._resolveFromSyncValue(value);\n\n return ret;\n };\n };\n\n Promise.attempt = Promise[\"try\"] = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n\n var ret = new Promise(INTERNAL);\n\n ret._captureStackTrace();\n\n ret._pushContext();\n\n var value;\n\n if (arguments.length > 1) {\n debug.deprecated(\"calling Promise.try with more than 1 argument\");\n var arg = arguments[1];\n var ctx = arguments[2];\n value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) : tryCatch(fn).call(ctx, arg);\n } else {\n value = tryCatch(fn)();\n }\n\n var promiseCreated = ret._popContext();\n\n debug.checkForgottenReturns(value, promiseCreated, \"Promise.try\", ret);\n\n ret._resolveFromSyncValue(value);\n\n return ret;\n };\n\n Promise.prototype._resolveFromSyncValue = function (value) {\n if (value === util.errorObj) {\n this._rejectCallback(value.e, false);\n } else {\n this._resolveCallback(value, true);\n }\n };\n };\n }, {\n \"./util\": 36\n }],\n 20: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var util = _dereq_(\"./util\");\n\n var maybeWrapAsError = util.maybeWrapAsError;\n\n var errors = _dereq_(\"./errors\");\n\n var OperationalError = errors.OperationalError;\n\n var es5 = _dereq_(\"./es5\");\n\n function isUntypedError(obj) {\n return obj instanceof Error && es5.getPrototypeOf(obj) === Error.prototype;\n }\n\n var rErrorKey = /^(?:name|message|stack|cause)$/;\n\n function wrapAsOperationalError(obj) {\n var ret;\n\n if (isUntypedError(obj)) {\n ret = new OperationalError(obj);\n ret.name = obj.name;\n ret.message = obj.message;\n ret.stack = obj.stack;\n var keys = es5.keys(obj);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!rErrorKey.test(key)) {\n ret[key] = obj[key];\n }\n }\n\n return ret;\n }\n\n util.markAsOriginatingFromRejection(obj);\n return obj;\n }\n\n function nodebackForPromise(promise, multiArgs) {\n return function (err, value) {\n if (promise === null) return;\n\n if (err) {\n var wrapped = wrapAsOperationalError(maybeWrapAsError(err));\n\n promise._attachExtraTrace(wrapped);\n\n promise._reject(wrapped);\n } else if (!multiArgs) {\n promise._fulfill(value);\n } else {\n var args = [].slice.call(arguments, 1);\n ;\n\n promise._fulfill(args);\n }\n\n promise = null;\n };\n }\n\n module.exports = nodebackForPromise;\n }, {\n \"./errors\": 12,\n \"./es5\": 13,\n \"./util\": 36\n }],\n 21: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise) {\n var util = _dereq_(\"./util\");\n\n var async = Promise._async;\n var tryCatch = util.tryCatch;\n var errorObj = util.errorObj;\n\n function spreadAdapter(val, nodeback) {\n var promise = this;\n if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback);\n var ret = tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val));\n\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n }\n\n function successAdapter(val, nodeback) {\n var promise = this;\n\n var receiver = promise._boundValue();\n\n var ret = val === undefined ? tryCatch(nodeback).call(receiver, null) : tryCatch(nodeback).call(receiver, null, val);\n\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n }\n\n function errorAdapter(reason, nodeback) {\n var promise = this;\n\n if (!reason) {\n var newReason = new Error(reason + \"\");\n newReason.cause = reason;\n reason = newReason;\n }\n\n var ret = tryCatch(nodeback).call(promise._boundValue(), reason);\n\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n }\n\n Promise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback, options) {\n if (typeof nodeback == \"function\") {\n var adapter = successAdapter;\n\n if (options !== undefined && Object(options).spread) {\n adapter = spreadAdapter;\n }\n\n this._then(adapter, errorAdapter, undefined, this, nodeback);\n }\n\n return this;\n };\n };\n }, {\n \"./util\": 36\n }],\n 22: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function () {\n var makeSelfResolutionError = function makeSelfResolutionError() {\n return new TypeError(\"circular promise resolution chain\\n\\n See http://goo.gl/MqrFmX\\n\");\n };\n\n var reflectHandler = function reflectHandler() {\n return new Promise.PromiseInspection(this._target());\n };\n\n var apiRejection = function apiRejection(msg) {\n return Promise.reject(new TypeError(msg));\n };\n\n function Proxyable() {}\n\n var UNDEFINED_BINDING = {};\n\n var util = _dereq_(\"./util\");\n\n util.setReflectHandler(reflectHandler);\n\n var getDomain = function getDomain() {\n var domain = process.domain;\n\n if (domain === undefined) {\n return null;\n }\n\n return domain;\n };\n\n var getContextDefault = function getContextDefault() {\n return null;\n };\n\n var getContextDomain = function getContextDomain() {\n return {\n domain: getDomain(),\n async: null\n };\n };\n\n var AsyncResource = util.isNode && util.nodeSupportsAsyncResource ? _dereq_(\"async_hooks\").AsyncResource : null;\n\n var getContextAsyncHooks = function getContextAsyncHooks() {\n return {\n domain: getDomain(),\n async: new AsyncResource(\"Bluebird::Promise\")\n };\n };\n\n var getContext = util.isNode ? getContextDomain : getContextDefault;\n util.notEnumerableProp(Promise, \"_getContext\", getContext);\n\n var enableAsyncHooks = function enableAsyncHooks() {\n getContext = getContextAsyncHooks;\n util.notEnumerableProp(Promise, \"_getContext\", getContextAsyncHooks);\n };\n\n var disableAsyncHooks = function disableAsyncHooks() {\n getContext = getContextDomain;\n util.notEnumerableProp(Promise, \"_getContext\", getContextDomain);\n };\n\n var es5 = _dereq_(\"./es5\");\n\n var Async = _dereq_(\"./async\");\n\n var async = new Async();\n es5.defineProperty(Promise, \"_async\", {\n value: async\n });\n\n var errors = _dereq_(\"./errors\");\n\n var TypeError = Promise.TypeError = errors.TypeError;\n Promise.RangeError = errors.RangeError;\n var CancellationError = Promise.CancellationError = errors.CancellationError;\n Promise.TimeoutError = errors.TimeoutError;\n Promise.OperationalError = errors.OperationalError;\n Promise.RejectionError = errors.OperationalError;\n Promise.AggregateError = errors.AggregateError;\n\n var INTERNAL = function INTERNAL() {};\n\n var APPLY = {};\n var NEXT_FILTER = {};\n\n var tryConvertToPromise = _dereq_(\"./thenables\")(Promise, INTERNAL);\n\n var PromiseArray = _dereq_(\"./promise_array\")(Promise, INTERNAL, tryConvertToPromise, apiRejection, Proxyable);\n\n var Context = _dereq_(\"./context\")(Promise);\n /*jshint unused:false*/\n\n\n var createContext = Context.create;\n\n var debug = _dereq_(\"./debuggability\")(Promise, Context, enableAsyncHooks, disableAsyncHooks);\n\n var CapturedTrace = debug.CapturedTrace;\n\n var PassThroughHandlerContext = _dereq_(\"./finally\")(Promise, tryConvertToPromise, NEXT_FILTER);\n\n var catchFilter = _dereq_(\"./catch_filter\")(NEXT_FILTER);\n\n var nodebackForPromise = _dereq_(\"./nodeback\");\n\n var errorObj = util.errorObj;\n var tryCatch = util.tryCatch;\n\n function check(self, executor) {\n if (self == null || self.constructor !== Promise) {\n throw new TypeError(\"the promise constructor cannot be invoked directly\\n\\n See http://goo.gl/MqrFmX\\n\");\n }\n\n if (typeof executor !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(executor));\n }\n }\n\n function Promise(executor) {\n if (executor !== INTERNAL) {\n check(this, executor);\n }\n\n this._bitField = 0;\n this._fulfillmentHandler0 = undefined;\n this._rejectionHandler0 = undefined;\n this._promise0 = undefined;\n this._receiver0 = undefined;\n\n this._resolveFromExecutor(executor);\n\n this._promiseCreated();\n\n this._fireEvent(\"promiseCreated\", this);\n }\n\n Promise.prototype.toString = function () {\n return \"[object Promise]\";\n };\n\n Promise.prototype.caught = Promise.prototype[\"catch\"] = function (fn) {\n var len = arguments.length;\n\n if (len > 1) {\n var catchInstances = new Array(len - 1),\n j = 0,\n i;\n\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return apiRejection(\"Catch statement predicate: \" + \"expecting an object but got \" + util.classString(item));\n }\n }\n\n catchInstances.length = j;\n fn = arguments[i];\n\n if (typeof fn !== \"function\") {\n throw new TypeError(\"The last argument to .catch() \" + \"must be a function, got \" + util.toString(fn));\n }\n\n return this.then(undefined, catchFilter(catchInstances, fn, this));\n }\n\n return this.then(undefined, fn);\n };\n\n Promise.prototype.reflect = function () {\n return this._then(reflectHandler, reflectHandler, undefined, this, undefined);\n };\n\n Promise.prototype.then = function (didFulfill, didReject) {\n if (debug.warnings() && arguments.length > 0 && typeof didFulfill !== \"function\" && typeof didReject !== \"function\") {\n var msg = \".then() only accepts functions but was passed: \" + util.classString(didFulfill);\n\n if (arguments.length > 1) {\n msg += \", \" + util.classString(didReject);\n }\n\n this._warn(msg);\n }\n\n return this._then(didFulfill, didReject, undefined, undefined, undefined);\n };\n\n Promise.prototype.done = function (didFulfill, didReject) {\n var promise = this._then(didFulfill, didReject, undefined, undefined, undefined);\n\n promise._setIsFinal();\n };\n\n Promise.prototype.spread = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n\n return this.all()._then(fn, undefined, undefined, APPLY, undefined);\n };\n\n Promise.prototype.toJSON = function () {\n var ret = {\n isFulfilled: false,\n isRejected: false,\n fulfillmentValue: undefined,\n rejectionReason: undefined\n };\n\n if (this.isFulfilled()) {\n ret.fulfillmentValue = this.value();\n ret.isFulfilled = true;\n } else if (this.isRejected()) {\n ret.rejectionReason = this.reason();\n ret.isRejected = true;\n }\n\n return ret;\n };\n\n Promise.prototype.all = function () {\n if (arguments.length > 0) {\n this._warn(\".all() was passed arguments but it does not take any\");\n }\n\n return new PromiseArray(this).promise();\n };\n\n Promise.prototype.error = function (fn) {\n return this.caught(util.originatesFromRejection, fn);\n };\n\n Promise.getNewLibraryCopy = module.exports;\n\n Promise.is = function (val) {\n return val instanceof Promise;\n };\n\n Promise.fromNode = Promise.fromCallback = function (fn) {\n var ret = new Promise(INTERNAL);\n\n ret._captureStackTrace();\n\n var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs : false;\n var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs));\n\n if (result === errorObj) {\n ret._rejectCallback(result.e, true);\n }\n\n if (!ret._isFateSealed()) ret._setAsyncGuaranteed();\n return ret;\n };\n\n Promise.all = function (promises) {\n return new PromiseArray(promises).promise();\n };\n\n Promise.cast = function (obj) {\n var ret = tryConvertToPromise(obj);\n\n if (!(ret instanceof Promise)) {\n ret = new Promise(INTERNAL);\n\n ret._captureStackTrace();\n\n ret._setFulfilled();\n\n ret._rejectionHandler0 = obj;\n }\n\n return ret;\n };\n\n Promise.resolve = Promise.fulfilled = Promise.cast;\n\n Promise.reject = Promise.rejected = function (reason) {\n var ret = new Promise(INTERNAL);\n\n ret._captureStackTrace();\n\n ret._rejectCallback(reason, true);\n\n return ret;\n };\n\n Promise.setScheduler = function (fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n\n return async.setScheduler(fn);\n };\n\n Promise.prototype._then = function (didFulfill, didReject, _, receiver, internalData) {\n var haveInternalData = internalData !== undefined;\n var promise = haveInternalData ? internalData : new Promise(INTERNAL);\n\n var target = this._target();\n\n var bitField = target._bitField;\n\n if (!haveInternalData) {\n promise._propagateFrom(this, 3);\n\n promise._captureStackTrace();\n\n if (receiver === undefined && (this._bitField & 2097152) !== 0) {\n if (!((bitField & 50397184) === 0)) {\n receiver = this._boundValue();\n } else {\n receiver = target === this ? undefined : this._boundTo;\n }\n }\n\n this._fireEvent(\"promiseChained\", this, promise);\n }\n\n var context = getContext();\n\n if (!((bitField & 50397184) === 0)) {\n var handler,\n value,\n settler = target._settlePromiseCtx;\n\n if ((bitField & 33554432) !== 0) {\n value = target._rejectionHandler0;\n handler = didFulfill;\n } else if ((bitField & 16777216) !== 0) {\n value = target._fulfillmentHandler0;\n handler = didReject;\n\n target._unsetRejectionIsUnhandled();\n } else {\n settler = target._settlePromiseLateCancellationObserver;\n value = new CancellationError(\"late cancellation observer\");\n\n target._attachExtraTrace(value);\n\n handler = didReject;\n }\n\n async.invoke(settler, target, {\n handler: util.contextBind(context, handler),\n promise: promise,\n receiver: receiver,\n value: value\n });\n } else {\n target._addCallbacks(didFulfill, didReject, promise, receiver, context);\n }\n\n return promise;\n };\n\n Promise.prototype._length = function () {\n return this._bitField & 65535;\n };\n\n Promise.prototype._isFateSealed = function () {\n return (this._bitField & 117506048) !== 0;\n };\n\n Promise.prototype._isFollowing = function () {\n return (this._bitField & 67108864) === 67108864;\n };\n\n Promise.prototype._setLength = function (len) {\n this._bitField = this._bitField & -65536 | len & 65535;\n };\n\n Promise.prototype._setFulfilled = function () {\n this._bitField = this._bitField | 33554432;\n\n this._fireEvent(\"promiseFulfilled\", this);\n };\n\n Promise.prototype._setRejected = function () {\n this._bitField = this._bitField | 16777216;\n\n this._fireEvent(\"promiseRejected\", this);\n };\n\n Promise.prototype._setFollowing = function () {\n this._bitField = this._bitField | 67108864;\n\n this._fireEvent(\"promiseResolved\", this);\n };\n\n Promise.prototype._setIsFinal = function () {\n this._bitField = this._bitField | 4194304;\n };\n\n Promise.prototype._isFinal = function () {\n return (this._bitField & 4194304) > 0;\n };\n\n Promise.prototype._unsetCancelled = function () {\n this._bitField = this._bitField & ~65536;\n };\n\n Promise.prototype._setCancelled = function () {\n this._bitField = this._bitField | 65536;\n\n this._fireEvent(\"promiseCancelled\", this);\n };\n\n Promise.prototype._setWillBeCancelled = function () {\n this._bitField = this._bitField | 8388608;\n };\n\n Promise.prototype._setAsyncGuaranteed = function () {\n if (async.hasCustomScheduler()) return;\n var bitField = this._bitField;\n this._bitField = bitField | (bitField & 536870912) >> 2 ^ 134217728;\n };\n\n Promise.prototype._setNoAsyncGuarantee = function () {\n this._bitField = (this._bitField | 536870912) & ~134217728;\n };\n\n Promise.prototype._receiverAt = function (index) {\n var ret = index === 0 ? this._receiver0 : this[index * 4 - 4 + 3];\n\n if (ret === UNDEFINED_BINDING) {\n return undefined;\n } else if (ret === undefined && this._isBound()) {\n return this._boundValue();\n }\n\n return ret;\n };\n\n Promise.prototype._promiseAt = function (index) {\n return this[index * 4 - 4 + 2];\n };\n\n Promise.prototype._fulfillmentHandlerAt = function (index) {\n return this[index * 4 - 4 + 0];\n };\n\n Promise.prototype._rejectionHandlerAt = function (index) {\n return this[index * 4 - 4 + 1];\n };\n\n Promise.prototype._boundValue = function () {};\n\n Promise.prototype._migrateCallback0 = function (follower) {\n var bitField = follower._bitField;\n var fulfill = follower._fulfillmentHandler0;\n var reject = follower._rejectionHandler0;\n var promise = follower._promise0;\n\n var receiver = follower._receiverAt(0);\n\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n };\n\n Promise.prototype._migrateCallbackAt = function (follower, index) {\n var fulfill = follower._fulfillmentHandlerAt(index);\n\n var reject = follower._rejectionHandlerAt(index);\n\n var promise = follower._promiseAt(index);\n\n var receiver = follower._receiverAt(index);\n\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n };\n\n Promise.prototype._addCallbacks = function (fulfill, reject, promise, receiver, context) {\n var index = this._length();\n\n if (index >= 65535 - 4) {\n index = 0;\n\n this._setLength(0);\n }\n\n if (index === 0) {\n this._promise0 = promise;\n this._receiver0 = receiver;\n\n if (typeof fulfill === \"function\") {\n this._fulfillmentHandler0 = util.contextBind(context, fulfill);\n }\n\n if (typeof reject === \"function\") {\n this._rejectionHandler0 = util.contextBind(context, reject);\n }\n } else {\n var base = index * 4 - 4;\n this[base + 2] = promise;\n this[base + 3] = receiver;\n\n if (typeof fulfill === \"function\") {\n this[base + 0] = util.contextBind(context, fulfill);\n }\n\n if (typeof reject === \"function\") {\n this[base + 1] = util.contextBind(context, reject);\n }\n }\n\n this._setLength(index + 1);\n\n return index;\n };\n\n Promise.prototype._proxy = function (proxyable, arg) {\n this._addCallbacks(undefined, undefined, arg, proxyable, null);\n };\n\n Promise.prototype._resolveCallback = function (value, shouldBind) {\n if ((this._bitField & 117506048) !== 0) return;\n if (value === this) return this._rejectCallback(makeSelfResolutionError(), false);\n var maybePromise = tryConvertToPromise(value, this);\n if (!(maybePromise instanceof Promise)) return this._fulfill(value);\n if (shouldBind) this._propagateFrom(maybePromise, 2);\n\n var promise = maybePromise._target();\n\n if (promise === this) {\n this._reject(makeSelfResolutionError());\n\n return;\n }\n\n var bitField = promise._bitField;\n\n if ((bitField & 50397184) === 0) {\n var len = this._length();\n\n if (len > 0) promise._migrateCallback0(this);\n\n for (var i = 1; i < len; ++i) {\n promise._migrateCallbackAt(this, i);\n }\n\n this._setFollowing();\n\n this._setLength(0);\n\n this._setFollowee(maybePromise);\n } else if ((bitField & 33554432) !== 0) {\n this._fulfill(promise._value());\n } else if ((bitField & 16777216) !== 0) {\n this._reject(promise._reason());\n } else {\n var reason = new CancellationError(\"late cancellation observer\");\n\n promise._attachExtraTrace(reason);\n\n this._reject(reason);\n }\n };\n\n Promise.prototype._rejectCallback = function (reason, synchronous, ignoreNonErrorWarnings) {\n var trace = util.ensureErrorObject(reason);\n var hasStack = trace === reason;\n\n if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) {\n var message = \"a promise was rejected with a non-error: \" + util.classString(reason);\n\n this._warn(message, true);\n }\n\n this._attachExtraTrace(trace, synchronous ? hasStack : false);\n\n this._reject(reason);\n };\n\n Promise.prototype._resolveFromExecutor = function (executor) {\n if (executor === INTERNAL) return;\n var promise = this;\n\n this._captureStackTrace();\n\n this._pushContext();\n\n var synchronous = true;\n\n var r = this._execute(executor, function (value) {\n promise._resolveCallback(value);\n }, function (reason) {\n promise._rejectCallback(reason, synchronous);\n });\n\n synchronous = false;\n\n this._popContext();\n\n if (r !== undefined) {\n promise._rejectCallback(r, true);\n }\n };\n\n Promise.prototype._settlePromiseFromHandler = function (handler, receiver, value, promise) {\n var bitField = promise._bitField;\n if ((bitField & 65536) !== 0) return;\n\n promise._pushContext();\n\n var x;\n\n if (receiver === APPLY) {\n if (!value || typeof value.length !== \"number\") {\n x = errorObj;\n x.e = new TypeError(\"cannot .spread() a non-array: \" + util.classString(value));\n } else {\n x = tryCatch(handler).apply(this._boundValue(), value);\n }\n } else {\n x = tryCatch(handler).call(receiver, value);\n }\n\n var promiseCreated = promise._popContext();\n\n bitField = promise._bitField;\n if ((bitField & 65536) !== 0) return;\n\n if (x === NEXT_FILTER) {\n promise._reject(value);\n } else if (x === errorObj) {\n promise._rejectCallback(x.e, false);\n } else {\n debug.checkForgottenReturns(x, promiseCreated, \"\", promise, this);\n\n promise._resolveCallback(x);\n }\n };\n\n Promise.prototype._target = function () {\n var ret = this;\n\n while (ret._isFollowing()) {\n ret = ret._followee();\n }\n\n return ret;\n };\n\n Promise.prototype._followee = function () {\n return this._rejectionHandler0;\n };\n\n Promise.prototype._setFollowee = function (promise) {\n this._rejectionHandler0 = promise;\n };\n\n Promise.prototype._settlePromise = function (promise, handler, receiver, value) {\n var isPromise = promise instanceof Promise;\n var bitField = this._bitField;\n var asyncGuaranteed = (bitField & 134217728) !== 0;\n\n if ((bitField & 65536) !== 0) {\n if (isPromise) promise._invokeInternalOnCancel();\n\n if (receiver instanceof PassThroughHandlerContext && receiver.isFinallyHandler()) {\n receiver.cancelPromise = promise;\n\n if (tryCatch(handler).call(receiver, value) === errorObj) {\n promise._reject(errorObj.e);\n }\n } else if (handler === reflectHandler) {\n promise._fulfill(reflectHandler.call(receiver));\n } else if (receiver instanceof Proxyable) {\n receiver._promiseCancelled(promise);\n } else if (isPromise || promise instanceof PromiseArray) {\n promise._cancel();\n } else {\n receiver.cancel();\n }\n } else if (typeof handler === \"function\") {\n if (!isPromise) {\n handler.call(receiver, value, promise);\n } else {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (receiver instanceof Proxyable) {\n if (!receiver._isResolved()) {\n if ((bitField & 33554432) !== 0) {\n receiver._promiseFulfilled(value, promise);\n } else {\n receiver._promiseRejected(value, promise);\n }\n }\n } else if (isPromise) {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n\n if ((bitField & 33554432) !== 0) {\n promise._fulfill(value);\n } else {\n promise._reject(value);\n }\n }\n };\n\n Promise.prototype._settlePromiseLateCancellationObserver = function (ctx) {\n var handler = ctx.handler;\n var promise = ctx.promise;\n var receiver = ctx.receiver;\n var value = ctx.value;\n\n if (typeof handler === \"function\") {\n if (!(promise instanceof Promise)) {\n handler.call(receiver, value, promise);\n } else {\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (promise instanceof Promise) {\n promise._reject(value);\n }\n };\n\n Promise.prototype._settlePromiseCtx = function (ctx) {\n this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value);\n };\n\n Promise.prototype._settlePromise0 = function (handler, value, bitField) {\n var promise = this._promise0;\n\n var receiver = this._receiverAt(0);\n\n this._promise0 = undefined;\n this._receiver0 = undefined;\n\n this._settlePromise(promise, handler, receiver, value);\n };\n\n Promise.prototype._clearCallbackDataAtIndex = function (index) {\n var base = index * 4 - 4;\n this[base + 2] = this[base + 3] = this[base + 0] = this[base + 1] = undefined;\n };\n\n Promise.prototype._fulfill = function (value) {\n var bitField = this._bitField;\n if ((bitField & 117506048) >>> 16) return;\n\n if (value === this) {\n var err = makeSelfResolutionError();\n\n this._attachExtraTrace(err);\n\n return this._reject(err);\n }\n\n this._setFulfilled();\n\n this._rejectionHandler0 = value;\n\n if ((bitField & 65535) > 0) {\n if ((bitField & 134217728) !== 0) {\n this._settlePromises();\n } else {\n async.settlePromises(this);\n }\n\n this._dereferenceTrace();\n }\n };\n\n Promise.prototype._reject = function (reason) {\n var bitField = this._bitField;\n if ((bitField & 117506048) >>> 16) return;\n\n this._setRejected();\n\n this._fulfillmentHandler0 = reason;\n\n if (this._isFinal()) {\n return async.fatalError(reason, util.isNode);\n }\n\n if ((bitField & 65535) > 0) {\n async.settlePromises(this);\n } else {\n this._ensurePossibleRejectionHandled();\n }\n };\n\n Promise.prototype._fulfillPromises = function (len, value) {\n for (var i = 1; i < len; i++) {\n var handler = this._fulfillmentHandlerAt(i);\n\n var promise = this._promiseAt(i);\n\n var receiver = this._receiverAt(i);\n\n this._clearCallbackDataAtIndex(i);\n\n this._settlePromise(promise, handler, receiver, value);\n }\n };\n\n Promise.prototype._rejectPromises = function (len, reason) {\n for (var i = 1; i < len; i++) {\n var handler = this._rejectionHandlerAt(i);\n\n var promise = this._promiseAt(i);\n\n var receiver = this._receiverAt(i);\n\n this._clearCallbackDataAtIndex(i);\n\n this._settlePromise(promise, handler, receiver, reason);\n }\n };\n\n Promise.prototype._settlePromises = function () {\n var bitField = this._bitField;\n var len = bitField & 65535;\n\n if (len > 0) {\n if ((bitField & 16842752) !== 0) {\n var reason = this._fulfillmentHandler0;\n\n this._settlePromise0(this._rejectionHandler0, reason, bitField);\n\n this._rejectPromises(len, reason);\n } else {\n var value = this._rejectionHandler0;\n\n this._settlePromise0(this._fulfillmentHandler0, value, bitField);\n\n this._fulfillPromises(len, value);\n }\n\n this._setLength(0);\n }\n\n this._clearCancellationData();\n };\n\n Promise.prototype._settledValue = function () {\n var bitField = this._bitField;\n\n if ((bitField & 33554432) !== 0) {\n return this._rejectionHandler0;\n } else if ((bitField & 16777216) !== 0) {\n return this._fulfillmentHandler0;\n }\n };\n\n if (typeof Symbol !== \"undefined\" && Symbol.toStringTag) {\n es5.defineProperty(Promise.prototype, Symbol.toStringTag, {\n get: function get() {\n return \"Object\";\n }\n });\n }\n\n function deferResolve(v) {\n this.promise._resolveCallback(v);\n }\n\n function deferReject(v) {\n this.promise._rejectCallback(v, false);\n }\n\n Promise.defer = Promise.pending = function () {\n debug.deprecated(\"Promise.defer\", \"new Promise\");\n var promise = new Promise(INTERNAL);\n return {\n promise: promise,\n resolve: deferResolve,\n reject: deferReject\n };\n };\n\n util.notEnumerableProp(Promise, \"_makeSelfResolutionError\", makeSelfResolutionError);\n\n _dereq_(\"./method\")(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug);\n\n _dereq_(\"./bind\")(Promise, INTERNAL, tryConvertToPromise, debug);\n\n _dereq_(\"./cancel\")(Promise, PromiseArray, apiRejection, debug);\n\n _dereq_(\"./direct_resolve\")(Promise);\n\n _dereq_(\"./synchronous_inspection\")(Promise);\n\n _dereq_(\"./join\")(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async);\n\n Promise.Promise = Promise;\n Promise.version = \"3.7.2\";\n\n _dereq_('./call_get.js')(Promise);\n\n _dereq_('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug);\n\n _dereq_('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n\n _dereq_('./nodeify.js')(Promise);\n\n _dereq_('./promisify.js')(Promise, INTERNAL);\n\n _dereq_('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection);\n\n _dereq_('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection);\n\n _dereq_('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n\n _dereq_('./settle.js')(Promise, PromiseArray, debug);\n\n _dereq_('./some.js')(Promise, PromiseArray, apiRejection);\n\n _dereq_('./timers.js')(Promise, INTERNAL, debug);\n\n _dereq_('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug);\n\n _dereq_('./any.js')(Promise);\n\n _dereq_('./each.js')(Promise, INTERNAL);\n\n _dereq_('./filter.js')(Promise, INTERNAL);\n\n util.toFastProperties(Promise);\n util.toFastProperties(Promise.prototype);\n\n function fillTypes(value) {\n var p = new Promise(INTERNAL);\n p._fulfillmentHandler0 = value;\n p._rejectionHandler0 = value;\n p._promise0 = value;\n p._receiver0 = value;\n } // Complete slack tracking, opt out of field-type tracking and \n // stabilize map \n\n\n fillTypes({\n a: 1\n });\n fillTypes({\n b: 2\n });\n fillTypes({\n c: 3\n });\n fillTypes(1);\n fillTypes(function () {});\n fillTypes(undefined);\n fillTypes(false);\n fillTypes(new Promise(INTERNAL));\n debug.setBounds(Async.firstLineError, util.lastLineError);\n return Promise;\n };\n }, {\n \"./any.js\": 1,\n \"./async\": 2,\n \"./bind\": 3,\n \"./call_get.js\": 5,\n \"./cancel\": 6,\n \"./catch_filter\": 7,\n \"./context\": 8,\n \"./debuggability\": 9,\n \"./direct_resolve\": 10,\n \"./each.js\": 11,\n \"./errors\": 12,\n \"./es5\": 13,\n \"./filter.js\": 14,\n \"./finally\": 15,\n \"./generators.js\": 16,\n \"./join\": 17,\n \"./map.js\": 18,\n \"./method\": 19,\n \"./nodeback\": 20,\n \"./nodeify.js\": 21,\n \"./promise_array\": 23,\n \"./promisify.js\": 24,\n \"./props.js\": 25,\n \"./race.js\": 27,\n \"./reduce.js\": 28,\n \"./settle.js\": 30,\n \"./some.js\": 31,\n \"./synchronous_inspection\": 32,\n \"./thenables\": 33,\n \"./timers.js\": 34,\n \"./using.js\": 35,\n \"./util\": 36,\n \"async_hooks\": undefined\n }],\n 23: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, INTERNAL, tryConvertToPromise, apiRejection, Proxyable) {\n var util = _dereq_(\"./util\");\n\n var isArray = util.isArray;\n\n function toResolutionValue(val) {\n switch (val) {\n case -2:\n return [];\n\n case -3:\n return {};\n\n case -6:\n return new Map();\n }\n }\n\n function PromiseArray(values) {\n var promise = this._promise = new Promise(INTERNAL);\n\n if (values instanceof Promise) {\n promise._propagateFrom(values, 3);\n\n values.suppressUnhandledRejections();\n }\n\n promise._setOnCancel(this);\n\n this._values = values;\n this._length = 0;\n this._totalResolved = 0;\n\n this._init(undefined, -2);\n }\n\n util.inherits(PromiseArray, Proxyable);\n\n PromiseArray.prototype.length = function () {\n return this._length;\n };\n\n PromiseArray.prototype.promise = function () {\n return this._promise;\n };\n\n PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) {\n var values = tryConvertToPromise(this._values, this._promise);\n\n if (values instanceof Promise) {\n values = values._target();\n var bitField = values._bitField;\n ;\n this._values = values;\n\n if ((bitField & 50397184) === 0) {\n this._promise._setAsyncGuaranteed();\n\n return values._then(init, this._reject, undefined, this, resolveValueIfEmpty);\n } else if ((bitField & 33554432) !== 0) {\n values = values._value();\n } else if ((bitField & 16777216) !== 0) {\n return this._reject(values._reason());\n } else {\n return this._cancel();\n }\n }\n\n values = util.asArray(values);\n\n if (values === null) {\n var err = apiRejection(\"expecting an array or an iterable object but got \" + util.classString(values)).reason();\n\n this._promise._rejectCallback(err, false);\n\n return;\n }\n\n if (values.length === 0) {\n if (resolveValueIfEmpty === -5) {\n this._resolveEmptyArray();\n } else {\n this._resolve(toResolutionValue(resolveValueIfEmpty));\n }\n\n return;\n }\n\n this._iterate(values);\n };\n\n PromiseArray.prototype._iterate = function (values) {\n var len = this.getActualLength(values.length);\n this._length = len;\n this._values = this.shouldCopyValues() ? new Array(len) : this._values;\n var result = this._promise;\n var isResolved = false;\n var bitField = null;\n\n for (var i = 0; i < len; ++i) {\n var maybePromise = tryConvertToPromise(values[i], result);\n\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n bitField = maybePromise._bitField;\n } else {\n bitField = null;\n }\n\n if (isResolved) {\n if (bitField !== null) {\n maybePromise.suppressUnhandledRejections();\n }\n } else if (bitField !== null) {\n if ((bitField & 50397184) === 0) {\n maybePromise._proxy(this, i);\n\n this._values[i] = maybePromise;\n } else if ((bitField & 33554432) !== 0) {\n isResolved = this._promiseFulfilled(maybePromise._value(), i);\n } else if ((bitField & 16777216) !== 0) {\n isResolved = this._promiseRejected(maybePromise._reason(), i);\n } else {\n isResolved = this._promiseCancelled(i);\n }\n } else {\n isResolved = this._promiseFulfilled(maybePromise, i);\n }\n }\n\n if (!isResolved) result._setAsyncGuaranteed();\n };\n\n PromiseArray.prototype._isResolved = function () {\n return this._values === null;\n };\n\n PromiseArray.prototype._resolve = function (value) {\n this._values = null;\n\n this._promise._fulfill(value);\n };\n\n PromiseArray.prototype._cancel = function () {\n if (this._isResolved() || !this._promise._isCancellable()) return;\n this._values = null;\n\n this._promise._cancel();\n };\n\n PromiseArray.prototype._reject = function (reason) {\n this._values = null;\n\n this._promise._rejectCallback(reason, false);\n };\n\n PromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n\n return true;\n }\n\n return false;\n };\n\n PromiseArray.prototype._promiseCancelled = function () {\n this._cancel();\n\n return true;\n };\n\n PromiseArray.prototype._promiseRejected = function (reason) {\n this._totalResolved++;\n\n this._reject(reason);\n\n return true;\n };\n\n PromiseArray.prototype._resultCancelled = function () {\n if (this._isResolved()) return;\n var values = this._values;\n\n this._cancel();\n\n if (values instanceof Promise) {\n values.cancel();\n } else {\n for (var i = 0; i < values.length; ++i) {\n if (values[i] instanceof Promise) {\n values[i].cancel();\n }\n }\n }\n };\n\n PromiseArray.prototype.shouldCopyValues = function () {\n return true;\n };\n\n PromiseArray.prototype.getActualLength = function (len) {\n return len;\n };\n\n return PromiseArray;\n };\n }, {\n \"./util\": 36\n }],\n 24: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, INTERNAL) {\n var THIS = {};\n\n var util = _dereq_(\"./util\");\n\n var nodebackForPromise = _dereq_(\"./nodeback\");\n\n var withAppended = util.withAppended;\n var maybeWrapAsError = util.maybeWrapAsError;\n var canEvaluate = util.canEvaluate;\n\n var TypeError = _dereq_(\"./errors\").TypeError;\n\n var defaultSuffix = \"Async\";\n var defaultPromisified = {\n __isPromisified__: true\n };\n var noCopyProps = [\"arity\", \"length\", \"name\", \"arguments\", \"caller\", \"callee\", \"prototype\", \"__isPromisified__\"];\n var noCopyPropsPattern = new RegExp(\"^(?:\" + noCopyProps.join(\"|\") + \")$\");\n\n var defaultFilter = function defaultFilter(name) {\n return util.isIdentifier(name) && name.charAt(0) !== \"_\" && name !== \"constructor\";\n };\n\n function propsFilter(key) {\n return !noCopyPropsPattern.test(key);\n }\n\n function isPromisified(fn) {\n try {\n return fn.__isPromisified__ === true;\n } catch (e) {\n return false;\n }\n }\n\n function hasPromisified(obj, key, suffix) {\n var val = util.getDataPropertyOrDefault(obj, key + suffix, defaultPromisified);\n return val ? isPromisified(val) : false;\n }\n\n function checkValid(ret, suffix, suffixRegexp) {\n for (var i = 0; i < ret.length; i += 2) {\n var key = ret[i];\n\n if (suffixRegexp.test(key)) {\n var keyWithoutAsyncSuffix = key.replace(suffixRegexp, \"\");\n\n for (var j = 0; j < ret.length; j += 2) {\n if (ret[j] === keyWithoutAsyncSuffix) {\n throw new TypeError(\"Cannot promisify an API that has normal methods with '%s'-suffix\\n\\n See http://goo.gl/MqrFmX\\n\".replace(\"%s\", suffix));\n }\n }\n }\n }\n }\n\n function promisifiableMethods(obj, suffix, suffixRegexp, filter) {\n var keys = util.inheritedDataKeys(obj);\n var ret = [];\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var value = obj[key];\n var passesDefaultFilter = filter === defaultFilter ? true : defaultFilter(key, value, obj);\n\n if (typeof value === \"function\" && !isPromisified(value) && !hasPromisified(obj, key, suffix) && filter(key, value, obj, passesDefaultFilter)) {\n ret.push(key, value);\n }\n }\n\n checkValid(ret, suffix, suffixRegexp);\n return ret;\n }\n\n var escapeIdentRegex = function escapeIdentRegex(str) {\n return str.replace(/([$])/, \"\\\\$\");\n };\n\n var makeNodePromisifiedEval;\n\n if (!true) {\n var switchCaseArgumentOrder = function switchCaseArgumentOrder(likelyArgumentCount) {\n var ret = [likelyArgumentCount];\n var min = Math.max(0, likelyArgumentCount - 1 - 3);\n\n for (var i = likelyArgumentCount - 1; i >= min; --i) {\n ret.push(i);\n }\n\n for (var i = likelyArgumentCount + 1; i <= 3; ++i) {\n ret.push(i);\n }\n\n return ret;\n };\n\n var argumentSequence = function argumentSequence(argumentCount) {\n return util.filledRange(argumentCount, \"_arg\", \"\");\n };\n\n var parameterDeclaration = function parameterDeclaration(parameterCount) {\n return util.filledRange(Math.max(parameterCount, 3), \"_arg\", \"\");\n };\n\n var parameterCount = function parameterCount(fn) {\n if (typeof fn.length === \"number\") {\n return Math.max(Math.min(fn.length, 1023 + 1), 0);\n }\n\n return 0;\n };\n\n makeNodePromisifiedEval = function makeNodePromisifiedEval(callback, receiver, originalName, fn, _, multiArgs) {\n var newParameterCount = Math.max(0, parameterCount(fn) - 1);\n var argumentOrder = switchCaseArgumentOrder(newParameterCount);\n var shouldProxyThis = typeof callback === \"string\" || receiver === THIS;\n\n function generateCallForArgumentCount(count) {\n var args = argumentSequence(count).join(\", \");\n var comma = count > 0 ? \", \" : \"\";\n var ret;\n\n if (shouldProxyThis) {\n ret = \"ret = callback.call(this, {{args}}, nodeback); break;\\n\";\n } else {\n ret = receiver === undefined ? \"ret = callback({{args}}, nodeback); break;\\n\" : \"ret = callback.call(receiver, {{args}}, nodeback); break;\\n\";\n }\n\n return ret.replace(\"{{args}}\", args).replace(\", \", comma);\n }\n\n function generateArgumentSwitchCase() {\n var ret = \"\";\n\n for (var i = 0; i < argumentOrder.length; ++i) {\n ret += \"case \" + argumentOrder[i] + \":\" + generateCallForArgumentCount(argumentOrder[i]);\n }\n\n ret += \" \\n\\\n default: \\n\\\n var args = new Array(len + 1); \\n\\\n var i = 0; \\n\\\n for (var i = 0; i < len; ++i) { \\n\\\n args[i] = arguments[i]; \\n\\\n } \\n\\\n args[i] = nodeback; \\n\\\n [CodeForCall] \\n\\\n break; \\n\\\n \".replace(\"[CodeForCall]\", shouldProxyThis ? \"ret = callback.apply(this, args);\\n\" : \"ret = callback.apply(receiver, args);\\n\");\n return ret;\n }\n\n var getFunctionCode = typeof callback === \"string\" ? \"this != null ? this['\" + callback + \"'] : fn\" : \"fn\";\n var body = \"'use strict'; \\n\\\n var ret = function (Parameters) { \\n\\\n 'use strict'; \\n\\\n var len = arguments.length; \\n\\\n var promise = new Promise(INTERNAL); \\n\\\n promise._captureStackTrace(); \\n\\\n var nodeback = nodebackForPromise(promise, \" + multiArgs + \"); \\n\\\n var ret; \\n\\\n var callback = tryCatch([GetFunctionCode]); \\n\\\n switch(len) { \\n\\\n [CodeForSwitchCase] \\n\\\n } \\n\\\n if (ret === errorObj) { \\n\\\n promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\\n\\\n } \\n\\\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \\n\\\n return promise; \\n\\\n }; \\n\\\n notEnumerableProp(ret, '__isPromisified__', true); \\n\\\n return ret; \\n\\\n \".replace(\"[CodeForSwitchCase]\", generateArgumentSwitchCase()).replace(\"[GetFunctionCode]\", getFunctionCode);\n body = body.replace(\"Parameters\", parameterDeclaration(newParameterCount));\n return new Function(\"Promise\", \"fn\", \"receiver\", \"withAppended\", \"maybeWrapAsError\", \"nodebackForPromise\", \"tryCatch\", \"errorObj\", \"notEnumerableProp\", \"INTERNAL\", body)(Promise, fn, receiver, withAppended, maybeWrapAsError, nodebackForPromise, util.tryCatch, util.errorObj, util.notEnumerableProp, INTERNAL);\n };\n }\n\n function makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) {\n var defaultThis = function () {\n return this;\n }();\n\n var method = callback;\n\n if (typeof method === \"string\") {\n callback = fn;\n }\n\n function promisified() {\n var _receiver = receiver;\n if (receiver === THIS) _receiver = this;\n var promise = new Promise(INTERNAL);\n\n promise._captureStackTrace();\n\n var cb = typeof method === \"string\" && this !== defaultThis ? this[method] : callback;\n var fn = nodebackForPromise(promise, multiArgs);\n\n try {\n cb.apply(_receiver, withAppended(arguments, fn));\n } catch (e) {\n promise._rejectCallback(maybeWrapAsError(e), true, true);\n }\n\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed();\n return promise;\n }\n\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n return promisified;\n }\n\n var makeNodePromisified = canEvaluate ? makeNodePromisifiedEval : makeNodePromisifiedClosure;\n\n function promisifyAll(obj, suffix, filter, promisifier, multiArgs) {\n var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + \"$\");\n var methods = promisifiableMethods(obj, suffix, suffixRegexp, filter);\n\n for (var i = 0, len = methods.length; i < len; i += 2) {\n var key = methods[i];\n var fn = methods[i + 1];\n var promisifiedKey = key + suffix;\n\n if (promisifier === makeNodePromisified) {\n obj[promisifiedKey] = makeNodePromisified(key, THIS, key, fn, suffix, multiArgs);\n } else {\n var promisified = promisifier(fn, function () {\n return makeNodePromisified(key, THIS, key, fn, suffix, multiArgs);\n });\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n obj[promisifiedKey] = promisified;\n }\n }\n\n util.toFastProperties(obj);\n return obj;\n }\n\n function promisify(callback, receiver, multiArgs) {\n return makeNodePromisified(callback, receiver, undefined, callback, null, multiArgs);\n }\n\n Promise.promisify = function (fn, options) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n\n if (isPromisified(fn)) {\n return fn;\n }\n\n options = Object(options);\n var receiver = options.context === undefined ? THIS : options.context;\n var multiArgs = !!options.multiArgs;\n var ret = promisify(fn, receiver, multiArgs);\n util.copyDescriptors(fn, ret, propsFilter);\n return ret;\n };\n\n Promise.promisifyAll = function (target, options) {\n if (typeof target !== \"function\" && _typeof(target) !== \"object\") {\n throw new TypeError(\"the target of promisifyAll must be an object or a function\\n\\n See http://goo.gl/MqrFmX\\n\");\n }\n\n options = Object(options);\n var multiArgs = !!options.multiArgs;\n var suffix = options.suffix;\n if (typeof suffix !== \"string\") suffix = defaultSuffix;\n var filter = options.filter;\n if (typeof filter !== \"function\") filter = defaultFilter;\n var promisifier = options.promisifier;\n if (typeof promisifier !== \"function\") promisifier = makeNodePromisified;\n\n if (!util.isIdentifier(suffix)) {\n throw new RangeError(\"suffix must be a valid identifier\\n\\n See http://goo.gl/MqrFmX\\n\");\n }\n\n var keys = util.inheritedDataKeys(target);\n\n for (var i = 0; i < keys.length; ++i) {\n var value = target[keys[i]];\n\n if (keys[i] !== \"constructor\" && util.isClass(value)) {\n promisifyAll(value.prototype, suffix, filter, promisifier, multiArgs);\n promisifyAll(value, suffix, filter, promisifier, multiArgs);\n }\n }\n\n return promisifyAll(target, suffix, filter, promisifier, multiArgs);\n };\n };\n }, {\n \"./errors\": 12,\n \"./nodeback\": 20,\n \"./util\": 36\n }],\n 25: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, PromiseArray, tryConvertToPromise, apiRejection) {\n var util = _dereq_(\"./util\");\n\n var isObject = util.isObject;\n\n var es5 = _dereq_(\"./es5\");\n\n var Es6Map;\n if (typeof Map === \"function\") Es6Map = Map;\n\n var mapToEntries = function () {\n var index = 0;\n var size = 0;\n\n function extractEntry(value, key) {\n this[index] = value;\n this[index + size] = key;\n index++;\n }\n\n return function mapToEntries(map) {\n size = map.size;\n index = 0;\n var ret = new Array(map.size * 2);\n map.forEach(extractEntry, ret);\n return ret;\n };\n }();\n\n var entriesToMap = function entriesToMap(entries) {\n var ret = new Es6Map();\n var length = entries.length / 2 | 0;\n\n for (var i = 0; i < length; ++i) {\n var key = entries[length + i];\n var value = entries[i];\n ret.set(key, value);\n }\n\n return ret;\n };\n\n function PropertiesPromiseArray(obj) {\n var isMap = false;\n var entries;\n\n if (Es6Map !== undefined && obj instanceof Es6Map) {\n entries = mapToEntries(obj);\n isMap = true;\n } else {\n var keys = es5.keys(obj);\n var len = keys.length;\n entries = new Array(len * 2);\n\n for (var i = 0; i < len; ++i) {\n var key = keys[i];\n entries[i] = obj[key];\n entries[i + len] = key;\n }\n }\n\n this.constructor$(entries);\n this._isMap = isMap;\n\n this._init$(undefined, isMap ? -6 : -3);\n }\n\n util.inherits(PropertiesPromiseArray, PromiseArray);\n\n PropertiesPromiseArray.prototype._init = function () {};\n\n PropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n\n if (totalResolved >= this._length) {\n var val;\n\n if (this._isMap) {\n val = entriesToMap(this._values);\n } else {\n val = {};\n var keyOffset = this.length();\n\n for (var i = 0, len = this.length(); i < len; ++i) {\n val[this._values[i + keyOffset]] = this._values[i];\n }\n }\n\n this._resolve(val);\n\n return true;\n }\n\n return false;\n };\n\n PropertiesPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n };\n\n PropertiesPromiseArray.prototype.getActualLength = function (len) {\n return len >> 1;\n };\n\n function props(promises) {\n var ret;\n var castValue = tryConvertToPromise(promises);\n\n if (!isObject(castValue)) {\n return apiRejection(\"cannot await properties of a non-object\\n\\n See http://goo.gl/MqrFmX\\n\");\n } else if (castValue instanceof Promise) {\n ret = castValue._then(Promise.props, undefined, undefined, undefined, undefined);\n } else {\n ret = new PropertiesPromiseArray(castValue).promise();\n }\n\n if (castValue instanceof Promise) {\n ret._propagateFrom(castValue, 2);\n }\n\n return ret;\n }\n\n Promise.prototype.props = function () {\n return props(this);\n };\n\n Promise.props = function (promises) {\n return props(promises);\n };\n };\n }, {\n \"./es5\": 13,\n \"./util\": 36\n }],\n 26: [function (_dereq_, module, exports) {\n \"use strict\";\n\n function arrayMove(src, srcIndex, dst, dstIndex, len) {\n for (var j = 0; j < len; ++j) {\n dst[j + dstIndex] = src[j + srcIndex];\n src[j + srcIndex] = void 0;\n }\n }\n\n function Queue(capacity) {\n this._capacity = capacity;\n this._length = 0;\n this._front = 0;\n }\n\n Queue.prototype._willBeOverCapacity = function (size) {\n return this._capacity < size;\n };\n\n Queue.prototype._pushOne = function (arg) {\n var length = this.length();\n\n this._checkCapacity(length + 1);\n\n var i = this._front + length & this._capacity - 1;\n this[i] = arg;\n this._length = length + 1;\n };\n\n Queue.prototype.push = function (fn, receiver, arg) {\n var length = this.length() + 3;\n\n if (this._willBeOverCapacity(length)) {\n this._pushOne(fn);\n\n this._pushOne(receiver);\n\n this._pushOne(arg);\n\n return;\n }\n\n var j = this._front + length - 3;\n\n this._checkCapacity(length);\n\n var wrapMask = this._capacity - 1;\n this[j + 0 & wrapMask] = fn;\n this[j + 1 & wrapMask] = receiver;\n this[j + 2 & wrapMask] = arg;\n this._length = length;\n };\n\n Queue.prototype.shift = function () {\n var front = this._front,\n ret = this[front];\n this[front] = undefined;\n this._front = front + 1 & this._capacity - 1;\n this._length--;\n return ret;\n };\n\n Queue.prototype.length = function () {\n return this._length;\n };\n\n Queue.prototype._checkCapacity = function (size) {\n if (this._capacity < size) {\n this._resizeTo(this._capacity << 1);\n }\n };\n\n Queue.prototype._resizeTo = function (capacity) {\n var oldCapacity = this._capacity;\n this._capacity = capacity;\n var front = this._front;\n var length = this._length;\n var moveItemsCount = front + length & oldCapacity - 1;\n arrayMove(this, 0, this, oldCapacity, moveItemsCount);\n };\n\n module.exports = Queue;\n }, {}],\n 27: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, INTERNAL, tryConvertToPromise, apiRejection) {\n var util = _dereq_(\"./util\");\n\n var raceLater = function raceLater(promise) {\n return promise.then(function (array) {\n return race(array, promise);\n });\n };\n\n function race(promises, parent) {\n var maybePromise = tryConvertToPromise(promises);\n\n if (maybePromise instanceof Promise) {\n return raceLater(maybePromise);\n } else {\n promises = util.asArray(promises);\n if (promises === null) return apiRejection(\"expecting an array or an iterable object but got \" + util.classString(promises));\n }\n\n var ret = new Promise(INTERNAL);\n\n if (parent !== undefined) {\n ret._propagateFrom(parent, 3);\n }\n\n var fulfill = ret._fulfill;\n var reject = ret._reject;\n\n for (var i = 0, len = promises.length; i < len; ++i) {\n var val = promises[i];\n\n if (val === undefined && !(i in promises)) {\n continue;\n }\n\n Promise.cast(val)._then(fulfill, reject, undefined, ret, null);\n }\n\n return ret;\n }\n\n Promise.race = function (promises) {\n return race(promises, undefined);\n };\n\n Promise.prototype.race = function () {\n return race(this, undefined);\n };\n };\n }, {\n \"./util\": 36\n }],\n 28: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug) {\n var util = _dereq_(\"./util\");\n\n var tryCatch = util.tryCatch;\n\n function ReductionPromiseArray(promises, fn, initialValue, _each) {\n this.constructor$(promises);\n\n var context = Promise._getContext();\n\n this._fn = util.contextBind(context, fn);\n\n if (initialValue !== undefined) {\n initialValue = Promise.resolve(initialValue);\n\n initialValue._attachCancellationCallback(this);\n }\n\n this._initialValue = initialValue;\n this._currentCancellable = null;\n\n if (_each === INTERNAL) {\n this._eachValues = Array(this._length);\n } else if (_each === 0) {\n this._eachValues = null;\n } else {\n this._eachValues = undefined;\n }\n\n this._promise._captureStackTrace();\n\n this._init$(undefined, -5);\n }\n\n util.inherits(ReductionPromiseArray, PromiseArray);\n\n ReductionPromiseArray.prototype._gotAccum = function (accum) {\n if (this._eachValues !== undefined && this._eachValues !== null && accum !== INTERNAL) {\n this._eachValues.push(accum);\n }\n };\n\n ReductionPromiseArray.prototype._eachComplete = function (value) {\n if (this._eachValues !== null) {\n this._eachValues.push(value);\n }\n\n return this._eachValues;\n };\n\n ReductionPromiseArray.prototype._init = function () {};\n\n ReductionPromiseArray.prototype._resolveEmptyArray = function () {\n this._resolve(this._eachValues !== undefined ? this._eachValues : this._initialValue);\n };\n\n ReductionPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n };\n\n ReductionPromiseArray.prototype._resolve = function (value) {\n this._promise._resolveCallback(value);\n\n this._values = null;\n };\n\n ReductionPromiseArray.prototype._resultCancelled = function (sender) {\n if (sender === this._initialValue) return this._cancel();\n if (this._isResolved()) return;\n\n this._resultCancelled$();\n\n if (this._currentCancellable instanceof Promise) {\n this._currentCancellable.cancel();\n }\n\n if (this._initialValue instanceof Promise) {\n this._initialValue.cancel();\n }\n };\n\n ReductionPromiseArray.prototype._iterate = function (values) {\n this._values = values;\n var value;\n var i;\n var length = values.length;\n\n if (this._initialValue !== undefined) {\n value = this._initialValue;\n i = 0;\n } else {\n value = Promise.resolve(values[0]);\n i = 1;\n }\n\n this._currentCancellable = value;\n\n for (var j = i; j < length; ++j) {\n var maybePromise = values[j];\n\n if (maybePromise instanceof Promise) {\n maybePromise.suppressUnhandledRejections();\n }\n }\n\n if (!value.isRejected()) {\n for (; i < length; ++i) {\n var ctx = {\n accum: null,\n value: values[i],\n index: i,\n length: length,\n array: this\n };\n value = value._then(gotAccum, undefined, undefined, ctx, undefined);\n\n if ((i & 127) === 0) {\n value._setNoAsyncGuarantee();\n }\n }\n }\n\n if (this._eachValues !== undefined) {\n value = value._then(this._eachComplete, undefined, undefined, this, undefined);\n }\n\n value._then(completed, completed, undefined, value, this);\n };\n\n Promise.prototype.reduce = function (fn, initialValue) {\n return reduce(this, fn, initialValue, null);\n };\n\n Promise.reduce = function (promises, fn, initialValue, _each) {\n return reduce(promises, fn, initialValue, _each);\n };\n\n function completed(valueOrReason, array) {\n if (this.isFulfilled()) {\n array._resolve(valueOrReason);\n } else {\n array._reject(valueOrReason);\n }\n }\n\n function reduce(promises, fn, initialValue, _each) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n\n var array = new ReductionPromiseArray(promises, fn, initialValue, _each);\n return array.promise();\n }\n\n function gotAccum(accum) {\n this.accum = accum;\n\n this.array._gotAccum(accum);\n\n var value = tryConvertToPromise(this.value, this.array._promise);\n\n if (value instanceof Promise) {\n this.array._currentCancellable = value;\n return value._then(gotValue, undefined, undefined, this, undefined);\n } else {\n return gotValue.call(this, value);\n }\n }\n\n function gotValue(value) {\n var array = this.array;\n var promise = array._promise;\n var fn = tryCatch(array._fn);\n\n promise._pushContext();\n\n var ret;\n\n if (array._eachValues !== undefined) {\n ret = fn.call(promise._boundValue(), value, this.index, this.length);\n } else {\n ret = fn.call(promise._boundValue(), this.accum, value, this.index, this.length);\n }\n\n if (ret instanceof Promise) {\n array._currentCancellable = ret;\n }\n\n var promiseCreated = promise._popContext();\n\n debug.checkForgottenReturns(ret, promiseCreated, array._eachValues !== undefined ? \"Promise.each\" : \"Promise.reduce\", promise);\n return ret;\n }\n };\n }, {\n \"./util\": 36\n }],\n 29: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var util = _dereq_(\"./util\");\n\n var schedule;\n\n var noAsyncScheduler = function noAsyncScheduler() {\n throw new Error(\"No async scheduler available\\n\\n See http://goo.gl/MqrFmX\\n\");\n };\n\n var NativePromise = util.getNativePromise();\n\n if (util.isNode && typeof MutationObserver === \"undefined\") {\n var GlobalSetImmediate = global.setImmediate;\n var ProcessNextTick = process.nextTick;\n schedule = util.isRecentNode ? function (fn) {\n GlobalSetImmediate.call(global, fn);\n } : function (fn) {\n ProcessNextTick.call(process, fn);\n };\n } else if (typeof NativePromise === \"function\" && typeof NativePromise.resolve === \"function\") {\n var nativePromise = NativePromise.resolve();\n\n schedule = function schedule(fn) {\n nativePromise.then(fn);\n };\n } else if (typeof MutationObserver !== \"undefined\" && !(typeof window !== \"undefined\" && window.navigator && (window.navigator.standalone || window.cordova)) && \"classList\" in document.documentElement) {\n schedule = function () {\n var div = document.createElement(\"div\");\n var opts = {\n attributes: true\n };\n var toggleScheduled = false;\n var div2 = document.createElement(\"div\");\n var o2 = new MutationObserver(function () {\n div.classList.toggle(\"foo\");\n toggleScheduled = false;\n });\n o2.observe(div2, opts);\n\n var scheduleToggle = function scheduleToggle() {\n if (toggleScheduled) return;\n toggleScheduled = true;\n div2.classList.toggle(\"foo\");\n };\n\n return function schedule(fn) {\n var o = new MutationObserver(function () {\n o.disconnect();\n fn();\n });\n o.observe(div, opts);\n scheduleToggle();\n };\n }();\n } else if (typeof setImmediate !== \"undefined\") {\n schedule = function schedule(fn) {\n setImmediate(fn);\n };\n } else if (typeof setTimeout !== \"undefined\") {\n schedule = function schedule(fn) {\n setTimeout(fn, 0);\n };\n } else {\n schedule = noAsyncScheduler;\n }\n\n module.exports = schedule;\n }, {\n \"./util\": 36\n }],\n 30: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, PromiseArray, debug) {\n var PromiseInspection = Promise.PromiseInspection;\n\n var util = _dereq_(\"./util\");\n\n function SettledPromiseArray(values) {\n this.constructor$(values);\n }\n\n util.inherits(SettledPromiseArray, PromiseArray);\n\n SettledPromiseArray.prototype._promiseResolved = function (index, inspection) {\n this._values[index] = inspection;\n var totalResolved = ++this._totalResolved;\n\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n\n return true;\n }\n\n return false;\n };\n\n SettledPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var ret = new PromiseInspection();\n ret._bitField = 33554432;\n ret._settledValueField = value;\n return this._promiseResolved(index, ret);\n };\n\n SettledPromiseArray.prototype._promiseRejected = function (reason, index) {\n var ret = new PromiseInspection();\n ret._bitField = 16777216;\n ret._settledValueField = reason;\n return this._promiseResolved(index, ret);\n };\n\n Promise.settle = function (promises) {\n debug.deprecated(\".settle()\", \".reflect()\");\n return new SettledPromiseArray(promises).promise();\n };\n\n Promise.allSettled = function (promises) {\n return new SettledPromiseArray(promises).promise();\n };\n\n Promise.prototype.settle = function () {\n return Promise.settle(this);\n };\n };\n }, {\n \"./util\": 36\n }],\n 31: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, PromiseArray, apiRejection) {\n var util = _dereq_(\"./util\");\n\n var RangeError = _dereq_(\"./errors\").RangeError;\n\n var AggregateError = _dereq_(\"./errors\").AggregateError;\n\n var isArray = util.isArray;\n var CANCELLATION = {};\n\n function SomePromiseArray(values) {\n this.constructor$(values);\n this._howMany = 0;\n this._unwrap = false;\n this._initialized = false;\n }\n\n util.inherits(SomePromiseArray, PromiseArray);\n\n SomePromiseArray.prototype._init = function () {\n if (!this._initialized) {\n return;\n }\n\n if (this._howMany === 0) {\n this._resolve([]);\n\n return;\n }\n\n this._init$(undefined, -5);\n\n var isArrayResolved = isArray(this._values);\n\n if (!this._isResolved() && isArrayResolved && this._howMany > this._canPossiblyFulfill()) {\n this._reject(this._getRangeError(this.length()));\n }\n };\n\n SomePromiseArray.prototype.init = function () {\n this._initialized = true;\n\n this._init();\n };\n\n SomePromiseArray.prototype.setUnwrap = function () {\n this._unwrap = true;\n };\n\n SomePromiseArray.prototype.howMany = function () {\n return this._howMany;\n };\n\n SomePromiseArray.prototype.setHowMany = function (count) {\n this._howMany = count;\n };\n\n SomePromiseArray.prototype._promiseFulfilled = function (value) {\n this._addFulfilled(value);\n\n if (this._fulfilled() === this.howMany()) {\n this._values.length = this.howMany();\n\n if (this.howMany() === 1 && this._unwrap) {\n this._resolve(this._values[0]);\n } else {\n this._resolve(this._values);\n }\n\n return true;\n }\n\n return false;\n };\n\n SomePromiseArray.prototype._promiseRejected = function (reason) {\n this._addRejected(reason);\n\n return this._checkOutcome();\n };\n\n SomePromiseArray.prototype._promiseCancelled = function () {\n if (this._values instanceof Promise || this._values == null) {\n return this._cancel();\n }\n\n this._addRejected(CANCELLATION);\n\n return this._checkOutcome();\n };\n\n SomePromiseArray.prototype._checkOutcome = function () {\n if (this.howMany() > this._canPossiblyFulfill()) {\n var e = new AggregateError();\n\n for (var i = this.length(); i < this._values.length; ++i) {\n if (this._values[i] !== CANCELLATION) {\n e.push(this._values[i]);\n }\n }\n\n if (e.length > 0) {\n this._reject(e);\n } else {\n this._cancel();\n }\n\n return true;\n }\n\n return false;\n };\n\n SomePromiseArray.prototype._fulfilled = function () {\n return this._totalResolved;\n };\n\n SomePromiseArray.prototype._rejected = function () {\n return this._values.length - this.length();\n };\n\n SomePromiseArray.prototype._addRejected = function (reason) {\n this._values.push(reason);\n };\n\n SomePromiseArray.prototype._addFulfilled = function (value) {\n this._values[this._totalResolved++] = value;\n };\n\n SomePromiseArray.prototype._canPossiblyFulfill = function () {\n return this.length() - this._rejected();\n };\n\n SomePromiseArray.prototype._getRangeError = function (count) {\n var message = \"Input array must contain at least \" + this._howMany + \" items but contains only \" + count + \" items\";\n return new RangeError(message);\n };\n\n SomePromiseArray.prototype._resolveEmptyArray = function () {\n this._reject(this._getRangeError(0));\n };\n\n function some(promises, howMany) {\n if ((howMany | 0) !== howMany || howMany < 0) {\n return apiRejection(\"expecting a positive integer\\n\\n See http://goo.gl/MqrFmX\\n\");\n }\n\n var ret = new SomePromiseArray(promises);\n var promise = ret.promise();\n ret.setHowMany(howMany);\n ret.init();\n return promise;\n }\n\n Promise.some = function (promises, howMany) {\n return some(promises, howMany);\n };\n\n Promise.prototype.some = function (howMany) {\n return some(this, howMany);\n };\n\n Promise._SomePromiseArray = SomePromiseArray;\n };\n }, {\n \"./errors\": 12,\n \"./util\": 36\n }],\n 32: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise) {\n function PromiseInspection(promise) {\n if (promise !== undefined) {\n promise = promise._target();\n this._bitField = promise._bitField;\n this._settledValueField = promise._isFateSealed() ? promise._settledValue() : undefined;\n } else {\n this._bitField = 0;\n this._settledValueField = undefined;\n }\n }\n\n PromiseInspection.prototype._settledValue = function () {\n return this._settledValueField;\n };\n\n var value = PromiseInspection.prototype.value = function () {\n if (!this.isFulfilled()) {\n throw new TypeError(\"cannot get fulfillment value of a non-fulfilled promise\\n\\n See http://goo.gl/MqrFmX\\n\");\n }\n\n return this._settledValue();\n };\n\n var reason = PromiseInspection.prototype.error = PromiseInspection.prototype.reason = function () {\n if (!this.isRejected()) {\n throw new TypeError(\"cannot get rejection reason of a non-rejected promise\\n\\n See http://goo.gl/MqrFmX\\n\");\n }\n\n return this._settledValue();\n };\n\n var isFulfilled = PromiseInspection.prototype.isFulfilled = function () {\n return (this._bitField & 33554432) !== 0;\n };\n\n var isRejected = PromiseInspection.prototype.isRejected = function () {\n return (this._bitField & 16777216) !== 0;\n };\n\n var isPending = PromiseInspection.prototype.isPending = function () {\n return (this._bitField & 50397184) === 0;\n };\n\n var isResolved = PromiseInspection.prototype.isResolved = function () {\n return (this._bitField & 50331648) !== 0;\n };\n\n PromiseInspection.prototype.isCancelled = function () {\n return (this._bitField & 8454144) !== 0;\n };\n\n Promise.prototype.__isCancelled = function () {\n return (this._bitField & 65536) === 65536;\n };\n\n Promise.prototype._isCancelled = function () {\n return this._target().__isCancelled();\n };\n\n Promise.prototype.isCancelled = function () {\n return (this._target()._bitField & 8454144) !== 0;\n };\n\n Promise.prototype.isPending = function () {\n return isPending.call(this._target());\n };\n\n Promise.prototype.isRejected = function () {\n return isRejected.call(this._target());\n };\n\n Promise.prototype.isFulfilled = function () {\n return isFulfilled.call(this._target());\n };\n\n Promise.prototype.isResolved = function () {\n return isResolved.call(this._target());\n };\n\n Promise.prototype.value = function () {\n return value.call(this._target());\n };\n\n Promise.prototype.reason = function () {\n var target = this._target();\n\n target._unsetRejectionIsUnhandled();\n\n return reason.call(target);\n };\n\n Promise.prototype._value = function () {\n return this._settledValue();\n };\n\n Promise.prototype._reason = function () {\n this._unsetRejectionIsUnhandled();\n\n return this._settledValue();\n };\n\n Promise.PromiseInspection = PromiseInspection;\n };\n }, {}],\n 33: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, INTERNAL) {\n var util = _dereq_(\"./util\");\n\n var errorObj = util.errorObj;\n var isObject = util.isObject;\n\n function tryConvertToPromise(obj, context) {\n if (isObject(obj)) {\n if (obj instanceof Promise) return obj;\n var then = getThen(obj);\n\n if (then === errorObj) {\n if (context) context._pushContext();\n var ret = Promise.reject(then.e);\n if (context) context._popContext();\n return ret;\n } else if (typeof then === \"function\") {\n if (isAnyBluebirdPromise(obj)) {\n var ret = new Promise(INTERNAL);\n\n obj._then(ret._fulfill, ret._reject, undefined, ret, null);\n\n return ret;\n }\n\n return doThenable(obj, then, context);\n }\n }\n\n return obj;\n }\n\n function doGetThen(obj) {\n return obj.then;\n }\n\n function getThen(obj) {\n try {\n return doGetThen(obj);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n }\n\n var hasProp = {}.hasOwnProperty;\n\n function isAnyBluebirdPromise(obj) {\n try {\n return hasProp.call(obj, \"_promise0\");\n } catch (e) {\n return false;\n }\n }\n\n function doThenable(x, then, context) {\n var promise = new Promise(INTERNAL);\n var ret = promise;\n if (context) context._pushContext();\n\n promise._captureStackTrace();\n\n if (context) context._popContext();\n var synchronous = true;\n var result = util.tryCatch(then).call(x, resolve, reject);\n synchronous = false;\n\n if (promise && result === errorObj) {\n promise._rejectCallback(result.e, true, true);\n\n promise = null;\n }\n\n function resolve(value) {\n if (!promise) return;\n\n promise._resolveCallback(value);\n\n promise = null;\n }\n\n function reject(reason) {\n if (!promise) return;\n\n promise._rejectCallback(reason, synchronous, true);\n\n promise = null;\n }\n\n return ret;\n }\n\n return tryConvertToPromise;\n };\n }, {\n \"./util\": 36\n }],\n 34: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, INTERNAL, debug) {\n var util = _dereq_(\"./util\");\n\n var TimeoutError = Promise.TimeoutError;\n\n function HandleWrapper(handle) {\n this.handle = handle;\n }\n\n HandleWrapper.prototype._resultCancelled = function () {\n clearTimeout(this.handle);\n };\n\n var afterValue = function afterValue(value) {\n return delay(+this).thenReturn(value);\n };\n\n var delay = Promise.delay = function (ms, value) {\n var ret;\n var handle;\n\n if (value !== undefined) {\n ret = Promise.resolve(value)._then(afterValue, null, null, ms, undefined);\n\n if (debug.cancellation() && value instanceof Promise) {\n ret._setOnCancel(value);\n }\n } else {\n ret = new Promise(INTERNAL);\n handle = setTimeout(function () {\n ret._fulfill();\n }, +ms);\n\n if (debug.cancellation()) {\n ret._setOnCancel(new HandleWrapper(handle));\n }\n\n ret._captureStackTrace();\n }\n\n ret._setAsyncGuaranteed();\n\n return ret;\n };\n\n Promise.prototype.delay = function (ms) {\n return delay(ms, this);\n };\n\n var afterTimeout = function afterTimeout(promise, message, parent) {\n var err;\n\n if (typeof message !== \"string\") {\n if (message instanceof Error) {\n err = message;\n } else {\n err = new TimeoutError(\"operation timed out\");\n }\n } else {\n err = new TimeoutError(message);\n }\n\n util.markAsOriginatingFromRejection(err);\n\n promise._attachExtraTrace(err);\n\n promise._reject(err);\n\n if (parent != null) {\n parent.cancel();\n }\n };\n\n function successClear(value) {\n clearTimeout(this.handle);\n return value;\n }\n\n function failureClear(reason) {\n clearTimeout(this.handle);\n throw reason;\n }\n\n Promise.prototype.timeout = function (ms, message) {\n ms = +ms;\n var ret, parent;\n var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() {\n if (ret.isPending()) {\n afterTimeout(ret, message, parent);\n }\n }, ms));\n\n if (debug.cancellation()) {\n parent = this.then();\n ret = parent._then(successClear, failureClear, undefined, handleWrapper, undefined);\n\n ret._setOnCancel(handleWrapper);\n } else {\n ret = this._then(successClear, failureClear, undefined, handleWrapper, undefined);\n }\n\n return ret;\n };\n };\n }, {\n \"./util\": 36\n }],\n 35: [function (_dereq_, module, exports) {\n \"use strict\";\n\n module.exports = function (Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug) {\n var util = _dereq_(\"./util\");\n\n var TypeError = _dereq_(\"./errors\").TypeError;\n\n var inherits = _dereq_(\"./util\").inherits;\n\n var errorObj = util.errorObj;\n var tryCatch = util.tryCatch;\n var NULL = {};\n\n function thrower(e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n\n function castPreservingDisposable(thenable) {\n var maybePromise = tryConvertToPromise(thenable);\n\n if (maybePromise !== thenable && typeof thenable._isDisposable === \"function\" && typeof thenable._getDisposer === \"function\" && thenable._isDisposable()) {\n maybePromise._setDisposable(thenable._getDisposer());\n }\n\n return maybePromise;\n }\n\n function dispose(resources, inspection) {\n var i = 0;\n var len = resources.length;\n var ret = new Promise(INTERNAL);\n\n function iterator() {\n if (i >= len) return ret._fulfill();\n var maybePromise = castPreservingDisposable(resources[i++]);\n\n if (maybePromise instanceof Promise && maybePromise._isDisposable()) {\n try {\n maybePromise = tryConvertToPromise(maybePromise._getDisposer().tryDispose(inspection), resources.promise);\n } catch (e) {\n return thrower(e);\n }\n\n if (maybePromise instanceof Promise) {\n return maybePromise._then(iterator, thrower, null, null, null);\n }\n }\n\n iterator();\n }\n\n iterator();\n return ret;\n }\n\n function Disposer(data, promise, context) {\n this._data = data;\n this._promise = promise;\n this._context = context;\n }\n\n Disposer.prototype.data = function () {\n return this._data;\n };\n\n Disposer.prototype.promise = function () {\n return this._promise;\n };\n\n Disposer.prototype.resource = function () {\n if (this.promise().isFulfilled()) {\n return this.promise().value();\n }\n\n return NULL;\n };\n\n Disposer.prototype.tryDispose = function (inspection) {\n var resource = this.resource();\n var context = this._context;\n if (context !== undefined) context._pushContext();\n var ret = resource !== NULL ? this.doDispose(resource, inspection) : null;\n if (context !== undefined) context._popContext();\n\n this._promise._unsetDisposable();\n\n this._data = null;\n return ret;\n };\n\n Disposer.isDisposer = function (d) {\n return d != null && typeof d.resource === \"function\" && typeof d.tryDispose === \"function\";\n };\n\n function FunctionDisposer(fn, promise, context) {\n this.constructor$(fn, promise, context);\n }\n\n inherits(FunctionDisposer, Disposer);\n\n FunctionDisposer.prototype.doDispose = function (resource, inspection) {\n var fn = this.data();\n return fn.call(resource, resource, inspection);\n };\n\n function maybeUnwrapDisposer(value) {\n if (Disposer.isDisposer(value)) {\n this.resources[this.index]._setDisposable(value);\n\n return value.promise();\n }\n\n return value;\n }\n\n function ResourceList(length) {\n this.length = length;\n this.promise = null;\n this[length - 1] = null;\n }\n\n ResourceList.prototype._resultCancelled = function () {\n var len = this.length;\n\n for (var i = 0; i < len; ++i) {\n var item = this[i];\n\n if (item instanceof Promise) {\n item.cancel();\n }\n }\n };\n\n Promise.using = function () {\n var len = arguments.length;\n if (len < 2) return apiRejection(\"you must pass at least 2 arguments to Promise.using\");\n var fn = arguments[len - 1];\n\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n\n var input;\n var spreadArgs = true;\n\n if (len === 2 && Array.isArray(arguments[0])) {\n input = arguments[0];\n len = input.length;\n spreadArgs = false;\n } else {\n input = arguments;\n len--;\n }\n\n var resources = new ResourceList(len);\n\n for (var i = 0; i < len; ++i) {\n var resource = input[i];\n\n if (Disposer.isDisposer(resource)) {\n var disposer = resource;\n resource = resource.promise();\n\n resource._setDisposable(disposer);\n } else {\n var maybePromise = tryConvertToPromise(resource);\n\n if (maybePromise instanceof Promise) {\n resource = maybePromise._then(maybeUnwrapDisposer, null, null, {\n resources: resources,\n index: i\n }, undefined);\n }\n }\n\n resources[i] = resource;\n }\n\n var reflectedResources = new Array(resources.length);\n\n for (var i = 0; i < reflectedResources.length; ++i) {\n reflectedResources[i] = Promise.resolve(resources[i]).reflect();\n }\n\n var resultPromise = Promise.all(reflectedResources).then(function (inspections) {\n for (var i = 0; i < inspections.length; ++i) {\n var inspection = inspections[i];\n\n if (inspection.isRejected()) {\n errorObj.e = inspection.error();\n return errorObj;\n } else if (!inspection.isFulfilled()) {\n resultPromise.cancel();\n return;\n }\n\n inspections[i] = inspection.value();\n }\n\n promise._pushContext();\n\n fn = tryCatch(fn);\n var ret = spreadArgs ? fn.apply(undefined, inspections) : fn(inspections);\n\n var promiseCreated = promise._popContext();\n\n debug.checkForgottenReturns(ret, promiseCreated, \"Promise.using\", promise);\n return ret;\n });\n var promise = resultPromise.lastly(function () {\n var inspection = new Promise.PromiseInspection(resultPromise);\n return dispose(resources, inspection);\n });\n resources.promise = promise;\n\n promise._setOnCancel(resources);\n\n return promise;\n };\n\n Promise.prototype._setDisposable = function (disposer) {\n this._bitField = this._bitField | 131072;\n this._disposer = disposer;\n };\n\n Promise.prototype._isDisposable = function () {\n return (this._bitField & 131072) > 0;\n };\n\n Promise.prototype._getDisposer = function () {\n return this._disposer;\n };\n\n Promise.prototype._unsetDisposable = function () {\n this._bitField = this._bitField & ~131072;\n this._disposer = undefined;\n };\n\n Promise.prototype.disposer = function (fn) {\n if (typeof fn === \"function\") {\n return new FunctionDisposer(fn, this, createContext());\n }\n\n throw new TypeError();\n };\n };\n }, {\n \"./errors\": 12,\n \"./util\": 36\n }],\n 36: [function (_dereq_, module, exports) {\n \"use strict\";\n\n var es5 = _dereq_(\"./es5\");\n\n var canEvaluate = typeof navigator == \"undefined\";\n var errorObj = {\n e: {}\n };\n var tryCatchTarget;\n var globalObject = typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : this !== undefined ? this : null;\n\n function tryCatcher() {\n try {\n var target = tryCatchTarget;\n tryCatchTarget = null;\n return target.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n }\n\n function tryCatch(fn) {\n tryCatchTarget = fn;\n return tryCatcher;\n }\n\n var inherits = function inherits(Child, Parent) {\n var hasProp = {}.hasOwnProperty;\n\n function T() {\n this.constructor = Child;\n this.constructor$ = Parent;\n\n for (var propertyName in Parent.prototype) {\n if (hasProp.call(Parent.prototype, propertyName) && propertyName.charAt(propertyName.length - 1) !== \"$\") {\n this[propertyName + \"$\"] = Parent.prototype[propertyName];\n }\n }\n }\n\n T.prototype = Parent.prototype;\n Child.prototype = new T();\n return Child.prototype;\n };\n\n function isPrimitive(val) {\n return val == null || val === true || val === false || typeof val === \"string\" || typeof val === \"number\";\n }\n\n function isObject(value) {\n return typeof value === \"function\" || _typeof(value) === \"object\" && value !== null;\n }\n\n function maybeWrapAsError(maybeError) {\n if (!isPrimitive(maybeError)) return maybeError;\n return new Error(safeToString(maybeError));\n }\n\n function withAppended(target, appendee) {\n var len = target.length;\n var ret = new Array(len + 1);\n var i;\n\n for (i = 0; i < len; ++i) {\n ret[i] = target[i];\n }\n\n ret[i] = appendee;\n return ret;\n }\n\n function getDataPropertyOrDefault(obj, key, defaultValue) {\n if (es5.isES5) {\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n\n if (desc != null) {\n return desc.get == null && desc.set == null ? desc.value : defaultValue;\n }\n } else {\n return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined;\n }\n }\n\n function notEnumerableProp(obj, name, value) {\n if (isPrimitive(obj)) return obj;\n var descriptor = {\n value: value,\n configurable: true,\n enumerable: false,\n writable: true\n };\n es5.defineProperty(obj, name, descriptor);\n return obj;\n }\n\n function thrower(r) {\n throw r;\n }\n\n var inheritedDataKeys = function () {\n var excludedPrototypes = [Array.prototype, Object.prototype, Function.prototype];\n\n var isExcludedProto = function isExcludedProto(val) {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (excludedPrototypes[i] === val) {\n return true;\n }\n }\n\n return false;\n };\n\n if (es5.isES5) {\n var getKeys = Object.getOwnPropertyNames;\n return function (obj) {\n var ret = [];\n var visitedKeys = Object.create(null);\n\n while (obj != null && !isExcludedProto(obj)) {\n var keys;\n\n try {\n keys = getKeys(obj);\n } catch (e) {\n return ret;\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (visitedKeys[key]) continue;\n visitedKeys[key] = true;\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n\n if (desc != null && desc.get == null && desc.set == null) {\n ret.push(key);\n }\n }\n\n obj = es5.getPrototypeOf(obj);\n }\n\n return ret;\n };\n } else {\n var hasProp = {}.hasOwnProperty;\n return function (obj) {\n if (isExcludedProto(obj)) return [];\n var ret = [];\n /*jshint forin:false */\n\n enumeration: for (var key in obj) {\n if (hasProp.call(obj, key)) {\n ret.push(key);\n } else {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (hasProp.call(excludedPrototypes[i], key)) {\n continue enumeration;\n }\n }\n\n ret.push(key);\n }\n }\n\n return ret;\n };\n }\n }();\n\n var thisAssignmentPattern = /this\\s*\\.\\s*\\S+\\s*=/;\n\n function isClass(fn) {\n try {\n if (typeof fn === \"function\") {\n var keys = es5.names(fn.prototype);\n var hasMethods = es5.isES5 && keys.length > 1;\n var hasMethodsOtherThanConstructor = keys.length > 0 && !(keys.length === 1 && keys[0] === \"constructor\");\n var hasThisAssignmentAndStaticMethods = thisAssignmentPattern.test(fn + \"\") && es5.names(fn).length > 0;\n\n if (hasMethods || hasMethodsOtherThanConstructor || hasThisAssignmentAndStaticMethods) {\n return true;\n }\n }\n\n return false;\n } catch (e) {\n return false;\n }\n }\n\n function toFastProperties(obj) {\n /*jshint -W027,-W055,-W031*/\n function FakeConstructor() {}\n\n FakeConstructor.prototype = obj;\n var receiver = new FakeConstructor();\n\n function ic() {\n return _typeof(receiver.foo);\n }\n\n ic();\n ic();\n return obj;\n eval(obj);\n }\n\n var rident = /^[a-z$_][a-z$_0-9]*$/i;\n\n function isIdentifier(str) {\n return rident.test(str);\n }\n\n function filledRange(count, prefix, suffix) {\n var ret = new Array(count);\n\n for (var i = 0; i < count; ++i) {\n ret[i] = prefix + i + suffix;\n }\n\n return ret;\n }\n\n function safeToString(obj) {\n try {\n return obj + \"\";\n } catch (e) {\n return \"[no string representation]\";\n }\n }\n\n function isError(obj) {\n return obj instanceof Error || obj !== null && _typeof(obj) === \"object\" && typeof obj.message === \"string\" && typeof obj.name === \"string\";\n }\n\n function markAsOriginatingFromRejection(e) {\n try {\n notEnumerableProp(e, \"isOperational\", true);\n } catch (ignore) {}\n }\n\n function originatesFromRejection(e) {\n if (e == null) return false;\n return e instanceof Error[\"__BluebirdErrorTypes__\"].OperationalError || e[\"isOperational\"] === true;\n }\n\n function canAttachTrace(obj) {\n return isError(obj) && es5.propertyIsWritable(obj, \"stack\");\n }\n\n var ensureErrorObject = function () {\n if (!(\"stack\" in new Error())) {\n return function (value) {\n if (canAttachTrace(value)) return value;\n\n try {\n throw new Error(safeToString(value));\n } catch (err) {\n return err;\n }\n };\n } else {\n return function (value) {\n if (canAttachTrace(value)) return value;\n return new Error(safeToString(value));\n };\n }\n }();\n\n function classString(obj) {\n return {}.toString.call(obj);\n }\n\n function copyDescriptors(from, to, filter) {\n var keys = es5.names(from);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (filter(key)) {\n try {\n es5.defineProperty(to, key, es5.getDescriptor(from, key));\n } catch (ignore) {}\n }\n }\n }\n\n var asArray = function asArray(v) {\n if (es5.isArray(v)) {\n return v;\n }\n\n return null;\n };\n\n if (typeof Symbol !== \"undefined\" && Symbol.iterator) {\n var ArrayFrom = typeof Array.from === \"function\" ? function (v) {\n return Array.from(v);\n } : function (v) {\n var ret = [];\n var it = v[Symbol.iterator]();\n var itResult;\n\n while (!(itResult = it.next()).done) {\n ret.push(itResult.value);\n }\n\n return ret;\n };\n\n asArray = function asArray(v) {\n if (es5.isArray(v)) {\n return v;\n } else if (v != null && typeof v[Symbol.iterator] === \"function\") {\n return ArrayFrom(v);\n }\n\n return null;\n };\n }\n\n var isNode = typeof process !== \"undefined\" && classString(process).toLowerCase() === \"[object process]\";\n var hasEnvVariables = typeof process !== \"undefined\" && typeof process.env !== \"undefined\";\n\n function env(key) {\n return hasEnvVariables ? process.env[key] : undefined;\n }\n\n function getNativePromise() {\n if (typeof Promise === \"function\") {\n try {\n var promise = new Promise(function () {});\n\n if (classString(promise) === \"[object Promise]\") {\n return Promise;\n }\n } catch (e) {}\n }\n }\n\n var reflectHandler;\n\n function contextBind(ctx, cb) {\n if (ctx === null || typeof cb !== \"function\" || cb === reflectHandler) {\n return cb;\n }\n\n if (ctx.domain !== null) {\n cb = ctx.domain.bind(cb);\n }\n\n var async = ctx.async;\n\n if (async !== null) {\n var old = cb;\n\n cb = function cb() {\n var args = new Array(2).concat([].slice.call(arguments));\n ;\n args[0] = old;\n args[1] = this;\n return async.runInAsyncScope.apply(async, args);\n };\n }\n\n return cb;\n }\n\n var ret = {\n setReflectHandler: function setReflectHandler(fn) {\n reflectHandler = fn;\n },\n isClass: isClass,\n isIdentifier: isIdentifier,\n inheritedDataKeys: inheritedDataKeys,\n getDataPropertyOrDefault: getDataPropertyOrDefault,\n thrower: thrower,\n isArray: es5.isArray,\n asArray: asArray,\n notEnumerableProp: notEnumerableProp,\n isPrimitive: isPrimitive,\n isObject: isObject,\n isError: isError,\n canEvaluate: canEvaluate,\n errorObj: errorObj,\n tryCatch: tryCatch,\n inherits: inherits,\n withAppended: withAppended,\n maybeWrapAsError: maybeWrapAsError,\n toFastProperties: toFastProperties,\n filledRange: filledRange,\n toString: safeToString,\n canAttachTrace: canAttachTrace,\n ensureErrorObject: ensureErrorObject,\n originatesFromRejection: originatesFromRejection,\n markAsOriginatingFromRejection: markAsOriginatingFromRejection,\n classString: classString,\n copyDescriptors: copyDescriptors,\n isNode: isNode,\n hasEnvVariables: hasEnvVariables,\n env: env,\n global: globalObject,\n getNativePromise: getNativePromise,\n contextBind: contextBind\n };\n\n ret.isRecentNode = ret.isNode && function () {\n var version;\n\n if (process.versions && process.versions.node) {\n version = process.versions.node.split(\".\").map(Number);\n } else if (process.version) {\n version = process.version.split(\".\").map(Number);\n }\n\n return version[0] === 0 && version[1] > 10 || version[0] > 0;\n }();\n\n ret.nodeSupportsAsyncResource = ret.isNode && function () {\n var supportsAsync = false;\n\n try {\n var res = _dereq_(\"async_hooks\").AsyncResource;\n\n supportsAsync = typeof res.prototype.runInAsyncScope === \"function\";\n } catch (e) {\n supportsAsync = false;\n }\n\n return supportsAsync;\n }();\n\n if (ret.isNode) ret.toFastProperties(process);\n\n try {\n throw new Error();\n } catch (e) {\n ret.lastLineError = e;\n }\n\n module.exports = ret;\n }, {\n \"./es5\": 13,\n \"async_hooks\": undefined\n }]\n }, {}, [4])(4);\n});\n;\n\nif (typeof window !== 'undefined' && window !== null) {\n window.P = window.Promise;\n} else if (typeof self !== 'undefined' && self !== null) {\n self.P = self.Promise;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nvar Barcode = function Barcode(data, options) {\n _classCallCheck(this, Barcode);\n\n this.data = data;\n this.text = options.text || data;\n this.options = options;\n};\n\nexports.default = Barcode;","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","export default (\n state = {\n CSRFToken: null,\n currentView: 'supplies',\n currentUserId: null,\n language: 'pl',\n userName: '',\n displayName: '',\n locationIds: [],\n theme: 'dark'\n },\n action\n) => {\n switch (action.type) {\n case 'SET_APP_CSRF_TOKEN':\n return {\n ...state,\n CSRFToken: action.CSRFToken\n }\n\n case 'SET_CURRENT_VIEW':\n return {\n ...state,\n currentView: action.data\n }\n\n case 'SET_CURRENT_PLANT':\n return {\n ...state,\n plant_id: action.data\n }\n\n case 'SET_CURRENT_USER':\n return {\n ...state,\n currentUserId: action.data\n }\n\n case 'SET_LANGUAGE':\n return {\n ...state,\n language: action.data\n }\n\n case 'SET_USER_NAME':\n return {\n ...state,\n userName: action.data\n }\n\n case 'SET_USER':\n return {\n ...state,\n user: action.data\n }\n\n case 'SET_DISPLAY_NAME':\n return {\n ...state,\n displayName: action.data\n }\n\n case 'SET_AVAILABLE_LOCALES':\n return {\n ...state,\n availableLocales: JSON.parse(action.data)\n }\n\n case 'SET_USER_LOCATIONS':\n return {\n ...state,\n locationIds: JSON.parse(action.data)\n }\n\n case 'SET_THEME':\n return {\n ...state,\n theme: action.data\n }\n\n default:\n return state\n }\n}\n","import React, { PropTypes } from 'react'\nimport Dimensions from 'react-dimensions'\n\nimport Map from './Map'\nimport { zoomToPositions, zoomToFit } from './calculations'\n\n/**\n * Starts zoomed as close as possible while showing all positions.\n * Resets zoom on window resize.\n */\nconst ZoomedMap = React.createClass({\n propTypes: Map.propTypes,\n\n getInitalState() {\n return {\n zoom: 1,\n pan: {\n x: 0,\n y: 0\n }\n }\n },\n\n componentWillReceiveProps(nextProps) {\n if ( this.props.positions != nextProps.positions){\n this.zoomToFit()\n\n setTimeout(this.setState(zoomToPositions(nextProps)), 200)\n }\n },\n\n componentWillMount() {\n this.zoomToFit()\n },\n\n componentDidMount() {\n setTimeout(this.zoomToPositions, 200)\n },\n\n zoomToFit() {\n this.setState(zoomToFit(this.props))\n },\n\n zoomToPositions() {\n this.setState(zoomToPositions(this.props))\n },\n\n render () {\n let { zoom, pan } = this.state\n\n return (\n \n )\n }\n})\n\nexport default Dimensions()(ZoomedMap)\n","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this._output('log', args);\n },\n warn: function warn(args) {\n this._output('warn', args);\n },\n error: function error(args) {\n this._output('error', args);\n },\n _output: function _output(type, args) {\n if (console && console[type]) console[type].apply(console, Array.prototype.slice.call(args));\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n Logger.prototype.init = function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug === false ? false : true;\n };\n\n Logger.prototype.setDebug = function setDebug(bool) {\n this.debug = bool;\n };\n\n Logger.prototype.log = function log() {\n this.forward(arguments, 'log', '', true);\n };\n\n Logger.prototype.warn = function warn() {\n this.forward(arguments, 'warn', '', true);\n };\n\n Logger.prototype.error = function error() {\n this.forward(arguments, 'error', '');\n };\n\n Logger.prototype.deprecate = function deprecate() {\n this.forward(arguments, 'warn', 'WARNING DEPRECATED: ', true);\n };\n\n Logger.prototype.forward = function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return;\n if (typeof args[0] === 'string') args[0] = prefix + this.prefix + ' ' + args[0];\n this.logger[lvl](args);\n };\n\n Logger.prototype.create = function create(moduleName) {\n var sub = new Logger(this.logger, _extends({\n prefix: this.prefix + ':' + moduleName + ':'\n }, this.options));\n return sub;\n }; // createInstance(options = {}) {\n // return new Logger(options, callback);\n // }\n\n\n return Logger;\n}();\n\n;\nexport default new Logger();","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n EventEmitter.prototype.on = function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n };\n\n EventEmitter.prototype.off = function off(event, listener) {\n var _this2 = this;\n\n if (!this.observers[event]) {\n return;\n }\n\n this.observers[event].forEach(function () {\n if (!listener) {\n delete _this2.observers[event];\n } else {\n var index = _this2.observers[event].indexOf(listener);\n\n if (index > -1) {\n _this2.observers[event].splice(index, 1);\n }\n }\n });\n };\n\n EventEmitter.prototype.emit = function emit(event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n this.observers[event].forEach(function (observer) {\n observer.apply(undefined, args);\n });\n }\n\n if (this.observers['*']) {\n this.observers['*'].forEach(function (observer) {\n var _ref;\n\n observer.apply(observer, (_ref = [event]).concat.apply(_ref, args));\n });\n }\n };\n\n return EventEmitter;\n}();\n\nexport default EventEmitter;","export function makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nexport function copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (!object) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n object = object[key];\n }\n\n if (!object) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nexport function setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nexport function pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nexport function getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nexport function deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop in target) {\n // If we reached a leaf string in target or source then replace with source or skip depending on the 'overwrite' switch\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n\n return target;\n}\nexport function regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n/* eslint-disable */\n\nvar _entityMap = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': '"',\n \"'\": ''',\n \"/\": '/'\n};\n/* eslint-enable */\n\nexport function escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n } else {\n return data;\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\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _defaults(obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass);\n}\n\nimport EventEmitter from './EventEmitter';\nimport * as utils from './utils';\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.data = data;\n _this.options = options;\n return _this;\n }\n\n ResourceStore.prototype.addNamespaces = function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n };\n\n ResourceStore.prototype.removeNamespaces = function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n };\n\n ResourceStore.prototype.getResource = function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator || this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return utils.getPath(this.data, path);\n };\n\n ResourceStore.prototype.addResource = function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n utils.setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n };\n\n ResourceStore.prototype.addResources = function addResources(lng, ns, resources) {\n for (var m in resources) {\n if (typeof resources[m] === 'string') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.addResourceBundle = function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = utils.getPath(this.data, path) || {};\n\n if (deep) {\n utils.deepExtend(pack, resources, overwrite);\n } else {\n pack = _extends({}, pack, resources);\n }\n\n utils.setPath(this.data, path, pack);\n this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.removeResourceBundle = function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n };\n\n ResourceStore.prototype.hasResourceBundle = function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n };\n\n ResourceStore.prototype.getResourceBundle = function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS; // TODO: COMPATIBILITY remove extend in v2.1.0\n\n if (this.options.compatibilityAPI === 'v1') return _extends({}, this.getResource(lng, ns));\n return this.getResource(lng, ns);\n };\n\n ResourceStore.prototype.toJSON = function toJSON() {\n return this.data;\n };\n\n return ResourceStore;\n}(EventEmitter);\n\nexport default ResourceStore;","export default {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};","import logger from '../logger';\n\nfunction convertInterpolation(options) {\n options.interpolation = {\n unescapeSuffix: 'HTML'\n };\n options.interpolation.prefix = options.interpolationPrefix || '__';\n options.interpolation.suffix = options.interpolationSuffix || '__';\n options.interpolation.escapeValue = options.escapeInterpolation || false;\n options.interpolation.nestingPrefix = options.reusePrefix || '$t(';\n options.interpolation.nestingSuffix = options.reuseSuffix || ')';\n return options;\n}\n\nexport function convertAPIOptions(options) {\n if (options.resStore) options.resources = options.resStore;\n\n if (options.ns && options.ns.defaultNs) {\n options.defaultNS = options.ns.defaultNs;\n options.ns = options.ns.namespaces;\n } else {\n options.defaultNS = options.ns || 'translation';\n }\n\n if (options.fallbackToDefaultNS && options.defaultNS) options.fallbackNS = options.defaultNS;\n options.saveMissing = options.sendMissing;\n options.saveMissingTo = options.sendMissingTo || 'current';\n options.returnNull = options.fallbackOnNull ? false : true;\n options.returnEmptyString = options.fallbackOnEmpty ? false : true;\n options.returnObjects = options.returnObjectTrees;\n options.joinArrays = '\\n';\n options.returnedObjectHandler = options.objectTreeKeyHandler;\n options.parseMissingKeyHandler = options.parseMissingKey;\n options.appendNamespaceToMissingKey = true;\n options.nsSeparator = options.nsseparator;\n options.keySeparator = options.keyseparator;\n\n if (options.shortcutFunction === 'sprintf') {\n options.overloadTranslationOptionHandler = function (args) {\n var values = [];\n\n for (var i = 1; i < args.length; i++) {\n values.push(args[i]);\n }\n\n return {\n postProcess: 'sprintf',\n sprintf: values\n };\n };\n }\n\n options.whitelist = options.lngWhitelist;\n options.preload = options.preload;\n if (options.load === 'current') options.load = 'currentOnly';\n if (options.load === 'unspecific') options.load = 'languageOnly'; // backend\n\n options.backend = options.backend || {};\n options.backend.loadPath = options.resGetPath || 'locales/__lng__/__ns__.json';\n options.backend.addPath = options.resPostPath || 'locales/add/__lng__/__ns__';\n options.backend.allowMultiLoading = options.dynamicLoad; // cache\n\n options.cache = options.cache || {};\n options.cache.prefix = 'res_';\n options.cache.expirationTime = 7 * 24 * 60 * 60 * 1000;\n options.cache.enabled = options.useLocalStorage ? true : false;\n options = convertInterpolation(options);\n if (options.defaultVariables) options.interpolation.defaultVariables = options.defaultVariables; // TODO: deprecation\n // if (options.getAsync === false) throw deprecation error\n\n return options;\n}\nexport function convertJSONOptions(options) {\n options = convertInterpolation(options);\n options.joinArrays = '\\n';\n return options;\n}\nexport function convertTOptions(options) {\n if (options.interpolationPrefix || options.interpolationSuffix || options.escapeInterpolation) {\n options = convertInterpolation(options);\n }\n\n options.nsSeparator = options.nsseparator;\n options.keySeparator = options.keyseparator;\n options.returnObjects = options.returnObjectTrees;\n return options;\n}\nexport function appendBackwardsAPI(i18n) {\n i18n.lng = function () {\n logger.deprecate('i18next.lng() can be replaced by i18next.language for detected language or i18next.languages for languages ordered by translation lookup.');\n return i18n.services.languageUtils.toResolveHierarchy(i18n.language)[0];\n };\n\n i18n.preload = function (lngs, cb) {\n logger.deprecate('i18next.preload() can be replaced with i18next.loadLanguages()');\n i18n.loadLanguages(lngs, cb);\n };\n\n i18n.setLng = function (lng, options, callback) {\n logger.deprecate('i18next.setLng() can be replaced with i18next.changeLanguage() or i18next.getFixedT() to get a translation function with fixed language or namespace.');\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options) options = {};\n\n if (options.fixLng === true) {\n if (callback) return callback(null, i18n.getFixedT(lng));\n }\n\n i18n.changeLanguage(lng, callback);\n };\n\n i18n.addPostProcessor = function (name, fc) {\n logger.deprecate('i18next.addPostProcessor() can be replaced by i18next.use({ type: \\'postProcessor\\', name: \\'name\\', process: fc })');\n i18n.use({\n type: 'postProcessor',\n name: name,\n process: fc\n });\n };\n}","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n\nfunction _defaults(obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass);\n}\n\nimport baseLogger from './logger';\nimport EventEmitter from './EventEmitter';\nimport postProcessor from './postProcessor';\nimport * as compat from './compatibility/v1';\nimport * as utils from './utils';\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n utils.copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector'], services, _this);\n _this.options = options;\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n Translator.prototype.changeLanguage = function changeLanguage(lng) {\n if (lng) this.language = lng;\n };\n\n Translator.prototype.exists = function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (this.options.compatibilityAPI === 'v1') {\n options = compat.convertTOptions(options);\n }\n\n return this.resolve(key, options) !== undefined;\n };\n\n Translator.prototype.extractFromKey = function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var namespaces = options.ns || this.options.defaultNS;\n\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var parts = key.split(nsSeparator);\n namespaces = parts[0];\n key = parts[1];\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n };\n\n Translator.prototype.translate = function translate(keys) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) !== 'object') {\n options = this.options.overloadTranslationOptionHandler(arguments);\n } else if (this.options.compatibilityAPI === 'v1') {\n options = compat.convertTOptions(options);\n } // non valid keys handling\n\n\n if (keys === undefined || keys === null || keys === '') return '';\n if (typeof keys === 'number') keys = String(keys);\n if (typeof keys === 'string') keys = [keys]; // return key on CIMode\n\n var lng = options.lng || this.language;\n if (lng && lng.toLowerCase() === 'cimode') return keys[keys.length - 1]; // separators\n\n var keySeparator = options.keySeparator || this.options.keySeparator || '.'; // get namespace(s)\n\n var _extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _extractFromKey.key,\n namespaces = _extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1]; // resolve from store\n\n var res = this.resolve(keys, options);\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays; // object\n\n if (res && typeof res !== 'string' && noObject.indexOf(resType) < 0 && !(joinArrays && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(key, res, options) : 'key \\'' + key + ' (' + this.language + ')\\' returned an object instead of string.';\n }\n\n var copy = resType === '[object Array]' ? [] : {}; // apply child translation on a copy\n\n for (var m in res) {\n copy[m] = this.translate('' + key + keySeparator + m, _extends({\n joinArrays: false,\n ns: namespaces\n }, options));\n }\n\n res = copy;\n } // array special treatment\n else if (joinArrays && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, key, options);\n } // string, empty or null\n else {\n var usedDefault = false,\n usedKey = false; // fallback value\n\n if (!this.isValidLookup(res) && options.defaultValue !== undefined) {\n usedDefault = true;\n res = options.defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n } // save missing\n\n\n if (usedKey || usedDefault) {\n this.logger.log('missingKey', lng, namespace, key, res);\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n //(this.options.saveMissingTo === 'current' || (this.options.saveMissingTo === 'fallback' && this.options.fallbackLng[0] === false) ) {\n lngs.push(options.lng || this.language);\n }\n\n if (this.options.saveMissing) {\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(lngs, namespace, key, res);\n } else if (this.backendConnector && this.backendConnector.saveMissing) {\n this.backendConnector.saveMissing(lngs, namespace, key, res);\n }\n }\n\n this.emit('missingKey', lngs, namespace, key, res);\n } // extend\n\n\n res = this.extendTranslation(res, key, options); // append namespace if still key\n\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = namespace + ':' + key; // parseMissingKeyHandler\n\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n } // return\n\n\n return res;\n };\n\n Translator.prototype.extendTranslation = function extendTranslation(res, key, options) {\n var _this2 = this;\n\n if (options.interpolation) this.interpolator.init(_extends({}, options, {\n interpolation: _extends({}, this.options.interpolation, options.interpolation)\n })); // interpolate\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _extends({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, this.language); // nesting\n\n res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _this2.translate.apply(_this2, args);\n }, options);\n if (options.interpolation) this.interpolator.reset(); // post process\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, options, this);\n }\n\n return res;\n };\n\n Translator.prototype.resolve = function resolve(keys) {\n var _this3 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found = void 0;\n if (typeof keys === 'string') keys = [keys]; // forEach possible key\n\n keys.forEach(function (k) {\n if (_this3.isValidLookup(found)) return;\n\n var _extractFromKey2 = _this3.extractFromKey(k, options),\n key = _extractFromKey2.key,\n namespaces = _extractFromKey2.namespaces;\n\n if (_this3.options.fallbackNS) namespaces = namespaces.concat(_this3.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n var codes = options.lngs ? options.lngs : _this3.languageUtils.toResolveHierarchy(options.lng || _this3.language);\n namespaces.forEach(function (ns) {\n if (_this3.isValidLookup(found)) return;\n codes.forEach(function (code) {\n if (_this3.isValidLookup(found)) return;\n var finalKey = key;\n var finalKeys = [finalKey];\n var pluralSuffix = void 0;\n if (needsPluralHandling) pluralSuffix = _this3.pluralResolver.getSuffix(code, options.count); // fallback for plural if context not found\n\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix); // get key for context if needed\n\n if (needsContextHandling) finalKeys.push(finalKey += '' + _this3.options.contextSeparator + options.context); // get key for plural if needed\n\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix); // iterate over finalKeys starting with most specific pluralkey (-> contextkey only) -> singularkey only\n\n var possibleKey = void 0;\n\n while (possibleKey = finalKeys.pop()) {\n if (_this3.isValidLookup(found)) continue;\n found = _this3.getResource(code, ns, possibleKey, options);\n }\n });\n });\n });\n return found;\n };\n\n Translator.prototype.isValidLookup = function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n };\n\n Translator.prototype.getResource = function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return this.resourceStore.getResource(code, ns, key, options);\n };\n\n return Translator;\n}(EventEmitter);\n\nexport default Translator;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nimport baseLogger from './logger';\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.whitelist = this.options.whitelist || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n LanguageUtil.prototype.getLanguagePartFromCode = function getLanguagePartFromCode(code) {\n if (code.indexOf('-') < 0) return code;\n var specialCases = ['NB-NO', 'NN-NO', 'nb-NO', 'nn-NO', 'nb-no', 'nn-no'];\n var p = code.split('-');\n return this.formatLanguageCode(specialCases.indexOf(code) > -1 ? p[1].toLowerCase() : p[0]);\n };\n\n LanguageUtil.prototype.getScriptPartFromCode = function getScriptPartFromCode(code) {\n if (code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n return this.formatLanguageCode(p.join('-'));\n };\n\n LanguageUtil.prototype.getLanguagePartFromCode = function getLanguagePartFromCode(code) {\n if (code.indexOf('-') < 0) return code;\n var specialCases = ['NB-NO', 'NN-NO', 'nb-NO', 'nn-NO', 'nb-no', 'nn-no'];\n var p = code.split('-');\n return this.formatLanguageCode(specialCases.indexOf(code) > -1 ? p[1].toLowerCase() : p[0]);\n };\n\n LanguageUtil.prototype.formatLanguageCode = function formatLanguageCode(code) {\n // http://www.iana.org/assignments/language-tags/language-tags.xhtml\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase(); // if lenght 2 guess it's a country\n\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n } else {\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n };\n\n LanguageUtil.prototype.isWhitelisted = function isWhitelisted(code, exactMatch) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitWhitelist && !exactMatch) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.whitelist || !this.whitelist.length || this.whitelist.indexOf(code) > -1 ? true : false;\n };\n\n LanguageUtil.prototype.getFallbackCodes = function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks; // asume we have an object defining fallbacks\n\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n };\n\n LanguageUtil.prototype.toResolveHierarchy = function toResolveHierarchy(code, fallbackCode) {\n var _this = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(code) {\n var exactMatch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!code) return;\n\n if (_this.isWhitelisted(code, exactMatch)) {\n codes.push(code);\n } else {\n _this.logger.warn('rejecting non-whitelisted language code: ' + code);\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code), true);\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code), true);\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this.formatLanguageCode(fc));\n });\n return codes;\n };\n\n return LanguageUtil;\n}();\n\n;\nexport default LanguageUtil;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nimport baseLogger from './logger'; // definition http://translate.sourceforge.net/wiki/l10n/pluralforms\n\n/* eslint-disable */\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'tg', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'es_ar', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'he', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt', 'pt_br', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n === 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n }\n};\n/* eslint-enable */\n\nfunction createRules() {\n var l,\n rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n return rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n\n PluralResolver.prototype.addRule = function addRule(lng, obj) {\n this.rules[lng] = obj;\n };\n\n PluralResolver.prototype.getRule = function getRule(code) {\n return this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n };\n\n PluralResolver.prototype.needsPlural = function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length <= 1 ? false : true;\n };\n\n PluralResolver.prototype.getSuffix = function getSuffix(code, count) {\n var _this = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n var _ret = function () {\n if (rule.numbers.length === 1) return {\n v: ''\n }; // only singular\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx]; // special treatment for lngs only having singular and plural\n\n if (rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this.options.prepend && suffix.toString() ? _this.options.prepend + suffix.toString() : suffix.toString();\n }; // COMPATIBILITY JSON\n // v1\n\n\n if (_this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return {\n v: ''\n };\n if (typeof suffix === 'number') return {\n v: '_plural_' + suffix.toString()\n };\n return {\n v: returnSuffix()\n };\n } // v2\n else if (_this.options.compatibilityJSON === 'v2' || rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return {\n v: returnSuffix()\n };\n } // v3 - gettext index\n else if (rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return {\n v: returnSuffix()\n };\n }\n\n return {\n v: _this.options.prepend && idx.toString() ? _this.options.prepend + idx.toString() : idx.toString()\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n } else {\n this.logger.warn('no plural rule found for: ' + code);\n return '';\n }\n };\n\n return PluralResolver;\n}();\n\n;\nexport default PluralResolver;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nimport * as utils from './utils';\nimport baseLogger from './logger';\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.init(options, true);\n }\n\n Interpolator.prototype.init = function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var reset = arguments[1];\n\n if (reset) {\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.escape = options.interpolation && options.interpolation.escape || utils.escape;\n }\n\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.prefix = iOpts.prefix ? utils.regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? utils.regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? utils.regexEscape(iOpts.formatSeparator) : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? utils.regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || utils.regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? utils.regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || utils.regexEscape(')'); // the regexp\n\n this.resetRegExp();\n };\n\n Interpolator.prototype.reset = function reset() {\n if (this.options) this.init(this.options);\n };\n\n Interpolator.prototype.resetRegExp = function resetRegExp() {\n // the regexp\n var regexpStr = this.prefix + '(.+?)' + this.suffix;\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = this.prefix + this.unescapePrefix + '(.+?)' + this.unescapeSuffix + this.suffix;\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = this.nestingPrefix + '(.+?)' + this.nestingSuffix;\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n };\n\n Interpolator.prototype.interpolate = function interpolate(str, data, lng) {\n var _this = this;\n\n var match = void 0,\n value = void 0;\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) return utils.getPath(data, key);\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(utils.getPath(data, k), f, lng);\n };\n\n this.resetRegExp(); // unescape if has unescapePrefix/Suffix\n\n while (match = this.regexpUnescape.exec(str)) {\n var _value = handleFormat(match[1].trim());\n\n str = str.replace(match[0], _value);\n this.regexpUnescape.lastIndex = 0;\n } // regular escape on demand\n\n\n while (match = this.regexp.exec(str)) {\n value = handleFormat(match[1].trim());\n if (typeof value !== 'string') value = utils.makeString(value);\n\n if (!value) {\n this.logger.warn('missed to pass in variable ' + match[1] + ' for interpolating ' + str);\n value = '';\n }\n\n value = this.escapeValue ? regexSafe(this.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n };\n\n Interpolator.prototype.nest = function nest(str, fc) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match = void 0,\n value = void 0;\n var clonedOptions = JSON.parse(JSON.stringify(options));\n clonedOptions.applyPostProcessor = false; // avoid post processing on nested lookup\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n } // if value is something like \"myKey\": \"lorem $(anotherKey, { \"count\": {{aValueInOptions}} })\"\n\n\n function handleHasOptions(key) {\n if (key.indexOf(',') < 0) return key;\n var p = key.split(',');\n key = p.shift();\n var optionsString = p.join(',');\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n } catch (e) {\n this.logger.error('failed parsing options string in nesting for key ' + key, e);\n }\n\n return key;\n } // regular escape on demand\n\n\n while (match = this.nestingRegexp.exec(str)) {\n value = fc(handleHasOptions.call(this, match[1].trim()), clonedOptions);\n if (typeof value !== 'string') value = utils.makeString(value);\n\n if (!value) {\n this.logger.warn('missed to pass in variable ' + match[1] + ' for interpolating ' + str);\n value = '';\n }\n\n value = this.escapeValue ? regexSafe(utils.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n };\n\n return Interpolator;\n}();\n\nexport default Interpolator;","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\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\nfunction _defaults(obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass);\n}\n\nimport * as utils from './utils';\nimport baseLogger from './logger';\nimport EventEmitter from './EventEmitter';\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n _this.backend && _this.backend.init && _this.backend.init(services, options.backend, options);\n return _this;\n }\n\n Connector.prototype.queueLoad = function queueLoad(languages, namespaces, callback) {\n var _this2 = this; // find what needs to be loaded\n\n\n var toLoad = [],\n pending = [],\n toLoadLanguages = [],\n toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = lng + '|' + ns;\n\n if (_this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2; // loaded\n } else if (_this2.state[name] < 0) {// nothing to do for err\n } else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1; // pending\n\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n };\n\n Connector.prototype.loaded = function loaded(name, err, data) {\n var _this3 = this;\n\n var _name$split = name.split('|'),\n _name$split2 = _slicedToArray(_name$split, 2),\n lng = _name$split2[0],\n ns = _name$split2[1];\n\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n } // set loaded\n\n\n this.state[name] = err ? -1 : 2; // callback if ready\n\n this.queue.forEach(function (q) {\n utils.pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n _this3.emit('loaded', q.loaded);\n\n q.errors.length ? q.callback(q.errors) : q.callback();\n q.done = true;\n }\n }); // remove done load requests\n\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n };\n\n Connector.prototype.read = function read(lng, ns, fcName, tried, wait, callback) {\n var _this4 = this;\n\n if (!tried) tried = 0;\n if (!wait) wait = 250;\n if (!lng.length) return callback(null, {}); // noting to load\n\n this.backend[fcName](lng, ns, function (err, data) {\n if (err && data\n /* = retryFlag */\n && tried < 5) {\n setTimeout(function () {\n _this4.read.call(_this4, lng, ns, fcName, ++tried, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n };\n\n Connector.prototype.load = function load(languages, namespaces, callback) {\n var _this5 = this;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n var options = _extends({}, this.backend.options, this.options.backend);\n\n if (typeof languages === 'string') languages = this.services.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback(); // nothing to load and no pendings...callback now\n\n return; // pendings will trigger callback\n } // load with multi-load\n\n\n if (options.allowMultiLoading && this.backend.readMulti) {\n this.read(toLoad.toLoadLanguages, toLoad.toLoadNamespaces, 'readMulti', null, null, function (err, data) {\n if (err) _this5.logger.warn('loading namespaces ' + toLoad.toLoadNamespaces.join(', ') + ' for languages ' + toLoad.toLoadLanguages.join(', ') + ' via multiloading failed', err);\n if (!err && data) _this5.logger.log('loaded namespaces ' + toLoad.toLoadNamespaces.join(', ') + ' for languages ' + toLoad.toLoadLanguages.join(', ') + ' via multiloading', data);\n toLoad.toLoad.forEach(function (name) {\n var _name$split3 = name.split('|'),\n _name$split4 = _slicedToArray(_name$split3, 2),\n l = _name$split4[0],\n n = _name$split4[1];\n\n var bundle = utils.getPath(data, [l, n]);\n\n if (bundle) {\n _this5.loaded(name, err, bundle);\n } else {\n var _err = 'loading namespace ' + n + ' for language ' + l + ' via multiloading failed';\n\n _this5.loaded(name, _err);\n\n _this5.logger.error(_err);\n }\n });\n });\n } // load one by one\n else {\n (function () {\n var readOne = function readOne(name) {\n var _this6 = this;\n\n var _name$split5 = name.split('|'),\n _name$split6 = _slicedToArray(_name$split5, 2),\n lng = _name$split6[0],\n ns = _name$split6[1];\n\n this.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) _this6.logger.warn('loading namespace ' + ns + ' for language ' + lng + ' failed', err);\n if (!err && data) _this6.logger.log('loaded namespace ' + ns + ' for language ' + lng, data);\n\n _this6.loaded(name, err, data);\n });\n };\n\n ;\n toLoad.toLoad.forEach(function (name) {\n readOne.call(_this5, name);\n });\n })();\n }\n };\n\n Connector.prototype.reload = function reload(languages, namespaces) {\n var _this7 = this;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n }\n\n var options = _extends({}, this.backend.options, this.options.backend);\n\n if (typeof languages === 'string') languages = this.services.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces]; // load with multi-load\n\n if (options.allowMultiLoading && this.backend.readMulti) {\n this.read(languages, namespaces, 'readMulti', null, null, function (err, data) {\n if (err) _this7.logger.warn('reloading namespaces ' + namespaces.join(', ') + ' for languages ' + languages.join(', ') + ' via multiloading failed', err);\n if (!err && data) _this7.logger.log('reloaded namespaces ' + namespaces.join(', ') + ' for languages ' + languages.join(', ') + ' via multiloading', data);\n languages.forEach(function (l) {\n namespaces.forEach(function (n) {\n var bundle = utils.getPath(data, [l, n]);\n\n if (bundle) {\n _this7.loaded(l + '|' + n, err, bundle);\n } else {\n var _err2 = 'reloading namespace ' + n + ' for language ' + l + ' via multiloading failed';\n\n _this7.loaded(l + '|' + n, _err2);\n\n _this7.logger.error(_err2);\n }\n });\n });\n });\n } // load one by one\n else {\n (function () {\n var readOne = function readOne(name) {\n var _this8 = this;\n\n var _name$split7 = name.split('|'),\n _name$split8 = _slicedToArray(_name$split7, 2),\n lng = _name$split8[0],\n ns = _name$split8[1];\n\n this.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) _this8.logger.warn('reloading namespace ' + ns + ' for language ' + lng + ' failed', err);\n if (!err && data) _this8.logger.log('reloaded namespace ' + ns + ' for language ' + lng, data);\n\n _this8.loaded(name, err, data);\n });\n };\n\n ;\n languages.forEach(function (l) {\n namespaces.forEach(function (n) {\n readOne.call(_this7, l + '|' + n);\n });\n });\n })();\n }\n };\n\n Connector.prototype.saveMissing = function saveMissing(languages, namespace, key, fallbackValue) {\n if (this.backend && this.backend.create) this.backend.create(languages, namespace, key, fallbackValue); // write to store to avoid resending\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n };\n\n return Connector;\n}(EventEmitter);\n\nexport default Connector;","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\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _defaults(obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass);\n}\n\nimport * as utils from './utils';\nimport baseLogger from './logger';\nimport EventEmitter from './EventEmitter';\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(cache, store, services) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.cache = cache;\n _this.store = store;\n _this.services = services;\n _this.options = options;\n _this.logger = baseLogger.create('cacheConnector');\n _this.cache && _this.cache.init && _this.cache.init(services, options.cache, options);\n return _this;\n }\n\n Connector.prototype.load = function load(languages, namespaces, callback) {\n var _this2 = this;\n\n if (!this.cache) return callback && callback();\n\n var options = _extends({}, this.cache.options, this.options.cache);\n\n if (typeof languages === 'string') languages = this.services.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n if (options.enabled) {\n this.cache.load(languages, function (err, data) {\n if (err) _this2.logger.error('loading languages ' + languages.join(', ') + ' from cache failed', err);\n\n if (data) {\n for (var l in data) {\n for (var n in data[l]) {\n if (n === 'i18nStamp') continue;\n var bundle = data[l][n];\n if (bundle) _this2.store.addResourceBundle(l, n, bundle);\n }\n }\n }\n\n if (callback) callback();\n });\n } else {\n if (callback) callback();\n }\n };\n\n Connector.prototype.save = function save() {\n if (this.cache && this.options.cache && this.options.cache.enabled) this.cache.save(this.store.data);\n };\n\n return Connector;\n}(EventEmitter);\n\nexport default Connector;","export function get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n // string or array of namespaces\n whitelist: false,\n // array with whitelisted languages\n nonExplicitWhitelist: false,\n load: 'all',\n // | currentOnly | languageOnly\n preload: false,\n // array with preload languages\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n saveMissing: false,\n // enable to send missing values\n saveMissingTo: 'fallback',\n // 'current' || 'all'\n missingKeyHandler: false,\n // function(lng, ns, key, fallbackValue) -> override if prefer on handling\n postProcess: false,\n // string or array of postProcessor names\n returnNull: true,\n // allows null value as valid translation\n returnEmptyString: true,\n // allows empty string value as valid translation\n returnObjects: false,\n joinArrays: false,\n // or string to join array\n returnedObjectHandler: function returnedObjectHandler() {},\n // function(key, value, options) triggered if key returns object but returnObjects is set to false\n parseMissingKeyHandler: false,\n // function(key) parsed a key that was not found in t() before returning\n appendNamespaceToMissingKey: false,\n overloadTranslationOptionHandler: function overloadTranslationOptionHandler(args) {\n return {\n defaultValue: args[1]\n };\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n // prefixEscaped: '{{',\n // suffixEscaped: '}}',\n // unescapeSuffix: '',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n // nestingPrefixEscaped: '$t(',\n // nestingSuffixEscaped: ')',\n defaultVariables: undefined // object that can have values to interpolate on - extends passed in interpolation data\n\n }\n };\n}\nexport function transformOptions(options) {\n // create namespace object if namespace is passed in as string\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS]; // extend whitelist with cimode\n\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) options.whitelist.push('cimode');\n return options;\n}","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _defaults(obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass);\n}\n\nimport baseLogger from './logger';\nimport EventEmitter from './EventEmitter';\nimport ResourceStore from './ResourceStore';\nimport Translator from './Translator';\nimport LanguageUtils from './LanguageUtils';\nimport PluralResolver from './PluralResolver';\nimport Interpolator from './Interpolator';\nimport BackendConnector from './BackendConnector';\nimport CacheConnector from './CacheConnector';\nimport { get as getDefaults, transformOptions } from './defaults';\nimport postProcessor from './postProcessor';\nimport * as compat from './compatibility/v1';\n\nfunction noop() {}\n\n;\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n _classCallCheck(this, I18n);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {};\n if (callback && !_this.isInitialized) _this.init(options, callback);\n return _this;\n }\n\n I18n.prototype.init = function init(options, callback) {\n var _this2 = this;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options) options = {};\n\n if (options.compatibilityAPI === 'v1') {\n this.options = _extends({}, getDefaults(), transformOptions(compat.convertAPIOptions(options)), {});\n } else if (options.compatibilityJSON === 'v1') {\n this.options = _extends({}, getDefaults(), transformOptions(compat.convertJSONOptions(options)), {});\n } else {\n this.options = _extends({}, getDefaults(), this.options, transformOptions(options));\n }\n\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n } // init services\n\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtils(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.resourceStore.on('added removed', function (lng, ns) {\n s.cacheConnector.save();\n });\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON\n });\n s.interpolator = new Interpolator(this.options);\n s.backendConnector = new BackendConnector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); // pipe events from backendConnector\n\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n s.backendConnector.on('loaded', function (loaded) {\n s.cacheConnector.save();\n });\n s.cacheConnector = new CacheConnector(createClassOnDemand(this.modules.cache), s.resourceStore, s, this.options); // pipe events from backendConnector\n\n s.cacheConnector.on('*', function (event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n this.translator = new Translator(this.services, this.options); // pipe events from translator\n\n this.translator.on('*', function (event) {\n for (var _len3 = arguments.length, args = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n } // append api\n\n\n var storeApi = ['getResource', 'addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle', 'hasResourceBundle', 'getResourceBundle'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n return this.store[fcName].apply(this.store, arguments);\n };\n }); // TODO: COMPATIBILITY remove this\n\n if (this.options.compatibilityAPI === 'v1') compat.appendBackwardsAPI(this);\n\n var load = function load() {\n _this2.changeLanguage(_this2.options.lng, function (err, t) {\n _this2.isInitialized = true;\n\n _this2.emit('initialized', _this2.options);\n\n _this2.logger.log('initialized', _this2.options);\n\n callback(err, t);\n });\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return this;\n };\n\n I18n.prototype.loadResources = function loadResources(callback) {\n var _this3 = this;\n\n if (!callback) callback = noop;\n\n if (!this.options.resources) {\n var _ret = function () {\n if (_this3.language && _this3.language.toLowerCase() === 'cimode') return {\n v: callback()\n }; // avoid loading resources for cimode\n\n var toLoad = [];\n\n var append = function append(lng) {\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n append(_this3.language);\n\n if (_this3.options.preload) {\n _this3.options.preload.forEach(function (l) {\n append(l);\n });\n }\n\n _this3.services.cacheConnector.load(toLoad, _this3.options.ns, function () {\n _this3.services.backendConnector.load(toLoad, _this3.options.ns, callback);\n });\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n } else {\n callback(null);\n }\n };\n\n I18n.prototype.reloadResources = function reloadResources(lngs, ns) {\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n this.services.backendConnector.reload(lngs, ns);\n };\n\n I18n.prototype.use = function use(module) {\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'cache') {\n this.modules.cache = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.warn) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n return this;\n };\n\n I18n.prototype.changeLanguage = function changeLanguage(lng, callback) {\n var _this4 = this;\n\n var done = function done(err) {\n if (lng) {\n _this4.emit('languageChanged', lng);\n\n _this4.logger.log('languageChanged', lng);\n }\n\n if (callback) callback(err, function () {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this4.t.apply(_this4, args);\n });\n };\n\n if (!lng && this.services.languageDetector) lng = this.services.languageDetector.detect();\n\n if (lng) {\n this.language = lng;\n this.languages = this.services.languageUtils.toResolveHierarchy(lng);\n this.translator.changeLanguage(lng);\n if (this.services.languageDetector) this.services.languageDetector.cacheUserLanguage(lng);\n }\n\n this.loadResources(function (err) {\n done(err);\n });\n };\n\n I18n.prototype.getFixedT = function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var options = _extends({}, opts);\n\n options.lng = options.lng || fixedT.lng;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n\n fixedT.lng = lng;\n fixedT.ns = ns;\n return fixedT;\n };\n\n I18n.prototype.t = function t() {\n return this.translator && this.translator.translate.apply(this.translator, arguments);\n };\n\n I18n.prototype.exists = function exists() {\n return this.translator && this.translator.exists.apply(this.translator, arguments);\n };\n\n I18n.prototype.setDefaultNamespace = function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n };\n\n I18n.prototype.loadNamespaces = function loadNamespaces(ns, callback) {\n var _this6 = this;\n\n if (!this.options.ns) return callback && callback();\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this6.options.ns.indexOf(n) < 0) _this6.options.ns.push(n);\n });\n this.loadResources(callback);\n };\n\n I18n.prototype.loadLanguages = function loadLanguages(lngs, callback) {\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n }); // Exit early if all given languages are already preloaded\n\n if (!newLngs.length) return callback();\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(callback);\n };\n\n I18n.prototype.dir = function dir(lng) {\n if (!lng) lng = this.language;\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n };\n\n I18n.prototype.createInstance = function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n return new I18n(options, callback);\n };\n\n I18n.prototype.cloneInstance = function cloneInstance() {\n var _this7 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n var clone = new I18n(_extends({}, options, this.options, {\n isClone: true\n }), callback);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this7[m];\n });\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len5 = arguments.length, args = Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n return clone;\n };\n\n return I18n;\n}(EventEmitter);\n\nexport default new I18n();","import i18next from './i18next';\nexport default i18next;","import i18n from 'i18next'\n\nvar resBundle = require(\n \"i18next-resource-store-loader!./assets/i18n/index.js\"\n)\n\nexport function initializeI18n(lang) {\n return i18n\n .init({\n lng: lang,\n fallbackLng: 'en',\n preload: ['pl', 'en'],\n\n // have a common namespace used around the full app\n ns: ['common'],\n defaultNS: 'common',\n\n debug: true,\n\n interpolation: {\n escapeValue: false // not needed for react!!\n },\n resources: resBundle\n });\n}\n\nexport default i18n;\n","import { carrierCancelOrder,\n carrierInformOrder,\n carrierTakeOrder,\n carrierDeliverOrder,\n qualityAcceptOrder,\n qualityRejectOrder,\n check } from './actions'\n\nexport function massCancelOrder(ids, reason) {\n return (dispatch, getState) => {\n ids.map(id => {\n return dispatch(carrierCancelOrder(id, reason));\n })\n dispatch(check(null));\n }\n}\n\nexport function massInformOrder(ids, info) {\n return (dispatch, getState) => {\n ids.map(id => {\n return dispatch(carrierInformOrder(id, info));\n })\n dispatch(check(null));\n }\n}\n\nexport function massTakeOrder(ids) {\n return (dispatch, getState) => {\n ids.map(id => {\n return dispatch(carrierTakeOrder(id));\n })\n dispatch(check(null));\n }\n}\n\nexport function massDeliverOrder(ids) {\n return (dispatch, getState) => {\n ids.map(id => {\n return dispatch(carrierDeliverOrder(id));\n })\n dispatch(check(null));\n }\n}\n\nexport function qualityMassAcceptOrder(ids) {\n return (dispatch, getState) => {\n ids.map(id => {\n return dispatch(qualityAcceptOrder(id));\n })\n dispatch(check(null));\n }\n}\n\nexport function qualityMassRejectOrder(ids) {\n return (dispatch, getState) => {\n ids.map(id => {\n return dispatch(qualityRejectOrder(id));\n })\n dispatch(check(null));\n }\n}\n","\"use strict\";\n\nfunction _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _jsbarcode = _interopRequireDefault(require(\"jsbarcode\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nvar getDOMNode; // Super naive semver detection but it's good enough. We support 0.12, 0.13\n// which both have getDOMNode on the ref. 0.14 and 15 make the DOM node the ref.\n\nvar version = _react[\"default\"].version.split(/[.-]/);\n\nif (version[0] === '0' && (version[1] === '13' || version[1] === '12')) {\n getDOMNode = function getDOMNode(ref) {\n return ref.getDOMNode();\n };\n} else {\n getDOMNode = function getDOMNode(ref) {\n return ref;\n };\n}\n\nvar Barcode = /*#__PURE__*/function (_React$Component) {\n _inherits(Barcode, _React$Component);\n\n function Barcode(props) {\n var _this;\n\n _classCallCheck(this, Barcode);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Barcode).call(this, props));\n _this.update = _this.update.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(Barcode, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n var _this2 = this;\n\n return Object.keys(Barcode.propTypes).some(function (k) {\n return _this2.props[k] !== nextProps[k];\n });\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.update();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.update();\n }\n }, {\n key: \"update\",\n value: function update() {\n var renderElement = getDOMNode(this.refs.renderElement);\n\n try {\n new _jsbarcode[\"default\"](renderElement, this.props.value, Object.assign({}, this.props));\n } catch (e) {\n // prevent stop the parent process\n window.console.error(e);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this.props.renderer === 'svg') {\n return _react[\"default\"].createElement(\"svg\", {\n ref: \"renderElement\"\n });\n } else if (this.props.renderer === 'canvas') {\n return _react[\"default\"].createElement(\"canvas\", {\n ref: \"renderElement\"\n });\n } else if (this.props.renderer === 'img') {\n return _react[\"default\"].createElement(\"img\", {\n ref: \"renderElement\"\n });\n }\n }\n }]);\n\n return Barcode;\n}(_react[\"default\"].Component);\n\nBarcode.propTypes = {\n value: _propTypes[\"default\"].string.isRequired,\n renderer: _propTypes[\"default\"].string,\n format: _propTypes[\"default\"].string,\n width: _propTypes[\"default\"].number,\n height: _propTypes[\"default\"].number,\n displayValue: _propTypes[\"default\"].bool,\n fontOptions: _propTypes[\"default\"].string,\n font: _propTypes[\"default\"].string,\n textAlign: _propTypes[\"default\"].string,\n textPosition: _propTypes[\"default\"].string,\n textMargin: _propTypes[\"default\"].number,\n fontSize: _propTypes[\"default\"].number,\n background: _propTypes[\"default\"].string,\n lineColor: _propTypes[\"default\"].string,\n margin: _propTypes[\"default\"].number,\n marginTop: _propTypes[\"default\"].number,\n marginBottom: _propTypes[\"default\"].number,\n marginLeft: _propTypes[\"default\"].number,\n marginRight: _propTypes[\"default\"].number\n};\nBarcode.defaultProps = {\n format: 'CODE128',\n renderer: 'svg',\n width: 2,\n height: 100,\n displayValue: true,\n fontOptions: '',\n font: 'monospace',\n textAlign: 'center',\n textPosition: 'bottom',\n textMargin: 2,\n fontSize: 20,\n background: '#ffffff',\n lineColor: '#000000',\n margin: 10\n};\nmodule.exports = Barcode;","/**\n * Copyright (c) 2016-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'; // Trust the developer to only use ReactInstrumentation with a __DEV__ check\n\nvar debugTool = null;\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactDebugTool = require('./ReactDebugTool');\n\n debugTool = ReactDebugTool;\n}\n\nmodule.exports = {\n debugTool: debugTool\n};","import {DropModal as Modal} from 'boron'\nimport React from 'react'\nimport Button from './Button'\n\nlet modalStyle = {\n background: '#4F6F8F',\n color: '#FFF'\n};\n\nlet contentStyle = {\n height: '100%',\n maxWidth: '100%',\n wordWrap: 'break-word'\n};\n\n\nexport default React.createClass({\n showModal: function() {\n this.refs[this.props.refName].show();\n },\n\n hideModal: function() {\n this.refs[this.props.refName].hide();\n },\n\n render: function() {\n return (\n \n
\n {this.props.children}\n
\n\n \n
\n );\n }\n\n});\n","\"use strict\";\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 */\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'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar CallbackQueue = require('./CallbackQueue');\n\nvar PooledClass = require('./PooledClass');\n\nvar ReactFeatureFlags = require('./ReactFeatureFlags');\n\nvar ReactReconciler = require('./ReactReconciler');\n\nvar Transaction = require('./Transaction');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar dirtyComponents = [];\nvar updateBatchNumber = 0;\nvar asapCallbackQueue = CallbackQueue.getPooled();\nvar asapEnqueued = false;\nvar batchingStrategy = null;\n\nfunction ensureInjected() {\n !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching strategy') : _prodInvariant('123') : void 0;\n}\n\nvar NESTED_UPDATES = {\n initialize: function initialize() {\n this.dirtyComponentsLength = dirtyComponents.length;\n },\n close: function close() {\n if (this.dirtyComponentsLength !== dirtyComponents.length) {\n // Additional updates were enqueued by componentDidUpdate handlers or\n // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run\n // these new updates so that if A's componentDidUpdate calls setState on\n // B, B will update before the callback A's updater provided when calling\n // setState.\n dirtyComponents.splice(0, this.dirtyComponentsLength);\n flushBatchedUpdates();\n } else {\n dirtyComponents.length = 0;\n }\n }\n};\nvar UPDATE_QUEUEING = {\n initialize: function initialize() {\n this.callbackQueue.reset();\n },\n close: function close() {\n this.callbackQueue.notifyAll();\n }\n};\nvar TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING];\n\nfunction ReactUpdatesFlushTransaction() {\n this.reinitializeTransaction();\n this.dirtyComponentsLength = null;\n this.callbackQueue = CallbackQueue.getPooled();\n this.reconcileTransaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n /* useCreateElement */\n true);\n}\n\n_assign(ReactUpdatesFlushTransaction.prototype, Transaction, {\n getTransactionWrappers: function getTransactionWrappers() {\n return TRANSACTION_WRAPPERS;\n },\n destructor: function destructor() {\n this.dirtyComponentsLength = null;\n CallbackQueue.release(this.callbackQueue);\n this.callbackQueue = null;\n ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction);\n this.reconcileTransaction = null;\n },\n perform: function perform(method, scope, a) {\n // Essentially calls `this.reconcileTransaction.perform(method, scope, a)`\n // with this transaction's wrappers around it.\n return Transaction.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a);\n }\n});\n\nPooledClass.addPoolingTo(ReactUpdatesFlushTransaction);\n\nfunction batchedUpdates(callback, a, b, c, d, e) {\n ensureInjected();\n return batchingStrategy.batchedUpdates(callback, a, b, c, d, e);\n}\n/**\n * Array comparator for ReactComponents by mount ordering.\n *\n * @param {ReactComponent} c1 first component you're comparing\n * @param {ReactComponent} c2 second component you're comparing\n * @return {number} Return value usable by Array.prototype.sort().\n */\n\n\nfunction mountOrderComparator(c1, c2) {\n return c1._mountOrder - c2._mountOrder;\n}\n\nfunction runBatchedUpdates(transaction) {\n var len = transaction.dirtyComponentsLength;\n !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\\'s stored dirty-components length (%s) to match dirty-components array length (%s).', len, dirtyComponents.length) : _prodInvariant('124', len, dirtyComponents.length) : void 0; // Since reconciling a component higher in the owner hierarchy usually (not\n // always -- see shouldComponentUpdate()) will reconcile children, reconcile\n // them before their children by sorting the array.\n\n dirtyComponents.sort(mountOrderComparator); // Any updates enqueued while reconciling must be performed after this entire\n // batch. Otherwise, if dirtyComponents is [A, B] where A has children B and\n // C, B could update twice in a single batch if C's render enqueues an update\n // to B (since B would have already updated, we should skip it, and the only\n // way we can know to do so is by checking the batch counter).\n\n updateBatchNumber++;\n\n for (var i = 0; i < len; i++) {\n // If a component is unmounted before pending changes apply, it will still\n // be here, but we assume that it has cleared its _pendingCallbacks and\n // that performUpdateIfNecessary is a noop.\n var component = dirtyComponents[i]; // If performUpdateIfNecessary happens to enqueue any new updates, we\n // shouldn't execute the callbacks until the next render happens, so\n // stash the callbacks first\n\n var callbacks = component._pendingCallbacks;\n component._pendingCallbacks = null;\n var markerName;\n\n if (ReactFeatureFlags.logTopLevelRenders) {\n var namedComponent = component; // Duck type TopLevelWrapper. This is probably always true.\n\n if (component._currentElement.type.isReactTopLevelWrapper) {\n namedComponent = component._renderedComponent;\n }\n\n markerName = 'React update: ' + namedComponent.getName();\n console.time(markerName);\n }\n\n ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber);\n\n if (markerName) {\n console.timeEnd(markerName);\n }\n\n if (callbacks) {\n for (var j = 0; j < callbacks.length; j++) {\n transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance());\n }\n }\n }\n}\n\nvar flushBatchedUpdates = function flushBatchedUpdates() {\n // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents\n // array and perform any updates enqueued by mount-ready handlers (i.e.,\n // componentDidUpdate) but we need to check here too in order to catch\n // updates enqueued by setState callbacks and asap calls.\n while (dirtyComponents.length || asapEnqueued) {\n if (dirtyComponents.length) {\n var transaction = ReactUpdatesFlushTransaction.getPooled();\n transaction.perform(runBatchedUpdates, null, transaction);\n ReactUpdatesFlushTransaction.release(transaction);\n }\n\n if (asapEnqueued) {\n asapEnqueued = false;\n var queue = asapCallbackQueue;\n asapCallbackQueue = CallbackQueue.getPooled();\n queue.notifyAll();\n CallbackQueue.release(queue);\n }\n }\n};\n/**\n * Mark a component as needing a rerender, adding an optional callback to a\n * list of functions which will be executed once the rerender occurs.\n */\n\n\nfunction enqueueUpdate(component) {\n ensureInjected(); // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case. (This is called by each top-level update\n // function, like setState, forceUpdate, etc.; creation and\n // destruction of top-level components is guarded in ReactMount.)\n\n if (!batchingStrategy.isBatchingUpdates) {\n batchingStrategy.batchedUpdates(enqueueUpdate, component);\n return;\n }\n\n dirtyComponents.push(component);\n\n if (component._updateBatchNumber == null) {\n component._updateBatchNumber = updateBatchNumber + 1;\n }\n}\n/**\n * Enqueue a callback to be run at the end of the current batching cycle. Throws\n * if no updates are currently being performed.\n */\n\n\nfunction asap(callback, context) {\n invariant(batchingStrategy.isBatchingUpdates, \"ReactUpdates.asap: Can't enqueue an asap callback in a context where\" + 'updates are not being batched.');\n asapCallbackQueue.enqueue(callback, context);\n asapEnqueued = true;\n}\n\nvar ReactUpdatesInjection = {\n injectReconcileTransaction: function injectReconcileTransaction(ReconcileTransaction) {\n !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0;\n ReactUpdates.ReactReconcileTransaction = ReconcileTransaction;\n },\n injectBatchingStrategy: function injectBatchingStrategy(_batchingStrategy) {\n !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : _prodInvariant('127') : void 0;\n !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : _prodInvariant('128') : void 0;\n !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : _prodInvariant('129') : void 0;\n batchingStrategy = _batchingStrategy;\n }\n};\nvar ReactUpdates = {\n /**\n * React references `ReactReconcileTransaction` using this property in order\n * to allow dependency injection.\n *\n * @internal\n */\n ReactReconcileTransaction: null,\n batchedUpdates: batchedUpdates,\n enqueueUpdate: enqueueUpdate,\n flushBatchedUpdates: flushBatchedUpdates,\n injection: ReactUpdatesInjection,\n asap: asap\n};\nmodule.exports = ReactUpdates;","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n'use strict';\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\nvar warning = function warning() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function warning(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.length < 10 || /^[s\\W]*$/.test(format)) {\n throw new Error('The warning format should be able to uniquely identify this ' + 'warning. Please, use a more descriptive format than: ' + format);\n }\n\n if (!condition) {\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 // 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 };\n}\n\nmodule.exports = warning;","export default(state = {\n locations: [],\n selectedId: null\n}, action) => {\n switch (action.type) {\n case 'FETCH_LOCATIONS_SUCCESS':\n return {\n ...state,\n locations: action.data\n }\n\n case 'SET_SELECTED_LOCATION':\n return {\n ...state,\n selectedId: action.data\n }\n\n case 'UPDATE_SPOT':\n let spots = state.locations.spots.map((spot) => {\n if (spot.id == action.data.id) {\n return { ...action.data }\n } else {\n return { ...spot }\n }\n });\n\n return {\n ...state,\n locations: {\n ...state.locations,\n spots: spots\n }\n }\n\n case 'ADD_SPOT':\n return {\n ...state,\n locations: {\n ...state.locations,\n spots: [\n ...state.locations.spots,\n action.data\n ]\n }\n }\n\n default:\n return state\n }\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\n(function () {\n var context = this;\n (function () {\n (function () {\n var slice = [].slice;\n this.ActionCable = {\n INTERNAL: {\n \"message_types\": {\n \"welcome\": \"welcome\",\n \"ping\": \"ping\",\n \"confirmation\": \"confirm_subscription\",\n \"rejection\": \"reject_subscription\"\n },\n \"default_mount_path\": \"/cable\",\n \"protocols\": [\"actioncable-v1-json\", \"actioncable-unsupported\"]\n },\n WebSocket: window.WebSocket,\n logger: window.console,\n createConsumer: function createConsumer(url) {\n var ref;\n\n if (url == null) {\n url = (ref = this.getConfig(\"url\")) != null ? ref : this.INTERNAL.default_mount_path;\n }\n\n return new ActionCable.Consumer(this.createWebSocketURL(url));\n },\n getConfig: function getConfig(name) {\n var element;\n element = document.head.querySelector(\"meta[name='action-cable-\" + name + \"']\");\n return element != null ? element.getAttribute(\"content\") : void 0;\n },\n createWebSocketURL: function createWebSocketURL(url) {\n var a;\n\n if (url && !/^wss?:/i.test(url)) {\n 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 startDebugging: function startDebugging() {\n return this.debugging = true;\n },\n stopDebugging: function stopDebugging() {\n return this.debugging = null;\n },\n log: function log() {\n var messages, ref;\n messages = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n\n if (this.debugging) {\n messages.push(Date.now());\n return (ref = this.logger).log.apply(ref, [\"[ActionCable]\"].concat(slice.call(messages)));\n }\n }\n };\n }).call(this);\n }).call(context);\n var ActionCable = context.ActionCable;\n (function () {\n (function () {\n var bind = function bind(fn, me) {\n return function () {\n return fn.apply(me, arguments);\n };\n };\n\n ActionCable.ConnectionMonitor = function () {\n var clamp, now, secondsSince;\n ConnectionMonitor.pollInterval = {\n min: 3,\n max: 30\n };\n ConnectionMonitor.staleThreshold = 6;\n\n function ConnectionMonitor(connection) {\n this.connection = connection;\n this.visibilityDidChange = bind(this.visibilityDidChange, this);\n this.reconnectAttempts = 0;\n }\n\n ConnectionMonitor.prototype.start = function () {\n if (!this.isRunning()) {\n this.startedAt = now();\n delete this.stoppedAt;\n this.startPolling();\n document.addEventListener(\"visibilitychange\", this.visibilityDidChange);\n return ActionCable.log(\"ConnectionMonitor started. pollInterval = \" + this.getPollInterval() + \" ms\");\n }\n };\n\n ConnectionMonitor.prototype.stop = function () {\n if (this.isRunning()) {\n this.stoppedAt = now();\n this.stopPolling();\n document.removeEventListener(\"visibilitychange\", this.visibilityDidChange);\n return ActionCable.log(\"ConnectionMonitor stopped\");\n }\n };\n\n ConnectionMonitor.prototype.isRunning = function () {\n return this.startedAt != null && this.stoppedAt == null;\n };\n\n ConnectionMonitor.prototype.recordPing = function () {\n return this.pingedAt = now();\n };\n\n ConnectionMonitor.prototype.recordConnect = function () {\n this.reconnectAttempts = 0;\n this.recordPing();\n delete this.disconnectedAt;\n return ActionCable.log(\"ConnectionMonitor recorded connect\");\n };\n\n ConnectionMonitor.prototype.recordDisconnect = function () {\n this.disconnectedAt = now();\n return ActionCable.log(\"ConnectionMonitor recorded disconnect\");\n };\n\n ConnectionMonitor.prototype.startPolling = function () {\n this.stopPolling();\n return this.poll();\n };\n\n ConnectionMonitor.prototype.stopPolling = function () {\n return clearTimeout(this.pollTimeout);\n };\n\n ConnectionMonitor.prototype.poll = function () {\n return this.pollTimeout = setTimeout(function (_this) {\n return function () {\n _this.reconnectIfStale();\n\n return _this.poll();\n };\n }(this), this.getPollInterval());\n };\n\n ConnectionMonitor.prototype.getPollInterval = function () {\n var interval, max, min, ref;\n ref = this.constructor.pollInterval, min = ref.min, max = ref.max;\n interval = 5 * Math.log(this.reconnectAttempts + 1);\n return Math.round(clamp(interval, min, max) * 1000);\n };\n\n ConnectionMonitor.prototype.reconnectIfStale = function () {\n if (this.connectionIsStale()) {\n ActionCable.log(\"ConnectionMonitor detected stale connection. reconnectAttempts = \" + this.reconnectAttempts + \", pollInterval = \" + this.getPollInterval() + \" ms, time disconnected = \" + secondsSince(this.disconnectedAt) + \" s, stale threshold = \" + this.constructor.staleThreshold + \" s\");\n this.reconnectAttempts++;\n\n if (this.disconnectedRecently()) {\n return ActionCable.log(\"ConnectionMonitor skipping reopening recent disconnect\");\n } else {\n ActionCable.log(\"ConnectionMonitor reopening\");\n return this.connection.reopen();\n }\n }\n };\n\n ConnectionMonitor.prototype.connectionIsStale = function () {\n var ref;\n return secondsSince((ref = this.pingedAt) != null ? ref : this.startedAt) > this.constructor.staleThreshold;\n };\n\n ConnectionMonitor.prototype.disconnectedRecently = function () {\n return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;\n };\n\n ConnectionMonitor.prototype.visibilityDidChange = function () {\n if (document.visibilityState === \"visible\") {\n return setTimeout(function (_this) {\n return function () {\n if (_this.connectionIsStale() || !_this.connection.isOpen()) {\n ActionCable.log(\"ConnectionMonitor reopening stale connection on visibilitychange. visbilityState = \" + document.visibilityState);\n return _this.connection.reopen();\n }\n };\n }(this), 200);\n }\n };\n\n now = function now() {\n return new Date().getTime();\n };\n\n secondsSince = function secondsSince(time) {\n return (now() - time) / 1000;\n };\n\n clamp = function clamp(number, min, max) {\n return Math.max(min, Math.min(max, number));\n };\n\n return ConnectionMonitor;\n }();\n }).call(this);\n (function () {\n var i,\n message_types,\n protocols,\n ref,\n supportedProtocols,\n unsupportedProtocol,\n slice = [].slice,\n bind = function bind(fn, me) {\n return function () {\n return fn.apply(me, arguments);\n };\n },\n indexOf = [].indexOf || function (item) {\n for (var i = 0, l = this.length; i < l; i++) {\n if (i in this && this[i] === item) return i;\n }\n\n return -1;\n };\n\n ref = ActionCable.INTERNAL, message_types = ref.message_types, protocols = ref.protocols;\n supportedProtocols = 2 <= protocols.length ? slice.call(protocols, 0, i = protocols.length - 1) : (i = 0, []), unsupportedProtocol = protocols[i++];\n\n ActionCable.Connection = function () {\n Connection.reopenDelay = 500;\n\n function Connection(consumer) {\n this.consumer = consumer;\n this.open = bind(this.open, this);\n this.subscriptions = this.consumer.subscriptions;\n this.monitor = new ActionCable.ConnectionMonitor(this);\n this.disconnected = true;\n }\n\n Connection.prototype.send = function (data) {\n if (this.isOpen()) {\n this.webSocket.send(JSON.stringify(data));\n return true;\n } else {\n return false;\n }\n };\n\n Connection.prototype.open = function () {\n if (this.isActive()) {\n ActionCable.log(\"Attempted to open WebSocket, but existing socket is \" + this.getState());\n return false;\n } else {\n ActionCable.log(\"Opening WebSocket, current state is \" + this.getState() + \", subprotocols: \" + protocols);\n\n if (this.webSocket != null) {\n this.uninstallEventHandlers();\n }\n\n this.webSocket = new ActionCable.WebSocket(this.consumer.url, protocols);\n this.installEventHandlers();\n this.monitor.start();\n return true;\n }\n };\n\n Connection.prototype.close = function (arg) {\n var allowReconnect, ref1;\n allowReconnect = (arg != null ? arg : {\n allowReconnect: true\n }).allowReconnect;\n\n if (!allowReconnect) {\n this.monitor.stop();\n }\n\n if (this.isActive()) {\n return (ref1 = this.webSocket) != null ? ref1.close() : void 0;\n }\n };\n\n Connection.prototype.reopen = function () {\n var error;\n ActionCable.log(\"Reopening WebSocket, current state is \" + this.getState());\n\n if (this.isActive()) {\n try {\n return this.close();\n } catch (error1) {\n error = error1;\n return ActionCable.log(\"Failed to reopen WebSocket\", error);\n } finally {\n ActionCable.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\n Connection.prototype.getProtocol = function () {\n var ref1;\n return (ref1 = this.webSocket) != null ? ref1.protocol : void 0;\n };\n\n Connection.prototype.isOpen = function () {\n return this.isState(\"open\");\n };\n\n Connection.prototype.isActive = function () {\n return this.isState(\"open\", \"connecting\");\n };\n\n Connection.prototype.isProtocolSupported = function () {\n var ref1;\n return ref1 = this.getProtocol(), indexOf.call(supportedProtocols, ref1) >= 0;\n };\n\n Connection.prototype.isState = function () {\n var ref1, states;\n states = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return ref1 = this.getState(), indexOf.call(states, ref1) >= 0;\n };\n\n Connection.prototype.getState = function () {\n var ref1, state, value;\n\n for (state in WebSocket) {\n value = WebSocket[state];\n\n if (value === ((ref1 = this.webSocket) != null ? ref1.readyState : void 0)) {\n return state.toLowerCase();\n }\n }\n\n return null;\n };\n\n Connection.prototype.installEventHandlers = function () {\n var eventName, handler;\n\n for (eventName in this.events) {\n handler = this.events[eventName].bind(this);\n this.webSocket[\"on\" + eventName] = handler;\n }\n };\n\n Connection.prototype.uninstallEventHandlers = function () {\n var eventName;\n\n for (eventName in this.events) {\n this.webSocket[\"on\" + eventName] = function () {};\n }\n };\n\n Connection.prototype.events = {\n message: function message(event) {\n var identifier, message, ref1, type;\n\n if (!this.isProtocolSupported()) {\n return;\n }\n\n ref1 = JSON.parse(event.data), identifier = ref1.identifier, message = ref1.message, type = ref1.type;\n\n switch (type) {\n case message_types.welcome:\n this.monitor.recordConnect();\n return this.subscriptions.reload();\n\n case message_types.ping:\n return this.monitor.recordPing();\n\n case message_types.confirmation:\n return this.subscriptions.notify(identifier, \"connected\");\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: function open() {\n ActionCable.log(\"WebSocket onopen event, using '\" + this.getProtocol() + \"' subprotocol\");\n this.disconnected = false;\n\n if (!this.isProtocolSupported()) {\n ActionCable.log(\"Protocol is unsupported. Stopping monitor and disconnecting.\");\n return this.close({\n allowReconnect: false\n });\n }\n },\n close: function close(event) {\n ActionCable.log(\"WebSocket onclose event\");\n\n if (this.disconnected) {\n return;\n }\n\n this.disconnected = true;\n this.monitor.recordDisconnect();\n return this.subscriptions.notifyAll(\"disconnected\", {\n willAttemptReconnect: this.monitor.isRunning()\n });\n },\n error: function error() {\n return ActionCable.log(\"WebSocket onerror event\");\n }\n };\n return Connection;\n }();\n }).call(this);\n (function () {\n var slice = [].slice;\n\n ActionCable.Subscriptions = function () {\n function Subscriptions(consumer) {\n this.consumer = consumer;\n this.subscriptions = [];\n }\n\n Subscriptions.prototype.create = function (channelName, mixin) {\n var channel, params, subscription;\n channel = channelName;\n params = _typeof(channel) === \"object\" ? channel : {\n channel: channel\n };\n subscription = new ActionCable.Subscription(this.consumer, params, mixin);\n return this.add(subscription);\n };\n\n Subscriptions.prototype.add = function (subscription) {\n this.subscriptions.push(subscription);\n this.consumer.ensureActiveConnection();\n this.notify(subscription, \"initialized\");\n this.sendCommand(subscription, \"subscribe\");\n return subscription;\n };\n\n Subscriptions.prototype.remove = function (subscription) {\n this.forget(subscription);\n\n if (!this.findAll(subscription.identifier).length) {\n this.sendCommand(subscription, \"unsubscribe\");\n }\n\n return subscription;\n };\n\n Subscriptions.prototype.reject = function (identifier) {\n var i, len, ref, results, subscription;\n ref = this.findAll(identifier);\n results = [];\n\n for (i = 0, len = ref.length; i < len; i++) {\n subscription = ref[i];\n this.forget(subscription);\n this.notify(subscription, \"rejected\");\n results.push(subscription);\n }\n\n return results;\n };\n\n Subscriptions.prototype.forget = function (subscription) {\n var s;\n\n this.subscriptions = function () {\n var i, len, ref, results;\n ref = this.subscriptions;\n results = [];\n\n for (i = 0, len = ref.length; i < len; i++) {\n s = ref[i];\n\n if (s !== subscription) {\n results.push(s);\n }\n }\n\n return results;\n }.call(this);\n\n return subscription;\n };\n\n Subscriptions.prototype.findAll = function (identifier) {\n var i, len, ref, results, s;\n ref = this.subscriptions;\n results = [];\n\n for (i = 0, len = ref.length; i < len; i++) {\n s = ref[i];\n\n if (s.identifier === identifier) {\n results.push(s);\n }\n }\n\n return results;\n };\n\n Subscriptions.prototype.reload = function () {\n var i, len, ref, results, subscription;\n ref = this.subscriptions;\n results = [];\n\n for (i = 0, len = ref.length; i < len; i++) {\n subscription = ref[i];\n results.push(this.sendCommand(subscription, \"subscribe\"));\n }\n\n return results;\n };\n\n Subscriptions.prototype.notifyAll = function () {\n var args, callbackName, i, len, ref, results, subscription;\n callbackName = arguments[0], args = 2 <= arguments.length ? slice.call(arguments, 1) : [];\n ref = this.subscriptions;\n results = [];\n\n for (i = 0, len = ref.length; i < len; i++) {\n subscription = ref[i];\n results.push(this.notify.apply(this, [subscription, callbackName].concat(slice.call(args))));\n }\n\n return results;\n };\n\n Subscriptions.prototype.notify = function () {\n var args, callbackName, i, len, results, subscription, subscriptions;\n subscription = arguments[0], callbackName = arguments[1], args = 3 <= arguments.length ? slice.call(arguments, 2) : [];\n\n if (typeof subscription === \"string\") {\n subscriptions = this.findAll(subscription);\n } else {\n subscriptions = [subscription];\n }\n\n results = [];\n\n for (i = 0, len = subscriptions.length; i < len; i++) {\n subscription = subscriptions[i];\n results.push(typeof subscription[callbackName] === \"function\" ? subscription[callbackName].apply(subscription, args) : void 0);\n }\n\n return results;\n };\n\n Subscriptions.prototype.sendCommand = function (subscription, command) {\n var identifier;\n identifier = subscription.identifier;\n return this.consumer.send({\n command: command,\n identifier: identifier\n });\n };\n\n return Subscriptions;\n }();\n }).call(this);\n (function () {\n ActionCable.Subscription = function () {\n var extend;\n\n function Subscription(consumer, params, mixin) {\n this.consumer = consumer;\n\n if (params == null) {\n params = {};\n }\n\n this.identifier = JSON.stringify(params);\n extend(this, mixin);\n }\n\n Subscription.prototype.perform = function (action, data) {\n if (data == null) {\n data = {};\n }\n\n data.action = action;\n return this.send(data);\n };\n\n Subscription.prototype.send = function (data) {\n return this.consumer.send({\n command: \"message\",\n identifier: this.identifier,\n data: JSON.stringify(data)\n });\n };\n\n Subscription.prototype.unsubscribe = function () {\n return this.consumer.subscriptions.remove(this);\n };\n\n extend = function extend(object, properties) {\n var key, value;\n\n if (properties != null) {\n for (key in properties) {\n value = properties[key];\n object[key] = value;\n }\n }\n\n return object;\n };\n\n return Subscription;\n }();\n }).call(this);\n (function () {\n ActionCable.Consumer = function () {\n function Consumer(url) {\n this.url = url;\n this.subscriptions = new ActionCable.Subscriptions(this);\n this.connection = new ActionCable.Connection(this);\n }\n\n Consumer.prototype.send = function (data) {\n return this.connection.send(data);\n };\n\n Consumer.prototype.connect = function () {\n return this.connection.open();\n };\n\n Consumer.prototype.disconnect = function () {\n return this.connection.close({\n allowReconnect: false\n });\n };\n\n Consumer.prototype.ensureActiveConnection = function () {\n if (!this.connection.isActive()) {\n return this.connection.open();\n }\n };\n\n return Consumer;\n }();\n }).call(this);\n }).call(this);\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module.exports) {\n module.exports = ActionCable;\n } else if (typeof define === \"function\" && define.amd) {\n define(ActionCable);\n }\n}).call(this);","import React, { PropTypes } from 'react'\nimport {connect} from 'react-redux'\nimport moment from 'moment/moment.js'\nimport momentEN from 'moment/locale/en-gb'\nimport momentPl from 'moment/locale/pl'\nimport momentCS from 'moment/locale/cs'\n\nimport SetIntervalMixin from './mixins/SetIntervalMixin'\n\nlet FromNow = React.createClass({\n mixins: [SetIntervalMixin],\n\n propTypes: {\n datetime: PropTypes.string.isRequired\n },\n\n componentDidMount() {\n this.setInterval(() => this.forceUpdate(), 15000)\n },\n\n sanitizedDatetime() {\n let { datetime } = this.props;\n return moment().isBefore(datetime) ? moment() : moment(datetime)\n },\n\n lang() {\n return this.props.language;\n },\n\n render () {\n return {moment(this.sanitizedDatetime()).locale(this.lang()).fromNow()};\n }\n})\n\nfunction mapStateToProps(state, ownProps){\n return {\n language: state.app.language\n }\n}\n\nexport default connect(mapStateToProps)(FromNow)\n","import React from 'react'\nimport moment from 'moment/moment.js'\nimport momentEN from 'moment/locale/en-gb'\nimport momentPl from 'moment/locale/pl'\nimport momentCS from 'moment/locale/cs'\nimport { showDetails, check } from '../../orders/actions'\n\nexport default {\n\n getInitialState() {\n return {\n isBlinking: false\n }\n },\n\n componentWillReceiveProps(nextProps) {\n if ( this.hasOrderChanged(nextProps) && this.state.isBlinking != true){\n this.shouldBlink();\n }\n },\n\n componentWillMount() {\n let diff = moment.duration(\n moment().diff(moment(this.props.order.created_at))\n ).asSeconds();\n\n if ( diff < 30 ){\n this.shouldBlink();\n }\n },\n\n shouldBlink() {\n this.setState({isBlinking: true});\n this.setInterval(() => this.setState({isBlinking: false}), 5000);\n },\n\n highlighted() {\n return this.props.order.id == this.props.showDetailsOrderId ? 'highlight' : '';\n },\n\n handleShowDetails() {\n if (this.props.order.id != this.props.showDetailsOrderId) {\n this.props.dispatch(showDetails(this.props.order.id));\n } else {\n this.props.dispatch(showDetails(null));\n }\n },\n\n hasOrderChanged(nextProps) {\n return (\n this.props.order != null\n && nextProps.order != null\n && this.props.order.updated_at != nextProps.order.updated_at\n );\n },\n\n rowClassNames() {\n let classes = [\n `order-container`,\n `order-box`,\n `order-${this.props.order.status}`,\n `order-${this.props.index % 2 == 0 ? \"even\" : \"odd\"}`,\n `${this.state.isBlinking ? \"blink-me\" : \"\"}`\n ]\n\n return classes.join(' ');\n },\n\n checkBox() {\n if (this.props.checkedOrders.length == 0 || this.props.order.status == this.props.checkedOrdersStatus) {\n return
this.handleOrderCheck(e)}>\n \n \n
;\n }\n },\n\n isChecked() {\n return this.props.checkedOrders.includes(this.props.order.id) ? \" checked\" : '';\n },\n\n handleOrderCheck(e) {\n e.stopPropagation();\n this.props.dispatch(check(this.props.order.id));\n },\n\n quantity() {\n let batch_quantity = parseFloat(this.props.order.batch_quantity).toString();\n\n return (\n
\n {this.props.order.quantity}\n  x \n {batch_quantity}\n {this.props.order.item.unit}\n
\n )\n }\n};\n","import React from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport Modal from '../../common/lib/Modal'\n\nlet OrderStatusIcon = React.createClass({\n\n handleClick(e) {\n e.stopPropagation();\n\n if (!!this.props.order.carrier_info) {\n this.refs.carrierInfoModal.showModal()\n }\n if (this.props.order.status == 'cancelled') {\n this.refs.cancelInfoModal.showModal()\n } \n },\n\n renderCarrierInfoModal() {\n return \n

\n {this.props.t(`carrierInfo.${this.props.order.carrier_info}`)}\n

\n
;\n },\n\n renderCancelInfoModal() {\n return \n

\n {!!this.props.order.cancel_reason &&\n this.props.t(`cancelReasons.${this.props.order.cancel_reason}`)}\n

\n
;\n },\n\n render() {\n let { order } = this.props;\n\n return (\n this.handleClick(e)}>\n {!!order.carrier_info && }\n {order.status == 'cancelled' && }\n {!!!order.carrier_info && order.status != 'cancelled'\n && }\n\n {!!order.carrier_info && this.renderCarrierInfoModal()}\n {order.status == 'cancelled' && this.renderCancelInfoModal()}\n \n );\n }\n\n});\n\nexport default translate(['orders'])(OrderStatusIcon)\n","import React, { PropTypes } from 'react'\nimport {translate} from 'react-i18next'\n\nimport Button from './Button'\n\nconst ConfirmButton = React.createClass({\n getInitialState() {\n return {\n isActive: false\n }\n },\n\n activate() {\n this.setState({\n isActive: true\n })\n },\n\n cancel() {\n this.setState({\n isActive: false\n })\n },\n\n confirm(e) {\n this.props.onClick(e)\n this.cancel()\n },\n\n render () {\n let { t, i18nLoadedAt, children, onClick, className, buttonWidth, ...otherProps } = this.props\n buttonWidth = buttonWidth ? buttonWidth : 158;\n className = className ? className : 'btn btn-group';\n\n if (this.state.isActive) {\n let style = { display: 'inline-block', width: '50%', margin: '0', padding: '4.2px 0px' };\n\n return (\n
\n \n {t('no')}\n \n \n {t('yes')}\n \n
\n )\n } else {\n return (\n \n {children}\n \n )\n }\n }\n})\n\nexport default translate(['common'])(ConfirmButton)\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 */\n'use strict';\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\n\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\nmodule.exports = ReactCurrentOwner;","/**\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 _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnForAddedNewProperty = false;\nvar isProxySupported = typeof Proxy === 'function';\nvar shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances'];\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\nvar EventInterface = {\n type: null,\n target: null,\n // currentTarget is set when dispatching; no use in copying it here\n currentTarget: emptyFunction.thatReturnsNull,\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function timeStamp(event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\n/**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n *\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {*} targetInst Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @param {DOMEventTarget} nativeEventTarget Target node.\n */\n\nfunction SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {\n if (process.env.NODE_ENV !== 'production') {\n // these have a getter/setter for warnings\n delete this.nativeEvent;\n delete this.preventDefault;\n delete this.stopPropagation;\n }\n\n this.dispatchConfig = dispatchConfig;\n this._targetInst = targetInst;\n this.nativeEvent = nativeEvent;\n var Interface = this.constructor.Interface;\n\n for (var propName in Interface) {\n if (!Interface.hasOwnProperty(propName)) {\n continue;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n delete this[propName]; // this has a getter/setter for warnings\n }\n\n var normalize = Interface[propName];\n\n if (normalize) {\n this[propName] = normalize(nativeEvent);\n } else {\n if (propName === 'target') {\n this.target = nativeEventTarget;\n } else {\n this[propName] = nativeEvent[propName];\n }\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n\n if (defaultPrevented) {\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n } else {\n this.isDefaultPrevented = emptyFunction.thatReturnsFalse;\n }\n\n this.isPropagationStopped = emptyFunction.thatReturnsFalse;\n return this;\n}\n\n_assign(SyntheticEvent.prototype, {\n preventDefault: function preventDefault() {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault(); // eslint-disable-next-line valid-typeof\n } else if (typeof event.returnValue !== 'unknown') {\n event.returnValue = false;\n }\n\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n },\n stopPropagation: function stopPropagation() {\n var event = this.nativeEvent;\n\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation(); // eslint-disable-next-line valid-typeof\n } else if (typeof event.cancelBubble !== 'unknown') {\n // The ChangeEventPlugin registers a \"propertychange\" event for\n // IE. This event does not support bubbling or cancelling, and\n // any references to cancelBubble throw \"Member not found\". A\n // typeof check of \"unknown\" circumvents this issue (and is also\n // IE specific).\n event.cancelBubble = true;\n }\n\n this.isPropagationStopped = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function persist() {\n this.isPersistent = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: emptyFunction.thatReturnsFalse,\n\n /**\n * `PooledClass` looks for `destructor` on each instance it releases.\n */\n destructor: function destructor() {\n var Interface = this.constructor.Interface;\n\n for (var propName in Interface) {\n if (process.env.NODE_ENV !== 'production') {\n Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName]));\n } else {\n this[propName] = null;\n }\n }\n\n for (var i = 0; i < shouldBeReleasedProperties.length; i++) {\n this[shouldBeReleasedProperties[i]] = null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null));\n Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction));\n Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction));\n }\n }\n});\n\nSyntheticEvent.Interface = EventInterface;\n/**\n * Helper to reduce boilerplate when creating subclasses.\n *\n * @param {function} Class\n * @param {?object} Interface\n */\n\nSyntheticEvent.augmentClass = function (Class, Interface) {\n var Super = this;\n\n var E = function E() {};\n\n E.prototype = Super.prototype;\n var prototype = new E();\n\n _assign(prototype, Class.prototype);\n\n Class.prototype = prototype;\n Class.prototype.constructor = Class;\n Class.Interface = _assign({}, Super.Interface, Interface);\n Class.augmentClass = Super.augmentClass;\n PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler);\n};\n/** Proxying after everything set on SyntheticEvent\n * to resolve Proxy issue on some WebKit browsers\n * in which some Event properties are set to undefined (GH#10010)\n */\n\n\nif (process.env.NODE_ENV !== 'production') {\n if (isProxySupported) {\n /*eslint-disable no-func-assign */\n SyntheticEvent = new Proxy(SyntheticEvent, {\n construct: function construct(target, args) {\n return this.apply(target, Object.create(target.prototype), args);\n },\n apply: function apply(constructor, that, args) {\n return new Proxy(constructor.apply(that, args), {\n set: function set(target, prop, value) {\n if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) {\n process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), \"This synthetic event is reused for performance reasons. If you're \" + \"seeing this, you're adding a new property in the synthetic event object. \" + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;\n didWarnForAddedNewProperty = true;\n }\n\n target[prop] = value;\n return true;\n }\n });\n }\n });\n /*eslint-enable no-func-assign */\n }\n}\n\nPooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler);\nmodule.exports = SyntheticEvent;\n/**\n * Helper to nullify syntheticEvent instance properties when destructing\n *\n * @param {object} SyntheticEvent\n * @param {String} propName\n * @return {object} defineProperty object\n */\n\nfunction getPooledWarningPropertyDefinition(propName, getVal) {\n var isFunction = typeof getVal === 'function';\n return {\n configurable: true,\n set: set,\n get: get\n };\n\n function set(val) {\n var action = isFunction ? 'setting the method' : 'setting the property';\n warn(action, 'This is effectively a no-op');\n return val;\n }\n\n function get() {\n var action = isFunction ? 'accessing the method' : 'accessing the property';\n var result = isFunction ? 'This is a no-op function' : 'This is set to null';\n warn(action, result);\n return getVal;\n }\n\n function warn(action, result) {\n var warningCondition = false;\n process.env.NODE_ENV !== 'production' ? warning(warningCondition, \"This synthetic event is reused for performance reasons. If you're seeing this, \" + \"you're %s `%s` on a released/nullified synthetic event. %s. \" + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0;\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\n//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n\n case 'ss':\n // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n\n case 'm':\n // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n\n case 'mm':\n // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n\n case 'h':\n // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n\n case 'hh':\n // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n\n case 'd':\n // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n\n case 'dd':\n // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n\n case 'M':\n // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n\n case 'MM':\n // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n\n case 'y':\n // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n\n case 'yy':\n // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY'\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n\n case 3:\n return '[ve středu v] LT';\n\n case 4:\n return '[ve čtvrtek v] LT';\n\n case 5:\n return '[v pátek v] LT';\n\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n\n case 3:\n return '[minulou středu v] LT';\n\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return cs;\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\n//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enGb;\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\n//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_'),\n monthsParse = [/^sty/i, /^lut/i, /^mar/i, /^kwi/i, /^maj/i, /^cze/i, /^lip/i, /^sie/i, /^wrz/i, /^paź/i, /^lis/i, /^gru/i];\n\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function months(momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n\n case 3:\n return '[W zeszłą środę o] LT';\n\n case 6:\n return '[W zeszłą sobotę o] LT';\n\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return pl;\n});","'use strict';\n\nexports.__esModule = true;\nexports.createPath = exports.parsePath = exports.getQueryStringValueFromPath = exports.stripQueryStringValueFromPath = exports.addQueryStringValueToPath = undefined;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar addQueryStringValueToPath = exports.addQueryStringValueToPath = function addQueryStringValueToPath(path, key, value) {\n var _parsePath = parsePath(path),\n pathname = _parsePath.pathname,\n search = _parsePath.search,\n hash = _parsePath.hash;\n\n return createPath({\n pathname: pathname,\n search: search + (search.indexOf('?') === -1 ? '?' : '&') + key + '=' + value,\n hash: hash\n });\n};\n\nvar stripQueryStringValueFromPath = exports.stripQueryStringValueFromPath = function stripQueryStringValueFromPath(path, key) {\n var _parsePath2 = parsePath(path),\n pathname = _parsePath2.pathname,\n search = _parsePath2.search,\n hash = _parsePath2.hash;\n\n return createPath({\n pathname: pathname,\n search: search.replace(new RegExp('([?&])' + key + '=[a-zA-Z0-9]+(&?)'), function (match, prefix, suffix) {\n return prefix === '?' ? prefix : suffix;\n }),\n hash: hash\n });\n};\n\nvar getQueryStringValueFromPath = exports.getQueryStringValueFromPath = function getQueryStringValueFromPath(path, key) {\n var _parsePath3 = parsePath(path),\n search = _parsePath3.search;\n\n var match = search.match(new RegExp('[?&]' + key + '=([a-zA-Z0-9]+)'));\n return match && match[1];\n};\n\nvar extractPath = function extractPath(string) {\n var match = string.match(/^(https?:)?\\/\\/[^\\/]*/);\n return match == null ? string : string.substring(match[0].length);\n};\n\nvar parsePath = exports.parsePath = function parsePath(path) {\n var pathname = extractPath(path);\n var search = '';\n var hash = '';\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(path === pathname, 'A path must be pathname + search + hash only, not a full URL like \"%s\"', path) : void 0;\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substring(hashIndex);\n pathname = pathname.substring(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substring(searchIndex);\n pathname = pathname.substring(0, searchIndex);\n }\n\n if (pathname === '') pathname = '/';\n return {\n pathname: pathname,\n search: search,\n hash: hash\n };\n};\n\nvar createPath = exports.createPath = function createPath(location) {\n if (location == null || typeof location === 'string') return location;\n var basename = location.basename,\n pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = (basename || '') + pathname;\n if (search && search !== '?') path += search;\n if (hash) path += hash;\n return path;\n};","'use strict';\n\nfunction _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\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar React = require('react');\n\nvar onElementResize = require('element-resize-event');\n\nvar defaultContainerStyle = {\n width: '100%',\n height: '100%',\n padding: 0,\n border: 0\n};\n\nfunction defaultGetWidth(element) {\n return element.clientWidth;\n}\n\nfunction defaultGetHeight(element) {\n return element.clientHeight;\n}\n/**\n * Wraps a react component and adds properties `containerHeight` and\n * `containerWidth`. Useful for responsive design. Properties update on\n * window resize. **Note** that the parent element must have either a\n * height or a width, or nothing will be rendered\n *\n * Can be used as a\n * [higher-order component](http://babeljs.io/blog/2015/06/07/react-on-es6-plus/#property-initializers)\n * or as an [ES7 class decorator](https://github.com/wycats/javascript-decorators)\n * (see examples)\n *\n * @param {object} [options]\n * @param {function} [options.getHeight] A function that is passed an element and returns element\n * height, where element is the wrapper div. Defaults to `(element) => element.clientHeight`\n * @param {function} [options.getWidth] A function that is passed an element and returns element\n * width, where element is the wrapper div. Defaults to `(element) => element.clientWidth`\n * @param {object} [options.containerStyle] A style object for the `
` that will wrap your component.\n * The dimensions of this `div` are what are passed as props to your component. The default style is\n * `{ width: '100%', height: '100%', padding: 0, border: 0 }` which will cause the `div` to fill its\n * parent in most cases. If you are using a flexbox layout you will want to change this default style.\n * @param {string} [options.className] Control the class name set on the wrapper `
`\n * @param {boolean} [options.elementResize=false] Set true to watch the wrapper `div` for changes in\n * size which are not a result of window resizing - e.g. changes to the flexbox and other layout.\n * @return {function} A higher-order component that can be\n * used to enhance a react component `Dimensions()(MyComponent)`\n *\n * @example\n * // ES2015\n * import React from 'react'\n * import Dimensions from 'react-dimensions'\n *\n * class MyComponent extends React.Component {\n * render() (\n * \n *
\n * )\n * }\n *\n * export default Dimensions()(MyComponent) // Enhanced component\n *\n * @example\n * // ES5\n * var React = require('react')\n * var Dimensions = require('react-dimensions')\n *\n * var MyComponent = React.createClass({\n * render: function() {(\n * \n *
\n * )}\n * }\n *\n * module.exports = Dimensions()(MyComponent) // Enhanced component\n *\n */\n\n\nmodule.exports = function Dimensions() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$getHeight = _ref.getHeight,\n getHeight = _ref$getHeight === undefined ? defaultGetHeight : _ref$getHeight,\n _ref$getWidth = _ref.getWidth,\n getWidth = _ref$getWidth === undefined ? defaultGetWidth : _ref$getWidth,\n _ref$containerStyle = _ref.containerStyle,\n containerStyle = _ref$containerStyle === undefined ? defaultContainerStyle : _ref$containerStyle,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? null : _ref$className,\n _ref$elementResize = _ref.elementResize,\n elementResize = _ref$elementResize === undefined ? false : _ref$elementResize;\n\n return function (ComposedComponent) {\n return function (_React$Component) {\n _inherits(DimensionsHOC, _React$Component);\n\n function DimensionsHOC() {\n var _ref2;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, DimensionsHOC);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = DimensionsHOC.__proto__ || Object.getPrototypeOf(DimensionsHOC)).call.apply(_ref2, [this].concat(args))), _this), _this.state = {}, _this.updateDimensions = function () {\n var container = _this.refs.container;\n var containerWidth = getWidth(container);\n var containerHeight = getHeight(container);\n\n if (containerWidth !== _this.state.containerWidth || containerHeight !== _this.state.containerHeight) {\n _this.setState({\n containerWidth: containerWidth,\n containerHeight: containerHeight\n });\n }\n }, _this.onResize = function () {\n if (_this.rqf) return;\n _this.rqf = _this.getWindow().requestAnimationFrame(function () {\n _this.rqf = null;\n\n _this.updateDimensions();\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n } // ES7 Class properties\n // http://babeljs.io/blog/2015/06/07/react-on-es6-plus/#property-initializers\n // Using arrow functions and ES7 Class properties to autobind\n // http://babeljs.io/blog/2015/06/07/react-on-es6-plus/#arrow-functions\n\n\n _createClass(DimensionsHOC, [{\n key: 'getWindow',\n // If the component is mounted in a different window to the javascript\n // context, as with https://github.com/JakeGinnivan/react-popout\n // then the `window` global will be different from the `window` that\n // contains the component.\n // Depends on `defaultView` which is not supported \n );\n }\n\n});\n\nexport default translate(['orders'])(OrderDirectionIcon)\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\n\nlet Search = React.createClass({\n clear () {\n this.refs.searchInput.value = '';\n },\n\n render () {\n return (\n
\n
\n this.props.onSearch(e.target.value)}\n autoComplete=\"off\"\n />\n \n \n
\n )\n }\n})\n\nexport default Search\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport SetIntervalMixin from '../../lib/mixins/SetIntervalMixin'\nimport style from './styles.sass';\n\nlet ConnectionStatus = React.createClass({\n mixins: [SetIntervalMixin],\n\n propTypes: {\n testUrl: PropTypes.string.isRequired,\n lang: PropTypes.string.isRequired,\n onlineAgain: PropTypes.func\n },\n\n getInitialState() {\n return {\n online: true,\n secondsRemaining: 0\n }\n },\n\n componentDidMount() {\n this.setInterval(() => this.checkConnection(), 180000)\n },\n\n componentWillUnmount() {\n clearInterval(this.interval)\n },\n\n isOnline() {\n return this.state.online;\n },\n\n checkConnection() {\n return this.state.secondsRemaining <= 0 && this.connectionTest();\n },\n\n handleConnectionSuccess() {\n if (this.state.online == false) {\n this.backToOnline()\n }\n this.setState({online: true})\n this.setState({secondsRemaining: 0})\n },\n\n handleConnectionError() {\n this.setState({online: false})\n if (this.state.secondsRemaining == 0) {\n this.setState({secondsRemaining: 60})\n this.countDown()\n }\n },\n\n backToOnline() {\n this.props.onlineAgain()\n },\n\n renderMessage() {\n switch (this.props.lang) {\n case 'pl':\n return `Twoje urządzenie straciło połączenie z internetem. Ponawiam za ${this.state.secondsRemaining}s`;\n default:\n return `Your device lost its internet connection. Reconnecting in ${this.state.secondsRemaining}s`;\n }\n },\n\n connectionTest() {\n let config = {\n method: 'GET',\n credentials: 'same-origin',\n cache: 'default'\n }\n\n return fetch(this.props.testUrl, config)\n .then((response) => {\n if (response.ok) {\n this.handleConnectionSuccess();\n return true;\n } else {\n this.handleConnectionError();\n return false;\n }\n })\n .catch((error) => {\n this.handleConnectionError();\n console.log(`connection error: ${error}`);\n return false;\n });\n },\n\n countDown() {\n this.interval = setInterval(this.countDownTick, 1000);\n },\n\n countDownTick() {\n this.setState({secondsRemaining: this.state.secondsRemaining - 1});\n if (this.state.secondsRemaining <= 0) {\n clearInterval(this.interval);\n this.checkConnection()\n }\n },\n\n styles() {\n return [\n style.offline_ui,\n this.isOnline() ? style.offline_ui_up : style.offline_ui_down,\n (!this.isOnline() && style.offline_ui_connecting),\n (!this.isOnline() && style.offline_ui_waiting),\n ].join(' ');\n },\n\n render() {\n return (\n
\n
\n {this.renderMessage()}\n
\n
\n )\n }\n\n})\n\nlet mapStateToProps = (state) => {\n return {\n locations: state.locations.locations,\n supplies: state.supplies.supplies,\n selectedLocationId: state.locations.selectedId,\n selectedStage: state.supplies.selectedStage\n }\n}\n\nexport default ConnectionStatus\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 */\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n/**\n * Static poolers. Several custom versions for each potential number of\n * arguments. A completely generic pooler is easy to implement, but would\n * require accessing the `arguments` object. In each of these, `this` refers to\n * the Class itself, not an instance. If any others are needed, simply add them\n * here, or in their own files.\n */\n\n\nvar oneArgumentPooler = function oneArgumentPooler(copyFieldsFrom) {\n var Klass = this;\n\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\nvar twoArgumentPooler = function twoArgumentPooler(a1, a2) {\n var Klass = this;\n\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};\n\nvar threeArgumentPooler = function threeArgumentPooler(a1, a2, a3) {\n var Klass = this;\n\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3);\n return instance;\n } else {\n return new Klass(a1, a2, a3);\n }\n};\n\nvar fourArgumentPooler = function fourArgumentPooler(a1, a2, a3, a4) {\n var Klass = this;\n\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\nvar standardReleaser = function standardReleaser(instance) {\n var Klass = this;\n !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;\n instance.destructor();\n\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\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 */\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\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n oneArgumentPooler: oneArgumentPooler,\n twoArgumentPooler: twoArgumentPooler,\n threeArgumentPooler: threeArgumentPooler,\n fourArgumentPooler: fourArgumentPooler\n};\nmodule.exports = PooledClass;","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\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","'use strict';\n\nfunction _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexports.__esModule = true;\nexports.locationsAreEqual = exports.statesAreEqual = exports.createLocation = exports.createQuery = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _PathUtils = require('./PathUtils');\n\nvar _Actions = require('./Actions');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar createQuery = exports.createQuery = function createQuery(props) {\n return _extends(Object.create(null), props);\n};\n\nvar createLocation = exports.createLocation = function createLocation() {\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '/';\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Actions.POP;\n var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var object = typeof input === 'string' ? (0, _PathUtils.parsePath)(input) : input;\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!object.path, 'Location descriptor objects should have a `pathname`, not a `path`.') : void 0;\n var pathname = object.pathname || '/';\n var search = object.search || '';\n var hash = object.hash || '';\n var state = object.state;\n return {\n pathname: pathname,\n search: search,\n hash: hash,\n state: state,\n action: action,\n key: key\n };\n};\n\nvar isDate = function isDate(object) {\n return Object.prototype.toString.call(object) === '[object Date]';\n};\n\nvar statesAreEqual = exports.statesAreEqual = function statesAreEqual(a, b) {\n if (a === b) return true;\n var typeofA = typeof a === 'undefined' ? 'undefined' : _typeof(a);\n var typeofB = typeof b === 'undefined' ? 'undefined' : _typeof(b);\n if (typeofA !== typeofB) return false;\n !(typeofA !== 'function') ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You must not store functions in location state') : (0, _invariant2.default)(false) : void 0; // Not the same object, but same type.\n\n if (typeofA === 'object') {\n !!(isDate(a) && isDate(b)) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You must not store Date objects in location state') : (0, _invariant2.default)(false) : void 0;\n\n if (!Array.isArray(a)) {\n var keysofA = Object.keys(a);\n var keysofB = Object.keys(b);\n return keysofA.length === keysofB.length && keysofA.every(function (key) {\n return statesAreEqual(a[key], b[key]);\n });\n }\n\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return statesAreEqual(item, b[index]);\n });\n } // All other serializable types (string, number, boolean)\n // should be strict equal.\n\n\n return false;\n};\n\nvar locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {\n return a.key === b.key && // a.action === b.action && // Different action !== location change.\n a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && statesAreEqual(a.state, b.state);\n};","'use strict';\n\nvar getVendorPropertyName = require('./getVendorPropertyName');\n\nmodule.exports = function (target, sources) {\n var to = Object(target);\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n for (var nextIndex = 1; nextIndex < arguments.length; nextIndex++) {\n var nextSource = arguments[nextIndex];\n\n if (nextSource == null) {\n continue;\n }\n\n var from = Object(nextSource);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n }\n\n var prefixed = {};\n\n for (var key in to) {\n prefixed[getVendorPropertyName(key)] = to[key];\n }\n\n return prefixed;\n};","/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n!function (root, name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition();else if (typeof define == 'function' && define.amd) define(name, definition);else root[name] = definition();\n}(this, 'bowser', function () {\n /**\n * See useragents.js for examples of navigator.userAgent\n */\n var t = true;\n\n function detect(ua) {\n function getFirstMatch(regex) {\n var match = ua.match(regex);\n return match && match.length > 1 && match[1] || '';\n }\n\n function getSecondMatch(regex) {\n var match = ua.match(regex);\n return match && match.length > 1 && match[2] || '';\n }\n\n var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase(),\n likeAndroid = /like android/i.test(ua),\n android = !likeAndroid && /android/i.test(ua),\n nexusMobile = /nexus\\s*[0-6]\\s*/i.test(ua),\n nexusTablet = !nexusMobile && /nexus\\s*[0-9]+/i.test(ua),\n chromeos = /CrOS/.test(ua),\n silk = /silk/i.test(ua),\n sailfish = /sailfish/i.test(ua),\n tizen = /tizen/i.test(ua),\n webos = /(web|hpw)(o|0)s/i.test(ua),\n windowsphone = /windows phone/i.test(ua),\n samsungBrowser = /SamsungBrowser/i.test(ua),\n windows = !windowsphone && /windows/i.test(ua),\n mac = !iosdevice && !silk && /macintosh/i.test(ua),\n linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua),\n edgeVersion = getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i),\n versionIdentifier = getFirstMatch(/version\\/(\\d+(\\.\\d+)?)/i),\n tablet = /tablet/i.test(ua) && !/tablet pc/i.test(ua),\n mobile = !tablet && /[^-]mobi/i.test(ua),\n xbox = /xbox/i.test(ua),\n result;\n\n if (/opera/i.test(ua)) {\n // an old Opera\n result = {\n name: 'Opera',\n opera: t,\n version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)\n };\n } else if (/opr\\/|opios/i.test(ua)) {\n // a new Opera\n result = {\n name: 'Opera',\n opera: t,\n version: getFirstMatch(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i) || versionIdentifier\n };\n } else if (/SamsungBrowser/i.test(ua)) {\n result = {\n name: 'Samsung Internet for Android',\n samsungBrowser: t,\n version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n };\n } else if (/Whale/i.test(ua)) {\n result = {\n name: 'NAVER Whale browser',\n whale: t,\n version: getFirstMatch(/(?:whale)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n };\n } else if (/MZBrowser/i.test(ua)) {\n result = {\n name: 'MZ Browser',\n mzbrowser: t,\n version: getFirstMatch(/(?:MZBrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n };\n } else if (/coast/i.test(ua)) {\n result = {\n name: 'Opera Coast',\n coast: t,\n version: versionIdentifier || getFirstMatch(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)\n };\n } else if (/focus/i.test(ua)) {\n result = {\n name: 'Focus',\n focus: t,\n version: getFirstMatch(/(?:focus)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n };\n } else if (/yabrowser/i.test(ua)) {\n result = {\n name: 'Yandex Browser',\n yandexbrowser: t,\n version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n };\n } else if (/ucbrowser/i.test(ua)) {\n result = {\n name: 'UC Browser',\n ucbrowser: t,\n version: getFirstMatch(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n };\n } else if (/mxios/i.test(ua)) {\n result = {\n name: 'Maxthon',\n maxthon: t,\n version: getFirstMatch(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n };\n } else if (/epiphany/i.test(ua)) {\n result = {\n name: 'Epiphany',\n epiphany: t,\n version: getFirstMatch(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n };\n } else if (/puffin/i.test(ua)) {\n result = {\n name: 'Puffin',\n puffin: t,\n version: getFirstMatch(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)\n };\n } else if (/sleipnir/i.test(ua)) {\n result = {\n name: 'Sleipnir',\n sleipnir: t,\n version: getFirstMatch(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n };\n } else if (/k-meleon/i.test(ua)) {\n result = {\n name: 'K-Meleon',\n kMeleon: t,\n version: getFirstMatch(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n };\n } else if (windowsphone) {\n result = {\n name: 'Windows Phone',\n osname: 'Windows Phone',\n windowsphone: t\n };\n\n if (edgeVersion) {\n result.msedge = t;\n result.version = edgeVersion;\n } else {\n result.msie = t;\n result.version = getFirstMatch(/iemobile\\/(\\d+(\\.\\d+)?)/i);\n }\n } else if (/msie|trident/i.test(ua)) {\n result = {\n name: 'Internet Explorer',\n msie: t,\n version: getFirstMatch(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)\n };\n } else if (chromeos) {\n result = {\n name: 'Chrome',\n osname: 'Chrome OS',\n chromeos: t,\n chromeBook: t,\n chrome: t,\n version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n };\n } else if (/edg([ea]|ios)/i.test(ua)) {\n result = {\n name: 'Microsoft Edge',\n msedge: t,\n version: edgeVersion\n };\n } else if (/vivaldi/i.test(ua)) {\n result = {\n name: 'Vivaldi',\n vivaldi: t,\n version: getFirstMatch(/vivaldi\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n };\n } else if (sailfish) {\n result = {\n name: 'Sailfish',\n osname: 'Sailfish OS',\n sailfish: t,\n version: getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)\n };\n } else if (/seamonkey\\//i.test(ua)) {\n result = {\n name: 'SeaMonkey',\n seamonkey: t,\n version: getFirstMatch(/seamonkey\\/(\\d+(\\.\\d+)?)/i)\n };\n } else if (/firefox|iceweasel|fxios/i.test(ua)) {\n result = {\n name: 'Firefox',\n firefox: t,\n version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)\n };\n\n if (/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(ua)) {\n result.firefoxos = t;\n result.osname = 'Firefox OS';\n }\n } else if (silk) {\n result = {\n name: 'Amazon Silk',\n silk: t,\n version: getFirstMatch(/silk\\/(\\d+(\\.\\d+)?)/i)\n };\n } else if (/phantom/i.test(ua)) {\n result = {\n name: 'PhantomJS',\n phantom: t,\n version: getFirstMatch(/phantomjs\\/(\\d+(\\.\\d+)?)/i)\n };\n } else if (/slimerjs/i.test(ua)) {\n result = {\n name: 'SlimerJS',\n slimer: t,\n version: getFirstMatch(/slimerjs\\/(\\d+(\\.\\d+)?)/i)\n };\n } else if (/blackberry|\\bbb\\d+/i.test(ua) || /rim\\stablet/i.test(ua)) {\n result = {\n name: 'BlackBerry',\n osname: 'BlackBerry OS',\n blackberry: t,\n version: versionIdentifier || getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)\n };\n } else if (webos) {\n result = {\n name: 'WebOS',\n osname: 'WebOS',\n webos: t,\n version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)\n };\n /touchpad\\//i.test(ua) && (result.touchpad = t);\n } else if (/bada/i.test(ua)) {\n result = {\n name: 'Bada',\n osname: 'Bada',\n bada: t,\n version: getFirstMatch(/dolfin\\/(\\d+(\\.\\d+)?)/i)\n };\n } else if (tizen) {\n result = {\n name: 'Tizen',\n osname: 'Tizen',\n tizen: t,\n version: getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n };\n } else if (/qupzilla/i.test(ua)) {\n result = {\n name: 'QupZilla',\n qupzilla: t,\n version: getFirstMatch(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i) || versionIdentifier\n };\n } else if (/chromium/i.test(ua)) {\n result = {\n name: 'Chromium',\n chromium: t,\n version: getFirstMatch(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i) || versionIdentifier\n };\n } else if (/chrome|crios|crmo/i.test(ua)) {\n result = {\n name: 'Chrome',\n chrome: t,\n version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n };\n } else if (android) {\n result = {\n name: 'Android',\n version: versionIdentifier\n };\n } else if (/safari|applewebkit/i.test(ua)) {\n result = {\n name: 'Safari',\n safari: t\n };\n\n if (versionIdentifier) {\n result.version = versionIdentifier;\n }\n } else if (iosdevice) {\n result = {\n name: iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'\n }; // WTF: version is not part of user agent in web apps\n\n if (versionIdentifier) {\n result.version = versionIdentifier;\n }\n } else if (/googlebot/i.test(ua)) {\n result = {\n name: 'Googlebot',\n googlebot: t,\n version: getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i) || versionIdentifier\n };\n } else {\n result = {\n name: getFirstMatch(/^(.*)\\/(.*) /),\n version: getSecondMatch(/^(.*)\\/(.*) /)\n };\n } // set webkit or gecko flag for browsers based on these engines\n\n\n if (!result.msedge && /(apple)?webkit/i.test(ua)) {\n if (/(apple)?webkit\\/537\\.36/i.test(ua)) {\n result.name = result.name || \"Blink\";\n result.blink = t;\n } else {\n result.name = result.name || \"Webkit\";\n result.webkit = t;\n }\n\n if (!result.version && versionIdentifier) {\n result.version = versionIdentifier;\n }\n } else if (!result.opera && /gecko\\//i.test(ua)) {\n result.name = result.name || \"Gecko\";\n result.gecko = t;\n result.version = result.version || getFirstMatch(/gecko\\/(\\d+(\\.\\d+)?)/i);\n } // set OS flags for platforms that have multiple browsers\n\n\n if (!result.windowsphone && (android || result.silk)) {\n result.android = t;\n result.osname = 'Android';\n } else if (!result.windowsphone && iosdevice) {\n result[iosdevice] = t;\n result.ios = t;\n result.osname = 'iOS';\n } else if (mac) {\n result.mac = t;\n result.osname = 'macOS';\n } else if (xbox) {\n result.xbox = t;\n result.osname = 'Xbox';\n } else if (windows) {\n result.windows = t;\n result.osname = 'Windows';\n } else if (linux) {\n result.linux = t;\n result.osname = 'Linux';\n }\n\n function getWindowsVersion(s) {\n switch (s) {\n case 'NT':\n return 'NT';\n\n case 'XP':\n return 'XP';\n\n case 'NT 5.0':\n return '2000';\n\n case 'NT 5.1':\n return 'XP';\n\n case 'NT 5.2':\n return '2003';\n\n case 'NT 6.0':\n return 'Vista';\n\n case 'NT 6.1':\n return '7';\n\n case 'NT 6.2':\n return '8';\n\n case 'NT 6.3':\n return '8.1';\n\n case 'NT 10.0':\n return '10';\n\n default:\n return undefined;\n }\n } // OS version extraction\n\n\n var osVersion = '';\n\n if (result.windows) {\n osVersion = getWindowsVersion(getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i));\n } else if (result.windowsphone) {\n osVersion = getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i);\n } else if (result.mac) {\n osVersion = getFirstMatch(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (iosdevice) {\n osVersion = getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (android) {\n osVersion = getFirstMatch(/android[ \\/-](\\d+(\\.\\d+)*)/i);\n } else if (result.webos) {\n osVersion = getFirstMatch(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.blackberry) {\n osVersion = getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i);\n } else if (result.bada) {\n osVersion = getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.tizen) {\n osVersion = getFirstMatch(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i);\n }\n\n if (osVersion) {\n result.osversion = osVersion;\n } // device type extraction\n\n\n var osMajorVersion = !result.windows && osVersion.split('.')[0];\n\n if (tablet || nexusTablet || iosdevice == 'ipad' || android && (osMajorVersion == 3 || osMajorVersion >= 4 && !mobile) || result.silk) {\n result.tablet = t;\n } else if (mobile || iosdevice == 'iphone' || iosdevice == 'ipod' || android || nexusMobile || result.blackberry || result.webos || result.bada) {\n result.mobile = t;\n } // Graded Browser Support\n // http://developer.yahoo.com/yui/articles/gbs\n\n\n if (result.msedge || result.msie && result.version >= 10 || result.yandexbrowser && result.version >= 15 || result.vivaldi && result.version >= 1.0 || result.chrome && result.version >= 20 || result.samsungBrowser && result.version >= 4 || result.whale && compareVersions([result.version, '1.0']) === 1 || result.mzbrowser && compareVersions([result.version, '6.0']) === 1 || result.focus && compareVersions([result.version, '1.0']) === 1 || result.firefox && result.version >= 20.0 || result.safari && result.version >= 6 || result.opera && result.version >= 10.0 || result.ios && result.osversion && result.osversion.split(\".\")[0] >= 6 || result.blackberry && result.version >= 10.1 || result.chromium && result.version >= 20) {\n result.a = t;\n } else if (result.msie && result.version < 10 || result.chrome && result.version < 20 || result.firefox && result.version < 20.0 || result.safari && result.version < 6 || result.opera && result.version < 10.0 || result.ios && result.osversion && result.osversion.split(\".\")[0] < 6 || result.chromium && result.version < 20) {\n result.c = t;\n } else result.x = t;\n\n return result;\n }\n\n var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent || '' : '');\n\n bowser.test = function (browserList) {\n for (var i = 0; i < browserList.length; ++i) {\n var browserItem = browserList[i];\n\n if (typeof browserItem === 'string') {\n if (browserItem in bowser) {\n return true;\n }\n }\n }\n\n return false;\n };\n /**\n * Get version precisions count\n *\n * @example\n * getVersionPrecision(\"1.10.3\") // 3\n *\n * @param {string} version\n * @return {number}\n */\n\n\n function getVersionPrecision(version) {\n return version.split(\".\").length;\n }\n /**\n * Array::map polyfill\n *\n * @param {Array} arr\n * @param {Function} iterator\n * @return {Array}\n */\n\n\n function map(arr, iterator) {\n var result = [],\n i;\n\n if (Array.prototype.map) {\n return Array.prototype.map.call(arr, iterator);\n }\n\n for (i = 0; i < arr.length; i++) {\n result.push(iterator(arr[i]));\n }\n\n return result;\n }\n /**\n * Calculate browser version weight\n *\n * @example\n * compareVersions(['1.10.2.1', '1.8.2.1.90']) // 1\n * compareVersions(['1.010.2.1', '1.09.2.1.90']); // 1\n * compareVersions(['1.10.2.1', '1.10.2.1']); // 0\n * compareVersions(['1.10.2.1', '1.0800.2']); // -1\n *\n * @param {Array} versions versions to compare\n * @return {Number} comparison result\n */\n\n\n function compareVersions(versions) {\n // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));\n var chunks = map(versions, function (version) {\n var delta = precision - getVersionPrecision(version); // 2) \"9\" -> \"9.0\" (for precision = 2)\n\n version = version + new Array(delta + 1).join(\".0\"); // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n\n return map(version.split(\".\"), function (chunk) {\n return new Array(20 - chunk.length).join(\"0\") + chunk;\n }).reverse();\n }); // iterate in reverse order by reversed chunks array\n\n while (--precision >= 0) {\n // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n if (chunks[0][precision] > chunks[1][precision]) {\n return 1;\n } else if (chunks[0][precision] === chunks[1][precision]) {\n if (precision === 0) {\n // all version chunks are same\n return 0;\n }\n } else {\n return -1;\n }\n }\n }\n /**\n * Check if browser is unsupported\n *\n * @example\n * bowser.isUnsupportedBrowser({\n * msie: \"10\",\n * firefox: \"23\",\n * chrome: \"29\",\n * safari: \"5.1\",\n * opera: \"16\",\n * phantom: \"534\"\n * });\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n\n\n function isUnsupportedBrowser(minVersions, strictMode, ua) {\n var _bowser = bowser; // make strictMode param optional with ua param usage\n\n if (typeof strictMode === 'string') {\n ua = strictMode;\n strictMode = void 0;\n }\n\n if (strictMode === void 0) {\n strictMode = false;\n }\n\n if (ua) {\n _bowser = detect(ua);\n }\n\n var version = \"\" + _bowser.version;\n\n for (var browser in minVersions) {\n if (minVersions.hasOwnProperty(browser)) {\n if (_bowser[browser]) {\n if (typeof minVersions[browser] !== 'string') {\n throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions));\n } // browser version and min supported version.\n\n\n return compareVersions([version, minVersions[browser]]) < 0;\n }\n }\n }\n\n return strictMode; // not found\n }\n /**\n * Check if browser is supported\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n\n\n function check(minVersions, strictMode, ua) {\n return !isUnsupportedBrowser(minVersions, strictMode, ua);\n }\n\n bowser.isUnsupportedBrowser = isUnsupportedBrowser;\n bowser.compareVersions = compareVersions;\n bowser.check = check;\n /*\n * Set our detect method to the main bowser object so we can\n * reuse it to test other user agents.\n * This is needed to implement future tests.\n */\n\n bowser._detect = detect;\n /*\n * Set our detect public method to the main bowser object\n * This is needed to implement bowser in server side\n */\n\n bowser.detect = detect;\n return bowser;\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 _assign = require('object-assign');\n\nvar ReactBaseClasses = require('./ReactBaseClasses');\n\nvar ReactChildren = require('./ReactChildren');\n\nvar ReactDOMFactories = require('./ReactDOMFactories');\n\nvar ReactElement = require('./ReactElement');\n\nvar ReactPropTypes = require('./ReactPropTypes');\n\nvar ReactVersion = require('./ReactVersion');\n\nvar createReactClass = require('./createClass');\n\nvar onlyChild = require('./onlyChild');\n\nvar createElement = ReactElement.createElement;\nvar createFactory = ReactElement.createFactory;\nvar cloneElement = ReactElement.cloneElement;\n\nif (process.env.NODE_ENV !== 'production') {\n var lowPriorityWarning = require('./lowPriorityWarning');\n\n var canDefineProperty = require('./canDefineProperty');\n\n var ReactElementValidator = require('./ReactElementValidator');\n\n var didWarnPropTypesDeprecated = false;\n createElement = ReactElementValidator.createElement;\n createFactory = ReactElementValidator.createFactory;\n cloneElement = ReactElementValidator.cloneElement;\n}\n\nvar __spread = _assign;\n\nvar createMixin = function createMixin(mixin) {\n return mixin;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var warnedForSpread = false;\n var warnedForCreateMixin = false;\n\n __spread = function __spread() {\n lowPriorityWarning(warnedForSpread, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.');\n warnedForSpread = true;\n return _assign.apply(null, arguments);\n };\n\n createMixin = function createMixin(mixin) {\n lowPriorityWarning(warnedForCreateMixin, 'React.createMixin is deprecated and should not be used. ' + 'In React v16.0, it will be removed. ' + 'You can use this mixin directly instead. ' + 'See https://fb.me/createmixin-was-never-implemented for more info.');\n warnedForCreateMixin = true;\n return mixin;\n };\n}\n\nvar React = {\n // Modern\n Children: {\n map: ReactChildren.map,\n forEach: ReactChildren.forEach,\n count: ReactChildren.count,\n toArray: ReactChildren.toArray,\n only: onlyChild\n },\n Component: ReactBaseClasses.Component,\n PureComponent: ReactBaseClasses.PureComponent,\n createElement: createElement,\n cloneElement: cloneElement,\n isValidElement: ReactElement.isValidElement,\n // Classic\n PropTypes: ReactPropTypes,\n createClass: createReactClass,\n createFactory: createFactory,\n createMixin: createMixin,\n // This looks DOM specific but these are actually isomorphic helpers\n // since they are just generating DOM strings.\n DOM: ReactDOMFactories,\n version: ReactVersion,\n // Deprecated hook for JSX spread, don't use this for anything.\n __spread: __spread\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var warnedForCreateClass = false;\n\n if (canDefineProperty) {\n Object.defineProperty(React, 'PropTypes', {\n get: function get() {\n lowPriorityWarning(didWarnPropTypesDeprecated, 'Accessing PropTypes via the main React package is deprecated,' + ' and will be removed in React v16.0.' + ' Use the latest available v15.* prop-types package from npm instead.' + ' For info on usage, compatibility, migration and more, see ' + 'https://fb.me/prop-types-docs');\n didWarnPropTypesDeprecated = true;\n return ReactPropTypes;\n }\n });\n Object.defineProperty(React, 'createClass', {\n get: function get() {\n lowPriorityWarning(warnedForCreateClass, 'Accessing createClass via the main React package is deprecated,' + ' and will be removed in React v16.0.' + \" Use a plain JavaScript class instead. If you're not yet \" + 'ready to migrate, create-react-class v15.* is available ' + 'on npm as a temporary, drop-in replacement. ' + 'For more info see https://fb.me/react-create-class');\n warnedForCreateClass = true;\n return createReactClass;\n }\n });\n } // React.DOM factories are deprecated. Wrap these methods so that\n // invocations of the React.DOM namespace and alert users to switch\n // to the `react-dom-factories` package.\n\n\n React.DOM = {};\n var warnedForFactories = false;\n Object.keys(ReactDOMFactories).forEach(function (factory) {\n React.DOM[factory] = function () {\n if (!warnedForFactories) {\n lowPriorityWarning(false, 'Accessing factories like React.DOM.%s has been deprecated ' + 'and will be removed in v16.0+. Use the ' + 'react-dom-factories package instead. ' + ' Version 1.0 provides a drop-in replacement.' + ' For more info, see https://fb.me/react-dom-factories', factory);\n warnedForFactories = true;\n }\n\n return ReactDOMFactories[factory].apply(ReactDOMFactories, arguments);\n };\n });\n}\n\nmodule.exports = React;","/**\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\nfunction _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\nvar _assign = require('object-assign');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar warning = require('fbjs/lib/warning');\n\nvar canDefineProperty = require('./canDefineProperty');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar REACT_ELEMENT_TYPE = require('./ReactElementSymbol');\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown;\n\nfunction hasValidRef(config) {\n if (process.env.NODE_ENV !== 'production') {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n if (process.env.NODE_ENV !== 'production') {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function warnAboutAccessingKey() {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function warnAboutAccessingRef() {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, no instanceof check\n * will work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} key\n * @param {string|object} ref\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @param {*} owner\n * @param {*} props\n * @internal\n */\n\n\nvar ReactElement = function ReactElement(type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allow us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n if (process.env.NODE_ENV !== 'production') {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n if (canDefineProperty) {\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n } else {\n element._store.validated = false;\n element._self = self;\n element._source = source;\n }\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createelement\n */\n\n\nReactElement.createElement = function (type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n }\n\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (key || ref) {\n if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n};\n/**\n * Return a function that produces ReactElements of a given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory\n */\n\n\nReactElement.createFactory = function (type) {\n var factory = ReactElement.createElement.bind(null, type); // Expose the type on the factory and the prototype so that it can be\n // easily accessed on elements. E.g. `.type === Foo`.\n // This should not be named `constructor` since this may not be the function\n // that created the element, and it may not even be a constructor.\n // Legacy hook TODO: Warn if this is accessed\n\n factory.type = type;\n return factory;\n};\n\nReactElement.cloneAndReplaceKey = function (oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n};\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement\n */\n\n\nReactElement.cloneElement = function (element, config, children) {\n var propName; // Original props are copied\n\n var props = _assign({}, element.props); // Reserved names are extracted\n\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n};\n/**\n * Verifies the object is a ReactElement.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a valid component.\n * @final\n */\n\n\nReactElement.isValidElement = function (object) {\n return _typeof(object) === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n};\n\nmodule.exports = ReactElement;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\nfunction checkMask(value, bitmask) {\n return (value & bitmask) === bitmask;\n}\n\nvar DOMPropertyInjection = {\n /**\n * Mapping from normalized, camelcased property names to a configuration that\n * specifies how the associated DOM property should be accessed or rendered.\n */\n MUST_USE_PROPERTY: 0x1,\n HAS_BOOLEAN_VALUE: 0x4,\n HAS_NUMERIC_VALUE: 0x8,\n HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,\n HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,\n\n /**\n * Inject some specialized knowledge about the DOM. This takes a config object\n * with the following properties:\n *\n * isCustomAttribute: function that given an attribute name will return true\n * if it can be inserted into the DOM verbatim. Useful for data-* or aria-*\n * attributes where it's impossible to enumerate all of the possible\n * attribute names,\n *\n * Properties: object mapping DOM property name to one of the\n * DOMPropertyInjection constants or null. If your attribute isn't in here,\n * it won't get written to the DOM.\n *\n * DOMAttributeNames: object mapping React attribute name to the DOM\n * attribute name. Attribute names not specified use the **lowercase**\n * normalized name.\n *\n * DOMAttributeNamespaces: object mapping React attribute name to the DOM\n * attribute namespace URL. (Attribute names not specified use no namespace.)\n *\n * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.\n * Property names not specified use the normalized name.\n *\n * DOMMutationMethods: Properties that require special mutation methods. If\n * `value` is undefined, the mutation method should unset the property.\n *\n * @param {object} domPropertyConfig the config as described above.\n */\n injectDOMPropertyConfig: function injectDOMPropertyConfig(domPropertyConfig) {\n var Injection = DOMPropertyInjection;\n var Properties = domPropertyConfig.Properties || {};\n var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};\n var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};\n var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {};\n var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};\n\n if (domPropertyConfig.isCustomAttribute) {\n DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);\n }\n\n for (var propName in Properties) {\n !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\\'re trying to inject DOM property \\'%s\\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0;\n var lowerCased = propName.toLowerCase();\n var propConfig = Properties[propName];\n var propertyInfo = {\n attributeName: lowerCased,\n attributeNamespace: null,\n propertyName: propName,\n mutationMethod: null,\n mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),\n hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),\n hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),\n hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),\n hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE)\n };\n !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[lowerCased] = propName;\n }\n\n if (DOMAttributeNames.hasOwnProperty(propName)) {\n var attributeName = DOMAttributeNames[propName];\n propertyInfo.attributeName = attributeName;\n\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[attributeName] = propName;\n }\n }\n\n if (DOMAttributeNamespaces.hasOwnProperty(propName)) {\n propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName];\n }\n\n if (DOMPropertyNames.hasOwnProperty(propName)) {\n propertyInfo.propertyName = DOMPropertyNames[propName];\n }\n\n if (DOMMutationMethods.hasOwnProperty(propName)) {\n propertyInfo.mutationMethod = DOMMutationMethods[propName];\n }\n\n DOMProperty.properties[propName] = propertyInfo;\n }\n }\n};\n/* eslint-disable max-len */\n\nvar ATTRIBUTE_NAME_START_CHAR = \":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n/* eslint-enable max-len */\n\n/**\n * DOMProperty exports lookup objects that can be used like functions:\n *\n * > DOMProperty.isValid['id']\n * true\n * > DOMProperty.isValid['foobar']\n * undefined\n *\n * Although this may be confusing, it performs better in general.\n *\n * @see http://jsperf.com/key-exists\n * @see http://jsperf.com/key-missing\n */\n\nvar DOMProperty = {\n ID_ATTRIBUTE_NAME: 'data-reactid',\n ROOT_ATTRIBUTE_NAME: 'data-reactroot',\n ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR,\n ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + \"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\",\n\n /**\n * Map from property \"standard name\" to an object with info about how to set\n * the property in the DOM. Each object contains:\n *\n * attributeName:\n * Used when rendering markup or with `*Attribute()`.\n * attributeNamespace\n * propertyName:\n * Used on DOM node instances. (This includes properties that mutate due to\n * external factors.)\n * mutationMethod:\n * If non-null, used instead of the property or `setAttribute()` after\n * initial render.\n * mustUseProperty:\n * Whether the property must be accessed and mutated as an object property.\n * hasBooleanValue:\n * Whether the property should be removed when set to a falsey value.\n * hasNumericValue:\n * Whether the property must be numeric or parse as a numeric and should be\n * removed when set to a falsey value.\n * hasPositiveNumericValue:\n * Whether the property must be positive numeric or parse as a positive\n * numeric and should be removed when set to a falsey value.\n * hasOverloadedBooleanValue:\n * Whether the property can be used as a flag as well as with a value.\n * Removed when strictly equal to false; present without a value when\n * strictly equal to true; present with a value otherwise.\n */\n properties: {},\n\n /**\n * Mapping from lowercase property names to the properly cased version, used\n * to warn in the case of missing properties. Available only in __DEV__.\n *\n * autofocus is predefined, because adding it to the property whitelist\n * causes unintended side effects.\n *\n * @type {Object}\n */\n getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {\n autofocus: 'autoFocus'\n } : null,\n\n /**\n * All of the isCustomAttribute() functions that have been injected.\n */\n _isCustomAttributeFunctions: [],\n\n /**\n * Checks whether a property name is a custom attribute.\n * @method\n */\n isCustomAttribute: function isCustomAttribute(attributeName) {\n for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) {\n var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i];\n\n if (isCustomAttributeFn(attributeName)) {\n return true;\n }\n }\n\n return false;\n },\n injection: DOMPropertyInjection\n};\nmodule.exports = DOMProperty;","/**\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 ReactRef = require('./ReactRef');\n\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar warning = require('fbjs/lib/warning');\n/**\n * Helper to call ReactRef.attachRefs with this composite component, split out\n * to avoid allocations in the transaction mount-ready queue.\n */\n\n\nfunction attachRefs() {\n ReactRef.attachRefs(this, this._currentElement);\n}\n\nvar ReactReconciler = {\n /**\n * Initializes the component, renders markup, and registers event listeners.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {?object} the containing host component instance\n * @param {?object} info about the host container\n * @return {?string} Rendered markup to be inserted into the DOM.\n * @final\n * @internal\n */\n mountComponent: function mountComponent(internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID) // 0 in production and for roots\n {\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);\n }\n }\n\n var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context, parentDebugID);\n\n if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);\n }\n }\n\n return markup;\n },\n\n /**\n * Returns a value that can be passed to\n * ReactComponentEnvironment.replaceNodeWithMarkup.\n */\n getHostNode: function getHostNode(internalInstance) {\n return internalInstance.getHostNode();\n },\n\n /**\n * Releases any resources allocated by `mountComponent`.\n *\n * @final\n * @internal\n */\n unmountComponent: function unmountComponent(internalInstance, safely) {\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUnmountComponent(internalInstance._debugID);\n }\n }\n\n ReactRef.detachRefs(internalInstance, internalInstance._currentElement);\n internalInstance.unmountComponent(safely);\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);\n }\n }\n },\n\n /**\n * Update a component using a new element.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactElement} nextElement\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n * @internal\n */\n receiveComponent: function receiveComponent(internalInstance, nextElement, transaction, context) {\n var prevElement = internalInstance._currentElement;\n\n if (nextElement === prevElement && context === internalInstance._context) {\n // Since elements are immutable after the owner is rendered,\n // we can do a cheap identity compare here to determine if this is a\n // superfluous reconcile. It's possible for state to be mutable but such\n // change should trigger an update of the owner which would recreate\n // the element. We explicitly check for the existence of an owner since\n // it's possible for an element created outside a composite to be\n // deeply mutated and reused.\n // TODO: Bailing out early is just a perf optimization right?\n // TODO: Removing the return statement should affect correctness?\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement);\n }\n }\n\n var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement);\n\n if (refsChanged) {\n ReactRef.detachRefs(internalInstance, prevElement);\n }\n\n internalInstance.receiveComponent(nextElement, transaction, context);\n\n if (refsChanged && internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n }\n }\n },\n\n /**\n * Flush any dirty changes in a component.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n performUpdateIfNecessary: function performUpdateIfNecessary(internalInstance, transaction, updateBatchNumber) {\n if (internalInstance._updateBatchNumber !== updateBatchNumber) {\n // The component's enqueued batch number should always be the current\n // batch or the following one.\n process.env.NODE_ENV !== 'production' ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0;\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement);\n }\n }\n\n internalInstance.performUpdateIfNecessary(transaction);\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n }\n }\n }\n};\nmodule.exports = ReactReconciler;","/**\n * Copyright (c) 2015-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 DOMNamespaces = require('./DOMNamespaces');\n\nvar setInnerHTML = require('./setInnerHTML');\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\n\nvar setTextContent = require('./setTextContent');\n\nvar ELEMENT_NODE_TYPE = 1;\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n/**\n * In IE (8-11) and Edge, appending nodes with no children is dramatically\n * faster than appending a full subtree, so we essentially queue up the\n * .appendChild calls here and apply them so each node is added to its parent\n * before any children are added.\n *\n * In other browsers, doing so is slower or neutral compared to the other order\n * (in Firefox, twice as slow) so we only do this inversion in IE.\n *\n * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode.\n */\n\nvar enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\\bEdge\\/\\d/.test(navigator.userAgent);\n\nfunction insertTreeChildren(tree) {\n if (!enableLazy) {\n return;\n }\n\n var node = tree.node;\n var children = tree.children;\n\n if (children.length) {\n for (var i = 0; i < children.length; i++) {\n insertTreeBefore(node, children[i], null);\n }\n } else if (tree.html != null) {\n setInnerHTML(node, tree.html);\n } else if (tree.text != null) {\n setTextContent(node, tree.text);\n }\n}\n\nvar insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) {\n // DocumentFragments aren't actually part of the DOM after insertion so\n // appending children won't update the DOM. We need to ensure the fragment\n // is properly populated first, breaking out of our lazy approach for just\n // this level. Also, some plugins (like Flash Player) will read\n // nodes immediately upon insertion into the DOM, so \n // must also be populated prior to insertion into the DOM.\n if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) {\n insertTreeChildren(tree);\n parentNode.insertBefore(tree.node, referenceNode);\n } else {\n parentNode.insertBefore(tree.node, referenceNode);\n insertTreeChildren(tree);\n }\n});\n\nfunction replaceChildWithTree(oldNode, newTree) {\n oldNode.parentNode.replaceChild(newTree.node, oldNode);\n insertTreeChildren(newTree);\n}\n\nfunction queueChild(parentTree, childTree) {\n if (enableLazy) {\n parentTree.children.push(childTree);\n } else {\n parentTree.node.appendChild(childTree.node);\n }\n}\n\nfunction queueHTML(tree, html) {\n if (enableLazy) {\n tree.html = html;\n } else {\n setInnerHTML(tree.node, html);\n }\n}\n\nfunction queueText(tree, text) {\n if (enableLazy) {\n tree.text = text;\n } else {\n setTextContent(tree.node, text);\n }\n}\n\nfunction toString() {\n return this.node.nodeName;\n}\n\nfunction DOMLazyTree(node) {\n return {\n node: node,\n children: [],\n html: null,\n text: null,\n toString: toString\n };\n}\n\nDOMLazyTree.insertTreeBefore = insertTreeBefore;\nDOMLazyTree.replaceChildWithTree = replaceChildWithTree;\nDOMLazyTree.queueChild = queueChild;\nDOMLazyTree.queueHTML = queueHTML;\nDOMLazyTree.queueText = queueText;\nmodule.exports = DOMLazyTree;","var React = require('react');\n\nvar transitionEvents = require('domkit/transitionEvents');\n\nvar appendVendorPrefix = require('domkit/appendVendorPrefix');\n\nmodule.exports = function (animation) {\n return React.createClass({\n propTypes: {\n className: React.PropTypes.string,\n // Close the modal when esc is pressed? Defaults to true.\n keyboard: React.PropTypes.bool,\n onShow: React.PropTypes.func,\n onHide: React.PropTypes.func,\n animation: React.PropTypes.object,\n backdrop: React.PropTypes.bool,\n closeOnClick: React.PropTypes.bool,\n modalStyle: React.PropTypes.object,\n backdropStyle: React.PropTypes.object,\n contentStyle: React.PropTypes.object\n },\n getDefaultProps: function getDefaultProps() {\n return {\n className: \"\",\n onShow: function onShow() {},\n onHide: function onHide() {},\n animation: animation,\n keyboard: true,\n backdrop: true,\n closeOnClick: true,\n modalStyle: {},\n backdropStyle: {},\n contentStyle: {}\n };\n },\n getInitialState: function getInitialState() {\n return {\n willHidden: false,\n hidden: true\n };\n },\n hasHidden: function hasHidden() {\n return this.state.hidden;\n },\n addTransitionListener: function addTransitionListener(node, handle) {\n if (node) {\n var endListener = function endListener(e) {\n if (e && e.target !== node) {\n return;\n }\n\n transitionEvents.removeEndEventListener(node, endListener);\n handle();\n };\n\n transitionEvents.addEndEventListener(node, endListener);\n }\n },\n handleBackdropClick: function handleBackdropClick() {\n if (this.props.closeOnClick) {\n this.hide();\n }\n },\n render: function render() {\n var hidden = this.hasHidden();\n if (hidden) return null;\n var willHidden = this.state.willHidden;\n var animation = this.props.animation;\n var modalStyle = animation.getModalStyle(willHidden);\n var backdropStyle = animation.getBackdropStyle(willHidden);\n var contentStyle = animation.getContentStyle(willHidden);\n var ref = animation.getRef(willHidden);\n var sharp = animation.getSharp && animation.getSharp(willHidden); // Apply custom style properties\n\n if (this.props.modalStyle) {\n var prefixedModalStyle = appendVendorPrefix(this.props.modalStyle);\n\n for (var style in prefixedModalStyle) {\n modalStyle[style] = prefixedModalStyle[style];\n }\n }\n\n if (this.props.backdropStyle) {\n var prefixedBackdropStyle = appendVendorPrefix(this.props.backdropStyle);\n\n for (var style in prefixedBackdropStyle) {\n backdropStyle[style] = prefixedBackdropStyle[style];\n }\n }\n\n if (this.props.contentStyle) {\n var prefixedContentStyle = appendVendorPrefix(this.props.contentStyle);\n\n for (var style in prefixedContentStyle) {\n contentStyle[style] = prefixedContentStyle[style];\n }\n }\n\n var backdrop = this.props.backdrop ? React.createElement(\"div\", {\n style: backdropStyle,\n onClick: this.props.closeOnClick ? this.handleBackdropClick : null\n }) : undefined;\n\n if (willHidden) {\n var node = this.refs[ref];\n this.addTransitionListener(node, this.leave);\n }\n\n return React.createElement(\"span\", null, React.createElement(\"div\", {\n ref: \"modal\",\n style: modalStyle,\n className: this.props.className\n }, sharp, React.createElement(\"div\", {\n ref: \"content\",\n tabIndex: \"-1\",\n style: contentStyle\n }, this.props.children)), backdrop);\n },\n leave: function leave() {\n this.setState({\n hidden: true\n });\n this.props.onHide();\n },\n enter: function enter() {\n this.props.onShow();\n },\n show: function show() {\n if (!this.hasHidden()) return;\n this.setState({\n willHidden: false,\n hidden: false\n });\n setTimeout(function () {\n var ref = this.props.animation.getRef();\n var node = this.refs[ref];\n this.addTransitionListener(node, this.enter);\n }.bind(this), 0);\n },\n hide: function hide() {\n if (this.hasHidden()) return;\n this.setState({\n willHidden: true\n });\n },\n toggle: function toggle() {\n if (this.hasHidden()) this.show();else this.hide();\n },\n listenKeyboard: function listenKeyboard(event) {\n if (this.props.keyboard && (event.key === \"Escape\" || event.keyCode === 27)) {\n this.hide();\n }\n },\n componentDidMount: function componentDidMount() {\n window.addEventListener(\"keydown\", this.listenKeyboard, true);\n },\n componentWillUnmount: function componentWillUnmount() {\n window.removeEventListener(\"keydown\", this.listenKeyboard, true);\n }\n });\n};","'use strict';\n\nvar insertRule = require('./insertRule');\n\nvar vendorPrefix = require('./getVendorPrefix')();\n\nvar index = 0;\n\nmodule.exports = function (keyframes) {\n // random name\n var name = 'anim_' + ++index + +new Date();\n var css = \"@\" + vendorPrefix + \"keyframes \" + name + \" {\";\n\n for (var key in keyframes) {\n css += key + \" {\";\n\n for (var property in keyframes[key]) {\n var part = \":\" + keyframes[key][property] + \";\"; // We do vendor prefix for every property\n\n css += vendorPrefix + property + part;\n css += property + part;\n }\n\n css += \"}\";\n }\n\n css += \"}\";\n insertRule(css);\n return name;\n};","'use strict';\n\nexports.__esModule = true;\n/**\n * Indicates that navigation was caused by a call to history.push.\n */\n\nvar PUSH = exports.PUSH = 'PUSH';\n/**\n * Indicates that navigation was caused by a call to history.replace.\n */\n\nvar REPLACE = exports.REPLACE = 'REPLACE';\n/**\n * Indicates that navigation was caused by some other action such\n * as using a browser's back/forward buttons and/or manually manipulating\n * the URL in a browser's location bar. This is the default.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate\n * for more information.\n */\n\nvar POP = exports.POP = 'POP';","export default (\n state = {\n orders: [],\n isSendingOrders: false,\n showDetailsOrderId: false,\n remarks: '',\n checkedOrders: [],\n checkedOrdersStatus: '',\n cancelReasons: {},\n infos: {}\n },\n action\n) => {\n switch (action.type) {\n\n case 'FETCH_ORDERS_SUCCESS':\n return {\n ...state,\n orders: action.data\n }\n\n case 'PLACE_ORDERS_REQUEST':\n return {\n ...state,\n isSendingOrders: true\n }\n\n case 'PLACE_ORDERS_SUCCESS':\n return {\n ...state,\n isSendingOrders: false\n }\n\n case 'UPDATE_ORDER':\n let orders = [];\n if (state.orders == []) {\n orders = [action.data];\n } else if (state.orders.map(order => order.id).includes(action.data.id)) {\n orders = state.orders.map((order) => {\n return order.id == action.data.id ? action.data : order\n });\n } else {\n orders = [action.data].concat(state.orders);\n }\n\n return {\n ...state,\n orders\n }\n\n case 'CHANGE_REMARKS':\n return {\n ...state,\n remarks: action.remarks\n }\n\n case 'SHOW_ORDER_DETAILS':\n return {\n ...state,\n showDetailsOrderId: action.id\n }\n\n case 'SET_ORDER_CANCEL_REASONS':\n return {\n ...state,\n cancelReasons: action.data\n }\n\n case 'SET_ORDER_INFOS':\n return {\n ...state,\n infos: action.data\n }\n\n case 'CHECK_ORDER':\n let checkedOrders = [...state.checkedOrders];\n let checkedOrdersStatus = '';\n\n if (action.id == null){\n checkedOrders = [];\n } else if (checkedOrders.includes(action.id)) {\n checkedOrders = checkedOrders.filter((elem) => {\n return elem != action.id;\n })\n checkedOrdersStatus = checkedOrders.length == '' ? '' : state.checkedOrdersStatus\n } else {\n checkedOrders = [...checkedOrders, action.id]\n checkedOrdersStatus = state.orders.filter(order =>\n order.id == checkedOrders[0])[0].status\n }\n return {\n ...state,\n checkedOrders: checkedOrders,\n checkedOrdersStatus: checkedOrdersStatus\n }\n default:\n return state\n }\n}\n","'use strict';\n\nexports.__esModule = true;\nexports.locationsAreEqual = exports.Actions = exports.useQueries = exports.useBeforeUnload = exports.useBasename = exports.createMemoryHistory = exports.createHashHistory = exports.createHistory = undefined;\n\nvar _LocationUtils = require('./LocationUtils');\n\nObject.defineProperty(exports, 'locationsAreEqual', {\n enumerable: true,\n get: function get() {\n return _LocationUtils.locationsAreEqual;\n }\n});\n\nvar _createBrowserHistory = require('./createBrowserHistory');\n\nvar _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory);\n\nvar _createHashHistory2 = require('./createHashHistory');\n\nvar _createHashHistory3 = _interopRequireDefault(_createHashHistory2);\n\nvar _createMemoryHistory2 = require('./createMemoryHistory');\n\nvar _createMemoryHistory3 = _interopRequireDefault(_createMemoryHistory2);\n\nvar _useBasename2 = require('./useBasename');\n\nvar _useBasename3 = _interopRequireDefault(_useBasename2);\n\nvar _useBeforeUnload2 = require('./useBeforeUnload');\n\nvar _useBeforeUnload3 = _interopRequireDefault(_useBeforeUnload2);\n\nvar _useQueries2 = require('./useQueries');\n\nvar _useQueries3 = _interopRequireDefault(_useQueries2);\n\nvar _Actions2 = require('./Actions');\n\nvar _Actions = _interopRequireWildcard(_Actions2);\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n}\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.createHistory = _createBrowserHistory2.default;\nexports.createHashHistory = _createHashHistory3.default;\nexports.createMemoryHistory = _createMemoryHistory3.default;\nexports.useBasename = _useBasename3.default;\nexports.useBeforeUnload = _useBeforeUnload3.default;\nexports.useQueries = _useQueries3.default;\nexports.Actions = _Actions;","/**\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/**\n * WARNING: DO NOT manually require this module.\n * This is a replacement for `invariant(...)` used by the error code system\n * and will _only_ be required by the corresponding babel pass.\n * It always throws.\n */\n\nfunction reactProdInvariant(code) {\n var argCount = arguments.length - 1;\n var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;\n\n for (var argIdx = 0; argIdx < argCount; argIdx++) {\n message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);\n }\n\n message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';\n var error = new Error(message);\n error.name = 'Invariant Violation';\n error.framesToPop = 1; // we don't care about reactProdInvariant's own frame\n\n throw error;\n}\n\nmodule.exports = reactProdInvariant;","/**\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 EventPluginHub = require('./EventPluginHub');\n\nvar EventPluginUtils = require('./EventPluginUtils');\n\nvar accumulateInto = require('./accumulateInto');\n\nvar forEachAccumulated = require('./forEachAccumulated');\n\nvar warning = require('fbjs/lib/warning');\n\nvar getListener = EventPluginHub.getListener;\n/**\n * Some event types have a notion of different registration names for different\n * \"phases\" of propagation. This finds listeners by a given phase.\n */\n\nfunction listenerAtPhase(inst, event, propagationPhase) {\n var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];\n return getListener(inst, registrationName);\n}\n/**\n * Tags a `SyntheticEvent` with dispatched listeners. Creating this function\n * here, allows us to not have to bind or create functions for each event.\n * Mutating the event's members allows us to not have to create a wrapping\n * \"dispatch\" object that pairs the event with the listener.\n */\n\n\nfunction accumulateDirectionalDispatches(inst, phase, event) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0;\n }\n\n var listener = listenerAtPhase(inst, event, phase);\n\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n }\n}\n/**\n * Collect dispatches (must be entirely collected before dispatching - see unit\n * tests). Lazily allocate the array to conserve memory. We must loop through\n * each event and perform the traversal for each one. We cannot perform a\n * single traversal for the entire collection of events because each event may\n * have a different target.\n */\n\n\nfunction accumulateTwoPhaseDispatchesSingle(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);\n }\n}\n/**\n * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID.\n */\n\n\nfunction accumulateTwoPhaseDispatchesSingleSkipTarget(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n var targetInst = event._targetInst;\n var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null;\n EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event);\n }\n}\n/**\n * Accumulates without regard to direction, does not look for phased\n * registration names. Same as `accumulateDirectDispatchesSingle` but without\n * requiring that the `dispatchMarker` be the same as the dispatched ID.\n */\n\n\nfunction accumulateDispatches(inst, ignoredDirection, event) {\n if (event && event.dispatchConfig.registrationName) {\n var registrationName = event.dispatchConfig.registrationName;\n var listener = getListener(inst, registrationName);\n\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n }\n }\n}\n/**\n * Accumulates dispatches on an `SyntheticEvent`, but only for the\n * `dispatchMarker`.\n * @param {SyntheticEvent} event\n */\n\n\nfunction accumulateDirectDispatchesSingle(event) {\n if (event && event.dispatchConfig.registrationName) {\n accumulateDispatches(event._targetInst, null, event);\n }\n}\n\nfunction accumulateTwoPhaseDispatches(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);\n}\n\nfunction accumulateTwoPhaseDispatchesSkipTarget(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget);\n}\n\nfunction accumulateEnterLeaveDispatches(leave, enter, from, to) {\n EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter);\n}\n\nfunction accumulateDirectDispatches(events) {\n forEachAccumulated(events, accumulateDirectDispatchesSingle);\n}\n/**\n * A small set of propagation patterns, each of which will accept a small amount\n * of information, and generate a set of \"dispatch ready event objects\" - which\n * are sets of events that have already been annotated with a set of dispatched\n * listener functions/ids. The API is designed this way to discourage these\n * propagation strategies from actually executing the dispatches, since we\n * always want to collect the entire set of dispatches before executing event a\n * single one.\n *\n * @constructor EventPropagators\n */\n\n\nvar EventPropagators = {\n accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches,\n accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget,\n accumulateDirectDispatches: accumulateDirectDispatches,\n accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches\n};\nmodule.exports = EventPropagators;","/**\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\nfunction _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\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar EventPluginRegistry = require('./EventPluginRegistry');\n\nvar EventPluginUtils = require('./EventPluginUtils');\n\nvar ReactErrorUtils = require('./ReactErrorUtils');\n\nvar accumulateInto = require('./accumulateInto');\n\nvar forEachAccumulated = require('./forEachAccumulated');\n\nvar invariant = require('fbjs/lib/invariant');\n/**\n * Internal store for event listeners\n */\n\n\nvar listenerBank = {};\n/**\n * Internal queue of events that have accumulated their dispatches and are\n * waiting to have their dispatches executed.\n */\n\nvar eventQueue = null;\n/**\n * Dispatches an event and releases it back into the pool, unless persistent.\n *\n * @param {?object} event Synthetic event to be dispatched.\n * @param {boolean} simulated If the event is simulated (changes exn behavior)\n * @private\n */\n\nvar executeDispatchesAndRelease = function executeDispatchesAndRelease(event, simulated) {\n if (event) {\n EventPluginUtils.executeDispatchesInOrder(event, simulated);\n\n if (!event.isPersistent()) {\n event.constructor.release(event);\n }\n }\n};\n\nvar executeDispatchesAndReleaseSimulated = function executeDispatchesAndReleaseSimulated(e) {\n return executeDispatchesAndRelease(e, true);\n};\n\nvar executeDispatchesAndReleaseTopLevel = function executeDispatchesAndReleaseTopLevel(e) {\n return executeDispatchesAndRelease(e, false);\n};\n\nvar getDictionaryKey = function getDictionaryKey(inst) {\n // Prevents V8 performance issue:\n // https://github.com/facebook/react/pull/7232\n return '.' + inst._rootNodeID;\n};\n\nfunction isInteractive(tag) {\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nfunction shouldPreventMouseEvent(name, type, props) {\n switch (name) {\n case 'onClick':\n case 'onClickCapture':\n case 'onDoubleClick':\n case 'onDoubleClickCapture':\n case 'onMouseDown':\n case 'onMouseDownCapture':\n case 'onMouseMove':\n case 'onMouseMoveCapture':\n case 'onMouseUp':\n case 'onMouseUpCapture':\n return !!(props.disabled && isInteractive(type));\n\n default:\n return false;\n }\n}\n/**\n * This is a unified interface for event plugins to be installed and configured.\n *\n * Event plugins can implement the following properties:\n *\n * `extractEvents` {function(string, DOMEventTarget, string, object): *}\n * Required. When a top-level event is fired, this method is expected to\n * extract synthetic events that will in turn be queued and dispatched.\n *\n * `eventTypes` {object}\n * Optional, plugins that fire events must publish a mapping of registration\n * names that are used to register listeners. Values of this mapping must\n * be objects that contain `registrationName` or `phasedRegistrationNames`.\n *\n * `executeDispatch` {function(object, function, string)}\n * Optional, allows plugins to override how an event gets dispatched. By\n * default, the listener is simply invoked.\n *\n * Each plugin that is injected into `EventsPluginHub` is immediately operable.\n *\n * @public\n */\n\n\nvar EventPluginHub = {\n /**\n * Methods for injecting dependencies.\n */\n injection: {\n /**\n * @param {array} InjectedEventPluginOrder\n * @public\n */\n injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder,\n\n /**\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n */\n injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName\n },\n\n /**\n * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent.\n *\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @param {function} listener The callback to store.\n */\n putListener: function putListener(inst, registrationName, listener) {\n !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, _typeof(listener)) : _prodInvariant('94', registrationName, _typeof(listener)) : void 0;\n var key = getDictionaryKey(inst);\n var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {});\n bankForRegistrationName[key] = listener;\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n\n if (PluginModule && PluginModule.didPutListener) {\n PluginModule.didPutListener(inst, registrationName, listener);\n }\n },\n\n /**\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n getListener: function getListener(inst, registrationName) {\n // TODO: shouldPreventMouseEvent is DOM-specific and definitely should not\n // live here; needs to be moved to a better place soon\n var bankForRegistrationName = listenerBank[registrationName];\n\n if (shouldPreventMouseEvent(registrationName, inst._currentElement.type, inst._currentElement.props)) {\n return null;\n }\n\n var key = getDictionaryKey(inst);\n return bankForRegistrationName && bankForRegistrationName[key];\n },\n\n /**\n * Deletes a listener from the registration bank.\n *\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n */\n deleteListener: function deleteListener(inst, registrationName) {\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(inst, registrationName);\n }\n\n var bankForRegistrationName = listenerBank[registrationName]; // TODO: This should never be null -- when is it?\n\n if (bankForRegistrationName) {\n var key = getDictionaryKey(inst);\n delete bankForRegistrationName[key];\n }\n },\n\n /**\n * Deletes all listeners for the DOM element with the supplied ID.\n *\n * @param {object} inst The instance, which is the source of events.\n */\n deleteAllListeners: function deleteAllListeners(inst) {\n var key = getDictionaryKey(inst);\n\n for (var registrationName in listenerBank) {\n if (!listenerBank.hasOwnProperty(registrationName)) {\n continue;\n }\n\n if (!listenerBank[registrationName][key]) {\n continue;\n }\n\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(inst, registrationName);\n }\n\n delete listenerBank[registrationName][key];\n }\n },\n\n /**\n * Allows registered plugins an opportunity to extract events from top-level\n * native browser events.\n *\n * @return {*} An accumulation of synthetic events.\n * @internal\n */\n extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var events;\n var plugins = EventPluginRegistry.plugins;\n\n for (var i = 0; i < plugins.length; i++) {\n // Not every plugin in the ordering may be loaded at runtime.\n var possiblePlugin = plugins[i];\n\n if (possiblePlugin) {\n var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);\n\n if (extractedEvents) {\n events = accumulateInto(events, extractedEvents);\n }\n }\n }\n\n return events;\n },\n\n /**\n * Enqueues a synthetic event that should be dispatched when\n * `processEventQueue` is invoked.\n *\n * @param {*} events An accumulation of synthetic events.\n * @internal\n */\n enqueueEvents: function enqueueEvents(events) {\n if (events) {\n eventQueue = accumulateInto(eventQueue, events);\n }\n },\n\n /**\n * Dispatches all synthetic events on the event queue.\n *\n * @internal\n */\n processEventQueue: function processEventQueue(simulated) {\n // Set `eventQueue` to null before processing it so that we can tell if more\n // events get enqueued while processing.\n var processingEventQueue = eventQueue;\n eventQueue = null;\n\n if (simulated) {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated);\n } else {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);\n }\n\n !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0; // This would be a good time to rethrow if any of the event handlers threw.\n\n ReactErrorUtils.rethrowCaughtError();\n },\n\n /**\n * These are needed for tests only. Do not use!\n */\n __purge: function __purge() {\n listenerBank = {};\n },\n __getListenerBank: function __getListenerBank() {\n return listenerBank;\n }\n};\nmodule.exports = EventPluginHub;","/**\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 SyntheticEvent = require('./SyntheticEvent');\n\nvar getEventTarget = require('./getEventTarget');\n/**\n * @interface UIEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar UIEventInterface = {\n view: function view(event) {\n if (event.view) {\n return event.view;\n }\n\n var target = getEventTarget(event);\n\n if (target.window === target) {\n // target is a window object\n return target;\n }\n\n var doc = target.ownerDocument; // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n\n if (doc) {\n return doc.defaultView || doc.parentWindow;\n } else {\n return window;\n }\n },\n detail: function detail(event) {\n return event.detail || 0;\n }\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\n\nfunction SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);\nmodule.exports = SyntheticUIEvent;","/**\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/**\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\n * instance (key) and the internal representation (value). This allows public\n * methods to accept the user facing instance as an argument and map them back\n * to internal methods.\n */\n// TODO: Replace this with ES6: var ReactInstanceMap = new Map();\n\nvar ReactInstanceMap = {\n /**\n * This API should be called `delete` but we'd have to make sure to always\n * transform these to strings for IE support. When this transform is fully\n * supported we can rename it.\n */\n remove: function remove(key) {\n key._reactInternalInstance = undefined;\n },\n get: function get(key) {\n return key._reactInternalInstance;\n },\n has: function has(key) {\n return key._reactInternalInstance !== undefined;\n },\n set: function set(key, value) {\n key._reactInternalInstance = value;\n }\n};\nmodule.exports = ReactInstanceMap;","'use strict';\n\nexports.__esModule = true;\n\nvar addEventListener = exports.addEventListener = function addEventListener(node, event, listener) {\n return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n};\n\nvar removeEventListener = exports.removeEventListener = function removeEventListener(node, event, listener) {\n return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n};\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\n\nvar supportsHistory = exports.supportsHistory = function supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n};\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\n\nvar supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n};\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\n\nvar supportsPopstateOnHashchange = exports.supportsPopstateOnHashchange = function supportsPopstateOnHashchange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n};\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\n\nvar isExtraneousPopstateEvent = exports.isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _SET_BY_CODE;\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n} // constants for internal usage\n\n\nvar SET_A = exports.SET_A = 0;\nvar SET_B = exports.SET_B = 1;\nvar SET_C = exports.SET_C = 2; // Special characters\n\nvar SHIFT = exports.SHIFT = 98;\nvar START_A = exports.START_A = 103;\nvar START_B = exports.START_B = 104;\nvar START_C = exports.START_C = 105;\nvar MODULO = exports.MODULO = 103;\nvar STOP = exports.STOP = 106;\nvar FNC1 = exports.FNC1 = 207; // Get set by start code\n\nvar SET_BY_CODE = exports.SET_BY_CODE = (_SET_BY_CODE = {}, _defineProperty(_SET_BY_CODE, START_A, SET_A), _defineProperty(_SET_BY_CODE, START_B, SET_B), _defineProperty(_SET_BY_CODE, START_C, SET_C), _SET_BY_CODE); // Get next set by code\n\nvar SWAP = exports.SWAP = {\n 101: SET_A,\n 100: SET_B,\n 99: SET_C\n};\nvar A_START_CHAR = exports.A_START_CHAR = String.fromCharCode(208); // START_A + 105\n\nvar B_START_CHAR = exports.B_START_CHAR = String.fromCharCode(209); // START_B + 105\n\nvar C_START_CHAR = exports.C_START_CHAR = String.fromCharCode(210); // START_C + 105\n// 128A (Code Set A)\n// ASCII characters 00 to 95 (0–9, A–Z and control codes), special characters, and FNC 1–4\n\nvar A_CHARS = exports.A_CHARS = \"[\\x00-\\x5F\\xC8-\\xCF]\"; // 128B (Code Set B)\n// ASCII characters 32 to 127 (0–9, A–Z, a–z), special characters, and FNC 1–4\n\nvar B_CHARS = exports.B_CHARS = \"[\\x20-\\x7F\\xC8-\\xCF]\"; // 128C (Code Set C)\n// 00–99 (encodes two digits with a single code point) and FNC1\n\nvar C_CHARS = exports.C_CHARS = \"(\\xCF*[0-9]{2}\\xCF*)\"; // CODE128 includes 107 symbols:\n// 103 data symbols, 3 start symbols (A, B and C), and 1 stop symbol (the last one)\n// Each symbol consist of three black bars (1) and three white spaces (0).\n\nvar BARS = exports.BARS = [11011001100, 11001101100, 11001100110, 10010011000, 10010001100, 10001001100, 10011001000, 10011000100, 10001100100, 11001001000, 11001000100, 11000100100, 10110011100, 10011011100, 10011001110, 10111001100, 10011101100, 10011100110, 11001110010, 11001011100, 11001001110, 11011100100, 11001110100, 11101101110, 11101001100, 11100101100, 11100100110, 11101100100, 11100110100, 11100110010, 11011011000, 11011000110, 11000110110, 10100011000, 10001011000, 10001000110, 10110001000, 10001101000, 10001100010, 11010001000, 11000101000, 11000100010, 10110111000, 10110001110, 10001101110, 10111011000, 10111000110, 10001110110, 11101110110, 11010001110, 11000101110, 11011101000, 11011100010, 11011101110, 11101011000, 11101000110, 11100010110, 11101101000, 11101100010, 11100011010, 11101111010, 11001000010, 11110001010, 10100110000, 10100001100, 10010110000, 10010000110, 10000101100, 10000100110, 10110010000, 10110000100, 10011010000, 10011000010, 10000110100, 10000110010, 11000010010, 11001010000, 11110111010, 11000010100, 10001111010, 10100111100, 10010111100, 10010011110, 10111100100, 10011110100, 10011110010, 11110100100, 11110010100, 11110010010, 11011011110, 11011110110, 11110110110, 10101111000, 10100011110, 10001011110, 10111101000, 10111100010, 11110101000, 11110100010, 10111011110, 10111101110, 11101011110, 11110101110, 11010000100, 11010010000, 11010011100, 1100011101011];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); // Standard start end and middle bits\n\nvar SIDE_BIN = exports.SIDE_BIN = '101';\nvar MIDDLE_BIN = exports.MIDDLE_BIN = '01010';\nvar BINARIES = exports.BINARIES = {\n 'L': [// The L (left) type of encoding\n '0001101', '0011001', '0010011', '0111101', '0100011', '0110001', '0101111', '0111011', '0110111', '0001011'],\n 'G': [// The G type of encoding\n '0100111', '0110011', '0011011', '0100001', '0011101', '0111001', '0000101', '0010001', '0001001', '0010111'],\n 'R': [// The R (right) type of encoding\n '1110010', '1100110', '1101100', '1000010', '1011100', '1001110', '1010000', '1000100', '1001000', '1110100'],\n 'O': [// The O (odd) encoding for UPC-E\n '0001101', '0011001', '0010011', '0111101', '0100011', '0110001', '0101111', '0111011', '0110111', '0001011'],\n 'E': [// The E (even) encoding for UPC-E\n '0100111', '0110011', '0011011', '0100001', '0011101', '0111001', '0000101', '0010001', '0001001', '0010111']\n}; // Define the EAN-2 structure\n\nvar EAN2_STRUCTURE = exports.EAN2_STRUCTURE = ['LL', 'LG', 'GL', 'GG']; // Define the EAN-5 structure\n\nvar EAN5_STRUCTURE = exports.EAN5_STRUCTURE = ['GGLLL', 'GLGLL', 'GLLGL', 'GLLLG', 'LGGLL', 'LLGGL', 'LLLGG', 'LGLGL', 'LGLLG', 'LLGLG']; // Define the EAN-13 structure\n\nvar EAN13_STRUCTURE = exports.EAN13_STRUCTURE = ['LLLLLL', 'LLGLGG', 'LLGGLG', 'LLGGGL', 'LGLLGG', 'LGGLLG', 'LGGGLL', 'LGLGLG', 'LGLGGL', 'LGGLGL'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _constants = require('./constants'); // Encode data string\n\n\nvar encode = function encode(data, structure, separator) {\n var encoded = data.split('').map(function (val, idx) {\n return _constants.BINARIES[structure[idx]];\n }).map(function (val, idx) {\n return val ? val[data[idx]] : '';\n });\n\n if (separator) {\n var last = data.length - 1;\n encoded = encoded.map(function (val, idx) {\n return idx < last ? val + separator : val;\n });\n }\n\n return encoded.join('');\n};\n\nexports.default = encode;","\"use strict\";\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Encoding documentation\n// https://en.wikipedia.org/wiki/MSI_Barcode#Character_set_and_binary_lookup\n\n\nvar MSI = function (_Barcode) {\n _inherits(MSI, _Barcode);\n\n function MSI(data, options) {\n _classCallCheck(this, MSI);\n\n return _possibleConstructorReturn(this, (MSI.__proto__ || Object.getPrototypeOf(MSI)).call(this, data, options));\n }\n\n _createClass(MSI, [{\n key: \"encode\",\n value: function encode() {\n // Start bits\n var ret = \"110\";\n\n for (var i = 0; i < this.data.length; i++) {\n // Convert the character to binary (always 4 binary digits)\n var digit = parseInt(this.data[i]);\n var bin = digit.toString(2);\n bin = addZeroes(bin, 4 - bin.length); // Add 100 for every zero and 110 for every 1\n\n for (var b = 0; b < bin.length; b++) {\n ret += bin[b] == \"0\" ? \"100\" : \"110\";\n }\n } // End bits\n\n\n ret += \"1001\";\n return {\n data: ret,\n text: this.text\n };\n }\n }, {\n key: \"valid\",\n value: function valid() {\n return this.data.search(/^[0-9]+$/) !== -1;\n }\n }]);\n\n return MSI;\n}(_Barcode3.default);\n\nfunction addZeroes(number, n) {\n for (var i = 0; i < n; i++) {\n number = \"0\" + number;\n }\n\n return number;\n}\n\nexports.default = MSI;","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _queryString = require('query-string');\n\nvar _runTransitionHook = require('./runTransitionHook');\n\nvar _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar defaultStringifyQuery = function defaultStringifyQuery(query) {\n return (0, _queryString.stringify)(query).replace(/%20/g, '+');\n};\n\nvar defaultParseQueryString = _queryString.parse;\n/**\n * Returns a new createHistory function that may be used to create\n * history objects that know how to handle URL queries.\n */\n\nvar useQueries = function useQueries(createHistory) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var history = createHistory(options);\n var stringifyQuery = options.stringifyQuery,\n parseQueryString = options.parseQueryString;\n if (typeof stringifyQuery !== 'function') stringifyQuery = defaultStringifyQuery;\n if (typeof parseQueryString !== 'function') parseQueryString = defaultParseQueryString;\n\n var decodeQuery = function decodeQuery(location) {\n if (!location) return location;\n if (location.query == null) location.query = parseQueryString(location.search.substring(1));\n return location;\n };\n\n var encodeQuery = function encodeQuery(location, query) {\n if (query == null) return location;\n var object = typeof location === 'string' ? (0, _PathUtils.parsePath)(location) : location;\n var queryString = stringifyQuery(query);\n var search = queryString ? '?' + queryString : '';\n return _extends({}, object, {\n search: search\n });\n }; // Override all read methods with query-aware versions.\n\n\n var getCurrentLocation = function getCurrentLocation() {\n return decodeQuery(history.getCurrentLocation());\n };\n\n var listenBefore = function listenBefore(hook) {\n return history.listenBefore(function (location, callback) {\n return (0, _runTransitionHook2.default)(hook, decodeQuery(location), callback);\n });\n };\n\n var listen = function listen(listener) {\n return history.listen(function (location) {\n return listener(decodeQuery(location));\n });\n }; // Override all write methods with query-aware versions.\n\n\n var push = function push(location) {\n return history.push(encodeQuery(location, location.query));\n };\n\n var replace = function replace(location) {\n return history.replace(encodeQuery(location, location.query));\n };\n\n var createPath = function createPath(location) {\n return history.createPath(encodeQuery(location, location.query));\n };\n\n var createHref = function createHref(location) {\n return history.createHref(encodeQuery(location, location.query));\n };\n\n var createLocation = function createLocation(location) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var newLocation = history.createLocation.apply(history, [encodeQuery(location, location.query)].concat(args));\n if (location.query) newLocation.query = (0, _LocationUtils.createQuery)(location.query);\n return decodeQuery(newLocation);\n };\n\n return _extends({}, history, {\n getCurrentLocation: getCurrentLocation,\n listenBefore: listenBefore,\n listen: listen,\n push: push,\n replace: replace,\n createPath: createPath,\n createHref: createHref,\n createLocation: createLocation\n });\n };\n};\n\nexports.default = useQueries;","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _runTransitionHook = require('./runTransitionHook');\n\nvar _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);\n\nvar _PathUtils = require('./PathUtils');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar useBasename = function useBasename(createHistory) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var history = createHistory(options);\n var basename = options.basename;\n\n var addBasename = function addBasename(location) {\n if (!location) return location;\n\n if (basename && location.basename == null) {\n if (location.pathname.toLowerCase().indexOf(basename.toLowerCase()) === 0) {\n location.pathname = location.pathname.substring(basename.length);\n location.basename = basename;\n if (location.pathname === '') location.pathname = '/';\n } else {\n location.basename = '';\n }\n }\n\n return location;\n };\n\n var prependBasename = function prependBasename(location) {\n if (!basename) return location;\n var object = typeof location === 'string' ? (0, _PathUtils.parsePath)(location) : location;\n var pname = object.pathname;\n var normalizedBasename = basename.slice(-1) === '/' ? basename : basename + '/';\n var normalizedPathname = pname.charAt(0) === '/' ? pname.slice(1) : pname;\n var pathname = normalizedBasename + normalizedPathname;\n return _extends({}, object, {\n pathname: pathname\n });\n }; // Override all read methods with basename-aware versions.\n\n\n var getCurrentLocation = function getCurrentLocation() {\n return addBasename(history.getCurrentLocation());\n };\n\n var listenBefore = function listenBefore(hook) {\n return history.listenBefore(function (location, callback) {\n return (0, _runTransitionHook2.default)(hook, addBasename(location), callback);\n });\n };\n\n var listen = function listen(listener) {\n return history.listen(function (location) {\n return listener(addBasename(location));\n });\n }; // Override all write methods with basename-aware versions.\n\n\n var push = function push(location) {\n return history.push(prependBasename(location));\n };\n\n var replace = function replace(location) {\n return history.replace(prependBasename(location));\n };\n\n var createPath = function createPath(location) {\n return history.createPath(prependBasename(location));\n };\n\n var createHref = function createHref(location) {\n return history.createHref(prependBasename(location));\n };\n\n var createLocation = function createLocation(location) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return addBasename(history.createLocation.apply(history, [prependBasename(location)].concat(args)));\n };\n\n return _extends({}, history, {\n getCurrentLocation: getCurrentLocation,\n listenBefore: listenBefore,\n listen: listen,\n push: push,\n replace: replace,\n createPath: createPath,\n createHref: createHref,\n createLocation: createLocation\n });\n };\n};\n\nexports.default = useBasename;","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\n/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;\n\n(function (factory) {\n var registeredInModuleLoader;\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n registeredInModuleLoader = true;\n }\n\n if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object') {\n module.exports = factory();\n registeredInModuleLoader = true;\n }\n\n if (!registeredInModuleLoader) {\n var OldCookies = window.Cookies;\n var api = window.Cookies = factory();\n\n api.noConflict = function () {\n window.Cookies = OldCookies;\n return api;\n };\n }\n})(function () {\n function extend() {\n var i = 0;\n var result = {};\n\n for (; i < arguments.length; i++) {\n var attributes = arguments[i];\n\n for (var key in attributes) {\n result[key] = attributes[key];\n }\n }\n\n return result;\n }\n\n function decode(s) {\n return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n }\n\n function init(converter) {\n function api() {}\n\n function set(key, value, attributes) {\n if (typeof document === 'undefined') {\n return;\n }\n\n attributes = extend({\n path: '/'\n }, api.defaults, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n } // We're using \"expires\" because \"max-age\" is not supported by IE\n\n\n attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n try {\n var result = JSON.stringify(value);\n\n if (/^[\\{\\[]/.test(result)) {\n value = result;\n }\n } catch (e) {}\n\n value = converter.write ? converter.write(value, key) : encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n key = encodeURIComponent(String(key)).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent).replace(/[\\(\\)]/g, escape);\n var stringifiedAttributes = '';\n\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue;\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue;\n } // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n\n\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return document.cookie = key + '=' + value + stringifiedAttributes;\n }\n\n function get(key, json) {\n if (typeof document === 'undefined') {\n return;\n }\n\n var jar = {}; // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var i = 0;\n\n for (; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var cookie = parts.slice(1).join('=');\n\n if (!json && cookie.charAt(0) === '\"') {\n cookie = cookie.slice(1, -1);\n }\n\n try {\n var name = decode(parts[0]);\n cookie = (converter.read || converter)(cookie, name) || decode(cookie);\n\n if (json) {\n try {\n cookie = JSON.parse(cookie);\n } catch (e) {}\n }\n\n jar[name] = cookie;\n\n if (key === name) {\n break;\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar;\n }\n\n api.set = set;\n\n api.get = function (key) {\n return get(key, false\n /* read as raw */\n );\n };\n\n api.getJSON = function (key) {\n return get(key, true\n /* read as json */\n );\n };\n\n api.remove = function (key, attributes) {\n set(key, '', extend(attributes, {\n expires: -1\n }));\n };\n\n api.defaults = {};\n api.withConverter = init;\n return api;\n }\n\n return init(function () {});\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 */\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar OBSERVED_ERROR = {};\n/**\n * `Transaction` creates a black box that is able to wrap any method such that\n * certain invariants are maintained before and after the method is invoked\n * (Even if an exception is thrown while invoking the wrapped method). Whoever\n * instantiates a transaction can provide enforcers of the invariants at\n * creation time. The `Transaction` class itself will supply one additional\n * automatic invariant for you - the invariant that any transaction instance\n * should not be run while it is already being run. You would typically create a\n * single instance of a `Transaction` for reuse multiple times, that potentially\n * is used to wrap several different methods. Wrappers are extremely simple -\n * they only require implementing two methods.\n *\n *
\n *                       wrappers (injected at creation time)\n *                                      +        +\n *                                      |        |\n *                    +-----------------|--------|--------------+\n *                    |                 v        |              |\n *                    |      +---------------+   |              |\n *                    |   +--|    wrapper1   |---|----+         |\n *                    |   |  +---------------+   v    |         |\n *                    |   |          +-------------+  |         |\n *                    |   |     +----|   wrapper2  |--------+   |\n *                    |   |     |    +-------------+  |     |   |\n *                    |   |     |                     |     |   |\n *                    |   v     v                     v     v   | wrapper\n *                    | +---+ +---+   +---------+   +---+ +---+ | invariants\n * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained\n * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | +---+ +---+   +---------+   +---+ +---+ |\n *                    |  initialize                    close    |\n *                    +-----------------------------------------+\n * 
\n *\n * Use cases:\n * - Preserving the input selection ranges before/after reconciliation.\n * Restoring selection even in the event of an unexpected error.\n * - Deactivating events while rearranging the DOM, preventing blurs/focuses,\n * while guaranteeing that afterwards, the event system is reactivated.\n * - Flushing a queue of collected DOM mutations to the main UI thread after a\n * reconciliation takes place in a worker thread.\n * - Invoking any collected `componentDidUpdate` callbacks after rendering new\n * content.\n * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue\n * to preserve the `scrollTop` (an automatic scroll aware DOM).\n * - (Future use case): Layout calculations before and after DOM updates.\n *\n * Transactional plugin API:\n * - A module that has an `initialize` method that returns any precomputation.\n * - and a `close` method that accepts the precomputation. `close` is invoked\n * when the wrapped process is completed, or has failed.\n *\n * @param {Array} transactionWrapper Wrapper modules\n * that implement `initialize` and `close`.\n * @return {Transaction} Single transaction for reuse in thread.\n *\n * @class Transaction\n */\n\nvar TransactionImpl = {\n /**\n * Sets up this instance so that it is prepared for collecting metrics. Does\n * so such that this setup method may be used on an instance that is already\n * initialized, in a way that does not consume additional memory upon reuse.\n * That can be useful if you decide to make your subclass of this mixin a\n * \"PooledClass\".\n */\n reinitializeTransaction: function reinitializeTransaction() {\n this.transactionWrappers = this.getTransactionWrappers();\n\n if (this.wrapperInitData) {\n this.wrapperInitData.length = 0;\n } else {\n this.wrapperInitData = [];\n }\n\n this._isInTransaction = false;\n },\n _isInTransaction: false,\n\n /**\n * @abstract\n * @return {Array} Array of transaction wrappers.\n */\n getTransactionWrappers: null,\n isInTransaction: function isInTransaction() {\n return !!this._isInTransaction;\n },\n\n /* eslint-disable space-before-function-paren */\n\n /**\n * Executes the function within a safety window. Use this for the top level\n * methods that result in large amounts of computation/mutations that would\n * need to be safety checked. The optional arguments helps prevent the need\n * to bind in many cases.\n *\n * @param {function} method Member of scope to call.\n * @param {Object} scope Scope to invoke from.\n * @param {Object?=} a Argument to pass to the method.\n * @param {Object?=} b Argument to pass to the method.\n * @param {Object?=} c Argument to pass to the method.\n * @param {Object?=} d Argument to pass to the method.\n * @param {Object?=} e Argument to pass to the method.\n * @param {Object?=} f Argument to pass to the method.\n *\n * @return {*} Return value from `method`.\n */\n perform: function perform(method, scope, a, b, c, d, e, f) {\n /* eslint-enable space-before-function-paren */\n !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0;\n var errorThrown;\n var ret;\n\n try {\n this._isInTransaction = true; // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // one of these calls threw.\n\n errorThrown = true;\n this.initializeAll(0);\n ret = method.call(scope, a, b, c, d, e, f);\n errorThrown = false;\n } finally {\n try {\n if (errorThrown) {\n // If `method` throws, prefer to show that stack trace over any thrown\n // by invoking `closeAll`.\n try {\n this.closeAll(0);\n } catch (err) {}\n } else {\n // Since `method` didn't throw, we don't want to silence the exception\n // here.\n this.closeAll(0);\n }\n } finally {\n this._isInTransaction = false;\n }\n }\n\n return ret;\n },\n initializeAll: function initializeAll(startIndex) {\n var transactionWrappers = this.transactionWrappers;\n\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n\n try {\n // Catching errors makes debugging more difficult, so we start with the\n // OBSERVED_ERROR state before overwriting it with the real return value\n // of initialize -- if it's still set to OBSERVED_ERROR in the finally\n // block, it means wrapper.initialize threw.\n this.wrapperInitData[i] = OBSERVED_ERROR;\n this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null;\n } finally {\n if (this.wrapperInitData[i] === OBSERVED_ERROR) {\n // The initializer for wrapper i threw an error; initialize the\n // remaining wrappers but silence any exceptions from them to ensure\n // that the first error is the one to bubble up.\n try {\n this.initializeAll(i + 1);\n } catch (err) {}\n }\n }\n }\n },\n\n /**\n * Invokes each of `this.transactionWrappers.close[i]` functions, passing into\n * them the respective return values of `this.transactionWrappers.init[i]`\n * (`close`rs that correspond to initializers that failed will not be\n * invoked).\n */\n closeAll: function closeAll(startIndex) {\n !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : _prodInvariant('28') : void 0;\n var transactionWrappers = this.transactionWrappers;\n\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n var initData = this.wrapperInitData[i];\n var errorThrown;\n\n try {\n // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // wrapper.close threw.\n errorThrown = true;\n\n if (initData !== OBSERVED_ERROR && wrapper.close) {\n wrapper.close.call(this, initData);\n }\n\n errorThrown = false;\n } finally {\n if (errorThrown) {\n // The closer for wrapper i threw an error; close the remaining\n // wrappers but silence any exceptions from them to ensure that the\n // first error is the one to bubble up.\n try {\n this.closeAll(i + 1);\n } catch (e) {}\n }\n }\n }\n\n this.wrapperInitData.length = 0;\n }\n};\nmodule.exports = TransactionImpl;","/**\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 SyntheticUIEvent = require('./SyntheticUIEvent');\n\nvar ViewportMetrics = require('./ViewportMetrics');\n\nvar getEventModifierState = require('./getEventModifierState');\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar MouseEventInterface = {\n screenX: null,\n screenY: null,\n clientX: null,\n clientY: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n getModifierState: getEventModifierState,\n button: function button(event) {\n // Webkit, Firefox, IE9+\n // which: 1 2 3\n // button: 0 1 2 (standard)\n var button = event.button;\n\n if ('which' in event) {\n return button;\n } // IE<9\n // which: undefined\n // button: 0 0 0\n // button: 1 4 2 (onmouseup)\n\n\n return button === 2 ? 2 : button === 4 ? 1 : 0;\n },\n buttons: null,\n relatedTarget: function relatedTarget(event) {\n return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);\n },\n // \"Proprietary\" Interface.\n pageX: function pageX(event) {\n return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft;\n },\n pageY: function pageY(event) {\n return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop;\n }\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\n\nfunction SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);\nmodule.exports = SyntheticMouseEvent;","/**\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 ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar DOMNamespaces = require('./DOMNamespaces');\n\nvar WHITESPACE_TEST = /^[ \\r\\n\\t\\f]/;\nvar NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \\r\\n\\t\\f\\/>]/;\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction'); // SVG temp container for IE lacking innerHTML\n\n\nvar reusableSVGContainer;\n/**\n * Set the innerHTML property of a node, ensuring that whitespace is preserved\n * even in IE8.\n *\n * @param {DOMElement} node\n * @param {string} html\n * @internal\n */\n\nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\n // IE does not have innerHTML for SVG nodes, so instead we inject the\n // new markup in a temp node and then move the child nodes across into\n // the target node\n if (node.namespaceURI === DOMNamespaces.svg && !('innerHTML' in node)) {\n reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n reusableSVGContainer.innerHTML = '' + html + '';\n var svgNode = reusableSVGContainer.firstChild;\n\n while (svgNode.firstChild) {\n node.appendChild(svgNode.firstChild);\n }\n } else {\n node.innerHTML = html;\n }\n});\n\nif (ExecutionEnvironment.canUseDOM) {\n // IE8: When updating a just created node with innerHTML only leading\n // whitespace is removed. When updating an existing node with innerHTML\n // whitespace in root TextNodes is also collapsed.\n // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html\n // Feature detection; only IE8 is known to behave improperly like this.\n var testElement = document.createElement('div');\n testElement.innerHTML = ' ';\n\n if (testElement.innerHTML === '') {\n setInnerHTML = function setInnerHTML(node, html) {\n // Magic theory: IE8 supposedly differentiates between added and updated\n // nodes when processing innerHTML, innerHTML on updated nodes suffers\n // from worse whitespace behavior. Re-adding a node like this triggers\n // the initial and more favorable whitespace behavior.\n // TODO: What to do on a detached node?\n if (node.parentNode) {\n node.parentNode.replaceChild(node, node);\n } // We also implement a workaround for non-visible tags disappearing into\n // thin air on IE8, this only happens if there is no visible text\n // in-front of the non-visible tags. Piggyback on the whitespace fix\n // and simply check if any non-visible tags appear in the source.\n\n\n if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) {\n // Recover leading whitespace by temporarily prepending any character.\n // \\uFEFF has the potential advantage of being zero-width/invisible.\n // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode\n // in hopes that this is preserved even if \"\\uFEFF\" is transformed to\n // the actual Unicode character (by Babel, for example).\n // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216\n node.innerHTML = String.fromCharCode(0xfeff) + html; // deleteData leaves an empty `TextNode` which offsets the index of all\n // children. Definitely want to avoid this.\n\n var textNode = node.firstChild;\n\n if (textNode.data.length === 1) {\n node.removeChild(textNode);\n } else {\n textNode.deleteData(0, 1);\n }\n } else {\n node.innerHTML = html;\n }\n };\n }\n\n testElement = null;\n}\n\nmodule.exports = setInnerHTML;","/**\n * Copyright (c) 2016-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 * Based on the escape-html library, which is used under the MIT License below:\n *\n * Copyright (c) 2012-2013 TJ Holowaychuk\n * Copyright (c) 2015 Andreas Lubbe\n * Copyright (c) 2015 Tiancheng \"Timothy\" Gu\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n */\n'use strict'; // code copied and modified from escape-html\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n // \"\n escape = '"';\n break;\n\n case 38:\n // &\n escape = '&';\n break;\n\n case 39:\n // '\n escape = '''; // modified from escape-html; used to be '''\n\n break;\n\n case 60:\n // <\n escape = '<';\n break;\n\n case 62:\n // >\n escape = '>';\n break;\n\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index ? html + str.substring(lastIndex, index) : html;\n} // end code copied and modified from escape-html\n\n/**\n * Escapes text to prevent scripting attacks.\n *\n * @param {*} text Text value to escape.\n * @return {string} An escaped string.\n */\n\n\nfunction escapeTextContentForBrowser(text) {\n if (typeof text === 'boolean' || typeof text === 'number') {\n // this shortcircuit helps perf for types that we know will never have\n // special characters, especially given that this function is used often\n // for numeric dom ids.\n return '' + text;\n }\n\n return escapeHtml(text);\n}\n\nmodule.exports = escapeTextContentForBrowser;","/**\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 _assign = require('object-assign');\n\nvar EventPluginRegistry = require('./EventPluginRegistry');\n\nvar ReactEventEmitterMixin = require('./ReactEventEmitterMixin');\n\nvar ViewportMetrics = require('./ViewportMetrics');\n\nvar getVendorPrefixedEventName = require('./getVendorPrefixedEventName');\n\nvar isEventSupported = require('./isEventSupported');\n/**\n * Summary of `ReactBrowserEventEmitter` event handling:\n *\n * - Top-level delegation is used to trap most native browser events. This\n * may only occur in the main thread and is the responsibility of\n * ReactEventListener, which is injected and can therefore support pluggable\n * event sources. This is the only work that occurs in the main thread.\n *\n * - We normalize and de-duplicate events to account for browser quirks. This\n * may be done in the worker thread.\n *\n * - Forward these native events (with the associated top-level type used to\n * trap it) to `EventPluginHub`, which in turn will ask plugins if they want\n * to extract any synthetic events.\n *\n * - The `EventPluginHub` will then process each event by annotating them with\n * \"dispatches\", a sequence of listeners and IDs that care about that event.\n *\n * - The `EventPluginHub` then dispatches the events.\n *\n * Overview of React and the event system:\n *\n * +------------+ .\n * | DOM | .\n * +------------+ .\n * | .\n * v .\n * +------------+ .\n * | ReactEvent | .\n * | Listener | .\n * +------------+ . +-----------+\n * | . +--------+|SimpleEvent|\n * | . | |Plugin |\n * +-----|------+ . v +-----------+\n * | | | . +--------------+ +------------+\n * | +-----------.--->|EventPluginHub| | Event |\n * | | . | | +-----------+ | Propagators|\n * | ReactEvent | . | | |TapEvent | |------------|\n * | Emitter | . | |<---+|Plugin | |other plugin|\n * | | . | | +-----------+ | utilities |\n * | +-----------.--->| | +------------+\n * | | | . +--------------+\n * +-----|------+ . ^ +-----------+\n * | . | |Enter/Leave|\n * + . +-------+|Plugin |\n * +-------------+ . +-----------+\n * | application | .\n * |-------------| .\n * | | .\n * | | .\n * +-------------+ .\n * .\n * React Core . General Purpose Event Plugin System\n */\n\n\nvar hasEventPageXY;\nvar alreadyListeningTo = {};\nvar isMonitoringScrollValue = false;\nvar reactTopListenersCounter = 0; // For events like 'submit' which don't consistently bubble (which we trap at a\n// lower node than `document`), binding at `document` would cause duplicate\n// events so we don't include them here\n\nvar topEventMapping = {\n topAbort: 'abort',\n topAnimationEnd: getVendorPrefixedEventName('animationend') || 'animationend',\n topAnimationIteration: getVendorPrefixedEventName('animationiteration') || 'animationiteration',\n topAnimationStart: getVendorPrefixedEventName('animationstart') || 'animationstart',\n topBlur: 'blur',\n topCanPlay: 'canplay',\n topCanPlayThrough: 'canplaythrough',\n topChange: 'change',\n topClick: 'click',\n topCompositionEnd: 'compositionend',\n topCompositionStart: 'compositionstart',\n topCompositionUpdate: 'compositionupdate',\n topContextMenu: 'contextmenu',\n topCopy: 'copy',\n topCut: 'cut',\n topDoubleClick: 'dblclick',\n topDrag: 'drag',\n topDragEnd: 'dragend',\n topDragEnter: 'dragenter',\n topDragExit: 'dragexit',\n topDragLeave: 'dragleave',\n topDragOver: 'dragover',\n topDragStart: 'dragstart',\n topDrop: 'drop',\n topDurationChange: 'durationchange',\n topEmptied: 'emptied',\n topEncrypted: 'encrypted',\n topEnded: 'ended',\n topError: 'error',\n topFocus: 'focus',\n topInput: 'input',\n topKeyDown: 'keydown',\n topKeyPress: 'keypress',\n topKeyUp: 'keyup',\n topLoadedData: 'loadeddata',\n topLoadedMetadata: 'loadedmetadata',\n topLoadStart: 'loadstart',\n topMouseDown: 'mousedown',\n topMouseMove: 'mousemove',\n topMouseOut: 'mouseout',\n topMouseOver: 'mouseover',\n topMouseUp: 'mouseup',\n topPaste: 'paste',\n topPause: 'pause',\n topPlay: 'play',\n topPlaying: 'playing',\n topProgress: 'progress',\n topRateChange: 'ratechange',\n topScroll: 'scroll',\n topSeeked: 'seeked',\n topSeeking: 'seeking',\n topSelectionChange: 'selectionchange',\n topStalled: 'stalled',\n topSuspend: 'suspend',\n topTextInput: 'textInput',\n topTimeUpdate: 'timeupdate',\n topTouchCancel: 'touchcancel',\n topTouchEnd: 'touchend',\n topTouchMove: 'touchmove',\n topTouchStart: 'touchstart',\n topTransitionEnd: getVendorPrefixedEventName('transitionend') || 'transitionend',\n topVolumeChange: 'volumechange',\n topWaiting: 'waiting',\n topWheel: 'wheel'\n};\n/**\n * To ensure no conflicts with other potential React instances on the page\n */\n\nvar topListenersIDKey = '_reactListenersID' + String(Math.random()).slice(2);\n\nfunction getListeningForDocument(mountAt) {\n // In IE8, `mountAt` is a host object and doesn't have `hasOwnProperty`\n // directly.\n if (!Object.prototype.hasOwnProperty.call(mountAt, topListenersIDKey)) {\n mountAt[topListenersIDKey] = reactTopListenersCounter++;\n alreadyListeningTo[mountAt[topListenersIDKey]] = {};\n }\n\n return alreadyListeningTo[mountAt[topListenersIDKey]];\n}\n/**\n * `ReactBrowserEventEmitter` is used to attach top-level event listeners. For\n * example:\n *\n * EventPluginHub.putListener('myID', 'onClick', myFunction);\n *\n * This would allocate a \"registration\" of `('onClick', myFunction)` on 'myID'.\n *\n * @internal\n */\n\n\nvar ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {\n /**\n * Injectable event backend\n */\n ReactEventListener: null,\n injection: {\n /**\n * @param {object} ReactEventListener\n */\n injectReactEventListener: function injectReactEventListener(ReactEventListener) {\n ReactEventListener.setHandleTopLevel(ReactBrowserEventEmitter.handleTopLevel);\n ReactBrowserEventEmitter.ReactEventListener = ReactEventListener;\n }\n },\n\n /**\n * Sets whether or not any created callbacks should be enabled.\n *\n * @param {boolean} enabled True if callbacks should be enabled.\n */\n setEnabled: function setEnabled(enabled) {\n if (ReactBrowserEventEmitter.ReactEventListener) {\n ReactBrowserEventEmitter.ReactEventListener.setEnabled(enabled);\n }\n },\n\n /**\n * @return {boolean} True if callbacks are enabled.\n */\n isEnabled: function isEnabled() {\n return !!(ReactBrowserEventEmitter.ReactEventListener && ReactBrowserEventEmitter.ReactEventListener.isEnabled());\n },\n\n /**\n * We listen for bubbled touch events on the document object.\n *\n * Firefox v8.01 (and possibly others) exhibited strange behavior when\n * mounting `onmousemove` events at some node that was not the document\n * element. The symptoms were that if your mouse is not moving over something\n * contained within that mount point (for example on the background) the\n * top-level listeners for `onmousemove` won't be called. However, if you\n * register the `mousemove` on the document object, then it will of course\n * catch all `mousemove`s. This along with iOS quirks, justifies restricting\n * top-level listeners to the document object only, at least for these\n * movement types of events and possibly all events.\n *\n * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n *\n * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but\n * they bubble to document.\n *\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @param {object} contentDocumentHandle Document which owns the container\n */\n listenTo: function listenTo(registrationName, contentDocumentHandle) {\n var mountAt = contentDocumentHandle;\n var isListening = getListeningForDocument(mountAt);\n var dependencies = EventPluginRegistry.registrationNameDependencies[registrationName];\n\n for (var i = 0; i < dependencies.length; i++) {\n var dependency = dependencies[i];\n\n if (!(isListening.hasOwnProperty(dependency) && isListening[dependency])) {\n if (dependency === 'topWheel') {\n if (isEventSupported('wheel')) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'wheel', mountAt);\n } else if (isEventSupported('mousewheel')) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'mousewheel', mountAt);\n } else {\n // Firefox needs to capture a different mouse scroll event.\n // @see http://www.quirksmode.org/dom/events/tests/scroll.html\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'DOMMouseScroll', mountAt);\n }\n } else if (dependency === 'topScroll') {\n if (isEventSupported('scroll', true)) {\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topScroll', 'scroll', mountAt);\n } else {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topScroll', 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE);\n }\n } else if (dependency === 'topFocus' || dependency === 'topBlur') {\n if (isEventSupported('focus', true)) {\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topFocus', 'focus', mountAt);\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topBlur', 'blur', mountAt);\n } else if (isEventSupported('focusin')) {\n // IE has `focusin` and `focusout` events which bubble.\n // @see http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topFocus', 'focusin', mountAt);\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topBlur', 'focusout', mountAt);\n } // to make sure blur and focus event listeners are only attached once\n\n\n isListening.topBlur = true;\n isListening.topFocus = true;\n } else if (topEventMapping.hasOwnProperty(dependency)) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(dependency, topEventMapping[dependency], mountAt);\n }\n\n isListening[dependency] = true;\n }\n }\n },\n trapBubbledEvent: function trapBubbledEvent(topLevelType, handlerBaseName, handle) {\n return ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelType, handlerBaseName, handle);\n },\n trapCapturedEvent: function trapCapturedEvent(topLevelType, handlerBaseName, handle) {\n return ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelType, handlerBaseName, handle);\n },\n\n /**\n * Protect against document.createEvent() returning null\n * Some popup blocker extensions appear to do this:\n * https://github.com/facebook/react/issues/6887\n */\n supportsEventPageXY: function supportsEventPageXY() {\n if (!document.createEvent) {\n return false;\n }\n\n var ev = document.createEvent('MouseEvent');\n return ev != null && 'pageX' in ev;\n },\n\n /**\n * Listens to window scroll and resize events. We cache scroll values so that\n * application code can access them without triggering reflows.\n *\n * ViewportMetrics is only used by SyntheticMouse/TouchEvent and only when\n * pageX/pageY isn't supported (legacy browsers).\n *\n * NOTE: Scroll events do not bubble.\n *\n * @see http://www.quirksmode.org/dom/events/scroll.html\n */\n ensureScrollValueMonitoring: function ensureScrollValueMonitoring() {\n if (hasEventPageXY === undefined) {\n hasEventPageXY = ReactBrowserEventEmitter.supportsEventPageXY();\n }\n\n if (!hasEventPageXY && !isMonitoringScrollValue) {\n var refresh = ViewportMetrics.refreshScrollValues;\n ReactBrowserEventEmitter.ReactEventListener.monitorScrollValue(refresh);\n isMonitoringScrollValue = true;\n }\n }\n});\n\nmodule.exports = ReactBrowserEventEmitter;","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","'use strict';\n\nexports.__esModule = true;\nvar canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _Barcode2 = require('../Barcode.js');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // This is the master class,\n// it does require the start code to be included in the string\n\n\nvar CODE128 = function (_Barcode) {\n _inherits(CODE128, _Barcode);\n\n function CODE128(data, options) {\n _classCallCheck(this, CODE128); // Get array of ascii codes from data\n\n\n var _this = _possibleConstructorReturn(this, (CODE128.__proto__ || Object.getPrototypeOf(CODE128)).call(this, data.substring(1), options));\n\n _this.bytes = data.split('').map(function (char) {\n return char.charCodeAt(0);\n });\n return _this;\n }\n\n _createClass(CODE128, [{\n key: 'valid',\n value: function valid() {\n // ASCII value ranges 0-127, 200-211\n return /^[\\x00-\\x7F\\xC8-\\xD3]+$/.test(this.data);\n } // The public encoding function\n\n }, {\n key: 'encode',\n value: function encode() {\n var bytes = this.bytes; // Remove the start code from the bytes and set its index\n\n var startIndex = bytes.shift() - 105; // Get start set by index\n\n var startSet = _constants.SET_BY_CODE[startIndex];\n\n if (startSet === undefined) {\n throw new RangeError('The encoding does not start with a start character.');\n }\n\n if (this.shouldEncodeAsEan128() === true) {\n bytes.unshift(_constants.FNC1);\n } // Start encode with the right type\n\n\n var encodingResult = CODE128.next(bytes, 1, startSet);\n return {\n text: this.text === this.data ? this.text.replace(/[^\\x20-\\x7E]/g, '') : this.text,\n data: // Add the start bits\n CODE128.getBar(startIndex) + // Add the encoded bits\n encodingResult.result + // Add the checksum\n CODE128.getBar((encodingResult.checksum + startIndex) % _constants.MODULO) + // Add the end bits\n CODE128.getBar(_constants.STOP)\n };\n } // GS1-128/EAN-128\n\n }, {\n key: 'shouldEncodeAsEan128',\n value: function shouldEncodeAsEan128() {\n var isEAN128 = this.options.ean128 || false;\n\n if (typeof isEAN128 === 'string') {\n isEAN128 = isEAN128.toLowerCase() === 'true';\n }\n\n return isEAN128;\n } // Get a bar symbol by index\n\n }], [{\n key: 'getBar',\n value: function getBar(index) {\n return _constants.BARS[index] ? _constants.BARS[index].toString() : '';\n } // Correct an index by a set and shift it from the bytes array\n\n }, {\n key: 'correctIndex',\n value: function correctIndex(bytes, set) {\n if (set === _constants.SET_A) {\n var charCode = bytes.shift();\n return charCode < 32 ? charCode + 64 : charCode - 32;\n } else if (set === _constants.SET_B) {\n return bytes.shift() - 32;\n } else {\n return (bytes.shift() - 48) * 10 + bytes.shift() - 48;\n }\n }\n }, {\n key: 'next',\n value: function next(bytes, pos, set) {\n if (!bytes.length) {\n return {\n result: '',\n checksum: 0\n };\n }\n\n var nextCode = void 0,\n index = void 0; // Special characters\n\n if (bytes[0] >= 200) {\n index = bytes.shift() - 105;\n var nextSet = _constants.SWAP[index]; // Swap to other set\n\n if (nextSet !== undefined) {\n nextCode = CODE128.next(bytes, pos + 1, nextSet);\n } // Continue on current set but encode a special character\n else {\n // Shift\n if ((set === _constants.SET_A || set === _constants.SET_B) && index === _constants.SHIFT) {\n // Convert the next character so that is encoded correctly\n bytes[0] = set === _constants.SET_A ? bytes[0] > 95 ? bytes[0] - 96 : bytes[0] : bytes[0] < 32 ? bytes[0] + 96 : bytes[0];\n }\n\n nextCode = CODE128.next(bytes, pos + 1, set);\n }\n } // Continue encoding\n else {\n index = CODE128.correctIndex(bytes, set);\n nextCode = CODE128.next(bytes, pos + 1, set);\n } // Get the correct binary encoding and calculate the weight\n\n\n var enc = CODE128.getBar(index);\n var weight = index * pos;\n return {\n result: enc + nextCode.result,\n checksum: weight + nextCode.checksum\n };\n }\n }]);\n\n return CODE128;\n}(_Barcode3.default);\n\nexports.default = CODE128;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mod10 = mod10;\nexports.mod11 = mod11;\n\nfunction mod10(number) {\n var sum = 0;\n\n for (var i = 0; i < number.length; i++) {\n var n = parseInt(number[i]);\n\n if ((i + number.length) % 2 === 0) {\n sum += n;\n } else {\n sum += n * 2 % 10 + Math.floor(n * 2 / 10);\n }\n }\n\n return (10 - sum % 10) % 10;\n}\n\nfunction mod11(number) {\n var sum = 0;\n var weights = [2, 3, 4, 5, 6, 7];\n\n for (var i = 0; i < number.length; i++) {\n var n = parseInt(number[number.length - 1 - i]);\n sum += weights[i % weights.length] * n;\n }\n\n return (11 - sum % 11) % 11;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nexports.default = function (old, replaceObj) {\n return _extends({}, old, replaceObj);\n};","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","module.exports = {\n DropModal: require('./DropModal'),\n WaveModal: require('./WaveModal'),\n FlyModal: require('./FlyModal'),\n FadeModal: require('./FadeModal'),\n ScaleModal: require('./ScaleModal'),\n OutlineModal: require('./OutlineModal')\n};","import React from 'react'\nimport Cookies from 'js-cookie'\nimport { setTheme } from '../app/actions'\nimport {connect} from 'react-redux'\n\nconst cookiesPortableThemeKey = 'portable-theme'\n\nclass ThemeSwitch extends React.Component {\n\n changeTheme(newTheme) {\n Cookies.set(cookiesPortableThemeKey, newTheme)\n this.props.dispatch(setTheme(newTheme))\n }\n\n componentDidMount() {\n this.props.dispatch(setTheme(Cookies.get(cookiesPortableThemeKey) || 'dark'))\n }\n\n render() {\n return (\n
\n {\n this.props.theme == 'light'\n ? this.changeTheme('dark')}>\n : this.changeTheme('light')}>\n }\n
\n );\n }\n}\n\nlet mapStateToProps = (state) => {\n return {\n theme: state.app.theme,\n }\n}\n\nexport default connect(mapStateToProps)(ThemeSwitch)\n\n","import React, { PropTypes } from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport OrderDirectionIcon from './OrderDirectionIcon'\n\nlet OrderLocation = React.createClass({\n propTypes: {\n order: PropTypes.object.isRequired\n },\n\n renderSpotLocation() {\n let { order } = this.props;\n\n return (\n \n  {order.location.symbol}:\n  {order.spot_symbol}\n \n )\n },\n\n renderStockLocation() {\n let { order } = this.props;\n\n return (\n \n  {order.location.symbol}:\n  {order.to_stock}\n \n )\n },\n\n renderLocation() {\n let { order } = this.props;\n\n if (order.status == 'taken') {\n return this.renderStockLocation();\n } else {\n return this.renderSpotLocation();\n }\n },\n\n render() {\n let { order } = this.props;\n\n return (\n
\n \n {this.renderLocation()}\n
\n );\n }\n\n});\n\nexport default translate(['orders'])(OrderLocation)\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nlet Profile = React.createClass({\n getInitialState: function() {\n return { }\n },\n\n render() {\n let { CSRFToken, user, t } = this.props\n\n return (\n
\n
\n {t('title')}\n
\n
\n
\n \n \n\n
\n
\n
\n \n \n
\n\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n\n
\n \n
\n
\n
\n
\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n user: state.app.user,\n CSRFToken: state.app.CSRFToken\n }\n}\n\nexport default connect(mapStateToProps)(translate(['profile'])(Profile))\n","import React from 'react'\nimport {connect} from 'react-redux'\n\nclass ThemeProvider extends React.Component {\n render() {\n return (\n
\n {this.props.children}\n
\n );\n }\n}\n\nlet mapStateToProps = (state) => {\n return {\n theme: state.app.theme,\n }\n}\n\nexport default connect(mapStateToProps)(ThemeProvider)\n\n","export default(state = {\n supplies: [],\n categories: [],\n selectedStage: 'raw_material',\n selectedCategoryId: null,\n orderKind: 'delivery',\n qunatityModalSupply: null,\n quantityModal: null\n}, action) => {\n switch (action.type) {\n\n case 'FETCH_SUPPLIES_SUCCESS':\n return {\n ...state,\n supplies: action.data\n }\n\n case 'FETCH_CATEGORIES_SUCCESS':\n return {\n ...state,\n categories: action.data\n }\n\n case 'SET_DEFAULT_SUPPLY_COUNT':\n return {\n ...state,\n supplies: state.supplies.map((supply) => {\n return {\n ...supply,\n count: 0\n }\n })\n }\n\n case 'INCREASE_SUPPLY_COUNT':\n let modalSupply = null;\n\n return {\n ...state,\n supplies: state.supplies.map((supply) => {\n if (supply.id == action.supply.id) {\n if (action.fixedCount) {\n return {\n ...supply,\n count: action.fixedCount\n }\n }\n\n let count;\n if (supply.count == 0) {\n count = supply.multiples[0];\n } else {\n let index = supply.multiples.indexOf(supply.count);\n count = supply.multiples[index + 1];\n count = count ? count : supply.multiples[index];\n\n if (count === '∞' || index == -1) {\n count = supply.count\n state.quantityModal.show()\n\n modalSupply = supply;\n return {\n ...supply,\n count: count,\n }\n }\n }\n\n return {\n ...supply,\n count: count\n }\n } else {\n return supply;\n }\n }),\n qunatityModalSupply: modalSupply\n }\n\n case 'OPEN_SUPPLY_MODAL':\n state.quantityModal.show();\n return state;\n\n case 'CLOSE_SUPPLY_MODAL':\n state.quantityModal.hide();\n return state;\n\n case 'SET_SUPPLY_MODAL':\n return {\n ...state,\n quantityModal: action.modal,\n }\n\n case 'DECREASE_SUPPLY_COUNT':\n return {\n ...state,\n supplies: state.supplies.map((supply) => {\n if (supply.id == action.supply.id) {\n\n let count;\n if (supply.count == 0) {\n count = 0\n } else {\n let index = supply.multiples.indexOf(supply.count);\n\n if (index == -1) {\n count = supply.multiples[supply.multiples.length - 2]\n } else {\n count = supply.multiples[index - 1];\n count = count ? count : 0;\n }\n }\n\n return {\n ...supply,\n count: count\n }\n } else {\n return supply;\n }\n })\n }\n\n case 'SET_SELECTED_STAGE':\n return {\n ...state,\n selectedStage: action.data\n }\n\n case 'SET_SELECTED_CATEGORY':\n const newCategoryId = action.data ? parseInt(action.data) : null;\n\n return {\n ...state,\n selectedCategoryId: newCategoryId\n }\n\n case 'SET_ORDER_DIRECTION':\n return {\n ...state,\n orderKind: action.data\n }\n\n case 'UPDATE_SUPPLY_ITEM_STOCK_QUANTITY':\n return {\n ...state,\n supplies: state.supplies.map((supply) => {\n if (supply.id == action.supplyId) {\n return { ...supply, item: { ...supply.item, stock_quantity: action.stockQuantity } }\n } else {\n return supply\n }\n })\n }\n\n default:\n return state\n }\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\n/* MIT license */\nvar _clone = require('clone');\n\nvar convert = require('color-convert');\n\nvar string = require('color-string');\n\nvar Color = function Color(obj) {\n if (obj instanceof Color) {\n return obj;\n }\n\n if (!(this instanceof Color)) {\n return new Color(obj);\n }\n\n this.values = {\n rgb: [0, 0, 0],\n hsl: [0, 0, 0],\n hsv: [0, 0, 0],\n hwb: [0, 0, 0],\n cmyk: [0, 0, 0, 0],\n alpha: 1\n }; // parse Color() argument\n\n var vals;\n\n if (typeof obj === 'string') {\n vals = string.getRgba(obj);\n\n if (vals) {\n this.setValues('rgb', vals);\n } else if (vals = string.getHsla(obj)) {\n this.setValues('hsl', vals);\n } else if (vals = string.getHwb(obj)) {\n this.setValues('hwb', vals);\n } else {\n throw new Error('Unable to parse color from string \"' + obj + '\"');\n }\n } else if (_typeof(obj) === 'object') {\n vals = obj;\n\n if (vals.r !== undefined || vals.red !== undefined) {\n this.setValues('rgb', vals);\n } else if (vals.l !== undefined || vals.lightness !== undefined) {\n this.setValues('hsl', vals);\n } else if (vals.v !== undefined || vals.value !== undefined) {\n this.setValues('hsv', vals);\n } else if (vals.w !== undefined || vals.whiteness !== undefined) {\n this.setValues('hwb', vals);\n } else if (vals.c !== undefined || vals.cyan !== undefined) {\n this.setValues('cmyk', vals);\n } else {\n throw new Error('Unable to parse color from object ' + JSON.stringify(obj));\n }\n }\n};\n\nColor.prototype = {\n rgb: function rgb() {\n return this.setSpace('rgb', arguments);\n },\n hsl: function hsl() {\n return this.setSpace('hsl', arguments);\n },\n hsv: function hsv() {\n return this.setSpace('hsv', arguments);\n },\n hwb: function hwb() {\n return this.setSpace('hwb', arguments);\n },\n cmyk: function cmyk() {\n return this.setSpace('cmyk', arguments);\n },\n rgbArray: function rgbArray() {\n return this.values.rgb;\n },\n hslArray: function hslArray() {\n return this.values.hsl;\n },\n hsvArray: function hsvArray() {\n return this.values.hsv;\n },\n hwbArray: function hwbArray() {\n if (this.values.alpha !== 1) {\n return this.values.hwb.concat([this.values.alpha]);\n }\n\n return this.values.hwb;\n },\n cmykArray: function cmykArray() {\n return this.values.cmyk;\n },\n rgbaArray: function rgbaArray() {\n var rgb = this.values.rgb;\n return rgb.concat([this.values.alpha]);\n },\n rgbaArrayNormalized: function rgbaArrayNormalized() {\n var rgb = this.values.rgb;\n var glRgba = [];\n\n for (var i = 0; i < 3; i++) {\n glRgba[i] = rgb[i] / 255;\n }\n\n glRgba.push(this.values.alpha);\n return glRgba;\n },\n hslaArray: function hslaArray() {\n var hsl = this.values.hsl;\n return hsl.concat([this.values.alpha]);\n },\n alpha: function alpha(val) {\n if (val === undefined) {\n return this.values.alpha;\n }\n\n this.setValues('alpha', val);\n return this;\n },\n red: function red(val) {\n return this.setChannel('rgb', 0, val);\n },\n green: function green(val) {\n return this.setChannel('rgb', 1, val);\n },\n blue: function blue(val) {\n return this.setChannel('rgb', 2, val);\n },\n hue: function hue(val) {\n if (val) {\n val %= 360;\n val = val < 0 ? 360 + val : val;\n }\n\n return this.setChannel('hsl', 0, val);\n },\n saturation: function saturation(val) {\n return this.setChannel('hsl', 1, val);\n },\n lightness: function lightness(val) {\n return this.setChannel('hsl', 2, val);\n },\n saturationv: function saturationv(val) {\n return this.setChannel('hsv', 1, val);\n },\n whiteness: function whiteness(val) {\n return this.setChannel('hwb', 1, val);\n },\n blackness: function blackness(val) {\n return this.setChannel('hwb', 2, val);\n },\n value: function value(val) {\n return this.setChannel('hsv', 2, val);\n },\n cyan: function cyan(val) {\n return this.setChannel('cmyk', 0, val);\n },\n magenta: function magenta(val) {\n return this.setChannel('cmyk', 1, val);\n },\n yellow: function yellow(val) {\n return this.setChannel('cmyk', 2, val);\n },\n black: function black(val) {\n return this.setChannel('cmyk', 3, val);\n },\n hexString: function hexString() {\n return string.hexString(this.values.rgb);\n },\n rgbString: function rgbString() {\n return string.rgbString(this.values.rgb, this.values.alpha);\n },\n rgbaString: function rgbaString() {\n return string.rgbaString(this.values.rgb, this.values.alpha);\n },\n percentString: function percentString() {\n return string.percentString(this.values.rgb, this.values.alpha);\n },\n hslString: function hslString() {\n return string.hslString(this.values.hsl, this.values.alpha);\n },\n hslaString: function hslaString() {\n return string.hslaString(this.values.hsl, this.values.alpha);\n },\n hwbString: function hwbString() {\n return string.hwbString(this.values.hwb, this.values.alpha);\n },\n keyword: function keyword() {\n return string.keyword(this.values.rgb, this.values.alpha);\n },\n rgbNumber: function rgbNumber() {\n return this.values.rgb[0] << 16 | this.values.rgb[1] << 8 | this.values.rgb[2];\n },\n luminosity: function luminosity() {\n // http://www.w3.org/TR/WCAG20/#relativeluminancedef\n var rgb = this.values.rgb;\n var lum = [];\n\n for (var i = 0; i < rgb.length; i++) {\n var chan = rgb[i] / 255;\n lum[i] = chan <= 0.03928 ? chan / 12.92 : Math.pow((chan + 0.055) / 1.055, 2.4);\n }\n\n return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n },\n contrast: function contrast(color2) {\n // http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n var lum1 = this.luminosity();\n var lum2 = color2.luminosity();\n\n if (lum1 > lum2) {\n return (lum1 + 0.05) / (lum2 + 0.05);\n }\n\n return (lum2 + 0.05) / (lum1 + 0.05);\n },\n level: function level(color2) {\n var contrastRatio = this.contrast(color2);\n\n if (contrastRatio >= 7.1) {\n return 'AAA';\n }\n\n return contrastRatio >= 4.5 ? 'AA' : '';\n },\n dark: function dark() {\n // YIQ equation from http://24ways.org/2010/calculating-color-contrast\n var rgb = this.values.rgb;\n var yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n return yiq < 128;\n },\n light: function light() {\n return !this.dark();\n },\n negate: function negate() {\n var rgb = [];\n\n for (var i = 0; i < 3; i++) {\n rgb[i] = 255 - this.values.rgb[i];\n }\n\n this.setValues('rgb', rgb);\n return this;\n },\n lighten: function lighten(ratio) {\n this.values.hsl[2] += this.values.hsl[2] * ratio;\n this.setValues('hsl', this.values.hsl);\n return this;\n },\n darken: function darken(ratio) {\n this.values.hsl[2] -= this.values.hsl[2] * ratio;\n this.setValues('hsl', this.values.hsl);\n return this;\n },\n saturate: function saturate(ratio) {\n this.values.hsl[1] += this.values.hsl[1] * ratio;\n this.setValues('hsl', this.values.hsl);\n return this;\n },\n desaturate: function desaturate(ratio) {\n this.values.hsl[1] -= this.values.hsl[1] * ratio;\n this.setValues('hsl', this.values.hsl);\n return this;\n },\n whiten: function whiten(ratio) {\n this.values.hwb[1] += this.values.hwb[1] * ratio;\n this.setValues('hwb', this.values.hwb);\n return this;\n },\n blacken: function blacken(ratio) {\n this.values.hwb[2] += this.values.hwb[2] * ratio;\n this.setValues('hwb', this.values.hwb);\n return this;\n },\n greyscale: function greyscale() {\n var rgb = this.values.rgb; // http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\n var val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n this.setValues('rgb', [val, val, val]);\n return this;\n },\n clearer: function clearer(ratio) {\n this.setValues('alpha', this.values.alpha - this.values.alpha * ratio);\n return this;\n },\n opaquer: function opaquer(ratio) {\n this.setValues('alpha', this.values.alpha + this.values.alpha * ratio);\n return this;\n },\n rotate: function rotate(degrees) {\n var hue = this.values.hsl[0];\n hue = (hue + degrees) % 360;\n hue = hue < 0 ? 360 + hue : hue;\n this.values.hsl[0] = hue;\n this.setValues('hsl', this.values.hsl);\n return this;\n },\n\n /**\n * Ported from sass implementation in C\n * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n */\n mix: function mix(mixinColor, weight) {\n var color1 = this;\n var color2 = mixinColor;\n var p = weight === undefined ? 0.5 : weight;\n var w = 2 * p - 1;\n var a = color1.alpha() - color2.alpha();\n var w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n var w2 = 1 - w1;\n return this.rgb(w1 * color1.red() + w2 * color2.red(), w1 * color1.green() + w2 * color2.green(), w1 * color1.blue() + w2 * color2.blue()).alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n },\n toJSON: function toJSON() {\n return this.rgb();\n },\n clone: function clone() {\n var col = new Color();\n col.values = _clone(this.values);\n return col;\n }\n};\n\nColor.prototype.getValues = function (space) {\n var vals = {};\n\n for (var i = 0; i < space.length; i++) {\n vals[space.charAt(i)] = this.values[space][i];\n }\n\n if (this.values.alpha !== 1) {\n vals.a = this.values.alpha;\n } // {r: 255, g: 255, b: 255, a: 0.4}\n\n\n return vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n var spaces = {\n rgb: ['red', 'green', 'blue'],\n hsl: ['hue', 'saturation', 'lightness'],\n hsv: ['hue', 'saturation', 'value'],\n hwb: ['hue', 'whiteness', 'blackness'],\n cmyk: ['cyan', 'magenta', 'yellow', 'black']\n };\n var maxes = {\n rgb: [255, 255, 255],\n hsl: [360, 100, 100],\n hsv: [360, 100, 100],\n hwb: [360, 100, 100],\n cmyk: [100, 100, 100, 100]\n };\n var i;\n var alpha = 1;\n\n if (space === 'alpha') {\n alpha = vals;\n } else if (vals.length) {\n // [10, 10, 10]\n this.values[space] = vals.slice(0, space.length);\n alpha = vals[space.length];\n } else if (vals[space.charAt(0)] !== undefined) {\n // {r: 10, g: 10, b: 10}\n for (i = 0; i < space.length; i++) {\n this.values[space][i] = vals[space.charAt(i)];\n }\n\n alpha = vals.a;\n } else if (vals[spaces[space][0]] !== undefined) {\n // {red: 10, green: 10, blue: 10}\n var chans = spaces[space];\n\n for (i = 0; i < space.length; i++) {\n this.values[space][i] = vals[chans[i]];\n }\n\n alpha = vals.alpha;\n }\n\n this.values.alpha = Math.max(0, Math.min(1, alpha === undefined ? this.values.alpha : alpha));\n\n if (space === 'alpha') {\n return false;\n }\n\n var capped; // cap values of the space prior converting all values\n\n for (i = 0; i < space.length; i++) {\n capped = Math.max(0, Math.min(maxes[space][i], this.values[space][i]));\n this.values[space][i] = Math.round(capped);\n } // convert to all the other color spaces\n\n\n for (var sname in spaces) {\n if (sname !== space) {\n this.values[sname] = convert[space][sname](this.values[space]);\n } // cap values\n\n\n for (i = 0; i < sname.length; i++) {\n capped = Math.max(0, Math.min(maxes[sname][i], this.values[sname][i]));\n this.values[sname][i] = Math.round(capped);\n }\n }\n\n return true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n var vals = args[0];\n\n if (vals === undefined) {\n // color.rgb()\n return this.getValues(space);\n } // color.rgb(10, 10, 10)\n\n\n if (typeof vals === 'number') {\n vals = Array.prototype.slice.call(args);\n }\n\n this.setValues(space, vals);\n return this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n if (val === undefined) {\n // color.red()\n return this.values[space][index];\n } else if (val === this.values[space][index]) {\n // color.red(color.red())\n return this;\n } // color.red(100)\n\n\n this.values[space][index] = val;\n this.setValues(space, this.values[space]);\n return this;\n};\n\nmodule.exports = Color;","/**\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 emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n/**\n * Injectable ordering of event plugins.\n */\n\n\nvar eventPluginOrder = null;\n/**\n * Injectable mapping from names to event plugin modules.\n */\n\nvar namesToPlugins = {};\n/**\n * Recomputes the plugin list using the injected plugins and plugin ordering.\n *\n * @private\n */\n\nfunction recomputePluginOrdering() {\n if (!eventPluginOrder) {\n // Wait until an `eventPluginOrder` is injected.\n return;\n }\n\n for (var pluginName in namesToPlugins) {\n var pluginModule = namesToPlugins[pluginName];\n var pluginIndex = eventPluginOrder.indexOf(pluginName);\n !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : _prodInvariant('96', pluginName) : void 0;\n\n if (EventPluginRegistry.plugins[pluginIndex]) {\n continue;\n }\n\n !pluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : _prodInvariant('97', pluginName) : void 0;\n EventPluginRegistry.plugins[pluginIndex] = pluginModule;\n var publishedEvents = pluginModule.eventTypes;\n\n for (var eventName in publishedEvents) {\n !publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : _prodInvariant('98', eventName, pluginName) : void 0;\n }\n }\n}\n/**\n * Publishes an event so that it can be dispatched by the supplied plugin.\n *\n * @param {object} dispatchConfig Dispatch configuration for the event.\n * @param {object} PluginModule Plugin publishing the event.\n * @return {boolean} True if the event was successfully published.\n * @private\n */\n\n\nfunction publishEventForPlugin(dispatchConfig, pluginModule, eventName) {\n !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : _prodInvariant('99', eventName) : void 0;\n EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig;\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n\n if (phasedRegistrationNames) {\n for (var phaseName in phasedRegistrationNames) {\n if (phasedRegistrationNames.hasOwnProperty(phaseName)) {\n var phasedRegistrationName = phasedRegistrationNames[phaseName];\n publishRegistrationName(phasedRegistrationName, pluginModule, eventName);\n }\n }\n\n return true;\n } else if (dispatchConfig.registrationName) {\n publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName);\n return true;\n }\n\n return false;\n}\n/**\n * Publishes a registration name that is used to identify dispatched events and\n * can be used with `EventPluginHub.putListener` to register listeners.\n *\n * @param {string} registrationName Registration name to add.\n * @param {object} PluginModule Plugin publishing the event.\n * @private\n */\n\n\nfunction publishRegistrationName(registrationName, pluginModule, eventName) {\n !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : _prodInvariant('100', registrationName) : void 0;\n EventPluginRegistry.registrationNameModules[registrationName] = pluginModule;\n EventPluginRegistry.registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies;\n\n if (process.env.NODE_ENV !== 'production') {\n var lowerCasedName = registrationName.toLowerCase();\n EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName;\n\n if (registrationName === 'onDoubleClick') {\n EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName;\n }\n }\n}\n/**\n * Registers plugins so that they can extract and dispatch events.\n *\n * @see {EventPluginHub}\n */\n\n\nvar EventPluginRegistry = {\n /**\n * Ordered list of injected plugins.\n */\n plugins: [],\n\n /**\n * Mapping from event name to dispatch config\n */\n eventNameDispatchConfigs: {},\n\n /**\n * Mapping from registration name to plugin module\n */\n registrationNameModules: {},\n\n /**\n * Mapping from registration name to event name\n */\n registrationNameDependencies: {},\n\n /**\n * Mapping from lowercase registration names to the properly cased version,\n * used to warn in the case of missing event handlers. Available\n * only in __DEV__.\n * @type {Object}\n */\n possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null,\n // Trust the developer to only use possibleRegistrationNames in __DEV__\n\n /**\n * Injects an ordering of plugins (by plugin name). This allows the ordering\n * to be decoupled from injection of the actual plugins so that ordering is\n * always deterministic regardless of packaging, on-the-fly injection, etc.\n *\n * @param {array} InjectedEventPluginOrder\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginOrder}\n */\n injectEventPluginOrder: function injectEventPluginOrder(injectedEventPluginOrder) {\n !!eventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0; // Clone the ordering so it cannot be dynamically mutated.\n\n eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder);\n recomputePluginOrdering();\n },\n\n /**\n * Injects plugins to be used by `EventPluginHub`. The plugin names must be\n * in the ordering injected by `injectEventPluginOrder`.\n *\n * Plugins can be injected as part of page initialization or on-the-fly.\n *\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginsByName}\n */\n injectEventPluginsByName: function injectEventPluginsByName(injectedNamesToPlugins) {\n var isOrderingDirty = false;\n\n for (var pluginName in injectedNamesToPlugins) {\n if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {\n continue;\n }\n\n var pluginModule = injectedNamesToPlugins[pluginName];\n\n if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) {\n !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : _prodInvariant('102', pluginName) : void 0;\n namesToPlugins[pluginName] = pluginModule;\n isOrderingDirty = true;\n }\n }\n\n if (isOrderingDirty) {\n recomputePluginOrdering();\n }\n },\n\n /**\n * Looks up the plugin for the supplied event.\n *\n * @param {object} event A synthetic event.\n * @return {?object} The plugin that created the supplied event.\n * @internal\n */\n getPluginModuleForEvent: function getPluginModuleForEvent(event) {\n var dispatchConfig = event.dispatchConfig;\n\n if (dispatchConfig.registrationName) {\n return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null;\n }\n\n if (dispatchConfig.phasedRegistrationNames !== undefined) {\n // pulling phasedRegistrationNames out of dispatchConfig helps Flow see\n // that it is not undefined.\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n\n for (var phase in phasedRegistrationNames) {\n if (!phasedRegistrationNames.hasOwnProperty(phase)) {\n continue;\n }\n\n var pluginModule = EventPluginRegistry.registrationNameModules[phasedRegistrationNames[phase]];\n\n if (pluginModule) {\n return pluginModule;\n }\n }\n }\n\n return null;\n },\n\n /**\n * Exposed for unit testing.\n * @private\n */\n _resetEventPlugins: function _resetEventPlugins() {\n eventPluginOrder = null;\n\n for (var pluginName in namesToPlugins) {\n if (namesToPlugins.hasOwnProperty(pluginName)) {\n delete namesToPlugins[pluginName];\n }\n }\n\n EventPluginRegistry.plugins.length = 0;\n var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs;\n\n for (var eventName in eventNameDispatchConfigs) {\n if (eventNameDispatchConfigs.hasOwnProperty(eventName)) {\n delete eventNameDispatchConfigs[eventName];\n }\n }\n\n var registrationNameModules = EventPluginRegistry.registrationNameModules;\n\n for (var registrationName in registrationNameModules) {\n if (registrationNameModules.hasOwnProperty(registrationName)) {\n delete registrationNameModules[registrationName];\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames;\n\n for (var lowerCasedName in possibleRegistrationNames) {\n if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) {\n delete possibleRegistrationNames[lowerCasedName];\n }\n }\n }\n }\n};\nmodule.exports = EventPluginRegistry;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar ReactErrorUtils = require('./ReactErrorUtils');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar warning = require('fbjs/lib/warning');\n/**\n * Injected dependencies:\n */\n\n/**\n * - `ComponentTree`: [required] Module that can convert between React instances\n * and actual node references.\n */\n\n\nvar ComponentTree;\nvar TreeTraversal;\nvar injection = {\n injectComponentTree: function injectComponentTree(Injected) {\n ComponentTree = Injected;\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0;\n }\n },\n injectTreeTraversal: function injectTreeTraversal(Injected) {\n TreeTraversal = Injected;\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0;\n }\n }\n};\n\nfunction isEndish(topLevelType) {\n return topLevelType === 'topMouseUp' || topLevelType === 'topTouchEnd' || topLevelType === 'topTouchCancel';\n}\n\nfunction isMoveish(topLevelType) {\n return topLevelType === 'topMouseMove' || topLevelType === 'topTouchMove';\n}\n\nfunction isStartish(topLevelType) {\n return topLevelType === 'topMouseDown' || topLevelType === 'topTouchStart';\n}\n\nvar validateEventDispatches;\n\nif (process.env.NODE_ENV !== 'production') {\n validateEventDispatches = function validateEventDispatches(event) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n var listenersIsArr = Array.isArray(dispatchListeners);\n var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;\n var instancesIsArr = Array.isArray(dispatchInstances);\n var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;\n process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0;\n };\n}\n/**\n * Dispatch the event to the listener.\n * @param {SyntheticEvent} event SyntheticEvent to handle\n * @param {boolean} simulated If the event is simulated (changes exn behavior)\n * @param {function} listener Application-level callback\n * @param {*} inst Internal component instance\n */\n\n\nfunction executeDispatch(event, simulated, listener, inst) {\n var type = event.type || 'unknown-event';\n event.currentTarget = EventPluginUtils.getNodeFromInstance(inst);\n\n if (simulated) {\n ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event);\n } else {\n ReactErrorUtils.invokeGuardedCallback(type, listener, event);\n }\n\n event.currentTarget = null;\n}\n/**\n * Standard/simple iteration through an event's collected dispatches.\n */\n\n\nfunction executeDispatchesInOrder(event, simulated) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n\n if (Array.isArray(dispatchListeners)) {\n for (var i = 0; i < dispatchListeners.length; i++) {\n if (event.isPropagationStopped()) {\n break;\n } // Listeners and Instances are two parallel arrays that are always in sync.\n\n\n executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]);\n }\n } else if (dispatchListeners) {\n executeDispatch(event, simulated, dispatchListeners, dispatchInstances);\n }\n\n event._dispatchListeners = null;\n event._dispatchInstances = null;\n}\n/**\n * Standard/simple iteration through an event's collected dispatches, but stops\n * at the first dispatch execution returning true, and returns that id.\n *\n * @return {?string} id of the first dispatch execution who's listener returns\n * true, or null if no listener returned true.\n */\n\n\nfunction executeDispatchesInOrderStopAtTrueImpl(event) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n\n if (Array.isArray(dispatchListeners)) {\n for (var i = 0; i < dispatchListeners.length; i++) {\n if (event.isPropagationStopped()) {\n break;\n } // Listeners and Instances are two parallel arrays that are always in sync.\n\n\n if (dispatchListeners[i](event, dispatchInstances[i])) {\n return dispatchInstances[i];\n }\n }\n } else if (dispatchListeners) {\n if (dispatchListeners(event, dispatchInstances)) {\n return dispatchInstances;\n }\n }\n\n return null;\n}\n/**\n * @see executeDispatchesInOrderStopAtTrueImpl\n */\n\n\nfunction executeDispatchesInOrderStopAtTrue(event) {\n var ret = executeDispatchesInOrderStopAtTrueImpl(event);\n event._dispatchInstances = null;\n event._dispatchListeners = null;\n return ret;\n}\n/**\n * Execution of a \"direct\" dispatch - there must be at most one dispatch\n * accumulated on the event or it is considered an error. It doesn't really make\n * sense for an event with multiple dispatches (bubbled) to keep track of the\n * return values at each dispatch execution, but it does tend to make sense when\n * dealing with \"direct\" dispatches.\n *\n * @return {*} The return value of executing the single dispatch.\n */\n\n\nfunction executeDirectDispatch(event) {\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n\n var dispatchListener = event._dispatchListeners;\n var dispatchInstance = event._dispatchInstances;\n !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : _prodInvariant('103') : void 0;\n event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null;\n var res = dispatchListener ? dispatchListener(event) : null;\n event.currentTarget = null;\n event._dispatchListeners = null;\n event._dispatchInstances = null;\n return res;\n}\n/**\n * @param {SyntheticEvent} event\n * @return {boolean} True iff number of dispatches accumulated is greater than 0.\n */\n\n\nfunction hasDispatches(event) {\n return !!event._dispatchListeners;\n}\n/**\n * General utilities that are useful in creating custom Event Plugins.\n */\n\n\nvar EventPluginUtils = {\n isEndish: isEndish,\n isMoveish: isMoveish,\n isStartish: isStartish,\n executeDirectDispatch: executeDirectDispatch,\n executeDispatchesInOrder: executeDispatchesInOrder,\n executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue,\n hasDispatches: hasDispatches,\n getInstanceFromNode: function getInstanceFromNode(node) {\n return ComponentTree.getInstanceFromNode(node);\n },\n getNodeFromInstance: function getNodeFromInstance(node) {\n return ComponentTree.getNodeFromInstance(node);\n },\n isAncestor: function isAncestor(a, b) {\n return TreeTraversal.isAncestor(a, b);\n },\n getLowestCommonAncestor: function getLowestCommonAncestor(a, b) {\n return TreeTraversal.getLowestCommonAncestor(a, b);\n },\n getParentInstance: function getParentInstance(inst) {\n return TreeTraversal.getParentInstance(inst);\n },\n traverseTwoPhase: function traverseTwoPhase(target, fn, arg) {\n return TreeTraversal.traverseTwoPhase(target, fn, arg);\n },\n traverseEnterLeave: function traverseEnterLeave(from, to, fn, argFrom, argTo) {\n return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo);\n },\n injection: injection\n};\nmodule.exports = EventPluginUtils;","/**\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 caughtError = null;\n/**\n * Call a function while guarding against errors that happens within it.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} a First argument\n * @param {*} b Second argument\n */\n\nfunction invokeGuardedCallback(name, func, a) {\n try {\n func(a);\n } catch (x) {\n if (caughtError === null) {\n caughtError = x;\n }\n }\n}\n\nvar ReactErrorUtils = {\n invokeGuardedCallback: invokeGuardedCallback,\n\n /**\n * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event\n * handler are sure to be rethrown by rethrowCaughtError.\n */\n invokeGuardedCallbackWithCatch: invokeGuardedCallback,\n\n /**\n * During execution of guarded functions we will capture the first error which\n * we will rethrow to be handled by the top level error handler.\n */\n rethrowCaughtError: function rethrowCaughtError() {\n if (caughtError) {\n var error = caughtError;\n caughtError = null;\n throw error;\n }\n }\n};\n\nif (process.env.NODE_ENV !== 'production') {\n /**\n * To help development we can get better devtools integration by simulating a\n * real browser event.\n */\n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {\n var fakeNode = document.createElement('react');\n\n ReactErrorUtils.invokeGuardedCallback = function (name, func, a) {\n var boundFunc = function boundFunc() {\n func(a);\n };\n\n var evtType = 'react-' + name;\n fakeNode.addEventListener(evtType, boundFunc, false);\n var evt = document.createEvent('Event');\n evt.initEvent(evtType, false, false);\n fakeNode.dispatchEvent(evt);\n fakeNode.removeEventListener(evtType, boundFunc, false);\n };\n }\n}\n\nmodule.exports = ReactErrorUtils;","/**\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/**\n * Gets the target node from a native browser event by accounting for\n * inconsistencies in browser DOM APIs.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {DOMEventTarget} Target node.\n */\n\nfunction getEventTarget(nativeEvent) {\n var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG element events #4963\n\n if (target.correspondingUseElement) {\n target = target.correspondingUseElement;\n } // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n // @see http://www.quirksmode.org/js/events_properties.html\n\n\n return target.nodeType === 3 ? target.parentNode : target;\n}\n\nmodule.exports = getEventTarget;","/**\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 ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar useHasFeature;\n\nif (ExecutionEnvironment.canUseDOM) {\n useHasFeature = document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true;\n}\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\n\n\nfunction isEventSupported(eventNameSuffix, capture) {\n if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = (eventName in document);\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nmodule.exports = isEventSupported;","/**\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/**\n * Translation from modifier key to the associated property in the event.\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n */\n\nvar modifierKeyToProp = {\n Alt: 'altKey',\n Control: 'ctrlKey',\n Meta: 'metaKey',\n Shift: 'shiftKey'\n}; // IE8 does not implement getModifierState so we simply map it to the only\n// modifier keys exposed by the event itself, does not support Lock-keys.\n// Currently, all major browsers except Chrome seems to support Lock-keys.\n\nfunction modifierStateGetter(keyArg) {\n var syntheticEvent = this;\n var nativeEvent = syntheticEvent.nativeEvent;\n\n if (nativeEvent.getModifierState) {\n return nativeEvent.getModifierState(keyArg);\n }\n\n var keyProp = modifierKeyToProp[keyArg];\n return keyProp ? !!nativeEvent[keyProp] : false;\n}\n\nfunction getEventModifierState(nativeEvent) {\n return modifierStateGetter;\n}\n\nmodule.exports = getEventModifierState;","/**\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 DOMLazyTree = require('./DOMLazyTree');\n\nvar Danger = require('./Danger');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\n\nvar setInnerHTML = require('./setInnerHTML');\n\nvar setTextContent = require('./setTextContent');\n\nfunction getNodeAfter(parentNode, node) {\n // Special case for text components, which return [open, close] comments\n // from getHostNode.\n if (Array.isArray(node)) {\n node = node[1];\n }\n\n return node ? node.nextSibling : parentNode.firstChild;\n}\n/**\n * Inserts `childNode` as a child of `parentNode` at the `index`.\n *\n * @param {DOMElement} parentNode Parent node in which to insert.\n * @param {DOMElement} childNode Child node to insert.\n * @param {number} index Index at which to insert the child.\n * @internal\n */\n\n\nvar insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) {\n // We rely exclusively on `insertBefore(node, null)` instead of also using\n // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so\n // we are careful to use `null`.)\n parentNode.insertBefore(childNode, referenceNode);\n});\n\nfunction insertLazyTreeChildAt(parentNode, childTree, referenceNode) {\n DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode);\n}\n\nfunction moveChild(parentNode, childNode, referenceNode) {\n if (Array.isArray(childNode)) {\n moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode);\n } else {\n insertChildAt(parentNode, childNode, referenceNode);\n }\n}\n\nfunction removeChild(parentNode, childNode) {\n if (Array.isArray(childNode)) {\n var closingComment = childNode[1];\n childNode = childNode[0];\n removeDelimitedText(parentNode, childNode, closingComment);\n parentNode.removeChild(closingComment);\n }\n\n parentNode.removeChild(childNode);\n}\n\nfunction moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) {\n var node = openingComment;\n\n while (true) {\n var nextNode = node.nextSibling;\n insertChildAt(parentNode, node, referenceNode);\n\n if (node === closingComment) {\n break;\n }\n\n node = nextNode;\n }\n}\n\nfunction removeDelimitedText(parentNode, startNode, closingComment) {\n while (true) {\n var node = startNode.nextSibling;\n\n if (node === closingComment) {\n // The closing comment is removed by ReactMultiChild.\n break;\n } else {\n parentNode.removeChild(node);\n }\n }\n}\n\nfunction replaceDelimitedText(openingComment, closingComment, stringText) {\n var parentNode = openingComment.parentNode;\n var nodeAfterComment = openingComment.nextSibling;\n\n if (nodeAfterComment === closingComment) {\n // There are no text nodes between the opening and closing comments; insert\n // a new one if stringText isn't empty.\n if (stringText) {\n insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment);\n }\n } else {\n if (stringText) {\n // Set the text content of the first node after the opening comment, and\n // remove all following nodes up until the closing comment.\n setTextContent(nodeAfterComment, stringText);\n removeDelimitedText(parentNode, nodeAfterComment, closingComment);\n } else {\n removeDelimitedText(parentNode, openingComment, closingComment);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID,\n type: 'replace text',\n payload: stringText\n });\n }\n}\n\nvar dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup;\n\nif (process.env.NODE_ENV !== 'production') {\n dangerouslyReplaceNodeWithMarkup = function dangerouslyReplaceNodeWithMarkup(oldChild, markup, prevInstance) {\n Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup);\n\n if (prevInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: prevInstance._debugID,\n type: 'replace with',\n payload: markup.toString()\n });\n } else {\n var nextInstance = ReactDOMComponentTree.getInstanceFromNode(markup.node);\n\n if (nextInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: nextInstance._debugID,\n type: 'mount',\n payload: markup.toString()\n });\n }\n }\n };\n}\n/**\n * Operations for updating with DOM children.\n */\n\n\nvar DOMChildrenOperations = {\n dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,\n replaceDelimitedText: replaceDelimitedText,\n\n /**\n * Updates a component's children by processing a series of updates. The\n * update configurations are each expected to have a `parentNode` property.\n *\n * @param {array} updates List of update configurations.\n * @internal\n */\n processUpdates: function processUpdates(parentNode, updates) {\n if (process.env.NODE_ENV !== 'production') {\n var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID;\n }\n\n for (var k = 0; k < updates.length; k++) {\n var update = updates[k];\n\n switch (update.type) {\n case 'INSERT_MARKUP':\n insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode));\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'insert child',\n payload: {\n toIndex: update.toIndex,\n content: update.content.toString()\n }\n });\n }\n\n break;\n\n case 'MOVE_EXISTING':\n moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode));\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'move child',\n payload: {\n fromIndex: update.fromIndex,\n toIndex: update.toIndex\n }\n });\n }\n\n break;\n\n case 'SET_MARKUP':\n setInnerHTML(parentNode, update.content);\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'replace children',\n payload: update.content.toString()\n });\n }\n\n break;\n\n case 'TEXT_CONTENT':\n setTextContent(parentNode, update.content);\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'replace text',\n payload: update.content.toString()\n });\n }\n\n break;\n\n case 'REMOVE_NODE':\n removeChild(parentNode, update.fromNode);\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'remove child',\n payload: {\n fromIndex: update.fromIndex\n }\n });\n }\n\n break;\n }\n }\n }\n};\nmodule.exports = DOMChildrenOperations;","/**\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 DOMNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg'\n};\nmodule.exports = DOMNamespaces;","/**\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/* globals MSApp */\n'use strict';\n/**\n * Create a function which has 'unsafe' privileges (required by windows8 apps)\n */\n\nvar createMicrosoftUnsafeLocalFunction = function createMicrosoftUnsafeLocalFunction(func) {\n if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n return function (arg0, arg1, arg2, arg3) {\n MSApp.execUnsafeLocalFunction(function () {\n return func(arg0, arg1, arg2, arg3);\n });\n };\n } else {\n return func;\n }\n};\n\nmodule.exports = createMicrosoftUnsafeLocalFunction;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar ReactPropTypesSecret = require('./ReactPropTypesSecret');\n\nvar propTypesFactory = require('prop-types/factory');\n\nvar React = require('react/lib/React');\n\nvar PropTypes = propTypesFactory(React.isValidElement);\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar warning = require('fbjs/lib/warning');\n\nvar hasReadOnlyValue = {\n button: true,\n checkbox: true,\n image: true,\n hidden: true,\n radio: true,\n reset: true,\n submit: true\n};\n\nfunction _assertSingleLink(inputProps) {\n !(inputProps.checkedLink == null || inputProps.valueLink == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a checkedLink and a valueLink. If you want to use checkedLink, you probably don\\'t want to use valueLink and vice versa.') : _prodInvariant('87') : void 0;\n}\n\nfunction _assertValueLink(inputProps) {\n _assertSingleLink(inputProps);\n\n !(inputProps.value == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a valueLink and a value or onChange event. If you want to use value or onChange, you probably don\\'t want to use valueLink.') : _prodInvariant('88') : void 0;\n}\n\nfunction _assertCheckedLink(inputProps) {\n _assertSingleLink(inputProps);\n\n !(inputProps.checked == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a checkedLink and a checked property or onChange event. If you want to use checked or onChange, you probably don\\'t want to use checkedLink') : _prodInvariant('89') : void 0;\n}\n\nvar propTypes = {\n value: function value(props, propName, componentName) {\n if (!props[propName] || hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled) {\n return null;\n }\n\n return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n },\n checked: function checked(props, propName, componentName) {\n if (!props[propName] || props.onChange || props.readOnly || props.disabled) {\n return null;\n }\n\n return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n },\n onChange: PropTypes.func\n};\nvar loggedTypeFailures = {};\n\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n/**\n * Provide a linked `value` attribute for controlled forms. You should not use\n * this outside of the ReactDOM controlled form components.\n */\n\n\nvar LinkedValueUtils = {\n checkPropTypes: function checkPropTypes(tagName, props, owner) {\n for (var propName in propTypes) {\n if (propTypes.hasOwnProperty(propName)) {\n var error = propTypes[propName](props, propName, tagName, 'prop', null, ReactPropTypesSecret);\n }\n\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n var addendum = getDeclarationErrorAddendum(owner);\n process.env.NODE_ENV !== 'production' ? warning(false, 'Failed form propType: %s%s', error.message, addendum) : void 0;\n }\n }\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @return {*} current value of the input either from value prop or link.\n */\n getValue: function getValue(inputProps) {\n if (inputProps.valueLink) {\n _assertValueLink(inputProps);\n\n return inputProps.valueLink.value;\n }\n\n return inputProps.value;\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @return {*} current checked status of the input either from checked prop\n * or link.\n */\n getChecked: function getChecked(inputProps) {\n if (inputProps.checkedLink) {\n _assertCheckedLink(inputProps);\n\n return inputProps.checkedLink.value;\n }\n\n return inputProps.checked;\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @param {SyntheticEvent} event change event to handle\n */\n executeOnChange: function executeOnChange(inputProps, event) {\n if (inputProps.valueLink) {\n _assertValueLink(inputProps);\n\n return inputProps.valueLink.requestChange(event.target.value);\n } else if (inputProps.checkedLink) {\n _assertCheckedLink(inputProps);\n\n return inputProps.checkedLink.requestChange(event.target.checked);\n } else if (inputProps.onChange) {\n return inputProps.onChange.call(undefined, event);\n }\n }\n};\nmodule.exports = LinkedValueUtils;","/**\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 */\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar injected = false;\nvar ReactComponentEnvironment = {\n /**\n * Optionally injectable hook for swapping out mount images in the middle of\n * the tree.\n */\n replaceNodeWithMarkup: null,\n\n /**\n * Optionally injectable hook for processing a queue of child updates. Will\n * later move into MultiChildComponents.\n */\n processChildrenUpdates: null,\n injection: {\n injectEnvironment: function injectEnvironment(environment) {\n !!injected ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : _prodInvariant('104') : void 0;\n ReactComponentEnvironment.replaceNodeWithMarkup = environment.replaceNodeWithMarkup;\n ReactComponentEnvironment.processChildrenUpdates = environment.processChildrenUpdates;\n injected = true;\n }\n }\n};\nmodule.exports = ReactComponentEnvironment;","/**\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 * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n'use strict';\n\nfunction _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\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\n\n\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (_typeof(objA) !== 'object' || objA === null || _typeof(objB) !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n } // Test for A's keys different from B.\n\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;","/**\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/**\n * Given a `prevElement` and `nextElement`, determines if the existing\n * instance should be updated as opposed to being destroyed or replaced by a new\n * instance. Both arguments are elements. This ensures that this logic can\n * operate on stateless trees without any backing instance.\n *\n * @param {?object} prevElement\n * @param {?object} nextElement\n * @return {boolean} True if the existing instance should be updated.\n * @protected\n */\n\nfunction _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 shouldUpdateReactComponent(prevElement, nextElement) {\n var prevEmpty = prevElement === null || prevElement === false;\n var nextEmpty = nextElement === null || nextElement === false;\n\n if (prevEmpty || nextEmpty) {\n return prevEmpty === nextEmpty;\n }\n\n var prevType = _typeof(prevElement);\n\n var nextType = _typeof(nextElement);\n\n if (prevType === 'string' || prevType === 'number') {\n return nextType === 'string' || nextType === 'number';\n } else {\n return nextType === 'object' && prevElement.type === nextElement.type && prevElement.key === nextElement.key;\n }\n}\n\nmodule.exports = shouldUpdateReactComponent;","/**\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/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = ('' + key).replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * Unescape and unwrap key for human-readable display\n *\n * @param {string} key to unescape.\n * @return {string} the unescaped key.\n */\n\n\nfunction unescape(key) {\n var unescapeRegex = /(=0|=2)/g;\n var unescaperLookup = {\n '=0': '=',\n '=2': ':'\n };\n var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1);\n return ('' + keySubstring).replace(unescapeRegex, function (match) {\n return unescaperLookup[match];\n });\n}\n\nvar KeyEscapeUtils = {\n escape: escape,\n unescape: unescape\n};\nmodule.exports = KeyEscapeUtils;","/**\n * Copyright (c) 2015-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\nfunction _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\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\n\nvar ReactInstanceMap = require('./ReactInstanceMap');\n\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar ReactUpdates = require('./ReactUpdates');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar warning = require('fbjs/lib/warning');\n\nfunction enqueueUpdate(internalInstance) {\n ReactUpdates.enqueueUpdate(internalInstance);\n}\n\nfunction formatUnexpectedArgument(arg) {\n var type = _typeof(arg);\n\n if (type !== 'object') {\n return type;\n }\n\n var displayName = arg.constructor && arg.constructor.name || type;\n var keys = Object.keys(arg);\n\n if (keys.length > 0 && keys.length < 20) {\n return displayName + ' (keys: ' + keys.join(', ') + ')';\n }\n\n return displayName;\n}\n\nfunction getInternalInstanceReadyForUpdate(publicInstance, callerName) {\n var internalInstance = ReactInstanceMap.get(publicInstance);\n\n if (!internalInstance) {\n if (process.env.NODE_ENV !== 'production') {\n var ctor = publicInstance.constructor; // Only warn when we have a callerName. Otherwise we should be silent.\n // We're probably calling from enqueueCallback. We don't want to warn\n // there because we already warned for the corresponding lifecycle method.\n\n process.env.NODE_ENV !== 'production' ? warning(!callerName, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, ctor && (ctor.displayName || ctor.name) || 'ReactClass') : void 0;\n }\n\n return null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + \"within `render` or another component's constructor). Render methods \" + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0;\n }\n\n return internalInstance;\n}\n/**\n * ReactUpdateQueue allows for state updates to be scheduled into a later\n * reconciliation step.\n */\n\n\nvar ReactUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function isMounted(publicInstance) {\n if (process.env.NODE_ENV !== 'production') {\n var owner = ReactCurrentOwner.current;\n\n if (owner !== null) {\n process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0;\n owner._warnedAboutRefsInRender = true;\n }\n }\n\n var internalInstance = ReactInstanceMap.get(publicInstance);\n\n if (internalInstance) {\n // During componentWillMount and render this will still be null but after\n // that will always render to something. At least for now. So we can use\n // this hack.\n return !!internalInstance._renderedComponent;\n } else {\n return false;\n }\n },\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @param {string} callerName Name of the calling function in the public API.\n * @internal\n */\n enqueueCallback: function enqueueCallback(publicInstance, callback, callerName) {\n ReactUpdateQueue.validateCallback(callback, callerName);\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance); // Previously we would throw an error if we didn't have an internal\n // instance. Since we want to make it a no-op instead, we mirror the same\n // behavior we have in other enqueue* methods.\n // We also need to ignore callbacks in componentWillMount. See\n // enqueueUpdates.\n\n if (!internalInstance) {\n return null;\n }\n\n if (internalInstance._pendingCallbacks) {\n internalInstance._pendingCallbacks.push(callback);\n } else {\n internalInstance._pendingCallbacks = [callback];\n } // TODO: The callback here is ignored when setState is called from\n // componentWillMount. Either fix it or disallow doing so completely in\n // favor of getInitialState. Alternatively, we can disallow\n // componentWillMount during server-side rendering.\n\n\n enqueueUpdate(internalInstance);\n },\n enqueueCallbackInternal: function enqueueCallbackInternal(internalInstance, callback) {\n if (internalInstance._pendingCallbacks) {\n internalInstance._pendingCallbacks.push(callback);\n } else {\n internalInstance._pendingCallbacks = [callback];\n }\n\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n enqueueForceUpdate: function enqueueForceUpdate(publicInstance) {\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'forceUpdate');\n\n if (!internalInstance) {\n return;\n }\n\n internalInstance._pendingForceUpdate = true;\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @internal\n */\n enqueueReplaceState: function enqueueReplaceState(publicInstance, completeState, callback) {\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'replaceState');\n\n if (!internalInstance) {\n return;\n }\n\n internalInstance._pendingStateQueue = [completeState];\n internalInstance._pendingReplaceState = true; // Future-proof 15.5\n\n if (callback !== undefined && callback !== null) {\n ReactUpdateQueue.validateCallback(callback, 'replaceState');\n\n if (internalInstance._pendingCallbacks) {\n internalInstance._pendingCallbacks.push(callback);\n } else {\n internalInstance._pendingCallbacks = [callback];\n }\n }\n\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @internal\n */\n enqueueSetState: function enqueueSetState(publicInstance, partialState) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onSetState();\n process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0;\n }\n\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'setState');\n\n if (!internalInstance) {\n return;\n }\n\n var queue = internalInstance._pendingStateQueue || (internalInstance._pendingStateQueue = []);\n queue.push(partialState);\n enqueueUpdate(internalInstance);\n },\n enqueueElementInternal: function enqueueElementInternal(internalInstance, nextElement, nextContext) {\n internalInstance._pendingElement = nextElement; // TODO: introduce _pendingContext instead of setting it directly.\n\n internalInstance._context = nextContext;\n enqueueUpdate(internalInstance);\n },\n validateCallback: function validateCallback(callback, callerName) {\n !(!callback || typeof callback === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.', callerName, formatUnexpectedArgument(callback)) : _prodInvariant('122', callerName, formatUnexpectedArgument(callback)) : void 0;\n }\n};\nmodule.exports = ReactUpdateQueue;","/**\n * Copyright (c) 2015-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 _assign = require('object-assign');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\nvar warning = require('fbjs/lib/warning');\n\nvar validateDOMNesting = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n // This validation code was written based on the HTML5 parsing spec:\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n //\n // Note: this does not catch all invalid nesting, nor does it try to (as it's\n // not clear what practical benefit doing so provides); instead, we warn only\n // for cases where the parser will give a parse tree differing from what React\n // intended. For example,
is invalid but we don't warn\n // because it still parses correctly; we do warn for other cases like nested\n //

tags where the beginning of the second element implicitly closes the\n // first, causing a confusing mess.\n // https://html.spec.whatwg.org/multipage/syntax.html#special\n var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n\n var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\n // TODO: Distinguish by namespace here -- for , including it here\n // errs on the side of fewer warnings\n 'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\n\n var buttonScopeTags = inScopeTags.concat(['button']); // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\n\n var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\n var emptyAncestorInfo = {\n current: null,\n formTag: null,\n aTagInScope: null,\n buttonTagInScope: null,\n nobrTagInScope: null,\n pTagInButtonScope: null,\n listItemTagAutoclosing: null,\n dlItemTagAutoclosing: null\n };\n\n var updatedAncestorInfo = function updatedAncestorInfo(oldInfo, tag, instance) {\n var ancestorInfo = _assign({}, oldInfo || emptyAncestorInfo);\n\n var info = {\n tag: tag,\n instance: instance\n };\n\n if (inScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.aTagInScope = null;\n ancestorInfo.buttonTagInScope = null;\n ancestorInfo.nobrTagInScope = null;\n }\n\n if (buttonScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.pTagInButtonScope = null;\n } // See rules for 'li', 'dd', 'dt' start tags in\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\n ancestorInfo.listItemTagAutoclosing = null;\n ancestorInfo.dlItemTagAutoclosing = null;\n }\n\n ancestorInfo.current = info;\n\n if (tag === 'form') {\n ancestorInfo.formTag = info;\n }\n\n if (tag === 'a') {\n ancestorInfo.aTagInScope = info;\n }\n\n if (tag === 'button') {\n ancestorInfo.buttonTagInScope = info;\n }\n\n if (tag === 'nobr') {\n ancestorInfo.nobrTagInScope = info;\n }\n\n if (tag === 'p') {\n ancestorInfo.pTagInButtonScope = info;\n }\n\n if (tag === 'li') {\n ancestorInfo.listItemTagAutoclosing = info;\n }\n\n if (tag === 'dd' || tag === 'dt') {\n ancestorInfo.dlItemTagAutoclosing = info;\n }\n\n return ancestorInfo;\n };\n /**\n * Returns whether\n */\n\n\n var isTagValidWithParent = function isTagValidWithParent(tag, parentTag) {\n // First, let's check if we're in an unusual parsing mode...\n switch (parentTag) {\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\n case 'select':\n return tag === 'option' || tag === 'optgroup' || tag === '#text';\n\n case 'optgroup':\n return tag === 'option' || tag === '#text';\n // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\n // but\n\n case 'option':\n return tag === '#text';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\n // No special behavior since these rules fall back to \"in body\" mode for\n // all except special table nodes which cause bad parsing behavior anyway.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\n\n case 'tr':\n return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\n\n case 'tbody':\n case 'thead':\n case 'tfoot':\n return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\n\n case 'colgroup':\n return tag === 'col' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\n\n case 'table':\n return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\n\n case 'head':\n return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\n\n case 'html':\n return tag === 'head' || tag === 'body';\n\n case '#document':\n return tag === 'html';\n } // Probably in the \"in body\" parsing mode, so we outlaw only tag combos\n // where the parsing rules cause implicit opens or closes to be added.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\n\n switch (tag) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\n\n case 'rp':\n case 'rt':\n return impliedEndTags.indexOf(parentTag) === -1;\n\n case 'body':\n case 'caption':\n case 'col':\n case 'colgroup':\n case 'frame':\n case 'head':\n case 'html':\n case 'tbody':\n case 'td':\n case 'tfoot':\n case 'th':\n case 'thead':\n case 'tr':\n // These tags are only valid with a few parents that have special child\n // parsing rules -- if we're down here, then none of those matched and\n // so we allow it only if we don't know what the parent is, as all other\n // cases are invalid.\n return parentTag == null;\n }\n\n return true;\n };\n /**\n * Returns whether\n */\n\n\n var findInvalidAncestorForTag = function findInvalidAncestorForTag(tag, ancestorInfo) {\n switch (tag) {\n case 'address':\n case 'article':\n case 'aside':\n case 'blockquote':\n case 'center':\n case 'details':\n case 'dialog':\n case 'dir':\n case 'div':\n case 'dl':\n case 'fieldset':\n case 'figcaption':\n case 'figure':\n case 'footer':\n case 'header':\n case 'hgroup':\n case 'main':\n case 'menu':\n case 'nav':\n case 'ol':\n case 'p':\n case 'section':\n case 'summary':\n case 'ul':\n case 'pre':\n case 'listing':\n case 'table':\n case 'hr':\n case 'xmp':\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return ancestorInfo.pTagInButtonScope;\n\n case 'form':\n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n\n case 'li':\n return ancestorInfo.listItemTagAutoclosing;\n\n case 'dd':\n case 'dt':\n return ancestorInfo.dlItemTagAutoclosing;\n\n case 'button':\n return ancestorInfo.buttonTagInScope;\n\n case 'a':\n // Spec says something about storing a list of markers, but it sounds\n // equivalent to this check.\n return ancestorInfo.aTagInScope;\n\n case 'nobr':\n return ancestorInfo.nobrTagInScope;\n }\n\n return null;\n };\n /**\n * Given a ReactCompositeComponent instance, return a list of its recursive\n * owners, starting at the root and ending with the instance itself.\n */\n\n\n var findOwnerStack = function findOwnerStack(instance) {\n if (!instance) {\n return [];\n }\n\n var stack = [];\n\n do {\n stack.push(instance);\n } while (instance = instance._currentElement._owner);\n\n stack.reverse();\n return stack;\n };\n\n var didWarn = {};\n\n validateDOMNesting = function validateDOMNesting(childTag, childText, childInstance, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n\n if (childText != null) {\n process.env.NODE_ENV !== 'production' ? warning(childTag == null, 'validateDOMNesting: when childText is passed, childTag should be null') : void 0;\n childTag = '#text';\n }\n\n var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\n var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\n var problematic = invalidParent || invalidAncestor;\n\n if (problematic) {\n var ancestorTag = problematic.tag;\n var ancestorInstance = problematic.instance;\n var childOwner = childInstance && childInstance._currentElement._owner;\n var ancestorOwner = ancestorInstance && ancestorInstance._currentElement._owner;\n var childOwners = findOwnerStack(childOwner);\n var ancestorOwners = findOwnerStack(ancestorOwner);\n var minStackLen = Math.min(childOwners.length, ancestorOwners.length);\n var i;\n var deepestCommon = -1;\n\n for (i = 0; i < minStackLen; i++) {\n if (childOwners[i] === ancestorOwners[i]) {\n deepestCommon = i;\n } else {\n break;\n }\n }\n\n var UNKNOWN = '(unknown)';\n var childOwnerNames = childOwners.slice(deepestCommon + 1).map(function (inst) {\n return inst.getName() || UNKNOWN;\n });\n var ancestorOwnerNames = ancestorOwners.slice(deepestCommon + 1).map(function (inst) {\n return inst.getName() || UNKNOWN;\n });\n var ownerInfo = [].concat( // If the parent and child instances have a common owner ancestor, start\n // with that -- otherwise we just start with the parent's owners.\n deepestCommon !== -1 ? childOwners[deepestCommon].getName() || UNKNOWN : [], ancestorOwnerNames, ancestorTag, // If we're warning about an invalid (non-parent) ancestry, add '...'\n invalidAncestor ? ['...'] : [], childOwnerNames, childTag).join(' > ');\n var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + ownerInfo;\n\n if (didWarn[warnKey]) {\n return;\n }\n\n didWarn[warnKey] = true;\n var tagDisplayName = childTag;\n var whitespaceInfo = '';\n\n if (childTag === '#text') {\n if (/\\S/.test(childText)) {\n tagDisplayName = 'Text nodes';\n } else {\n tagDisplayName = 'Whitespace text nodes';\n whitespaceInfo = \" Make sure you don't have any extra whitespace between tags on \" + 'each line of your source code.';\n }\n } else {\n tagDisplayName = '<' + childTag + '>';\n }\n\n if (invalidParent) {\n var info = '';\n\n if (ancestorTag === 'table' && childTag === 'tr') {\n info += ' Add a <tbody> to your code to match the DOM tree generated by ' + 'the browser.';\n }\n\n process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): %s cannot appear as a child of <%s>.%s ' + 'See %s.%s', tagDisplayName, ancestorTag, whitespaceInfo, ownerInfo, info) : void 0;\n } else {\n process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>. See %s.', tagDisplayName, ancestorTag, ownerInfo) : void 0;\n }\n }\n };\n\n validateDOMNesting.updatedAncestorInfo = updatedAncestorInfo; // For testing\n\n validateDOMNesting.isTagValidInContext = function (tag, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n return isTagValidWithParent(tag, parentTag) && !findInvalidAncestorForTag(tag, ancestorInfo);\n };\n}\n\nmodule.exports = validateDOMNesting;","/**\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/**\n * `charCode` represents the actual \"character code\" and is safe to use with\n * `String.fromCharCode`. As such, only keys that correspond to printable\n * characters produce a valid `charCode`, the only exception to this is Enter.\n * The Tab-key is considered non-printable and does not have a `charCode`,\n * presumably because it does not produce a tab-character in browsers.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {number} Normalized `charCode` property.\n */\n\nfunction getEventCharCode(nativeEvent) {\n var charCode;\n var keyCode = nativeEvent.keyCode;\n\n if ('charCode' in nativeEvent) {\n charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`.\n\n if (charCode === 0 && keyCode === 13) {\n charCode = 13;\n }\n } else {\n // IE8 does not implement `charCode`, but `keyCode` has the correct value.\n charCode = keyCode;\n } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\n // Must not discard the (non-)printable Enter-key.\n\n\n if (charCode >= 32 || charCode === 13) {\n return charCode;\n }\n\n return 0;\n}\n\nmodule.exports = getEventCharCode;","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","'use strict';\n\nexports.__esModule = true;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar runTransitionHook = function runTransitionHook(hook, location, callback) {\n var result = hook(location, callback);\n\n if (hook.length < 2) {\n // Assume the hook runs synchronously and automatically\n // call the callback with the return value.\n callback(result);\n } else {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(result === undefined, 'You should not \"return\" in a transition hook with a callback argument; ' + 'call the callback instead') : void 0;\n }\n};\n\nexports.default = runTransitionHook;","'use strict';\n\nexports.__esModule = true;\n\nvar _AsyncUtils = require('./AsyncUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nvar _runTransitionHook = require('./runTransitionHook');\n\nvar _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);\n\nvar _Actions = require('./Actions');\n\nvar _LocationUtils = require('./LocationUtils');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar createHistory = function createHistory() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var getCurrentLocation = options.getCurrentLocation,\n getUserConfirmation = options.getUserConfirmation,\n pushLocation = options.pushLocation,\n replaceLocation = options.replaceLocation,\n go = options.go,\n keyLength = options.keyLength;\n var currentLocation = void 0;\n var pendingLocation = void 0;\n var beforeListeners = [];\n var listeners = [];\n var allKeys = [];\n\n var getCurrentIndex = function getCurrentIndex() {\n if (pendingLocation && pendingLocation.action === _Actions.POP) return allKeys.indexOf(pendingLocation.key);\n if (currentLocation) return allKeys.indexOf(currentLocation.key);\n return -1;\n };\n\n var updateLocation = function updateLocation(nextLocation) {\n var currentIndex = getCurrentIndex();\n currentLocation = nextLocation;\n\n if (currentLocation.action === _Actions.PUSH) {\n allKeys = [].concat(allKeys.slice(0, currentIndex + 1), [currentLocation.key]);\n } else if (currentLocation.action === _Actions.REPLACE) {\n allKeys[currentIndex] = currentLocation.key;\n }\n\n listeners.forEach(function (listener) {\n return listener(currentLocation);\n });\n };\n\n var listenBefore = function listenBefore(listener) {\n beforeListeners.push(listener);\n return function () {\n return beforeListeners = beforeListeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var listen = function listen(listener) {\n listeners.push(listener);\n return function () {\n return listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var confirmTransitionTo = function confirmTransitionTo(location, callback) {\n (0, _AsyncUtils.loopAsync)(beforeListeners.length, function (index, next, done) {\n (0, _runTransitionHook2.default)(beforeListeners[index], location, function (result) {\n return result != null ? done(result) : next();\n });\n }, function (message) {\n if (getUserConfirmation && typeof message === 'string') {\n getUserConfirmation(message, function (ok) {\n return callback(ok !== false);\n });\n } else {\n callback(message !== false);\n }\n });\n };\n\n var transitionTo = function transitionTo(nextLocation) {\n if (currentLocation && (0, _LocationUtils.locationsAreEqual)(currentLocation, nextLocation) || pendingLocation && (0, _LocationUtils.locationsAreEqual)(pendingLocation, nextLocation)) return; // Nothing to do\n\n pendingLocation = nextLocation;\n confirmTransitionTo(nextLocation, function (ok) {\n if (pendingLocation !== nextLocation) return; // Transition was interrupted during confirmation\n\n pendingLocation = null;\n\n if (ok) {\n // Treat PUSH to same path like REPLACE to be consistent with browsers\n if (nextLocation.action === _Actions.PUSH) {\n var prevPath = (0, _PathUtils.createPath)(currentLocation);\n var nextPath = (0, _PathUtils.createPath)(nextLocation);\n if (nextPath === prevPath && (0, _LocationUtils.statesAreEqual)(currentLocation.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE;\n }\n\n if (nextLocation.action === _Actions.POP) {\n updateLocation(nextLocation);\n } else if (nextLocation.action === _Actions.PUSH) {\n if (pushLocation(nextLocation) !== false) updateLocation(nextLocation);\n } else if (nextLocation.action === _Actions.REPLACE) {\n if (replaceLocation(nextLocation) !== false) updateLocation(nextLocation);\n }\n } else if (currentLocation && nextLocation.action === _Actions.POP) {\n var prevIndex = allKeys.indexOf(currentLocation.key);\n var nextIndex = allKeys.indexOf(nextLocation.key);\n if (prevIndex !== -1 && nextIndex !== -1) go(prevIndex - nextIndex); // Restore the URL\n }\n });\n };\n\n var push = function push(input) {\n return transitionTo(createLocation(input, _Actions.PUSH));\n };\n\n var replace = function replace(input) {\n return transitionTo(createLocation(input, _Actions.REPLACE));\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength || 6);\n };\n\n var createHref = function createHref(location) {\n return (0, _PathUtils.createPath)(location);\n };\n\n var createLocation = function createLocation(location, action) {\n var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : createKey();\n return (0, _LocationUtils.createLocation)(location, action, key);\n };\n\n return {\n getCurrentLocation: getCurrentLocation,\n listenBefore: listenBefore,\n listen: listen,\n transitionTo: transitionTo,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n createKey: createKey,\n createPath: _PathUtils.createPath,\n createHref: createHref,\n createLocation: createLocation\n };\n};\n\nexports.default = createHistory;","'use strict';\n\nexports.__esModule = true;\nexports.go = exports.replaceLocation = exports.pushLocation = exports.startListener = exports.getUserConfirmation = exports.getCurrentLocation = undefined;\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _DOMUtils = require('./DOMUtils');\n\nvar _DOMStateStorage = require('./DOMStateStorage');\n\nvar _PathUtils = require('./PathUtils');\n\nvar _ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\nvar needsHashchangeListener = _ExecutionEnvironment.canUseDOM && !(0, _DOMUtils.supportsPopstateOnHashchange)();\n\nvar _createLocation = function _createLocation(historyState) {\n var key = historyState && historyState.key;\n return (0, _LocationUtils.createLocation)({\n pathname: window.location.pathname,\n search: window.location.search,\n hash: window.location.hash,\n state: key ? (0, _DOMStateStorage.readState)(key) : undefined\n }, undefined, key);\n};\n\nvar getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation() {\n var historyState = void 0;\n\n try {\n historyState = window.history.state || {};\n } catch (error) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n historyState = {};\n }\n\n return _createLocation(historyState);\n};\n\nvar getUserConfirmation = exports.getUserConfirmation = function getUserConfirmation(message, callback) {\n return callback(window.confirm(message));\n}; // eslint-disable-line no-alert\n\n\nvar startListener = exports.startListener = function startListener(listener) {\n var handlePopState = function handlePopState(event) {\n if ((0, _DOMUtils.isExtraneousPopstateEvent)(event)) // Ignore extraneous popstate events in WebKit\n return;\n listener(_createLocation(event.state));\n };\n\n (0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);\n\n var handleUnpoppedHashChange = function handleUnpoppedHashChange() {\n return listener(getCurrentLocation());\n };\n\n if (needsHashchangeListener) {\n (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleUnpoppedHashChange);\n }\n\n return function () {\n (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashchangeListener) {\n (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleUnpoppedHashChange);\n }\n };\n};\n\nvar updateLocation = function updateLocation(location, updateState) {\n var state = location.state,\n key = location.key;\n if (state !== undefined) (0, _DOMStateStorage.saveState)(key, state);\n updateState({\n key: key\n }, (0, _PathUtils.createPath)(location));\n};\n\nvar pushLocation = exports.pushLocation = function pushLocation(location) {\n return updateLocation(location, function (state, path) {\n return window.history.pushState(state, null, path);\n });\n};\n\nvar replaceLocation = exports.replaceLocation = function replaceLocation(location) {\n return updateLocation(location, function (state, path) {\n return window.history.replaceState(state, null, path);\n });\n};\n\nvar go = exports.go = function go(n) {\n if (n) window.history.go(n);\n};","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nvar _createHistory = require('./createHistory');\n\nvar _createHistory2 = _interopRequireDefault(_createHistory);\n\nvar _Actions = require('./Actions');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar createStateStorage = function createStateStorage(entries) {\n return entries.filter(function (entry) {\n return entry.state;\n }).reduce(function (memo, entry) {\n memo[entry.key] = entry.state;\n return memo;\n }, {});\n};\n\nvar createMemoryHistory = function createMemoryHistory() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (Array.isArray(options)) {\n options = {\n entries: options\n };\n } else if (typeof options === 'string') {\n options = {\n entries: [options]\n };\n }\n\n var getCurrentLocation = function getCurrentLocation() {\n var entry = entries[current];\n var path = (0, _PathUtils.createPath)(entry);\n var key = void 0,\n state = void 0;\n\n if (entry.key) {\n key = entry.key;\n state = readState(key);\n }\n\n var init = (0, _PathUtils.parsePath)(path);\n return (0, _LocationUtils.createLocation)(_extends({}, init, {\n state: state\n }), undefined, key);\n };\n\n var canGo = function canGo(n) {\n var index = current + n;\n return index >= 0 && index < entries.length;\n };\n\n var go = function go(n) {\n if (!n) return;\n\n if (!canGo(n)) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'Cannot go(%s) there is not enough history', n) : void 0;\n return;\n }\n\n current += n;\n var currentLocation = getCurrentLocation(); // Change action to POP\n\n history.transitionTo(_extends({}, currentLocation, {\n action: _Actions.POP\n }));\n };\n\n var pushLocation = function pushLocation(location) {\n current += 1;\n if (current < entries.length) entries.splice(current);\n entries.push(location);\n saveState(location.key, location.state);\n };\n\n var replaceLocation = function replaceLocation(location) {\n entries[current] = location;\n saveState(location.key, location.state);\n };\n\n var history = (0, _createHistory2.default)(_extends({}, options, {\n getCurrentLocation: getCurrentLocation,\n pushLocation: pushLocation,\n replaceLocation: replaceLocation,\n go: go\n }));\n var _options = options,\n entries = _options.entries,\n current = _options.current;\n\n if (typeof entries === 'string') {\n entries = [entries];\n } else if (!Array.isArray(entries)) {\n entries = ['/'];\n }\n\n entries = entries.map(function (entry) {\n return (0, _LocationUtils.createLocation)(entry);\n });\n\n if (current == null) {\n current = entries.length - 1;\n } else {\n !(current >= 0 && current < entries.length) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Current index must be >= 0 and < %s, was %s', entries.length, current) : (0, _invariant2.default)(false) : void 0;\n }\n\n var storage = createStateStorage(entries);\n\n var saveState = function saveState(key, state) {\n return storage[key] = state;\n };\n\n var readState = function readState(key) {\n return storage[key];\n };\n\n return _extends({}, history, {\n canGo: canGo\n });\n};\n\nexports.default = createMemoryHistory;","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar _BrowserProtocol = require('./BrowserProtocol');\n\nvar BrowserProtocol = _interopRequireWildcard(_BrowserProtocol);\n\nvar _RefreshProtocol = require('./RefreshProtocol');\n\nvar RefreshProtocol = _interopRequireWildcard(_RefreshProtocol);\n\nvar _DOMUtils = require('./DOMUtils');\n\nvar _createHistory = require('./createHistory');\n\nvar _createHistory2 = _interopRequireDefault(_createHistory);\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n}\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/**\n * Creates and returns a history object that uses HTML5's history API\n * (pushState, replaceState, and the popstate event) to manage history.\n * This is the recommended method of managing history in browsers because\n * it provides the cleanest URLs.\n *\n * Note: In browsers that do not support the HTML5 history API full\n * page reloads will be used to preserve clean URLs. You can force this\n * behavior using { forceRefresh: true } in options.\n */\n\n\nvar createBrowserHistory = function createBrowserHistory() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Browser history needs a DOM') : (0, _invariant2.default)(false) : void 0;\n var useRefresh = options.forceRefresh || !(0, _DOMUtils.supportsHistory)();\n var Protocol = useRefresh ? RefreshProtocol : BrowserProtocol;\n var getUserConfirmation = Protocol.getUserConfirmation,\n getCurrentLocation = Protocol.getCurrentLocation,\n pushLocation = Protocol.pushLocation,\n replaceLocation = Protocol.replaceLocation,\n go = Protocol.go;\n var history = (0, _createHistory2.default)(_extends({\n getUserConfirmation: getUserConfirmation\n }, options, {\n getCurrentLocation: getCurrentLocation,\n pushLocation: pushLocation,\n replaceLocation: replaceLocation,\n go: go\n }));\n var listenerCount = 0,\n stopListener = void 0;\n\n var startListener = function startListener(listener, before) {\n if (++listenerCount === 1) stopListener = BrowserProtocol.startListener(history.transitionTo);\n var unlisten = before ? history.listenBefore(listener) : history.listen(listener);\n return function () {\n unlisten();\n if (--listenerCount === 0) stopListener();\n };\n };\n\n var listenBefore = function listenBefore(listener) {\n return startListener(listener, true);\n };\n\n var listen = function listen(listener) {\n return startListener(listener, false);\n };\n\n return _extends({}, history, {\n listenBefore: listenBefore,\n listen: listen\n });\n};\n\nexports.default = createBrowserHistory;","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar _DOMUtils = require('./DOMUtils');\n\nvar _HashProtocol = require('./HashProtocol');\n\nvar HashProtocol = _interopRequireWildcard(_HashProtocol);\n\nvar _createHistory = require('./createHistory');\n\nvar _createHistory2 = _interopRequireDefault(_createHistory);\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n}\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar DefaultQueryKey = '_k';\n\nvar addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!' + path;\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substring(1) : path;\n }\n },\n noslash: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '/' ? path.substring(1) : path;\n },\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nvar createHashHistory = function createHashHistory() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Hash history needs a DOM') : (0, _invariant2.default)(false) : void 0;\n var queryKey = options.queryKey,\n hashType = options.hashType;\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(queryKey !== false, 'Using { queryKey: false } no longer works. Instead, just don\\'t ' + 'use location state if you don\\'t want a key in your URL query string') : void 0;\n if (typeof queryKey !== 'string') queryKey = DefaultQueryKey;\n if (hashType == null) hashType = 'slash';\n\n if (!(hashType in HashPathCoders)) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'Invalid hash type: %s', hashType) : void 0;\n hashType = 'slash';\n }\n\n var pathCoder = HashPathCoders[hashType];\n var getUserConfirmation = HashProtocol.getUserConfirmation;\n\n var getCurrentLocation = function getCurrentLocation() {\n return HashProtocol.getCurrentLocation(pathCoder, queryKey);\n };\n\n var pushLocation = function pushLocation(location) {\n return HashProtocol.pushLocation(location, pathCoder, queryKey);\n };\n\n var replaceLocation = function replaceLocation(location) {\n return HashProtocol.replaceLocation(location, pathCoder, queryKey);\n };\n\n var history = (0, _createHistory2.default)(_extends({\n getUserConfirmation: getUserConfirmation\n }, options, {\n getCurrentLocation: getCurrentLocation,\n pushLocation: pushLocation,\n replaceLocation: replaceLocation,\n go: HashProtocol.go\n }));\n var listenerCount = 0,\n stopListener = void 0;\n\n var startListener = function startListener(listener, before) {\n if (++listenerCount === 1) stopListener = HashProtocol.startListener(history.transitionTo, pathCoder, queryKey);\n var unlisten = before ? history.listenBefore(listener) : history.listen(listener);\n return function () {\n unlisten();\n if (--listenerCount === 0) stopListener();\n };\n };\n\n var listenBefore = function listenBefore(listener) {\n return startListener(listener, true);\n };\n\n var listen = function listen(listener) {\n return startListener(listener, false);\n };\n\n var goIsSupportedWithoutReload = (0, _DOMUtils.supportsGoWithoutReloadUsingHash)();\n\n var go = function go(n) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(goIsSupportedWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n history.go(n);\n };\n\n var createHref = function createHref(path) {\n return '#' + pathCoder.encodePath(history.createHref(path));\n };\n\n return _extends({}, history, {\n listenBefore: listenBefore,\n listen: listen,\n go: go,\n createHref: createHref\n });\n};\n\nexports.default = createHashHistory;","/* global window */\nimport ponyfill from './ponyfill.js';\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;","/**\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\nfunction _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\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');\n\nvar canDefineProperty = require('./canDefineProperty');\n\nvar emptyObject = require('fbjs/lib/emptyObject');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar lowPriorityWarning = require('./lowPriorityWarning');\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction ReactComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nReactComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nReactComponent.prototype.setState = function (partialState, callback) {\n !(_typeof(partialState) === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;\n this.updater.enqueueSetState(this, partialState);\n\n if (callback) {\n this.updater.enqueueCallback(this, callback, 'setState');\n }\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nReactComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this);\n\n if (callback) {\n this.updater.enqueueCallback(this, callback, 'forceUpdate');\n }\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\nif (process.env.NODE_ENV !== 'production') {\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function defineDeprecationWarning(methodName, info) {\n if (canDefineProperty) {\n Object.defineProperty(ReactComponent.prototype, methodName, {\n get: function get() {\n lowPriorityWarning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n return undefined;\n }\n });\n }\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction ReactPureComponent(props, context, updater) {\n // Duplicated from ReactComponent.\n this.props = props;\n this.context = context;\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = ReactComponent.prototype;\nReactPureComponent.prototype = new ComponentDummy();\nReactPureComponent.prototype.constructor = ReactPureComponent; // Avoid an extra prototype jump for these methods.\n\n_assign(ReactPureComponent.prototype, ReactComponent.prototype);\n\nReactPureComponent.prototype.isPureReactComponent = true;\nmodule.exports = {\n Component: ReactComponent,\n PureComponent: ReactPureComponent\n};","/**\n * Copyright (c) 2015-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 warning = require('fbjs/lib/warning');\n\nfunction warnNoop(publicInstance, callerName) {\n if (process.env.NODE_ENV !== 'production') {\n var constructor = publicInstance.constructor;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function isMounted(publicInstance) {\n return false;\n },\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @internal\n */\n enqueueCallback: function enqueueCallback(publicInstance, callback) {},\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n enqueueForceUpdate: function enqueueForceUpdate(publicInstance) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @internal\n */\n enqueueReplaceState: function enqueueReplaceState(publicInstance, completeState) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @internal\n */\n enqueueSetState: function enqueueSetState(publicInstance, partialState) {\n warnNoop(publicInstance, 'setState');\n }\n};\nmodule.exports = ReactNoopUpdateQueue;","/**\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 canDefineProperty = false;\n\nif (process.env.NODE_ENV !== 'production') {\n try {\n // $FlowFixMe https://github.com/facebook/flow/issues/285\n Object.defineProperty({}, 'x', {\n get: function get() {}\n });\n canDefineProperty = true;\n } catch (x) {// IE will fail on defineProperty\n }\n}\n\nmodule.exports = canDefineProperty;","/**\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 */\n'use strict'; // The Symbol used to tag the ReactElement type. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\n\nvar REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;\nmodule.exports = REACT_ELEMENT_TYPE;","/**\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'use strict'; // React 15.5 references this module, and assumes PropTypes are still callable in production.\n// Therefore we re-export development-only version with all the PropTypes checks here.\n// However if one is migrating to the `prop-types` npm library, they will go through the\n// `index.js` entry point, and it will branch depending on the environment.\n\nvar factory = require('./factoryWithTypeCheckers');\n\nmodule.exports = function (isValidElement) {\n // It is still allowed in 15.5.\n var throwOnDirectAccess = false;\n return factory(isValidElement, throwOnDirectAccess);\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'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\nmodule.exports = ReactPropTypesSecret;","/**\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\nfunction _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\nvar _assign = require('object-assign'); // -- Inlined from fbjs --\n\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction _invariant(condition, format, a, b, c, d, e, f) {\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 args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n\n throw error;\n }\n}\n\nvar warning = function warning() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = 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\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n} // /-- Inlined from fbjs --\n\n\nvar MIXINS_KEY = 'mixins'; // Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\n\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\n\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {\n ReactPropTypeLocationNames = {};\n}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n var injectedMixins = [];\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return <div>Hello World</div>;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return <div>Hello, {name}!</div>;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n\n var RESERVED_SPEC_KEYS = {\n displayName: function displayName(Constructor, _displayName) {\n Constructor.displayName = _displayName;\n },\n mixins: function mixins(Constructor, _mixins) {\n if (_mixins) {\n for (var i = 0; i < _mixins.length; i++) {\n mixSpecIntoComponent(Constructor, _mixins[i]);\n }\n }\n },\n childContextTypes: function childContextTypes(Constructor, _childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, _childContextTypes, 'childContext');\n }\n\n Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, _childContextTypes);\n },\n contextTypes: function contextTypes(Constructor, _contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, _contextTypes, 'context');\n }\n\n Constructor.contextTypes = _assign({}, Constructor.contextTypes, _contextTypes);\n },\n\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function getDefaultProps(Constructor, _getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, _getDefaultProps);\n } else {\n Constructor.getDefaultProps = _getDefaultProps;\n }\n },\n propTypes: function propTypes(Constructor, _propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, _propTypes, 'prop');\n }\n\n Constructor.propTypes = _assign({}, Constructor.propTypes, _propTypes);\n },\n statics: function statics(Constructor, _statics) {\n mixStaticSpecIntoComponent(Constructor, _statics);\n },\n autobind: function autobind() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName);\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null; // Disallow overriding of base class methods unless explicitly allowed.\n\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(specPolicy === 'OVERRIDE_BASE', 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name);\n } // Disallow defining methods more than once unless explicitly allowed.\n\n\n if (isAlreadyDefined) {\n _invariant(specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED', 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name);\n }\n }\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n\n\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = _typeof(spec);\n\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(isMixinValid, \"%s: You're attempting to include a mixin that is either null \" + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec);\n }\n }\n\n return;\n }\n\n _invariant(typeof spec !== 'function', \"ReactClass: You're attempting to \" + 'use a component class or function as a mixin. Instead, just use a ' + 'regular object.');\n\n _invariant(!isValidElement(spec), \"ReactClass: You're attempting to \" + 'use a component as a mixin. Instead, just use a regular object.');\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs; // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name]; // These cases should already be caught by validateMethodOverride.\n\n _invariant(isReactClassMethod && (specPolicy === 'DEFINE_MANY_MERGED' || specPolicy === 'DEFINE_MANY'), 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name); // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n\n\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = (name in RESERVED_SPEC_KEYS);\n\n _invariant(!isReserved, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name);\n\n var isAlreadyDefined = (name in Constructor);\n\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name) ? ReactClassStaticInterface[name] : null;\n\n _invariant(specPolicy === 'DEFINE_MANY_MERGED', 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name);\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n return;\n }\n\n Constructor[name] = property;\n }\n }\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n\n\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(one && two && _typeof(one) === 'object' && _typeof(two) === 'object', 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.');\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(one[key] === undefined, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key);\n\n one[key] = two[key];\n }\n }\n\n return one;\n }\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n\n\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n\n\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n\n\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n\n boundMethod.bind = function (newThis) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n } // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n\n\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName);\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName);\n }\n\n return boundMethod;\n }\n\n var reboundMethod = _bind.apply(boundMethod, arguments);\n\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n\n return boundMethod;\n }\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n\n\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function componentDidMount() {\n this.__isMounted = true;\n }\n };\n var IsMountedPostMixin = {\n componentWillUnmount: function componentWillUnmount() {\n this.__isMounted = false;\n }\n };\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function replaceState(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function isMounted() {\n if (process.env.NODE_ENV !== 'production') {\n warning(this.__didWarnIsMounted, '%s: isMounted is deprecated. Instead, make sure to clean up ' + 'subscriptions and pending requests in componentWillUnmount to ' + 'prevent memory leaks.', this.constructor && this.constructor.displayName || this.name || 'Component');\n this.__didWarnIsMounted = true;\n }\n\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function ReactClassComponent() {};\n\n _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin);\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n\n\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function (props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n if (process.env.NODE_ENV !== 'production') {\n warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory');\n } // Wire up auto-binding\n\n\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n this.state = null; // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (initialState === undefined && this.getInitialState._isMockFunction) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n\n _invariant(_typeof(initialState) === 'object' && !Array.isArray(initialState), '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent');\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin); // Initialize the defaultProps property after all mixins have been merged.\n\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(Constructor.prototype.render, 'createClass(...): Class specification must implement a `render` method.');\n\n if (process.env.NODE_ENV !== 'production') {\n warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component');\n warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component');\n warning(!Constructor.prototype.UNSAFE_componentWillRecieveProps, '%s has a method called UNSAFE_componentWillRecieveProps(). ' + 'Did you mean UNSAFE_componentWillReceiveProps()?', spec.displayName || 'A component');\n } // Reduce time spent doing lookups by setting these on the prototype.\n\n\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;","/**\n * Copyright (c) 2015-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 ReactDOMComponentFlags = {\n hasCachedChildNodes: 1 << 0\n};\nmodule.exports = ReactDOMComponentFlags;","/**\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 */\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n/**\n * Accumulates items that must not be null or undefined into the first one. This\n * is used to conserve memory by avoiding array allocations, and thus sacrifices\n * API cleanness. Since `current` can be null before being passed in and not\n * null after this function, make sure to assign it back to `current`:\n *\n * `a = accumulateInto(a, b);`\n *\n * This API should be sparingly used. Try `accumulate` for something cleaner.\n *\n * @return {*|array<*>} An accumulation of items.\n */\n\n\nfunction accumulateInto(current, next) {\n !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : _prodInvariant('30') : void 0;\n\n if (current == null) {\n return next;\n } // Both are not empty. Warning: Never call x.concat(y) when you are not\n // certain that x is an Array (x could be a string with concat method).\n\n\n if (Array.isArray(current)) {\n if (Array.isArray(next)) {\n current.push.apply(current, next);\n return current;\n }\n\n current.push(next);\n return current;\n }\n\n if (Array.isArray(next)) {\n // A bit too dangerous to mutate `next`.\n return [current].concat(next);\n }\n\n return [current, next];\n}\n\nmodule.exports = accumulateInto;","/**\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/**\n * @param {array} arr an \"accumulation\" of items which is either an Array or\n * a single item. Useful when paired with the `accumulate` module. This is a\n * simple utility that allows us to reason about a collection of items, but\n * handling the case when there is exactly one item (and we do not need to\n * allocate an array).\n */\n\nfunction forEachAccumulated(arr, cb, scope) {\n if (Array.isArray(arr)) {\n arr.forEach(cb, scope);\n } else if (arr) {\n cb.call(scope, arr);\n }\n}\n\nmodule.exports = forEachAccumulated;","/**\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 ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar contentKey = null;\n/**\n * Gets the key used to access text content on a DOM node.\n *\n * @return {?string} Key used to access text content.\n * @internal\n */\n\nfunction getTextContentAccessor() {\n if (!contentKey && ExecutionEnvironment.canUseDOM) {\n // Prefer textContent to innerText because many browsers support both but\n // SVG <text> elements don't support innerText even when <div> does.\n contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText';\n }\n\n return contentKey;\n}\n\nmodule.exports = getTextContentAccessor;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nvar PooledClass = require('./PooledClass');\n\nvar invariant = require('fbjs/lib/invariant');\n/**\n * A specialized pseudo-event module to help keep track of components waiting to\n * be notified when their DOM representations are available for use.\n *\n * This implements `PooledClass`, so you should never need to instantiate this.\n * Instead, use `CallbackQueue.getPooled()`.\n *\n * @class ReactMountReady\n * @implements PooledClass\n * @internal\n */\n\n\nvar CallbackQueue = function () {\n function CallbackQueue(arg) {\n _classCallCheck(this, CallbackQueue);\n\n this._callbacks = null;\n this._contexts = null;\n this._arg = arg;\n }\n /**\n * Enqueues a callback to be invoked when `notifyAll` is invoked.\n *\n * @param {function} callback Invoked when `notifyAll` is invoked.\n * @param {?object} context Context to call `callback` with.\n * @internal\n */\n\n\n CallbackQueue.prototype.enqueue = function enqueue(callback, context) {\n this._callbacks = this._callbacks || [];\n\n this._callbacks.push(callback);\n\n this._contexts = this._contexts || [];\n\n this._contexts.push(context);\n };\n /**\n * Invokes all enqueued callbacks and clears the queue. This is invoked after\n * the DOM representation of a component has been created or updated.\n *\n * @internal\n */\n\n\n CallbackQueue.prototype.notifyAll = function notifyAll() {\n var callbacks = this._callbacks;\n var contexts = this._contexts;\n var arg = this._arg;\n\n if (callbacks && contexts) {\n !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : _prodInvariant('24') : void 0;\n this._callbacks = null;\n this._contexts = null;\n\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i].call(contexts[i], arg);\n }\n\n callbacks.length = 0;\n contexts.length = 0;\n }\n };\n\n CallbackQueue.prototype.checkpoint = function checkpoint() {\n return this._callbacks ? this._callbacks.length : 0;\n };\n\n CallbackQueue.prototype.rollback = function rollback(len) {\n if (this._callbacks && this._contexts) {\n this._callbacks.length = len;\n this._contexts.length = len;\n }\n };\n /**\n * Resets the internal queue.\n *\n * @internal\n */\n\n\n CallbackQueue.prototype.reset = function reset() {\n this._callbacks = null;\n this._contexts = null;\n };\n /**\n * `PooledClass` looks for this.\n */\n\n\n CallbackQueue.prototype.destructor = function destructor() {\n this.reset();\n };\n\n return CallbackQueue;\n}();\n\nmodule.exports = PooledClass.addPoolingTo(CallbackQueue);","/**\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 ReactFeatureFlags = {\n // When true, call console.time() before and .timeEnd() after each top-level\n // render (both initial renders and updates). Useful when looking at prod-mode\n // timeline profiles in Chrome, for example.\n logTopLevelRenders: false\n};\nmodule.exports = ReactFeatureFlags;","/**\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 ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nfunction isCheckable(elem) {\n var type = elem.type;\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');\n}\n\nfunction getTracker(inst) {\n return inst._wrapperState.valueTracker;\n}\n\nfunction attachTracker(inst, tracker) {\n inst._wrapperState.valueTracker = tracker;\n}\n\nfunction detachTracker(inst) {\n inst._wrapperState.valueTracker = null;\n}\n\nfunction getValueFromNode(node) {\n var value;\n\n if (node) {\n value = isCheckable(node) ? '' + node.checked : node.value;\n }\n\n return value;\n}\n\nvar inputValueTracking = {\n // exposed for testing\n _getTrackerFromNode: function _getTrackerFromNode(node) {\n return getTracker(ReactDOMComponentTree.getInstanceFromNode(node));\n },\n track: function track(inst) {\n if (getTracker(inst)) {\n return;\n }\n\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n var valueField = isCheckable(node) ? 'checked' : 'value';\n var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);\n var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail\n // and don't track value will cause over reporting of changes,\n // but it's better then a hard failure\n // (needed for certain tests that spyOn input values and Safari)\n\n if (node.hasOwnProperty(valueField) || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {\n return;\n }\n\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable,\n configurable: true,\n get: function get() {\n return descriptor.get.call(this);\n },\n set: function set(value) {\n currentValue = '' + value;\n descriptor.set.call(this, value);\n }\n });\n attachTracker(inst, {\n getValue: function getValue() {\n return currentValue;\n },\n setValue: function setValue(value) {\n currentValue = '' + value;\n },\n stopTracking: function stopTracking() {\n detachTracker(inst);\n delete node[valueField];\n }\n });\n },\n updateValueIfChanged: function updateValueIfChanged(inst) {\n if (!inst) {\n return false;\n }\n\n var tracker = getTracker(inst);\n\n if (!tracker) {\n inputValueTracking.track(inst);\n return true;\n }\n\n var lastValue = tracker.getValue();\n var nextValue = getValueFromNode(ReactDOMComponentTree.getNodeFromInstance(inst));\n\n if (nextValue !== lastValue) {\n tracker.setValue(nextValue);\n return true;\n }\n\n return false;\n },\n stopTracking: function stopTracking(inst) {\n var tracker = getTracker(inst);\n\n if (tracker) {\n tracker.stopTracking();\n }\n }\n};\nmodule.exports = inputValueTracking;","/**\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/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\n\nvar supportedInputTypes = {\n color: true,\n date: true,\n datetime: true,\n 'datetime-local': true,\n email: true,\n month: true,\n number: true,\n password: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\n if (nodeName === 'input') {\n return !!supportedInputTypes[elem.type];\n }\n\n if (nodeName === 'textarea') {\n return true;\n }\n\n return false;\n}\n\nmodule.exports = isTextInputElement;","/**\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 ViewportMetrics = {\n currentScrollLeft: 0,\n currentScrollTop: 0,\n refreshScrollValues: function refreshScrollValues(scrollPosition) {\n ViewportMetrics.currentScrollLeft = scrollPosition.x;\n ViewportMetrics.currentScrollTop = scrollPosition.y;\n }\n};\nmodule.exports = ViewportMetrics;","/**\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 ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\n\nvar setInnerHTML = require('./setInnerHTML');\n/**\n * Set the textContent property of a node, ensuring that whitespace is preserved\n * even in IE8. innerText is a poor substitute for textContent and, among many\n * issues, inserts <br> instead of the literal newline chars. innerHTML behaves\n * as it should.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\n\n\nvar setTextContent = function setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n\n if (firstChild && firstChild === node.lastChild && firstChild.nodeType === 3) {\n firstChild.nodeValue = text;\n return;\n }\n }\n\n node.textContent = text;\n};\n\nif (ExecutionEnvironment.canUseDOM) {\n if (!('textContent' in document.documentElement)) {\n setTextContent = function setTextContent(node, text) {\n if (node.nodeType === 3) {\n node.nodeValue = text;\n return;\n }\n\n setInnerHTML(node, escapeTextContentForBrowser(text));\n };\n }\n}\n\nmodule.exports = setTextContent;","/**\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/**\n * @param {DOMElement} node input/textarea to focus\n */\n\nfunction focusNode(node) {\n // IE8 can throw \"Can't move focus to the control because it is invisible,\n // not enabled, or of a type that does not accept the focus.\" for all kinds of\n // reasons that are too expensive and fragile to test.\n try {\n node.focus();\n } catch (e) {}\n}\n\nmodule.exports = focusNode;","/**\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/**\n * CSS properties which accept numbers but are not in units of \"px\".\n */\n\nvar isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: 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 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};\n/**\n * @param {string} prefix vendor-specific prefix, eg: Webkit\n * @param {string} key style name, eg: transitionDuration\n * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\n * WebkitTransitionDuration\n */\n\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\n\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O']; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\n// infinite loop, because it iterates over the newly added props too.\n\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\n/**\n * Most style properties can be unset by doing .style[prop] = '' but IE8\n * doesn't like doing that with shorthand properties so for the properties that\n * IE8 breaks on, which are listed here, we instead unset each of the\n * individual properties. See http://bugs.jquery.com/ticket/12385.\n * The 4-value 'clock' properties like margin, padding, border-width seem to\n * behave without any problems. Curiously, list-style works too without any\n * special prodding.\n */\n\nvar shorthandPropertyExpansions = {\n background: {\n backgroundAttachment: true,\n backgroundColor: true,\n backgroundImage: true,\n backgroundPositionX: true,\n backgroundPositionY: true,\n backgroundRepeat: true\n },\n backgroundPosition: {\n backgroundPositionX: true,\n backgroundPositionY: true\n },\n border: {\n borderWidth: true,\n borderStyle: true,\n borderColor: true\n },\n borderBottom: {\n borderBottomWidth: true,\n borderBottomStyle: true,\n borderBottomColor: true\n },\n borderLeft: {\n borderLeftWidth: true,\n borderLeftStyle: true,\n borderLeftColor: true\n },\n borderRight: {\n borderRightWidth: true,\n borderRightStyle: true,\n borderRightColor: true\n },\n borderTop: {\n borderTopWidth: true,\n borderTopStyle: true,\n borderTopColor: true\n },\n font: {\n fontStyle: true,\n fontVariant: true,\n fontWeight: true,\n fontSize: true,\n lineHeight: true,\n fontFamily: true\n },\n outline: {\n outlineWidth: true,\n outlineStyle: true,\n outlineColor: true\n }\n};\nvar CSSProperty = {\n isUnitlessNumber: isUnitlessNumber,\n shorthandPropertyExpansions: shorthandPropertyExpansions\n};\nmodule.exports = CSSProperty;","/**\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 DOMProperty = require('./DOMProperty');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar quoteAttributeValueForBrowser = require('./quoteAttributeValueForBrowser');\n\nvar warning = require('fbjs/lib/warning');\n\nvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$');\nvar illegalAttributeNameCache = {};\nvar validatedAttributeNameCache = {};\n\nfunction isAttributeNameSafe(attributeName) {\n if (validatedAttributeNameCache.hasOwnProperty(attributeName)) {\n return true;\n }\n\n if (illegalAttributeNameCache.hasOwnProperty(attributeName)) {\n return false;\n }\n\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\n validatedAttributeNameCache[attributeName] = true;\n return true;\n }\n\n illegalAttributeNameCache[attributeName] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid attribute name: `%s`', attributeName) : void 0;\n return false;\n}\n\nfunction shouldIgnoreValue(propertyInfo, value) {\n return value == null || propertyInfo.hasBooleanValue && !value || propertyInfo.hasNumericValue && isNaN(value) || propertyInfo.hasPositiveNumericValue && value < 1 || propertyInfo.hasOverloadedBooleanValue && value === false;\n}\n/**\n * Operations for dealing with DOM properties.\n */\n\n\nvar DOMPropertyOperations = {\n /**\n * Creates markup for the ID property.\n *\n * @param {string} id Unescaped ID.\n * @return {string} Markup string.\n */\n createMarkupForID: function createMarkupForID(id) {\n return DOMProperty.ID_ATTRIBUTE_NAME + '=' + quoteAttributeValueForBrowser(id);\n },\n setAttributeForID: function setAttributeForID(node, id) {\n node.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME, id);\n },\n createMarkupForRoot: function createMarkupForRoot() {\n return DOMProperty.ROOT_ATTRIBUTE_NAME + '=\"\"';\n },\n setAttributeForRoot: function setAttributeForRoot(node) {\n node.setAttribute(DOMProperty.ROOT_ATTRIBUTE_NAME, '');\n },\n\n /**\n * Creates markup for a property.\n *\n * @param {string} name\n * @param {*} value\n * @return {?string} Markup string, or null if the property was invalid.\n */\n createMarkupForProperty: function createMarkupForProperty(name, value) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n\n if (propertyInfo) {\n if (shouldIgnoreValue(propertyInfo, value)) {\n return '';\n }\n\n var attributeName = propertyInfo.attributeName;\n\n if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {\n return attributeName + '=\"\"';\n }\n\n return attributeName + '=' + quoteAttributeValueForBrowser(value);\n } else if (DOMProperty.isCustomAttribute(name)) {\n if (value == null) {\n return '';\n }\n\n return name + '=' + quoteAttributeValueForBrowser(value);\n }\n\n return null;\n },\n\n /**\n * Creates markup for a custom property.\n *\n * @param {string} name\n * @param {*} value\n * @return {string} Markup string, or empty string if the property was invalid.\n */\n createMarkupForCustomAttribute: function createMarkupForCustomAttribute(name, value) {\n if (!isAttributeNameSafe(name) || value == null) {\n return '';\n }\n\n return name + '=' + quoteAttributeValueForBrowser(value);\n },\n\n /**\n * Sets the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n * @param {*} value\n */\n setValueForProperty: function setValueForProperty(node, name, value) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n\n if (propertyInfo) {\n var mutationMethod = propertyInfo.mutationMethod;\n\n if (mutationMethod) {\n mutationMethod(node, value);\n } else if (shouldIgnoreValue(propertyInfo, value)) {\n this.deleteValueForProperty(node, name);\n return;\n } else if (propertyInfo.mustUseProperty) {\n // Contrary to `setAttribute`, object properties are properly\n // `toString`ed by IE8/9.\n node[propertyInfo.propertyName] = value;\n } else {\n var attributeName = propertyInfo.attributeName;\n var namespace = propertyInfo.attributeNamespace; // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n\n if (namespace) {\n node.setAttributeNS(namespace, attributeName, '' + value);\n } else if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {\n node.setAttribute(attributeName, '');\n } else {\n node.setAttribute(attributeName, '' + value);\n }\n }\n } else if (DOMProperty.isCustomAttribute(name)) {\n DOMPropertyOperations.setValueForAttribute(node, name, value);\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var payload = {};\n payload[name] = value;\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,\n type: 'update attribute',\n payload: payload\n });\n }\n },\n setValueForAttribute: function setValueForAttribute(node, name, value) {\n if (!isAttributeNameSafe(name)) {\n return;\n }\n\n if (value == null) {\n node.removeAttribute(name);\n } else {\n node.setAttribute(name, '' + value);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var payload = {};\n payload[name] = value;\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,\n type: 'update attribute',\n payload: payload\n });\n }\n },\n\n /**\n * Deletes an attributes from a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n */\n deleteValueForAttribute: function deleteValueForAttribute(node, name) {\n node.removeAttribute(name);\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,\n type: 'remove attribute',\n payload: name\n });\n }\n },\n\n /**\n * Deletes the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n */\n deleteValueForProperty: function deleteValueForProperty(node, name) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n\n if (propertyInfo) {\n var mutationMethod = propertyInfo.mutationMethod;\n\n if (mutationMethod) {\n mutationMethod(node, undefined);\n } else if (propertyInfo.mustUseProperty) {\n var propName = propertyInfo.propertyName;\n\n if (propertyInfo.hasBooleanValue) {\n node[propName] = false;\n } else {\n node[propName] = '';\n }\n } else {\n node.removeAttribute(propertyInfo.attributeName);\n }\n } else if (DOMProperty.isCustomAttribute(name)) {\n node.removeAttribute(name);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,\n type: 'remove attribute',\n payload: name\n });\n }\n }\n};\nmodule.exports = DOMPropertyOperations;","/**\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 _assign = require('object-assign');\n\nvar LinkedValueUtils = require('./LinkedValueUtils');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactUpdates = require('./ReactUpdates');\n\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnValueLink = false;\nvar didWarnValueDefaultValue = false;\n\nfunction updateOptionsIfPendingUpdateAndMounted() {\n if (this._rootNodeID && this._wrapperState.pendingUpdate) {\n this._wrapperState.pendingUpdate = false;\n var props = this._currentElement.props;\n var value = LinkedValueUtils.getValue(props);\n\n if (value != null) {\n updateOptions(this, Boolean(props.multiple), value);\n }\n }\n}\n\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nvar valuePropNames = ['value', 'defaultValue'];\n/**\n * Validation function for `value` and `defaultValue`.\n * @private\n */\n\nfunction checkSelectPropTypes(inst, props) {\n var owner = inst._currentElement._owner;\n LinkedValueUtils.checkPropTypes('select', props, owner);\n\n if (props.valueLink !== undefined && !didWarnValueLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `select` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnValueLink = true;\n }\n\n for (var i = 0; i < valuePropNames.length; i++) {\n var propName = valuePropNames[i];\n\n if (props[propName] == null) {\n continue;\n }\n\n var isArray = Array.isArray(props[propName]);\n\n if (props.multiple && !isArray) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;\n } else if (!props.multiple && isArray) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;\n }\n }\n}\n/**\n * @param {ReactDOMComponent} inst\n * @param {boolean} multiple\n * @param {*} propValue A stringable (with `multiple`, a list of stringables).\n * @private\n */\n\n\nfunction updateOptions(inst, multiple, propValue) {\n var selectedValue, i;\n var options = ReactDOMComponentTree.getNodeFromInstance(inst).options;\n\n if (multiple) {\n selectedValue = {};\n\n for (i = 0; i < propValue.length; i++) {\n selectedValue['' + propValue[i]] = true;\n }\n\n for (i = 0; i < options.length; i++) {\n var selected = selectedValue.hasOwnProperty(options[i].value);\n\n if (options[i].selected !== selected) {\n options[i].selected = selected;\n }\n }\n } else {\n // Do not set `select.value` as exact behavior isn't consistent across all\n // browsers for all cases.\n selectedValue = '' + propValue;\n\n for (i = 0; i < options.length; i++) {\n if (options[i].value === selectedValue) {\n options[i].selected = true;\n return;\n }\n }\n\n if (options.length) {\n options[0].selected = true;\n }\n }\n}\n/**\n * Implements a <select> host component that allows optionally setting the\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n * stringable. If `multiple` is true, the prop must be an array of stringables.\n *\n * If `value` is not supplied (or null/undefined), user actions that change the\n * selected option will trigger updates to the rendered options.\n *\n * If it is supplied (and not null/undefined), the rendered options will not\n * update in response to user actions. Instead, the `value` prop must change in\n * order for the rendered options to update.\n *\n * If `defaultValue` is provided, any options with the supplied values will be\n * selected.\n */\n\n\nvar ReactDOMSelect = {\n getHostProps: function getHostProps(inst, props) {\n return _assign({}, props, {\n onChange: inst._wrapperState.onChange,\n value: undefined\n });\n },\n mountWrapper: function mountWrapper(inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n checkSelectPropTypes(inst, props);\n }\n\n var value = LinkedValueUtils.getValue(props);\n inst._wrapperState = {\n pendingUpdate: false,\n initialValue: value != null ? value : props.defaultValue,\n listeners: null,\n onChange: _handleChange.bind(inst),\n wasMultiple: Boolean(props.multiple)\n };\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;\n didWarnValueDefaultValue = true;\n }\n },\n getSelectValueContext: function getSelectValueContext(inst) {\n // ReactDOMOption looks at this initial value so the initial generated\n // markup has correct `selected` attributes\n return inst._wrapperState.initialValue;\n },\n postUpdateWrapper: function postUpdateWrapper(inst) {\n var props = inst._currentElement.props; // After the initial mount, we control selected-ness manually so don't pass\n // this value down\n\n inst._wrapperState.initialValue = undefined;\n var wasMultiple = inst._wrapperState.wasMultiple;\n inst._wrapperState.wasMultiple = Boolean(props.multiple);\n var value = LinkedValueUtils.getValue(props);\n\n if (value != null) {\n inst._wrapperState.pendingUpdate = false;\n updateOptions(inst, Boolean(props.multiple), value);\n } else if (wasMultiple !== Boolean(props.multiple)) {\n // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n if (props.defaultValue != null) {\n updateOptions(inst, Boolean(props.multiple), props.defaultValue);\n } else {\n // Revert the select back to its default unselected state.\n updateOptions(inst, Boolean(props.multiple), props.multiple ? [] : '');\n }\n }\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n var returnValue = LinkedValueUtils.executeOnChange(props, event);\n\n if (this._rootNodeID) {\n this._wrapperState.pendingUpdate = true;\n }\n\n ReactUpdates.asap(updateOptionsIfPendingUpdateAndMounted, this);\n return returnValue;\n}\n\nmodule.exports = ReactDOMSelect;","/**\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\nfunction _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\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar ReactCompositeComponent = require('./ReactCompositeComponent');\n\nvar ReactEmptyComponent = require('./ReactEmptyComponent');\n\nvar ReactHostComponent = require('./ReactHostComponent');\n\nvar getNextDebugID = require('react/lib/getNextDebugID');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar warning = require('fbjs/lib/warning'); // To avoid a cyclic dependency, we create the final class in this module\n\n\nvar ReactCompositeComponentWrapper = function ReactCompositeComponentWrapper(element) {\n this.construct(element);\n};\n\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n/**\n * Check if the type reference is a known internal type. I.e. not a user\n * provided composite type.\n *\n * @param {function} type\n * @return {boolean} Returns true if this is a valid internal type.\n */\n\n\nfunction isInternalComponentType(type) {\n return typeof type === 'function' && typeof type.prototype !== 'undefined' && typeof type.prototype.mountComponent === 'function' && typeof type.prototype.receiveComponent === 'function';\n}\n/**\n * Given a ReactNode, create an instance that will actually be mounted.\n *\n * @param {ReactNode} node\n * @param {boolean} shouldHaveDebugID\n * @return {object} A new instance of the element's constructor.\n * @protected\n */\n\n\nfunction instantiateReactComponent(node, shouldHaveDebugID) {\n var instance;\n\n if (node === null || node === false) {\n instance = ReactEmptyComponent.create(instantiateReactComponent);\n } else if (_typeof(node) === 'object') {\n var element = node;\n var type = element.type;\n\n if (typeof type !== 'function' && typeof type !== 'string') {\n var info = '';\n\n if (process.env.NODE_ENV !== 'production') {\n if (type === undefined || _typeof(type) === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in.\";\n }\n }\n\n info += getDeclarationErrorAddendum(element._owner);\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s', type == null ? type : _typeof(type), info) : _prodInvariant('130', type == null ? type : _typeof(type), info) : void 0;\n } // Special case string values\n\n\n if (typeof element.type === 'string') {\n instance = ReactHostComponent.createInternalComponent(element);\n } else if (isInternalComponentType(element.type)) {\n // This is temporarily available for custom components that are not string\n // representations. I.e. ART. Once those are updated to use the string\n // representation, we can drop this code path.\n instance = new element.type(element); // We renamed this. Allow the old name for compat. :(\n\n if (!instance.getHostNode) {\n instance.getHostNode = instance.getNativeNode;\n }\n } else {\n instance = new ReactCompositeComponentWrapper(element);\n }\n } else if (typeof node === 'string' || typeof node === 'number') {\n instance = ReactHostComponent.createInstanceForText(node);\n } else {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Encountered invalid React node of type %s', _typeof(node)) : _prodInvariant('131', _typeof(node)) : void 0;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.getHostNode === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : void 0;\n } // These two fields are used by the DOM and ART diffing algorithms\n // respectively. Instead of using expandos on components, we should be\n // storing the state needed by the diffing algorithms elsewhere.\n\n\n instance._mountIndex = 0;\n instance._mountImage = null;\n\n if (process.env.NODE_ENV !== 'production') {\n instance._debugID = shouldHaveDebugID ? getNextDebugID() : 0;\n } // Internal instances should fully constructed at this point, so they should\n // not get any new fields added to them at this point.\n\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.preventExtensions) {\n Object.preventExtensions(instance);\n }\n }\n\n return instance;\n}\n\n_assign(ReactCompositeComponentWrapper.prototype, ReactCompositeComponent, {\n _instantiateReactComponent: instantiateReactComponent\n});\n\nmodule.exports = instantiateReactComponent;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar React = require('react/lib/React');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar ReactNodeTypes = {\n HOST: 0,\n COMPOSITE: 1,\n EMPTY: 2,\n getType: function getType(node) {\n if (node === null || node === false) {\n return ReactNodeTypes.EMPTY;\n } else if (React.isValidElement(node)) {\n if (typeof node.type === 'function') {\n return ReactNodeTypes.COMPOSITE;\n } else {\n return ReactNodeTypes.HOST;\n }\n }\n\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unexpected node: %s', node) : _prodInvariant('26', node) : void 0;\n }\n};\nmodule.exports = ReactNodeTypes;","/**\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 emptyComponentFactory;\nvar ReactEmptyComponentInjection = {\n injectEmptyComponentFactory: function injectEmptyComponentFactory(factory) {\n emptyComponentFactory = factory;\n }\n};\nvar ReactEmptyComponent = {\n create: function create(instantiate) {\n return emptyComponentFactory(instantiate);\n }\n};\nReactEmptyComponent.injection = ReactEmptyComponentInjection;\nmodule.exports = ReactEmptyComponent;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar genericComponentClass = null;\nvar textComponentClass = null;\nvar ReactHostComponentInjection = {\n // This accepts a class that receives the tag string. This is a catch all\n // that can render any kind of tag.\n injectGenericComponentClass: function injectGenericComponentClass(componentClass) {\n genericComponentClass = componentClass;\n },\n // This accepts a text component class that takes the text string to be\n // rendered as props.\n injectTextComponentClass: function injectTextComponentClass(componentClass) {\n textComponentClass = componentClass;\n }\n};\n/**\n * Get a host internal component class for a specific tag.\n *\n * @param {ReactElement} element The element to create.\n * @return {function} The internal class constructor function.\n */\n\nfunction createInternalComponent(element) {\n !genericComponentClass ? process.env.NODE_ENV !== 'production' ? invariant(false, 'There is no registered component for the tag %s', element.type) : _prodInvariant('111', element.type) : void 0;\n return new genericComponentClass(element);\n}\n/**\n * @param {ReactText} text\n * @return {ReactComponent}\n */\n\n\nfunction createInstanceForText(text) {\n return new textComponentClass(text);\n}\n/**\n * @param {ReactComponent} component\n * @return {boolean}\n */\n\n\nfunction isTextComponent(component) {\n return component instanceof textComponentClass;\n}\n\nvar ReactHostComponent = {\n createInternalComponent: createInternalComponent,\n createInstanceForText: createInstanceForText,\n isTextComponent: isTextComponent,\n injection: ReactHostComponentInjection\n};\nmodule.exports = ReactHostComponent;","/**\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\nfunction _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\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\n\nvar REACT_ELEMENT_TYPE = require('./ReactElementSymbol');\n\nvar getIteratorFn = require('./getIteratorFn');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\n\nvar warning = require('fbjs/lib/warning');\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * This is inlined from ReactElement since this file is shared between\n * isomorphic and renderers. We could extract this to a\n *\n */\n\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\nvar didWarnAboutMaps = false;\n/**\n * Generate a key string that identifies a component within a set.\n *\n * @param {*} component A component that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\nfunction getComponentKey(component, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (component && _typeof(component) === 'object' && component.key != null) {\n // Explicit key\n return KeyEscapeUtils.escape(component.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n/**\n * @param {?*} children Children tree container.\n * @param {!string} nameSoFar Name of the key path so far.\n * @param {!function} callback Callback to invoke with each child found.\n * @param {?*} traverseContext Used to pass information throughout the traversal\n * process.\n * @return {!number} The number of children in this subtree.\n */\n\n\nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\n var type = _typeof(children);\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n if (children === null || type === 'string' || type === 'number' || // The following is inlined from ReactElement. This means we can optimize\n // some checks. React Fiber also inlines this logic for similar purposes.\n type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE) {\n callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows.\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getComponentKey(child, i);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (iteratorFn) {\n var iterator = iteratorFn.call(children);\n var step;\n\n if (iteratorFn !== children.entries) {\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getComponentKey(child, ii++);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n var mapsAsChildrenAddendum = '';\n\n if (ReactCurrentOwner.current) {\n var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();\n\n if (mapsAsChildrenOwnerName) {\n mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';\n }\n }\n\n process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;\n didWarnAboutMaps = true;\n } // Iterator will provide entry [k,v] tuples rather than values.\n\n\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n\n if (entry) {\n child = entry[1];\n nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n }\n }\n } else if (type === 'object') {\n var addendum = '';\n\n if (process.env.NODE_ENV !== 'production') {\n addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';\n\n if (children._isReactElement) {\n addendum = \" It looks like you're using an element created by a different \" + 'version of React. Make sure to use only one copy of React.';\n }\n\n if (ReactCurrentOwner.current) {\n var name = ReactCurrentOwner.current.getName();\n\n if (name) {\n addendum += ' Check the render method of `' + name + '`.';\n }\n }\n }\n\n var childrenString = String(children);\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;\n }\n }\n\n return subtreeCount;\n}\n/**\n * Traverses children that are typically specified as `props.children`, but\n * might also be specified through attributes:\n *\n * - `traverseAllChildren(this.props.children, ...)`\n * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\n *\n * The `traverseContext` is an optional argument that is passed through the\n * entire traversal. It can be used to store accumulations or anything else that\n * the callback might find relevant.\n *\n * @param {?*} children Children tree object.\n * @param {!function} callback To invoke upon traversing each child.\n * @param {?*} traverseContext Context for traversal.\n * @return {!number} The number of children in this subtree.\n */\n\n\nfunction traverseAllChildren(children, callback, traverseContext) {\n if (children == null) {\n return 0;\n }\n\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\n}\n\nmodule.exports = traverseAllChildren;","/**\n * Copyright (c) 2016-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\nfunction _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\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar warning = require('fbjs/lib/warning');\n\nfunction isNative(fn) {\n // Based on isNative() from Lodash\n var funcToString = Function.prototype.toString;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var reIsNative = RegExp('^' + funcToString // Take an example native function source for comparison\n .call(hasOwnProperty // Strip regex characters so we can use it for regex\n ).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&' // Remove hasOwnProperty from the template to make it generic\n ).replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$');\n\n try {\n var source = funcToString.call(fn);\n return reIsNative.test(source);\n } catch (err) {\n return false;\n }\n}\n\nvar canUseCollections = // Array.from\ntypeof Array.from === 'function' && // Map\ntypeof Map === 'function' && isNative(Map) && // Map.prototype.keys\nMap.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) && // Set\ntypeof Set === 'function' && isNative(Set) && // Set.prototype.keys\nSet.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);\nvar setItem;\nvar getItem;\nvar removeItem;\nvar getItemIDs;\nvar addRoot;\nvar removeRoot;\nvar getRootIDs;\n\nif (canUseCollections) {\n var itemMap = new Map();\n var rootIDSet = new Set();\n\n setItem = function setItem(id, item) {\n itemMap.set(id, item);\n };\n\n getItem = function getItem(id) {\n return itemMap.get(id);\n };\n\n removeItem = function removeItem(id) {\n itemMap['delete'](id);\n };\n\n getItemIDs = function getItemIDs() {\n return Array.from(itemMap.keys());\n };\n\n addRoot = function addRoot(id) {\n rootIDSet.add(id);\n };\n\n removeRoot = function removeRoot(id) {\n rootIDSet['delete'](id);\n };\n\n getRootIDs = function getRootIDs() {\n return Array.from(rootIDSet.keys());\n };\n} else {\n var itemByKey = {};\n var rootByKey = {}; // Use non-numeric keys to prevent V8 performance issues:\n // https://github.com/facebook/react/pull/7232\n\n var getKeyFromID = function getKeyFromID(id) {\n return '.' + id;\n };\n\n var getIDFromKey = function getIDFromKey(key) {\n return parseInt(key.substr(1), 10);\n };\n\n setItem = function setItem(id, item) {\n var key = getKeyFromID(id);\n itemByKey[key] = item;\n };\n\n getItem = function getItem(id) {\n var key = getKeyFromID(id);\n return itemByKey[key];\n };\n\n removeItem = function removeItem(id) {\n var key = getKeyFromID(id);\n delete itemByKey[key];\n };\n\n getItemIDs = function getItemIDs() {\n return Object.keys(itemByKey).map(getIDFromKey);\n };\n\n addRoot = function addRoot(id) {\n var key = getKeyFromID(id);\n rootByKey[key] = true;\n };\n\n removeRoot = function removeRoot(id) {\n var key = getKeyFromID(id);\n delete rootByKey[key];\n };\n\n getRootIDs = function getRootIDs() {\n return Object.keys(rootByKey).map(getIDFromKey);\n };\n}\n\nvar unmountedIDs = [];\n\nfunction purgeDeep(id) {\n var item = getItem(id);\n\n if (item) {\n var childIDs = item.childIDs;\n removeItem(id);\n childIDs.forEach(purgeDeep);\n }\n}\n\nfunction describeComponentFrame(name, source, ownerName) {\n return '\\n in ' + (name || 'Unknown') + (source ? ' (at ' + source.fileName.replace(/^.*[\\\\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');\n}\n\nfunction _getDisplayName(element) {\n if (element == null) {\n return '#empty';\n } else if (typeof element === 'string' || typeof element === 'number') {\n return '#text';\n } else if (typeof element.type === 'string') {\n return element.type;\n } else {\n return element.type.displayName || element.type.name || 'Unknown';\n }\n}\n\nfunction describeID(id) {\n var name = ReactComponentTreeHook.getDisplayName(id);\n var element = ReactComponentTreeHook.getElement(id);\n var ownerID = ReactComponentTreeHook.getOwnerID(id);\n var ownerName;\n\n if (ownerID) {\n ownerName = ReactComponentTreeHook.getDisplayName(ownerID);\n }\n\n process.env.NODE_ENV !== 'production' ? warning(element, 'ReactComponentTreeHook: Missing React element for debugID %s when ' + 'building stack', id) : void 0;\n return describeComponentFrame(name, element && element._source, ownerName);\n}\n\nvar ReactComponentTreeHook = {\n onSetChildren: function onSetChildren(id, nextChildIDs) {\n var item = getItem(id);\n !item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0;\n item.childIDs = nextChildIDs;\n\n for (var i = 0; i < nextChildIDs.length; i++) {\n var nextChildID = nextChildIDs[i];\n var nextChild = getItem(nextChildID);\n !nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected hook events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('140') : void 0;\n !(nextChild.childIDs != null || _typeof(nextChild.element) !== 'object' || nextChild.element == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().') : _prodInvariant('141') : void 0;\n !nextChild.isMounted ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0;\n\n if (nextChild.parentID == null) {\n nextChild.parentID = id; // TODO: This shouldn't be necessary but mounting a new root during in\n // componentWillMount currently causes not-yet-mounted components to\n // be purged from our tree data so their parent id is missing.\n }\n\n !(nextChild.parentID === id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('142', nextChildID, nextChild.parentID, id) : void 0;\n }\n },\n onBeforeMountComponent: function onBeforeMountComponent(id, element, parentID) {\n var item = {\n element: element,\n parentID: parentID,\n text: null,\n childIDs: [],\n isMounted: false,\n updateCount: 0\n };\n setItem(id, item);\n },\n onBeforeUpdateComponent: function onBeforeUpdateComponent(id, element) {\n var item = getItem(id);\n\n if (!item || !item.isMounted) {\n // We may end up here as a result of setState() in componentWillUnmount().\n // In this case, ignore the element.\n return;\n }\n\n item.element = element;\n },\n onMountComponent: function onMountComponent(id) {\n var item = getItem(id);\n !item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0;\n item.isMounted = true;\n var isRoot = item.parentID === 0;\n\n if (isRoot) {\n addRoot(id);\n }\n },\n onUpdateComponent: function onUpdateComponent(id) {\n var item = getItem(id);\n\n if (!item || !item.isMounted) {\n // We may end up here as a result of setState() in componentWillUnmount().\n // In this case, ignore the element.\n return;\n }\n\n item.updateCount++;\n },\n onUnmountComponent: function onUnmountComponent(id) {\n var item = getItem(id);\n\n if (item) {\n // We need to check if it exists.\n // `item` might not exist if it is inside an error boundary, and a sibling\n // error boundary child threw while mounting. Then this instance never\n // got a chance to mount, but it still gets an unmounting event during\n // the error boundary cleanup.\n item.isMounted = false;\n var isRoot = item.parentID === 0;\n\n if (isRoot) {\n removeRoot(id);\n }\n }\n\n unmountedIDs.push(id);\n },\n purgeUnmountedComponents: function purgeUnmountedComponents() {\n if (ReactComponentTreeHook._preventPurging) {\n // Should only be used for testing.\n return;\n }\n\n for (var i = 0; i < unmountedIDs.length; i++) {\n var id = unmountedIDs[i];\n purgeDeep(id);\n }\n\n unmountedIDs.length = 0;\n },\n isMounted: function isMounted(id) {\n var item = getItem(id);\n return item ? item.isMounted : false;\n },\n getCurrentStackAddendum: function getCurrentStackAddendum(topElement) {\n var info = '';\n\n if (topElement) {\n var name = _getDisplayName(topElement);\n\n var owner = topElement._owner;\n info += describeComponentFrame(name, topElement._source, owner && owner.getName());\n }\n\n var currentOwner = ReactCurrentOwner.current;\n var id = currentOwner && currentOwner._debugID;\n info += ReactComponentTreeHook.getStackAddendumByID(id);\n return info;\n },\n getStackAddendumByID: function getStackAddendumByID(id) {\n var info = '';\n\n while (id) {\n info += describeID(id);\n id = ReactComponentTreeHook.getParentID(id);\n }\n\n return info;\n },\n getChildIDs: function getChildIDs(id) {\n var item = getItem(id);\n return item ? item.childIDs : [];\n },\n getDisplayName: function getDisplayName(id) {\n var element = ReactComponentTreeHook.getElement(id);\n\n if (!element) {\n return null;\n }\n\n return _getDisplayName(element);\n },\n getElement: function getElement(id) {\n var item = getItem(id);\n return item ? item.element : null;\n },\n getOwnerID: function getOwnerID(id) {\n var element = ReactComponentTreeHook.getElement(id);\n\n if (!element || !element._owner) {\n return null;\n }\n\n return element._owner._debugID;\n },\n getParentID: function getParentID(id) {\n var item = getItem(id);\n return item ? item.parentID : null;\n },\n getSource: function getSource(id) {\n var item = getItem(id);\n var element = item ? item.element : null;\n var source = element != null ? element._source : null;\n return source;\n },\n getText: function getText(id) {\n var element = ReactComponentTreeHook.getElement(id);\n\n if (typeof element === 'string') {\n return element;\n } else if (typeof element === 'number') {\n return '' + element;\n } else {\n return null;\n }\n },\n getUpdateCount: function getUpdateCount(id) {\n var item = getItem(id);\n return item ? item.updateCount : 0;\n },\n getRootIDs: getRootIDs,\n getRegisteredIDs: getItemIDs,\n pushNonStandardWarningStack: function pushNonStandardWarningStack(isCreatingElement, currentSource) {\n if (typeof console.reactStack !== 'function') {\n return;\n }\n\n var stack = [];\n var currentOwner = ReactCurrentOwner.current;\n var id = currentOwner && currentOwner._debugID;\n\n try {\n if (isCreatingElement) {\n stack.push({\n name: id ? ReactComponentTreeHook.getDisplayName(id) : null,\n fileName: currentSource ? currentSource.fileName : null,\n lineNumber: currentSource ? currentSource.lineNumber : null\n });\n }\n\n while (id) {\n var element = ReactComponentTreeHook.getElement(id);\n var parentID = ReactComponentTreeHook.getParentID(id);\n var ownerID = ReactComponentTreeHook.getOwnerID(id);\n var ownerName = ownerID ? ReactComponentTreeHook.getDisplayName(ownerID) : null;\n var source = element && element._source;\n stack.push({\n name: ownerName,\n fileName: source ? source.fileName : null,\n lineNumber: source ? source.lineNumber : null\n });\n id = parentID;\n }\n } catch (err) {// Internal state is messed up.\n // Stop building the stack (it's just a nice to have).\n }\n\n console.reactStack(stack);\n },\n popNonStandardWarningStack: function popNonStandardWarningStack() {\n if (typeof console.reactStackEnd !== 'function') {\n return;\n }\n\n console.reactStackEnd();\n }\n};\nmodule.exports = ReactComponentTreeHook;","'use strict';\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 * @typechecks\n */\n\nvar emptyFunction = require('./emptyFunction');\n/**\n * Upstream version of event listener. Does not take into account specific\n * nature of platform.\n */\n\n\nvar EventListener = {\n /**\n * Listen to DOM events during the bubble phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n listen: function listen(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, false);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, false);\n }\n };\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, callback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, callback);\n }\n };\n }\n },\n\n /**\n * Listen to DOM events during the capture phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n capture: function capture(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, true);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, true);\n }\n };\n } else {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');\n }\n\n return {\n remove: emptyFunction\n };\n }\n },\n registerDefault: function registerDefault() {}\n};\nmodule.exports = EventListener;","/**\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 ReactDOMSelection = require('./ReactDOMSelection');\n\nvar containsNode = require('fbjs/lib/containsNode');\n\nvar focusNode = require('fbjs/lib/focusNode');\n\nvar getActiveElement = require('fbjs/lib/getActiveElement');\n\nfunction isInDocument(node) {\n return containsNode(document.documentElement, node);\n}\n/**\n * @ReactInputSelection: React input selection module. Based on Selection.js,\n * but modified to be suitable for react and has a couple of bug fixes (doesn't\n * assume buttons have range selections allowed).\n * Input selection module for React.\n */\n\n\nvar ReactInputSelection = {\n hasSelectionCapabilities: function hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName && (nodeName === 'input' && elem.type === 'text' || nodeName === 'textarea' || elem.contentEditable === 'true');\n },\n getSelectionInformation: function getSelectionInformation() {\n var focusedElem = getActiveElement();\n return {\n focusedElem: focusedElem,\n selectionRange: ReactInputSelection.hasSelectionCapabilities(focusedElem) ? ReactInputSelection.getSelection(focusedElem) : null\n };\n },\n\n /**\n * @restoreSelection: If any selection information was potentially lost,\n * restore it. This is useful when performing operations that could remove dom\n * nodes and place them back in, resulting in focus being lost.\n */\n restoreSelection: function restoreSelection(priorSelectionInformation) {\n var curFocusedElem = getActiveElement();\n var priorFocusedElem = priorSelectionInformation.focusedElem;\n var priorSelectionRange = priorSelectionInformation.selectionRange;\n\n if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\n if (ReactInputSelection.hasSelectionCapabilities(priorFocusedElem)) {\n ReactInputSelection.setSelection(priorFocusedElem, priorSelectionRange);\n }\n\n focusNode(priorFocusedElem);\n }\n },\n\n /**\n * @getSelection: Gets the selection bounds of a focused textarea, input or\n * contentEditable node.\n * -@input: Look up selection bounds of this input\n * -@return {start: selectionStart, end: selectionEnd}\n */\n getSelection: function getSelection(input) {\n var selection;\n\n if ('selectionStart' in input) {\n // Modern browser with input or textarea.\n selection = {\n start: input.selectionStart,\n end: input.selectionEnd\n };\n } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') {\n // IE8 input.\n var range = document.selection.createRange(); // There can only be one selection per document in IE, so it must\n // be in our element.\n\n if (range.parentElement() === input) {\n selection = {\n start: -range.moveStart('character', -input.value.length),\n end: -range.moveEnd('character', -input.value.length)\n };\n }\n } else {\n // Content editable or old IE textarea.\n selection = ReactDOMSelection.getOffsets(input);\n }\n\n return selection || {\n start: 0,\n end: 0\n };\n },\n\n /**\n * @setSelection: Sets the selection bounds of a textarea or input and focuses\n * the input.\n * -@input Set selection bounds of this input or textarea\n * -@offsets Object of same form that is returned from get*\n */\n setSelection: function setSelection(input, offsets) {\n var start = offsets.start;\n var end = offsets.end;\n\n if (end === undefined) {\n end = start;\n }\n\n if ('selectionStart' in input) {\n input.selectionStart = start;\n input.selectionEnd = Math.min(end, input.value.length);\n } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') {\n var range = input.createTextRange();\n range.collapse(true);\n range.moveStart('character', start);\n range.moveEnd('character', end - start);\n range.select();\n } else {\n ReactDOMSelection.setOffsets(input, offsets);\n }\n }\n};\nmodule.exports = ReactInputSelection;","'use strict';\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 * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\n\nfunction getActiveElement(doc)\n/*?DOMElement*/\n{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n\n if (typeof doc === 'undefined') {\n return null;\n }\n\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar DOMLazyTree = require('./DOMLazyTree');\n\nvar DOMProperty = require('./DOMProperty');\n\nvar React = require('react/lib/React');\n\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\n\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactDOMContainerInfo = require('./ReactDOMContainerInfo');\n\nvar ReactDOMFeatureFlags = require('./ReactDOMFeatureFlags');\n\nvar ReactFeatureFlags = require('./ReactFeatureFlags');\n\nvar ReactInstanceMap = require('./ReactInstanceMap');\n\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar ReactMarkupChecksum = require('./ReactMarkupChecksum');\n\nvar ReactReconciler = require('./ReactReconciler');\n\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\n\nvar ReactUpdates = require('./ReactUpdates');\n\nvar emptyObject = require('fbjs/lib/emptyObject');\n\nvar instantiateReactComponent = require('./instantiateReactComponent');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar setInnerHTML = require('./setInnerHTML');\n\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\n\nvar warning = require('fbjs/lib/warning');\n\nvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\nvar ROOT_ATTR_NAME = DOMProperty.ROOT_ATTRIBUTE_NAME;\nvar ELEMENT_NODE_TYPE = 1;\nvar DOC_NODE_TYPE = 9;\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\nvar instancesByReactRootID = {};\n/**\n * Finds the index of the first character\n * that's not common between the two given strings.\n *\n * @return {number} the index of the character where the strings diverge\n */\n\nfunction firstDifferenceIndex(string1, string2) {\n var minLen = Math.min(string1.length, string2.length);\n\n for (var i = 0; i < minLen; i++) {\n if (string1.charAt(i) !== string2.charAt(i)) {\n return i;\n }\n }\n\n return string1.length === string2.length ? -1 : minLen;\n}\n/**\n * @param {DOMElement|DOMDocument} container DOM element that may contain\n * a React component\n * @return {?*} DOM element that may have the reactRoot ID, or null.\n */\n\n\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOC_NODE_TYPE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\nfunction internalGetID(node) {\n // If node is something like a window, document, or text node, none of\n // which support attributes or a .getAttribute method, gracefully return\n // the empty string, as if the attribute were missing.\n return node.getAttribute && node.getAttribute(ATTR_NAME) || '';\n}\n/**\n * Mounts this component and inserts it into the DOM.\n *\n * @param {ReactComponent} componentInstance The instance to mount.\n * @param {DOMElement} container DOM element to mount into.\n * @param {ReactReconcileTransaction} transaction\n * @param {boolean} shouldReuseMarkup If true, do not insert markup\n */\n\n\nfunction mountComponentIntoNode(wrapperInstance, container, transaction, shouldReuseMarkup, context) {\n var markerName;\n\n if (ReactFeatureFlags.logTopLevelRenders) {\n var wrappedElement = wrapperInstance._currentElement.props.child;\n var type = wrappedElement.type;\n markerName = 'React mount: ' + (typeof type === 'string' ? type : type.displayName || type.name);\n console.time(markerName);\n }\n\n var markup = ReactReconciler.mountComponent(wrapperInstance, transaction, null, ReactDOMContainerInfo(wrapperInstance, container), context, 0\n /* parentDebugID */\n );\n\n if (markerName) {\n console.timeEnd(markerName);\n }\n\n wrapperInstance._renderedComponent._topLevelWrapper = wrapperInstance;\n\n ReactMount._mountImageIntoNode(markup, container, wrapperInstance, shouldReuseMarkup, transaction);\n}\n/**\n * Batched mount.\n *\n * @param {ReactComponent} componentInstance The instance to mount.\n * @param {DOMElement} container DOM element to mount into.\n * @param {boolean} shouldReuseMarkup If true, do not insert markup\n */\n\n\nfunction batchedMountComponentIntoNode(componentInstance, container, shouldReuseMarkup, context) {\n var transaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n /* useCreateElement */\n !shouldReuseMarkup && ReactDOMFeatureFlags.useCreateElement);\n transaction.perform(mountComponentIntoNode, null, componentInstance, container, transaction, shouldReuseMarkup, context);\n ReactUpdates.ReactReconcileTransaction.release(transaction);\n}\n/**\n * Unmounts a component and removes it from the DOM.\n *\n * @param {ReactComponent} instance React component instance.\n * @param {DOMElement} container DOM element to unmount from.\n * @final\n * @internal\n * @see {ReactMount.unmountComponentAtNode}\n */\n\n\nfunction unmountComponentFromNode(instance, container, safely) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onBeginFlush();\n }\n\n ReactReconciler.unmountComponent(instance, safely);\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onEndFlush();\n }\n\n if (container.nodeType === DOC_NODE_TYPE) {\n container = container.documentElement;\n } // http://jsperf.com/emptying-a-node\n\n\n while (container.lastChild) {\n container.removeChild(container.lastChild);\n }\n}\n/**\n * True if the supplied DOM node has a direct React-rendered child that is\n * not a React root element. Useful for warning in `render`,\n * `unmountComponentAtNode`, etc.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM element contains a direct child that was\n * rendered by React but is not a root element.\n * @internal\n */\n\n\nfunction hasNonRootReactChild(container) {\n var rootEl = getReactRootElementInContainer(container);\n\n if (rootEl) {\n var inst = ReactDOMComponentTree.getInstanceFromNode(rootEl);\n return !!(inst && inst._hostParent);\n }\n}\n/**\n * True if the supplied DOM node is a React DOM element and\n * it has been rendered by another copy of React.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM has been rendered by another copy of React\n * @internal\n */\n\n\nfunction nodeIsRenderedByOtherInstance(container) {\n var rootEl = getReactRootElementInContainer(container);\n return !!(rootEl && isReactNode(rootEl) && !ReactDOMComponentTree.getInstanceFromNode(rootEl));\n}\n/**\n * True if the supplied DOM node is a valid node element.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM is a valid DOM node.\n * @internal\n */\n\n\nfunction isValidContainer(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE_TYPE || node.nodeType === DOC_NODE_TYPE || node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE));\n}\n/**\n * True if the supplied DOM node is a valid React node element.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM is a valid React DOM node.\n * @internal\n */\n\n\nfunction isReactNode(node) {\n return isValidContainer(node) && (node.hasAttribute(ROOT_ATTR_NAME) || node.hasAttribute(ATTR_NAME));\n}\n\nfunction getHostRootInstanceInContainer(container) {\n var rootEl = getReactRootElementInContainer(container);\n var prevHostInstance = rootEl && ReactDOMComponentTree.getInstanceFromNode(rootEl);\n return prevHostInstance && !prevHostInstance._hostParent ? prevHostInstance : null;\n}\n\nfunction getTopLevelWrapperInContainer(container) {\n var root = getHostRootInstanceInContainer(container);\n return root ? root._hostContainerInfo._topLevelWrapper : null;\n}\n/**\n * Temporary (?) hack so that we can store all top-level pending updates on\n * composites instead of having to worry about different types of components\n * here.\n */\n\n\nvar topLevelRootCounter = 1;\n\nvar TopLevelWrapper = function TopLevelWrapper() {\n this.rootID = topLevelRootCounter++;\n};\n\nTopLevelWrapper.prototype.isReactComponent = {};\n\nif (process.env.NODE_ENV !== 'production') {\n TopLevelWrapper.displayName = 'TopLevelWrapper';\n}\n\nTopLevelWrapper.prototype.render = function () {\n return this.props.child;\n};\n\nTopLevelWrapper.isReactTopLevelWrapper = true;\n/**\n * Mounting is the process of initializing a React component by creating its\n * representative DOM elements and inserting them into a supplied `container`.\n * Any prior content inside `container` is destroyed in the process.\n *\n * ReactMount.render(\n * component,\n * document.getElementById('container')\n * );\n *\n * <div id=\"container\"> <-- Supplied `container`.\n * <div data-reactid=\".3\"> <-- Rendered reactRoot of React\n * // ... component.\n * </div>\n * </div>\n *\n * Inside of `container`, the first element rendered is the \"reactRoot\".\n */\n\nvar ReactMount = {\n TopLevelWrapper: TopLevelWrapper,\n\n /**\n * Used by devtools. The keys are not important.\n */\n _instancesByReactRootID: instancesByReactRootID,\n\n /**\n * This is a hook provided to support rendering React components while\n * ensuring that the apparent scroll position of its `container` does not\n * change.\n *\n * @param {DOMElement} container The `container` being rendered into.\n * @param {function} renderCallback This must be called once to do the render.\n */\n scrollMonitor: function scrollMonitor(container, renderCallback) {\n renderCallback();\n },\n\n /**\n * Take a component that's already mounted into the DOM and replace its props\n * @param {ReactComponent} prevComponent component instance already in the DOM\n * @param {ReactElement} nextElement component instance to render\n * @param {DOMElement} container container to render into\n * @param {?function} callback function triggered on completion\n */\n _updateRootComponent: function _updateRootComponent(prevComponent, nextElement, nextContext, container, callback) {\n ReactMount.scrollMonitor(container, function () {\n ReactUpdateQueue.enqueueElementInternal(prevComponent, nextElement, nextContext);\n\n if (callback) {\n ReactUpdateQueue.enqueueCallbackInternal(prevComponent, callback);\n }\n });\n return prevComponent;\n },\n\n /**\n * Render a new component into the DOM. Hooked by hooks!\n *\n * @param {ReactElement} nextElement element to render\n * @param {DOMElement} container container to render into\n * @param {boolean} shouldReuseMarkup if we should skip the markup insertion\n * @return {ReactComponent} nextComponent\n */\n _renderNewRootComponent: function _renderNewRootComponent(nextElement, container, shouldReuseMarkup, context) {\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case.\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;\n !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, '_registerComponent(...): Target container is not a DOM element.') : _prodInvariant('37') : void 0;\n ReactBrowserEventEmitter.ensureScrollValueMonitoring();\n var componentInstance = instantiateReactComponent(nextElement, false); // The initial render is synchronous but any updates that happen during\n // rendering, in componentWillMount or componentDidMount, will be batched\n // according to the current batching strategy.\n\n ReactUpdates.batchedUpdates(batchedMountComponentIntoNode, componentInstance, container, shouldReuseMarkup, context);\n var wrapperID = componentInstance._instance.rootID;\n instancesByReactRootID[wrapperID] = componentInstance;\n return componentInstance;\n },\n\n /**\n * Renders a React component into the DOM in the supplied `container`.\n *\n * If the React component was previously rendered into `container`, this will\n * perform an update on it and only mutate the DOM as necessary to reflect the\n * latest React component.\n *\n * @param {ReactComponent} parentComponent The conceptual parent of this render tree.\n * @param {ReactElement} nextElement Component element to render.\n * @param {DOMElement} container DOM element to render into.\n * @param {?function} callback function triggered on completion\n * @return {ReactComponent} Component instance rendered in `container`.\n */\n renderSubtreeIntoContainer: function renderSubtreeIntoContainer(parentComponent, nextElement, container, callback) {\n !(parentComponent != null && ReactInstanceMap.has(parentComponent)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'parentComponent must be a valid React Component') : _prodInvariant('38') : void 0;\n return ReactMount._renderSubtreeIntoContainer(parentComponent, nextElement, container, callback);\n },\n _renderSubtreeIntoContainer: function _renderSubtreeIntoContainer(parentComponent, nextElement, container, callback) {\n ReactUpdateQueue.validateCallback(callback, 'ReactDOM.render');\n !React.isValidElement(nextElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? \" Instead of passing a string like 'div', pass \" + \"React.createElement('div') or <div />.\" : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : // Check if it quacks like an element\n nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : _prodInvariant('39', typeof nextElement === 'string' ? \" Instead of passing a string like 'div', pass \" + \"React.createElement('div') or <div />.\" : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!container || !container.tagName || container.tagName.toUpperCase() !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : void 0;\n var nextWrappedElement = React.createElement(TopLevelWrapper, {\n child: nextElement\n });\n var nextContext;\n\n if (parentComponent) {\n var parentInst = ReactInstanceMap.get(parentComponent);\n nextContext = parentInst._processChildContext(parentInst._context);\n } else {\n nextContext = emptyObject;\n }\n\n var prevComponent = getTopLevelWrapperInContainer(container);\n\n if (prevComponent) {\n var prevWrappedElement = prevComponent._currentElement;\n var prevElement = prevWrappedElement.props.child;\n\n if (shouldUpdateReactComponent(prevElement, nextElement)) {\n var publicInst = prevComponent._renderedComponent.getPublicInstance();\n\n var updatedCallback = callback && function () {\n callback.call(publicInst);\n };\n\n ReactMount._updateRootComponent(prevComponent, nextWrappedElement, nextContext, container, updatedCallback);\n\n return publicInst;\n } else {\n ReactMount.unmountComponentAtNode(container);\n }\n }\n\n var reactRootElement = getReactRootElementInContainer(container);\n var containerHasReactMarkup = reactRootElement && !!internalGetID(reactRootElement);\n var containerHasNonRootReactChild = hasNonRootReactChild(container);\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.') : void 0;\n\n if (!containerHasReactMarkup || reactRootElement.nextSibling) {\n var rootElementSibling = reactRootElement;\n\n while (rootElementSibling) {\n if (internalGetID(rootElementSibling)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : void 0;\n break;\n }\n\n rootElementSibling = rootElementSibling.nextSibling;\n }\n }\n }\n\n var shouldReuseMarkup = containerHasReactMarkup && !prevComponent && !containerHasNonRootReactChild;\n\n var component = ReactMount._renderNewRootComponent(nextWrappedElement, container, shouldReuseMarkup, nextContext)._renderedComponent.getPublicInstance();\n\n if (callback) {\n callback.call(component);\n }\n\n return component;\n },\n\n /**\n * Renders a React component into the DOM in the supplied `container`.\n * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.render\n *\n * If the React component was previously rendered into `container`, this will\n * perform an update on it and only mutate the DOM as necessary to reflect the\n * latest React component.\n *\n * @param {ReactElement} nextElement Component element to render.\n * @param {DOMElement} container DOM element to render into.\n * @param {?function} callback function triggered on completion\n * @return {ReactComponent} Component instance rendered in `container`.\n */\n render: function render(nextElement, container, callback) {\n return ReactMount._renderSubtreeIntoContainer(null, nextElement, container, callback);\n },\n\n /**\n * Unmounts and destroys the React component rendered in the `container`.\n * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.unmountcomponentatnode\n *\n * @param {DOMElement} container DOM element containing a React component.\n * @return {boolean} True if a component was found in and unmounted from\n * `container`\n */\n unmountComponentAtNode: function unmountComponentAtNode(container) {\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case. (Strictly speaking, unmounting won't cause a\n // render but we still don't expect to be in a render call here.)\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;\n !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : _prodInvariant('40') : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), \"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by another copy of React.') : void 0;\n }\n\n var prevComponent = getTopLevelWrapperInContainer(container);\n\n if (!prevComponent) {\n // Check if the node being unmounted was rendered by React, but isn't a\n // root node.\n var containerHasNonRootReactChild = hasNonRootReactChild(container); // Check if the container itself is a React root node.\n\n var isContainerReactRoot = container.nodeType === 1 && container.hasAttribute(ROOT_ATTR_NAME);\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, \"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0;\n }\n\n return false;\n }\n\n delete instancesByReactRootID[prevComponent._instance.rootID];\n ReactUpdates.batchedUpdates(unmountComponentFromNode, prevComponent, container, false);\n return true;\n },\n _mountImageIntoNode: function _mountImageIntoNode(markup, container, instance, shouldReuseMarkup, transaction) {\n !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mountComponentIntoNode(...): Target container is not valid.') : _prodInvariant('41') : void 0;\n\n if (shouldReuseMarkup) {\n var rootElement = getReactRootElementInContainer(container);\n\n if (ReactMarkupChecksum.canReuseMarkup(markup, rootElement)) {\n ReactDOMComponentTree.precacheNode(instance, rootElement);\n return;\n } else {\n var checksum = rootElement.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n rootElement.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n var rootMarkup = rootElement.outerHTML;\n rootElement.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME, checksum);\n var normalizedMarkup = markup;\n\n if (process.env.NODE_ENV !== 'production') {\n // because rootMarkup is retrieved from the DOM, various normalizations\n // will have occurred which will not be present in `markup`. Here,\n // insert markup into a <div> or <iframe> depending on the container\n // type to perform the same normalizations before comparing.\n var normalizer;\n\n if (container.nodeType === ELEMENT_NODE_TYPE) {\n normalizer = document.createElement('div');\n normalizer.innerHTML = markup;\n normalizedMarkup = normalizer.innerHTML;\n } else {\n normalizer = document.createElement('iframe');\n document.body.appendChild(normalizer);\n normalizer.contentDocument.write(markup);\n normalizedMarkup = normalizer.contentDocument.documentElement.outerHTML;\n document.body.removeChild(normalizer);\n }\n }\n\n var diffIndex = firstDifferenceIndex(normalizedMarkup, rootMarkup);\n var difference = ' (client) ' + normalizedMarkup.substring(diffIndex - 20, diffIndex + 20) + '\\n (server) ' + rootMarkup.substring(diffIndex - 20, diffIndex + 20);\n !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\\'re trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:\\n%s', difference) : _prodInvariant('42', difference) : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, 'React attempted to reuse markup in a container but the ' + 'checksum was invalid. This generally means that you are ' + 'using server rendering and the markup generated on the ' + 'server was not what the client was expecting. React injected ' + 'new markup to compensate which works but you have lost many ' + 'of the benefits of server rendering. Instead, figure out ' + 'why the markup being generated is different on the client ' + 'or server:\\n%s', difference) : void 0;\n }\n }\n }\n\n !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\\'re trying to render a component to the document but you didn\\'t use server rendering. We can\\'t do this without using server rendering due to cross-browser quirks. See ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('43') : void 0;\n\n if (transaction.useCreateElement) {\n while (container.lastChild) {\n container.removeChild(container.lastChild);\n }\n\n DOMLazyTree.insertTreeBefore(container, markup, null);\n } else {\n setInnerHTML(container, markup);\n ReactDOMComponentTree.precacheNode(instance, container.firstChild);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var hostNode = ReactDOMComponentTree.getInstanceFromNode(container.firstChild);\n\n if (hostNode._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: hostNode._debugID,\n type: 'mount',\n payload: markup.toString()\n });\n }\n }\n }\n};\nmodule.exports = ReactMount;","/**\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 ReactNodeTypes = require('./ReactNodeTypes');\n\nfunction getHostComponentFromComposite(inst) {\n var type;\n\n while ((type = inst._renderedNodeType) === ReactNodeTypes.COMPOSITE) {\n inst = inst._renderedComponent;\n }\n\n if (type === ReactNodeTypes.HOST) {\n return inst._renderedComponent;\n } else if (type === ReactNodeTypes.EMPTY) {\n return null;\n }\n}\n\nmodule.exports = getHostComponentFromComposite;","'use strict';\n\nexports.__esModule = true;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nexports[\"default\"] = _propTypes2[\"default\"].shape({\n subscribe: _propTypes2[\"default\"].func.isRequired,\n dispatch: _propTypes2[\"default\"].func.isRequired,\n getState: _propTypes2[\"default\"].func.isRequired\n});","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = warning;\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\n\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n\n}","var root = require('./_root');\n/** Built-in value references. */\n\n\nvar _Symbol = root.Symbol;\nmodule.exports = _Symbol;","/* MIT license */\nvar cssKeywords = require('color-name'); // NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\n\nvar reverseKeywords = {};\n\nfor (var key in cssKeywords) {\n if (cssKeywords.hasOwnProperty(key)) {\n reverseKeywords[cssKeywords[key]] = key;\n }\n}\n\nvar convert = module.exports = {\n rgb: {\n channels: 3,\n labels: 'rgb'\n },\n hsl: {\n channels: 3,\n labels: 'hsl'\n },\n hsv: {\n channels: 3,\n labels: 'hsv'\n },\n hwb: {\n channels: 3,\n labels: 'hwb'\n },\n cmyk: {\n channels: 4,\n labels: 'cmyk'\n },\n xyz: {\n channels: 3,\n labels: 'xyz'\n },\n lab: {\n channels: 3,\n labels: 'lab'\n },\n lch: {\n channels: 3,\n labels: 'lch'\n },\n hex: {\n channels: 1,\n labels: ['hex']\n },\n keyword: {\n channels: 1,\n labels: ['keyword']\n },\n ansi16: {\n channels: 1,\n labels: ['ansi16']\n },\n ansi256: {\n channels: 1,\n labels: ['ansi256']\n },\n hcg: {\n channels: 3,\n labels: ['h', 'c', 'g']\n },\n apple: {\n channels: 3,\n labels: ['r16', 'g16', 'b16']\n },\n gray: {\n channels: 1,\n labels: ['gray']\n }\n}; // hide .channels and .labels properties\n\nfor (var model in convert) {\n if (convert.hasOwnProperty(model)) {\n if (!('channels' in convert[model])) {\n throw new Error('missing channels property: ' + model);\n }\n\n if (!('labels' in convert[model])) {\n throw new Error('missing channel labels property: ' + model);\n }\n\n if (convert[model].labels.length !== convert[model].channels) {\n throw new Error('channel and label counts mismatch: ' + model);\n }\n\n var channels = convert[model].channels;\n var labels = convert[model].labels;\n delete convert[model].channels;\n delete convert[model].labels;\n Object.defineProperty(convert[model], 'channels', {\n value: channels\n });\n Object.defineProperty(convert[model], 'labels', {\n value: labels\n });\n }\n}\n\nconvert.rgb.hsl = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var h;\n var s;\n var l;\n\n if (max === min) {\n h = 0;\n } else if (r === max) {\n h = (g - b) / delta;\n } else if (g === max) {\n h = 2 + (b - r) / delta;\n } else if (b === max) {\n h = 4 + (r - g) / delta;\n }\n\n h = Math.min(h * 60, 360);\n\n if (h < 0) {\n h += 360;\n }\n\n l = (min + max) / 2;\n\n if (max === min) {\n s = 0;\n } else if (l <= 0.5) {\n s = delta / (max + min);\n } else {\n s = delta / (2 - max - min);\n }\n\n return [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n var rdif;\n var gdif;\n var bdif;\n var h;\n var s;\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var v = Math.max(r, g, b);\n var diff = v - Math.min(r, g, b);\n\n var diffc = function diffc(c) {\n return (v - c) / 6 / diff + 1 / 2;\n };\n\n if (diff === 0) {\n h = s = 0;\n } else {\n s = diff / v;\n rdif = diffc(r);\n gdif = diffc(g);\n bdif = diffc(b);\n\n if (r === v) {\n h = bdif - gdif;\n } else if (g === v) {\n h = 1 / 3 + rdif - bdif;\n } else if (b === v) {\n h = 2 / 3 + gdif - rdif;\n }\n\n if (h < 0) {\n h += 1;\n } else if (h > 1) {\n h -= 1;\n }\n }\n\n return [h * 360, s * 100, v * 100];\n};\n\nconvert.rgb.hwb = function (rgb) {\n var r = rgb[0];\n var g = rgb[1];\n var b = rgb[2];\n var h = convert.rgb.hsl(rgb)[0];\n var w = 1 / 255 * Math.min(r, Math.min(g, b));\n b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n return [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var c;\n var m;\n var y;\n var k;\n k = Math.min(1 - r, 1 - g, 1 - b);\n c = (1 - r - k) / (1 - k) || 0;\n m = (1 - g - k) / (1 - k) || 0;\n y = (1 - b - k) / (1 - k) || 0;\n return [c * 100, m * 100, y * 100, k * 100];\n};\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\n\n\nfunction comparativeDistance(x, y) {\n return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);\n}\n\nconvert.rgb.keyword = function (rgb) {\n var reversed = reverseKeywords[rgb];\n\n if (reversed) {\n return reversed;\n }\n\n var currentClosestDistance = Infinity;\n var currentClosestKeyword;\n\n for (var keyword in cssKeywords) {\n if (cssKeywords.hasOwnProperty(keyword)) {\n var value = cssKeywords[keyword]; // Compute comparative distance\n\n var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest\n\n if (distance < currentClosestDistance) {\n currentClosestDistance = distance;\n currentClosestKeyword = keyword;\n }\n }\n }\n\n return currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n return cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255; // assume sRGB\n\n r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;\n var x = r * 0.4124 + g * 0.3576 + b * 0.1805;\n var y = r * 0.2126 + g * 0.7152 + b * 0.0722;\n var z = r * 0.0193 + g * 0.1192 + b * 0.9505;\n return [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n var xyz = convert.rgb.xyz(rgb);\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n var l;\n var a;\n var b;\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n l = 116 * y - 16;\n a = 500 * (x - y);\n b = 200 * (y - z);\n return [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n var h = hsl[0] / 360;\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var t1;\n var t2;\n var t3;\n var rgb;\n var val;\n\n if (s === 0) {\n val = l * 255;\n return [val, val, val];\n }\n\n if (l < 0.5) {\n t2 = l * (1 + s);\n } else {\n t2 = l + s - l * s;\n }\n\n t1 = 2 * l - t2;\n rgb = [0, 0, 0];\n\n for (var i = 0; i < 3; i++) {\n t3 = h + 1 / 3 * -(i - 1);\n\n if (t3 < 0) {\n t3++;\n }\n\n if (t3 > 1) {\n t3--;\n }\n\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n } else if (2 * t3 < 1) {\n val = t2;\n } else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n } else {\n val = t1;\n }\n\n rgb[i] = val * 255;\n }\n\n return rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n var h = hsl[0];\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var smin = s;\n var lmin = Math.max(l, 0.01);\n var sv;\n var v;\n l *= 2;\n s *= l <= 1 ? l : 2 - l;\n smin *= lmin <= 1 ? lmin : 2 - lmin;\n v = (l + s) / 2;\n sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);\n return [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n var h = hsv[0] / 60;\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var hi = Math.floor(h) % 6;\n var f = h - Math.floor(h);\n var p = 255 * v * (1 - s);\n var q = 255 * v * (1 - s * f);\n var t = 255 * v * (1 - s * (1 - f));\n v *= 255;\n\n switch (hi) {\n case 0:\n return [v, t, p];\n\n case 1:\n return [q, v, p];\n\n case 2:\n return [p, v, t];\n\n case 3:\n return [p, q, v];\n\n case 4:\n return [t, p, v];\n\n case 5:\n return [v, p, q];\n }\n};\n\nconvert.hsv.hsl = function (hsv) {\n var h = hsv[0];\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var vmin = Math.max(v, 0.01);\n var lmin;\n var sl;\n var l;\n l = (2 - s) * v;\n lmin = (2 - s) * vmin;\n sl = s * vmin;\n sl /= lmin <= 1 ? lmin : 2 - lmin;\n sl = sl || 0;\n l /= 2;\n return [h, sl * 100, l * 100];\n}; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb\n\n\nconvert.hwb.rgb = function (hwb) {\n var h = hwb[0] / 360;\n var wh = hwb[1] / 100;\n var bl = hwb[2] / 100;\n var ratio = wh + bl;\n var i;\n var v;\n var f;\n var n; // wh + bl cant be > 1\n\n if (ratio > 1) {\n wh /= ratio;\n bl /= ratio;\n }\n\n i = Math.floor(6 * h);\n v = 1 - bl;\n f = 6 * h - i;\n\n if ((i & 0x01) !== 0) {\n f = 1 - f;\n }\n\n n = wh + f * (v - wh); // linear interpolation\n\n var r;\n var g;\n var b;\n\n switch (i) {\n default:\n case 6:\n case 0:\n r = v;\n g = n;\n b = wh;\n break;\n\n case 1:\n r = n;\n g = v;\n b = wh;\n break;\n\n case 2:\n r = wh;\n g = v;\n b = n;\n break;\n\n case 3:\n r = wh;\n g = n;\n b = v;\n break;\n\n case 4:\n r = n;\n g = wh;\n b = v;\n break;\n\n case 5:\n r = v;\n g = wh;\n b = n;\n break;\n }\n\n return [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n var c = cmyk[0] / 100;\n var m = cmyk[1] / 100;\n var y = cmyk[2] / 100;\n var k = cmyk[3] / 100;\n var r;\n var g;\n var b;\n r = 1 - Math.min(1, c * (1 - k) + k);\n g = 1 - Math.min(1, m * (1 - k) + k);\n b = 1 - Math.min(1, y * (1 - k) + k);\n return [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n var x = xyz[0] / 100;\n var y = xyz[1] / 100;\n var z = xyz[2] / 100;\n var r;\n var g;\n var b;\n r = x * 3.2406 + y * -1.5372 + z * -0.4986;\n g = x * -0.9689 + y * 1.8758 + z * 0.0415;\n b = x * 0.0557 + y * -0.2040 + z * 1.0570; // assume sRGB\n\n r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;\n g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;\n b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;\n r = Math.min(Math.max(0, r), 1);\n g = Math.min(Math.max(0, g), 1);\n b = Math.min(Math.max(0, b), 1);\n return [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n var l;\n var a;\n var b;\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n l = 116 * y - 16;\n a = 500 * (x - y);\n b = 200 * (y - z);\n return [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var x;\n var y;\n var z;\n y = (l + 16) / 116;\n x = a / 500 + y;\n z = y - b / 200;\n var y2 = Math.pow(y, 3);\n var x2 = Math.pow(x, 3);\n var z2 = Math.pow(z, 3);\n y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n x *= 95.047;\n y *= 100;\n z *= 108.883;\n return [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var hr;\n var h;\n var c;\n hr = Math.atan2(b, a);\n h = hr * 360 / 2 / Math.PI;\n\n if (h < 0) {\n h += 360;\n }\n\n c = Math.sqrt(a * a + b * b);\n return [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n var l = lch[0];\n var c = lch[1];\n var h = lch[2];\n var a;\n var b;\n var hr;\n hr = h / 360 * 2 * Math.PI;\n a = c * Math.cos(hr);\n b = c * Math.sin(hr);\n return [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n var r = args[0];\n var g = args[1];\n var b = args[2];\n var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n value = Math.round(value / 50);\n\n if (value === 0) {\n return 30;\n }\n\n var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));\n\n if (value === 2) {\n ansi += 60;\n }\n\n return ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n // optimization here; we already know the value and don't need to get\n // it converted for us.\n return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n var r = args[0];\n var g = args[1];\n var b = args[2]; // we use the extended greyscale palette here, with the exception of\n // black and white. normal palette only has 4 greyscale shades.\n\n if (r === g && g === b) {\n if (r < 8) {\n return 16;\n }\n\n if (r > 248) {\n return 231;\n }\n\n return Math.round((r - 8) / 247 * 24) + 232;\n }\n\n var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);\n return ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n var color = args % 10; // handle greyscale\n\n if (color === 0 || color === 7) {\n if (args > 50) {\n color += 3.5;\n }\n\n color = color / 10.5 * 255;\n return [color, color, color];\n }\n\n var mult = (~~(args > 50) + 1) * 0.5;\n var r = (color & 1) * mult * 255;\n var g = (color >> 1 & 1) * mult * 255;\n var b = (color >> 2 & 1) * mult * 255;\n return [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n // handle greyscale\n if (args >= 232) {\n var c = (args - 232) * 10 + 8;\n return [c, c, c];\n }\n\n args -= 16;\n var rem;\n var r = Math.floor(args / 36) / 5 * 255;\n var g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n var b = rem % 6 / 5 * 255;\n return [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\n if (!match) {\n return [0, 0, 0];\n }\n\n var colorString = match[0];\n\n if (match[0].length === 3) {\n colorString = colorString.split('').map(function (char) {\n return char + char;\n }).join('');\n }\n\n var integer = parseInt(colorString, 16);\n var r = integer >> 16 & 0xFF;\n var g = integer >> 8 & 0xFF;\n var b = integer & 0xFF;\n return [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var max = Math.max(Math.max(r, g), b);\n var min = Math.min(Math.min(r, g), b);\n var chroma = max - min;\n var grayscale;\n var hue;\n\n if (chroma < 1) {\n grayscale = min / (1 - chroma);\n } else {\n grayscale = 0;\n }\n\n if (chroma <= 0) {\n hue = 0;\n } else if (max === r) {\n hue = (g - b) / chroma % 6;\n } else if (max === g) {\n hue = 2 + (b - r) / chroma;\n } else {\n hue = 4 + (r - g) / chroma + 4;\n }\n\n hue /= 6;\n hue %= 1;\n return [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var c = 1;\n var f = 0;\n\n if (l < 0.5) {\n c = 2.0 * s * l;\n } else {\n c = 2.0 * s * (1.0 - l);\n }\n\n if (c < 1.0) {\n f = (l - 0.5 * c) / (1.0 - c);\n }\n\n return [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var c = s * v;\n var f = 0;\n\n if (c < 1.0) {\n f = (v - c) / (1 - c);\n }\n\n return [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n var h = hcg[0] / 360;\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n\n if (c === 0.0) {\n return [g * 255, g * 255, g * 255];\n }\n\n var pure = [0, 0, 0];\n var hi = h % 1 * 6;\n var v = hi % 1;\n var w = 1 - v;\n var mg = 0;\n\n switch (Math.floor(hi)) {\n case 0:\n pure[0] = 1;\n pure[1] = v;\n pure[2] = 0;\n break;\n\n case 1:\n pure[0] = w;\n pure[1] = 1;\n pure[2] = 0;\n break;\n\n case 2:\n pure[0] = 0;\n pure[1] = 1;\n pure[2] = v;\n break;\n\n case 3:\n pure[0] = 0;\n pure[1] = w;\n pure[2] = 1;\n break;\n\n case 4:\n pure[0] = v;\n pure[1] = 0;\n pure[2] = 1;\n break;\n\n default:\n pure[0] = 1;\n pure[1] = 0;\n pure[2] = w;\n }\n\n mg = (1.0 - c) * g;\n return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];\n};\n\nconvert.hcg.hsv = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n var f = 0;\n\n if (v > 0.0) {\n f = c / v;\n }\n\n return [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var l = g * (1.0 - c) + 0.5 * c;\n var s = 0;\n\n if (l > 0.0 && l < 0.5) {\n s = c / (2 * l);\n } else if (l >= 0.5 && l < 1.0) {\n s = c / (2 * (1 - l));\n }\n\n return [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n return [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n var w = hwb[1] / 100;\n var b = hwb[2] / 100;\n var v = 1 - b;\n var c = v - w;\n var g = 0;\n\n if (c < 1) {\n g = (v - c) / (1 - c);\n }\n\n return [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n return [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n return [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n return [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n return [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n var val = Math.round(gray[0] / 100 * 255) & 0xFF;\n var integer = (val << 16) + (val << 8) + val;\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n var val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n return [val / 255 * 100];\n};","'use strict';\n\nexports.__esModule = true;\nexports.readState = exports.saveState = undefined;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar QuotaExceededErrors = {\n QuotaExceededError: true,\n QUOTA_EXCEEDED_ERR: true\n};\nvar SecurityErrors = {\n SecurityError: true\n};\nvar KeyPrefix = '@@History/';\n\nvar createKey = function createKey(key) {\n return KeyPrefix + key;\n};\n\nvar saveState = exports.saveState = function saveState(key, state) {\n if (!window.sessionStorage) {\n // Session storage is not available or hidden.\n // sessionStorage is undefined in Internet Explorer when served via file protocol.\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available') : void 0;\n return;\n }\n\n try {\n if (state == null) {\n window.sessionStorage.removeItem(createKey(key));\n } else {\n window.sessionStorage.setItem(createKey(key), JSON.stringify(state));\n }\n } catch (error) {\n if (SecurityErrors[error.name]) {\n // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any\n // attempt to access window.sessionStorage.\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available due to security settings') : void 0;\n return;\n }\n\n if (QuotaExceededErrors[error.name] && window.sessionStorage.length === 0) {\n // Safari \"private mode\" throws QuotaExceededError.\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available in Safari private mode') : void 0;\n return;\n }\n\n throw error;\n }\n};\n\nvar readState = exports.readState = function readState(key) {\n var json = void 0;\n\n try {\n json = window.sessionStorage.getItem(createKey(key));\n } catch (error) {\n if (SecurityErrors[error.name]) {\n // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any\n // attempt to access window.sessionStorage.\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to read state; sessionStorage is not available due to security settings') : void 0;\n return undefined;\n }\n }\n\n if (json) {\n try {\n return JSON.parse(json);\n } catch (error) {// Ignore invalid JSON.\n }\n }\n\n return undefined;\n};","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Base class for EAN8 & EAN13\n\n\nvar EAN = function (_Barcode) {\n _inherits(EAN, _Barcode);\n\n function EAN(data, options) {\n _classCallCheck(this, EAN); // Make sure the font is not bigger than the space between the guard bars\n\n\n var _this = _possibleConstructorReturn(this, (EAN.__proto__ || Object.getPrototypeOf(EAN)).call(this, data, options));\n\n _this.fontSize = !options.flat && options.fontSize > options.width * 10 ? options.width * 10 : options.fontSize; // Make the guard bars go down half the way of the text\n\n _this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n return _this;\n }\n\n _createClass(EAN, [{\n key: 'encode',\n value: function encode() {\n return this.options.flat ? this.encodeFlat() : this.encodeGuarded();\n }\n }, {\n key: 'leftText',\n value: function leftText(from, to) {\n return this.text.substr(from, to);\n }\n }, {\n key: 'leftEncode',\n value: function leftEncode(data, structure) {\n return (0, _encoder2.default)(data, structure);\n }\n }, {\n key: 'rightText',\n value: function rightText(from, to) {\n return this.text.substr(from, to);\n }\n }, {\n key: 'rightEncode',\n value: function rightEncode(data, structure) {\n return (0, _encoder2.default)(data, structure);\n }\n }, {\n key: 'encodeGuarded',\n value: function encodeGuarded() {\n var textOptions = {\n fontSize: this.fontSize\n };\n var guardOptions = {\n height: this.guardHeight\n };\n return [{\n data: _constants.SIDE_BIN,\n options: guardOptions\n }, {\n data: this.leftEncode(),\n text: this.leftText(),\n options: textOptions\n }, {\n data: _constants.MIDDLE_BIN,\n options: guardOptions\n }, {\n data: this.rightEncode(),\n text: this.rightText(),\n options: textOptions\n }, {\n data: _constants.SIDE_BIN,\n options: guardOptions\n }];\n }\n }, {\n key: 'encodeFlat',\n value: function encodeFlat() {\n var data = [_constants.SIDE_BIN, this.leftEncode(), _constants.MIDDLE_BIN, this.rightEncode(), _constants.SIDE_BIN];\n return {\n data: data.join(''),\n text: this.text\n };\n }\n }]);\n\n return EAN;\n}(_Barcode3.default);\n\nexports.default = EAN;","\"use strict\";\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nexports.checksum = checksum;\n\nvar _encoder = require(\"./encoder\");\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Encoding documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#Encoding\n\n\nvar UPC = function (_Barcode) {\n _inherits(UPC, _Barcode);\n\n function UPC(data, options) {\n _classCallCheck(this, UPC); // Add checksum if it does not exist\n\n\n if (data.search(/^[0-9]{11}$/) !== -1) {\n data += checksum(data);\n }\n\n var _this = _possibleConstructorReturn(this, (UPC.__proto__ || Object.getPrototypeOf(UPC)).call(this, data, options));\n\n _this.displayValue = options.displayValue; // Make sure the font is not bigger than the space between the guard bars\n\n if (options.fontSize > options.width * 10) {\n _this.fontSize = options.width * 10;\n } else {\n _this.fontSize = options.fontSize;\n } // Make the guard bars go down half the way of the text\n\n\n _this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n return _this;\n }\n\n _createClass(UPC, [{\n key: \"valid\",\n value: function valid() {\n return this.data.search(/^[0-9]{12}$/) !== -1 && this.data[11] == checksum(this.data);\n }\n }, {\n key: \"encode\",\n value: function encode() {\n if (this.options.flat) {\n return this.flatEncoding();\n } else {\n return this.guardedEncoding();\n }\n }\n }, {\n key: \"flatEncoding\",\n value: function flatEncoding() {\n var result = \"\";\n result += \"101\";\n result += (0, _encoder2.default)(this.data.substr(0, 6), \"LLLLLL\");\n result += \"01010\";\n result += (0, _encoder2.default)(this.data.substr(6, 6), \"RRRRRR\");\n result += \"101\";\n return {\n data: result,\n text: this.text\n };\n }\n }, {\n key: \"guardedEncoding\",\n value: function guardedEncoding() {\n var result = []; // Add the first digit\n\n if (this.displayValue) {\n result.push({\n data: \"00000000\",\n text: this.text.substr(0, 1),\n options: {\n textAlign: \"left\",\n fontSize: this.fontSize\n }\n });\n } // Add the guard bars\n\n\n result.push({\n data: \"101\" + (0, _encoder2.default)(this.data[0], \"L\"),\n options: {\n height: this.guardHeight\n }\n }); // Add the left side\n\n result.push({\n data: (0, _encoder2.default)(this.data.substr(1, 5), \"LLLLL\"),\n text: this.text.substr(1, 5),\n options: {\n fontSize: this.fontSize\n }\n }); // Add the middle bits\n\n result.push({\n data: \"01010\",\n options: {\n height: this.guardHeight\n }\n }); // Add the right side\n\n result.push({\n data: (0, _encoder2.default)(this.data.substr(6, 5), \"RRRRR\"),\n text: this.text.substr(6, 5),\n options: {\n fontSize: this.fontSize\n }\n }); // Add the end bits\n\n result.push({\n data: (0, _encoder2.default)(this.data[11], \"R\") + \"101\",\n options: {\n height: this.guardHeight\n }\n }); // Add the last digit\n\n if (this.displayValue) {\n result.push({\n data: \"00000000\",\n text: this.text.substr(11, 1),\n options: {\n textAlign: \"right\",\n fontSize: this.fontSize\n }\n });\n }\n\n return result;\n }\n }]);\n\n return UPC;\n}(_Barcode3.default); // Calulate the checksum digit\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit\n\n\nfunction checksum(number) {\n var result = 0;\n var i;\n\n for (i = 1; i < 11; i += 2) {\n result += parseInt(number[i]);\n }\n\n for (i = 0; i < 11; i += 2) {\n result += parseInt(number[i]) * 3;\n }\n\n return (10 - result % 10) % 10;\n}\n\nexports.default = UPC;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _constants = require('./constants');\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar ITF = function (_Barcode) {\n _inherits(ITF, _Barcode);\n\n function ITF() {\n _classCallCheck(this, ITF);\n\n return _possibleConstructorReturn(this, (ITF.__proto__ || Object.getPrototypeOf(ITF)).apply(this, arguments));\n }\n\n _createClass(ITF, [{\n key: 'valid',\n value: function valid() {\n return this.data.search(/^([0-9]{2})+$/) !== -1;\n }\n }, {\n key: 'encode',\n value: function encode() {\n var _this2 = this; // Calculate all the digit pairs\n\n\n var encoded = this.data.match(/.{2}/g).map(function (pair) {\n return _this2.encodePair(pair);\n }).join('');\n return {\n data: _constants.START_BIN + encoded + _constants.END_BIN,\n text: this.text\n };\n } // Calculate the data of a number pair\n\n }, {\n key: 'encodePair',\n value: function encodePair(pair) {\n var second = _constants.BINARIES[pair[1]];\n return _constants.BINARIES[pair[0]].split('').map(function (first, idx) {\n return (first === '1' ? '111' : '1') + (second[idx] === '1' ? '000' : '0');\n }).join('');\n }\n }]);\n\n return ITF;\n}(_Barcode3.default);\n\nexports.default = ITF;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = optionsFromStrings; // Convert string to integers/booleans where it should be\n\nfunction optionsFromStrings(options) {\n var intOptions = [\"width\", \"height\", \"textMargin\", \"fontSize\", \"margin\", \"marginTop\", \"marginBottom\", \"marginLeft\", \"marginRight\"];\n\n for (var intOption in intOptions) {\n if (intOptions.hasOwnProperty(intOption)) {\n intOption = intOptions[intOption];\n\n if (typeof options[intOption] === \"string\") {\n options[intOption] = parseInt(options[intOption], 10);\n }\n }\n }\n\n if (typeof options[\"displayValue\"] === \"string\") {\n options[\"displayValue\"] = options[\"displayValue\"] != \"false\";\n }\n\n return options;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar defaults = {\n width: 2,\n height: 100,\n format: \"auto\",\n displayValue: true,\n fontOptions: \"\",\n font: \"monospace\",\n text: undefined,\n textAlign: \"center\",\n textPosition: \"bottom\",\n textMargin: 2,\n fontSize: 20,\n background: \"#ffffff\",\n lineColor: \"#000000\",\n margin: 10,\n marginTop: undefined,\n marginBottom: undefined,\n marginLeft: undefined,\n marginRight: undefined,\n valid: function valid() {}\n};\nexports.default = defaults;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTotalWidthOfEncodings = exports.calculateEncodingAttributes = exports.getBarcodePadding = exports.getEncodingHeight = exports.getMaximumHeightOfEncodings = undefined;\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction getEncodingHeight(encoding, options) {\n return options.height + (options.displayValue && encoding.text.length > 0 ? options.fontSize + options.textMargin : 0) + options.marginTop + options.marginBottom;\n}\n\nfunction getBarcodePadding(textWidth, barcodeWidth, options) {\n if (options.displayValue && barcodeWidth < textWidth) {\n if (options.textAlign == \"center\") {\n return Math.floor((textWidth - barcodeWidth) / 2);\n } else if (options.textAlign == \"left\") {\n return 0;\n } else if (options.textAlign == \"right\") {\n return Math.floor(textWidth - barcodeWidth);\n }\n }\n\n return 0;\n}\n\nfunction calculateEncodingAttributes(encodings, barcodeOptions, context) {\n for (var i = 0; i < encodings.length; i++) {\n var encoding = encodings[i];\n var options = (0, _merge2.default)(barcodeOptions, encoding.options); // Calculate the width of the encoding\n\n var textWidth;\n\n if (options.displayValue) {\n textWidth = messureText(encoding.text, options, context);\n } else {\n textWidth = 0;\n }\n\n var barcodeWidth = encoding.data.length * options.width;\n encoding.width = Math.ceil(Math.max(textWidth, barcodeWidth));\n encoding.height = getEncodingHeight(encoding, options);\n encoding.barcodePadding = getBarcodePadding(textWidth, barcodeWidth, options);\n }\n}\n\nfunction getTotalWidthOfEncodings(encodings) {\n var totalWidth = 0;\n\n for (var i = 0; i < encodings.length; i++) {\n totalWidth += encodings[i].width;\n }\n\n return totalWidth;\n}\n\nfunction getMaximumHeightOfEncodings(encodings) {\n var maxHeight = 0;\n\n for (var i = 0; i < encodings.length; i++) {\n if (encodings[i].height > maxHeight) {\n maxHeight = encodings[i].height;\n }\n }\n\n return maxHeight;\n}\n\nfunction messureText(string, options, context) {\n var ctx;\n\n if (context) {\n ctx = context;\n } else if (typeof document !== \"undefined\") {\n ctx = document.createElement(\"canvas\").getContext(\"2d\");\n } else {\n // If the text cannot be messured we will return 0.\n // This will make some barcode with big text render incorrectly\n return 0;\n }\n\n ctx.font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font; // Calculate the width of the encoding\n\n var measureTextResult = ctx.measureText(string);\n\n if (!measureTextResult) {\n // Some implementations don't implement measureText and return undefined.\n // If the text cannot be measured we will return 0.\n // This will make some barcode with big text render incorrectly\n return 0;\n }\n\n var size = measureTextResult.width;\n return size;\n}\n\nexports.getMaximumHeightOfEncodings = getMaximumHeightOfEncodings;\nexports.getEncodingHeight = getEncodingHeight;\nexports.getBarcodePadding = getBarcodePadding;\nexports.calculateEncodingAttributes = calculateEncodingAttributes;\nexports.getTotalWidthOfEncodings = getTotalWidthOfEncodings;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar InvalidInputException = function (_Error) {\n _inherits(InvalidInputException, _Error);\n\n function InvalidInputException(symbology, input) {\n _classCallCheck(this, InvalidInputException);\n\n var _this = _possibleConstructorReturn(this, (InvalidInputException.__proto__ || Object.getPrototypeOf(InvalidInputException)).call(this));\n\n _this.name = \"InvalidInputException\";\n _this.symbology = symbology;\n _this.input = input;\n _this.message = '\"' + _this.input + '\" is not a valid input for ' + _this.symbology;\n return _this;\n }\n\n return InvalidInputException;\n}(Error);\n\nvar InvalidElementException = function (_Error2) {\n _inherits(InvalidElementException, _Error2);\n\n function InvalidElementException() {\n _classCallCheck(this, InvalidElementException);\n\n var _this2 = _possibleConstructorReturn(this, (InvalidElementException.__proto__ || Object.getPrototypeOf(InvalidElementException)).call(this));\n\n _this2.name = \"InvalidElementException\";\n _this2.message = \"Not supported type to render on\";\n return _this2;\n }\n\n return InvalidElementException;\n}(Error);\n\nvar NoElementException = function (_Error3) {\n _inherits(NoElementException, _Error3);\n\n function NoElementException() {\n _classCallCheck(this, NoElementException);\n\n var _this3 = _possibleConstructorReturn(this, (NoElementException.__proto__ || Object.getPrototypeOf(NoElementException)).call(this));\n\n _this3.name = \"NoElementException\";\n _this3.message = \"No element to render on.\";\n return _this3;\n }\n\n return NoElementException;\n}(Error);\n\nexports.InvalidInputException = InvalidInputException;\nexports.InvalidElementException = InvalidElementException;\nexports.NoElementException = NoElementException;","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\n//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function isPM(input) {\n return /^nm$/i.test(input);\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1,\n // Maandag is die eerste dag van die week.\n doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n\n }\n });\n return af;\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\n//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n },\n pluralForm = function pluralForm(n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function pluralize(u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: \"D/\\u200FM/\\u200FYYYY\",\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n preparse: function preparse(string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return ar;\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\n//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var pluralForm = function pluralForm(n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function pluralize(u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: \"D/\\u200FM/\\u200FYYYY\",\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arDz;\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\n//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return arKw;\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\n//! moment.js locale configuration\n//! locale : Arabic (Lybia) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0'\n },\n pluralForm = function pluralForm(n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function pluralize(u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: \"D/\\u200FM/\\u200FYYYY\",\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return arLy;\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\n//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arMa;\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\n//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n preparse: function preparse(string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return arSa;\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\n//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arTn;\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\n//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function isPM(input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function ordinal(number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return az;\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\n//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function nextWeek() {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function isPM(input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && number % 100 !== 12 && number % 100 !== 13 ? number + '-і' : number + '-ы';\n\n case 'D':\n return number + '-га';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return be;\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\n//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function ordinal(number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return bg;\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\n//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return bm;\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\n//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর'\n },\n preparse: function preparse(string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'রাত' && hour >= 4 || meridiem === 'দুপুর' && hour < 5 || meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bn;\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\n//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর'\n },\n preparse: function preparse(string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bnBd;\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\n//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split('_'),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ'\n },\n preparse: function preparse(string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'མཚན་མོ' && hour >= 4 || meridiem === 'ཉིན་གུང' && hour < 5 || meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bo;\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\n//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n\n default:\n return number + ' vloaz';\n }\n }\n\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n\n return number;\n }\n\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n\n return text;\n }\n\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z'\n };\n\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [/^gen/i, /^c[ʼ\\']hwe/i, /^meu/i, /^ebr/i, /^mae/i, /^(mez|eve)/i, /^gou/i, /^eos/i, /^gwe/i, /^her/i, /^du/i, /^ker/i],\n monthsRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex = /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [/^sul/i, /^lun/i, /^meurzh/i, /^merc[ʼ\\']her/i, /^yaou/i, /^gwener/i, /^sadorn/i],\n shortWeekdaysParse = [/^Sul/i, /^Lun/i, /^Meu/i, /^Mer/i, /^Yao/i, /^Gwe/i, /^Sad/i],\n minWeekdaysParse = [/^Su/i, /^Lu/i, /^Me([^r]|$)/i, /^Mer/i, /^Ya/i, /^Gw/i, /^Sa/i];\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function ordinal(number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n meridiemParse: /a.m.|g.m./,\n // goude merenn | a-raok merenn\n isPM: function isPM(token) {\n return token === 'g.m.';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n }\n });\n return br;\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\n//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n\n return result;\n\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n\n return result;\n\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n\n return result;\n\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n\n case 6:\n return '[prošle] [subote] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return bs;\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\n//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function nextDay() {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [passat a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function ordinal(number, period) {\n var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è';\n\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ca;\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\n//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return cv;\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\n//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function ordinal(number) {\n var b = number,\n output = '',\n lookup = ['', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return cy;\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\n//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return da;\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\n//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return de;\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\n//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return deAt;\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\n//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return deCh;\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\n//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['ޖެނުއަރީ', 'ފެބްރުއަރީ', 'މާރިޗު', 'އޭޕްރީލު', 'މޭ', 'ޖޫން', 'ޖުލައި', 'އޯގަސްޓު', 'ސެޕްޓެމްބަރު', 'އޮކްޓޯބަރު', 'ނޮވެމްބަރު', 'ޑިސެމްބަރު'],\n weekdays = ['އާދިއްތަ', 'ހޯމަ', 'އަންގާރަ', 'ބުދަ', 'ބުރާސްފަތި', 'ހުކުރު', 'ހޮނިހިރު'];\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM: function isPM(input) {\n return 'މފ' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d'\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7,\n // Sunday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return dv;\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\n//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function isFunction(input) {\n return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months: function months(momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function isPM(input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L'\n },\n calendar: function calendar(key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4st is the first week of the year.\n\n }\n });\n return el;\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\n//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enAu;\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\n//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n });\n return enCa;\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\n//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enIe;\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\n//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n });\n return enIl;\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\n//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return enIn;\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\n//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enNz;\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\n//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enSg;\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\n//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function isPM(input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago',\n //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return eo;\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\n//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n invalidDate: 'Fecha inválida'\n });\n return es;\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\n//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return esDo;\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\n//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n invalidDate: 'Fecha inválida'\n });\n return esMx;\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\n//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return esUs;\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\n//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat']\n };\n\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return et;\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\n//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact: true,\n weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return eu;\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\n//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰'\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays: \"\\u06CC\\u06A9\\u200C\\u0634\\u0646\\u0628\\u0647_\\u062F\\u0648\\u0634\\u0646\\u0628\\u0647_\\u0633\\u0647\\u200C\\u0634\\u0646\\u0628\\u0647_\\u0686\\u0647\\u0627\\u0631\\u0634\\u0646\\u0628\\u0647_\\u067E\\u0646\\u062C\\u200C\\u0634\\u0646\\u0628\\u0647_\\u062C\\u0645\\u0639\\u0647_\\u0634\\u0646\\u0628\\u0647\".split('_'),\n weekdaysShort: \"\\u06CC\\u06A9\\u200C\\u0634\\u0646\\u0628\\u0647_\\u062F\\u0648\\u0634\\u0646\\u0628\\u0647_\\u0633\\u0647\\u200C\\u0634\\u0646\\u0628\\u0647_\\u0686\\u0647\\u0627\\u0631\\u0634\\u0646\\u0628\\u0647_\\u067E\\u0646\\u062C\\u200C\\u0634\\u0646\\u0628\\u0647_\\u062C\\u0645\\u0639\\u0647_\\u0634\\u0646\\u0628\\u0647\".split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function isPM(input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال'\n },\n preparse: function preparse(string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return fa;\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\n//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', numbersPast[7], numbersPast[8], numbersPast[9]];\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n\n function verbalNumber(number, isFuture) {\n return number < 10 ? isFuture ? numbersFuture[number] : numbersPast[number] : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fi;\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\n//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function ordinal(number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fil;\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\n//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fo;\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\n//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [/^janv/i, /^févr/i, /^mars/i, /^avr/i, /^mai/i, /^juin/i, /^juil/i, /^août/i, /^sept/i, /^oct/i, /^nov/i, /^déc/i];\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n // Words with masculine grammatical gender: mois, trimestre, jour\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fr;\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\n//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n return frCa;\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\n//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return frCh;\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\n//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fy;\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\n//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Meitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deireadh Fómhair', 'Samhain', 'Nollaig'],\n monthsShort = ['Ean', 'Feabh', 'Márt', 'Aib', 'Beal', 'Meith', 'Iúil', 'Lún', 'M.F.', 'D.F.', 'Samh', 'Noll'],\n weekdays = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Sathairn'],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function ordinal(number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ga;\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\n//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'],\n monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'],\n weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function ordinal(number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return gd;\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\n//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function lastDay() {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return gl;\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\n//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां']\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split('_'),\n isFormat: /MMMM(\\s)+D[oD]?/\n },\n monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]'\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week\n doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n }\n });\n return gomDeva;\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\n//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam']\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split('_'),\n isFormat: /MMMM(\\s)+D[oD]?/\n },\n monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week\n doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n return gomLatn;\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\n//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function preparse(string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return gu;\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\n//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function hh(number) {\n if (number === 2) {\n return 'שעתיים';\n }\n\n return number + ' שעות';\n },\n d: 'יום',\n dd: function dd(number) {\n if (number === 2) {\n return 'יומיים';\n }\n\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function MM(number) {\n if (number === 2) {\n return 'חודשיים';\n }\n\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function yy(number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function isPM(input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n return he;\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\n//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n },\n monthsParse = [/^जन/i, /^फ़र|फर/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सितं|सित/i, /^अक्टू/i, /^नव|नवं/i, /^दिसं|दिस/i],\n shortMonthsParse = [/^जन/i, /^फ़र/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सित/i, /^अक्टू/i, /^नव/i, /^दिस/i];\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split('_')\n },\n monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n monthsRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n monthsShortRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n monthsShortStrictRegex: /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष'\n },\n preparse: function preparse(string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return hi;\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\n//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n\n return result;\n\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n\n return result;\n\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n\n return result;\n\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n\n case 6:\n return '[prošle] [subote] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return hr;\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\n//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n\n switch (key) {\n case 's':\n return isFuture || withoutSuffix ? 'néhány másodperc' : 'néhány másodperce';\n\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n\n return '';\n }\n\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function isPM(input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function nextWeek() {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function lastWeek() {\n return week.call(this, false);\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return hu;\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\n//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function nextWeek() {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function lastWeek() {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function isPM(input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function meridiem(hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n\n return number + '-րդ';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return hyAm;\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\n//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return id;\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\n//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n\n return true;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n\n return result + 'sekúnda';\n\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n\n return result + 'mínútu';\n\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n\n return result + 'klukkustund';\n\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n\n return isFuture ? 'dag' : 'degi';\n\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n\n return result + (isFuture ? 'dag' : 'degi');\n\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n\n return isFuture ? 'mánuð' : 'mánuði';\n\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n\n return result + (isFuture ? 'mánuð' : 'mánuði');\n\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return is;\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\n//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[Oggi a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n nextDay: function nextDay() {\n return '[Domani a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n lastDay: function lastDay() {\n return '[Ieri a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[La scorsa] dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n\n default:\n return '[Lo scorso] dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return it;\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\n//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return itCh;\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\n//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [{\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R'\n }, {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H'\n }, {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S'\n }, {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T'\n }, {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M'\n }, {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD'\n }, {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC'\n }],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function eraYearOrdinalParse(input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM: function isPM(input) {\n return input === '午後';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function nextWeek(now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function lastWeek(now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年'\n }\n });\n return ja;\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\n//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return jv;\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\n//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(s) {\n return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n });\n },\n past: function past(s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function ordinal(number) {\n if (number === 0) {\n return number;\n }\n\n if (number === 1) {\n return number + '-ლი';\n }\n\n if (number < 20 || number <= 100 && number % 20 === 0 || number % 100 === 0) {\n return 'მე-' + number;\n }\n\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7\n }\n });\n return ka;\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\n//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function ordinal(number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return kk;\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\n//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០'\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function isPM(input) {\n return input === 'ល្ងាច';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function preparse(string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return km;\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\n//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ'\n },\n preparse: function preparse(string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function ordinal(number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return kn;\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\n//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n\n case 'M':\n return number + '월';\n\n case 'w':\n case 'W':\n return number + '주';\n\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function isPM(token) {\n return token === '오후';\n },\n meridiem: function meridiem(hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n return ko;\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\n//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n },\n months = ['کانونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمموز', 'ئاب', 'ئەیلوول', 'تشرینی یەكەم', 'تشرینی دووەم', 'كانونی یەکەم'];\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function isPM(input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ'\n },\n preparse: function preparse(string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return ku;\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\n//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function ordinal(number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ky;\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\n//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n\n return 'an ' + string;\n }\n\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n\n\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n\n if (isNaN(number)) {\n return false;\n }\n\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function lastWeek() {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lb;\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\n//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function isPM(input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function ordinal(number) {\n return 'ທີ່' + number;\n }\n });\n return lo;\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\n//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus'\n };\n\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : isFuture ? forms(key)[1] : forms(key)[2];\n }\n\n function special(number) {\n return number % 10 === 0 || number > 10 && number < 20;\n }\n\n function forms(key) {\n return units[key].split('_');\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function ordinal(number) {\n return number + '-oji';\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lt;\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\n//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lv;\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\n//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {\n return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];\n },\n translate: function translate(number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function lastWeek() {\n var lastWeekDays = ['[prošle] [nedjelje] [u] LT', '[prošlog] [ponedjeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srijede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return me;\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\n//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return mi;\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\n//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function ordinal(number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return mk;\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\n//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact: true,\n weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'രാത്രി' && hour >= 4 || meridiem === 'ഉച്ച കഴിഞ്ഞ്' || meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n return ml;\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\n//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function isPM(input) {\n return input === 'ҮХ';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n\n default:\n return number;\n }\n }\n });\n return mn;\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\n//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n\n case 'ss':\n output = '%d सेकंद';\n break;\n\n case 'm':\n output = 'एक मिनिट';\n break;\n\n case 'mm':\n output = '%d मिनिटे';\n break;\n\n case 'h':\n output = 'एक तास';\n break;\n\n case 'hh':\n output = '%d तास';\n break;\n\n case 'd':\n output = 'एक दिवस';\n break;\n\n case 'dd':\n output = '%d दिवस';\n break;\n\n case 'M':\n output = 'एक महिना';\n break;\n\n case 'MM':\n output = '%d महिने';\n break;\n\n case 'y':\n output = 'एक वर्ष';\n break;\n\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n\n case 'ss':\n output = '%d सेकंदां';\n break;\n\n case 'm':\n output = 'एका मिनिटा';\n break;\n\n case 'mm':\n output = '%d मिनिटां';\n break;\n\n case 'h':\n output = 'एका तासा';\n break;\n\n case 'hh':\n output = '%d तासां';\n break;\n\n case 'd':\n output = 'एका दिवसा';\n break;\n\n case 'dd':\n output = '%d दिवसां';\n break;\n\n case 'M':\n output = 'एका महिन्या';\n break;\n\n case 'MM':\n output = '%d महिन्यां';\n break;\n\n case 'y':\n output = 'एका वर्षा';\n break;\n\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function preparse(string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी' || meridiem === 'सायंकाळी' || meridiem === 'रात्री') {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return mr;\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\n//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ms;\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\n//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return msMy;\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\n//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return mt;\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\n//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀'\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function preparse(string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return my;\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\n//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nb;\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\n//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function preparse(string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return ne;\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\n//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nl;\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\n//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nlBe;\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\n//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nn;\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\n//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split('_'),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split('_'),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm'\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function ordinal(number, period) {\n var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è';\n\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4\n }\n });\n return ocLnc;\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\n//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ'\n },\n preparse: function preparse(string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return paIn;\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\n//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function lastWeek() {\n return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return pt;\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\n//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split('_'),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function lastWeek() {\n return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida'\n });\n return ptBr;\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\n//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani'\n },\n separator = ' ';\n\n if (number % 100 >= 20 || number >= 100 && number % 100 === 0) {\n separator = ' de ';\n }\n\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ro;\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\n//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i]; // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays: {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function nextWeek(now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function lastWeek(now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function isPM(input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n\n case 'D':\n return number + '-го';\n\n case 'w':\n case 'W':\n return number + '-я';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ru;\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\n//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['جنوري', 'فيبروري', 'مارچ', 'اپريل', 'مئي', 'جون', 'جولاءِ', 'آگسٽ', 'سيپٽمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر'],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM: function isPM(input) {\n return 'شام' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال'\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sd;\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\n//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return se;\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\n//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n /*jshint -W100*/\n\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function ordinal(number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function isPM(input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n return si;\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\n//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n\n function plural(n) {\n return n > 1 && n < 5;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n\n case 'ss':\n // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n\n case 'm':\n // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n\n case 'mm':\n // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n\n case 'h':\n // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n\n case 'hh':\n // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n\n case 'd':\n // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n\n case 'dd':\n // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n\n case 'M':\n // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n\n case 'MM':\n // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n\n case 'y':\n // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n\n case 'yy':\n // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n\n case 3:\n return '[v stredu o] LT';\n\n case 4:\n return '[vo štvrtok o] LT';\n\n case 5:\n return '[v piatok o] LT';\n\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n\n case 3:\n return '[minulú stredu o] LT';\n\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sk;\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\n//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n\n return result;\n\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n\n return result;\n\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n\n return result;\n\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n\n case 3:\n return '[v] [sredo] [ob] LT';\n\n case 6:\n return '[v] [soboto] [ob] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sl;\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\n//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function isPM(input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sq;\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\n//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {\n return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];\n },\n translate: function translate(number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n\n case 3:\n return '[u] [sredu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function lastWeek() {\n var lastWeekDays = ['[prošle] [nedelje] [u] LT', '[prošlog] [ponedeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sr;\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\n//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {\n return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];\n },\n translate: function translate(number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n\n case 3:\n return '[у] [среду] [у] LT';\n\n case 6:\n return '[у] [суботу] [у] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function lastWeek() {\n var lastWeekDays = ['[прошле] [недеље] [у] LT', '[прошлог] [понедељка] [у] LT', '[прошлог] [уторка] [у] LT', '[прошле] [среде] [у] LT', '[прошлог] [четвртка] [у] LT', '[прошлог] [петка] [у] LT', '[прошле] [суботе] [у] LT'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'дан',\n dd: translator.translate,\n M: 'месец',\n MM: translator.translate,\n y: 'годину',\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return srCyrl;\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\n//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ss;\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\n//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? ':e' : b === 1 ? ':a' : b === 2 ? ':a' : b === 3 ? ':e' : ':e';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sv;\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\n//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sw;\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\n//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦'\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function ordinal(number) {\n return number + 'வது';\n },\n preparse: function preparse(string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return ta;\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\n//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact: true,\n weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return te;\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\n//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tet;\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\n//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split('_'),\n standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_')\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function ordinal(number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1th is the first week of the year.\n\n }\n });\n return tg;\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\n//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'),\n // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function isPM(input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี'\n }\n });\n return th;\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\n//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\"\n };\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split('_'),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split('_'),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl'\n },\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return tk;\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\n//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function ordinal(number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tlPh;\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\n//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'leS' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'waQ' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'nem' : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'Hu’' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'wen' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'ben' : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n\n case 'mm':\n return numberNoun + ' tup';\n\n case 'hh':\n return numberNoun + ' rep';\n\n case 'dd':\n return numberNoun + ' jaj';\n\n case 'MM':\n return numberNoun + ' jar';\n\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor(number % 1000 / 100),\n ten = Math.floor(number % 100 / 10),\n one = number % 10,\n word = '';\n\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tlh;\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\n//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\"\n };\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function isPM(input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl'\n },\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return tr;\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\n//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function isPM(input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : withoutSuffix ? format[key][0] : format[key][1];\n }\n\n return tzl;\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\n//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return tzm;\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\n//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn'\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return tzmLatn;\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\n//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split('_'),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'يېرىم كېچە' || meridiem === 'سەھەر' || meridiem === 'چۈشتىن بۇرۇن') {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n\n default:\n return number;\n }\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return ugCn;\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\n//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));\n }\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format) ? 'accusative' : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format) ? 'genitive' : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function isPM(input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n\n case 'D':\n return number + '-го';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return uk;\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\n//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM: function isPM(input) {\n return 'شام' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال'\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ur;\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\n//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm'\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return uz;\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\n//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm'\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L'\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return uzLatn;\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\n//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split('_'),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function isPM(input) {\n return /^ch$/i.test(input);\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function ordinal(number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return vi;\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\n//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact: true,\n weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return xPseudo;\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\n//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d'\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return yo;\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\n//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function nextWeek(now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function lastWeek(now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '周';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年'\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return zhCn;\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\n//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhHk;\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\n//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhMo;\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\n//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhTw;\n});","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true;\nexports.nameShape = undefined;\nexports.transitionTimeout = transitionTimeout;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction transitionTimeout(transitionType) {\n var timeoutPropName = 'transition' + transitionType + 'Timeout';\n var enabledPropName = 'transition' + transitionType;\n return function (props) {\n // If the transition is enabled\n if (props[enabledPropName]) {\n // If no timeout duration is provided\n if (props[timeoutPropName] == null) {\n return new Error(timeoutPropName + ' wasn\\'t supplied to CSSTransitionGroup: ' + 'this can cause unreliable animations and won\\'t be supported in ' + 'a future version of React. See ' + 'https://fb.me/react-animation-transition-group-timeout for more ' + 'information.'); // If the duration isn't a number\n } else if (typeof props[timeoutPropName] !== 'number') {\n return new Error(timeoutPropName + ' must be a number (in milliseconds)');\n }\n }\n\n return null;\n };\n}\n\nvar nameShape = exports.nameShape = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n active: _propTypes2.default.string\n}), _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n enterActive: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n leaveActive: _propTypes2.default.string,\n appear: _propTypes2.default.string,\n appearActive: _propTypes2.default.string\n})]);","export default function symbolObservablePonyfill(root) {\n var result;\n var _Symbol = root.Symbol;\n\n if (typeof _Symbol === 'function') {\n if (_Symbol.observable) {\n result = _Symbol.observable;\n } else {\n result = _Symbol('observable');\n _Symbol.observable = result;\n }\n } else {\n result = '@@observable';\n }\n\n return result;\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\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = (typeof global === \"undefined\" ? \"undefined\" : _typeof(global)) == 'object' && global && global.Object === Object && global;\nexport default freeGlobal;","/* eslint no-console:0 */\n// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n//\n// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate\n// layout file, like app/views/layouts/application.html.erb\n\n\n// Uncomment to copy all static images under ../images to the output folder and reference\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\n// const images = require.context('../images', true)\n// const imagePath = (name) => images(name, true)\n\ndocument.addEventListener('turbolinks:load', () => {\n if (document.getElementById('admin-app')) require('./../adminApp.jsx').render()\n})\n\nwindow.onload = function() {\n if (document.getElementById('carrier-app')) require('./../carrierApp.jsx')\n if (document.getElementById('display-app')) require('./../displayApp.jsx')\n if (document.getElementById('quality-app')) require('./../qualityApp.jsx')\n if (document.getElementById('scanner-app')) require('./../scannerApp.jsx')\n if (document.getElementById('operator-app')) require('./../operatorApp.jsx')\n}\n","/**\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/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\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\nvar lowPriorityWarning = function lowPriorityWarning() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = 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.warn(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\n lowPriorityWarning = function lowPriorityWarning(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 = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = lowPriorityWarning;","/**\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 PooledClass = require('./PooledClass');\n\nvar ReactElement = require('./ReactElement');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\nvar traverseAllChildren = require('./traverseAllChildren');\n\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\nvar fourArgumentPooler = PooledClass.fourArgumentPooler;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * PooledClass representing the bookkeeping associated with performing a child\n * traversal. Allows avoiding binding callbacks.\n *\n * @constructor ForEachBookKeeping\n * @param {!function} forEachFunction Function to perform traversal with.\n * @param {?*} forEachContext Context to perform context with.\n */\n\n\nfunction ForEachBookKeeping(forEachFunction, forEachContext) {\n this.func = forEachFunction;\n this.context = forEachContext;\n this.count = 0;\n}\n\nForEachBookKeeping.prototype.destructor = function () {\n this.func = null;\n this.context = null;\n this.count = 0;\n};\n\nPooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler);\n\nfunction forEachSingleChild(bookKeeping, child, name) {\n var func = bookKeeping.func,\n context = bookKeeping.context;\n func.call(context, child, bookKeeping.count++);\n}\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.foreach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\n\n\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n if (children == null) {\n return children;\n }\n\n var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext);\n traverseAllChildren(children, forEachSingleChild, traverseContext);\n ForEachBookKeeping.release(traverseContext);\n}\n/**\n * PooledClass representing the bookkeeping associated with performing a child\n * mapping. Allows avoiding binding callbacks.\n *\n * @constructor MapBookKeeping\n * @param {!*} mapResult Object containing the ordered map of results.\n * @param {!function} mapFunction Function to perform mapping with.\n * @param {?*} mapContext Context to perform mapping with.\n */\n\n\nfunction MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {\n this.result = mapResult;\n this.keyPrefix = keyPrefix;\n this.func = mapFunction;\n this.context = mapContext;\n this.count = 0;\n}\n\nMapBookKeeping.prototype.destructor = function () {\n this.result = null;\n this.keyPrefix = null;\n this.func = null;\n this.context = null;\n this.count = 0;\n};\n\nPooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler);\n\nfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {\n var result = bookKeeping.result,\n keyPrefix = bookKeeping.keyPrefix,\n func = bookKeeping.func,\n context = bookKeeping.context;\n var mappedChild = func.call(context, child, bookKeeping.count++);\n\n if (Array.isArray(mappedChild)) {\n mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument);\n } else if (mappedChild != null) {\n if (ReactElement.isValidElement(mappedChild)) {\n mappedChild = ReactElement.cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);\n }\n\n result.push(mappedChild);\n }\n}\n\nfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {\n var escapedPrefix = '';\n\n if (prefix != null) {\n escapedPrefix = escapeUserProvidedKey(prefix) + '/';\n }\n\n var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context);\n traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);\n MapBookKeeping.release(traverseContext);\n}\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.map\n *\n * The provided mapFunction(child, key, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\n\n\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, func, context);\n return result;\n}\n\nfunction forEachSingleChildDummy(traverseContext, child, name) {\n return null;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.count\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children, context) {\n return traverseAllChildren(children, forEachSingleChildDummy, null);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.toarray\n */\n\n\nfunction toArray(children) {\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument);\n return result;\n}\n\nvar ReactChildren = {\n forEach: forEachChildren,\n map: mapChildren,\n mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal,\n count: countChildren,\n toArray: toArray\n};\nmodule.exports = ReactChildren;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n/**\n * Static poolers. Several custom versions for each potential number of\n * arguments. A completely generic pooler is easy to implement, but would\n * require accessing the `arguments` object. In each of these, `this` refers to\n * the Class itself, not an instance. If any others are needed, simply add them\n * here, or in their own files.\n */\n\n\nvar oneArgumentPooler = function oneArgumentPooler(copyFieldsFrom) {\n var Klass = this;\n\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\nvar twoArgumentPooler = function twoArgumentPooler(a1, a2) {\n var Klass = this;\n\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};\n\nvar threeArgumentPooler = function threeArgumentPooler(a1, a2, a3) {\n var Klass = this;\n\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3);\n return instance;\n } else {\n return new Klass(a1, a2, a3);\n }\n};\n\nvar fourArgumentPooler = function fourArgumentPooler(a1, a2, a3, a4) {\n var Klass = this;\n\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\nvar standardReleaser = function standardReleaser(instance) {\n var Klass = this;\n !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;\n instance.destructor();\n\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\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 */\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\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n oneArgumentPooler: oneArgumentPooler,\n twoArgumentPooler: twoArgumentPooler,\n threeArgumentPooler: threeArgumentPooler,\n fourArgumentPooler: fourArgumentPooler\n};\nmodule.exports = PooledClass;","/**\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\nfunction _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\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar REACT_ELEMENT_TYPE = require('./ReactElementSymbol');\n\nvar getIteratorFn = require('./getIteratorFn');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\n\nvar warning = require('fbjs/lib/warning');\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * This is inlined from ReactElement since this file is shared between\n * isomorphic and renderers. We could extract this to a\n *\n */\n\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\nvar didWarnAboutMaps = false;\n/**\n * Generate a key string that identifies a component within a set.\n *\n * @param {*} component A component that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\nfunction getComponentKey(component, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (component && _typeof(component) === 'object' && component.key != null) {\n // Explicit key\n return KeyEscapeUtils.escape(component.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n/**\n * @param {?*} children Children tree container.\n * @param {!string} nameSoFar Name of the key path so far.\n * @param {!function} callback Callback to invoke with each child found.\n * @param {?*} traverseContext Used to pass information throughout the traversal\n * process.\n * @return {!number} The number of children in this subtree.\n */\n\n\nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\n var type = _typeof(children);\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n if (children === null || type === 'string' || type === 'number' || // The following is inlined from ReactElement. This means we can optimize\n // some checks. React Fiber also inlines this logic for similar purposes.\n type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE) {\n callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows.\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getComponentKey(child, i);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (iteratorFn) {\n var iterator = iteratorFn.call(children);\n var step;\n\n if (iteratorFn !== children.entries) {\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getComponentKey(child, ii++);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n var mapsAsChildrenAddendum = '';\n\n if (ReactCurrentOwner.current) {\n var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();\n\n if (mapsAsChildrenOwnerName) {\n mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';\n }\n }\n\n process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;\n didWarnAboutMaps = true;\n } // Iterator will provide entry [k,v] tuples rather than values.\n\n\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n\n if (entry) {\n child = entry[1];\n nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n }\n }\n } else if (type === 'object') {\n var addendum = '';\n\n if (process.env.NODE_ENV !== 'production') {\n addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';\n\n if (children._isReactElement) {\n addendum = \" It looks like you're using an element created by a different \" + 'version of React. Make sure to use only one copy of React.';\n }\n\n if (ReactCurrentOwner.current) {\n var name = ReactCurrentOwner.current.getName();\n\n if (name) {\n addendum += ' Check the render method of `' + name + '`.';\n }\n }\n }\n\n var childrenString = String(children);\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;\n }\n }\n\n return subtreeCount;\n}\n/**\n * Traverses children that are typically specified as `props.children`, but\n * might also be specified through attributes:\n *\n * - `traverseAllChildren(this.props.children, ...)`\n * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\n *\n * The `traverseContext` is an optional argument that is passed through the\n * entire traversal. It can be used to store accumulations or anything else that\n * the callback might find relevant.\n *\n * @param {?*} children Children tree object.\n * @param {!function} callback To invoke upon traversing each child.\n * @param {?*} traverseContext Context for traversal.\n * @return {!number} The number of children in this subtree.\n */\n\n\nfunction traverseAllChildren(children, callback, traverseContext) {\n if (children == null) {\n return 0;\n }\n\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\n}\n\nmodule.exports = traverseAllChildren;","/**\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/* global Symbol */\n\nvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n/**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n\nfunction getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nmodule.exports = getIteratorFn;","/**\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/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = ('' + key).replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * Unescape and unwrap key for human-readable display\n *\n * @param {string} key to unescape.\n * @return {string} the unescaped key.\n */\n\n\nfunction unescape(key) {\n var unescapeRegex = /(=0|=2)/g;\n var unescaperLookup = {\n '=0': '=',\n '=2': ':'\n };\n var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1);\n return ('' + keySubstring).replace(unescapeRegex, function (match) {\n return unescaperLookup[match];\n });\n}\n\nvar KeyEscapeUtils = {\n escape: escape,\n unescape: unescape\n};\nmodule.exports = KeyEscapeUtils;","/**\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 ReactElement = require('./ReactElement');\n/**\n * Create a factory that creates HTML tag elements.\n *\n * @private\n */\n\n\nvar createDOMFactory = ReactElement.createFactory;\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactElementValidator = require('./ReactElementValidator');\n\n createDOMFactory = ReactElementValidator.createFactory;\n}\n/**\n * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.\n *\n * @public\n */\n\n\nvar ReactDOMFactories = {\n a: createDOMFactory('a'),\n abbr: createDOMFactory('abbr'),\n address: createDOMFactory('address'),\n area: createDOMFactory('area'),\n article: createDOMFactory('article'),\n aside: createDOMFactory('aside'),\n audio: createDOMFactory('audio'),\n b: createDOMFactory('b'),\n base: createDOMFactory('base'),\n bdi: createDOMFactory('bdi'),\n bdo: createDOMFactory('bdo'),\n big: createDOMFactory('big'),\n blockquote: createDOMFactory('blockquote'),\n body: createDOMFactory('body'),\n br: createDOMFactory('br'),\n button: createDOMFactory('button'),\n canvas: createDOMFactory('canvas'),\n caption: createDOMFactory('caption'),\n cite: createDOMFactory('cite'),\n code: createDOMFactory('code'),\n col: createDOMFactory('col'),\n colgroup: createDOMFactory('colgroup'),\n data: createDOMFactory('data'),\n datalist: createDOMFactory('datalist'),\n dd: createDOMFactory('dd'),\n del: createDOMFactory('del'),\n details: createDOMFactory('details'),\n dfn: createDOMFactory('dfn'),\n dialog: createDOMFactory('dialog'),\n div: createDOMFactory('div'),\n dl: createDOMFactory('dl'),\n dt: createDOMFactory('dt'),\n em: createDOMFactory('em'),\n embed: createDOMFactory('embed'),\n fieldset: createDOMFactory('fieldset'),\n figcaption: createDOMFactory('figcaption'),\n figure: createDOMFactory('figure'),\n footer: createDOMFactory('footer'),\n form: createDOMFactory('form'),\n h1: createDOMFactory('h1'),\n h2: createDOMFactory('h2'),\n h3: createDOMFactory('h3'),\n h4: createDOMFactory('h4'),\n h5: createDOMFactory('h5'),\n h6: createDOMFactory('h6'),\n head: createDOMFactory('head'),\n header: createDOMFactory('header'),\n hgroup: createDOMFactory('hgroup'),\n hr: createDOMFactory('hr'),\n html: createDOMFactory('html'),\n i: createDOMFactory('i'),\n iframe: createDOMFactory('iframe'),\n img: createDOMFactory('img'),\n input: createDOMFactory('input'),\n ins: createDOMFactory('ins'),\n kbd: createDOMFactory('kbd'),\n keygen: createDOMFactory('keygen'),\n label: createDOMFactory('label'),\n legend: createDOMFactory('legend'),\n li: createDOMFactory('li'),\n link: createDOMFactory('link'),\n main: createDOMFactory('main'),\n map: createDOMFactory('map'),\n mark: createDOMFactory('mark'),\n menu: createDOMFactory('menu'),\n menuitem: createDOMFactory('menuitem'),\n meta: createDOMFactory('meta'),\n meter: createDOMFactory('meter'),\n nav: createDOMFactory('nav'),\n noscript: createDOMFactory('noscript'),\n object: createDOMFactory('object'),\n ol: createDOMFactory('ol'),\n optgroup: createDOMFactory('optgroup'),\n option: createDOMFactory('option'),\n output: createDOMFactory('output'),\n p: createDOMFactory('p'),\n param: createDOMFactory('param'),\n picture: createDOMFactory('picture'),\n pre: createDOMFactory('pre'),\n progress: createDOMFactory('progress'),\n q: createDOMFactory('q'),\n rp: createDOMFactory('rp'),\n rt: createDOMFactory('rt'),\n ruby: createDOMFactory('ruby'),\n s: createDOMFactory('s'),\n samp: createDOMFactory('samp'),\n script: createDOMFactory('script'),\n section: createDOMFactory('section'),\n select: createDOMFactory('select'),\n small: createDOMFactory('small'),\n source: createDOMFactory('source'),\n span: createDOMFactory('span'),\n strong: createDOMFactory('strong'),\n style: createDOMFactory('style'),\n sub: createDOMFactory('sub'),\n summary: createDOMFactory('summary'),\n sup: createDOMFactory('sup'),\n table: createDOMFactory('table'),\n tbody: createDOMFactory('tbody'),\n td: createDOMFactory('td'),\n textarea: createDOMFactory('textarea'),\n tfoot: createDOMFactory('tfoot'),\n th: createDOMFactory('th'),\n thead: createDOMFactory('thead'),\n time: createDOMFactory('time'),\n title: createDOMFactory('title'),\n tr: createDOMFactory('tr'),\n track: createDOMFactory('track'),\n u: createDOMFactory('u'),\n ul: createDOMFactory('ul'),\n 'var': createDOMFactory('var'),\n video: createDOMFactory('video'),\n wbr: createDOMFactory('wbr'),\n // SVG\n circle: createDOMFactory('circle'),\n clipPath: createDOMFactory('clipPath'),\n defs: createDOMFactory('defs'),\n ellipse: createDOMFactory('ellipse'),\n g: createDOMFactory('g'),\n image: createDOMFactory('image'),\n line: createDOMFactory('line'),\n linearGradient: createDOMFactory('linearGradient'),\n mask: createDOMFactory('mask'),\n path: createDOMFactory('path'),\n pattern: createDOMFactory('pattern'),\n polygon: createDOMFactory('polygon'),\n polyline: createDOMFactory('polyline'),\n radialGradient: createDOMFactory('radialGradient'),\n rect: createDOMFactory('rect'),\n stop: createDOMFactory('stop'),\n svg: createDOMFactory('svg'),\n text: createDOMFactory('text'),\n tspan: createDOMFactory('tspan')\n};\nmodule.exports = ReactDOMFactories;","/**\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 _require = require('./ReactElement'),\n isValidElement = _require.isValidElement;\n\nvar factory = require('prop-types/factory');\n\nmodule.exports = factory(isValidElement);","/**\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'use strict';\n\nfunction _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\nvar ReactIs = require('react-is');\n\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\n\nvar printWarning = function printWarning() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function printWarning(text) {\n var message = 'Warning: ' + text;\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}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function (isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n\n var ANONYMOUS = '<<anonymous>>'; // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker\n };\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n\n /*eslint-disable no-self-compare*/\n\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n\n\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n } // Make `instanceof Error` still work for returned errors.\n\n\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use `PropTypes.checkPropTypes()` to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n\n if (!manualPropTypeCallCache[cacheKey] && // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3) {\n printWarning('You are manually calling a React.PropTypes validation ' + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + 'and will throw in the standalone `prop-types` package. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.');\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n\n var propValue = props[propName];\n\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n\n if (error instanceof Error) {\n return error;\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning('Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).');\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n\n if (type === 'symbol') {\n return String(value);\n }\n\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n\n var propValue = props[propName];\n var propType = getPropType(propValue);\n\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\n if (error instanceof Error) {\n return error;\n }\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n\n if (typeof checker !== 'function') {\n printWarning('Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.');\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n\n if (!checker) {\n continue;\n }\n\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\n if (error) {\n return error;\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n } // We need to check all keys in case some are required but missing from\n // props.\n\n\n var allKeys = assign({}, props[propName], shapeTypes);\n\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n\n if (!checker) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' '));\n }\n\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\n if (error) {\n return error;\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (_typeof(propValue)) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n\n case 'boolean':\n return !propValue;\n\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n } // falsy value can't be a Symbol\n\n\n if (!propValue) {\n return false;\n } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\n\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n } // Fallback for non-spec compliant Symbols which are polyfilled.\n\n\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n } // Equivalent of `typeof` but with special handling for array and regexp.\n\n\n function getPropType(propValue) {\n var propType = _typeof(propValue);\n\n if (Array.isArray(propValue)) {\n return 'array';\n }\n\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n\n return propType;\n } // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n\n\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n\n var propType = getPropType(propValue);\n\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n\n return propType;\n } // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n\n\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n\n default:\n return type;\n }\n } // Returns class name of the object, if any.\n\n\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n return ReactPropTypes;\n};","/** @license React v16.13.1\n * react-is.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';\n\nfunction _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\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\n\nfunction z(a) {\n if (\"object\" === _typeof(a) && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\n\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === _typeof(a) && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\n\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === _typeof(a) && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\n\nexports.typeOf = z;","/**\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'use strict';\n\nfunction _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\nvar printWarning = function printWarning() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function printWarning(text) {\n var message = 'Warning: ' + text;\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}\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\n\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + _typeof(typeSpecs[typeSpecName]) + '`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n\n if (error && !(error instanceof Error)) {\n printWarning((componentName || 'React class') + ': type specification of ' + location + ' `' + typeSpecName + '` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a ' + _typeof(error) + '. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).');\n }\n\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n var stack = getStack ? getStack() : '';\n printWarning('Failed ' + location + ' type: ' + error.message + (stack != null ? stack : ''));\n }\n }\n }\n }\n}\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\n\n\ncheckPropTypes.resetWarningCache = function () {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n};\n\nmodule.exports = checkPropTypes;","/**\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\nmodule.exports = '15.7.0';","/**\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 _require = require('./ReactBaseClasses'),\n Component = _require.Component;\n\nvar _require2 = require('./ReactElement'),\n isValidElement = _require2.isValidElement;\n\nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');\n\nvar factory = require('create-react-class/factory');\n\nmodule.exports = factory(Component, isValidElement, ReactNoopUpdateQueue);","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar ReactElement = require('./ReactElement');\n\nvar invariant = require('fbjs/lib/invariant');\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.only\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0;\n return children;\n}\n\nmodule.exports = onlyChild;","/**\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/* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/\n'use strict';\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactDefaultInjection = require('./ReactDefaultInjection');\n\nvar ReactMount = require('./ReactMount');\n\nvar ReactReconciler = require('./ReactReconciler');\n\nvar ReactUpdates = require('./ReactUpdates');\n\nvar ReactVersion = require('./ReactVersion');\n\nvar findDOMNode = require('./findDOMNode');\n\nvar getHostComponentFromComposite = require('./getHostComponentFromComposite');\n\nvar renderSubtreeIntoContainer = require('./renderSubtreeIntoContainer');\n\nvar warning = require('fbjs/lib/warning');\n\nReactDefaultInjection.inject();\nvar ReactDOM = {\n findDOMNode: findDOMNode,\n render: ReactMount.render,\n unmountComponentAtNode: ReactMount.unmountComponentAtNode,\n version: ReactVersion,\n\n /* eslint-disable camelcase */\n unstable_batchedUpdates: ReactUpdates.batchedUpdates,\n unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer\n /* eslint-enable camelcase */\n\n}; // Inject the runtime into a devtools global hook regardless of browser.\n// Allows for debugging when the hook is injected on the page.\n\nif (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({\n ComponentTree: {\n getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode,\n getNodeFromInstance: function getNodeFromInstance(inst) {\n // inst is an internal instance (but could be a composite)\n if (inst._renderedComponent) {\n inst = getHostComponentFromComposite(inst);\n }\n\n if (inst) {\n return ReactDOMComponentTree.getNodeFromInstance(inst);\n } else {\n return null;\n }\n }\n },\n Mount: ReactMount,\n Reconciler: ReactReconciler\n });\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\n if (ExecutionEnvironment.canUseDOM && window.top === window.self) {\n // First check if devtools is not installed\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n // Firefox does not have the issue with devtools loaded over file://\n var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1;\n console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools');\n }\n }\n\n var testFunc = function testFn() {};\n\n process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, \"It looks like you're using a minified copy of the development build \" + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0; // If we're in IE8, check to see if we are in compatibility mode and provide\n // information on preventing compatibility mode\n\n var ieCompatibilityMode = document.documentMode && document.documentMode < 8;\n process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />') : void 0;\n var expectedFeatures = [// shims\n Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.trim];\n\n for (var i = 0; i < expectedFeatures.length; i++) {\n if (!expectedFeatures[i]) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0;\n break;\n }\n }\n }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactInstrumentation = require('./ReactInstrumentation');\n\n var ReactDOMUnknownPropertyHook = require('./ReactDOMUnknownPropertyHook');\n\n var ReactDOMNullInputValuePropHook = require('./ReactDOMNullInputValuePropHook');\n\n var ReactDOMInvalidARIAHook = require('./ReactDOMInvalidARIAHook');\n\n ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook);\n ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook);\n ReactInstrumentation.debugTool.addHook(ReactDOMInvalidARIAHook);\n}\n\nmodule.exports = ReactDOM;","/**\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 ARIADOMPropertyConfig = require('./ARIADOMPropertyConfig');\n\nvar BeforeInputEventPlugin = require('./BeforeInputEventPlugin');\n\nvar ChangeEventPlugin = require('./ChangeEventPlugin');\n\nvar DefaultEventPluginOrder = require('./DefaultEventPluginOrder');\n\nvar EnterLeaveEventPlugin = require('./EnterLeaveEventPlugin');\n\nvar HTMLDOMPropertyConfig = require('./HTMLDOMPropertyConfig');\n\nvar ReactComponentBrowserEnvironment = require('./ReactComponentBrowserEnvironment');\n\nvar ReactDOMComponent = require('./ReactDOMComponent');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactDOMEmptyComponent = require('./ReactDOMEmptyComponent');\n\nvar ReactDOMTreeTraversal = require('./ReactDOMTreeTraversal');\n\nvar ReactDOMTextComponent = require('./ReactDOMTextComponent');\n\nvar ReactDefaultBatchingStrategy = require('./ReactDefaultBatchingStrategy');\n\nvar ReactEventListener = require('./ReactEventListener');\n\nvar ReactInjection = require('./ReactInjection');\n\nvar ReactReconcileTransaction = require('./ReactReconcileTransaction');\n\nvar SVGDOMPropertyConfig = require('./SVGDOMPropertyConfig');\n\nvar SelectEventPlugin = require('./SelectEventPlugin');\n\nvar SimpleEventPlugin = require('./SimpleEventPlugin');\n\nvar alreadyInjected = false;\n\nfunction inject() {\n if (alreadyInjected) {\n // TODO: This is currently true because these injections are shared between\n // the client and the server package. They should be built independently\n // and not share any injection state. Then this problem will be solved.\n return;\n }\n\n alreadyInjected = true;\n ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener);\n /**\n * Inject modules for resolving DOM hierarchy and plugin ordering.\n */\n\n ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder);\n ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree);\n ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal);\n /**\n * Some important event plugins included by default (without having to require\n * them).\n */\n\n ReactInjection.EventPluginHub.injectEventPluginsByName({\n SimpleEventPlugin: SimpleEventPlugin,\n EnterLeaveEventPlugin: EnterLeaveEventPlugin,\n ChangeEventPlugin: ChangeEventPlugin,\n SelectEventPlugin: SelectEventPlugin,\n BeforeInputEventPlugin: BeforeInputEventPlugin\n });\n ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent);\n ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent);\n ReactInjection.DOMProperty.injectDOMPropertyConfig(ARIADOMPropertyConfig);\n ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig);\n ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig);\n ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) {\n return new ReactDOMEmptyComponent(instantiate);\n });\n ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction);\n ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy);\n ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment);\n}\n\nmodule.exports = {\n inject: inject\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 ARIADOMPropertyConfig = {\n Properties: {\n // Global States and Properties\n 'aria-current': 0,\n // state\n 'aria-details': 0,\n 'aria-disabled': 0,\n // state\n 'aria-hidden': 0,\n // state\n 'aria-invalid': 0,\n // state\n 'aria-keyshortcuts': 0,\n 'aria-label': 0,\n 'aria-roledescription': 0,\n // Widget Attributes\n 'aria-autocomplete': 0,\n 'aria-checked': 0,\n 'aria-expanded': 0,\n 'aria-haspopup': 0,\n 'aria-level': 0,\n 'aria-modal': 0,\n 'aria-multiline': 0,\n 'aria-multiselectable': 0,\n 'aria-orientation': 0,\n 'aria-placeholder': 0,\n 'aria-pressed': 0,\n 'aria-readonly': 0,\n 'aria-required': 0,\n 'aria-selected': 0,\n 'aria-sort': 0,\n 'aria-valuemax': 0,\n 'aria-valuemin': 0,\n 'aria-valuenow': 0,\n 'aria-valuetext': 0,\n // Live Region Attributes\n 'aria-atomic': 0,\n 'aria-busy': 0,\n 'aria-live': 0,\n 'aria-relevant': 0,\n // Drag-and-Drop Attributes\n 'aria-dropeffect': 0,\n 'aria-grabbed': 0,\n // Relationship Attributes\n 'aria-activedescendant': 0,\n 'aria-colcount': 0,\n 'aria-colindex': 0,\n 'aria-colspan': 0,\n 'aria-controls': 0,\n 'aria-describedby': 0,\n 'aria-errormessage': 0,\n 'aria-flowto': 0,\n 'aria-labelledby': 0,\n 'aria-owns': 0,\n 'aria-posinset': 0,\n 'aria-rowcount': 0,\n 'aria-rowindex': 0,\n 'aria-rowspan': 0,\n 'aria-setsize': 0\n },\n DOMAttributeNames: {},\n DOMPropertyNames: {}\n};\nmodule.exports = ARIADOMPropertyConfig;","/**\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\nfunction _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\nvar EventPropagators = require('./EventPropagators');\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar FallbackCompositionState = require('./FallbackCompositionState');\n\nvar SyntheticCompositionEvent = require('./SyntheticCompositionEvent');\n\nvar SyntheticInputEvent = require('./SyntheticInputEvent');\n\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\n\nvar START_KEYCODE = 229;\nvar canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window;\nvar documentMode = null;\n\nif (ExecutionEnvironment.canUseDOM && 'documentMode' in document) {\n documentMode = document.documentMode;\n} // Webkit offers a very useful `textInput` event that can be used to\n// directly represent `beforeInput`. The IE `textinput` event is not as\n// useful, so we don't use it.\n\n\nvar canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto(); // In IE9+, we have access to composition events, but the data supplied\n// by the native compositionend event may be incorrect. Japanese ideographic\n// spaces, for instance (\\u3000) are not recorded correctly.\n\nvar useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\n/**\n * Opera <= 12 includes TextEvent in window, but does not fire\n * text input events. Rely on keypress instead.\n */\n\nfunction isPresto() {\n var opera = window.opera;\n return _typeof(opera) === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12;\n}\n\nvar SPACEBAR_CODE = 32;\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); // Events and their corresponding property names.\n\nvar eventTypes = {\n beforeInput: {\n phasedRegistrationNames: {\n bubbled: 'onBeforeInput',\n captured: 'onBeforeInputCapture'\n },\n dependencies: ['topCompositionEnd', 'topKeyPress', 'topTextInput', 'topPaste']\n },\n compositionEnd: {\n phasedRegistrationNames: {\n bubbled: 'onCompositionEnd',\n captured: 'onCompositionEndCapture'\n },\n dependencies: ['topBlur', 'topCompositionEnd', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']\n },\n compositionStart: {\n phasedRegistrationNames: {\n bubbled: 'onCompositionStart',\n captured: 'onCompositionStartCapture'\n },\n dependencies: ['topBlur', 'topCompositionStart', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']\n },\n compositionUpdate: {\n phasedRegistrationNames: {\n bubbled: 'onCompositionUpdate',\n captured: 'onCompositionUpdateCapture'\n },\n dependencies: ['topBlur', 'topCompositionUpdate', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']\n }\n}; // Track whether we've ever handled a keypress on the space key.\n\nvar hasSpaceKeypress = false;\n/**\n * Return whether a native keypress event is assumed to be a command.\n * This is required because Firefox fires `keypress` events for key commands\n * (cut, copy, select-all, etc.) even though no character is inserted.\n */\n\nfunction isKeypressCommand(nativeEvent) {\n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n !(nativeEvent.ctrlKey && nativeEvent.altKey);\n}\n/**\n * Translate native top level events into event types.\n *\n * @param {string} topLevelType\n * @return {object}\n */\n\n\nfunction getCompositionEventType(topLevelType) {\n switch (topLevelType) {\n case 'topCompositionStart':\n return eventTypes.compositionStart;\n\n case 'topCompositionEnd':\n return eventTypes.compositionEnd;\n\n case 'topCompositionUpdate':\n return eventTypes.compositionUpdate;\n }\n}\n/**\n * Does our fallback best-guess model think this event signifies that\n * composition has begun?\n *\n * @param {string} topLevelType\n * @param {object} nativeEvent\n * @return {boolean}\n */\n\n\nfunction isFallbackCompositionStart(topLevelType, nativeEvent) {\n return topLevelType === 'topKeyDown' && nativeEvent.keyCode === START_KEYCODE;\n}\n/**\n * Does our fallback mode think that this event is the end of composition?\n *\n * @param {string} topLevelType\n * @param {object} nativeEvent\n * @return {boolean}\n */\n\n\nfunction isFallbackCompositionEnd(topLevelType, nativeEvent) {\n switch (topLevelType) {\n case 'topKeyUp':\n // Command keys insert or clear IME input.\n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n\n case 'topKeyDown':\n // Expect IME keyCode on each keydown. If we get any other\n // code we must have exited earlier.\n return nativeEvent.keyCode !== START_KEYCODE;\n\n case 'topKeyPress':\n case 'topMouseDown':\n case 'topBlur':\n // Events are not possible without cancelling IME.\n return true;\n\n default:\n return false;\n }\n}\n/**\n * Google Input Tools provides composition data via a CustomEvent,\n * with the `data` property populated in the `detail` object. If this\n * is available on the event object, use it. If not, this is a plain\n * composition event and we have nothing special to extract.\n *\n * @param {object} nativeEvent\n * @return {?string}\n */\n\n\nfunction getDataFromCustomEvent(nativeEvent) {\n var detail = nativeEvent.detail;\n\n if (_typeof(detail) === 'object' && 'data' in detail) {\n return detail.data;\n }\n\n return null;\n} // Track the current IME composition fallback object, if any.\n\n\nvar currentComposition = null;\n/**\n * @return {?object} A SyntheticCompositionEvent.\n */\n\nfunction extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var eventType;\n var fallbackData;\n\n if (canUseCompositionEvent) {\n eventType = getCompositionEventType(topLevelType);\n } else if (!currentComposition) {\n if (isFallbackCompositionStart(topLevelType, nativeEvent)) {\n eventType = eventTypes.compositionStart;\n }\n } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n eventType = eventTypes.compositionEnd;\n }\n\n if (!eventType) {\n return null;\n }\n\n if (useFallbackCompositionData) {\n // The current composition is stored statically and must not be\n // overwritten while composition continues.\n if (!currentComposition && eventType === eventTypes.compositionStart) {\n currentComposition = FallbackCompositionState.getPooled(nativeEventTarget);\n } else if (eventType === eventTypes.compositionEnd) {\n if (currentComposition) {\n fallbackData = currentComposition.getData();\n }\n }\n }\n\n var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget);\n\n if (fallbackData) {\n // Inject data generated from fallback path into the synthetic event.\n // This matches the property of native CompositionEventInterface.\n event.data = fallbackData;\n } else {\n var customData = getDataFromCustomEvent(nativeEvent);\n\n if (customData !== null) {\n event.data = customData;\n }\n }\n\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n/**\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {object} nativeEvent Native browser event.\n * @return {?string} The string corresponding to this `beforeInput` event.\n */\n\n\nfunction getNativeBeforeInputChars(topLevelType, nativeEvent) {\n switch (topLevelType) {\n case 'topCompositionEnd':\n return getDataFromCustomEvent(nativeEvent);\n\n case 'topKeyPress':\n /**\n * If native `textInput` events are available, our goal is to make\n * use of them. However, there is a special case: the spacebar key.\n * In Webkit, preventing default on a spacebar `textInput` event\n * cancels character insertion, but it *also* causes the browser\n * to fall back to its default spacebar behavior of scrolling the\n * page.\n *\n * Tracking at:\n * https://code.google.com/p/chromium/issues/detail?id=355103\n *\n * To avoid this issue, use the keypress event as if no `textInput`\n * event is available.\n */\n var which = nativeEvent.which;\n\n if (which !== SPACEBAR_CODE) {\n return null;\n }\n\n hasSpaceKeypress = true;\n return SPACEBAR_CHAR;\n\n case 'topTextInput':\n // Record the characters to be added to the DOM.\n var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled\n // it at the keypress level and bail immediately. Android Chrome\n // doesn't give us keycodes, so we need to blacklist it.\n\n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n return null;\n }\n\n return chars;\n\n default:\n // For other native event types, do nothing.\n return null;\n }\n}\n/**\n * For browsers that do not provide the `textInput` event, extract the\n * appropriate string to use for SyntheticInputEvent.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {object} nativeEvent Native browser event.\n * @return {?string} The fallback string for this `beforeInput` event.\n */\n\n\nfunction getFallbackBeforeInputChars(topLevelType, nativeEvent) {\n // If we are currently composing (IME) and using a fallback to do so,\n // try to extract the composed characters from the fallback object.\n // If composition event is available, we extract a string only at\n // compositionevent, otherwise extract it at fallback events.\n if (currentComposition) {\n if (topLevelType === 'topCompositionEnd' || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n var chars = currentComposition.getData();\n FallbackCompositionState.release(currentComposition);\n currentComposition = null;\n return chars;\n }\n\n return null;\n }\n\n switch (topLevelType) {\n case 'topPaste':\n // If a paste event occurs after a keypress, throw out the input\n // chars. Paste events should not lead to BeforeInput events.\n return null;\n\n case 'topKeyPress':\n /**\n * As of v27, Firefox may fire keypress events even when no character\n * will be inserted. A few possibilities:\n *\n * - `which` is `0`. Arrow keys, Esc key, etc.\n *\n * - `which` is the pressed key code, but no char is available.\n * Ex: 'AltGr + d` in Polish. There is no modified character for\n * this key combination and no character is inserted into the\n * document, but FF fires the keypress for char code `100` anyway.\n * No `input` event will occur.\n *\n * - `which` is the pressed key code, but a command combination is\n * being used. Ex: `Cmd+C`. No character is inserted, and no\n * `input` event will occur.\n */\n if (nativeEvent.which && !isKeypressCommand(nativeEvent)) {\n return String.fromCharCode(nativeEvent.which);\n }\n\n return null;\n\n case 'topCompositionEnd':\n return useFallbackCompositionData ? null : nativeEvent.data;\n\n default:\n return null;\n }\n}\n/**\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n * `textInput` or fallback behavior.\n *\n * @return {?object} A SyntheticInputEvent.\n */\n\n\nfunction extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var chars;\n\n if (canUseTextInputEvent) {\n chars = getNativeBeforeInputChars(topLevelType, nativeEvent);\n } else {\n chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);\n } // If no characters are being inserted, no BeforeInput event should\n // be fired.\n\n\n if (!chars) {\n return null;\n }\n\n var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);\n event.data = chars;\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n/**\n * Create an `onBeforeInput` event to match\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n *\n * This event plugin is based on the native `textInput` event\n * available in Chrome, Safari, Opera, and IE. This event fires after\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n *\n * `beforeInput` is spec'd but not implemented in any browsers, and\n * the `input` event does not provide any useful information about what has\n * actually been added, contrary to the spec. Thus, `textInput` is the best\n * available event to identify the characters that have actually been inserted\n * into the target node.\n *\n * This plugin is also responsible for emitting `composition` events, thus\n * allowing us to share composition fallback code for both `beforeInput` and\n * `composition` event types.\n */\n\n\nvar BeforeInputEventPlugin = {\n eventTypes: eventTypes,\n extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)];\n }\n};\nmodule.exports = BeforeInputEventPlugin;","/**\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 _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\n\nvar getTextContentAccessor = require('./getTextContentAccessor');\n/**\n * This helper class stores information about text content of a target node,\n * allowing comparison of content before and after a given event.\n *\n * Identify the node where selection currently begins, then observe\n * both its text content and its current position in the DOM. Since the\n * browser may natively replace the target node during composition, we can\n * use its position to find its replacement.\n *\n * @param {DOMEventTarget} root\n */\n\n\nfunction FallbackCompositionState(root) {\n this._root = root;\n this._startText = this.getText();\n this._fallbackText = null;\n}\n\n_assign(FallbackCompositionState.prototype, {\n destructor: function destructor() {\n this._root = null;\n this._startText = null;\n this._fallbackText = null;\n },\n\n /**\n * Get current text of input.\n *\n * @return {string}\n */\n getText: function getText() {\n if ('value' in this._root) {\n return this._root.value;\n }\n\n return this._root[getTextContentAccessor()];\n },\n\n /**\n * Determine the differing substring between the initially stored\n * text content and the current content.\n *\n * @return {string}\n */\n getData: function getData() {\n if (this._fallbackText) {\n return this._fallbackText;\n }\n\n var start;\n var startValue = this._startText;\n var startLength = startValue.length;\n var end;\n var endValue = this.getText();\n var endLength = endValue.length;\n\n for (start = 0; start < startLength; start++) {\n if (startValue[start] !== endValue[start]) {\n break;\n }\n }\n\n var minEnd = startLength - start;\n\n for (end = 1; end <= minEnd; end++) {\n if (startValue[startLength - end] !== endValue[endLength - end]) {\n break;\n }\n }\n\n var sliceTail = end > 1 ? 1 - end : undefined;\n this._fallbackText = endValue.slice(start, sliceTail);\n return this._fallbackText;\n }\n});\n\nPooledClass.addPoolingTo(FallbackCompositionState);\nmodule.exports = FallbackCompositionState;","/**\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 SyntheticEvent = require('./SyntheticEvent');\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n */\n\n\nvar CompositionEventInterface = {\n data: null\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\n\nfunction SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface);\nmodule.exports = SyntheticCompositionEvent;","/**\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 SyntheticEvent = require('./SyntheticEvent');\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n * /#events-inputevents\n */\n\n\nvar InputEventInterface = {\n data: null\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\n\nfunction SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface);\nmodule.exports = SyntheticInputEvent;","/**\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 EventPluginHub = require('./EventPluginHub');\n\nvar EventPropagators = require('./EventPropagators');\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactUpdates = require('./ReactUpdates');\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar inputValueTracking = require('./inputValueTracking');\n\nvar getEventTarget = require('./getEventTarget');\n\nvar isEventSupported = require('./isEventSupported');\n\nvar isTextInputElement = require('./isTextInputElement');\n\nvar eventTypes = {\n change: {\n phasedRegistrationNames: {\n bubbled: 'onChange',\n captured: 'onChangeCapture'\n },\n dependencies: ['topBlur', 'topChange', 'topClick', 'topFocus', 'topInput', 'topKeyDown', 'topKeyUp', 'topSelectionChange']\n }\n};\n\nfunction createAndAccumulateChangeEvent(inst, nativeEvent, target) {\n var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, target);\n event.type = 'change';\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n/**\n * For IE shims\n */\n\n\nvar activeElement = null;\nvar activeElementInst = null;\n/**\n * SECTION: handle `change` event\n */\n\nfunction shouldUseChangeEvent(elem) {\n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nvar doesChangeEventBubble = false;\n\nif (ExecutionEnvironment.canUseDOM) {\n // See `handleChange` comment below\n doesChangeEventBubble = isEventSupported('change') && (!document.documentMode || document.documentMode > 8);\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the\n // other events and have it go through ReactBrowserEventEmitter. Since it\n // doesn't, we manually listen for the events and so we have to enqueue and\n // process the abstract event manually.\n //\n // Batching is necessary here in order to ensure that all event handlers run\n // before the next rerender (including event handlers attached to ancestor\n // elements instead of directly on the input). Without this, controlled\n // components don't work properly in conjunction with event bubbling because\n // the component is rerendered and the value reverted before all the event\n // handlers can run. See https://github.com/facebook/react/issues/708.\n\n ReactUpdates.batchedUpdates(runEventInBatch, event);\n}\n\nfunction runEventInBatch(event) {\n EventPluginHub.enqueueEvents(event);\n EventPluginHub.processEventQueue(false);\n}\n\nfunction startWatchingForChangeEventIE8(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElement.attachEvent('onchange', manualDispatchChangeEvent);\n}\n\nfunction stopWatchingForChangeEventIE8() {\n if (!activeElement) {\n return;\n }\n\n activeElement.detachEvent('onchange', manualDispatchChangeEvent);\n activeElement = null;\n activeElementInst = null;\n}\n\nfunction getInstIfValueChanged(targetInst, nativeEvent) {\n var updated = inputValueTracking.updateValueIfChanged(targetInst);\n var simulated = nativeEvent.simulated === true && ChangeEventPlugin._allowSimulatedPassThrough;\n\n if (updated || simulated) {\n return targetInst;\n }\n}\n\nfunction getTargetInstForChangeEvent(topLevelType, targetInst) {\n if (topLevelType === 'topChange') {\n return targetInst;\n }\n}\n\nfunction handleEventsForChangeEventIE8(topLevelType, target, targetInst) {\n if (topLevelType === 'topFocus') {\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForChangeEventIE8();\n startWatchingForChangeEventIE8(target, targetInst);\n } else if (topLevelType === 'topBlur') {\n stopWatchingForChangeEventIE8();\n }\n}\n/**\n * SECTION: handle `input` event\n */\n\n\nvar isInputEventSupported = false;\n\nif (ExecutionEnvironment.canUseDOM) {\n // IE9 claims to support the input event but fails to trigger it when\n // deleting text, so we ignore its input events.\n isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);\n}\n/**\n * (For IE <=9) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\n\n\nfunction startWatchingForValueChange(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElement.attachEvent('onpropertychange', handlePropertyChange);\n}\n/**\n * (For IE <=9) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\n\n\nfunction stopWatchingForValueChange() {\n if (!activeElement) {\n return;\n }\n\n activeElement.detachEvent('onpropertychange', handlePropertyChange);\n activeElement = null;\n activeElementInst = null;\n}\n/**\n * (For IE <=9) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\n\n\nfunction handlePropertyChange(nativeEvent) {\n if (nativeEvent.propertyName !== 'value') {\n return;\n }\n\n if (getInstIfValueChanged(activeElementInst, nativeEvent)) {\n manualDispatchChangeEvent(nativeEvent);\n }\n}\n\nfunction handleEventsForInputEventPolyfill(topLevelType, target, targetInst) {\n if (topLevelType === 'topFocus') {\n // In IE8, we can capture almost all .value changes by adding a\n // propertychange handler and looking for events with propertyName\n // equal to 'value'\n // In IE9, propertychange fires for most input events but is buggy and\n // doesn't fire when text is deleted, but conveniently, selectionchange\n // appears to fire in all of the remaining cases so we catch those and\n // forward the event if the value has changed\n // In either case, we don't want to call the event handler if the value\n // is changed from JS so we redefine a setter for `.value` that updates\n // our activeElementValue variable, allowing us to ignore those changes\n //\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForValueChange();\n startWatchingForValueChange(target, targetInst);\n } else if (topLevelType === 'topBlur') {\n stopWatchingForValueChange();\n }\n} // For IE8 and IE9.\n\n\nfunction getTargetInstForInputEventPolyfill(topLevelType, targetInst, nativeEvent) {\n if (topLevelType === 'topSelectionChange' || topLevelType === 'topKeyUp' || topLevelType === 'topKeyDown') {\n // On the selectionchange event, the target is just document which isn't\n // helpful for us so just check activeElement instead.\n //\n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n // propertychange on the first input event after setting `value` from a\n // script and fires only keydown, keypress, keyup. Catching keyup usually\n // gets it and catching keydown lets us fire an event for the first\n // keystroke if user does a key repeat (it'll be a little delayed: right\n // before the second keystroke). Other input methods (e.g., paste) seem to\n // fire selectionchange normally.\n return getInstIfValueChanged(activeElementInst, nativeEvent);\n }\n}\n/**\n * SECTION: handle `click` event\n */\n\n\nfunction shouldUseClickEvent(elem) {\n // Use the `click` event to detect changes to checkbox and radio inputs.\n // This approach works across all browsers, whereas `change` does not fire\n // until `blur` in IE8.\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetInstForClickEvent(topLevelType, targetInst, nativeEvent) {\n if (topLevelType === 'topClick') {\n return getInstIfValueChanged(targetInst, nativeEvent);\n }\n}\n\nfunction getTargetInstForInputOrChangeEvent(topLevelType, targetInst, nativeEvent) {\n if (topLevelType === 'topInput' || topLevelType === 'topChange') {\n return getInstIfValueChanged(targetInst, nativeEvent);\n }\n}\n\nfunction handleControlledInputBlur(inst, node) {\n // TODO: In IE, inst is occasionally null. Why?\n if (inst == null) {\n return;\n } // Fiber and ReactDOM keep wrapper state in separate places\n\n\n var state = inst._wrapperState || node._wrapperState;\n\n if (!state || !state.controlled || node.type !== 'number') {\n return;\n } // If controlled, assign the value attribute to the current value on blur\n\n\n var value = '' + node.value;\n\n if (node.getAttribute('value') !== value) {\n node.setAttribute('value', value);\n }\n}\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\n\n\nvar ChangeEventPlugin = {\n eventTypes: eventTypes,\n _allowSimulatedPassThrough: true,\n _isInputEventSupported: isInputEventSupported,\n extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;\n var getTargetInstFunc, handleEventFunc;\n\n if (shouldUseChangeEvent(targetNode)) {\n if (doesChangeEventBubble) {\n getTargetInstFunc = getTargetInstForChangeEvent;\n } else {\n handleEventFunc = handleEventsForChangeEventIE8;\n }\n } else if (isTextInputElement(targetNode)) {\n if (isInputEventSupported) {\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n } else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n handleEventFunc = handleEventsForInputEventPolyfill;\n }\n } else if (shouldUseClickEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForClickEvent;\n }\n\n if (getTargetInstFunc) {\n var inst = getTargetInstFunc(topLevelType, targetInst, nativeEvent);\n\n if (inst) {\n var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget);\n return event;\n }\n }\n\n if (handleEventFunc) {\n handleEventFunc(topLevelType, targetNode, targetInst);\n } // When blurring, set the value attribute for number inputs\n\n\n if (topLevelType === 'topBlur') {\n handleControlledInputBlur(targetInst, targetNode);\n }\n }\n};\nmodule.exports = ChangeEventPlugin;","/**\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\nfunction _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\nvar ReactOwner = require('./ReactOwner');\n\nvar ReactRef = {};\n\nfunction attachRef(ref, component, owner) {\n if (typeof ref === 'function') {\n ref(component.getPublicInstance());\n } else {\n // Legacy ref\n ReactOwner.addComponentAsRefTo(component, ref, owner);\n }\n}\n\nfunction detachRef(ref, component, owner) {\n if (typeof ref === 'function') {\n ref(null);\n } else {\n // Legacy ref\n ReactOwner.removeComponentAsRefFrom(component, ref, owner);\n }\n}\n\nReactRef.attachRefs = function (instance, element) {\n if (element === null || _typeof(element) !== 'object') {\n return;\n }\n\n var ref = element.ref;\n\n if (ref != null) {\n attachRef(ref, instance, element._owner);\n }\n};\n\nReactRef.shouldUpdateRefs = function (prevElement, nextElement) {\n // If either the owner or a `ref` has changed, make sure the newest owner\n // has stored a reference to `this`, and the previous owner (if different)\n // has forgotten the reference to `this`. We use the element instead\n // of the public this.props because the post processing cannot determine\n // a ref. The ref conceptually lives on the element.\n // TODO: Should this even be possible? The owner cannot change because\n // it's forbidden by shouldUpdateReactComponent. The ref can change\n // if you swap the keys of but not the refs. Reconsider where this check\n // is made. It probably belongs where the key checking and\n // instantiateReactComponent is done.\n var prevRef = null;\n var prevOwner = null;\n\n if (prevElement !== null && _typeof(prevElement) === 'object') {\n prevRef = prevElement.ref;\n prevOwner = prevElement._owner;\n }\n\n var nextRef = null;\n var nextOwner = null;\n\n if (nextElement !== null && _typeof(nextElement) === 'object') {\n nextRef = nextElement.ref;\n nextOwner = nextElement._owner;\n }\n\n return prevRef !== nextRef || // If owner changes but we have an unchanged function ref, don't update refs\n typeof nextRef === 'string' && nextOwner !== prevOwner;\n};\n\nReactRef.detachRefs = function (instance, element) {\n if (element === null || _typeof(element) !== 'object') {\n return;\n }\n\n var ref = element.ref;\n\n if (ref != null) {\n detachRef(ref, instance, element._owner);\n }\n};\n\nmodule.exports = ReactRef;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n/**\n * @param {?object} object\n * @return {boolean} True if `object` is a valid owner.\n * @final\n */\n\n\nfunction isValidOwner(object) {\n return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function');\n}\n/**\n * ReactOwners are capable of storing references to owned components.\n *\n * All components are capable of //being// referenced by owner components, but\n * only ReactOwner components are capable of //referencing// owned components.\n * The named reference is known as a \"ref\".\n *\n * Refs are available when mounted and updated during reconciliation.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return (\n * <div onClick={this.handleClick}>\n * <CustomComponent ref=\"custom\" />\n * </div>\n * );\n * },\n * handleClick: function() {\n * this.refs.custom.handleClick();\n * },\n * componentDidMount: function() {\n * this.refs.custom.initialize();\n * }\n * });\n *\n * Refs should rarely be used. When refs are used, they should only be done to\n * control data that is not handled by React's data flow.\n *\n * @class ReactOwner\n */\n\n\nvar ReactOwner = {\n /**\n * Adds a component by ref to an owner component.\n *\n * @param {ReactComponent} component Component to reference.\n * @param {string} ref Name by which to refer to the component.\n * @param {ReactOwner} owner Component on which to record the ref.\n * @final\n * @internal\n */\n addComponentAsRefTo: function addComponentAsRefTo(component, ref, owner) {\n !isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component\\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('119') : void 0;\n owner.attachRef(ref, component);\n },\n\n /**\n * Removes a component by ref from an owner component.\n *\n * @param {ReactComponent} component Component to dereference.\n * @param {string} ref Name of the ref to remove.\n * @param {ReactOwner} owner Component on which the ref is recorded.\n * @final\n * @internal\n */\n removeComponentAsRefFrom: function removeComponentAsRefFrom(component, ref, owner) {\n !isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might be removing a ref to a component that was not created inside a component\\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('120') : void 0;\n var ownerPublicInstance = owner.getPublicInstance(); // Check that `component`'s owner is still alive and that `component` is still the current ref\n // because we do not want to detach the ref if another component stole it.\n\n if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) {\n owner.detachRef(ref);\n }\n }\n};\nmodule.exports = ReactOwner;","/**\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/**\n * Module that is injectable into `EventPluginHub`, that specifies a\n * deterministic ordering of `EventPlugin`s. A convenient way to reason about\n * plugins, without having to package every one of them. This is better than\n * having plugins be ordered in the same order that they are injected because\n * that ordering would be influenced by the packaging order.\n * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that\n * preventing default on events is convenient in `SimpleEventPlugin` handlers.\n */\n\nvar DefaultEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'TapEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin'];\nmodule.exports = DefaultEventPluginOrder;","/**\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 EventPropagators = require('./EventPropagators');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\nvar eventTypes = {\n mouseEnter: {\n registrationName: 'onMouseEnter',\n dependencies: ['topMouseOut', 'topMouseOver']\n },\n mouseLeave: {\n registrationName: 'onMouseLeave',\n dependencies: ['topMouseOut', 'topMouseOver']\n }\n};\nvar EnterLeaveEventPlugin = {\n eventTypes: eventTypes,\n\n /**\n * For almost every interaction we care about, there will be both a top-level\n * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n * we do not extract duplicate events. However, moving the mouse into the\n * browser from outside will not fire a `mouseout` event. In this case, we use\n * the `mouseover` top-level event.\n */\n extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n if (topLevelType === 'topMouseOver' && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {\n return null;\n }\n\n if (topLevelType !== 'topMouseOut' && topLevelType !== 'topMouseOver') {\n // Must not be a mouse in or mouse out - ignoring.\n return null;\n }\n\n var win;\n\n if (nativeEventTarget.window === nativeEventTarget) {\n // `nativeEventTarget` is probably a window object.\n win = nativeEventTarget;\n } else {\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n var doc = nativeEventTarget.ownerDocument;\n\n if (doc) {\n win = doc.defaultView || doc.parentWindow;\n } else {\n win = window;\n }\n }\n\n var from;\n var to;\n\n if (topLevelType === 'topMouseOut') {\n from = targetInst;\n var related = nativeEvent.relatedTarget || nativeEvent.toElement;\n to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null;\n } else {\n // Moving to a node from outside the window.\n from = null;\n to = targetInst;\n }\n\n if (from === to) {\n // Nothing pertains to our managed components.\n return null;\n }\n\n var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from);\n var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to);\n var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget);\n leave.type = 'mouseleave';\n leave.target = fromNode;\n leave.relatedTarget = toNode;\n var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget);\n enter.type = 'mouseenter';\n enter.target = toNode;\n enter.relatedTarget = fromNode;\n EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to);\n return [leave, enter];\n }\n};\nmodule.exports = EnterLeaveEventPlugin;","/**\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 DOMProperty = require('./DOMProperty');\n\nvar MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;\nvar HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;\nvar HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;\nvar HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;\nvar HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;\nvar HTMLDOMPropertyConfig = {\n isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')),\n Properties: {\n /**\n * Standard Properties\n */\n accept: 0,\n acceptCharset: 0,\n accessKey: 0,\n action: 0,\n allowFullScreen: HAS_BOOLEAN_VALUE,\n allowTransparency: 0,\n alt: 0,\n // specifies target context for links with `preload` type\n as: 0,\n async: HAS_BOOLEAN_VALUE,\n autoComplete: 0,\n // autoFocus is polyfilled/normalized by AutoFocusUtils\n // autoFocus: HAS_BOOLEAN_VALUE,\n autoPlay: HAS_BOOLEAN_VALUE,\n capture: HAS_BOOLEAN_VALUE,\n cellPadding: 0,\n cellSpacing: 0,\n charSet: 0,\n challenge: 0,\n checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n cite: 0,\n classID: 0,\n className: 0,\n cols: HAS_POSITIVE_NUMERIC_VALUE,\n colSpan: 0,\n content: 0,\n contentEditable: 0,\n contextMenu: 0,\n controls: HAS_BOOLEAN_VALUE,\n controlsList: 0,\n coords: 0,\n crossOrigin: 0,\n data: 0,\n // For `<object />` acts as `src`.\n dateTime: 0,\n 'default': HAS_BOOLEAN_VALUE,\n defer: HAS_BOOLEAN_VALUE,\n dir: 0,\n disabled: HAS_BOOLEAN_VALUE,\n download: HAS_OVERLOADED_BOOLEAN_VALUE,\n draggable: 0,\n encType: 0,\n form: 0,\n formAction: 0,\n formEncType: 0,\n formMethod: 0,\n formNoValidate: HAS_BOOLEAN_VALUE,\n formTarget: 0,\n frameBorder: 0,\n headers: 0,\n height: 0,\n hidden: HAS_BOOLEAN_VALUE,\n high: 0,\n href: 0,\n hrefLang: 0,\n htmlFor: 0,\n httpEquiv: 0,\n icon: 0,\n id: 0,\n inputMode: 0,\n integrity: 0,\n is: 0,\n keyParams: 0,\n keyType: 0,\n kind: 0,\n label: 0,\n lang: 0,\n list: 0,\n loop: HAS_BOOLEAN_VALUE,\n low: 0,\n manifest: 0,\n marginHeight: 0,\n marginWidth: 0,\n max: 0,\n maxLength: 0,\n media: 0,\n mediaGroup: 0,\n method: 0,\n min: 0,\n minLength: 0,\n // Caution; `option.selected` is not updated if `select.multiple` is\n // disabled with `removeAttribute`.\n multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n name: 0,\n nonce: 0,\n noValidate: HAS_BOOLEAN_VALUE,\n open: HAS_BOOLEAN_VALUE,\n optimum: 0,\n pattern: 0,\n placeholder: 0,\n playsInline: HAS_BOOLEAN_VALUE,\n poster: 0,\n preload: 0,\n profile: 0,\n radioGroup: 0,\n readOnly: HAS_BOOLEAN_VALUE,\n referrerPolicy: 0,\n rel: 0,\n required: HAS_BOOLEAN_VALUE,\n reversed: HAS_BOOLEAN_VALUE,\n role: 0,\n rows: HAS_POSITIVE_NUMERIC_VALUE,\n rowSpan: HAS_NUMERIC_VALUE,\n sandbox: 0,\n scope: 0,\n scoped: HAS_BOOLEAN_VALUE,\n scrolling: 0,\n seamless: HAS_BOOLEAN_VALUE,\n selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n shape: 0,\n size: HAS_POSITIVE_NUMERIC_VALUE,\n sizes: 0,\n span: HAS_POSITIVE_NUMERIC_VALUE,\n spellCheck: 0,\n src: 0,\n srcDoc: 0,\n srcLang: 0,\n srcSet: 0,\n start: HAS_NUMERIC_VALUE,\n step: 0,\n style: 0,\n summary: 0,\n tabIndex: 0,\n target: 0,\n title: 0,\n // Setting .type throws on non-<input> tags\n type: 0,\n useMap: 0,\n value: 0,\n width: 0,\n wmode: 0,\n wrap: 0,\n\n /**\n * RDFa Properties\n */\n about: 0,\n datatype: 0,\n inlist: 0,\n prefix: 0,\n // property is also supported for OpenGraph in meta tags.\n property: 0,\n resource: 0,\n 'typeof': 0,\n vocab: 0,\n\n /**\n * Non-standard Properties\n */\n // autoCapitalize and autoCorrect are supported in Mobile Safari for\n // keyboard hints.\n autoCapitalize: 0,\n autoCorrect: 0,\n // autoSave allows WebKit/Blink to persist values of input fields on page reloads\n autoSave: 0,\n // color is for Safari mask-icon link\n color: 0,\n // itemProp, itemScope, itemType are for\n // Microdata support. See http://schema.org/docs/gs.html\n itemProp: 0,\n itemScope: HAS_BOOLEAN_VALUE,\n itemType: 0,\n // itemID and itemRef are for Microdata support as well but\n // only specified in the WHATWG spec document. See\n // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api\n itemID: 0,\n itemRef: 0,\n // results show looking glass icon and recent searches on input\n // search fields in WebKit/Blink\n results: 0,\n // IE-only attribute that specifies security restrictions on an iframe\n // as an alternative to the sandbox attribute on IE<10\n security: 0,\n // IE-only attribute that controls focus behavior\n unselectable: 0\n },\n DOMAttributeNames: {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv'\n },\n DOMPropertyNames: {},\n DOMMutationMethods: {\n value: function value(node, _value) {\n if (_value == null) {\n return node.removeAttribute('value');\n } // Number inputs get special treatment due to some edge cases in\n // Chrome. Let everything else assign the value attribute as normal.\n // https://github.com/facebook/react/issues/7253#issuecomment-236074326\n\n\n if (node.type !== 'number' || node.hasAttribute('value') === false) {\n node.setAttribute('value', '' + _value);\n } else if (node.validity && !node.validity.badInput && node.ownerDocument.activeElement !== node) {\n // Don't assign an attribute if validation reports bad\n // input. Chrome will clear the value. Additionally, don't\n // operate on inputs that have focus, otherwise Chrome might\n // strip off trailing decimal places and cause the user's\n // cursor position to jump to the beginning of the input.\n //\n // In ReactDOMInput, we have an onBlur event that will trigger\n // this function again when focus is lost.\n node.setAttribute('value', '' + _value);\n }\n }\n }\n};\nmodule.exports = HTMLDOMPropertyConfig;","/**\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 DOMChildrenOperations = require('./DOMChildrenOperations');\n\nvar ReactDOMIDOperations = require('./ReactDOMIDOperations');\n/**\n * Abstracts away all functionality of the reconciler that requires knowledge of\n * the browser context. TODO: These callers should be refactored to avoid the\n * need for this injection.\n */\n\n\nvar ReactComponentBrowserEnvironment = {\n processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,\n replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup\n};\nmodule.exports = ReactComponentBrowserEnvironment;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar DOMLazyTree = require('./DOMLazyTree');\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar createNodesFromMarkup = require('fbjs/lib/createNodesFromMarkup');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar Danger = {\n /**\n * Replaces a node with a string of markup at its current position within its\n * parent. The markup must render into a single root node.\n *\n * @param {DOMElement} oldChild Child node to replace.\n * @param {string} markup Markup to render in place of the child node.\n * @internal\n */\n dangerouslyReplaceNodeWithMarkup: function dangerouslyReplaceNodeWithMarkup(oldChild, markup) {\n !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('56') : void 0;\n !markup ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : _prodInvariant('57') : void 0;\n !(oldChild.nodeName !== 'HTML') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the <html> node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString().') : _prodInvariant('58') : void 0;\n\n if (typeof markup === 'string') {\n var newChild = createNodesFromMarkup(markup, emptyFunction)[0];\n oldChild.parentNode.replaceChild(newChild, oldChild);\n } else {\n DOMLazyTree.replaceChildWithTree(oldChild, markup);\n }\n }\n};\nmodule.exports = Danger;","'use strict';\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 * @typechecks\n */\n\n/*eslint-disable fb-www/unsafe-html*/\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar createArrayFromMixed = require('./createArrayFromMixed');\n\nvar getMarkupWrap = require('./getMarkupWrap');\n\nvar invariant = require('./invariant');\n/**\n * Dummy container used to render all markup.\n */\n\n\nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n/**\n * Pattern used by `getNodeName`.\n */\n\nvar nodeNamePattern = /^\\s*<(\\w+)/;\n/**\n * Extracts the `nodeName` of the first element in a string of markup.\n *\n * @param {string} markup String of markup.\n * @return {?string} Node name of the supplied markup.\n */\n\nfunction getNodeName(markup) {\n var nodeNameMatch = markup.match(nodeNamePattern);\n return nodeNameMatch && nodeNameMatch[1].toLowerCase();\n}\n/**\n * Creates an array containing the nodes rendered from the supplied markup. The\n * optionally supplied `handleScript` function will be invoked once for each\n * <script> element that is rendered. If no `handleScript` function is supplied,\n * an exception is thrown if any <script> elements are rendered.\n *\n * @param {string} markup A string of valid HTML markup.\n * @param {?function} handleScript Invoked once for each rendered <script>.\n * @return {array<DOMElement|DOMTextNode>} An array of rendered nodes.\n */\n\n\nfunction createNodesFromMarkup(markup, handleScript) {\n var node = dummyNode;\n !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup dummy not initialized') : invariant(false) : void 0;\n var nodeName = getNodeName(markup);\n var wrap = nodeName && getMarkupWrap(nodeName);\n\n if (wrap) {\n node.innerHTML = wrap[1] + markup + wrap[2];\n var wrapDepth = wrap[0];\n\n while (wrapDepth--) {\n node = node.lastChild;\n }\n } else {\n node.innerHTML = markup;\n }\n\n var scripts = node.getElementsByTagName('script');\n\n if (scripts.length) {\n !handleScript ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : invariant(false) : void 0;\n createArrayFromMixed(scripts).forEach(handleScript);\n }\n\n var nodes = Array.from(node.childNodes);\n\n while (node.lastChild) {\n node.removeChild(node.lastChild);\n }\n\n return nodes;\n}\n\nmodule.exports = createNodesFromMarkup;","'use strict';\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 * @typechecks\n */\n\nfunction _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\nvar invariant = require('./invariant');\n/**\n * Convert array-like objects to arrays.\n *\n * This API assumes the caller knows the contents of the data type. For less\n * well defined inputs use createArrayFromMixed.\n *\n * @param {object|function|filelist} obj\n * @return {array}\n */\n\n\nfunction toArray(obj) {\n var length = obj.length; // Some browsers builtin objects can report typeof 'function' (e.g. NodeList\n // in old versions of Safari).\n\n !(!Array.isArray(obj) && (_typeof(obj) === 'object' || typeof obj === 'function')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : void 0;\n !(typeof length === 'number') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : void 0;\n !(length === 0 || length - 1 in obj) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : void 0;\n !(typeof obj.callee !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object can\\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : invariant(false) : void 0; // Old IE doesn't give collections access to hasOwnProperty. Assume inputs\n // without method will throw during the slice call and skip straight to the\n // fallback.\n\n if (obj.hasOwnProperty) {\n try {\n return Array.prototype.slice.call(obj);\n } catch (e) {// IE < 9 does not support Array#slice on collections objects\n }\n } // Fall back to copying key by key. This assumes all keys have a value,\n // so will not preserve sparsely populated inputs.\n\n\n var ret = Array(length);\n\n for (var ii = 0; ii < length; ii++) {\n ret[ii] = obj[ii];\n }\n\n return ret;\n}\n/**\n * Perform a heuristic test to determine if an object is \"array-like\".\n *\n * A monk asked Joshu, a Zen master, \"Has a dog Buddha nature?\"\n * Joshu replied: \"Mu.\"\n *\n * This function determines if its argument has \"array nature\": it returns\n * true if the argument is an actual array, an `arguments' object, or an\n * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).\n *\n * It will return false for other array-like objects like Filelist.\n *\n * @param {*} obj\n * @return {boolean}\n */\n\n\nfunction hasArrayNature(obj) {\n return (// not null/false\n !!obj && ( // arrays are objects, NodeLists are functions in Safari\n _typeof(obj) == 'object' || typeof obj == 'function') && // quacks like an array\n 'length' in obj && // not window\n !('setInterval' in obj) && // no DOM node should be considered an array-like\n // a 'select' element has 'length' and 'item' properties on IE8\n typeof obj.nodeType != 'number' && ( // a real array\n Array.isArray(obj) || // arguments\n 'callee' in obj || // HTMLCollection/NodeList\n 'item' in obj)\n );\n}\n/**\n * Ensure that the argument is an array by wrapping it in an array if it is not.\n * Creates a copy of the argument if it is already an array.\n *\n * This is mostly useful idiomatically:\n *\n * var createArrayFromMixed = require('createArrayFromMixed');\n *\n * function takesOneOrMoreThings(things) {\n * things = createArrayFromMixed(things);\n * ...\n * }\n *\n * This allows you to treat `things' as an array, but accept scalars in the API.\n *\n * If you need to convert an array-like object, like `arguments`, into an array\n * use toArray instead.\n *\n * @param {*} obj\n * @return {array}\n */\n\n\nfunction createArrayFromMixed(obj) {\n if (!hasArrayNature(obj)) {\n return [obj];\n } else if (Array.isArray(obj)) {\n return obj.slice();\n } else {\n return toArray(obj);\n }\n}\n\nmodule.exports = createArrayFromMixed;","'use strict';\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\n/*eslint-disable fb-www/unsafe-html */\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar invariant = require('./invariant');\n/**\n * Dummy container used to detect which wraps are necessary.\n */\n\n\nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n/**\n * Some browsers cannot use `innerHTML` to render certain elements standalone,\n * so we wrap them, render the wrapped nodes, then extract the desired node.\n *\n * In IE8, certain elements cannot render alone, so wrap all elements ('*').\n */\n\nvar shouldWrap = {};\nvar selectWrap = [1, '<select multiple=\"true\">', '</select>'];\nvar tableWrap = [1, '<table>', '</table>'];\nvar trWrap = [3, '<table><tbody><tr>', '</tr></tbody></table>'];\nvar svgWrap = [1, '<svg xmlns=\"http://www.w3.org/2000/svg\">', '</svg>'];\nvar markupWrap = {\n '*': [1, '?<div>', '</div>'],\n 'area': [1, '<map>', '</map>'],\n 'col': [2, '<table><tbody></tbody><colgroup>', '</colgroup></table>'],\n 'legend': [1, '<fieldset>', '</fieldset>'],\n 'param': [1, '<object>', '</object>'],\n 'tr': [2, '<table><tbody>', '</tbody></table>'],\n 'optgroup': selectWrap,\n 'option': selectWrap,\n 'caption': tableWrap,\n 'colgroup': tableWrap,\n 'tbody': tableWrap,\n 'tfoot': tableWrap,\n 'thead': tableWrap,\n 'td': trWrap,\n 'th': trWrap\n}; // Initialize the SVG elements since we know they'll always need to be wrapped\n// consistently. If they are created inside a <div> they will be initialized in\n// the wrong namespace (and will not display).\n\nvar svgElements = ['circle', 'clipPath', 'defs', 'ellipse', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'text', 'tspan'];\nsvgElements.forEach(function (nodeName) {\n markupWrap[nodeName] = svgWrap;\n shouldWrap[nodeName] = true;\n});\n/**\n * Gets the markup wrap configuration for the supplied `nodeName`.\n *\n * NOTE: This lazily detects which wraps are necessary for the current browser.\n *\n * @param {string} nodeName Lowercase `nodeName`.\n * @return {?array} Markup wrap configuration, if applicable.\n */\n\nfunction getMarkupWrap(nodeName) {\n !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Markup wrapping node not initialized') : invariant(false) : void 0;\n\n if (!markupWrap.hasOwnProperty(nodeName)) {\n nodeName = '*';\n }\n\n if (!shouldWrap.hasOwnProperty(nodeName)) {\n if (nodeName === '*') {\n dummyNode.innerHTML = '<link />';\n } else {\n dummyNode.innerHTML = '<' + nodeName + '></' + nodeName + '>';\n }\n\n shouldWrap[nodeName] = !dummyNode.firstChild;\n }\n\n return shouldWrap[nodeName] ? markupWrap[nodeName] : null;\n}\n\nmodule.exports = getMarkupWrap;","/**\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 DOMChildrenOperations = require('./DOMChildrenOperations');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n/**\n * Operations used to process updates to DOM nodes.\n */\n\n\nvar ReactDOMIDOperations = {\n /**\n * Updates a component's children by processing a series of updates.\n *\n * @param {array<object>} updates List of update configurations.\n * @internal\n */\n dangerouslyProcessChildrenUpdates: function dangerouslyProcessChildrenUpdates(parentInst, updates) {\n var node = ReactDOMComponentTree.getNodeFromInstance(parentInst);\n DOMChildrenOperations.processUpdates(node, updates);\n }\n};\nmodule.exports = ReactDOMIDOperations;","/**\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/* global hasOwnProperty:true */\n'use strict';\n\nfunction _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\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar AutoFocusUtils = require('./AutoFocusUtils');\n\nvar CSSPropertyOperations = require('./CSSPropertyOperations');\n\nvar DOMLazyTree = require('./DOMLazyTree');\n\nvar DOMNamespaces = require('./DOMNamespaces');\n\nvar DOMProperty = require('./DOMProperty');\n\nvar DOMPropertyOperations = require('./DOMPropertyOperations');\n\nvar EventPluginHub = require('./EventPluginHub');\n\nvar EventPluginRegistry = require('./EventPluginRegistry');\n\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\n\nvar ReactDOMComponentFlags = require('./ReactDOMComponentFlags');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactDOMInput = require('./ReactDOMInput');\n\nvar ReactDOMOption = require('./ReactDOMOption');\n\nvar ReactDOMSelect = require('./ReactDOMSelect');\n\nvar ReactDOMTextarea = require('./ReactDOMTextarea');\n\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar ReactMultiChild = require('./ReactMultiChild');\n\nvar ReactServerRenderingTransaction = require('./ReactServerRenderingTransaction');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar isEventSupported = require('./isEventSupported');\n\nvar shallowEqual = require('fbjs/lib/shallowEqual');\n\nvar inputValueTracking = require('./inputValueTracking');\n\nvar validateDOMNesting = require('./validateDOMNesting');\n\nvar warning = require('fbjs/lib/warning');\n\nvar Flags = ReactDOMComponentFlags;\nvar deleteListener = EventPluginHub.deleteListener;\nvar getNode = ReactDOMComponentTree.getNodeFromInstance;\nvar listenTo = ReactBrowserEventEmitter.listenTo;\nvar registrationNameModules = EventPluginRegistry.registrationNameModules; // For quickly matching children type, to test if can be treated as content.\n\nvar CONTENT_TYPES = {\n string: true,\n number: true\n};\nvar STYLE = 'style';\nvar HTML = '__html';\nvar RESERVED_PROPS = {\n children: null,\n dangerouslySetInnerHTML: null,\n suppressContentEditableWarning: null\n}; // Node type for document fragments (Node.DOCUMENT_FRAGMENT_NODE).\n\nvar DOC_FRAGMENT_TYPE = 11;\n\nfunction getDeclarationErrorAddendum(internalInstance) {\n if (internalInstance) {\n var owner = internalInstance._currentElement._owner || null;\n\n if (owner) {\n var name = owner.getName();\n\n if (name) {\n return ' This DOM node was rendered by `' + name + '`.';\n }\n }\n }\n\n return '';\n}\n\nfunction friendlyStringify(obj) {\n if (_typeof(obj) === 'object') {\n if (Array.isArray(obj)) {\n return '[' + obj.map(friendlyStringify).join(', ') + ']';\n } else {\n var pairs = [];\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var keyEscaped = /^[a-z$_][\\w$_]*$/i.test(key) ? key : JSON.stringify(key);\n pairs.push(keyEscaped + ': ' + friendlyStringify(obj[key]));\n }\n }\n\n return '{' + pairs.join(', ') + '}';\n }\n } else if (typeof obj === 'string') {\n return JSON.stringify(obj);\n } else if (typeof obj === 'function') {\n return '[function object]';\n } // Differs from JSON.stringify in that undefined because undefined and that\n // inf and nan don't become null\n\n\n return String(obj);\n}\n\nvar styleMutationWarning = {};\n\nfunction checkAndWarnForMutatedStyle(style1, style2, component) {\n if (style1 == null || style2 == null) {\n return;\n }\n\n if (shallowEqual(style1, style2)) {\n return;\n }\n\n var componentName = component._tag;\n var owner = component._currentElement._owner;\n var ownerName;\n\n if (owner) {\n ownerName = owner.getName();\n }\n\n var hash = ownerName + '|' + componentName;\n\n if (styleMutationWarning.hasOwnProperty(hash)) {\n return;\n }\n\n styleMutationWarning[hash] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '`%s` was passed a style object that has previously been mutated. ' + 'Mutating `style` is deprecated. Consider cloning it beforehand. Check ' + 'the `render` %s. Previous style: %s. Mutated style: %s.', componentName, owner ? 'of `' + ownerName + '`' : 'using <' + componentName + '>', friendlyStringify(style1), friendlyStringify(style2)) : void 0;\n}\n/**\n * @param {object} component\n * @param {?object} props\n */\n\n\nfunction assertValidProps(component, props) {\n if (!props) {\n return;\n } // Note the use of `==` which checks for null or undefined.\n\n\n if (voidElementTags[component._tag]) {\n !(props.children == null && props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.%s', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : _prodInvariant('137', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : void 0;\n }\n\n if (props.dangerouslySetInnerHTML != null) {\n !(props.children == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : _prodInvariant('60') : void 0;\n !(_typeof(props.dangerouslySetInnerHTML) === 'object' && HTML in props.dangerouslySetInnerHTML) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information.') : _prodInvariant('61') : void 0;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(props.suppressContentEditableWarning || !props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(props.onFocusIn == null && props.onFocusOut == null, 'React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.') : void 0;\n }\n\n !(props.style == null || _typeof(props.style) === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + \\'em\\'}} when using JSX.%s', getDeclarationErrorAddendum(component)) : _prodInvariant('62', getDeclarationErrorAddendum(component)) : void 0;\n}\n\nfunction enqueuePutListener(inst, registrationName, listener, transaction) {\n if (transaction instanceof ReactServerRenderingTransaction) {\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // IE8 has no API for event capturing and the `onScroll` event doesn't\n // bubble.\n process.env.NODE_ENV !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), \"This browser doesn't support the `onScroll` event\") : void 0;\n }\n\n var containerInfo = inst._hostContainerInfo;\n var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE;\n var doc = isDocumentFragment ? containerInfo._node : containerInfo._ownerDocument;\n listenTo(registrationName, doc);\n transaction.getReactMountReady().enqueue(putListener, {\n inst: inst,\n registrationName: registrationName,\n listener: listener\n });\n}\n\nfunction putListener() {\n var listenerToPut = this;\n EventPluginHub.putListener(listenerToPut.inst, listenerToPut.registrationName, listenerToPut.listener);\n}\n\nfunction inputPostMount() {\n var inst = this;\n ReactDOMInput.postMountWrapper(inst);\n}\n\nfunction textareaPostMount() {\n var inst = this;\n ReactDOMTextarea.postMountWrapper(inst);\n}\n\nfunction optionPostMount() {\n var inst = this;\n ReactDOMOption.postMountWrapper(inst);\n}\n\nvar setAndValidateContentChildDev = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev = function setAndValidateContentChildDev(content) {\n var hasExistingContent = this._contentDebugID != null;\n var debugID = this._debugID; // This ID represents the inlined child that has no backing instance:\n\n var contentDebugID = -debugID;\n\n if (content == null) {\n if (hasExistingContent) {\n ReactInstrumentation.debugTool.onUnmountComponent(this._contentDebugID);\n }\n\n this._contentDebugID = null;\n return;\n }\n\n validateDOMNesting(null, String(content), this, this._ancestorInfo);\n this._contentDebugID = contentDebugID;\n\n if (hasExistingContent) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(contentDebugID, content);\n ReactInstrumentation.debugTool.onUpdateComponent(contentDebugID);\n } else {\n ReactInstrumentation.debugTool.onBeforeMountComponent(contentDebugID, content, debugID);\n ReactInstrumentation.debugTool.onMountComponent(contentDebugID);\n ReactInstrumentation.debugTool.onSetChildren(debugID, [contentDebugID]);\n }\n };\n} // There are so many media events, it makes sense to just\n// maintain a list rather than create a `trapBubbledEvent` for each\n\n\nvar mediaEvents = {\n topAbort: 'abort',\n topCanPlay: 'canplay',\n topCanPlayThrough: 'canplaythrough',\n topDurationChange: 'durationchange',\n topEmptied: 'emptied',\n topEncrypted: 'encrypted',\n topEnded: 'ended',\n topError: 'error',\n topLoadedData: 'loadeddata',\n topLoadedMetadata: 'loadedmetadata',\n topLoadStart: 'loadstart',\n topPause: 'pause',\n topPlay: 'play',\n topPlaying: 'playing',\n topProgress: 'progress',\n topRateChange: 'ratechange',\n topSeeked: 'seeked',\n topSeeking: 'seeking',\n topStalled: 'stalled',\n topSuspend: 'suspend',\n topTimeUpdate: 'timeupdate',\n topVolumeChange: 'volumechange',\n topWaiting: 'waiting'\n};\n\nfunction trackInputValue() {\n inputValueTracking.track(this);\n}\n\nfunction trapBubbledEventsLocal() {\n var inst = this; // If a component renders to null or if another component fatals and causes\n // the state of the tree to be corrupted, `node` here can be null.\n\n !inst._rootNodeID ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Must be mounted to trap events') : _prodInvariant('63') : void 0;\n var node = getNode(inst);\n !node ? process.env.NODE_ENV !== 'production' ? invariant(false, 'trapBubbledEvent(...): Requires node to be rendered.') : _prodInvariant('64') : void 0;\n\n switch (inst._tag) {\n case 'iframe':\n case 'object':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topLoad', 'load', node)];\n break;\n\n case 'video':\n case 'audio':\n inst._wrapperState.listeners = []; // Create listener for each media event\n\n for (var event in mediaEvents) {\n if (mediaEvents.hasOwnProperty(event)) {\n inst._wrapperState.listeners.push(ReactBrowserEventEmitter.trapBubbledEvent(event, mediaEvents[event], node));\n }\n }\n\n break;\n\n case 'source':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topError', 'error', node)];\n break;\n\n case 'img':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topError', 'error', node), ReactBrowserEventEmitter.trapBubbledEvent('topLoad', 'load', node)];\n break;\n\n case 'form':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topReset', 'reset', node), ReactBrowserEventEmitter.trapBubbledEvent('topSubmit', 'submit', node)];\n break;\n\n case 'input':\n case 'select':\n case 'textarea':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topInvalid', 'invalid', node)];\n break;\n }\n}\n\nfunction postUpdateSelectWrapper() {\n ReactDOMSelect.postUpdateWrapper(this);\n} // For HTML, certain tags should omit their close tag. We keep a whitelist for\n// those special-case tags.\n\n\nvar omittedCloseTags = {\n area: true,\n base: true,\n br: true,\n col: true,\n embed: true,\n hr: true,\n img: true,\n input: true,\n keygen: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true // NOTE: menuitem's close tag should be omitted, but that causes problems.\n\n};\nvar newlineEatingTags = {\n listing: true,\n pre: true,\n textarea: true\n}; // For HTML, certain tags cannot have children. This has the same purpose as\n// `omittedCloseTags` except that `menuitem` should still have its closing tag.\n\nvar voidElementTags = _assign({\n menuitem: true\n}, omittedCloseTags); // We accept any tag to be rendered but since this gets injected into arbitrary\n// HTML, we want to make sure that it's a safe tag.\n// http://www.w3.org/TR/REC-xml/#NT-Name\n\n\nvar VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/; // Simplified subset\n\nvar validatedTagCache = {};\nvar hasOwnProperty = {}.hasOwnProperty;\n\nfunction validateDangerousTag(tag) {\n if (!hasOwnProperty.call(validatedTagCache, tag)) {\n !VALID_TAG_REGEX.test(tag) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Invalid tag: %s', tag) : _prodInvariant('65', tag) : void 0;\n validatedTagCache[tag] = true;\n }\n}\n\nfunction isCustomComponent(tagName, props) {\n return tagName.indexOf('-') >= 0 || props.is != null;\n}\n\nvar globalIdCounter = 1;\n/**\n * Creates a new React class that is idempotent and capable of containing other\n * React components. It accepts event listeners and DOM properties that are\n * valid according to `DOMProperty`.\n *\n * - Event listeners: `onClick`, `onMouseDown`, etc.\n * - DOM properties: `className`, `name`, `title`, etc.\n *\n * The `style` property functions differently from the DOM API. It accepts an\n * object mapping of style properties to values.\n *\n * @constructor ReactDOMComponent\n * @extends ReactMultiChild\n */\n\nfunction ReactDOMComponent(element) {\n var tag = element.type;\n validateDangerousTag(tag);\n this._currentElement = element;\n this._tag = tag.toLowerCase();\n this._namespaceURI = null;\n this._renderedChildren = null;\n this._previousStyle = null;\n this._previousStyleCopy = null;\n this._hostNode = null;\n this._hostParent = null;\n this._rootNodeID = 0;\n this._domID = 0;\n this._hostContainerInfo = null;\n this._wrapperState = null;\n this._topLevelWrapper = null;\n this._flags = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._ancestorInfo = null;\n setAndValidateContentChildDev.call(this, null);\n }\n}\n\nReactDOMComponent.displayName = 'ReactDOMComponent';\nReactDOMComponent.Mixin = {\n /**\n * Generates root tag markup then recurses. This method has side effects and\n * is not idempotent.\n *\n * @internal\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {?ReactDOMComponent} the parent component instance\n * @param {?object} info about the host container\n * @param {object} context\n * @return {string} The computed markup.\n */\n mountComponent: function mountComponent(transaction, hostParent, hostContainerInfo, context) {\n this._rootNodeID = globalIdCounter++;\n this._domID = hostContainerInfo._idCounter++;\n this._hostParent = hostParent;\n this._hostContainerInfo = hostContainerInfo;\n var props = this._currentElement.props;\n\n switch (this._tag) {\n case 'audio':\n case 'form':\n case 'iframe':\n case 'img':\n case 'link':\n case 'object':\n case 'source':\n case 'video':\n this._wrapperState = {\n listeners: null\n };\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n\n case 'input':\n ReactDOMInput.mountWrapper(this, props, hostParent);\n props = ReactDOMInput.getHostProps(this, props);\n transaction.getReactMountReady().enqueue(trackInputValue, this);\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n\n case 'option':\n ReactDOMOption.mountWrapper(this, props, hostParent);\n props = ReactDOMOption.getHostProps(this, props);\n break;\n\n case 'select':\n ReactDOMSelect.mountWrapper(this, props, hostParent);\n props = ReactDOMSelect.getHostProps(this, props);\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n\n case 'textarea':\n ReactDOMTextarea.mountWrapper(this, props, hostParent);\n props = ReactDOMTextarea.getHostProps(this, props);\n transaction.getReactMountReady().enqueue(trackInputValue, this);\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n }\n\n assertValidProps(this, props); // We create tags in the namespace of their parent container, except HTML\n // tags get no namespace.\n\n var namespaceURI;\n var parentTag;\n\n if (hostParent != null) {\n namespaceURI = hostParent._namespaceURI;\n parentTag = hostParent._tag;\n } else if (hostContainerInfo._tag) {\n namespaceURI = hostContainerInfo._namespaceURI;\n parentTag = hostContainerInfo._tag;\n }\n\n if (namespaceURI == null || namespaceURI === DOMNamespaces.svg && parentTag === 'foreignobject') {\n namespaceURI = DOMNamespaces.html;\n }\n\n if (namespaceURI === DOMNamespaces.html) {\n if (this._tag === 'svg') {\n namespaceURI = DOMNamespaces.svg;\n } else if (this._tag === 'math') {\n namespaceURI = DOMNamespaces.mathml;\n }\n }\n\n this._namespaceURI = namespaceURI;\n\n if (process.env.NODE_ENV !== 'production') {\n var parentInfo;\n\n if (hostParent != null) {\n parentInfo = hostParent._ancestorInfo;\n } else if (hostContainerInfo._tag) {\n parentInfo = hostContainerInfo._ancestorInfo;\n }\n\n if (parentInfo) {\n // parentInfo should always be present except for the top-level\n // component when server rendering\n validateDOMNesting(this._tag, null, this, parentInfo);\n }\n\n this._ancestorInfo = validateDOMNesting.updatedAncestorInfo(parentInfo, this._tag, this);\n }\n\n var mountImage;\n\n if (transaction.useCreateElement) {\n var ownerDocument = hostContainerInfo._ownerDocument;\n var el;\n\n if (namespaceURI === DOMNamespaces.html) {\n if (this._tag === 'script') {\n // Create the script via .innerHTML so its \"parser-inserted\" flag is\n // set to true and it does not execute\n var div = ownerDocument.createElement('div');\n var type = this._currentElement.type;\n div.innerHTML = '<' + type + '></' + type + '>';\n el = div.removeChild(div.firstChild);\n } else if (props.is) {\n el = ownerDocument.createElement(this._currentElement.type, props.is);\n } else {\n // Separate else branch instead of using `props.is || undefined` above becuase of a Firefox bug.\n // See discussion in https://github.com/facebook/react/pull/6896\n // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\n el = ownerDocument.createElement(this._currentElement.type);\n }\n } else {\n el = ownerDocument.createElementNS(namespaceURI, this._currentElement.type);\n }\n\n ReactDOMComponentTree.precacheNode(this, el);\n this._flags |= Flags.hasCachedChildNodes;\n\n if (!this._hostParent) {\n DOMPropertyOperations.setAttributeForRoot(el);\n }\n\n this._updateDOMProperties(null, props, transaction);\n\n var lazyTree = DOMLazyTree(el);\n\n this._createInitialChildren(transaction, props, context, lazyTree);\n\n mountImage = lazyTree;\n } else {\n var tagOpen = this._createOpenTagMarkupAndPutListeners(transaction, props);\n\n var tagContent = this._createContentMarkup(transaction, props, context);\n\n if (!tagContent && omittedCloseTags[this._tag]) {\n mountImage = tagOpen + '/>';\n } else {\n mountImage = tagOpen + '>' + tagContent + '</' + this._currentElement.type + '>';\n }\n }\n\n switch (this._tag) {\n case 'input':\n transaction.getReactMountReady().enqueue(inputPostMount, this);\n\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n\n break;\n\n case 'textarea':\n transaction.getReactMountReady().enqueue(textareaPostMount, this);\n\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n\n break;\n\n case 'select':\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n\n break;\n\n case 'button':\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n\n break;\n\n case 'option':\n transaction.getReactMountReady().enqueue(optionPostMount, this);\n break;\n }\n\n return mountImage;\n },\n\n /**\n * Creates markup for the open tag and all attributes.\n *\n * This method has side effects because events get registered.\n *\n * Iterating over object properties is faster than iterating over arrays.\n * @see http://jsperf.com/obj-vs-arr-iteration\n *\n * @private\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} props\n * @return {string} Markup of opening tag.\n */\n _createOpenTagMarkupAndPutListeners: function _createOpenTagMarkupAndPutListeners(transaction, props) {\n var ret = '<' + this._currentElement.type;\n\n for (var propKey in props) {\n if (!props.hasOwnProperty(propKey)) {\n continue;\n }\n\n var propValue = props[propKey];\n\n if (propValue == null) {\n continue;\n }\n\n if (registrationNameModules.hasOwnProperty(propKey)) {\n if (propValue) {\n enqueuePutListener(this, propKey, propValue, transaction);\n }\n } else {\n if (propKey === STYLE) {\n if (propValue) {\n if (process.env.NODE_ENV !== 'production') {\n // See `_updateDOMProperties`. style block\n this._previousStyle = propValue;\n }\n\n propValue = this._previousStyleCopy = _assign({}, props.style);\n }\n\n propValue = CSSPropertyOperations.createMarkupForStyles(propValue, this);\n }\n\n var markup = null;\n\n if (this._tag != null && isCustomComponent(this._tag, props)) {\n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n markup = DOMPropertyOperations.createMarkupForCustomAttribute(propKey, propValue);\n }\n } else {\n markup = DOMPropertyOperations.createMarkupForProperty(propKey, propValue);\n }\n\n if (markup) {\n ret += ' ' + markup;\n }\n }\n } // For static pages, no need to put React ID and checksum. Saves lots of\n // bytes.\n\n\n if (transaction.renderToStaticMarkup) {\n return ret;\n }\n\n if (!this._hostParent) {\n ret += ' ' + DOMPropertyOperations.createMarkupForRoot();\n }\n\n ret += ' ' + DOMPropertyOperations.createMarkupForID(this._domID);\n return ret;\n },\n\n /**\n * Creates markup for the content between the tags.\n *\n * @private\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} props\n * @param {object} context\n * @return {string} Content markup.\n */\n _createContentMarkup: function _createContentMarkup(transaction, props, context) {\n var ret = ''; // Intentional use of != to avoid catching zero/false.\n\n var innerHTML = props.dangerouslySetInnerHTML;\n\n if (innerHTML != null) {\n if (innerHTML.__html != null) {\n ret = innerHTML.__html;\n }\n } else {\n var contentToUse = CONTENT_TYPES[_typeof(props.children)] ? props.children : null;\n var childrenToUse = contentToUse != null ? null : props.children;\n\n if (contentToUse != null) {\n // TODO: Validate that text is allowed as a child of this node\n ret = escapeTextContentForBrowser(contentToUse);\n\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, contentToUse);\n }\n } else if (childrenToUse != null) {\n var mountImages = this.mountChildren(childrenToUse, transaction, context);\n ret = mountImages.join('');\n }\n }\n\n if (newlineEatingTags[this._tag] && ret.charAt(0) === '\\n') {\n // text/html ignores the first character in these tags if it's a newline\n // Prefer to break application/xml over text/html (for now) by adding\n // a newline specifically to get eaten by the parser. (Alternately for\n // textareas, replacing \"^\\n\" with \"\\r\\n\" doesn't get eaten, and the first\n // \\r is normalized out by HTMLTextAreaElement#value.)\n // See: <http://www.w3.org/TR/html-polyglot/#newlines-in-textarea-and-pre>\n // See: <http://www.w3.org/TR/html5/syntax.html#element-restrictions>\n // See: <http://www.w3.org/TR/html5/syntax.html#newlines>\n // See: Parsing of \"textarea\" \"listing\" and \"pre\" elements\n // from <http://www.w3.org/TR/html5/syntax.html#parsing-main-inbody>\n return '\\n' + ret;\n } else {\n return ret;\n }\n },\n _createInitialChildren: function _createInitialChildren(transaction, props, context, lazyTree) {\n // Intentional use of != to avoid catching zero/false.\n var innerHTML = props.dangerouslySetInnerHTML;\n\n if (innerHTML != null) {\n if (innerHTML.__html != null) {\n DOMLazyTree.queueHTML(lazyTree, innerHTML.__html);\n }\n } else {\n var contentToUse = CONTENT_TYPES[_typeof(props.children)] ? props.children : null;\n var childrenToUse = contentToUse != null ? null : props.children; // TODO: Validate that text is allowed as a child of this node\n\n if (contentToUse != null) {\n // Avoid setting textContent when the text is empty. In IE11 setting\n // textContent on a text area will cause the placeholder to not\n // show within the textarea until it has been focused and blurred again.\n // https://github.com/facebook/react/issues/6731#issuecomment-254874553\n if (contentToUse !== '') {\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, contentToUse);\n }\n\n DOMLazyTree.queueText(lazyTree, contentToUse);\n }\n } else if (childrenToUse != null) {\n var mountImages = this.mountChildren(childrenToUse, transaction, context);\n\n for (var i = 0; i < mountImages.length; i++) {\n DOMLazyTree.queueChild(lazyTree, mountImages[i]);\n }\n }\n }\n },\n\n /**\n * Receives a next element and updates the component.\n *\n * @internal\n * @param {ReactElement} nextElement\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} context\n */\n receiveComponent: function receiveComponent(nextElement, transaction, context) {\n var prevElement = this._currentElement;\n this._currentElement = nextElement;\n this.updateComponent(transaction, prevElement, nextElement, context);\n },\n\n /**\n * Updates a DOM component after it has already been allocated and\n * attached to the DOM. Reconciles the root DOM node, then recurses.\n *\n * @param {ReactReconcileTransaction} transaction\n * @param {ReactElement} prevElement\n * @param {ReactElement} nextElement\n * @internal\n * @overridable\n */\n updateComponent: function updateComponent(transaction, prevElement, nextElement, context) {\n var lastProps = prevElement.props;\n var nextProps = this._currentElement.props;\n\n switch (this._tag) {\n case 'input':\n lastProps = ReactDOMInput.getHostProps(this, lastProps);\n nextProps = ReactDOMInput.getHostProps(this, nextProps);\n break;\n\n case 'option':\n lastProps = ReactDOMOption.getHostProps(this, lastProps);\n nextProps = ReactDOMOption.getHostProps(this, nextProps);\n break;\n\n case 'select':\n lastProps = ReactDOMSelect.getHostProps(this, lastProps);\n nextProps = ReactDOMSelect.getHostProps(this, nextProps);\n break;\n\n case 'textarea':\n lastProps = ReactDOMTextarea.getHostProps(this, lastProps);\n nextProps = ReactDOMTextarea.getHostProps(this, nextProps);\n break;\n }\n\n assertValidProps(this, nextProps);\n\n this._updateDOMProperties(lastProps, nextProps, transaction);\n\n this._updateDOMChildren(lastProps, nextProps, transaction, context);\n\n switch (this._tag) {\n case 'input':\n // Update the wrapper around inputs *after* updating props. This has to\n // happen after `_updateDOMProperties`. Otherwise HTML5 input validations\n // raise warnings and prevent the new value from being assigned.\n ReactDOMInput.updateWrapper(this); // We also check that we haven't missed a value update, such as a\n // Radio group shifting the checked value to another named radio input.\n\n inputValueTracking.updateValueIfChanged(this);\n break;\n\n case 'textarea':\n ReactDOMTextarea.updateWrapper(this);\n break;\n\n case 'select':\n // <select> value update needs to occur after <option> children\n // reconciliation\n transaction.getReactMountReady().enqueue(postUpdateSelectWrapper, this);\n break;\n }\n },\n\n /**\n * Reconciles the properties by detecting differences in property values and\n * updating the DOM as necessary. This function is probably the single most\n * critical path for performance optimization.\n *\n * TODO: Benchmark whether checking for changed values in memory actually\n * improves performance (especially statically positioned elements).\n * TODO: Benchmark the effects of putting this at the top since 99% of props\n * do not change for a given reconciliation.\n * TODO: Benchmark areas that can be improved with caching.\n *\n * @private\n * @param {object} lastProps\n * @param {object} nextProps\n * @param {?DOMElement} node\n */\n _updateDOMProperties: function _updateDOMProperties(lastProps, nextProps, transaction) {\n var propKey;\n var styleName;\n var styleUpdates;\n\n for (propKey in lastProps) {\n if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n var lastStyle = this._previousStyleCopy;\n\n for (styleName in lastStyle) {\n if (lastStyle.hasOwnProperty(styleName)) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = '';\n }\n }\n\n this._previousStyleCopy = null;\n } else if (registrationNameModules.hasOwnProperty(propKey)) {\n if (lastProps[propKey]) {\n // Only call deleteListener if there was a listener previously or\n // else willDeleteListener gets called when there wasn't actually a\n // listener (e.g., onClick={null})\n deleteListener(this, propKey);\n }\n } else if (isCustomComponent(this._tag, lastProps)) {\n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n DOMPropertyOperations.deleteValueForAttribute(getNode(this), propKey);\n }\n } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) {\n DOMPropertyOperations.deleteValueForProperty(getNode(this), propKey);\n }\n }\n\n for (propKey in nextProps) {\n var nextProp = nextProps[propKey];\n var lastProp = propKey === STYLE ? this._previousStyleCopy : lastProps != null ? lastProps[propKey] : undefined;\n\n if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {\n continue;\n }\n\n if (propKey === STYLE) {\n if (nextProp) {\n if (process.env.NODE_ENV !== 'production') {\n checkAndWarnForMutatedStyle(this._previousStyleCopy, this._previousStyle, this);\n this._previousStyle = nextProp;\n }\n\n nextProp = this._previousStyleCopy = _assign({}, nextProp);\n } else {\n this._previousStyleCopy = null;\n }\n\n if (lastProp) {\n // Unset styles on `lastProp` but not on `nextProp`.\n for (styleName in lastProp) {\n if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = '';\n }\n } // Update styles that changed since `lastProp`.\n\n\n for (styleName in nextProp) {\n if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = nextProp[styleName];\n }\n }\n } else {\n // Relies on `updateStylesByID` not mutating `styleUpdates`.\n styleUpdates = nextProp;\n }\n } else if (registrationNameModules.hasOwnProperty(propKey)) {\n if (nextProp) {\n enqueuePutListener(this, propKey, nextProp, transaction);\n } else if (lastProp) {\n deleteListener(this, propKey);\n }\n } else if (isCustomComponent(this._tag, nextProps)) {\n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n DOMPropertyOperations.setValueForAttribute(getNode(this), propKey, nextProp);\n }\n } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) {\n var node = getNode(this); // If we're updating to null or undefined, we should remove the property\n // from the DOM node instead of inadvertently setting to a string. This\n // brings us in line with the same behavior we have on initial render.\n\n if (nextProp != null) {\n DOMPropertyOperations.setValueForProperty(node, propKey, nextProp);\n } else {\n DOMPropertyOperations.deleteValueForProperty(node, propKey);\n }\n }\n }\n\n if (styleUpdates) {\n CSSPropertyOperations.setValueForStyles(getNode(this), styleUpdates, this);\n }\n },\n\n /**\n * Reconciles the children with the various properties that affect the\n * children content.\n *\n * @param {object} lastProps\n * @param {object} nextProps\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n */\n _updateDOMChildren: function _updateDOMChildren(lastProps, nextProps, transaction, context) {\n var lastContent = CONTENT_TYPES[_typeof(lastProps.children)] ? lastProps.children : null;\n var nextContent = CONTENT_TYPES[_typeof(nextProps.children)] ? nextProps.children : null;\n var lastHtml = lastProps.dangerouslySetInnerHTML && lastProps.dangerouslySetInnerHTML.__html;\n var nextHtml = nextProps.dangerouslySetInnerHTML && nextProps.dangerouslySetInnerHTML.__html; // Note the use of `!=` which checks for null or undefined.\n\n var lastChildren = lastContent != null ? null : lastProps.children;\n var nextChildren = nextContent != null ? null : nextProps.children; // If we're switching from children to content/html or vice versa, remove\n // the old content\n\n var lastHasContentOrHtml = lastContent != null || lastHtml != null;\n var nextHasContentOrHtml = nextContent != null || nextHtml != null;\n\n if (lastChildren != null && nextChildren == null) {\n this.updateChildren(null, transaction, context);\n } else if (lastHasContentOrHtml && !nextHasContentOrHtml) {\n this.updateTextContent('');\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);\n }\n }\n\n if (nextContent != null) {\n if (lastContent !== nextContent) {\n this.updateTextContent('' + nextContent);\n\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, nextContent);\n }\n }\n } else if (nextHtml != null) {\n if (lastHtml !== nextHtml) {\n this.updateMarkup('' + nextHtml);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);\n }\n } else if (nextChildren != null) {\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, null);\n }\n\n this.updateChildren(nextChildren, transaction, context);\n }\n },\n getHostNode: function getHostNode() {\n return getNode(this);\n },\n\n /**\n * Destroys all event registrations for this instance. Does not remove from\n * the DOM. That must be done by the parent.\n *\n * @internal\n */\n unmountComponent: function unmountComponent(safely) {\n switch (this._tag) {\n case 'audio':\n case 'form':\n case 'iframe':\n case 'img':\n case 'link':\n case 'object':\n case 'source':\n case 'video':\n var listeners = this._wrapperState.listeners;\n\n if (listeners) {\n for (var i = 0; i < listeners.length; i++) {\n listeners[i].remove();\n }\n }\n\n break;\n\n case 'input':\n case 'textarea':\n inputValueTracking.stopTracking(this);\n break;\n\n case 'html':\n case 'head':\n case 'body':\n /**\n * Components like <html> <head> and <body> can't be removed or added\n * easily in a cross-browser way, however it's valuable to be able to\n * take advantage of React's reconciliation for styling and <title>\n * management. So we just document it and throw in dangerous cases.\n */\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, '<%s> tried to unmount. Because of cross-browser quirks it is impossible to unmount some top-level components (eg <html>, <head>, and <body>) reliably and efficiently. To fix this, have a single top-level component that never unmounts render these elements.', this._tag) : _prodInvariant('66', this._tag) : void 0;\n break;\n }\n\n this.unmountChildren(safely);\n ReactDOMComponentTree.uncacheNode(this);\n EventPluginHub.deleteAllListeners(this);\n this._rootNodeID = 0;\n this._domID = 0;\n this._wrapperState = null;\n\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, null);\n }\n },\n getPublicInstance: function getPublicInstance() {\n return getNode(this);\n }\n};\n\n_assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);\n\nmodule.exports = ReactDOMComponent;","/**\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 ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar focusNode = require('fbjs/lib/focusNode');\n\nvar AutoFocusUtils = {\n focusDOMComponent: function focusDOMComponent() {\n focusNode(ReactDOMComponentTree.getNodeFromInstance(this));\n }\n};\nmodule.exports = AutoFocusUtils;","/**\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 CSSProperty = require('./CSSProperty');\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar camelizeStyleName = require('fbjs/lib/camelizeStyleName');\n\nvar dangerousStyleValue = require('./dangerousStyleValue');\n\nvar hyphenateStyleName = require('fbjs/lib/hyphenateStyleName');\n\nvar memoizeStringOnly = require('fbjs/lib/memoizeStringOnly');\n\nvar warning = require('fbjs/lib/warning');\n\nvar processStyleName = memoizeStringOnly(function (styleName) {\n return hyphenateStyleName(styleName);\n});\nvar hasShorthandPropertyBug = false;\nvar styleFloatAccessor = 'cssFloat';\n\nif (ExecutionEnvironment.canUseDOM) {\n var tempStyle = document.createElement('div').style;\n\n try {\n // IE8 throws \"Invalid argument.\" if resetting shorthand style properties.\n tempStyle.font = '';\n } catch (e) {\n hasShorthandPropertyBug = true;\n } // IE8 only supports accessing cssFloat (standard) as styleFloat\n\n\n if (document.documentElement.style.cssFloat === undefined) {\n styleFloatAccessor = 'styleFloat';\n }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n // 'msTransform' is correct, but the other prefixes should be capitalized\n var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/; // style values shouldn't contain a semicolon\n\n var badStyleValueWithSemicolonPattern = /;\\s*$/;\n var warnedStyleNames = {};\n var warnedStyleValues = {};\n var warnedForNaNValue = false;\n\n var warnHyphenatedStyleName = function warnHyphenatedStyleName(name, owner) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported style property %s. Did you mean %s?%s', name, camelizeStyleName(name), checkRenderMessage(owner)) : void 0;\n };\n\n var warnBadVendoredStyleName = function warnBadVendoredStyleName(name, owner) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?%s', name, name.charAt(0).toUpperCase() + name.slice(1), checkRenderMessage(owner)) : void 0;\n };\n\n var warnStyleValueWithSemicolon = function warnStyleValueWithSemicolon(name, value, owner) {\n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n return;\n }\n\n warnedStyleValues[value] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, \"Style property values shouldn't contain a semicolon.%s \" + 'Try \"%s: %s\" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;\n };\n\n var warnStyleValueIsNaN = function warnStyleValueIsNaN(name, value, owner) {\n if (warnedForNaNValue) {\n return;\n }\n\n warnedForNaNValue = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '`NaN` is an invalid value for the `%s` css style property.%s', name, checkRenderMessage(owner)) : void 0;\n };\n\n var checkRenderMessage = function checkRenderMessage(owner) {\n if (owner) {\n var name = owner.getName();\n\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n\n return '';\n };\n /**\n * @param {string} name\n * @param {*} value\n * @param {ReactDOMComponent} component\n */\n\n\n var warnValidStyle = function warnValidStyle(name, value, component) {\n var owner;\n\n if (component) {\n owner = component._currentElement._owner;\n }\n\n if (name.indexOf('-') > -1) {\n warnHyphenatedStyleName(name, owner);\n } else if (badVendoredStyleNamePattern.test(name)) {\n warnBadVendoredStyleName(name, owner);\n } else if (badStyleValueWithSemicolonPattern.test(value)) {\n warnStyleValueWithSemicolon(name, value, owner);\n }\n\n if (typeof value === 'number' && isNaN(value)) {\n warnStyleValueIsNaN(name, value, owner);\n }\n };\n}\n/**\n * Operations for dealing with CSS properties.\n */\n\n\nvar CSSPropertyOperations = {\n /**\n * Serializes a mapping of style properties for use as inline styles:\n *\n * > createMarkupForStyles({width: '200px', height: 0})\n * \"width:200px;height:0;\"\n *\n * Undefined values are ignored so that declarative programming is easier.\n * The result should be HTML-escaped before insertion into the DOM.\n *\n * @param {object} styles\n * @param {ReactDOMComponent} component\n * @return {?string}\n */\n createMarkupForStyles: function createMarkupForStyles(styles, component) {\n var serialized = '';\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = styles[styleName];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!isCustomProperty) {\n warnValidStyle(styleName, styleValue, component);\n }\n }\n\n if (styleValue != null) {\n serialized += processStyleName(styleName) + ':';\n serialized += dangerousStyleValue(styleName, styleValue, component, isCustomProperty) + ';';\n }\n }\n\n return serialized || null;\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 * @param {ReactDOMComponent} component\n */\n setValueForStyles: function setValueForStyles(node, styles, component) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: component._debugID,\n type: 'update styles',\n payload: styles\n });\n }\n\n var style = node.style;\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf('--') === 0;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!isCustomProperty) {\n warnValidStyle(styleName, styles[styleName], component);\n }\n }\n\n var styleValue = dangerousStyleValue(styleName, styles[styleName], component, isCustomProperty);\n\n if (styleName === 'float' || styleName === 'cssFloat') {\n styleName = styleFloatAccessor;\n }\n\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else if (styleValue) {\n style[styleName] = styleValue;\n } else {\n var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName];\n\n if (expansion) {\n // Shorthand property that IE8 won't like unsetting, so unset each\n // component to placate it\n for (var individualStyleName in expansion) {\n style[individualStyleName] = '';\n }\n } else {\n style[styleName] = '';\n }\n }\n }\n }\n};\nmodule.exports = CSSPropertyOperations;","/**\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 * @typechecks\n */\n'use strict';\n\nvar camelize = require('./camelize');\n\nvar msPattern = /^-ms-/;\n/**\n * Camelcases a hyphenated CSS property name, for example:\n *\n * > camelizeStyleName('background-color')\n * < \"backgroundColor\"\n * > camelizeStyleName('-moz-transition')\n * < \"MozTransition\"\n * > camelizeStyleName('-ms-transition')\n * < \"msTransition\"\n *\n * As Andi Smith suggests\n * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n * is converted to lowercase `ms`.\n *\n * @param {string} string\n * @return {string}\n */\n\nfunction camelizeStyleName(string) {\n return camelize(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = camelizeStyleName;","\"use strict\";\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 * @typechecks\n */\n\nvar _hyphenPattern = /-(.)/g;\n/**\n * Camelcases a hyphenated string, for example:\n *\n * > camelize('background-color')\n * < \"backgroundColor\"\n *\n * @param {string} string\n * @return {string}\n */\n\nfunction camelize(string) {\n return string.replace(_hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nmodule.exports = camelize;","/**\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 CSSProperty = require('./CSSProperty');\n\nvar warning = require('fbjs/lib/warning');\n\nvar isUnitlessNumber = CSSProperty.isUnitlessNumber;\nvar styleWarnings = {};\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 * @param {ReactDOMComponent} component\n * @return {string} Normalized style value with dimensions applied.\n */\n\nfunction dangerousStyleValue(name, value, component, 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 var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\n if (isEmpty) {\n return '';\n }\n\n var isNonNumeric = isNaN(value);\n\n if (isCustomProperty || isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {\n return '' + value; // cast to string\n }\n\n if (typeof value === 'string') {\n if (process.env.NODE_ENV !== 'production') {\n // Allow '0' to pass through without warning. 0 is already special and\n // doesn't require units, so we don't need to warn about it.\n if (component && value !== '0') {\n var owner = component._currentElement._owner;\n var ownerName = owner ? owner.getName() : null;\n\n if (ownerName && !styleWarnings[ownerName]) {\n styleWarnings[ownerName] = {};\n }\n\n var warned = false;\n\n if (ownerName) {\n var warnings = styleWarnings[ownerName];\n warned = warnings[name];\n\n if (!warned) {\n warnings[name] = true;\n }\n }\n\n if (!warned) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'a `%s` tag (owner: `%s`) was passed a numeric string value ' + 'for CSS property `%s` (value: `%s`) which will be treated ' + 'as a unitless number in a future version of React.', component._currentElement.type, ownerName || 'unknown', name, value) : void 0;\n }\n }\n }\n\n value = value.trim();\n }\n\n return value + 'px';\n}\n\nmodule.exports = dangerousStyleValue;","/**\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 * @typechecks\n */\n'use strict';\n\nvar hyphenate = require('./hyphenate');\n\nvar msPattern = /^ms-/;\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\n\nfunction hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;","'use strict';\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 * @typechecks\n */\n\nvar _uppercasePattern = /([A-Z])/g;\n/**\n * Hyphenates a camelcased string, for example:\n *\n * > hyphenate('backgroundColor')\n * < \"background-color\"\n *\n * For CSS style names, use `hyphenateStyleName` instead which works properly\n * with all vendor prefixes, including `ms`.\n *\n * @param {string} string\n * @return {string}\n */\n\nfunction hyphenate(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nmodule.exports = hyphenate;","/**\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 * @typechecks static-only\n */\n'use strict';\n/**\n * Memoizes the return value of a function that accepts one string argument.\n */\n\nfunction memoizeStringOnly(callback) {\n var cache = {};\n return function (string) {\n if (!cache.hasOwnProperty(string)) {\n cache[string] = callback.call(this, string);\n }\n\n return cache[string];\n };\n}\n\nmodule.exports = memoizeStringOnly;","/**\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 escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\n/**\n * Escapes attribute value to prevent scripting attacks.\n *\n * @param {*} value Value to escape.\n * @return {string} An escaped string.\n */\n\n\nfunction quoteAttributeValueForBrowser(value) {\n return '\"' + escapeTextContentForBrowser(value) + '\"';\n}\n\nmodule.exports = quoteAttributeValueForBrowser;","/**\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 EventPluginHub = require('./EventPluginHub');\n\nfunction runEventQueueInBatch(events) {\n EventPluginHub.enqueueEvents(events);\n EventPluginHub.processEventQueue(false);\n}\n\nvar ReactEventEmitterMixin = {\n /**\n * Streams a fired top-level event to `EventPluginHub` where plugins have the\n * opportunity to create `ReactEvent`s to be dispatched.\n */\n handleTopLevel: function handleTopLevel(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var events = EventPluginHub.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);\n runEventQueueInBatch(events);\n }\n};\nmodule.exports = ReactEventEmitterMixin;","/**\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 ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n/**\n * Generate a mapping of standard vendor prefixes using the defined style property and event name.\n *\n * @param {string} styleProp\n * @param {string} eventName\n * @returns {object}\n */\n\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n prefixes['Moz' + styleProp] = 'moz' + eventName;\n prefixes['ms' + styleProp] = 'MS' + eventName;\n prefixes['O' + styleProp] = 'o' + eventName.toLowerCase();\n return prefixes;\n}\n/**\n * A list of event names to a configurable list of vendor prefixes.\n */\n\n\nvar vendorPrefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\n animationstart: makePrefixMap('Animation', 'AnimationStart'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n};\n/**\n * Event names that have already been detected and prefixed (if applicable).\n */\n\nvar prefixedEventNames = {};\n/**\n * Element to check for prefixes on.\n */\n\nvar style = {};\n/**\n * Bootstrap if a DOM exists.\n */\n\nif (ExecutionEnvironment.canUseDOM) {\n style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x,\n // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n // style object but the events that fire will still be prefixed, so we need\n // to check if the un-prefixed events are usable, and if not remove them from the map.\n\n if (!('AnimationEvent' in window)) {\n delete vendorPrefixes.animationend.animation;\n delete vendorPrefixes.animationiteration.animation;\n delete vendorPrefixes.animationstart.animation;\n } // Same as above\n\n\n if (!('TransitionEvent' in window)) {\n delete vendorPrefixes.transitionend.transition;\n }\n}\n/**\n * Attempts to determine the correct vendor prefixed event name.\n *\n * @param {string} eventName\n * @returns {string}\n */\n\n\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n } else if (!vendorPrefixes[eventName]) {\n return eventName;\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n for (var styleProp in prefixMap) {\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\n return prefixedEventNames[eventName] = prefixMap[styleProp];\n }\n }\n\n return '';\n}\n\nmodule.exports = getVendorPrefixedEventName;","/**\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 _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar DOMPropertyOperations = require('./DOMPropertyOperations');\n\nvar LinkedValueUtils = require('./LinkedValueUtils');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactUpdates = require('./ReactUpdates');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnValueLink = false;\nvar didWarnCheckedLink = false;\nvar didWarnValueDefaultValue = false;\nvar didWarnCheckedDefaultChecked = false;\nvar didWarnControlledToUncontrolled = false;\nvar didWarnUncontrolledToControlled = false;\n\nfunction forceUpdateIfMounted() {\n if (this._rootNodeID) {\n // DOM component is still mounted; update\n ReactDOMInput.updateWrapper(this);\n }\n}\n\nfunction isControlled(props) {\n var usesChecked = props.type === 'checkbox' || props.type === 'radio';\n return usesChecked ? props.checked != null : props.value != null;\n}\n/**\n * Implements an <input> host component that allows setting these optional\n * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\n *\n * If `checked` or `value` are not supplied (or null/undefined), user actions\n * that affect the checked state or value will trigger updates to the element.\n *\n * If they are supplied (and not null/undefined), the rendered element will not\n * trigger updates to the element. Instead, the props must change in order for\n * the rendered element to be updated.\n *\n * The rendered element will be initialized as unchecked (or `defaultChecked`)\n * with an empty value (or `defaultValue`).\n *\n * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\n */\n\n\nvar ReactDOMInput = {\n getHostProps: function getHostProps(inst, props) {\n var value = LinkedValueUtils.getValue(props);\n var checked = LinkedValueUtils.getChecked(props);\n\n var hostProps = _assign({\n // Make sure we set .type before any other properties (setting .value\n // before .type means .value is lost in IE11 and below)\n type: undefined,\n // Make sure we set .step before .value (setting .value before .step\n // means .value is rounded on mount, based upon step precision)\n step: undefined,\n // Make sure we set .min & .max before .value (to ensure proper order\n // in corner cases such as min or max deriving from value, e.g. Issue #7170)\n min: undefined,\n max: undefined\n }, props, {\n defaultChecked: undefined,\n defaultValue: undefined,\n value: value != null ? value : inst._wrapperState.initialValue,\n checked: checked != null ? checked : inst._wrapperState.initialChecked,\n onChange: inst._wrapperState.onChange\n });\n\n return hostProps;\n },\n mountWrapper: function mountWrapper(inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n LinkedValueUtils.checkPropTypes('input', props, inst._currentElement._owner);\n var owner = inst._currentElement._owner;\n\n if (props.valueLink !== undefined && !didWarnValueLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnValueLink = true;\n }\n\n if (props.checkedLink !== undefined && !didWarnCheckedLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`checkedLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnCheckedLink = true;\n }\n\n if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnCheckedDefaultChecked = true;\n }\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnValueDefaultValue = true;\n }\n }\n\n var defaultValue = props.defaultValue;\n inst._wrapperState = {\n initialChecked: props.checked != null ? props.checked : props.defaultChecked,\n initialValue: props.value != null ? props.value : defaultValue,\n listeners: null,\n onChange: _handleChange.bind(inst),\n controlled: isControlled(props)\n };\n },\n updateWrapper: function updateWrapper(inst) {\n var props = inst._currentElement.props;\n\n if (process.env.NODE_ENV !== 'production') {\n var controlled = isControlled(props);\n var owner = inst._currentElement._owner;\n\n if (!inst._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnUncontrolledToControlled = true;\n }\n\n if (inst._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnControlledToUncontrolled = true;\n }\n } // TODO: Shouldn't this be getChecked(props)?\n\n\n var checked = props.checked;\n\n if (checked != null) {\n DOMPropertyOperations.setValueForProperty(ReactDOMComponentTree.getNodeFromInstance(inst), 'checked', checked || false);\n }\n\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n var value = LinkedValueUtils.getValue(props);\n\n if (value != null) {\n if (value === 0 && node.value === '') {\n node.value = '0'; // Note: IE9 reports a number inputs as 'text', so check props instead.\n } else if (props.type === 'number') {\n // Simulate `input.valueAsNumber`. IE9 does not support it\n var valueAsNumber = parseFloat(node.value, 10) || 0;\n\n if ( // eslint-disable-next-line\n value != valueAsNumber || // eslint-disable-next-line\n value == valueAsNumber && node.value != value) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n node.value = '' + value;\n }\n } else if (node.value !== '' + value) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n node.value = '' + value;\n }\n } else {\n if (props.value == null && props.defaultValue != null) {\n // In Chrome, assigning defaultValue to certain input types triggers input validation.\n // For number inputs, the display value loses trailing decimal points. For email inputs,\n // Chrome raises \"The specified value <x> is not a valid email address\".\n //\n // Here we check to see if the defaultValue has actually changed, avoiding these problems\n // when the user is inputting text\n //\n // https://github.com/facebook/react/issues/7253\n if (node.defaultValue !== '' + props.defaultValue) {\n node.defaultValue = '' + props.defaultValue;\n }\n }\n\n if (props.checked == null && props.defaultChecked != null) {\n node.defaultChecked = !!props.defaultChecked;\n }\n }\n },\n postMountWrapper: function postMountWrapper(inst) {\n var props = inst._currentElement.props; // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n\n var node = ReactDOMComponentTree.getNodeFromInstance(inst); // Detach value from defaultValue. We won't do anything if we're working on\n // submit or reset inputs as those values & defaultValues are linked. They\n // are not resetable nodes so this operation doesn't matter and actually\n // removes browser-default values (eg \"Submit Query\") when no value is\n // provided.\n\n switch (props.type) {\n case 'submit':\n case 'reset':\n break;\n\n case 'color':\n case 'date':\n case 'datetime':\n case 'datetime-local':\n case 'month':\n case 'time':\n case 'week':\n // This fixes the no-show issue on iOS Safari and Android Chrome:\n // https://github.com/facebook/react/issues/7233\n node.value = '';\n node.value = node.defaultValue;\n break;\n\n default:\n node.value = node.value;\n break;\n } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug\n // this is needed to work around a chrome bug where setting defaultChecked\n // will sometimes influence the value of checked (even after detachment).\n // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416\n // We need to temporarily unset name to avoid disrupting radio button groups.\n\n\n var name = node.name;\n\n if (name !== '') {\n node.name = '';\n }\n\n node.defaultChecked = !node.defaultChecked;\n node.defaultChecked = !node.defaultChecked;\n\n if (name !== '') {\n node.name = name;\n }\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n var returnValue = LinkedValueUtils.executeOnChange(props, event); // Here we use asap to wait until all updates have propagated, which\n // is important when using controlled components within layers:\n // https://github.com/facebook/react/issues/1698\n\n ReactUpdates.asap(forceUpdateIfMounted, this);\n var name = props.name;\n\n if (props.type === 'radio' && name != null) {\n var rootNode = ReactDOMComponentTree.getNodeFromInstance(this);\n var queryRoot = rootNode;\n\n while (queryRoot.parentNode) {\n queryRoot = queryRoot.parentNode;\n } // If `rootNode.form` was non-null, then we could try `form.elements`,\n // but that sometimes behaves strangely in IE8. We could also try using\n // `form.getElementsByName`, but that will only return direct children\n // and won't include inputs that use the HTML5 `form=` attribute. Since\n // the input might not even be in a form, let's just use the global\n // `querySelectorAll` to ensure we don't miss anything.\n\n\n var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type=\"radio\"]');\n\n for (var i = 0; i < group.length; i++) {\n var otherNode = group[i];\n\n if (otherNode === rootNode || otherNode.form !== rootNode.form) {\n continue;\n } // This will throw if radio buttons rendered by different copies of React\n // and the same name are rendered into the same form (same as #1939).\n // That's probably okay; we don't support it just as we don't support\n // mixing React radio buttons with non-React ones.\n\n\n var otherInstance = ReactDOMComponentTree.getInstanceFromNode(otherNode);\n !otherInstance ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.') : _prodInvariant('90') : void 0; // If this is a controlled radio button group, forcing the input that\n // was previously checked to update will cause it to be come re-checked\n // as appropriate.\n\n ReactUpdates.asap(forceUpdateIfMounted, otherInstance);\n }\n }\n\n return returnValue;\n}\n\nmodule.exports = ReactDOMInput;","/**\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 ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\nmodule.exports = ReactPropTypesSecret;","/**\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 _assign = require('object-assign');\n\nvar React = require('react/lib/React');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactDOMSelect = require('./ReactDOMSelect');\n\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnInvalidOptionChildren = false;\n\nfunction flattenChildren(children) {\n var content = ''; // Flatten children and warn if they aren't strings or numbers;\n // invalid types are ignored.\n\n React.Children.forEach(children, function (child) {\n if (child == null) {\n return;\n }\n\n if (typeof child === 'string' || typeof child === 'number') {\n content += child;\n } else if (!didWarnInvalidOptionChildren) {\n didWarnInvalidOptionChildren = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Only strings and numbers are supported as <option> children.') : void 0;\n }\n });\n return content;\n}\n/**\n * Implements an <option> host component that warns when `selected` is set.\n */\n\n\nvar ReactDOMOption = {\n mountWrapper: function mountWrapper(inst, props, hostParent) {\n // TODO (yungsters): Remove support for `selected` in <option>.\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : void 0;\n } // Look up whether this option is 'selected'\n\n\n var selectValue = null;\n\n if (hostParent != null) {\n var selectParent = hostParent;\n\n if (selectParent._tag === 'optgroup') {\n selectParent = selectParent._hostParent;\n }\n\n if (selectParent != null && selectParent._tag === 'select') {\n selectValue = ReactDOMSelect.getSelectValueContext(selectParent);\n }\n } // If the value is null (e.g., no specified value or after initial mount)\n // or missing (e.g., for <datalist>), we don't change props.selected\n\n\n var selected = null;\n\n if (selectValue != null) {\n var value;\n\n if (props.value != null) {\n value = props.value + '';\n } else {\n value = flattenChildren(props.children);\n }\n\n selected = false;\n\n if (Array.isArray(selectValue)) {\n // multiple\n for (var i = 0; i < selectValue.length; i++) {\n if ('' + selectValue[i] === value) {\n selected = true;\n break;\n }\n }\n } else {\n selected = '' + selectValue === value;\n }\n }\n\n inst._wrapperState = {\n selected: selected\n };\n },\n postMountWrapper: function postMountWrapper(inst) {\n // value=\"\" should make a value attribute (#6219)\n var props = inst._currentElement.props;\n\n if (props.value != null) {\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n node.setAttribute('value', props.value);\n }\n },\n getHostProps: function getHostProps(inst, props) {\n var hostProps = _assign({\n selected: undefined,\n children: undefined\n }, props); // Read state only from initial mount because <select> updates value\n // manually; we need the initial state only for server rendering\n\n\n if (inst._wrapperState.selected != null) {\n hostProps.selected = inst._wrapperState.selected;\n }\n\n var content = flattenChildren(props.children);\n\n if (content) {\n hostProps.children = content;\n }\n\n return hostProps;\n }\n};\nmodule.exports = ReactDOMOption;","/**\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 _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar LinkedValueUtils = require('./LinkedValueUtils');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactUpdates = require('./ReactUpdates');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnValueLink = false;\nvar didWarnValDefaultVal = false;\n\nfunction forceUpdateIfMounted() {\n if (this._rootNodeID) {\n // DOM component is still mounted; update\n ReactDOMTextarea.updateWrapper(this);\n }\n}\n/**\n * Implements a <textarea> host component that allows setting `value`, and\n * `defaultValue`. This differs from the traditional DOM API because value is\n * usually set as PCDATA children.\n *\n * If `value` is not supplied (or null/undefined), user actions that affect the\n * value will trigger updates to the element.\n *\n * If `value` is supplied (and not null/undefined), the rendered element will\n * not trigger updates to the element. Instead, the `value` prop must change in\n * order for the rendered element to be updated.\n *\n * The rendered element will be initialized with an empty value, the prop\n * `defaultValue` if specified, or the children content (deprecated).\n */\n\n\nvar ReactDOMTextarea = {\n getHostProps: function getHostProps(inst, props) {\n !(props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : _prodInvariant('91') : void 0; // Always set children to the same thing. In IE9, the selection range will\n // get reset if `textContent` is mutated. We could add a check in setTextContent\n // to only set the value if/when the value differs from the node value (which would\n // completely solve this IE9 bug), but Sebastian+Ben seemed to like this solution.\n // The value can be a boolean or object so that's why it's forced to be a string.\n\n var hostProps = _assign({}, props, {\n value: undefined,\n defaultValue: undefined,\n children: '' + inst._wrapperState.initialValue,\n onChange: inst._wrapperState.onChange\n });\n\n return hostProps;\n },\n mountWrapper: function mountWrapper(inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n LinkedValueUtils.checkPropTypes('textarea', props, inst._currentElement._owner);\n\n if (props.valueLink !== undefined && !didWarnValueLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `textarea` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnValueLink = true;\n }\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;\n didWarnValDefaultVal = true;\n }\n }\n\n var value = LinkedValueUtils.getValue(props);\n var initialValue = value; // Only bother fetching default value if we're going to use it\n\n if (value == null) {\n var defaultValue = props.defaultValue; // TODO (yungsters): Remove support for children content in <textarea>.\n\n var children = props.children;\n\n if (children != null) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : void 0;\n }\n\n !(defaultValue == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : _prodInvariant('92') : void 0;\n\n if (Array.isArray(children)) {\n !(children.length <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, '<textarea> can only have at most one child.') : _prodInvariant('93') : void 0;\n children = children[0];\n }\n\n defaultValue = '' + children;\n }\n\n if (defaultValue == null) {\n defaultValue = '';\n }\n\n initialValue = defaultValue;\n }\n\n inst._wrapperState = {\n initialValue: '' + initialValue,\n listeners: null,\n onChange: _handleChange.bind(inst)\n };\n },\n updateWrapper: function updateWrapper(inst) {\n var props = inst._currentElement.props;\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n var value = LinkedValueUtils.getValue(props);\n\n if (value != null) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n var newValue = '' + value; // To avoid side effects (such as losing text selection), only set value if changed\n\n if (newValue !== node.value) {\n node.value = newValue;\n }\n\n if (props.defaultValue == null) {\n node.defaultValue = newValue;\n }\n }\n\n if (props.defaultValue != null) {\n node.defaultValue = props.defaultValue;\n }\n },\n postMountWrapper: function postMountWrapper(inst) {\n // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n var textContent = node.textContent; // Only set node.value if textContent is equal to the expected\n // initial value. In IE10/IE11 there is a bug where the placeholder attribute\n // will populate textContent as well.\n // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/\n\n if (textContent === inst._wrapperState.initialValue) {\n node.value = textContent;\n }\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n var returnValue = LinkedValueUtils.executeOnChange(props, event);\n ReactUpdates.asap(forceUpdateIfMounted, this);\n return returnValue;\n}\n\nmodule.exports = ReactDOMTextarea;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\n\nvar ReactInstanceMap = require('./ReactInstanceMap');\n\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\n\nvar ReactReconciler = require('./ReactReconciler');\n\nvar ReactChildReconciler = require('./ReactChildReconciler');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\nvar flattenChildren = require('./flattenChildren');\n\nvar invariant = require('fbjs/lib/invariant');\n/**\n * Make an update for markup to be rendered and inserted at a supplied index.\n *\n * @param {string} markup Markup that renders into an element.\n * @param {number} toIndex Destination index.\n * @private\n */\n\n\nfunction makeInsertMarkup(markup, afterNode, toIndex) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: 'INSERT_MARKUP',\n content: markup,\n fromIndex: null,\n fromNode: null,\n toIndex: toIndex,\n afterNode: afterNode\n };\n}\n/**\n * Make an update for moving an existing element to another index.\n *\n * @param {number} fromIndex Source index of the existing element.\n * @param {number} toIndex Destination index of the element.\n * @private\n */\n\n\nfunction makeMove(child, afterNode, toIndex) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: 'MOVE_EXISTING',\n content: null,\n fromIndex: child._mountIndex,\n fromNode: ReactReconciler.getHostNode(child),\n toIndex: toIndex,\n afterNode: afterNode\n };\n}\n/**\n * Make an update for removing an element at an index.\n *\n * @param {number} fromIndex Index of the element to remove.\n * @private\n */\n\n\nfunction makeRemove(child, node) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: 'REMOVE_NODE',\n content: null,\n fromIndex: child._mountIndex,\n fromNode: node,\n toIndex: null,\n afterNode: null\n };\n}\n/**\n * Make an update for setting the markup of a node.\n *\n * @param {string} markup Markup that renders into an element.\n * @private\n */\n\n\nfunction makeSetMarkup(markup) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: 'SET_MARKUP',\n content: markup,\n fromIndex: null,\n fromNode: null,\n toIndex: null,\n afterNode: null\n };\n}\n/**\n * Make an update for setting the text content.\n *\n * @param {string} textContent Text content to set.\n * @private\n */\n\n\nfunction makeTextContent(textContent) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: 'TEXT_CONTENT',\n content: textContent,\n fromIndex: null,\n fromNode: null,\n toIndex: null,\n afterNode: null\n };\n}\n/**\n * Push an update, if any, onto the queue. Creates a new queue if none is\n * passed and always returns the queue. Mutative.\n */\n\n\nfunction enqueue(queue, update) {\n if (update) {\n queue = queue || [];\n queue.push(update);\n }\n\n return queue;\n}\n/**\n * Processes any enqueued updates.\n *\n * @private\n */\n\n\nfunction processQueue(inst, updateQueue) {\n ReactComponentEnvironment.processChildrenUpdates(inst, updateQueue);\n}\n\nvar setChildrenForInstrumentation = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n var getDebugID = function getDebugID(inst) {\n if (!inst._debugID) {\n // Check for ART-like instances. TODO: This is silly/gross.\n var internal;\n\n if (internal = ReactInstanceMap.get(inst)) {\n inst = internal;\n }\n }\n\n return inst._debugID;\n };\n\n setChildrenForInstrumentation = function setChildrenForInstrumentation(children) {\n var debugID = getDebugID(this); // TODO: React Native empty components are also multichild.\n // This means they still get into this method but don't have _debugID.\n\n if (debugID !== 0) {\n ReactInstrumentation.debugTool.onSetChildren(debugID, children ? Object.keys(children).map(function (key) {\n return children[key]._debugID;\n }) : []);\n }\n };\n}\n/**\n * ReactMultiChild are capable of reconciling multiple children.\n *\n * @class ReactMultiChild\n * @internal\n */\n\n\nvar ReactMultiChild = {\n /**\n * Provides common functionality for components that must reconcile multiple\n * children. This is used by `ReactDOMComponent` to mount, update, and\n * unmount child components.\n *\n * @lends {ReactMultiChild.prototype}\n */\n Mixin: {\n _reconcilerInstantiateChildren: function _reconcilerInstantiateChildren(nestedChildren, transaction, context) {\n if (process.env.NODE_ENV !== 'production') {\n var selfDebugID = getDebugID(this);\n\n if (this._currentElement) {\n try {\n ReactCurrentOwner.current = this._currentElement._owner;\n return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context, selfDebugID);\n } finally {\n ReactCurrentOwner.current = null;\n }\n }\n }\n\n return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context);\n },\n _reconcilerUpdateChildren: function _reconcilerUpdateChildren(prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context) {\n var nextChildren;\n var selfDebugID = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n selfDebugID = getDebugID(this);\n\n if (this._currentElement) {\n try {\n ReactCurrentOwner.current = this._currentElement._owner;\n nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);\n } finally {\n ReactCurrentOwner.current = null;\n }\n\n ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);\n return nextChildren;\n }\n }\n\n nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);\n ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);\n return nextChildren;\n },\n\n /**\n * Generates a \"mount image\" for each of the supplied children. In the case\n * of `ReactDOMComponent`, a mount image is a string of markup.\n *\n * @param {?object} nestedChildren Nested child maps.\n * @return {array} An array of mounted representations.\n * @internal\n */\n mountChildren: function mountChildren(nestedChildren, transaction, context) {\n var children = this._reconcilerInstantiateChildren(nestedChildren, transaction, context);\n\n this._renderedChildren = children;\n var mountImages = [];\n var index = 0;\n\n for (var name in children) {\n if (children.hasOwnProperty(name)) {\n var child = children[name];\n var selfDebugID = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n selfDebugID = getDebugID(this);\n }\n\n var mountImage = ReactReconciler.mountComponent(child, transaction, this, this._hostContainerInfo, context, selfDebugID);\n child._mountIndex = index++;\n mountImages.push(mountImage);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n setChildrenForInstrumentation.call(this, children);\n }\n\n return mountImages;\n },\n\n /**\n * Replaces any rendered children with a text content string.\n *\n * @param {string} nextContent String of content.\n * @internal\n */\n updateTextContent: function updateTextContent(nextContent) {\n var prevChildren = this._renderedChildren; // Remove any rendered children.\n\n ReactChildReconciler.unmountChildren(prevChildren, false);\n\n for (var name in prevChildren) {\n if (prevChildren.hasOwnProperty(name)) {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0;\n }\n } // Set new text content.\n\n\n var updates = [makeTextContent(nextContent)];\n processQueue(this, updates);\n },\n\n /**\n * Replaces any rendered children with a markup string.\n *\n * @param {string} nextMarkup String of markup.\n * @internal\n */\n updateMarkup: function updateMarkup(nextMarkup) {\n var prevChildren = this._renderedChildren; // Remove any rendered children.\n\n ReactChildReconciler.unmountChildren(prevChildren, false);\n\n for (var name in prevChildren) {\n if (prevChildren.hasOwnProperty(name)) {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0;\n }\n }\n\n var updates = [makeSetMarkup(nextMarkup)];\n processQueue(this, updates);\n },\n\n /**\n * Updates the rendered children with new children.\n *\n * @param {?object} nextNestedChildrenElements Nested child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n updateChildren: function updateChildren(nextNestedChildrenElements, transaction, context) {\n // Hook used by React ART\n this._updateChildren(nextNestedChildrenElements, transaction, context);\n },\n\n /**\n * @param {?object} nextNestedChildrenElements Nested child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @final\n * @protected\n */\n _updateChildren: function _updateChildren(nextNestedChildrenElements, transaction, context) {\n var prevChildren = this._renderedChildren;\n var removedNodes = {};\n var mountImages = [];\n\n var nextChildren = this._reconcilerUpdateChildren(prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context);\n\n if (!nextChildren && !prevChildren) {\n return;\n }\n\n var updates = null;\n var name; // `nextIndex` will increment for each child in `nextChildren`, but\n // `lastIndex` will be the last index visited in `prevChildren`.\n\n var nextIndex = 0;\n var lastIndex = 0; // `nextMountIndex` will increment for each newly mounted child.\n\n var nextMountIndex = 0;\n var lastPlacedNode = null;\n\n for (name in nextChildren) {\n if (!nextChildren.hasOwnProperty(name)) {\n continue;\n }\n\n var prevChild = prevChildren && prevChildren[name];\n var nextChild = nextChildren[name];\n\n if (prevChild === nextChild) {\n updates = enqueue(updates, this.moveChild(prevChild, lastPlacedNode, nextIndex, lastIndex));\n lastIndex = Math.max(prevChild._mountIndex, lastIndex);\n prevChild._mountIndex = nextIndex;\n } else {\n if (prevChild) {\n // Update `lastIndex` before `_mountIndex` gets unset by unmounting.\n lastIndex = Math.max(prevChild._mountIndex, lastIndex); // The `removedNodes` loop below will actually remove the child.\n } // The child must be instantiated before it's mounted.\n\n\n updates = enqueue(updates, this._mountChildAtIndex(nextChild, mountImages[nextMountIndex], lastPlacedNode, nextIndex, transaction, context));\n nextMountIndex++;\n }\n\n nextIndex++;\n lastPlacedNode = ReactReconciler.getHostNode(nextChild);\n } // Remove children that are no longer present.\n\n\n for (name in removedNodes) {\n if (removedNodes.hasOwnProperty(name)) {\n updates = enqueue(updates, this._unmountChild(prevChildren[name], removedNodes[name]));\n }\n }\n\n if (updates) {\n processQueue(this, updates);\n }\n\n this._renderedChildren = nextChildren;\n\n if (process.env.NODE_ENV !== 'production') {\n setChildrenForInstrumentation.call(this, nextChildren);\n }\n },\n\n /**\n * Unmounts all rendered children. This should be used to clean up children\n * when this component is unmounted. It does not actually perform any\n * backend operations.\n *\n * @internal\n */\n unmountChildren: function unmountChildren(safely) {\n var renderedChildren = this._renderedChildren;\n ReactChildReconciler.unmountChildren(renderedChildren, safely);\n this._renderedChildren = null;\n },\n\n /**\n * Moves a child component to the supplied index.\n *\n * @param {ReactComponent} child Component to move.\n * @param {number} toIndex Destination index of the element.\n * @param {number} lastIndex Last index visited of the siblings of `child`.\n * @protected\n */\n moveChild: function moveChild(child, afterNode, toIndex, lastIndex) {\n // If the index of `child` is less than `lastIndex`, then it needs to\n // be moved. Otherwise, we do not need to move it because a child will be\n // inserted or moved before `child`.\n if (child._mountIndex < lastIndex) {\n return makeMove(child, afterNode, toIndex);\n }\n },\n\n /**\n * Creates a child component.\n *\n * @param {ReactComponent} child Component to create.\n * @param {string} mountImage Markup to insert.\n * @protected\n */\n createChild: function createChild(child, afterNode, mountImage) {\n return makeInsertMarkup(mountImage, afterNode, child._mountIndex);\n },\n\n /**\n * Removes a child component.\n *\n * @param {ReactComponent} child Child to remove.\n * @protected\n */\n removeChild: function removeChild(child, node) {\n return makeRemove(child, node);\n },\n\n /**\n * Mounts a child with the supplied name.\n *\n * NOTE: This is part of `updateChildren` and is here for readability.\n *\n * @param {ReactComponent} child Component to mount.\n * @param {string} name Name of the child.\n * @param {number} index Index at which to insert the child.\n * @param {ReactReconcileTransaction} transaction\n * @private\n */\n _mountChildAtIndex: function _mountChildAtIndex(child, mountImage, afterNode, index, transaction, context) {\n child._mountIndex = index;\n return this.createChild(child, afterNode, mountImage);\n },\n\n /**\n * Unmounts a rendered child.\n *\n * NOTE: This is part of `updateChildren` and is here for readability.\n *\n * @param {ReactComponent} child Component to unmount.\n * @private\n */\n _unmountChild: function _unmountChild(child, node) {\n var update = this.removeChild(child, node);\n child._mountIndex = null;\n return update;\n }\n }\n};\nmodule.exports = ReactMultiChild;","/**\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 ReactReconciler = require('./ReactReconciler');\n\nvar instantiateReactComponent = require('./instantiateReactComponent');\n\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\n\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\n\nvar traverseAllChildren = require('./traverseAllChildren');\n\nvar warning = require('fbjs/lib/warning');\n\nvar ReactComponentTreeHook;\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') {\n // Temporary hack.\n // Inline requires don't work well with Jest:\n // https://github.com/facebook/react/issues/7240\n // Remove the inline requires when we don't need them anymore:\n // https://github.com/facebook/react/pull/7178\n ReactComponentTreeHook = require('react/lib/ReactComponentTreeHook');\n}\n\nfunction instantiateChild(childInstances, child, name, selfDebugID) {\n // We found a component instance.\n var keyUnique = childInstances[name] === undefined;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!ReactComponentTreeHook) {\n ReactComponentTreeHook = require('react/lib/ReactComponentTreeHook');\n }\n\n if (!keyUnique) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;\n }\n }\n\n if (child != null && keyUnique) {\n childInstances[name] = instantiateReactComponent(child, true);\n }\n}\n/**\n * ReactChildReconciler provides helpers for initializing or updating a set of\n * children. Its output is suitable for passing it onto ReactMultiChild which\n * does diffed reordering and insertion.\n */\n\n\nvar ReactChildReconciler = {\n /**\n * Generates a \"mount image\" for each of the supplied children. In the case\n * of `ReactDOMComponent`, a mount image is a string of markup.\n *\n * @param {?object} nestedChildNodes Nested child maps.\n * @return {?object} A set of child instances.\n * @internal\n */\n instantiateChildren: function instantiateChildren(nestedChildNodes, transaction, context, selfDebugID) // 0 in production and for roots\n {\n if (nestedChildNodes == null) {\n return null;\n }\n\n var childInstances = {};\n\n if (process.env.NODE_ENV !== 'production') {\n traverseAllChildren(nestedChildNodes, function (childInsts, child, name) {\n return instantiateChild(childInsts, child, name, selfDebugID);\n }, childInstances);\n } else {\n traverseAllChildren(nestedChildNodes, instantiateChild, childInstances);\n }\n\n return childInstances;\n },\n\n /**\n * Updates the rendered children and returns a new set of children.\n *\n * @param {?object} prevChildren Previously initialized set of children.\n * @param {?object} nextChildren Flat child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n * @return {?object} A new set of child instances.\n * @internal\n */\n updateChildren: function updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID) // 0 in production and for roots\n {\n // We currently don't have a way to track moves here but if we use iterators\n // instead of for..in we can zip the iterators and check if an item has\n // moved.\n // TODO: If nothing has changed, return the prevChildren object so that we\n // can quickly bailout if nothing has changed.\n if (!nextChildren && !prevChildren) {\n return;\n }\n\n var name;\n var prevChild;\n\n for (name in nextChildren) {\n if (!nextChildren.hasOwnProperty(name)) {\n continue;\n }\n\n prevChild = prevChildren && prevChildren[name];\n var prevElement = prevChild && prevChild._currentElement;\n var nextElement = nextChildren[name];\n\n if (prevChild != null && shouldUpdateReactComponent(prevElement, nextElement)) {\n ReactReconciler.receiveComponent(prevChild, nextElement, transaction, context);\n nextChildren[name] = prevChild;\n } else {\n if (prevChild) {\n removedNodes[name] = ReactReconciler.getHostNode(prevChild);\n ReactReconciler.unmountComponent(prevChild, false);\n } // The child must be instantiated before it's mounted.\n\n\n var nextChildInstance = instantiateReactComponent(nextElement, true);\n nextChildren[name] = nextChildInstance; // Creating mount image now ensures refs are resolved in right order\n // (see https://github.com/facebook/react/pull/7101 for explanation).\n\n var nextChildMountImage = ReactReconciler.mountComponent(nextChildInstance, transaction, hostParent, hostContainerInfo, context, selfDebugID);\n mountImages.push(nextChildMountImage);\n }\n } // Unmount children that are no longer present.\n\n\n for (name in prevChildren) {\n if (prevChildren.hasOwnProperty(name) && !(nextChildren && nextChildren.hasOwnProperty(name))) {\n prevChild = prevChildren[name];\n removedNodes[name] = ReactReconciler.getHostNode(prevChild);\n ReactReconciler.unmountComponent(prevChild, false);\n }\n }\n },\n\n /**\n * Unmounts all rendered children. This should be used to clean up children\n * when this component is unmounted.\n *\n * @param {?object} renderedChildren Previously initialized set of children.\n * @internal\n */\n unmountChildren: function unmountChildren(renderedChildren, safely) {\n for (var name in renderedChildren) {\n if (renderedChildren.hasOwnProperty(name)) {\n var renderedChild = renderedChildren[name];\n ReactReconciler.unmountComponent(renderedChild, safely);\n }\n }\n }\n};\nmodule.exports = ReactChildReconciler;","/**\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\nfunction _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\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar React = require('react/lib/React');\n\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\n\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\n\nvar ReactErrorUtils = require('./ReactErrorUtils');\n\nvar ReactInstanceMap = require('./ReactInstanceMap');\n\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar ReactNodeTypes = require('./ReactNodeTypes');\n\nvar ReactReconciler = require('./ReactReconciler');\n\nif (process.env.NODE_ENV !== 'production') {\n var checkReactTypeSpec = require('./checkReactTypeSpec');\n}\n\nvar emptyObject = require('fbjs/lib/emptyObject');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar shallowEqual = require('fbjs/lib/shallowEqual');\n\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\n\nvar warning = require('fbjs/lib/warning');\n\nvar CompositeTypes = {\n ImpureClass: 0,\n PureClass: 1,\n StatelessFunctional: 2\n};\n\nfunction StatelessComponent(Component) {}\n\nStatelessComponent.prototype.render = function () {\n var Component = ReactInstanceMap.get(this)._currentElement.type;\n\n var element = Component(this.props, this.context, this.updater);\n warnIfInvalidElement(Component, element);\n return element;\n};\n\nfunction warnIfInvalidElement(Component, element) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(element === null || element === false || React.isValidElement(element), '%s(...): A valid React element (or null) must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!Component.childContextTypes, '%s(...): childContextTypes cannot be defined on a functional component.', Component.displayName || Component.name || 'Component') : void 0;\n }\n}\n\nfunction shouldConstruct(Component) {\n return !!(Component.prototype && Component.prototype.isReactComponent);\n}\n\nfunction isPureComponent(Component) {\n return !!(Component.prototype && Component.prototype.isPureReactComponent);\n} // Separated into a function to contain deoptimizations caused by try/finally.\n\n\nfunction measureLifeCyclePerf(fn, debugID, timerType) {\n if (debugID === 0) {\n // Top-level wrappers (see ReactMount) and empty components (see\n // ReactDOMEmptyComponent) are invisible to hooks and devtools.\n // Both are implementation details that should go away in the future.\n return fn();\n }\n\n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(debugID, timerType);\n\n try {\n return fn();\n } finally {\n ReactInstrumentation.debugTool.onEndLifeCycleTimer(debugID, timerType);\n }\n}\n/**\n * ------------------ The Life-Cycle of a Composite Component ------------------\n *\n * - constructor: Initialization of state. The instance is now retained.\n * - componentWillMount\n * - render\n * - [children's constructors]\n * - [children's componentWillMount and render]\n * - [children's componentDidMount]\n * - componentDidMount\n *\n * Update Phases:\n * - componentWillReceiveProps (only called if parent updated)\n * - shouldComponentUpdate\n * - componentWillUpdate\n * - render\n * - [children's constructors or receive props phases]\n * - componentDidUpdate\n *\n * - componentWillUnmount\n * - [children's componentWillUnmount]\n * - [children destroyed]\n * - (destroyed): The instance is now blank, released by React and ready for GC.\n *\n * -----------------------------------------------------------------------------\n */\n\n/**\n * An incrementing ID assigned to each component when it is mounted. This is\n * used to enforce the order in which `ReactUpdates` updates dirty components.\n *\n * @private\n */\n\n\nvar nextMountID = 1;\n/**\n * @lends {ReactCompositeComponent.prototype}\n */\n\nvar ReactCompositeComponent = {\n /**\n * Base constructor for all composite component.\n *\n * @param {ReactElement} element\n * @final\n * @internal\n */\n construct: function construct(element) {\n this._currentElement = element;\n this._rootNodeID = 0;\n this._compositeType = null;\n this._instance = null;\n this._hostParent = null;\n this._hostContainerInfo = null; // See ReactUpdateQueue\n\n this._updateBatchNumber = null;\n this._pendingElement = null;\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n this._renderedNodeType = null;\n this._renderedComponent = null;\n this._context = null;\n this._mountOrder = 0;\n this._topLevelWrapper = null; // See ReactUpdates and ReactUpdateQueue.\n\n this._pendingCallbacks = null; // ComponentWillUnmount shall only be called once\n\n this._calledComponentWillUnmount = false;\n\n if (process.env.NODE_ENV !== 'production') {\n this._warnedAboutRefsInRender = false;\n }\n },\n\n /**\n * Initializes the component, renders markup, and registers event listeners.\n *\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {?object} hostParent\n * @param {?object} hostContainerInfo\n * @param {?object} context\n * @return {?string} Rendered markup to be inserted into the DOM.\n * @final\n * @internal\n */\n mountComponent: function mountComponent(transaction, hostParent, hostContainerInfo, context) {\n var _this = this;\n\n this._context = context;\n this._mountOrder = nextMountID++;\n this._hostParent = hostParent;\n this._hostContainerInfo = hostContainerInfo;\n var publicProps = this._currentElement.props;\n\n var publicContext = this._processContext(context);\n\n var Component = this._currentElement.type;\n var updateQueue = transaction.getUpdateQueue(); // Initialize the public class\n\n var doConstruct = shouldConstruct(Component);\n\n var inst = this._constructComponent(doConstruct, publicProps, publicContext, updateQueue);\n\n var renderedElement; // Support functional components\n\n if (!doConstruct && (inst == null || inst.render == null)) {\n renderedElement = inst;\n warnIfInvalidElement(Component, renderedElement);\n !(inst === null || inst === false || React.isValidElement(inst)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : _prodInvariant('105', Component.displayName || Component.name || 'Component') : void 0;\n inst = new StatelessComponent(Component);\n this._compositeType = CompositeTypes.StatelessFunctional;\n } else {\n if (isPureComponent(Component)) {\n this._compositeType = CompositeTypes.PureClass;\n } else {\n this._compositeType = CompositeTypes.ImpureClass;\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This will throw later in _renderValidatedComponent, but add an early\n // warning now to help debugging\n if (inst.render == null) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', Component.displayName || Component.name || 'Component') : void 0;\n }\n\n var propsMutated = inst.props !== publicProps;\n var componentName = Component.displayName || Component.name || 'Component';\n process.env.NODE_ENV !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + \"up the same props that your component's constructor was passed.\", componentName, componentName) : void 0;\n } // These should be set up in the constructor, but as a convenience for\n // simpler class abstractions, we set them up after the fact.\n\n\n inst.props = publicProps;\n inst.context = publicContext;\n inst.refs = emptyObject;\n inst.updater = updateQueue;\n this._instance = inst; // Store a reference from the instance back to the internal representation\n\n ReactInstanceMap.set(inst, this);\n\n if (process.env.NODE_ENV !== 'production') {\n // Since plain JS classes are defined without any special initialization\n // logic, we can not catch common errors early. Therefore, we have to\n // catch them here, at initialization time, instead.\n process.env.NODE_ENV !== 'production' ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved || inst.state, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentShouldUpdate !== 'function', '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', this.getName() || 'A component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentDidUnmount !== 'function', '%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', this.getName() || 'A component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentWillRecieveProps !== 'function', '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', this.getName() || 'A component') : void 0;\n }\n\n var initialState = inst.state;\n\n if (initialState === undefined) {\n inst.state = initialState = null;\n }\n\n !(_typeof(initialState) === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : _prodInvariant('106', this.getName() || 'ReactCompositeComponent') : void 0;\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n var markup;\n\n if (inst.unstable_handleError) {\n markup = this.performInitialMountWithErrorHandling(renderedElement, hostParent, hostContainerInfo, transaction, context);\n } else {\n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n }\n\n if (inst.componentDidMount) {\n if (process.env.NODE_ENV !== 'production') {\n transaction.getReactMountReady().enqueue(function () {\n measureLifeCyclePerf(function () {\n return inst.componentDidMount();\n }, _this._debugID, 'componentDidMount');\n });\n } else {\n transaction.getReactMountReady().enqueue(inst.componentDidMount, inst);\n }\n }\n\n return markup;\n },\n _constructComponent: function _constructComponent(doConstruct, publicProps, publicContext, updateQueue) {\n if (process.env.NODE_ENV !== 'production' && !doConstruct) {\n ReactCurrentOwner.current = this;\n\n try {\n return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue);\n } finally {\n ReactCurrentOwner.current = null;\n }\n } else {\n return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue);\n }\n },\n _constructComponentWithoutOwner: function _constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue) {\n var Component = this._currentElement.type;\n\n if (doConstruct) {\n if (process.env.NODE_ENV !== 'production') {\n return measureLifeCyclePerf(function () {\n return new Component(publicProps, publicContext, updateQueue);\n }, this._debugID, 'ctor');\n } else {\n return new Component(publicProps, publicContext, updateQueue);\n }\n } // This can still be an instance in case of factory components\n // but we'll count this as time spent rendering as the more common case.\n\n\n if (process.env.NODE_ENV !== 'production') {\n return measureLifeCyclePerf(function () {\n return Component(publicProps, publicContext, updateQueue);\n }, this._debugID, 'render');\n } else {\n return Component(publicProps, publicContext, updateQueue);\n }\n },\n performInitialMountWithErrorHandling: function performInitialMountWithErrorHandling(renderedElement, hostParent, hostContainerInfo, transaction, context) {\n var markup;\n var checkpoint = transaction.checkpoint();\n\n try {\n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n } catch (e) {\n // Roll back to checkpoint, handle error (which may add items to the transaction), and take a new checkpoint\n transaction.rollback(checkpoint);\n\n this._instance.unstable_handleError(e);\n\n if (this._pendingStateQueue) {\n this._instance.state = this._processPendingState(this._instance.props, this._instance.context);\n }\n\n checkpoint = transaction.checkpoint();\n\n this._renderedComponent.unmountComponent(true);\n\n transaction.rollback(checkpoint); // Try again - we've informed the component about the error, so they can render an error message this time.\n // If this throws again, the error will bubble up (and can be caught by a higher error boundary).\n\n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n }\n\n return markup;\n },\n performInitialMount: function performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context) {\n var inst = this._instance;\n var debugID = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n debugID = this._debugID;\n }\n\n if (inst.componentWillMount) {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillMount();\n }, debugID, 'componentWillMount');\n } else {\n inst.componentWillMount();\n } // When mounting, calls to `setState` by `componentWillMount` will set\n // `this._pendingStateQueue` without triggering a re-render.\n\n\n if (this._pendingStateQueue) {\n inst.state = this._processPendingState(inst.props, inst.context);\n }\n } // If not a stateless component, we now render\n\n\n if (renderedElement === undefined) {\n renderedElement = this._renderValidatedComponent();\n }\n\n var nodeType = ReactNodeTypes.getType(renderedElement);\n this._renderedNodeType = nodeType;\n\n var child = this._instantiateReactComponent(renderedElement, nodeType !== ReactNodeTypes.EMPTY\n /* shouldHaveDebugID */\n );\n\n this._renderedComponent = child;\n var markup = ReactReconciler.mountComponent(child, transaction, hostParent, hostContainerInfo, this._processChildContext(context), debugID);\n\n if (process.env.NODE_ENV !== 'production') {\n if (debugID !== 0) {\n var childDebugIDs = child._debugID !== 0 ? [child._debugID] : [];\n ReactInstrumentation.debugTool.onSetChildren(debugID, childDebugIDs);\n }\n }\n\n return markup;\n },\n getHostNode: function getHostNode() {\n return ReactReconciler.getHostNode(this._renderedComponent);\n },\n\n /**\n * Releases any resources allocated by `mountComponent`.\n *\n * @final\n * @internal\n */\n unmountComponent: function unmountComponent(safely) {\n if (!this._renderedComponent) {\n return;\n }\n\n var inst = this._instance;\n\n if (inst.componentWillUnmount && !inst._calledComponentWillUnmount) {\n inst._calledComponentWillUnmount = true;\n\n if (safely) {\n var name = this.getName() + '.componentWillUnmount()';\n ReactErrorUtils.invokeGuardedCallback(name, inst.componentWillUnmount.bind(inst));\n } else {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillUnmount();\n }, this._debugID, 'componentWillUnmount');\n } else {\n inst.componentWillUnmount();\n }\n }\n }\n\n if (this._renderedComponent) {\n ReactReconciler.unmountComponent(this._renderedComponent, safely);\n this._renderedNodeType = null;\n this._renderedComponent = null;\n this._instance = null;\n } // Reset pending fields\n // Even if this component is scheduled for another update in ReactUpdates,\n // it would still be ignored because these fields are reset.\n\n\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n this._pendingCallbacks = null;\n this._pendingElement = null; // These fields do not really need to be reset since this object is no\n // longer accessible.\n\n this._context = null;\n this._rootNodeID = 0;\n this._topLevelWrapper = null; // Delete the reference from the instance to this internal representation\n // which allow the internals to be properly cleaned up even if the user\n // leaks a reference to the public instance.\n\n ReactInstanceMap.remove(inst); // Some existing components rely on inst.props even after they've been\n // destroyed (in event handlers).\n // TODO: inst.props = null;\n // TODO: inst.state = null;\n // TODO: inst.context = null;\n },\n\n /**\n * Filters the context object to only contain keys specified in\n * `contextTypes`\n *\n * @param {object} context\n * @return {?object}\n * @private\n */\n _maskContext: function _maskContext(context) {\n var Component = this._currentElement.type;\n var contextTypes = Component.contextTypes;\n\n if (!contextTypes) {\n return emptyObject;\n }\n\n var maskedContext = {};\n\n for (var contextName in contextTypes) {\n maskedContext[contextName] = context[contextName];\n }\n\n return maskedContext;\n },\n\n /**\n * Filters the context object to only contain keys specified in\n * `contextTypes`, and asserts that they are valid.\n *\n * @param {object} context\n * @return {?object}\n * @private\n */\n _processContext: function _processContext(context) {\n var maskedContext = this._maskContext(context);\n\n if (process.env.NODE_ENV !== 'production') {\n var Component = this._currentElement.type;\n\n if (Component.contextTypes) {\n this._checkContextTypes(Component.contextTypes, maskedContext, 'context');\n }\n }\n\n return maskedContext;\n },\n\n /**\n * @param {object} currentContext\n * @return {object}\n * @private\n */\n _processChildContext: function _processChildContext(currentContext) {\n var Component = this._currentElement.type;\n var inst = this._instance;\n var childContext;\n\n if (inst.getChildContext) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onBeginProcessingChildContext();\n\n try {\n childContext = inst.getChildContext();\n } finally {\n ReactInstrumentation.debugTool.onEndProcessingChildContext();\n }\n } else {\n childContext = inst.getChildContext();\n }\n }\n\n if (childContext) {\n !(_typeof(Component.childContextTypes) === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().', this.getName() || 'ReactCompositeComponent') : _prodInvariant('107', this.getName() || 'ReactCompositeComponent') : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._checkContextTypes(Component.childContextTypes, childContext, 'child context');\n }\n\n for (var name in childContext) {\n !(name in Component.childContextTypes) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): key \"%s\" is not defined in childContextTypes.', this.getName() || 'ReactCompositeComponent', name) : _prodInvariant('108', this.getName() || 'ReactCompositeComponent', name) : void 0;\n }\n\n return _assign({}, currentContext, childContext);\n }\n\n return currentContext;\n },\n\n /**\n * Assert that the context types are valid\n *\n * @param {object} typeSpecs Map of context field to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @private\n */\n _checkContextTypes: function _checkContextTypes(typeSpecs, values, location) {\n if (process.env.NODE_ENV !== 'production') {\n checkReactTypeSpec(typeSpecs, values, location, this.getName(), null, this._debugID);\n }\n },\n receiveComponent: function receiveComponent(nextElement, transaction, nextContext) {\n var prevElement = this._currentElement;\n var prevContext = this._context;\n this._pendingElement = null;\n this.updateComponent(transaction, prevElement, nextElement, prevContext, nextContext);\n },\n\n /**\n * If any of `_pendingElement`, `_pendingStateQueue`, or `_pendingForceUpdate`\n * is set, update the component.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n performUpdateIfNecessary: function performUpdateIfNecessary(transaction) {\n if (this._pendingElement != null) {\n ReactReconciler.receiveComponent(this, this._pendingElement, transaction, this._context);\n } else if (this._pendingStateQueue !== null || this._pendingForceUpdate) {\n this.updateComponent(transaction, this._currentElement, this._currentElement, this._context, this._context);\n } else {\n this._updateBatchNumber = null;\n }\n },\n\n /**\n * Perform an update to a mounted component. The componentWillReceiveProps and\n * shouldComponentUpdate methods are called, then (assuming the update isn't\n * skipped) the remaining update lifecycle methods are called and the DOM\n * representation is updated.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @param {ReactElement} prevParentElement\n * @param {ReactElement} nextParentElement\n * @internal\n * @overridable\n */\n updateComponent: function updateComponent(transaction, prevParentElement, nextParentElement, prevUnmaskedContext, nextUnmaskedContext) {\n var inst = this._instance;\n !(inst != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Attempted to update component `%s` that has already been unmounted (or failed to mount).', this.getName() || 'ReactCompositeComponent') : _prodInvariant('136', this.getName() || 'ReactCompositeComponent') : void 0;\n var willReceive = false;\n var nextContext; // Determine if the context has changed or not\n\n if (this._context === nextUnmaskedContext) {\n nextContext = inst.context;\n } else {\n nextContext = this._processContext(nextUnmaskedContext);\n willReceive = true;\n }\n\n var prevProps = prevParentElement.props;\n var nextProps = nextParentElement.props; // Not a simple state update but a props update\n\n if (prevParentElement !== nextParentElement) {\n willReceive = true;\n } // An update here will schedule an update but immediately set\n // _pendingStateQueue which will ensure that any state updates gets\n // immediately reconciled instead of waiting for the next batch.\n\n\n if (willReceive && inst.componentWillReceiveProps) {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillReceiveProps(nextProps, nextContext);\n }, this._debugID, 'componentWillReceiveProps');\n } else {\n inst.componentWillReceiveProps(nextProps, nextContext);\n }\n }\n\n var nextState = this._processPendingState(nextProps, nextContext);\n\n var shouldUpdate = true;\n\n if (!this._pendingForceUpdate) {\n if (inst.shouldComponentUpdate) {\n if (process.env.NODE_ENV !== 'production') {\n shouldUpdate = measureLifeCyclePerf(function () {\n return inst.shouldComponentUpdate(nextProps, nextState, nextContext);\n }, this._debugID, 'shouldComponentUpdate');\n } else {\n shouldUpdate = inst.shouldComponentUpdate(nextProps, nextState, nextContext);\n }\n } else {\n if (this._compositeType === CompositeTypes.PureClass) {\n shouldUpdate = !shallowEqual(prevProps, nextProps) || !shallowEqual(inst.state, nextState);\n }\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(shouldUpdate !== undefined, '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : void 0;\n }\n\n this._updateBatchNumber = null;\n\n if (shouldUpdate) {\n this._pendingForceUpdate = false; // Will set `this.props`, `this.state` and `this.context`.\n\n this._performComponentUpdate(nextParentElement, nextProps, nextState, nextContext, transaction, nextUnmaskedContext);\n } else {\n // If it's determined that a component should not update, we still want\n // to set props and state but we shortcut the rest of the update.\n this._currentElement = nextParentElement;\n this._context = nextUnmaskedContext;\n inst.props = nextProps;\n inst.state = nextState;\n inst.context = nextContext;\n }\n },\n _processPendingState: function _processPendingState(props, context) {\n var inst = this._instance;\n var queue = this._pendingStateQueue;\n var replace = this._pendingReplaceState;\n this._pendingReplaceState = false;\n this._pendingStateQueue = null;\n\n if (!queue) {\n return inst.state;\n }\n\n if (replace && queue.length === 1) {\n return queue[0];\n }\n\n var nextState = _assign({}, replace ? queue[0] : inst.state);\n\n for (var i = replace ? 1 : 0; i < queue.length; i++) {\n var partial = queue[i];\n\n _assign(nextState, typeof partial === 'function' ? partial.call(inst, nextState, props, context) : partial);\n }\n\n return nextState;\n },\n\n /**\n * Merges new props and state, notifies delegate methods of update and\n * performs update.\n *\n * @param {ReactElement} nextElement Next element\n * @param {object} nextProps Next public object to set as properties.\n * @param {?object} nextState Next object to set as state.\n * @param {?object} nextContext Next public object to set as context.\n * @param {ReactReconcileTransaction} transaction\n * @param {?object} unmaskedContext\n * @private\n */\n _performComponentUpdate: function _performComponentUpdate(nextElement, nextProps, nextState, nextContext, transaction, unmaskedContext) {\n var _this2 = this;\n\n var inst = this._instance;\n var hasComponentDidUpdate = Boolean(inst.componentDidUpdate);\n var prevProps;\n var prevState;\n var prevContext;\n\n if (hasComponentDidUpdate) {\n prevProps = inst.props;\n prevState = inst.state;\n prevContext = inst.context;\n }\n\n if (inst.componentWillUpdate) {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillUpdate(nextProps, nextState, nextContext);\n }, this._debugID, 'componentWillUpdate');\n } else {\n inst.componentWillUpdate(nextProps, nextState, nextContext);\n }\n }\n\n this._currentElement = nextElement;\n this._context = unmaskedContext;\n inst.props = nextProps;\n inst.state = nextState;\n inst.context = nextContext;\n\n this._updateRenderedComponent(transaction, unmaskedContext);\n\n if (hasComponentDidUpdate) {\n if (process.env.NODE_ENV !== 'production') {\n transaction.getReactMountReady().enqueue(function () {\n measureLifeCyclePerf(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), _this2._debugID, 'componentDidUpdate');\n });\n } else {\n transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst);\n }\n }\n },\n\n /**\n * Call the component's `render` method and update the DOM accordingly.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n _updateRenderedComponent: function _updateRenderedComponent(transaction, context) {\n var prevComponentInstance = this._renderedComponent;\n var prevRenderedElement = prevComponentInstance._currentElement;\n\n var nextRenderedElement = this._renderValidatedComponent();\n\n var debugID = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n debugID = this._debugID;\n }\n\n if (shouldUpdateReactComponent(prevRenderedElement, nextRenderedElement)) {\n ReactReconciler.receiveComponent(prevComponentInstance, nextRenderedElement, transaction, this._processChildContext(context));\n } else {\n var oldHostNode = ReactReconciler.getHostNode(prevComponentInstance);\n ReactReconciler.unmountComponent(prevComponentInstance, false);\n var nodeType = ReactNodeTypes.getType(nextRenderedElement);\n this._renderedNodeType = nodeType;\n\n var child = this._instantiateReactComponent(nextRenderedElement, nodeType !== ReactNodeTypes.EMPTY\n /* shouldHaveDebugID */\n );\n\n this._renderedComponent = child;\n var nextMarkup = ReactReconciler.mountComponent(child, transaction, this._hostParent, this._hostContainerInfo, this._processChildContext(context), debugID);\n\n if (process.env.NODE_ENV !== 'production') {\n if (debugID !== 0) {\n var childDebugIDs = child._debugID !== 0 ? [child._debugID] : [];\n ReactInstrumentation.debugTool.onSetChildren(debugID, childDebugIDs);\n }\n }\n\n this._replaceNodeWithMarkup(oldHostNode, nextMarkup, prevComponentInstance);\n }\n },\n\n /**\n * Overridden in shallow rendering.\n *\n * @protected\n */\n _replaceNodeWithMarkup: function _replaceNodeWithMarkup(oldHostNode, nextMarkup, prevInstance) {\n ReactComponentEnvironment.replaceNodeWithMarkup(oldHostNode, nextMarkup, prevInstance);\n },\n\n /**\n * @protected\n */\n _renderValidatedComponentWithoutOwnerOrContext: function _renderValidatedComponentWithoutOwnerOrContext() {\n var inst = this._instance;\n var renderedElement;\n\n if (process.env.NODE_ENV !== 'production') {\n renderedElement = measureLifeCyclePerf(function () {\n return inst.render();\n }, this._debugID, 'render');\n } else {\n renderedElement = inst.render();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (renderedElement === undefined && inst.render._isMockFunction) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n renderedElement = null;\n }\n }\n\n return renderedElement;\n },\n\n /**\n * @private\n */\n _renderValidatedComponent: function _renderValidatedComponent() {\n var renderedElement;\n\n if (process.env.NODE_ENV !== 'production' || this._compositeType !== CompositeTypes.StatelessFunctional) {\n ReactCurrentOwner.current = this;\n\n try {\n renderedElement = this._renderValidatedComponentWithoutOwnerOrContext();\n } finally {\n ReactCurrentOwner.current = null;\n }\n } else {\n renderedElement = this._renderValidatedComponentWithoutOwnerOrContext();\n }\n\n !( // TODO: An `isValidNode` function would probably be more appropriate\n renderedElement === null || renderedElement === false || React.isValidElement(renderedElement)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : _prodInvariant('109', this.getName() || 'ReactCompositeComponent') : void 0;\n return renderedElement;\n },\n\n /**\n * Lazily allocates the refs object and stores `component` as `ref`.\n *\n * @param {string} ref Reference name.\n * @param {component} component Component to store as `ref`.\n * @final\n * @private\n */\n attachRef: function attachRef(ref, component) {\n var inst = this.getPublicInstance();\n !(inst != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Stateless function components cannot have refs.') : _prodInvariant('110') : void 0;\n var publicComponentInstance = component.getPublicInstance();\n\n if (process.env.NODE_ENV !== 'production') {\n var componentName = component && component.getName ? component.getName() : 'a component';\n process.env.NODE_ENV !== 'production' ? warning(publicComponentInstance != null || component._compositeType !== CompositeTypes.StatelessFunctional, 'Stateless function components cannot be given refs ' + '(See ref \"%s\" in %s created by %s). ' + 'Attempts to access this ref will fail.', ref, componentName, this.getName()) : void 0;\n }\n\n var refs = inst.refs === emptyObject ? inst.refs = {} : inst.refs;\n refs[ref] = publicComponentInstance;\n },\n\n /**\n * Detaches a reference name.\n *\n * @param {string} ref Name to dereference.\n * @final\n * @private\n */\n detachRef: function detachRef(ref) {\n var refs = this.getPublicInstance().refs;\n delete refs[ref];\n },\n\n /**\n * Get a text description of the component that can be used to identify it\n * in error messages.\n * @return {string} The name or null.\n * @internal\n */\n getName: function getName() {\n var type = this._currentElement.type;\n var constructor = this._instance && this._instance.constructor;\n return type.displayName || constructor && constructor.displayName || type.name || constructor && constructor.name || null;\n },\n\n /**\n * Get the publicly accessible representation of this component - i.e. what\n * is exposed by refs and returned by render. Can be null for stateless\n * components.\n *\n * @return {ReactComponent} the public component instance.\n * @internal\n */\n getPublicInstance: function getPublicInstance() {\n var inst = this._instance;\n\n if (this._compositeType === CompositeTypes.StatelessFunctional) {\n return null;\n }\n\n return inst;\n },\n // Stub\n _instantiateReactComponent: null\n};\nmodule.exports = ReactCompositeComponent;","/**\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 nextDebugID = 1;\n\nfunction getNextDebugID() {\n return nextDebugID++;\n}\n\nmodule.exports = getNextDebugID;","/**\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 */\n'use strict'; // The Symbol used to tag the ReactElement type. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\n\nvar REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;\nmodule.exports = REACT_ELEMENT_TYPE;","/**\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/* global Symbol */\n\nvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n/**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n\nfunction getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nmodule.exports = getIteratorFn;","/**\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\nfunction _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\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\n\nvar traverseAllChildren = require('./traverseAllChildren');\n\nvar warning = require('fbjs/lib/warning');\n\nvar ReactComponentTreeHook;\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') {\n // Temporary hack.\n // Inline requires don't work well with Jest:\n // https://github.com/facebook/react/issues/7240\n // Remove the inline requires when we don't need them anymore:\n // https://github.com/facebook/react/pull/7178\n ReactComponentTreeHook = require('react/lib/ReactComponentTreeHook');\n}\n/**\n * @param {function} traverseContext Context passed through traversal.\n * @param {?ReactComponent} child React child component.\n * @param {!string} name String name of key path to child.\n * @param {number=} selfDebugID Optional debugID of the current internal instance.\n */\n\n\nfunction flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID) {\n // We found a component instance.\n if (traverseContext && _typeof(traverseContext) === 'object') {\n var result = traverseContext;\n var keyUnique = result[name] === undefined;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!ReactComponentTreeHook) {\n ReactComponentTreeHook = require('react/lib/ReactComponentTreeHook');\n }\n\n if (!keyUnique) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;\n }\n }\n\n if (keyUnique && child != null) {\n result[name] = child;\n }\n }\n}\n/**\n * Flattens children that are typically specified as `props.children`. Any null\n * children will not be included in the resulting object.\n * @return {!object} flattened children keyed by name.\n */\n\n\nfunction flattenChildren(children, selfDebugID) {\n if (children == null) {\n return children;\n }\n\n var result = {};\n\n if (process.env.NODE_ENV !== 'production') {\n traverseAllChildren(children, function (traverseContext, child, name) {\n return flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID);\n }, result);\n } else {\n traverseAllChildren(children, flattenSingleChildIntoContext, result);\n }\n\n return result;\n}\n\nmodule.exports = flattenChildren;","/**\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 _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\n\nvar Transaction = require('./Transaction');\n\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar ReactServerUpdateQueue = require('./ReactServerUpdateQueue');\n/**\n * Executed within the scope of the `Transaction` instance. Consider these as\n * being member methods, but with an implied ordering while being isolated from\n * each other.\n */\n\n\nvar TRANSACTION_WRAPPERS = [];\n\nif (process.env.NODE_ENV !== 'production') {\n TRANSACTION_WRAPPERS.push({\n initialize: ReactInstrumentation.debugTool.onBeginFlush,\n close: ReactInstrumentation.debugTool.onEndFlush\n });\n}\n\nvar noopCallbackQueue = {\n enqueue: function enqueue() {}\n};\n/**\n * @class ReactServerRenderingTransaction\n * @param {boolean} renderToStaticMarkup\n */\n\nfunction ReactServerRenderingTransaction(renderToStaticMarkup) {\n this.reinitializeTransaction();\n this.renderToStaticMarkup = renderToStaticMarkup;\n this.useCreateElement = false;\n this.updateQueue = new ReactServerUpdateQueue(this);\n}\n\nvar Mixin = {\n /**\n * @see Transaction\n * @abstract\n * @final\n * @return {array} Empty list of operation wrap procedures.\n */\n getTransactionWrappers: function getTransactionWrappers() {\n return TRANSACTION_WRAPPERS;\n },\n\n /**\n * @return {object} The queue to collect `onDOMReady` callbacks with.\n */\n getReactMountReady: function getReactMountReady() {\n return noopCallbackQueue;\n },\n\n /**\n * @return {object} The queue to collect React async events.\n */\n getUpdateQueue: function getUpdateQueue() {\n return this.updateQueue;\n },\n\n /**\n * `PooledClass` looks for this, and will invoke this before allowing this\n * instance to be reused.\n */\n destructor: function destructor() {},\n checkpoint: function checkpoint() {},\n rollback: function rollback() {}\n};\n\n_assign(ReactServerRenderingTransaction.prototype, Transaction, Mixin);\n\nPooledClass.addPoolingTo(ReactServerRenderingTransaction);\nmodule.exports = ReactServerRenderingTransaction;","/**\n * Copyright (c) 2015-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\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\n\nvar warning = require('fbjs/lib/warning');\n\nfunction warnNoop(publicInstance, callerName) {\n if (process.env.NODE_ENV !== 'production') {\n var constructor = publicInstance.constructor;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounting component. ' + 'This usually means you called %s() outside componentWillMount() on the server. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;\n }\n}\n/**\n * This is the update queue used for server rendering.\n * It delegates to ReactUpdateQueue while server rendering is in progress and\n * switches to ReactNoopUpdateQueue after the transaction has completed.\n * @class ReactServerUpdateQueue\n * @param {Transaction} transaction\n */\n\n\nvar ReactServerUpdateQueue = function () {\n function ReactServerUpdateQueue(transaction) {\n _classCallCheck(this, ReactServerUpdateQueue);\n\n this.transaction = transaction;\n }\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n\n\n ReactServerUpdateQueue.prototype.isMounted = function isMounted(publicInstance) {\n return false;\n };\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueCallback = function enqueueCallback(publicInstance, callback, callerName) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueCallback(publicInstance, callback, callerName);\n }\n };\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueForceUpdate = function enqueueForceUpdate(publicInstance) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueForceUpdate(publicInstance);\n } else {\n warnNoop(publicInstance, 'forceUpdate');\n }\n };\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object|function} completeState Next state.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueReplaceState = function enqueueReplaceState(publicInstance, completeState) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueReplaceState(publicInstance, completeState);\n } else {\n warnNoop(publicInstance, 'replaceState');\n }\n };\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object|function} partialState Next partial state to be merged with state.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueSetState = function enqueueSetState(publicInstance, partialState) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueSetState(publicInstance, partialState);\n } else {\n warnNoop(publicInstance, 'setState');\n }\n };\n\n return ReactServerUpdateQueue;\n}();\n\nmodule.exports = ReactServerUpdateQueue;","/**\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 _assign = require('object-assign');\n\nvar DOMLazyTree = require('./DOMLazyTree');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactDOMEmptyComponent = function ReactDOMEmptyComponent(instantiate) {\n // ReactCompositeComponent uses this:\n this._currentElement = null; // ReactDOMComponentTree uses these:\n\n this._hostNode = null;\n this._hostParent = null;\n this._hostContainerInfo = null;\n this._domID = 0;\n};\n\n_assign(ReactDOMEmptyComponent.prototype, {\n mountComponent: function mountComponent(transaction, hostParent, hostContainerInfo, context) {\n var domID = hostContainerInfo._idCounter++;\n this._domID = domID;\n this._hostParent = hostParent;\n this._hostContainerInfo = hostContainerInfo;\n var nodeValue = ' react-empty: ' + this._domID + ' ';\n\n if (transaction.useCreateElement) {\n var ownerDocument = hostContainerInfo._ownerDocument;\n var node = ownerDocument.createComment(nodeValue);\n ReactDOMComponentTree.precacheNode(this, node);\n return DOMLazyTree(node);\n } else {\n if (transaction.renderToStaticMarkup) {\n // Normally we'd insert a comment node, but since this is a situation\n // where React won't take over (static pages), we can simply return\n // nothing.\n return '';\n }\n\n return '<!--' + nodeValue + '-->';\n }\n },\n receiveComponent: function receiveComponent() {},\n getHostNode: function getHostNode() {\n return ReactDOMComponentTree.getNodeFromInstance(this);\n },\n unmountComponent: function unmountComponent() {\n ReactDOMComponentTree.uncacheNode(this);\n }\n});\n\nmodule.exports = ReactDOMEmptyComponent;","/**\n * Copyright (c) 2015-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 _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n/**\n * Return the lowest common ancestor of A and B, or null if they are in\n * different trees.\n */\n\n\nfunction getLowestCommonAncestor(instA, instB) {\n !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n var depthA = 0;\n\n for (var tempA = instA; tempA; tempA = tempA._hostParent) {\n depthA++;\n }\n\n var depthB = 0;\n\n for (var tempB = instB; tempB; tempB = tempB._hostParent) {\n depthB++;\n } // If A is deeper, crawl up.\n\n\n while (depthA - depthB > 0) {\n instA = instA._hostParent;\n depthA--;\n } // If B is deeper, crawl up.\n\n\n while (depthB - depthA > 0) {\n instB = instB._hostParent;\n depthB--;\n } // Walk in lockstep until we find a match.\n\n\n var depth = depthA;\n\n while (depth--) {\n if (instA === instB) {\n return instA;\n }\n\n instA = instA._hostParent;\n instB = instB._hostParent;\n }\n\n return null;\n}\n/**\n * Return if A is an ancestor of B.\n */\n\n\nfunction isAncestor(instA, instB) {\n !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;\n !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;\n\n while (instB) {\n if (instB === instA) {\n return true;\n }\n\n instB = instB._hostParent;\n }\n\n return false;\n}\n/**\n * Return the parent instance of the passed-in instance.\n */\n\n\nfunction getParentInstance(inst) {\n !('_hostNode' in inst) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getParentInstance: Invalid argument.') : _prodInvariant('36') : void 0;\n return inst._hostParent;\n}\n/**\n * Simulates the traversal of a two-phase, capture/bubble event dispatch.\n */\n\n\nfunction traverseTwoPhase(inst, fn, arg) {\n var path = [];\n\n while (inst) {\n path.push(inst);\n inst = inst._hostParent;\n }\n\n var i;\n\n for (i = path.length; i-- > 0;) {\n fn(path[i], 'captured', arg);\n }\n\n for (i = 0; i < path.length; i++) {\n fn(path[i], 'bubbled', arg);\n }\n}\n/**\n * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that\n * should would receive a `mouseEnter` or `mouseLeave` event.\n *\n * Does not invoke the callback on the nearest common ancestor because nothing\n * \"entered\" or \"left\" that element.\n */\n\n\nfunction traverseEnterLeave(from, to, fn, argFrom, argTo) {\n var common = from && to ? getLowestCommonAncestor(from, to) : null;\n var pathFrom = [];\n\n while (from && from !== common) {\n pathFrom.push(from);\n from = from._hostParent;\n }\n\n var pathTo = [];\n\n while (to && to !== common) {\n pathTo.push(to);\n to = to._hostParent;\n }\n\n var i;\n\n for (i = 0; i < pathFrom.length; i++) {\n fn(pathFrom[i], 'bubbled', argFrom);\n }\n\n for (i = pathTo.length; i-- > 0;) {\n fn(pathTo[i], 'captured', argTo);\n }\n}\n\nmodule.exports = {\n isAncestor: isAncestor,\n getLowestCommonAncestor: getLowestCommonAncestor,\n getParentInstance: getParentInstance,\n traverseTwoPhase: traverseTwoPhase,\n traverseEnterLeave: traverseEnterLeave\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 _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar DOMChildrenOperations = require('./DOMChildrenOperations');\n\nvar DOMLazyTree = require('./DOMLazyTree');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar validateDOMNesting = require('./validateDOMNesting');\n/**\n * Text nodes violate a couple assumptions that React makes about components:\n *\n * - When mounting text into the DOM, adjacent text nodes are merged.\n * - Text nodes cannot be assigned a React root ID.\n *\n * This component is used to wrap strings between comment nodes so that they\n * can undergo the same reconciliation that is applied to elements.\n *\n * TODO: Investigate representing React components in the DOM with text nodes.\n *\n * @class ReactDOMTextComponent\n * @extends ReactComponent\n * @internal\n */\n\n\nvar ReactDOMTextComponent = function ReactDOMTextComponent(text) {\n // TODO: This is really a ReactText (ReactNode), not a ReactElement\n this._currentElement = text;\n this._stringText = '' + text; // ReactDOMComponentTree uses these:\n\n this._hostNode = null;\n this._hostParent = null; // Properties\n\n this._domID = 0;\n this._mountIndex = 0;\n this._closingComment = null;\n this._commentNodes = null;\n};\n\n_assign(ReactDOMTextComponent.prototype, {\n /**\n * Creates the markup for this text node. This node is not intended to have\n * any features besides containing text content.\n *\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @return {string} Markup for this text node.\n * @internal\n */\n mountComponent: function mountComponent(transaction, hostParent, hostContainerInfo, context) {\n if (process.env.NODE_ENV !== 'production') {\n var parentInfo;\n\n if (hostParent != null) {\n parentInfo = hostParent._ancestorInfo;\n } else if (hostContainerInfo != null) {\n parentInfo = hostContainerInfo._ancestorInfo;\n }\n\n if (parentInfo) {\n // parentInfo should always be present except for the top-level\n // component when server rendering\n validateDOMNesting(null, this._stringText, this, parentInfo);\n }\n }\n\n var domID = hostContainerInfo._idCounter++;\n var openingValue = ' react-text: ' + domID + ' ';\n var closingValue = ' /react-text ';\n this._domID = domID;\n this._hostParent = hostParent;\n\n if (transaction.useCreateElement) {\n var ownerDocument = hostContainerInfo._ownerDocument;\n var openingComment = ownerDocument.createComment(openingValue);\n var closingComment = ownerDocument.createComment(closingValue);\n var lazyTree = DOMLazyTree(ownerDocument.createDocumentFragment());\n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(openingComment));\n\n if (this._stringText) {\n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(ownerDocument.createTextNode(this._stringText)));\n }\n\n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(closingComment));\n ReactDOMComponentTree.precacheNode(this, openingComment);\n this._closingComment = closingComment;\n return lazyTree;\n } else {\n var escapedText = escapeTextContentForBrowser(this._stringText);\n\n if (transaction.renderToStaticMarkup) {\n // Normally we'd wrap this between comment nodes for the reasons stated\n // above, but since this is a situation where React won't take over\n // (static pages), we can simply return the text as it is.\n return escapedText;\n }\n\n return '<!--' + openingValue + '-->' + escapedText + '<!--' + closingValue + '-->';\n }\n },\n\n /**\n * Updates this component by updating the text content.\n *\n * @param {ReactText} nextText The next text content\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n receiveComponent: function receiveComponent(nextText, transaction) {\n if (nextText !== this._currentElement) {\n this._currentElement = nextText;\n var nextStringText = '' + nextText;\n\n if (nextStringText !== this._stringText) {\n // TODO: Save this as pending props and use performUpdateIfNecessary\n // and/or updateComponent to do the actual update for consistency with\n // other component types?\n this._stringText = nextStringText;\n var commentNodes = this.getHostNode();\n DOMChildrenOperations.replaceDelimitedText(commentNodes[0], commentNodes[1], nextStringText);\n }\n }\n },\n getHostNode: function getHostNode() {\n var hostNode = this._commentNodes;\n\n if (hostNode) {\n return hostNode;\n }\n\n if (!this._closingComment) {\n var openingComment = ReactDOMComponentTree.getNodeFromInstance(this);\n var node = openingComment.nextSibling;\n\n while (true) {\n !(node != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing closing comment for text component %s', this._domID) : _prodInvariant('67', this._domID) : void 0;\n\n if (node.nodeType === 8 && node.nodeValue === ' /react-text ') {\n this._closingComment = node;\n break;\n }\n\n node = node.nextSibling;\n }\n }\n\n hostNode = [this._hostNode, this._closingComment];\n this._commentNodes = hostNode;\n return hostNode;\n },\n unmountComponent: function unmountComponent() {\n this._closingComment = null;\n this._commentNodes = null;\n ReactDOMComponentTree.uncacheNode(this);\n }\n});\n\nmodule.exports = ReactDOMTextComponent;","/**\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 _assign = require('object-assign');\n\nvar ReactUpdates = require('./ReactUpdates');\n\nvar Transaction = require('./Transaction');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\nvar RESET_BATCHED_UPDATES = {\n initialize: emptyFunction,\n close: function close() {\n ReactDefaultBatchingStrategy.isBatchingUpdates = false;\n }\n};\nvar FLUSH_BATCHED_UPDATES = {\n initialize: emptyFunction,\n close: ReactUpdates.flushBatchedUpdates.bind(ReactUpdates)\n};\nvar TRANSACTION_WRAPPERS = [FLUSH_BATCHED_UPDATES, RESET_BATCHED_UPDATES];\n\nfunction ReactDefaultBatchingStrategyTransaction() {\n this.reinitializeTransaction();\n}\n\n_assign(ReactDefaultBatchingStrategyTransaction.prototype, Transaction, {\n getTransactionWrappers: function getTransactionWrappers() {\n return TRANSACTION_WRAPPERS;\n }\n});\n\nvar transaction = new ReactDefaultBatchingStrategyTransaction();\nvar ReactDefaultBatchingStrategy = {\n isBatchingUpdates: false,\n\n /**\n * Call the provided function in a context within which calls to `setState`\n * and friends are batched such that components aren't updated unnecessarily.\n */\n batchedUpdates: function batchedUpdates(callback, a, b, c, d, e) {\n var alreadyBatchingUpdates = ReactDefaultBatchingStrategy.isBatchingUpdates;\n ReactDefaultBatchingStrategy.isBatchingUpdates = true; // The code is written this way to avoid extra allocations\n\n if (alreadyBatchingUpdates) {\n return callback(a, b, c, d, e);\n } else {\n return transaction.perform(callback, null, a, b, c, d, e);\n }\n }\n};\nmodule.exports = ReactDefaultBatchingStrategy;","/**\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 _assign = require('object-assign');\n\nvar EventListener = require('fbjs/lib/EventListener');\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar PooledClass = require('./PooledClass');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactUpdates = require('./ReactUpdates');\n\nvar getEventTarget = require('./getEventTarget');\n\nvar getUnboundedScrollPosition = require('fbjs/lib/getUnboundedScrollPosition');\n/**\n * Find the deepest React component completely containing the root of the\n * passed-in instance (for use when entire React trees are nested within each\n * other). If React trees are not nested, returns null.\n */\n\n\nfunction findParent(inst) {\n // TODO: It may be a good idea to cache this to prevent unnecessary DOM\n // traversal, but caching is difficult to do correctly without using a\n // mutation observer to listen for all DOM changes.\n while (inst._hostParent) {\n inst = inst._hostParent;\n }\n\n var rootNode = ReactDOMComponentTree.getNodeFromInstance(inst);\n var container = rootNode.parentNode;\n return ReactDOMComponentTree.getClosestInstanceFromNode(container);\n} // Used to store ancestor hierarchy in top level callback\n\n\nfunction TopLevelCallbackBookKeeping(topLevelType, nativeEvent) {\n this.topLevelType = topLevelType;\n this.nativeEvent = nativeEvent;\n this.ancestors = [];\n}\n\n_assign(TopLevelCallbackBookKeeping.prototype, {\n destructor: function destructor() {\n this.topLevelType = null;\n this.nativeEvent = null;\n this.ancestors.length = 0;\n }\n});\n\nPooledClass.addPoolingTo(TopLevelCallbackBookKeeping, PooledClass.twoArgumentPooler);\n\nfunction handleTopLevelImpl(bookKeeping) {\n var nativeEventTarget = getEventTarget(bookKeeping.nativeEvent);\n var targetInst = ReactDOMComponentTree.getClosestInstanceFromNode(nativeEventTarget); // Loop through the hierarchy, in case there's any nested components.\n // It's important that we build the array of ancestors before calling any\n // event handlers, because event handlers can modify the DOM, leading to\n // inconsistencies with ReactMount's node cache. See #1105.\n\n var ancestor = targetInst;\n\n do {\n bookKeeping.ancestors.push(ancestor);\n ancestor = ancestor && findParent(ancestor);\n } while (ancestor);\n\n for (var i = 0; i < bookKeeping.ancestors.length; i++) {\n targetInst = bookKeeping.ancestors[i];\n\n ReactEventListener._handleTopLevel(bookKeeping.topLevelType, targetInst, bookKeeping.nativeEvent, getEventTarget(bookKeeping.nativeEvent));\n }\n}\n\nfunction scrollValueMonitor(cb) {\n var scrollPosition = getUnboundedScrollPosition(window);\n cb(scrollPosition);\n}\n\nvar ReactEventListener = {\n _enabled: true,\n _handleTopLevel: null,\n WINDOW_HANDLE: ExecutionEnvironment.canUseDOM ? window : null,\n setHandleTopLevel: function setHandleTopLevel(handleTopLevel) {\n ReactEventListener._handleTopLevel = handleTopLevel;\n },\n setEnabled: function setEnabled(enabled) {\n ReactEventListener._enabled = !!enabled;\n },\n isEnabled: function isEnabled() {\n return ReactEventListener._enabled;\n },\n\n /**\n * Traps top-level events by using event bubbling.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {string} handlerBaseName Event name (e.g. \"click\").\n * @param {object} element Element on which to attach listener.\n * @return {?object} An object with a remove function which will forcefully\n * remove the listener.\n * @internal\n */\n trapBubbledEvent: function trapBubbledEvent(topLevelType, handlerBaseName, element) {\n if (!element) {\n return null;\n }\n\n return EventListener.listen(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));\n },\n\n /**\n * Traps a top-level event by using event capturing.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {string} handlerBaseName Event name (e.g. \"click\").\n * @param {object} element Element on which to attach listener.\n * @return {?object} An object with a remove function which will forcefully\n * remove the listener.\n * @internal\n */\n trapCapturedEvent: function trapCapturedEvent(topLevelType, handlerBaseName, element) {\n if (!element) {\n return null;\n }\n\n return EventListener.capture(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));\n },\n monitorScrollValue: function monitorScrollValue(refresh) {\n var callback = scrollValueMonitor.bind(null, refresh);\n EventListener.listen(window, 'scroll', callback);\n },\n dispatchEvent: function dispatchEvent(topLevelType, nativeEvent) {\n if (!ReactEventListener._enabled) {\n return;\n }\n\n var bookKeeping = TopLevelCallbackBookKeeping.getPooled(topLevelType, nativeEvent);\n\n try {\n // Event queue being processed in the same cycle allows\n // `preventDefault`.\n ReactUpdates.batchedUpdates(handleTopLevelImpl, bookKeeping);\n } finally {\n TopLevelCallbackBookKeeping.release(bookKeeping);\n }\n }\n};\nmodule.exports = ReactEventListener;","/**\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 * @typechecks\n */\n'use strict';\n/**\n * Gets the scroll position of the supplied element or window.\n *\n * The return values are unbounded, unlike `getScrollPosition`. This means they\n * may be negative or exceed the element boundaries (which is possible using\n * inertial scrolling).\n *\n * @param {DOMWindow|DOMElement} scrollable\n * @return {object} Map with `x` and `y` keys.\n */\n\nfunction getUnboundedScrollPosition(scrollable) {\n if (scrollable.Window && scrollable instanceof scrollable.Window) {\n return {\n x: scrollable.pageXOffset || scrollable.document.documentElement.scrollLeft,\n y: scrollable.pageYOffset || scrollable.document.documentElement.scrollTop\n };\n }\n\n return {\n x: scrollable.scrollLeft,\n y: scrollable.scrollTop\n };\n}\n\nmodule.exports = getUnboundedScrollPosition;","/**\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 DOMProperty = require('./DOMProperty');\n\nvar EventPluginHub = require('./EventPluginHub');\n\nvar EventPluginUtils = require('./EventPluginUtils');\n\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\n\nvar ReactEmptyComponent = require('./ReactEmptyComponent');\n\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\n\nvar ReactHostComponent = require('./ReactHostComponent');\n\nvar ReactUpdates = require('./ReactUpdates');\n\nvar ReactInjection = {\n Component: ReactComponentEnvironment.injection,\n DOMProperty: DOMProperty.injection,\n EmptyComponent: ReactEmptyComponent.injection,\n EventPluginHub: EventPluginHub.injection,\n EventPluginUtils: EventPluginUtils.injection,\n EventEmitter: ReactBrowserEventEmitter.injection,\n HostComponent: ReactHostComponent.injection,\n Updates: ReactUpdates.injection\n};\nmodule.exports = ReactInjection;","/**\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 _assign = require('object-assign');\n\nvar CallbackQueue = require('./CallbackQueue');\n\nvar PooledClass = require('./PooledClass');\n\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\n\nvar ReactInputSelection = require('./ReactInputSelection');\n\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar Transaction = require('./Transaction');\n\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\n/**\n * Ensures that, when possible, the selection range (currently selected text\n * input) is not disturbed by performing the transaction.\n */\n\n\nvar SELECTION_RESTORATION = {\n /**\n * @return {Selection} Selection information.\n */\n initialize: ReactInputSelection.getSelectionInformation,\n\n /**\n * @param {Selection} sel Selection information returned from `initialize`.\n */\n close: ReactInputSelection.restoreSelection\n};\n/**\n * Suppresses events (blur/focus) that could be inadvertently dispatched due to\n * high level DOM manipulations (like temporarily removing a text input from the\n * DOM).\n */\n\nvar EVENT_SUPPRESSION = {\n /**\n * @return {boolean} The enabled status of `ReactBrowserEventEmitter` before\n * the reconciliation.\n */\n initialize: function initialize() {\n var currentlyEnabled = ReactBrowserEventEmitter.isEnabled();\n ReactBrowserEventEmitter.setEnabled(false);\n return currentlyEnabled;\n },\n\n /**\n * @param {boolean} previouslyEnabled Enabled status of\n * `ReactBrowserEventEmitter` before the reconciliation occurred. `close`\n * restores the previous value.\n */\n close: function close(previouslyEnabled) {\n ReactBrowserEventEmitter.setEnabled(previouslyEnabled);\n }\n};\n/**\n * Provides a queue for collecting `componentDidMount` and\n * `componentDidUpdate` callbacks during the transaction.\n */\n\nvar ON_DOM_READY_QUEUEING = {\n /**\n * Initializes the internal `onDOMReady` queue.\n */\n initialize: function initialize() {\n this.reactMountReady.reset();\n },\n\n /**\n * After DOM is flushed, invoke all registered `onDOMReady` callbacks.\n */\n close: function close() {\n this.reactMountReady.notifyAll();\n }\n};\n/**\n * Executed within the scope of the `Transaction` instance. Consider these as\n * being member methods, but with an implied ordering while being isolated from\n * each other.\n */\n\nvar TRANSACTION_WRAPPERS = [SELECTION_RESTORATION, EVENT_SUPPRESSION, ON_DOM_READY_QUEUEING];\n\nif (process.env.NODE_ENV !== 'production') {\n TRANSACTION_WRAPPERS.push({\n initialize: ReactInstrumentation.debugTool.onBeginFlush,\n close: ReactInstrumentation.debugTool.onEndFlush\n });\n}\n/**\n * Currently:\n * - The order that these are listed in the transaction is critical:\n * - Suppresses events.\n * - Restores selection range.\n *\n * Future:\n * - Restore document/overflow scroll positions that were unintentionally\n * modified via DOM insertions above the top viewport boundary.\n * - Implement/integrate with customized constraint based layout system and keep\n * track of which dimensions must be remeasured.\n *\n * @class ReactReconcileTransaction\n */\n\n\nfunction ReactReconcileTransaction(useCreateElement) {\n this.reinitializeTransaction(); // Only server-side rendering really needs this option (see\n // `ReactServerRendering`), but server-side uses\n // `ReactServerRenderingTransaction` instead. This option is here so that it's\n // accessible and defaults to false when `ReactDOMComponent` and\n // `ReactDOMTextComponent` checks it in `mountComponent`.`\n\n this.renderToStaticMarkup = false;\n this.reactMountReady = CallbackQueue.getPooled(null);\n this.useCreateElement = useCreateElement;\n}\n\nvar Mixin = {\n /**\n * @see Transaction\n * @abstract\n * @final\n * @return {array<object>} List of operation wrap procedures.\n * TODO: convert to array<TransactionWrapper>\n */\n getTransactionWrappers: function getTransactionWrappers() {\n return TRANSACTION_WRAPPERS;\n },\n\n /**\n * @return {object} The queue to collect `onDOMReady` callbacks with.\n */\n getReactMountReady: function getReactMountReady() {\n return this.reactMountReady;\n },\n\n /**\n * @return {object} The queue to collect React async events.\n */\n getUpdateQueue: function getUpdateQueue() {\n return ReactUpdateQueue;\n },\n\n /**\n * Save current transaction state -- if the return value from this method is\n * passed to `rollback`, the transaction will be reset to that state.\n */\n checkpoint: function checkpoint() {\n // reactMountReady is the our only stateful wrapper\n return this.reactMountReady.checkpoint();\n },\n rollback: function rollback(checkpoint) {\n this.reactMountReady.rollback(checkpoint);\n },\n\n /**\n * `PooledClass` looks for this, and will invoke this before allowing this\n * instance to be reused.\n */\n destructor: function destructor() {\n CallbackQueue.release(this.reactMountReady);\n this.reactMountReady = null;\n }\n};\n\n_assign(ReactReconcileTransaction.prototype, Transaction, Mixin);\n\nPooledClass.addPoolingTo(ReactReconcileTransaction);\nmodule.exports = ReactReconcileTransaction;","/**\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 ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar getNodeForCharacterOffset = require('./getNodeForCharacterOffset');\n\nvar getTextContentAccessor = require('./getTextContentAccessor');\n/**\n * While `isCollapsed` is available on the Selection object and `collapsed`\n * is available on the Range object, IE11 sometimes gets them wrong.\n * If the anchor/focus nodes and offsets are the same, the range is collapsed.\n */\n\n\nfunction isCollapsed(anchorNode, anchorOffset, focusNode, focusOffset) {\n return anchorNode === focusNode && anchorOffset === focusOffset;\n}\n/**\n * Get the appropriate anchor and focus node/offset pairs for IE.\n *\n * The catch here is that IE's selection API doesn't provide information\n * about whether the selection is forward or backward, so we have to\n * behave as though it's always forward.\n *\n * IE text differs from modern selection in that it behaves as though\n * block elements end with a new line. This means character offsets will\n * differ between the two APIs.\n *\n * @param {DOMElement} node\n * @return {object}\n */\n\n\nfunction getIEOffsets(node) {\n var selection = document.selection;\n var selectedRange = selection.createRange();\n var selectedLength = selectedRange.text.length; // Duplicate selection so we can move range without breaking user selection.\n\n var fromStart = selectedRange.duplicate();\n fromStart.moveToElementText(node);\n fromStart.setEndPoint('EndToStart', selectedRange);\n var startOffset = fromStart.text.length;\n var endOffset = startOffset + selectedLength;\n return {\n start: startOffset,\n end: endOffset\n };\n}\n/**\n * @param {DOMElement} node\n * @return {?object}\n */\n\n\nfunction getModernOffsets(node) {\n var selection = window.getSelection && window.getSelection();\n\n if (!selection || selection.rangeCount === 0) {\n return null;\n }\n\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n var currentRange = selection.getRangeAt(0); // In Firefox, range.startContainer and range.endContainer can be \"anonymous\n // divs\", e.g. the up/down buttons on an <input type=\"number\">. Anonymous\n // divs do not seem to expose properties, triggering a \"Permission denied\n // error\" if any of its properties are accessed. The only seemingly possible\n // way to avoid erroring is to access a property that typically works for\n // non-anonymous divs and catch any error that may otherwise arise. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n\n try {\n /* eslint-disable no-unused-expressions */\n currentRange.startContainer.nodeType;\n currentRange.endContainer.nodeType;\n /* eslint-enable no-unused-expressions */\n } catch (e) {\n return null;\n } // If the node and offset values are the same, the selection is collapsed.\n // `Selection.isCollapsed` is available natively, but IE sometimes gets\n // this value wrong.\n\n\n var isSelectionCollapsed = isCollapsed(selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);\n var rangeLength = isSelectionCollapsed ? 0 : currentRange.toString().length;\n var tempRange = currentRange.cloneRange();\n tempRange.selectNodeContents(node);\n tempRange.setEnd(currentRange.startContainer, currentRange.startOffset);\n var isTempRangeCollapsed = isCollapsed(tempRange.startContainer, tempRange.startOffset, tempRange.endContainer, tempRange.endOffset);\n var start = isTempRangeCollapsed ? 0 : tempRange.toString().length;\n var end = start + rangeLength; // Detect whether the selection is backward.\n\n var detectionRange = document.createRange();\n detectionRange.setStart(anchorNode, anchorOffset);\n detectionRange.setEnd(focusNode, focusOffset);\n var isBackward = detectionRange.collapsed;\n return {\n start: isBackward ? end : start,\n end: isBackward ? start : end\n };\n}\n/**\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n\n\nfunction setIEOffsets(node, offsets) {\n var range = document.selection.createRange().duplicate();\n var start, end;\n\n if (offsets.end === undefined) {\n start = offsets.start;\n end = start;\n } else if (offsets.start > offsets.end) {\n start = offsets.end;\n end = offsets.start;\n } else {\n start = offsets.start;\n end = offsets.end;\n }\n\n range.moveToElementText(node);\n range.moveStart('character', start);\n range.setEndPoint('EndToStart', range);\n range.moveEnd('character', end - start);\n range.select();\n}\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programmatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n *\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n\n\nfunction setModernOffsets(node, offsets) {\n if (!window.getSelection) {\n return;\n }\n\n var selection = window.getSelection();\n var length = node[getTextContentAccessor()].length;\n var start = Math.min(offsets.start, length);\n var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method.\n // Flip backward selections, so we can set with a single range.\n\n if (!selection.extend && start > end) {\n var temp = end;\n end = start;\n start = temp;\n }\n\n var startMarker = getNodeForCharacterOffset(node, start);\n var endMarker = getNodeForCharacterOffset(node, end);\n\n if (startMarker && endMarker) {\n var range = document.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n\n if (start > end) {\n selection.addRange(range);\n selection.extend(endMarker.node, endMarker.offset);\n } else {\n range.setEnd(endMarker.node, endMarker.offset);\n selection.addRange(range);\n }\n }\n}\n\nvar useIEOffsets = ExecutionEnvironment.canUseDOM && 'selection' in document && !('getSelection' in window);\nvar ReactDOMSelection = {\n /**\n * @param {DOMElement} node\n */\n getOffsets: useIEOffsets ? getIEOffsets : getModernOffsets,\n\n /**\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n setOffsets: useIEOffsets ? setIEOffsets : setModernOffsets\n};\nmodule.exports = ReactDOMSelection;","/**\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/**\n * Given any node return the first leaf node without children.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {DOMElement|DOMTextNode}\n */\n\nfunction getLeafNode(node) {\n while (node && node.firstChild) {\n node = node.firstChild;\n }\n\n return node;\n}\n/**\n * Get the next sibling within a container. This will walk up the\n * DOM if a node's siblings have been exhausted.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {?DOMElement|DOMTextNode}\n */\n\n\nfunction getSiblingNode(node) {\n while (node) {\n if (node.nextSibling) {\n return node.nextSibling;\n }\n\n node = node.parentNode;\n }\n}\n/**\n * Get object describing the nodes which contain characters at offset.\n *\n * @param {DOMElement|DOMTextNode} root\n * @param {number} offset\n * @return {?object}\n */\n\n\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n var nodeStart = 0;\n var nodeEnd = 0;\n\n while (node) {\n if (node.nodeType === 3) {\n nodeEnd = nodeStart + node.textContent.length;\n\n if (nodeStart <= offset && nodeEnd >= offset) {\n return {\n node: node,\n offset: offset - nodeStart\n };\n }\n\n nodeStart = nodeEnd;\n }\n\n node = getLeafNode(getSiblingNode(node));\n }\n}\n\nmodule.exports = getNodeForCharacterOffset;","'use strict';\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 */\n\nvar isTextNode = require('./isTextNode');\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\n\n\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;","'use strict';\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 * @typechecks\n */\n\nvar isNode = require('./isNode');\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\n\n\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;","'use strict';\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 * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\n\nfunction _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 isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : _typeof(object) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;","/**\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 NS = {\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace'\n}; // We use attributes for everything SVG so let's avoid some duplication and run\n// code instead.\n// The following are all specified in the HTML config already so we exclude here.\n// - class (as className)\n// - color\n// - height\n// - id\n// - lang\n// - max\n// - media\n// - method\n// - min\n// - name\n// - style\n// - target\n// - type\n// - width\n\nvar ATTRS = {\n accentHeight: 'accent-height',\n accumulate: 0,\n additive: 0,\n alignmentBaseline: 'alignment-baseline',\n allowReorder: 'allowReorder',\n alphabetic: 0,\n amplitude: 0,\n arabicForm: 'arabic-form',\n ascent: 0,\n attributeName: 'attributeName',\n attributeType: 'attributeType',\n autoReverse: 'autoReverse',\n azimuth: 0,\n baseFrequency: 'baseFrequency',\n baseProfile: 'baseProfile',\n baselineShift: 'baseline-shift',\n bbox: 0,\n begin: 0,\n bias: 0,\n by: 0,\n calcMode: 'calcMode',\n capHeight: 'cap-height',\n clip: 0,\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n clipPathUnits: 'clipPathUnits',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n contentScriptType: 'contentScriptType',\n contentStyleType: 'contentStyleType',\n cursor: 0,\n cx: 0,\n cy: 0,\n d: 0,\n decelerate: 0,\n descent: 0,\n diffuseConstant: 'diffuseConstant',\n direction: 0,\n display: 0,\n divisor: 0,\n dominantBaseline: 'dominant-baseline',\n dur: 0,\n dx: 0,\n dy: 0,\n edgeMode: 'edgeMode',\n elevation: 0,\n enableBackground: 'enable-background',\n end: 0,\n exponent: 0,\n externalResourcesRequired: 'externalResourcesRequired',\n fill: 0,\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n filter: 0,\n filterRes: 'filterRes',\n filterUnits: 'filterUnits',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n focusable: 0,\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n format: 0,\n from: 0,\n fx: 0,\n fy: 0,\n g1: 0,\n g2: 0,\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n glyphRef: 'glyphRef',\n gradientTransform: 'gradientTransform',\n gradientUnits: 'gradientUnits',\n hanging: 0,\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n ideographic: 0,\n imageRendering: 'image-rendering',\n 'in': 0,\n in2: 0,\n intercept: 0,\n k: 0,\n k1: 0,\n k2: 0,\n k3: 0,\n k4: 0,\n kernelMatrix: 'kernelMatrix',\n kernelUnitLength: 'kernelUnitLength',\n kerning: 0,\n keyPoints: 'keyPoints',\n keySplines: 'keySplines',\n keyTimes: 'keyTimes',\n lengthAdjust: 'lengthAdjust',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n limitingConeAngle: 'limitingConeAngle',\n local: 0,\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n markerHeight: 'markerHeight',\n markerUnits: 'markerUnits',\n markerWidth: 'markerWidth',\n mask: 0,\n maskContentUnits: 'maskContentUnits',\n maskUnits: 'maskUnits',\n mathematical: 0,\n mode: 0,\n numOctaves: 'numOctaves',\n offset: 0,\n opacity: 0,\n operator: 0,\n order: 0,\n orient: 0,\n orientation: 0,\n origin: 0,\n overflow: 0,\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pathLength: 'pathLength',\n patternContentUnits: 'patternContentUnits',\n patternTransform: 'patternTransform',\n patternUnits: 'patternUnits',\n pointerEvents: 'pointer-events',\n points: 0,\n pointsAtX: 'pointsAtX',\n pointsAtY: 'pointsAtY',\n pointsAtZ: 'pointsAtZ',\n preserveAlpha: 'preserveAlpha',\n preserveAspectRatio: 'preserveAspectRatio',\n primitiveUnits: 'primitiveUnits',\n r: 0,\n radius: 0,\n refX: 'refX',\n refY: 'refY',\n renderingIntent: 'rendering-intent',\n repeatCount: 'repeatCount',\n repeatDur: 'repeatDur',\n requiredExtensions: 'requiredExtensions',\n requiredFeatures: 'requiredFeatures',\n restart: 0,\n result: 0,\n rotate: 0,\n rx: 0,\n ry: 0,\n scale: 0,\n seed: 0,\n shapeRendering: 'shape-rendering',\n slope: 0,\n spacing: 0,\n specularConstant: 'specularConstant',\n specularExponent: 'specularExponent',\n speed: 0,\n spreadMethod: 'spreadMethod',\n startOffset: 'startOffset',\n stdDeviation: 'stdDeviation',\n stemh: 0,\n stemv: 0,\n stitchTiles: 'stitchTiles',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n string: 0,\n stroke: 0,\n strokeDasharray: 'stroke-dasharray',\n strokeDashoffset: 'stroke-dashoffset',\n strokeLinecap: 'stroke-linecap',\n strokeLinejoin: 'stroke-linejoin',\n strokeMiterlimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n surfaceScale: 'surfaceScale',\n systemLanguage: 'systemLanguage',\n tableValues: 'tableValues',\n targetX: 'targetX',\n targetY: 'targetY',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n textLength: 'textLength',\n to: 0,\n transform: 0,\n u1: 0,\n u2: 0,\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicode: 0,\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n values: 0,\n vectorEffect: 'vector-effect',\n version: 0,\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n viewBox: 'viewBox',\n viewTarget: 'viewTarget',\n visibility: 0,\n widths: 0,\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n x: 0,\n xHeight: 'x-height',\n x1: 0,\n x2: 0,\n xChannelSelector: 'xChannelSelector',\n xlinkActuate: 'xlink:actuate',\n xlinkArcrole: 'xlink:arcrole',\n xlinkHref: 'xlink:href',\n xlinkRole: 'xlink:role',\n xlinkShow: 'xlink:show',\n xlinkTitle: 'xlink:title',\n xlinkType: 'xlink:type',\n xmlBase: 'xml:base',\n xmlns: 0,\n xmlnsXlink: 'xmlns:xlink',\n xmlLang: 'xml:lang',\n xmlSpace: 'xml:space',\n y: 0,\n y1: 0,\n y2: 0,\n yChannelSelector: 'yChannelSelector',\n z: 0,\n zoomAndPan: 'zoomAndPan'\n};\nvar SVGDOMPropertyConfig = {\n Properties: {},\n DOMAttributeNamespaces: {\n xlinkActuate: NS.xlink,\n xlinkArcrole: NS.xlink,\n xlinkHref: NS.xlink,\n xlinkRole: NS.xlink,\n xlinkShow: NS.xlink,\n xlinkTitle: NS.xlink,\n xlinkType: NS.xlink,\n xmlBase: NS.xml,\n xmlLang: NS.xml,\n xmlSpace: NS.xml\n },\n DOMAttributeNames: {}\n};\nObject.keys(ATTRS).forEach(function (key) {\n SVGDOMPropertyConfig.Properties[key] = 0;\n\n if (ATTRS[key]) {\n SVGDOMPropertyConfig.DOMAttributeNames[key] = ATTRS[key];\n }\n});\nmodule.exports = SVGDOMPropertyConfig;","/**\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 EventPropagators = require('./EventPropagators');\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactInputSelection = require('./ReactInputSelection');\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar getActiveElement = require('fbjs/lib/getActiveElement');\n\nvar isTextInputElement = require('./isTextInputElement');\n\nvar shallowEqual = require('fbjs/lib/shallowEqual');\n\nvar skipSelectionChangeEvent = ExecutionEnvironment.canUseDOM && 'documentMode' in document && document.documentMode <= 11;\nvar eventTypes = {\n select: {\n phasedRegistrationNames: {\n bubbled: 'onSelect',\n captured: 'onSelectCapture'\n },\n dependencies: ['topBlur', 'topContextMenu', 'topFocus', 'topKeyDown', 'topKeyUp', 'topMouseDown', 'topMouseUp', 'topSelectionChange']\n }\n};\nvar activeElement = null;\nvar activeElementInst = null;\nvar lastSelection = null;\nvar mouseDown = false; // Track whether a listener exists for this plugin. If none exist, we do\n// not extract events. See #3639.\n\nvar hasListener = false;\n/**\n * Get an object which is a unique representation of the current selection.\n *\n * The return value will not be consistent across nodes or browsers, but\n * two identical selections on the same node will return identical objects.\n *\n * @param {DOMElement} node\n * @return {object}\n */\n\nfunction getSelection(node) {\n if ('selectionStart' in node && ReactInputSelection.hasSelectionCapabilities(node)) {\n return {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n } else if (window.getSelection) {\n var selection = window.getSelection();\n return {\n anchorNode: selection.anchorNode,\n anchorOffset: selection.anchorOffset,\n focusNode: selection.focusNode,\n focusOffset: selection.focusOffset\n };\n } else if (document.selection) {\n var range = document.selection.createRange();\n return {\n parentElement: range.parentElement(),\n text: range.text,\n top: range.boundingTop,\n left: range.boundingLeft\n };\n }\n}\n/**\n * Poll selection to see whether it's changed.\n *\n * @param {object} nativeEvent\n * @return {?SyntheticEvent}\n */\n\n\nfunction constructSelectEvent(nativeEvent, nativeEventTarget) {\n // Ensure we have the right element, and that the user is not dragging a\n // selection (this matches native `select` event behavior). In HTML5, select\n // fires only on input and textarea thus if there's no focused element we\n // won't dispatch.\n if (mouseDown || activeElement == null || activeElement !== getActiveElement()) {\n return null;\n } // Only fire when selection has actually changed.\n\n\n var currentSelection = getSelection(activeElement);\n\n if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\n lastSelection = currentSelection;\n var syntheticEvent = SyntheticEvent.getPooled(eventTypes.select, activeElementInst, nativeEvent, nativeEventTarget);\n syntheticEvent.type = 'select';\n syntheticEvent.target = activeElement;\n EventPropagators.accumulateTwoPhaseDispatches(syntheticEvent);\n return syntheticEvent;\n }\n\n return null;\n}\n/**\n * This plugin creates an `onSelect` event that normalizes select events\n * across form elements.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - contentEditable\n *\n * This differs from native browser implementations in the following ways:\n * - Fires on contentEditable fields as well as inputs.\n * - Fires for collapsed selection.\n * - Fires after user input.\n */\n\n\nvar SelectEventPlugin = {\n eventTypes: eventTypes,\n extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n if (!hasListener) {\n return null;\n }\n\n var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;\n\n switch (topLevelType) {\n // Track the input node that has focus.\n case 'topFocus':\n if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {\n activeElement = targetNode;\n activeElementInst = targetInst;\n lastSelection = null;\n }\n\n break;\n\n case 'topBlur':\n activeElement = null;\n activeElementInst = null;\n lastSelection = null;\n break;\n // Don't fire the event while the user is dragging. This matches the\n // semantics of the native select event.\n\n case 'topMouseDown':\n mouseDown = true;\n break;\n\n case 'topContextMenu':\n case 'topMouseUp':\n mouseDown = false;\n return constructSelectEvent(nativeEvent, nativeEventTarget);\n // Chrome and IE fire non-standard event when selection is changed (and\n // sometimes when it hasn't). IE's event fires out of order with respect\n // to key and input events on deletion, so we discard it.\n //\n // Firefox doesn't support selectionchange, so check selection status\n // after each key entry. The selection changes after keydown and before\n // keyup, but we check on keydown as well in the case of holding down a\n // key, when multiple keydown events are fired but only one keyup is.\n // This is also our approach for IE handling, for the reason above.\n\n case 'topSelectionChange':\n if (skipSelectionChangeEvent) {\n break;\n }\n\n // falls through\n\n case 'topKeyDown':\n case 'topKeyUp':\n return constructSelectEvent(nativeEvent, nativeEventTarget);\n }\n\n return null;\n },\n didPutListener: function didPutListener(inst, registrationName, listener) {\n if (registrationName === 'onSelect') {\n hasListener = true;\n }\n }\n};\nmodule.exports = SelectEventPlugin;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar EventListener = require('fbjs/lib/EventListener');\n\nvar EventPropagators = require('./EventPropagators');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar SyntheticAnimationEvent = require('./SyntheticAnimationEvent');\n\nvar SyntheticClipboardEvent = require('./SyntheticClipboardEvent');\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar SyntheticFocusEvent = require('./SyntheticFocusEvent');\n\nvar SyntheticKeyboardEvent = require('./SyntheticKeyboardEvent');\n\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\nvar SyntheticDragEvent = require('./SyntheticDragEvent');\n\nvar SyntheticTouchEvent = require('./SyntheticTouchEvent');\n\nvar SyntheticTransitionEvent = require('./SyntheticTransitionEvent');\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\n\nvar SyntheticWheelEvent = require('./SyntheticWheelEvent');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\nvar getEventCharCode = require('./getEventCharCode');\n\nvar invariant = require('fbjs/lib/invariant');\n/**\n * Turns\n * ['abort', ...]\n * into\n * eventTypes = {\n * 'abort': {\n * phasedRegistrationNames: {\n * bubbled: 'onAbort',\n * captured: 'onAbortCapture',\n * },\n * dependencies: ['topAbort'],\n * },\n * ...\n * };\n * topLevelEventsToDispatchConfig = {\n * 'topAbort': { sameConfig }\n * };\n */\n\n\nvar eventTypes = {};\nvar topLevelEventsToDispatchConfig = {};\n['abort', 'animationEnd', 'animationIteration', 'animationStart', 'blur', 'canPlay', 'canPlayThrough', 'click', 'contextMenu', 'copy', 'cut', 'doubleClick', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'focus', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'progress', 'rateChange', 'reset', 'scroll', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchMove', 'touchStart', 'transitionEnd', 'volumeChange', 'waiting', 'wheel'].forEach(function (event) {\n var capitalizedEvent = event[0].toUpperCase() + event.slice(1);\n var onEvent = 'on' + capitalizedEvent;\n var topEvent = 'top' + capitalizedEvent;\n var type = {\n phasedRegistrationNames: {\n bubbled: onEvent,\n captured: onEvent + 'Capture'\n },\n dependencies: [topEvent]\n };\n eventTypes[event] = type;\n topLevelEventsToDispatchConfig[topEvent] = type;\n});\nvar onClickListeners = {};\n\nfunction getDictionaryKey(inst) {\n // Prevents V8 performance issue:\n // https://github.com/facebook/react/pull/7232\n return '.' + inst._rootNodeID;\n}\n\nfunction isInteractive(tag) {\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nvar SimpleEventPlugin = {\n eventTypes: eventTypes,\n extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var dispatchConfig = topLevelEventsToDispatchConfig[topLevelType];\n\n if (!dispatchConfig) {\n return null;\n }\n\n var EventConstructor;\n\n switch (topLevelType) {\n case 'topAbort':\n case 'topCanPlay':\n case 'topCanPlayThrough':\n case 'topDurationChange':\n case 'topEmptied':\n case 'topEncrypted':\n case 'topEnded':\n case 'topError':\n case 'topInput':\n case 'topInvalid':\n case 'topLoad':\n case 'topLoadedData':\n case 'topLoadedMetadata':\n case 'topLoadStart':\n case 'topPause':\n case 'topPlay':\n case 'topPlaying':\n case 'topProgress':\n case 'topRateChange':\n case 'topReset':\n case 'topSeeked':\n case 'topSeeking':\n case 'topStalled':\n case 'topSubmit':\n case 'topSuspend':\n case 'topTimeUpdate':\n case 'topVolumeChange':\n case 'topWaiting':\n // HTML Events\n // @see http://www.w3.org/TR/html5/index.html#events-0\n EventConstructor = SyntheticEvent;\n break;\n\n case 'topKeyPress':\n // Firefox creates a keypress event for function keys too. This removes\n // the unwanted keypress events. Enter is however both printable and\n // non-printable. One would expect Tab to be as well (but it isn't).\n if (getEventCharCode(nativeEvent) === 0) {\n return null;\n }\n\n /* falls through */\n\n case 'topKeyDown':\n case 'topKeyUp':\n EventConstructor = SyntheticKeyboardEvent;\n break;\n\n case 'topBlur':\n case 'topFocus':\n EventConstructor = SyntheticFocusEvent;\n break;\n\n case 'topClick':\n // Firefox creates a click event on right mouse clicks. This removes the\n // unwanted click events.\n if (nativeEvent.button === 2) {\n return null;\n }\n\n /* falls through */\n\n case 'topDoubleClick':\n case 'topMouseDown':\n case 'topMouseMove':\n case 'topMouseUp': // TODO: Disabled elements should not respond to mouse events\n\n /* falls through */\n\n case 'topMouseOut':\n case 'topMouseOver':\n case 'topContextMenu':\n EventConstructor = SyntheticMouseEvent;\n break;\n\n case 'topDrag':\n case 'topDragEnd':\n case 'topDragEnter':\n case 'topDragExit':\n case 'topDragLeave':\n case 'topDragOver':\n case 'topDragStart':\n case 'topDrop':\n EventConstructor = SyntheticDragEvent;\n break;\n\n case 'topTouchCancel':\n case 'topTouchEnd':\n case 'topTouchMove':\n case 'topTouchStart':\n EventConstructor = SyntheticTouchEvent;\n break;\n\n case 'topAnimationEnd':\n case 'topAnimationIteration':\n case 'topAnimationStart':\n EventConstructor = SyntheticAnimationEvent;\n break;\n\n case 'topTransitionEnd':\n EventConstructor = SyntheticTransitionEvent;\n break;\n\n case 'topScroll':\n EventConstructor = SyntheticUIEvent;\n break;\n\n case 'topWheel':\n EventConstructor = SyntheticWheelEvent;\n break;\n\n case 'topCopy':\n case 'topCut':\n case 'topPaste':\n EventConstructor = SyntheticClipboardEvent;\n break;\n }\n\n !EventConstructor ? process.env.NODE_ENV !== 'production' ? invariant(false, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : _prodInvariant('86', topLevelType) : void 0;\n var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget);\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n },\n didPutListener: function didPutListener(inst, registrationName, listener) {\n // Mobile Safari does not fire properly bubble click events on\n // non-interactive elements, which means delegated click listeners do not\n // fire. The workaround for this bug involves attaching an empty click\n // listener on the target node.\n // http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n if (registrationName === 'onClick' && !isInteractive(inst._tag)) {\n var key = getDictionaryKey(inst);\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n\n if (!onClickListeners[key]) {\n onClickListeners[key] = EventListener.listen(node, 'click', emptyFunction);\n }\n }\n },\n willDeleteListener: function willDeleteListener(inst, registrationName) {\n if (registrationName === 'onClick' && !isInteractive(inst._tag)) {\n var key = getDictionaryKey(inst);\n onClickListeners[key].remove();\n delete onClickListeners[key];\n }\n }\n};\nmodule.exports = SimpleEventPlugin;","/**\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 SyntheticEvent = require('./SyntheticEvent');\n/**\n * @interface Event\n * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent\n */\n\n\nvar AnimationEventInterface = {\n animationName: null,\n elapsedTime: null,\n pseudoElement: null\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\n\nfunction SyntheticAnimationEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticAnimationEvent, AnimationEventInterface);\nmodule.exports = SyntheticAnimationEvent;","/**\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 SyntheticEvent = require('./SyntheticEvent');\n/**\n * @interface Event\n * @see http://www.w3.org/TR/clipboard-apis/\n */\n\n\nvar ClipboardEventInterface = {\n clipboardData: function clipboardData(event) {\n return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\n }\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\n\nfunction SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface);\nmodule.exports = SyntheticClipboardEvent;","/**\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 SyntheticUIEvent = require('./SyntheticUIEvent');\n/**\n * @interface FocusEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar FocusEventInterface = {\n relatedTarget: null\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\n\nfunction SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface);\nmodule.exports = SyntheticFocusEvent;","/**\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 SyntheticUIEvent = require('./SyntheticUIEvent');\n\nvar getEventCharCode = require('./getEventCharCode');\n\nvar getEventKey = require('./getEventKey');\n\nvar getEventModifierState = require('./getEventModifierState');\n/**\n * @interface KeyboardEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar KeyboardEventInterface = {\n key: getEventKey,\n location: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n repeat: null,\n locale: null,\n getModifierState: getEventModifierState,\n // Legacy Interface\n charCode: function charCode(event) {\n // `charCode` is the result of a KeyPress event and represents the value of\n // the actual printable character.\n // KeyPress is deprecated, but its replacement is not yet final and not\n // implemented in any major browser. Only KeyPress has charCode.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n return 0;\n },\n keyCode: function keyCode(event) {\n // `keyCode` is the result of a KeyDown/Up event and represents the value of\n // physical keyboard key.\n // The actual meaning of the value depends on the users' keyboard layout\n // which cannot be detected. Assuming that it is a US keyboard layout\n // provides a surprisingly accurate mapping for US and European users.\n // Due to this, it is left to the user to implement at this time.\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n },\n which: function which(event) {\n // `which` is an alias for either `keyCode` or `charCode` depending on the\n // type of the event.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n\n return 0;\n }\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\n\nfunction SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface);\nmodule.exports = SyntheticKeyboardEvent;","/**\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 getEventCharCode = require('./getEventCharCode');\n/**\n * Normalization of deprecated HTML5 `key` values\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\n\nvar normalizeKey = {\n Esc: 'Escape',\n Spacebar: ' ',\n Left: 'ArrowLeft',\n Up: 'ArrowUp',\n Right: 'ArrowRight',\n Down: 'ArrowDown',\n Del: 'Delete',\n Win: 'OS',\n Menu: 'ContextMenu',\n Apps: 'ContextMenu',\n Scroll: 'ScrollLock',\n MozPrintableKey: 'Unidentified'\n};\n/**\n * Translation from legacy `keyCode` to HTML5 `key`\n * Only special keys supported, all others depend on keyboard layout or browser\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\n\nvar translateToKey = {\n 8: 'Backspace',\n 9: 'Tab',\n 12: 'Clear',\n 13: 'Enter',\n 16: 'Shift',\n 17: 'Control',\n 18: 'Alt',\n 19: 'Pause',\n 20: 'CapsLock',\n 27: 'Escape',\n 32: ' ',\n 33: 'PageUp',\n 34: 'PageDown',\n 35: 'End',\n 36: 'Home',\n 37: 'ArrowLeft',\n 38: 'ArrowUp',\n 39: 'ArrowRight',\n 40: 'ArrowDown',\n 45: 'Insert',\n 46: 'Delete',\n 112: 'F1',\n 113: 'F2',\n 114: 'F3',\n 115: 'F4',\n 116: 'F5',\n 117: 'F6',\n 118: 'F7',\n 119: 'F8',\n 120: 'F9',\n 121: 'F10',\n 122: 'F11',\n 123: 'F12',\n 144: 'NumLock',\n 145: 'ScrollLock',\n 224: 'Meta'\n};\n/**\n * @param {object} nativeEvent Native browser event.\n * @return {string} Normalized `key` property.\n */\n\nfunction getEventKey(nativeEvent) {\n if (nativeEvent.key) {\n // Normalize inconsistent values reported by browsers due to\n // implementations of a working draft specification.\n // FireFox implements `key` but returns `MozPrintableKey` for all\n // printable characters (normalized to `Unidentified`), ignore it.\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n\n if (key !== 'Unidentified') {\n return key;\n }\n } // Browser does not implement `key`, polyfill as much of it as we can.\n\n\n if (nativeEvent.type === 'keypress') {\n var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can\n // thus be captured by `keypress`, no other non-printable key should.\n\n return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\n }\n\n if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\n // While user keyboard layout determines the actual meaning of each\n // `keyCode` value, almost all function keys have a universal value.\n return translateToKey[nativeEvent.keyCode] || 'Unidentified';\n }\n\n return '';\n}\n\nmodule.exports = getEventKey;","/**\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 SyntheticMouseEvent = require('./SyntheticMouseEvent');\n/**\n * @interface DragEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar DragEventInterface = {\n dataTransfer: null\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\n\nfunction SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface);\nmodule.exports = SyntheticDragEvent;","/**\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 SyntheticUIEvent = require('./SyntheticUIEvent');\n\nvar getEventModifierState = require('./getEventModifierState');\n/**\n * @interface TouchEvent\n * @see http://www.w3.org/TR/touch-events/\n */\n\n\nvar TouchEventInterface = {\n touches: null,\n targetTouches: null,\n changedTouches: null,\n altKey: null,\n metaKey: null,\n ctrlKey: null,\n shiftKey: null,\n getModifierState: getEventModifierState\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\n\nfunction SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface);\nmodule.exports = SyntheticTouchEvent;","/**\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 SyntheticEvent = require('./SyntheticEvent');\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent\n */\n\n\nvar TransitionEventInterface = {\n propertyName: null,\n elapsedTime: null,\n pseudoElement: null\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\n\nfunction SyntheticTransitionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticTransitionEvent, TransitionEventInterface);\nmodule.exports = SyntheticTransitionEvent;","/**\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 SyntheticMouseEvent = require('./SyntheticMouseEvent');\n/**\n * @interface WheelEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\n\n\nvar WheelEventInterface = {\n deltaX: function deltaX(event) {\n return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\n 'wheelDeltaX' in event ? -event.wheelDeltaX : 0;\n },\n deltaY: function deltaY(event) {\n return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\n 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\n 'wheelDelta' in event ? -event.wheelDelta : 0;\n },\n deltaZ: null,\n // Browsers without \"deltaMode\" is reporting in raw wheel delta where one\n // notch on the scroll is always +/- 120, roughly equivalent to pixels.\n // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\n // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\n deltaMode: null\n};\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticMouseEvent}\n */\n\nfunction SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface);\nmodule.exports = SyntheticWheelEvent;","/**\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 validateDOMNesting = require('./validateDOMNesting');\n\nvar DOC_NODE_TYPE = 9;\n\nfunction ReactDOMContainerInfo(topLevelWrapper, node) {\n var info = {\n _topLevelWrapper: topLevelWrapper,\n _idCounter: 1,\n _ownerDocument: node ? node.nodeType === DOC_NODE_TYPE ? node : node.ownerDocument : null,\n _node: node,\n _tag: node ? node.nodeName.toLowerCase() : null,\n _namespaceURI: node ? node.namespaceURI : null\n };\n\n if (process.env.NODE_ENV !== 'production') {\n info._ancestorInfo = node ? validateDOMNesting.updatedAncestorInfo(null, info._tag, null) : null;\n }\n\n return info;\n}\n\nmodule.exports = ReactDOMContainerInfo;","/**\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 ReactDOMFeatureFlags = {\n useCreateElement: true,\n useFiber: false\n};\nmodule.exports = ReactDOMFeatureFlags;","/**\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 adler32 = require('./adler32');\n\nvar TAG_END = /\\/?>/;\nvar COMMENT_START = /^<\\!\\-\\-/;\nvar ReactMarkupChecksum = {\n CHECKSUM_ATTR_NAME: 'data-react-checksum',\n\n /**\n * @param {string} markup Markup string\n * @return {string} Markup string with checksum attribute attached\n */\n addChecksumToMarkup: function addChecksumToMarkup(markup) {\n var checksum = adler32(markup); // Add checksum (handle both parent tags, comments and self-closing tags)\n\n if (COMMENT_START.test(markup)) {\n return markup;\n } else {\n return markup.replace(TAG_END, ' ' + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '=\"' + checksum + '\"$&');\n }\n },\n\n /**\n * @param {string} markup to use\n * @param {DOMElement} element root React element\n * @returns {boolean} whether or not the markup is the same\n */\n canReuseMarkup: function canReuseMarkup(markup, element) {\n var existingChecksum = element.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n existingChecksum = existingChecksum && parseInt(existingChecksum, 10);\n var markupChecksum = adler32(markup);\n return markupChecksum === existingChecksum;\n }\n};\nmodule.exports = ReactMarkupChecksum;","/**\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 MOD = 65521; // adler32 is not cryptographically strong, and is only used to sanity check that\n// markup generated on the server matches the markup generated on the client.\n// This implementation (a modified version of the SheetJS version) has been optimized\n// for our use case, at the expense of conforming to the adler32 specification\n// for non-ascii inputs.\n\nfunction adler32(data) {\n var a = 1;\n var b = 0;\n var i = 0;\n var l = data.length;\n var m = l & ~0x3;\n\n while (i < m) {\n var n = Math.min(i + 4096, m);\n\n for (; i < n; i += 4) {\n b += (a += data.charCodeAt(i)) + (a += data.charCodeAt(i + 1)) + (a += data.charCodeAt(i + 2)) + (a += data.charCodeAt(i + 3));\n }\n\n a %= MOD;\n b %= MOD;\n }\n\n for (; i < l; i++) {\n b += a += data.charCodeAt(i);\n }\n\n a %= MOD;\n b %= MOD;\n return a | b << 16;\n}\n\nmodule.exports = adler32;","/**\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\nmodule.exports = '15.6.2';","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactInstanceMap = require('./ReactInstanceMap');\n\nvar getHostComponentFromComposite = require('./getHostComponentFromComposite');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar warning = require('fbjs/lib/warning');\n/**\n * Returns the DOM node rendered by this element.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.finddomnode\n *\n * @param {ReactComponent|DOMElement} componentOrElement\n * @return {?DOMElement} The root node of this element.\n */\n\n\nfunction findDOMNode(componentOrElement) {\n if (process.env.NODE_ENV !== 'production') {\n var owner = ReactCurrentOwner.current;\n\n if (owner !== null) {\n process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0;\n owner._warnedAboutRefsInRender = true;\n }\n }\n\n if (componentOrElement == null) {\n return null;\n }\n\n if (componentOrElement.nodeType === 1) {\n return componentOrElement;\n }\n\n var inst = ReactInstanceMap.get(componentOrElement);\n\n if (inst) {\n inst = getHostComponentFromComposite(inst);\n return inst ? ReactDOMComponentTree.getNodeFromInstance(inst) : null;\n }\n\n if (typeof componentOrElement.render === 'function') {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'findDOMNode was called on an unmounted component.') : _prodInvariant('44') : void 0;\n } else {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : _prodInvariant('45', Object.keys(componentOrElement)) : void 0;\n }\n}\n\nmodule.exports = findDOMNode;","/**\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 ReactMount = require('./ReactMount');\n\nmodule.exports = ReactMount.renderSubtreeIntoContainer;","'use strict';\n\nfunction _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\nexports.__esModule = true;\nexports[\"default\"] = undefined;\n\nvar _react = require('react');\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _storeShape = require('../utils/storeShape');\n\nvar _storeShape2 = _interopRequireDefault(_storeShape);\n\nvar _warning = require('../utils/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar didWarnAboutReceivingStore = false;\n\nfunction warnAboutReceivingStore() {\n if (didWarnAboutReceivingStore) {\n return;\n }\n\n didWarnAboutReceivingStore = true;\n (0, _warning2[\"default\"])('<Provider> does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reactjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.');\n}\n\nvar Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n Provider.prototype.getChildContext = function getChildContext() {\n return {\n store: this.store\n };\n };\n\n function Provider(props, context) {\n _classCallCheck(this, Provider);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.store = props.store;\n return _this;\n }\n\n Provider.prototype.render = function render() {\n return _react.Children.only(this.props.children);\n };\n\n return Provider;\n}(_react.Component);\n\nexports[\"default\"] = Provider;\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.prototype.componentWillReceiveProps = function (nextProps) {\n var store = this.store;\n var nextStore = nextProps.store;\n\n if (store !== nextStore) {\n warnAboutReceivingStore();\n }\n };\n}\n\nProvider.propTypes = {\n store: _storeShape2[\"default\"].isRequired,\n children: _propTypes2[\"default\"].element.isRequired\n};\nProvider.childContextTypes = {\n store: _storeShape2[\"default\"].isRequired\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'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\n\nfunction emptyFunctionWithReset() {}\n\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\n var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n ;\n shim.isRequired = shim;\n\n function getShim() {\n return shim;\n }\n\n ; // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\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 checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n ReactPropTypes.PropTypes = ReactPropTypes;\n return ReactPropTypes;\n};","'use strict';\n\nfunction _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\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nexports[\"default\"] = connect;\n\nvar _react = require('react');\n\nvar _storeShape = require('../utils/storeShape');\n\nvar _storeShape2 = _interopRequireDefault(_storeShape);\n\nvar _shallowEqual = require('../utils/shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _wrapActionCreators = require('../utils/wrapActionCreators');\n\nvar _wrapActionCreators2 = _interopRequireDefault(_wrapActionCreators);\n\nvar _warning = require('../utils/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar defaultMapStateToProps = function defaultMapStateToProps(state) {\n return {};\n}; // eslint-disable-line no-unused-vars\n\n\nvar defaultMapDispatchToProps = function defaultMapDispatchToProps(dispatch) {\n return {\n dispatch: dispatch\n };\n};\n\nvar defaultMergeProps = function defaultMergeProps(stateProps, dispatchProps, parentProps) {\n return _extends({}, parentProps, stateProps, dispatchProps);\n};\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nvar errorObject = {\n value: null\n};\n\nfunction tryCatch(fn, ctx) {\n try {\n return fn.apply(ctx);\n } catch (e) {\n errorObject.value = e;\n return errorObject;\n }\n} // Helps track hot reloading.\n\n\nvar nextVersion = 0;\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var shouldSubscribe = Boolean(mapStateToProps);\n var mapState = mapStateToProps || defaultMapStateToProps;\n var mapDispatch = void 0;\n\n if (typeof mapDispatchToProps === 'function') {\n mapDispatch = mapDispatchToProps;\n } else if (!mapDispatchToProps) {\n mapDispatch = defaultMapDispatchToProps;\n } else {\n mapDispatch = (0, _wrapActionCreators2[\"default\"])(mapDispatchToProps);\n }\n\n var finalMergeProps = mergeProps || defaultMergeProps;\n var _options$pure = options.pure,\n pure = _options$pure === undefined ? true : _options$pure,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n var checkMergedEquals = pure && finalMergeProps !== defaultMergeProps; // Helps track hot reloading.\n\n var version = nextVersion++;\n return function wrapWithConnect(WrappedComponent) {\n var connectDisplayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n\n function checkStateShape(props, methodName) {\n if (!(0, _isPlainObject2[\"default\"])(props)) {\n (0, _warning2[\"default\"])(methodName + '() in ' + connectDisplayName + ' must return a plain object. ' + ('Instead received ' + props + '.'));\n }\n }\n\n function computeMergedProps(stateProps, dispatchProps, parentProps) {\n var mergedProps = finalMergeProps(stateProps, dispatchProps, parentProps);\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mergedProps, 'mergeProps');\n }\n\n return mergedProps;\n }\n\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {\n return !pure || this.haveOwnPropsChanged || this.hasStoreStateChanged;\n };\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.store = props.store || context.store;\n (0, _invariant2[\"default\"])(_this.store, 'Could not find \"store\" in either the context or ' + ('props of \"' + connectDisplayName + '\". ') + 'Either wrap the root component in a <Provider>, ' + ('or explicitly pass \"store\" as a prop to \"' + connectDisplayName + '\".'));\n\n var storeState = _this.store.getState();\n\n _this.state = {\n storeState: storeState\n };\n\n _this.clearCache();\n\n return _this;\n }\n\n Connect.prototype.computeStateProps = function computeStateProps(store, props) {\n if (!this.finalMapStateToProps) {\n return this.configureFinalMapState(store, props);\n }\n\n var state = store.getState();\n var stateProps = this.doStatePropsDependOnOwnProps ? this.finalMapStateToProps(state, props) : this.finalMapStateToProps(state);\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(stateProps, 'mapStateToProps');\n }\n\n return stateProps;\n };\n\n Connect.prototype.configureFinalMapState = function configureFinalMapState(store, props) {\n var mappedState = mapState(store.getState(), props);\n var isFactory = typeof mappedState === 'function';\n this.finalMapStateToProps = isFactory ? mappedState : mapState;\n this.doStatePropsDependOnOwnProps = this.finalMapStateToProps.length !== 1;\n\n if (isFactory) {\n return this.computeStateProps(store, props);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mappedState, 'mapStateToProps');\n }\n\n return mappedState;\n };\n\n Connect.prototype.computeDispatchProps = function computeDispatchProps(store, props) {\n if (!this.finalMapDispatchToProps) {\n return this.configureFinalMapDispatch(store, props);\n }\n\n var dispatch = store.dispatch;\n var dispatchProps = this.doDispatchPropsDependOnOwnProps ? this.finalMapDispatchToProps(dispatch, props) : this.finalMapDispatchToProps(dispatch);\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(dispatchProps, 'mapDispatchToProps');\n }\n\n return dispatchProps;\n };\n\n Connect.prototype.configureFinalMapDispatch = function configureFinalMapDispatch(store, props) {\n var mappedDispatch = mapDispatch(store.dispatch, props);\n var isFactory = typeof mappedDispatch === 'function';\n this.finalMapDispatchToProps = isFactory ? mappedDispatch : mapDispatch;\n this.doDispatchPropsDependOnOwnProps = this.finalMapDispatchToProps.length !== 1;\n\n if (isFactory) {\n return this.computeDispatchProps(store, props);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mappedDispatch, 'mapDispatchToProps');\n }\n\n return mappedDispatch;\n };\n\n Connect.prototype.updateStatePropsIfNeeded = function updateStatePropsIfNeeded() {\n var nextStateProps = this.computeStateProps(this.store, this.props);\n\n if (this.stateProps && (0, _shallowEqual2[\"default\"])(nextStateProps, this.stateProps)) {\n return false;\n }\n\n this.stateProps = nextStateProps;\n return true;\n };\n\n Connect.prototype.updateDispatchPropsIfNeeded = function updateDispatchPropsIfNeeded() {\n var nextDispatchProps = this.computeDispatchProps(this.store, this.props);\n\n if (this.dispatchProps && (0, _shallowEqual2[\"default\"])(nextDispatchProps, this.dispatchProps)) {\n return false;\n }\n\n this.dispatchProps = nextDispatchProps;\n return true;\n };\n\n Connect.prototype.updateMergedPropsIfNeeded = function updateMergedPropsIfNeeded() {\n var nextMergedProps = computeMergedProps(this.stateProps, this.dispatchProps, this.props);\n\n if (this.mergedProps && checkMergedEquals && (0, _shallowEqual2[\"default\"])(nextMergedProps, this.mergedProps)) {\n return false;\n }\n\n this.mergedProps = nextMergedProps;\n return true;\n };\n\n Connect.prototype.isSubscribed = function isSubscribed() {\n return typeof this.unsubscribe === 'function';\n };\n\n Connect.prototype.trySubscribe = function trySubscribe() {\n if (shouldSubscribe && !this.unsubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange.bind(this));\n this.handleChange();\n }\n };\n\n Connect.prototype.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n };\n\n Connect.prototype.componentDidMount = function componentDidMount() {\n this.trySubscribe();\n };\n\n Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!pure || !(0, _shallowEqual2[\"default\"])(nextProps, this.props)) {\n this.haveOwnPropsChanged = true;\n }\n };\n\n Connect.prototype.componentWillUnmount = function componentWillUnmount() {\n this.tryUnsubscribe();\n this.clearCache();\n };\n\n Connect.prototype.clearCache = function clearCache() {\n this.dispatchProps = null;\n this.stateProps = null;\n this.mergedProps = null;\n this.haveOwnPropsChanged = true;\n this.hasStoreStateChanged = true;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n this.renderedElement = null;\n this.finalMapDispatchToProps = null;\n this.finalMapStateToProps = null;\n };\n\n Connect.prototype.handleChange = function handleChange() {\n if (!this.unsubscribe) {\n return;\n }\n\n var storeState = this.store.getState();\n var prevStoreState = this.state.storeState;\n\n if (pure && prevStoreState === storeState) {\n return;\n }\n\n if (pure && !this.doStatePropsDependOnOwnProps) {\n var haveStatePropsChanged = tryCatch(this.updateStatePropsIfNeeded, this);\n\n if (!haveStatePropsChanged) {\n return;\n }\n\n if (haveStatePropsChanged === errorObject) {\n this.statePropsPrecalculationError = errorObject.value;\n }\n\n this.haveStatePropsBeenPrecalculated = true;\n }\n\n this.hasStoreStateChanged = true;\n this.setState({\n storeState: storeState\n });\n };\n\n Connect.prototype.getWrappedInstance = function getWrappedInstance() {\n (0, _invariant2[\"default\"])(withRef, 'To access the wrapped instance, you need to specify ' + '{ withRef: true } as the fourth argument of the connect() call.');\n return this.refs.wrappedInstance;\n };\n\n Connect.prototype.render = function render() {\n var haveOwnPropsChanged = this.haveOwnPropsChanged,\n hasStoreStateChanged = this.hasStoreStateChanged,\n haveStatePropsBeenPrecalculated = this.haveStatePropsBeenPrecalculated,\n statePropsPrecalculationError = this.statePropsPrecalculationError,\n renderedElement = this.renderedElement;\n this.haveOwnPropsChanged = false;\n this.hasStoreStateChanged = false;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n\n if (statePropsPrecalculationError) {\n throw statePropsPrecalculationError;\n }\n\n var shouldUpdateStateProps = true;\n var shouldUpdateDispatchProps = true;\n\n if (pure && renderedElement) {\n shouldUpdateStateProps = hasStoreStateChanged || haveOwnPropsChanged && this.doStatePropsDependOnOwnProps;\n shouldUpdateDispatchProps = haveOwnPropsChanged && this.doDispatchPropsDependOnOwnProps;\n }\n\n var haveStatePropsChanged = false;\n var haveDispatchPropsChanged = false;\n\n if (haveStatePropsBeenPrecalculated) {\n haveStatePropsChanged = true;\n } else if (shouldUpdateStateProps) {\n haveStatePropsChanged = this.updateStatePropsIfNeeded();\n }\n\n if (shouldUpdateDispatchProps) {\n haveDispatchPropsChanged = this.updateDispatchPropsIfNeeded();\n }\n\n var haveMergedPropsChanged = true;\n\n if (haveStatePropsChanged || haveDispatchPropsChanged || haveOwnPropsChanged) {\n haveMergedPropsChanged = this.updateMergedPropsIfNeeded();\n } else {\n haveMergedPropsChanged = false;\n }\n\n if (!haveMergedPropsChanged && renderedElement) {\n return renderedElement;\n }\n\n if (withRef) {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, _extends({}, this.mergedProps, {\n ref: 'wrappedInstance'\n }));\n } else {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, this.mergedProps);\n }\n\n return this.renderedElement;\n };\n\n return Connect;\n }(_react.Component);\n\n Connect.displayName = connectDisplayName;\n Connect.WrappedComponent = WrappedComponent;\n Connect.contextTypes = {\n store: _storeShape2[\"default\"]\n };\n Connect.propTypes = {\n store: _storeShape2[\"default\"]\n };\n\n if (process.env.NODE_ENV !== 'production') {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n if (this.version === version) {\n return;\n } // We are hot reloading!\n\n\n this.version = version;\n this.trySubscribe();\n this.clearCache();\n };\n }\n\n return (0, _hoistNonReactStatics2[\"default\"])(Connect, WrappedComponent);\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\n\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n } // Test for A's keys different from B.\n\n\n var hasOwn = Object.prototype.hasOwnProperty;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = wrapActionCreators;\n\nvar _redux = require('redux');\n\nfunction wrapActionCreators(actionCreators) {\n return function (dispatch) {\n return (0, _redux.bindActionCreators)(actionCreators, dispatch);\n };\n}","module.exports = function (originalModule) {\n if (!originalModule.webpackPolyfill) {\n var module = Object.create(originalModule); // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n Object.defineProperty(module, \"exports\", {\n enumerable: true\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar objectTag = '[object Object]';\n/** Used for built-in method references. */\n\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n/** Used to resolve the decompiled source of functions. */\n\nvar funcToString = funcProto.toString;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/** Used to infer the `Object` constructor. */\n\nvar objectCtorString = funcToString.call(Object);\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 */\n\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n\n var proto = getPrototype(value);\n\n if (proto === null) {\n return true;\n }\n\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;","var _Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n/** `Object#toString` result references. */\n\n\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n/** Built-in value references. */\n\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\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 */\n\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nmodule.exports = baseGetTag;","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\nvar freeGlobal = require('./_freeGlobal');\n/** Detect free variable `self`. */\n\n\nvar freeSelf = (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\nmodule.exports = root;","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\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = (typeof global === \"undefined\" ? \"undefined\" : _typeof(global)) == 'object' && global && global.Object === Object && global;\nmodule.exports = freeGlobal;","var _Symbol = require('./_Symbol');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\n/** Built-in value references. */\n\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\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 */\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\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n\n return result;\n}\n\nmodule.exports = getRawTag;","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\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 */\n\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;","var overArg = require('./_overArg');\n/** Built-in value references. */\n\n\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\nmodule.exports = getPrototype;","/**\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;","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\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;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nexports.default = translate;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nfunction getDisplayName(component) {\n return component.displayName || component.name || 'Component';\n}\n\nfunction translate(namespaces) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var _options$withRef = options.withRef;\n var withRef = _options$withRef === undefined ? false : _options$withRef;\n var _options$wait = options.wait;\n var wait = _options$wait === undefined ? false : _options$wait;\n var _options$bindI18n = options.bindI18n;\n var bindI18n = _options$bindI18n === undefined ? 'languageChanged loaded' : _options$bindI18n;\n var _options$bindStore = options.bindStore;\n var bindStore = _options$bindStore === undefined ? 'added removed' : _options$bindStore;\n var _options$translateFun = options.translateFuncName;\n var translateFuncName = _options$translateFun === undefined ? 't' : _options$translateFun;\n return function Wrapper(WrappedComponent) {\n var Translate = function (_Component) {\n _inherits(Translate, _Component);\n\n function Translate(props, context) {\n _classCallCheck(this, Translate);\n\n var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(Translate).call(this, props, context));\n\n _this.i18n = context.i18n || props.i18n;\n namespaces = namespaces || _this.i18n.options.defaultNS;\n _this.state = {\n i18nLoadedAt: null,\n ready: false\n };\n _this.onI18nChanged = _this.onI18nChanged.bind(_this);\n return _this;\n }\n\n _createClass(Translate, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return _defineProperty({}, translateFuncName, this[translateFuncName]);\n }\n }, {\n key: 'componentWillMount',\n value: function componentWillMount() {\n this[translateFuncName] = this.i18n.getFixedT(null, namespaces);\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n var bind = function bind() {\n bindI18n && _this2.i18n.on(bindI18n, _this2.onI18nChanged);\n bindStore && _this2.i18n.store && _this2.i18n.store.on(bindStore, _this2.onI18nChanged);\n };\n\n this.mounted = true;\n this.i18n.loadNamespaces(namespaces, function () {\n if (_this2.mounted) _this2.setState({\n ready: true\n });\n if (wait && _this2.mounted) bind();\n });\n if (!wait) bind();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.mounted = false;\n\n if (this.onI18nChanged) {\n this.i18n.off('languageChanged', this.onI18nChanged);\n this.i18n.off('loaded', this.onI18nChanged);\n this.i18n.store.off('added', this.onI18nChanged);\n this.i18n.store.off('removed', this.onI18nChanged);\n }\n }\n }, {\n key: 'onI18nChanged',\n value: function onI18nChanged() {\n if (!this.mounted) return;\n this.setState({\n i18nLoadedAt: new Date()\n });\n }\n }, {\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n if (!withRef) {\n // eslint-disable-next-line no-console\n console.error('To access the wrapped instance, you need to specify ' + '{ withRef: true } as the second argument of the translate() call.');\n }\n\n return this.refs.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n var _state = this.state;\n var i18nLoadedAt = _state.i18nLoadedAt;\n var ready = _state.ready;\n\n var extraProps = _defineProperty({\n i18nLoadedAt: i18nLoadedAt\n }, translateFuncName, this[translateFuncName]);\n\n if (withRef) {\n extraProps.ref = 'wrappedInstance';\n }\n\n if (!ready && wait) return null;\n return _react2.default.createElement(WrappedComponent, _extends({}, this.props, extraProps));\n }\n }]);\n\n return Translate;\n }(_react.Component);\n\n Translate.WrappedComponent = WrappedComponent;\n Translate.contextTypes = {\n i18n: _react.PropTypes.object\n };\n Translate.childContextTypes = _defineProperty({}, translateFuncName, _react.PropTypes.func.isRequired);\n Translate.displayName = 'Translate(' + getDisplayName(WrappedComponent) + ')';\n Translate.namespaces = namespaces;\n return (0, _hoistNonReactStatics2.default)(Translate, WrappedComponent);\n };\n}","/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n'use strict';\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n arguments: true,\n arity: true\n};\nvar isGetOwnPropertySymbolsAvailable = typeof Object.getOwnPropertySymbols === 'function';\n\nmodule.exports = function hoistNonReactStatics(targetComponent, sourceComponent, customStatics) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n var keys = Object.getOwnPropertyNames(sourceComponent);\n /* istanbul ignore else */\n\n if (isGetOwnPropertySymbolsAvailable) {\n keys = keys.concat(Object.getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n if (!REACT_STATICS[keys[i]] && !KNOWN_STATICS[keys[i]] && (!customStatics || !customStatics[keys[i]])) {\n try {\n targetComponent[keys[i]] = sourceComponent[keys[i]];\n } catch (error) {}\n }\n }\n }\n\n return targetComponent;\n};","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar Interpolate = function (_Component) {\n _inherits(Interpolate, _Component);\n\n function Interpolate(props, context) {\n _classCallCheck(this, Interpolate);\n\n var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(Interpolate).call(this, props, context));\n\n _this.i18n = context.i18n;\n _this.t = context.t;\n return _this;\n }\n\n _createClass(Interpolate, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var parent = this.props.parent || 'span';\n var REGEXP = this.props.regexp || this.i18n.services.interpolator.regexp;\n var _props = this.props;\n var className = _props.className;\n var style = _props.style; // Set to true if you want to use raw HTML in translation values\n // See https://github.com/i18next/react-i18next/issues/189\n\n var useDangerouslySetInnerHTML = this.props.useDangerouslySetInnerHTML || false;\n var dangerouslySetInnerHTMLPartElement = this.props.dangerouslySetInnerHTMLPartElement || 'span';\n\n var tOpts = _extends({}, this.props.options, {\n interpolation: {\n prefix: '#$?',\n suffix: '?$#'\n }\n });\n\n var format = this.t(this.props.i18nKey, tOpts);\n if (!format || typeof format !== 'string') return _react2.default.createElement('noscript', null);\n var children = [];\n format.split(REGEXP).reduce(function (memo, match, index) {\n var child = void 0;\n\n if (index % 2 === 0) {\n if (match.length === 0) return memo;\n\n if (useDangerouslySetInnerHTML) {\n child = _react2.default.createElement(dangerouslySetInnerHTMLPartElement, {\n dangerouslySetInnerHTML: {\n __html: match\n }\n });\n } else {\n child = match;\n }\n } else {\n child = _this2.props[match];\n if (!_this2.props[match]) _this2.i18n.services.logger.warn('interpolator: missed to pass in variable ' + match + ' for interpolating ' + format);\n }\n\n memo.push(child);\n return memo;\n }, children);\n return _react2.default.createElement.apply(this, [parent, {\n className: className,\n style: style\n }].concat(children));\n }\n }]);\n\n return Interpolate;\n}(_react.Component);\n\nInterpolate.propTypes = {\n children: _react.PropTypes.node,\n className: _react.PropTypes.string\n};\nInterpolate.contextTypes = {\n i18n: _react.PropTypes.object.isRequired,\n t: _react.PropTypes.func.isRequired\n};\nexports.default = Interpolate;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar I18nextProvider = function (_Component) {\n _inherits(I18nextProvider, _Component);\n\n function I18nextProvider(props, context) {\n _classCallCheck(this, I18nextProvider);\n\n var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(I18nextProvider).call(this, props, context));\n\n _this.i18n = props.i18n;\n return _this;\n }\n\n _createClass(I18nextProvider, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n i18n: this.i18n\n };\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (this.props.i18n !== nextProps.i18n) {\n throw new Error('[react-i18next][I18nextProvider]does not support changing the i18n object.');\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var children = this.props.children;\n return _react.Children.only(children);\n }\n }]);\n\n return I18nextProvider;\n}(_react.Component);\n\nI18nextProvider.propTypes = {\n i18n: _react.PropTypes.object.isRequired,\n children: _react.PropTypes.element.isRequired\n};\nI18nextProvider.childContextTypes = {\n i18n: _react.PropTypes.object.isRequired\n};\nexports.default = I18nextProvider;","'use strict';\n\nfunction _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : _typeof2(obj);\n};\n\nexports.default = loadNamespaces; // Borrowed from https://github.com/Rezonans/redux-async-connect/blob/master/modules/ReduxAsyncConnect.js#L16\n\nfunction eachComponents(components, iterator) {\n for (var i = 0, l = components.length; i < l; i++) {\n // eslint-disable-line id-length\n if (_typeof(components[i]) === 'object') {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = Object.entries(components[i])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _step$value = _slicedToArray(_step.value, 2);\n\n var key = _step$value[0];\n var value = _step$value[1];\n iterator(value, i, key);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else {\n iterator(components[i], i);\n }\n }\n}\n\nfunction filterAndFlattenComponents(components) {\n var flattened = [];\n eachComponents(components, function (Component) {\n if (Component && Component.namespaces) {\n Component.namespaces.forEach(function (namespace) {\n if (flattened.indexOf(namespace) === -1) {\n flattened.push(namespace);\n }\n });\n }\n });\n return flattened;\n}\n\nfunction loadNamespaces(_ref) {\n var components = _ref.components;\n var i18n = _ref.i18n;\n var allNamespaces = filterAndFlattenComponents(components);\n return new Promise(function (resolve) {\n i18n.loadNamespaces(allNamespaces, resolve);\n });\n}","module.exports = {\"cs\":{\"common\":{\"yes\":\"Ano\",\"no\":\"Ne\",\"signOut\":\"Odhlášení\",\"cancel\":\"Zrušit\",\"quantity\":\"Počet\",\"order\":\"Objednat\",\"refresh\":\"Obnovit\",\"save\":\"Uložit\"},\"display\":{\"title\":\"Objednávek\",\"lack_of_orders\":\"nedostatek zakázek\"},\"header\":{\"newOrder\":\"Nová objednávka\",\"operatorView\":\"(Pohled operátora)\",\"deliverView\":\"(Pohled dodavatele)\",\"qualityView\":\"(Pohled kontroly kvality)\",\"orderHistory\":\"Historie objednávek\",\"orderFinalization\":\"Finalizace objednávky\",\"ordersList\":\"Seznam objednávek\",\"profile\":\"Profil\"},\"locations\":{\"title\":\"Úpravy míst\",\"character\":\"Charakter\",\"symbol\":\"Symbol\",\"description\":\"Popis\",\"characters\":{\"common\":\"Společné\",\"delivery\":\"Pouze pro doručení\",\"reception\":\"Pouze pro vyzvednutí\"}},\"orders\":{\"reorder\":\"Opětovná objednávka\",\"returnToStock\":\"Vrátit se\",\"returned\":\"Vrátit:\",\"returnedAll\":\"Vrátit vše\",\"locationCode\":\"Číslo lokality: \",\"productCode\":\"Číslo produktu: \",\"orderedProducts\":\"Objednané produkty: \",\"remarks\":\"Poznámky k objednávce: \",\"remarksPlaceholder\":\"Zadejte komentáře nebo jiné informace, jako je číslo šarže...\",\"deliveryLocation\":\"Místo dodání: \",\"cancelReason\":\"Zvol důvod zrušení\",\"take\":\"Převzít\",\"createdAt\":\"Vytvořeno: \",\"takenAt\":\"Převzato: \",\"deliveredAt\":\"Doručeno: \",\"deliveryConfirmedAt\":\"Doručení potvrzeno: \",\"deliver\":\"Doručit\",\"inform\":\"Informuj\",\"accept\":\"Akceptovat\",\"confirmDelivery\":\"Potvrdit doručení\",\"cancel\":\"Zrušit\",\"reject\":\"Odmítnout\",\"cancelReasons\":{\"shortage\":\"Nedostatek zásob\",\"damage\":\"Hmotné škody\",\"blockade\":\"Zámkový systém\",\"breakdown\":\"Selhání stroj\",\"demo\":\"Dalším důvodem určena vaší organizaci\"},\"carrierInfo\":{\"heading\":\"Poskytovatel informací\",\"on_the_way\":\"Zboží na cestě z externího úložiště\",\"demo\":\"Další informace na základě vaší organizace\",\"little_resources\":\"Málo zdrojů\"},\"order\":{\"one\":\"pořádek\",\"many\":\"pořádek\",\"other\":\"objednávek\"}},\"profile\":{\"title\":\"Upravit profil\",\"firstName\":\"Jméno\",\"lastName\":\"Příjmení\",\"password\":\"Heslo\",\"passwordConfirmation\":\"Potvrďte heslo\",\"email\":\"Email\"},\"scanner\":{\"title\":\"Scanner eKANBAN\",\"orders\":\"Aktuální Objednávek\",\"placeholder\":\"zeskanuj kartę...\",\"created_at\":\"Vytvořena\",\"taken_at\":\"Převzata\",\"number\":\"Číslo\",\"item\":\"Zboží\",\"quantity\":\"Počet\",\"location\":\"Lokalita\",\"carrier\":\"Dopravce\",\"status\":\"Status\",\"new\":\"Nový\",\"taken\":\"Převzata\"},\"supplies\":{\"raw_material\":\"Součásti\",\"work_in_progress\":\"Polotovary\",\"finished_good\":\"Hotové výrobky\",\"stock_quantity\":\"Dostupnost\",\"all_categories\":\"Všechny kategorie\"}},\"en\":{\"common\":{\"yes\":\"Yes\",\"no\":\"No\",\"signOut\":\"Sign out\",\"signIn\":\"Sign in\",\"cancel\":\"Cancel\",\"quantity\":\"Quantity\",\"order\":\"Order\",\"order-delivery\":\"Order delivery\",\"order-reception\":\"Order reception\",\"refresh\":\"Refresh\",\"back\":\"Back\",\"delete\":\"Delete\",\"save\":\"Save\"},\"display\":{\"title\":\"Orders\",\"lack_of_orders\":\"lack of orders\"},\"header\":{\"newOrder\":\"New order\",\"operatorView\":\"(Operator view)\",\"deliverView\":\"(Carrier view)\",\"qualityView\":\"(Quality control view)\",\"ordersList\":\"Orders list\",\"orderFinalization\":\"Order finalization\",\"profile\":\"Profile\"},\"locations\":{\"title\":\"Edit spots\",\"character\":\"Character\",\"symbol\":\"Symbol\",\"description\":\"Description\",\"characters\":{\"common\":\"Common\",\"delivery\":\"For deliveries only\",\"reception\":\"For receptions only\"}},\"orders\":{\"reorder\":\"Reorder\",\"returnToStock\":\"Return\",\"returned\":\"Returned\",\"returnedAll\":\"Returned all\",\"locationCode\":\"Location number\",\"productCode\":\"Product number\",\"orderedProducts\":\"Ordered products:\",\"remarks\":\"Remarks for order: \",\"remarksPlaceholder\":\"Enter comments or other information, eg: batch number...\",\"deliveryLocation\":\"Delivery location: \",\"cancelReason\":\"Choose the reason of cancellation\",\"infoReason\":\"Choose information message for operator\",\"take\":\"Take\",\"createdAt\":\"Created: \",\"takenAt\":\"Taken: \",\"deliveredAt\":\"Delivered: \",\"deliveryConfirmedAt\":\"Delivery confirmed: \",\"deliver\":\"Deliver\",\"inform\":\"Inform\",\"accept\":\"Accept\",\"confirmDelivery\":\"Confirm delivery\",\"cancel\":\"Cancel\",\"reject\":\"Reject\",\"cancelReasons\":{\"shortage\":\"Shortage\",\"damage\":\"Article demaged\",\"blockade\":\"System blockade\",\"breakdown\":\"Machine breakdown\",\"demo\":\"Other reason defined by your company\"},\"carrierInfo\":{\"heading\":\"Carrier information\",\"on_the_way\":\"Goods on the way from external warehouse\",\"demo\":\"Other info defined by your company\",\"little_resources\":\"Little resources\"},\"order\":{\"one\":\"order\",\"many\":\"orders\",\"other\":\"orders\"}},\"profile\":{\"title\":\"Edit your profile\",\"firstName\":\"First name\",\"lastName\":\"Last name\",\"password\":\"Password\",\"passwordConfirmation\":\"Confirm password\",\"email\":\"Email\"},\"scanner\":{\"title\":\"eKANBAN Scanner\",\"orders\":\"Current orders\",\"placeholder\":\"scan a card...\",\"created_at\":\"Created\",\"taken_at\":\"Picked up\",\"number\":\"Number\",\"item\":\"Item\",\"quantity\":\"Quantity\",\"location\":\"Location\",\"carrier\":\"Carrier\",\"status\":\"Status\",\"new\":\"New\",\"taken\":\"Taken\"},\"supplies\":{\"raw_material\":\"Raw materials\",\"work_in_progress\":\"Work in Progress\",\"finished_good\":\"Finished Goods\",\"special_orders\":\"Special orders\",\"stock_quantity\":\"Stock level\",\"all_categories\":\"All categories\"}},\"pl\":{\"common\":{\"yes\":\"Tak\",\"no\":\"Nie\",\"signIn\":\"Zaloguj się\",\"signOut\":\"Wyloguj się\",\"cancel\":\"Anuluj\",\"quantity\":\"Ilość\",\"order\":\"Zamów\",\"order-delivery\":\"Zamów dostawę\",\"order-reception\":\"Zamów odbiór\",\"refresh\":\"Odśwież\",\"back\":\"Wstecz\",\"delete\":\"Usuń\",\"save\":\"Zapisz\"},\"display\":{\"title\":\"Zamówienia\",\"lack_of_orders\":\"brak zamówień\"},\"header\":{\"newOrder\":\"Nowe zamówienie\",\"operatorView\":\"(Widok operatora)\",\"deliverView\":\"(Widok dostawcy)\",\"qualityView\":\"(widok kontroli jakości)\",\"ordersList\":\"Lista zamówień\",\"orderFinalization\":\"Finalizacja zamówienia\",\"profile\":\"Profil\"},\"locations\":{\"title\":\"Edycja miejsc\",\"character\":\"Charakter\",\"symbol\":\"Symbol\",\"description\":\"Opis\",\"characters\":{\"common\":\"Wspólne\",\"delivery\":\"Tylko dla dostaw\",\"reception\":\"Tylko dla odbiorów\"}},\"orders\":{\"reorder\":\"Zamów ponownie\",\"returnToStock\":\"Zwróć\",\"returned\":\"Zwrócono\",\"returnedAll\":\"Zwrócono całość\",\"locationCode\":\"Numer lokalizacji: \",\"productCode\":\"Numer produktu: \",\"orderedProducts\":\"Zamówione produkty: \",\"remarks\":\"Uwagi do zamówienia: \",\"remarksPlaceholder\":\"Wpisz uwagi lub inne informacje, np. numer partii...\",\"deliveryLocation\":\"Lokalizacja dostawy: \",\"cancelReason\":\"Wybierz przyczynę rezygnacji\",\"infoReason\":\"Wybierz informację dla operatora\",\"take\":\"Podejmij\",\"createdAt\":\"Utworzono: \",\"takenAt\":\"Podjęto: \",\"deliveredAt\":\"Dostarczono: \",\"deliveryConfirmedAt\":\"Potwierdzono dostawę: \",\"deliver\":\"Dostarcz\",\"inform\":\"Poinformuj\",\"accept\":\"Zaakceptuj\",\"confirmDelivery\":\"Potwierdź dostawę\",\"cancel\":\"Anuluj\",\"reject\":\"Odrzuć\",\"cancelReasons\":{\"shortage\":\"Brak na magazynie\",\"damage\":\"Uszkodzenie materiału\",\"blockade\":\"Blokada w systemie\",\"breakdown\":\"Awaria maszyny\",\"demo\":\"Inny powód określony przez Twoją organizację\"},\"carrierInfo\":{\"heading\":\"Informacja od dostawcy\",\"on_the_way\":\"Towar w drodze z magazynu zewnętrznego\",\"demo\":\"Inna informacja określona przez Twoją organizację\",\"little_resources\":\"Jest mało\"},\"order\":{\"one\":\"zamówienie\",\"many\":\"zamówienia\",\"other\":\"zamówień\"}},\"profile\":{\"title\":\"Edycja profilu\",\"firstName\":\"Imię\",\"lastName\":\"Nazwisko\",\"password\":\"Hasło\",\"passwordConfirmation\":\"Powtórz hasło\",\"email\":\"Email\"},\"scanner\":{\"title\":\"Skaner eKANBAN\",\"orders\":\"Bieżące zamówienia\",\"placeholder\":\"zeskanuj kartę...\",\"created_at\":\"Złożono\",\"taken_at\":\"Podjęto\",\"number\":\"Numer\",\"item\":\"Materiał\",\"quantity\":\"Ilość\",\"location\":\"Lokalizacja\",\"carrier\":\"Dostawca\",\"status\":\"Status\",\"new\":\"Nowe\",\"taken\":\"Podjęte\"},\"supplies\":{\"raw_material\":\"Komponenty\",\"work_in_progress\":\"Półprodukty\",\"finished_good\":\"Wyroby got.\",\"special_orders\":\"Zamówienia specjalne\",\"stock_quantity\":\"Stan magazynowy\",\"all_categories\":\"Wszystkie kategorie\"}}}","var requestFrame = function () {\n var window = this;\n\n var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function fallbackRAF(func) {\n return window.setTimeout(func, 20);\n };\n\n return function requestFrameFunction(func) {\n return raf(func);\n };\n}();\n\nvar cancelFrame = function () {\n var window = this;\n var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n return function cancelFrameFunction(id) {\n return cancel(id);\n };\n}();\n\nfunction resizeListener(e) {\n var win = e.target || e.srcElement;\n\n if (win.__resizeRAF__) {\n cancelFrame(win.__resizeRAF__);\n }\n\n win.__resizeRAF__ = requestFrame(function () {\n var trigger = win.__resizeTrigger__;\n\n trigger.__resizeListeners__.forEach(function (fn) {\n fn.call(trigger, e);\n });\n });\n}\n\nvar exports = function exports(element, fn) {\n var window = this;\n var document = window.document;\n var isIE;\n var attachEvent = document.attachEvent;\n\n if (typeof navigator !== 'undefined') {\n isIE = navigator.userAgent.match(/Trident/) || navigator.userAgent.match(/Edge/);\n }\n\n function objectLoad() {\n this.contentDocument.defaultView.__resizeTrigger__ = this.__resizeElement__;\n this.contentDocument.defaultView.addEventListener('resize', resizeListener);\n }\n\n if (!element.__resizeListeners__) {\n element.__resizeListeners__ = [];\n\n if (attachEvent) {\n element.__resizeTrigger__ = element;\n element.attachEvent('onresize', resizeListener);\n } else {\n if (getComputedStyle(element).position === 'static') {\n element.style.position = 'relative';\n }\n\n var obj = element.__resizeTrigger__ = document.createElement('object');\n obj.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1; opacity: 0;');\n obj.setAttribute('class', 'resize-sensor');\n obj.__resizeElement__ = element;\n obj.onload = objectLoad;\n obj.type = 'text/html';\n\n if (isIE) {\n element.appendChild(obj);\n }\n\n obj.data = 'about:blank';\n\n if (!isIE) {\n element.appendChild(obj);\n }\n }\n }\n\n element.__resizeListeners__.push(fn);\n};\n\nmodule.exports = typeof window === 'undefined' ? exports : exports.bind(window);\n\nmodule.exports.unbind = function (element, fn) {\n var attachEvent = document.attachEvent;\n\n if (fn) {\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n } else {\n element.__resizeListeners__ = [];\n }\n\n if (!element.__resizeListeners__.length) {\n if (attachEvent) {\n element.detachEvent('onresize', resizeListener);\n } else {\n element.__resizeTrigger__.contentDocument.defaultView.removeEventListener('resize', resizeListener);\n\n delete element.__resizeTrigger__.contentDocument.defaultView.__resizeTrigger__;\n element.__resizeTrigger__ = !element.removeChild(element.__resizeTrigger__);\n }\n\n delete element.__resizeListeners__;\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\nvar clone = function () {\n 'use strict';\n /**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n */\n\n function clone(parent, circular, depth, prototype) {\n var filter;\n\n if (_typeof(circular) === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n filter = circular.filter;\n circular = circular.circular;\n } // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n\n\n var allParents = [];\n var allChildren = [];\n var useBuffer = typeof Buffer != 'undefined';\n if (typeof circular == 'undefined') circular = true;\n if (typeof depth == 'undefined') depth = Infinity; // recurse this function so we don't reset allParents and allChildren\n\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null) return null;\n if (depth == 0) return parent;\n var child;\n var proto;\n\n if (_typeof(parent) != 'object') {\n return parent;\n }\n\n if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n\n parent.copy(child);\n return child;\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n } else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n\n allParents.push(parent);\n allChildren.push(child);\n }\n\n for (var i in parent) {\n var attrs;\n\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n\n child[i] = _clone(parent[i], depth - 1);\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n }\n /**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\n\n\n clone.clonePrototype = function clonePrototype(parent) {\n if (parent === null) return null;\n\n var c = function c() {};\n\n c.prototype = parent;\n return new c();\n }; // private utility functions\n\n\n function __objToStr(o) {\n return Object.prototype.toString.call(o);\n }\n\n ;\n clone.__objToStr = __objToStr;\n\n function __isDate(o) {\n return _typeof(o) === 'object' && __objToStr(o) === '[object Date]';\n }\n\n ;\n clone.__isDate = __isDate;\n\n function __isArray(o) {\n return _typeof(o) === 'object' && __objToStr(o) === '[object Array]';\n }\n\n ;\n clone.__isArray = __isArray;\n\n function __isRegExp(o) {\n return _typeof(o) === 'object' && __objToStr(o) === '[object RegExp]';\n }\n\n ;\n clone.__isRegExp = __isRegExp;\n\n function __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n }\n\n ;\n clone.__getRegExpFlags = __getRegExpFlags;\n return clone;\n}();\n\nif ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === 'object' && module.exports) {\n module.exports = clone;\n}","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n\n/* eslint-disable no-proto */\n'use strict';\n\nvar base64 = require('base64-js');\n\nvar ieee754 = require('ieee754');\n\nvar isArray = require('isarray');\n\nexports.Buffer = Buffer;\nexports.SlowBuffer = SlowBuffer;\nexports.INSPECT_MAX_BYTES = 50;\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\n\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : typedArraySupport();\n/*\n * Export kMaxLength after typed array support is determined.\n */\n\nexports.kMaxLength = kMaxLength();\n\nfunction typedArraySupport() {\n try {\n var arr = new Uint8Array(1);\n arr.__proto__ = {\n __proto__: Uint8Array.prototype,\n foo: function foo() {\n return 42;\n }\n };\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0; // ie10 has broken `subarray`\n } catch (e) {\n return false;\n }\n}\n\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff;\n}\n\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length');\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length);\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length);\n }\n\n that.length = length;\n }\n\n return that;\n}\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\n\nfunction Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length);\n } // Common case.\n\n\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error('If encoding is specified then the first argument must be a string');\n }\n\n return allocUnsafe(this, arg);\n }\n\n return from(this, arg, encodingOrOffset, length);\n}\n\nBuffer.poolSize = 8192; // not used by this implementation\n// TODO: Legacy, not needed anymore. Remove in next major version.\n\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype;\n return arr;\n};\n\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number');\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length);\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset);\n }\n\n return fromObject(that, value);\n}\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\n\n\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length);\n};\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype;\n Buffer.__proto__ = Uint8Array;\n\n if (typeof Symbol !== 'undefined' && Symbol.species && Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n });\n }\n}\n\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number');\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative');\n }\n}\n\nfunction alloc(that, size, fill, encoding) {\n assertSize(size);\n\n if (size <= 0) {\n return createBuffer(that, size);\n }\n\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string' ? createBuffer(that, size).fill(fill, encoding) : createBuffer(that, size).fill(fill);\n }\n\n return createBuffer(that, size);\n}\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\n\n\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding);\n};\n\nfunction allocUnsafe(that, size) {\n assertSize(size);\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0;\n }\n }\n\n return that;\n}\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\n\n\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size);\n};\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\n\n\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size);\n};\n\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8';\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding');\n }\n\n var length = byteLength(string, encoding) | 0;\n that = createBuffer(that, length);\n var actual = that.write(string, encoding);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual);\n }\n\n return that;\n}\n\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n that = createBuffer(that, length);\n\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255;\n }\n\n return that;\n}\n\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength; // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds');\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds');\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array);\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset);\n } else {\n array = new Uint8Array(array, byteOffset, length);\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array;\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array);\n }\n\n return that;\n}\n\nfunction fromObject(that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n that = createBuffer(that, len);\n\n if (that.length === 0) {\n return that;\n }\n\n obj.copy(that, 0, 0, len);\n return that;\n }\n\n if (obj) {\n if (typeof ArrayBuffer !== 'undefined' && obj.buffer instanceof ArrayBuffer || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0);\n }\n\n return fromArrayLike(that, obj);\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data);\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + kMaxLength().toString(16) + ' bytes');\n }\n\n return length | 0;\n}\n\nfunction SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0;\n }\n\n return Buffer.alloc(+length);\n}\n\nBuffer.isBuffer = function isBuffer(b) {\n return !!(b != null && b._isBuffer);\n};\n\nBuffer.compare = function compare(a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers');\n }\n\n if (a === b) return 0;\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\n\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true;\n\n default:\n return false;\n }\n};\n\nBuffer.concat = function concat(list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n\n var i;\n\n if (length === undefined) {\n length = 0;\n\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n var buffer = Buffer.allocUnsafe(length);\n var pos = 0;\n\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n\n buf.copy(buffer, pos);\n pos += buf.length;\n }\n\n return buffer;\n};\n\nfunction byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength;\n }\n\n if (typeof string !== 'string') {\n string = '' + string;\n }\n\n var len = string.length;\n if (len === 0) return 0; // Use a for loop to avoid recursion\n\n var loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len;\n\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length;\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2;\n\n case 'hex':\n return len >>> 1;\n\n case 'base64':\n return base64ToBytes(string).length;\n\n default:\n if (loweredCase) return utf8ToBytes(string).length; // assume utf8\n\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n}\n\nBuffer.byteLength = byteLength;\n\nfunction slowToString(encoding, start, end) {\n var loweredCase = false; // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\n if (start === undefined || start < 0) {\n start = 0;\n } // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n\n\n if (start > this.length) {\n return '';\n }\n\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n\n if (end <= 0) {\n return '';\n } // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n\n\n end >>>= 0;\n start >>>= 0;\n\n if (end <= start) {\n return '';\n }\n\n if (!encoding) encoding = 'utf8';\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end);\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end);\n\n case 'ascii':\n return asciiSlice(this, start, end);\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end);\n\n case 'base64':\n return base64Slice(this, start, end);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end);\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = (encoding + '').toLowerCase();\n loweredCase = true;\n }\n }\n} // The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\n\n\nBuffer.prototype._isBuffer = true;\n\nfunction swap(b, n, m) {\n var i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\n\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length;\n\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits');\n }\n\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n\n return this;\n};\n\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length;\n\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits');\n }\n\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n\n return this;\n};\n\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length;\n\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits');\n }\n\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n\n return this;\n};\n\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0;\n if (length === 0) return '';\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n};\n\nBuffer.prototype.equals = function equals(b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n};\n\nBuffer.prototype.inspect = function inspect() {\n var str = '';\n var max = exports.INSPECT_MAX_BYTES;\n\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ');\n if (this.length > max) str += ' ... ';\n }\n\n return '<Buffer ' + str + '>';\n};\n\nBuffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer');\n }\n\n if (start === undefined) {\n start = 0;\n }\n\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n\n if (thisStart === undefined) {\n thisStart = 0;\n }\n\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index');\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n\n if (thisStart >= thisEnd) {\n return -1;\n }\n\n if (start >= end) {\n return 1;\n }\n\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n var x = thisEnd - thisStart;\n var y = end - start;\n var len = Math.min(x, y);\n var thisCopy = this.slice(thisStart, thisEnd);\n var targetCopy = target.slice(start, end);\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n}; // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\n\n\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1; // Normalize byteOffset\n\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n\n byteOffset = +byteOffset; // Coerce to Number.\n\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n } // Normalize byteOffset: negative offsets start from the end of the buffer\n\n\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\n if (byteOffset >= buffer.length) {\n if (dir) return -1;else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;else return -1;\n } // Normalize val\n\n\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding);\n } // Finally, search either indexOf (if dir is true) or lastIndexOf\n\n\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === 'number') {\n val = val & 0xFF; // Search for a byte value [0-255]\n\n if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n\n throw new TypeError('val must be string, number or Buffer');\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1;\n var arrLength = arr.length;\n var valLength = val.length;\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n\n if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n } else {\n return buf.readUInt16BE(i * indexSize);\n }\n }\n\n var i;\n\n if (dir) {\n var foundIndex = -1;\n\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\n for (i = byteOffset; i >= 0; i--) {\n var found = true;\n\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n\n if (found) return i;\n }\n }\n\n return -1;\n}\n\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n};\n\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n};\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n};\n\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n var remaining = buf.length - offset;\n\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n\n if (length > remaining) {\n length = remaining;\n }\n } // must be an even number of digits\n\n\n var strLen = string.length;\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string');\n\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16);\n if (isNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n\n return i;\n}\n\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n}\n\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length);\n}\n\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n}\n\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8';\n length = this.length;\n offset = 0; // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0; // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0;\n\n if (isFinite(length)) {\n length = length | 0;\n if (encoding === undefined) encoding = 'utf8';\n } else {\n encoding = length;\n length = undefined;\n } // legacy write(string, encoding, offset, length) - remove in v0.13\n\n } else {\n throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n }\n\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds');\n }\n\n if (!encoding) encoding = 'utf8';\n var loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length);\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length);\n\n case 'ascii':\n return asciiWrite(this, string, offset, length);\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length);\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length);\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n};\n\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n};\n\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n}\n\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n var res = [];\n var i = start;\n\n while (i < end) {\n var firstByte = buf[i];\n var codePoint = null;\n var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint;\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte;\n }\n\n break;\n\n case 2:\n secondByte = buf[i + 1];\n\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;\n\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;\n\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;\n\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint;\n }\n }\n\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD;\n bytesPerSequence = 1;\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n codePoint = 0xDC00 | codePoint & 0x3FF;\n }\n\n res.push(codePoint);\n i += bytesPerSequence;\n }\n\n return decodeCodePointsArray(res);\n} // Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\n\n\nvar MAX_ARGUMENTS_LENGTH = 0x1000;\n\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length;\n\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n } // Decode in chunks to avoid \"call stack size exceeded\".\n\n\n var res = '';\n var i = 0;\n\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n\n return res;\n}\n\nfunction asciiSlice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F);\n }\n\n return ret;\n}\n\nfunction latin1Slice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n\n return ret;\n}\n\nfunction hexSlice(buf, start, end) {\n var len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n var out = '';\n\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i]);\n }\n\n return out;\n}\n\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end);\n var res = '';\n\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n\n return res;\n}\n\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n var newBuf;\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end);\n newBuf.__proto__ = Buffer.prototype;\n } else {\n var sliceLen = end - start;\n newBuf = new Buffer(sliceLen, undefined);\n\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start];\n }\n }\n\n return newBuf;\n};\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\n\n\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n\n return val;\n};\n\nBuffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n\n var val = this[offset + --byteLength];\n var mul = 1;\n\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul;\n }\n\n return val;\n};\n\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n};\n\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n};\n\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n};\n\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;\n};\n\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n};\n\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var i = byteLength;\n var mul = 1;\n var val = this[offset + --i];\n\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul;\n }\n\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n};\n\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset] | this[offset + 1] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset + 1] | this[offset] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n};\n\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n};\n\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n};\n\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n};\n\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n};\n\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n};\n\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n var mul = 1;\n var i = 0;\n this[offset] = value & 0xFF;\n\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n var i = byteLength - 1;\n var mul = 1;\n this[offset + i] = value & 0xFF;\n\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n this[offset] = value & 0xff;\n return offset + 1;\n};\n\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1;\n\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & 0xff << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8;\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n\n return offset + 2;\n};\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n\n return offset + 2;\n};\n\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1;\n\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 0xff;\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n\n return offset + 4;\n};\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n\n return offset + 4;\n};\n\nBuffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n var i = 0;\n var mul = 1;\n var sub = 0;\n this[offset] = value & 0xFF;\n\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n var i = byteLength - 1;\n var mul = 1;\n var sub = 0;\n this[offset + i] = value & 0xFF;\n\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n};\n\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n\n return offset + 2;\n};\n\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n\n return offset + 2;\n};\n\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n\n return offset + 4;\n};\n\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (value < 0) value = 0xffffffff + value + 1;\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n\n return offset + 4;\n};\n\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n if (offset < 0) throw new RangeError('Index out of range');\n}\n\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n};\n\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n};\n\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n};\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n}; // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\n\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start; // Copy 0 bytes; we're done\n\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0; // Fatal error conditions\n\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds');\n }\n\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds');\n if (end < 0) throw new RangeError('sourceEnd out of bounds'); // Are we oob?\n\n if (end > this.length) end = this.length;\n\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n var len = end - start;\n var i;\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start];\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start];\n }\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart);\n }\n\n return len;\n}; // Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\n\n\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = this.length;\n }\n\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n\n if (code < 256) {\n val = code;\n }\n }\n\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string');\n }\n\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding);\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n } // Invalid ranges are not set to a default, so can range check early.\n\n\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index');\n }\n\n if (end <= start) {\n return this;\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n var i;\n\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer.isBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString());\n var len = bytes.length;\n\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this;\n}; // HELPER FUNCTIONS\n// ================\n\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g;\n\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, ''); // Node converts strings with length < 2 to ''\n\n if (str.length < 2) return ''; // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\n while (str.length % 4 !== 0) {\n str = str + '=';\n }\n\n return str;\n}\n\nfunction stringtrim(str) {\n if (str.trim) return str.trim();\n return str.replace(/^\\s+|\\s+$/g, '');\n}\n\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16);\n return n.toString(16);\n}\n\nfunction utf8ToBytes(string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i); // is surrogate component\n\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } // valid lead\n\n\n leadSurrogate = codePoint;\n continue;\n } // 2 leads in a row\n\n\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue;\n } // valid surrogate pair\n\n\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n\n leadSurrogate = null; // encode utf8\n\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else {\n throw new Error('Invalid code point');\n }\n }\n\n return bytes;\n}\n\nfunction asciiToBytes(str) {\n var byteArray = [];\n\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF);\n }\n\n return byteArray;\n}\n\nfunction utf16leToBytes(str, units) {\n var c, hi, lo;\n var byteArray = [];\n\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n\n return byteArray;\n}\n\nfunction base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n}\n\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n\n return i;\n}\n\nfunction isnan(val) {\n return val !== val; // eslint-disable-line no-self-compare\n}","'use strict';\n\nexports.byteLength = byteLength;\nexports.toByteArray = toByteArray;\nexports.fromByteArray = fromByteArray;\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n} // Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\n\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens(b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4');\n } // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n\n\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n} // base64 is 4/3 + up to two characters of the original data\n\n\nfunction byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\n\nfunction _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\n\nfunction toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0; // if there are placeholders, only get up to the last complete 4 chars\n\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n\n for (i = 0; i < len; i += 4) {\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 0xFF;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr;\n}\n\nfunction tripletToBase64(num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];\n}\n\nfunction encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n\n return output.join('');\n}\n\nfunction fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n // go through the array every three bytes, we'll deal with trailing stuff later\n\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n } // pad the end with zeros, but make sure to not forget the extra bytes\n\n\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '==');\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '=');\n }\n\n return parts.join('');\n}","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n};\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = e << mLen | m;\n eLen += mLen;\n\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\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\nvar conversions = require('./conversions');\n\nvar route = require('./route');\n\nvar convert = {};\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n var wrappedFn = function wrappedFn(args) {\n if (args === undefined || args === null) {\n return args;\n }\n\n if (arguments.length > 1) {\n args = Array.prototype.slice.call(arguments);\n }\n\n return fn(args);\n }; // preserve .conversion property if there is one\n\n\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n\n return wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n var wrappedFn = function wrappedFn(args) {\n if (args === undefined || args === null) {\n return args;\n }\n\n if (arguments.length > 1) {\n args = Array.prototype.slice.call(arguments);\n }\n\n var result = fn(args); // we're assuming the result is an array here.\n // see notice in conversions.js; don't use box types\n // in conversion functions.\n\n if (_typeof(result) === 'object') {\n for (var len = result.length, i = 0; i < len; i++) {\n result[i] = Math.round(result[i]);\n }\n }\n\n return result;\n }; // preserve .conversion property if there is one\n\n\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n\n return wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n convert[fromModel] = {};\n Object.defineProperty(convert[fromModel], 'channels', {\n value: conversions[fromModel].channels\n });\n Object.defineProperty(convert[fromModel], 'labels', {\n value: conversions[fromModel].labels\n });\n var routes = route(fromModel);\n var routeModels = Object.keys(routes);\n routeModels.forEach(function (toModel) {\n var fn = routes[toModel];\n convert[fromModel][toModel] = wrapRounded(fn);\n convert[fromModel][toModel].raw = wrapRaw(fn);\n });\n});\nmodule.exports = convert;","'use strict';\n\nmodule.exports = {\n \"aliceblue\": [240, 248, 255],\n \"antiquewhite\": [250, 235, 215],\n \"aqua\": [0, 255, 255],\n \"aquamarine\": [127, 255, 212],\n \"azure\": [240, 255, 255],\n \"beige\": [245, 245, 220],\n \"bisque\": [255, 228, 196],\n \"black\": [0, 0, 0],\n \"blanchedalmond\": [255, 235, 205],\n \"blue\": [0, 0, 255],\n \"blueviolet\": [138, 43, 226],\n \"brown\": [165, 42, 42],\n \"burlywood\": [222, 184, 135],\n \"cadetblue\": [95, 158, 160],\n \"chartreuse\": [127, 255, 0],\n \"chocolate\": [210, 105, 30],\n \"coral\": [255, 127, 80],\n \"cornflowerblue\": [100, 149, 237],\n \"cornsilk\": [255, 248, 220],\n \"crimson\": [220, 20, 60],\n \"cyan\": [0, 255, 255],\n \"darkblue\": [0, 0, 139],\n \"darkcyan\": [0, 139, 139],\n \"darkgoldenrod\": [184, 134, 11],\n \"darkgray\": [169, 169, 169],\n \"darkgreen\": [0, 100, 0],\n \"darkgrey\": [169, 169, 169],\n \"darkkhaki\": [189, 183, 107],\n \"darkmagenta\": [139, 0, 139],\n \"darkolivegreen\": [85, 107, 47],\n \"darkorange\": [255, 140, 0],\n \"darkorchid\": [153, 50, 204],\n \"darkred\": [139, 0, 0],\n \"darksalmon\": [233, 150, 122],\n \"darkseagreen\": [143, 188, 143],\n \"darkslateblue\": [72, 61, 139],\n \"darkslategray\": [47, 79, 79],\n \"darkslategrey\": [47, 79, 79],\n \"darkturquoise\": [0, 206, 209],\n \"darkviolet\": [148, 0, 211],\n \"deeppink\": [255, 20, 147],\n \"deepskyblue\": [0, 191, 255],\n \"dimgray\": [105, 105, 105],\n \"dimgrey\": [105, 105, 105],\n \"dodgerblue\": [30, 144, 255],\n \"firebrick\": [178, 34, 34],\n \"floralwhite\": [255, 250, 240],\n \"forestgreen\": [34, 139, 34],\n \"fuchsia\": [255, 0, 255],\n \"gainsboro\": [220, 220, 220],\n \"ghostwhite\": [248, 248, 255],\n \"gold\": [255, 215, 0],\n \"goldenrod\": [218, 165, 32],\n \"gray\": [128, 128, 128],\n \"green\": [0, 128, 0],\n \"greenyellow\": [173, 255, 47],\n \"grey\": [128, 128, 128],\n \"honeydew\": [240, 255, 240],\n \"hotpink\": [255, 105, 180],\n \"indianred\": [205, 92, 92],\n \"indigo\": [75, 0, 130],\n \"ivory\": [255, 255, 240],\n \"khaki\": [240, 230, 140],\n \"lavender\": [230, 230, 250],\n \"lavenderblush\": [255, 240, 245],\n \"lawngreen\": [124, 252, 0],\n \"lemonchiffon\": [255, 250, 205],\n \"lightblue\": [173, 216, 230],\n \"lightcoral\": [240, 128, 128],\n \"lightcyan\": [224, 255, 255],\n \"lightgoldenrodyellow\": [250, 250, 210],\n \"lightgray\": [211, 211, 211],\n \"lightgreen\": [144, 238, 144],\n \"lightgrey\": [211, 211, 211],\n \"lightpink\": [255, 182, 193],\n \"lightsalmon\": [255, 160, 122],\n \"lightseagreen\": [32, 178, 170],\n \"lightskyblue\": [135, 206, 250],\n \"lightslategray\": [119, 136, 153],\n \"lightslategrey\": [119, 136, 153],\n \"lightsteelblue\": [176, 196, 222],\n \"lightyellow\": [255, 255, 224],\n \"lime\": [0, 255, 0],\n \"limegreen\": [50, 205, 50],\n \"linen\": [250, 240, 230],\n \"magenta\": [255, 0, 255],\n \"maroon\": [128, 0, 0],\n \"mediumaquamarine\": [102, 205, 170],\n \"mediumblue\": [0, 0, 205],\n \"mediumorchid\": [186, 85, 211],\n \"mediumpurple\": [147, 112, 219],\n \"mediumseagreen\": [60, 179, 113],\n \"mediumslateblue\": [123, 104, 238],\n \"mediumspringgreen\": [0, 250, 154],\n \"mediumturquoise\": [72, 209, 204],\n \"mediumvioletred\": [199, 21, 133],\n \"midnightblue\": [25, 25, 112],\n \"mintcream\": [245, 255, 250],\n \"mistyrose\": [255, 228, 225],\n \"moccasin\": [255, 228, 181],\n \"navajowhite\": [255, 222, 173],\n \"navy\": [0, 0, 128],\n \"oldlace\": [253, 245, 230],\n \"olive\": [128, 128, 0],\n \"olivedrab\": [107, 142, 35],\n \"orange\": [255, 165, 0],\n \"orangered\": [255, 69, 0],\n \"orchid\": [218, 112, 214],\n \"palegoldenrod\": [238, 232, 170],\n \"palegreen\": [152, 251, 152],\n \"paleturquoise\": [175, 238, 238],\n \"palevioletred\": [219, 112, 147],\n \"papayawhip\": [255, 239, 213],\n \"peachpuff\": [255, 218, 185],\n \"peru\": [205, 133, 63],\n \"pink\": [255, 192, 203],\n \"plum\": [221, 160, 221],\n \"powderblue\": [176, 224, 230],\n \"purple\": [128, 0, 128],\n \"rebeccapurple\": [102, 51, 153],\n \"red\": [255, 0, 0],\n \"rosybrown\": [188, 143, 143],\n \"royalblue\": [65, 105, 225],\n \"saddlebrown\": [139, 69, 19],\n \"salmon\": [250, 128, 114],\n \"sandybrown\": [244, 164, 96],\n \"seagreen\": [46, 139, 87],\n \"seashell\": [255, 245, 238],\n \"sienna\": [160, 82, 45],\n \"silver\": [192, 192, 192],\n \"skyblue\": [135, 206, 235],\n \"slateblue\": [106, 90, 205],\n \"slategray\": [112, 128, 144],\n \"slategrey\": [112, 128, 144],\n \"snow\": [255, 250, 250],\n \"springgreen\": [0, 255, 127],\n \"steelblue\": [70, 130, 180],\n \"tan\": [210, 180, 140],\n \"teal\": [0, 128, 128],\n \"thistle\": [216, 191, 216],\n \"tomato\": [255, 99, 71],\n \"turquoise\": [64, 224, 208],\n \"violet\": [238, 130, 238],\n \"wheat\": [245, 222, 179],\n \"white\": [255, 255, 255],\n \"whitesmoke\": [245, 245, 245],\n \"yellow\": [255, 255, 0],\n \"yellowgreen\": [154, 205, 50]\n};","var conversions = require('./conversions');\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\n\nfunction buildGraph() {\n var graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\n var models = Object.keys(conversions);\n\n for (var len = models.length, i = 0; i < len; i++) {\n graph[models[i]] = {\n // http://jsperf.com/1-vs-infinity\n // micro-opt, but this is simple.\n distance: -1,\n parent: null\n };\n }\n\n return graph;\n} // https://en.wikipedia.org/wiki/Breadth-first_search\n\n\nfunction deriveBFS(fromModel) {\n var graph = buildGraph();\n var queue = [fromModel]; // unshift -> queue -> pop\n\n graph[fromModel].distance = 0;\n\n while (queue.length) {\n var current = queue.pop();\n var adjacents = Object.keys(conversions[current]);\n\n for (var len = adjacents.length, i = 0; i < len; i++) {\n var adjacent = adjacents[i];\n var node = graph[adjacent];\n\n if (node.distance === -1) {\n node.distance = graph[current].distance + 1;\n node.parent = current;\n queue.unshift(adjacent);\n }\n }\n }\n\n return graph;\n}\n\nfunction link(from, to) {\n return function (args) {\n return to(from(args));\n };\n}\n\nfunction wrapConversion(toModel, graph) {\n var path = [graph[toModel].parent, toModel];\n var fn = conversions[graph[toModel].parent][toModel];\n var cur = graph[toModel].parent;\n\n while (graph[cur].parent) {\n path.unshift(graph[cur].parent);\n fn = link(conversions[graph[cur].parent][cur], fn);\n cur = graph[cur].parent;\n }\n\n fn.conversion = path;\n return fn;\n}\n\nmodule.exports = function (fromModel) {\n var graph = deriveBFS(fromModel);\n var conversion = {};\n var models = Object.keys(graph);\n\n for (var len = models.length, i = 0; i < len; i++) {\n var toModel = models[i];\n var node = graph[toModel];\n\n if (node.parent === null) {\n // no possible conversion, or this node is the source model.\n continue;\n }\n\n conversion[toModel] = wrapConversion(toModel, graph);\n }\n\n return conversion;\n};","/* MIT license */\nvar colorNames = require('color-name');\n\nmodule.exports = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n};\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n\n var abbr = /^#([a-fA-F0-9]{3})$/,\n hex = /^#([a-fA-F0-9]{6})$/,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/,\n keyword = /(\\D+)/;\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr);\n\n if (match) {\n match = match[1];\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n } else if (match = string.match(hex)) {\n match = match[1];\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n } else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n\n a = parseFloat(match[4]);\n } else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n\n a = parseFloat(match[4]);\n } else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n\n rgb = colorNames[match[1]];\n\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n\n if (!a && a != 0) {\n a = 1;\n } else {\n a = scale(a, 0, 1);\n }\n\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n\n if (vals) {\n return vals[3];\n } else if (vals = getHsla(string)) {\n return vals[3];\n } else if (vals = getHwb(string)) {\n return vals[3];\n }\n} // generators\n\n\nfunction hexString(rgb) {\n return \"#\" + hexDouble(rgb[0]) + hexDouble(rgb[1]) + hexDouble(rgb[2]);\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || rgba[3] && rgba[3] < 1) {\n return rgbaString(rgba, alpha);\n }\n\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = rgba[3] !== undefined ? rgba[3] : 1;\n }\n\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || rgba[3] && rgba[3] < 1) {\n return percentaString(rgba, alpha);\n }\n\n var r = Math.round(rgba[0] / 255 * 100),\n g = Math.round(rgba[1] / 255 * 100),\n b = Math.round(rgba[2] / 255 * 100);\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0] / 255 * 100),\n g = Math.round(rgba[1] / 255 * 100),\n b = Math.round(rgba[2] / 255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || hsla[3] && hsla[3] < 1) {\n return hslaString(hsla, alpha);\n }\n\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = hsla[3] !== undefined ? hsla[3] : 1;\n }\n\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \" + alpha + \")\";\n} // hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\n\n\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = hwb[3] !== undefined ? hwb[3] : 1;\n }\n\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\" + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n} // helpers\n\n\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return str.length < 2 ? \"0\" + str : str;\n} //create a list of reverse color names\n\n\nvar reverseNames = {};\n\nfor (var name in colorNames) {\n reverseNames[colorNames[name]] = name;\n}","'use strict';\n\nmodule.exports = {\n \"aliceblue\": [240, 248, 255],\n \"antiquewhite\": [250, 235, 215],\n \"aqua\": [0, 255, 255],\n \"aquamarine\": [127, 255, 212],\n \"azure\": [240, 255, 255],\n \"beige\": [245, 245, 220],\n \"bisque\": [255, 228, 196],\n \"black\": [0, 0, 0],\n \"blanchedalmond\": [255, 235, 205],\n \"blue\": [0, 0, 255],\n \"blueviolet\": [138, 43, 226],\n \"brown\": [165, 42, 42],\n \"burlywood\": [222, 184, 135],\n \"cadetblue\": [95, 158, 160],\n \"chartreuse\": [127, 255, 0],\n \"chocolate\": [210, 105, 30],\n \"coral\": [255, 127, 80],\n \"cornflowerblue\": [100, 149, 237],\n \"cornsilk\": [255, 248, 220],\n \"crimson\": [220, 20, 60],\n \"cyan\": [0, 255, 255],\n \"darkblue\": [0, 0, 139],\n \"darkcyan\": [0, 139, 139],\n \"darkgoldenrod\": [184, 134, 11],\n \"darkgray\": [169, 169, 169],\n \"darkgreen\": [0, 100, 0],\n \"darkgrey\": [169, 169, 169],\n \"darkkhaki\": [189, 183, 107],\n \"darkmagenta\": [139, 0, 139],\n \"darkolivegreen\": [85, 107, 47],\n \"darkorange\": [255, 140, 0],\n \"darkorchid\": [153, 50, 204],\n \"darkred\": [139, 0, 0],\n \"darksalmon\": [233, 150, 122],\n \"darkseagreen\": [143, 188, 143],\n \"darkslateblue\": [72, 61, 139],\n \"darkslategray\": [47, 79, 79],\n \"darkslategrey\": [47, 79, 79],\n \"darkturquoise\": [0, 206, 209],\n \"darkviolet\": [148, 0, 211],\n \"deeppink\": [255, 20, 147],\n \"deepskyblue\": [0, 191, 255],\n \"dimgray\": [105, 105, 105],\n \"dimgrey\": [105, 105, 105],\n \"dodgerblue\": [30, 144, 255],\n \"firebrick\": [178, 34, 34],\n \"floralwhite\": [255, 250, 240],\n \"forestgreen\": [34, 139, 34],\n \"fuchsia\": [255, 0, 255],\n \"gainsboro\": [220, 220, 220],\n \"ghostwhite\": [248, 248, 255],\n \"gold\": [255, 215, 0],\n \"goldenrod\": [218, 165, 32],\n \"gray\": [128, 128, 128],\n \"green\": [0, 128, 0],\n \"greenyellow\": [173, 255, 47],\n \"grey\": [128, 128, 128],\n \"honeydew\": [240, 255, 240],\n \"hotpink\": [255, 105, 180],\n \"indianred\": [205, 92, 92],\n \"indigo\": [75, 0, 130],\n \"ivory\": [255, 255, 240],\n \"khaki\": [240, 230, 140],\n \"lavender\": [230, 230, 250],\n \"lavenderblush\": [255, 240, 245],\n \"lawngreen\": [124, 252, 0],\n \"lemonchiffon\": [255, 250, 205],\n \"lightblue\": [173, 216, 230],\n \"lightcoral\": [240, 128, 128],\n \"lightcyan\": [224, 255, 255],\n \"lightgoldenrodyellow\": [250, 250, 210],\n \"lightgray\": [211, 211, 211],\n \"lightgreen\": [144, 238, 144],\n \"lightgrey\": [211, 211, 211],\n \"lightpink\": [255, 182, 193],\n \"lightsalmon\": [255, 160, 122],\n \"lightseagreen\": [32, 178, 170],\n \"lightskyblue\": [135, 206, 250],\n \"lightslategray\": [119, 136, 153],\n \"lightslategrey\": [119, 136, 153],\n \"lightsteelblue\": [176, 196, 222],\n \"lightyellow\": [255, 255, 224],\n \"lime\": [0, 255, 0],\n \"limegreen\": [50, 205, 50],\n \"linen\": [250, 240, 230],\n \"magenta\": [255, 0, 255],\n \"maroon\": [128, 0, 0],\n \"mediumaquamarine\": [102, 205, 170],\n \"mediumblue\": [0, 0, 205],\n \"mediumorchid\": [186, 85, 211],\n \"mediumpurple\": [147, 112, 219],\n \"mediumseagreen\": [60, 179, 113],\n \"mediumslateblue\": [123, 104, 238],\n \"mediumspringgreen\": [0, 250, 154],\n \"mediumturquoise\": [72, 209, 204],\n \"mediumvioletred\": [199, 21, 133],\n \"midnightblue\": [25, 25, 112],\n \"mintcream\": [245, 255, 250],\n \"mistyrose\": [255, 228, 225],\n \"moccasin\": [255, 228, 181],\n \"navajowhite\": [255, 222, 173],\n \"navy\": [0, 0, 128],\n \"oldlace\": [253, 245, 230],\n \"olive\": [128, 128, 0],\n \"olivedrab\": [107, 142, 35],\n \"orange\": [255, 165, 0],\n \"orangered\": [255, 69, 0],\n \"orchid\": [218, 112, 214],\n \"palegoldenrod\": [238, 232, 170],\n \"palegreen\": [152, 251, 152],\n \"paleturquoise\": [175, 238, 238],\n \"palevioletred\": [219, 112, 147],\n \"papayawhip\": [255, 239, 213],\n \"peachpuff\": [255, 218, 185],\n \"peru\": [205, 133, 63],\n \"pink\": [255, 192, 203],\n \"plum\": [221, 160, 221],\n \"powderblue\": [176, 224, 230],\n \"purple\": [128, 0, 128],\n \"rebeccapurple\": [102, 51, 153],\n \"red\": [255, 0, 0],\n \"rosybrown\": [188, 143, 143],\n \"royalblue\": [65, 105, 225],\n \"saddlebrown\": [139, 69, 19],\n \"salmon\": [250, 128, 114],\n \"sandybrown\": [244, 164, 96],\n \"seagreen\": [46, 139, 87],\n \"seashell\": [255, 245, 238],\n \"sienna\": [160, 82, 45],\n \"silver\": [192, 192, 192],\n \"skyblue\": [135, 206, 235],\n \"slateblue\": [106, 90, 205],\n \"slategray\": [112, 128, 144],\n \"slategrey\": [112, 128, 144],\n \"snow\": [255, 250, 250],\n \"springgreen\": [0, 255, 127],\n \"steelblue\": [70, 130, 180],\n \"tan\": [210, 180, 140],\n \"teal\": [0, 128, 128],\n \"thistle\": [216, 191, 216],\n \"tomato\": [255, 99, 71],\n \"turquoise\": [64, 224, 208],\n \"violet\": [238, 130, 238],\n \"wheat\": [245, 222, 179],\n \"white\": [255, 255, 255],\n \"whitesmoke\": [245, 245, 245],\n \"yellow\": [255, 255, 0],\n \"yellowgreen\": [154, 205, 50]\n};","var scope = typeof global !== \"undefined\" && global || typeof self !== \"undefined\" && self || window;\nvar apply = Function.prototype.apply; // DOM APIs, for completeness\n\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\n\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\n\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\n\nTimeout.prototype.unref = Timeout.prototype.ref = function () {};\n\nTimeout.prototype.close = function () {\n this._clearFn.call(scope, this._id);\n}; // Does not start the time, just sets up the members needed.\n\n\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout) item._onTimeout();\n }, msecs);\n }\n}; // setimmediate attaches itself to the global object\n\n\nrequire(\"setimmediate\"); // On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\n\n\nexports.setImmediate = typeof self !== \"undefined\" && self.setImmediate || typeof global !== \"undefined\" && global.setImmediate || this && this.setImmediate;\nexports.clearImmediate = typeof self !== \"undefined\" && self.clearImmediate || typeof global !== \"undefined\" && global.clearImmediate || this && this.clearImmediate;","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n } // Copy function arguments\n\n\n var args = new Array(arguments.length - 1);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n } // Store and register the task\n\n\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n\n switch (args.length) {\n case 0:\n callback();\n break;\n\n case 1:\n callback(args[0]);\n break;\n\n case 2:\n callback(args[0], args[1]);\n break;\n\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n\n if (task) {\n currentlyRunningATask = true;\n\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n\n registerImmediate = function registerImmediate(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function registerImmediate(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n } // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n\n\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global; // Don't get fooled by e.g. browserify environments.\n\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n})(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self);","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n","'use strict';\n\nfunction _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\nvar strictUriEncode = require('strict-uri-encode');\n\nvar objectAssign = require('object-assign');\n\nfunction encoderForArrayFormat(opts) {\n switch (opts.arrayFormat) {\n case 'index':\n return function (key, value, index) {\n return value === null ? [encode(key, opts), '[', index, ']'].join('') : [encode(key, opts), '[', encode(index, opts), ']=', encode(value, opts)].join('');\n };\n\n case 'bracket':\n return function (key, value) {\n return value === null ? encode(key, opts) : [encode(key, opts), '[]=', encode(value, opts)].join('');\n };\n\n default:\n return function (key, value) {\n return value === null ? encode(key, opts) : [encode(key, opts), '=', encode(value, opts)].join('');\n };\n }\n}\n\nfunction parserForArrayFormat(opts) {\n var result;\n\n switch (opts.arrayFormat) {\n case 'index':\n return function (key, value, accumulator) {\n result = /\\[(\\d*)\\]$/.exec(key);\n key = key.replace(/\\[\\d*\\]$/, '');\n\n if (!result) {\n accumulator[key] = value;\n return;\n }\n\n if (accumulator[key] === undefined) {\n accumulator[key] = {};\n }\n\n accumulator[key][result[1]] = value;\n };\n\n case 'bracket':\n return function (key, value, accumulator) {\n result = /(\\[\\])$/.exec(key);\n key = key.replace(/\\[\\]$/, '');\n\n if (!result) {\n accumulator[key] = value;\n return;\n } else if (accumulator[key] === undefined) {\n accumulator[key] = [value];\n return;\n }\n\n accumulator[key] = [].concat(accumulator[key], value);\n };\n\n default:\n return function (key, value, accumulator) {\n if (accumulator[key] === undefined) {\n accumulator[key] = value;\n return;\n }\n\n accumulator[key] = [].concat(accumulator[key], value);\n };\n }\n}\n\nfunction encode(value, opts) {\n if (opts.encode) {\n return opts.strict ? strictUriEncode(value) : encodeURIComponent(value);\n }\n\n return value;\n}\n\nfunction keysSorter(input) {\n if (Array.isArray(input)) {\n return input.sort();\n } else if (_typeof(input) === 'object') {\n return keysSorter(Object.keys(input)).sort(function (a, b) {\n return Number(a) - Number(b);\n }).map(function (key) {\n return input[key];\n });\n }\n\n return input;\n}\n\nexports.extract = function (str) {\n return str.split('?')[1] || '';\n};\n\nexports.parse = function (str, opts) {\n opts = objectAssign({\n arrayFormat: 'none'\n }, opts);\n var formatter = parserForArrayFormat(opts); // Create an object with no prototype\n // https://github.com/sindresorhus/query-string/issues/47\n\n var ret = Object.create(null);\n\n if (typeof str !== 'string') {\n return ret;\n }\n\n str = str.trim().replace(/^(\\?|#|&)/, '');\n\n if (!str) {\n return ret;\n }\n\n str.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('='); // Firefox (pre 40) decodes `%3D` to `=`\n // https://github.com/sindresorhus/query-string/pull/37\n\n var key = parts.shift();\n var val = parts.length > 0 ? parts.join('=') : undefined; // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\n val = val === undefined ? null : decodeURIComponent(val);\n formatter(decodeURIComponent(key), val, ret);\n });\n return Object.keys(ret).sort().reduce(function (result, key) {\n var val = ret[key];\n\n if (Boolean(val) && _typeof(val) === 'object' && !Array.isArray(val)) {\n // Sort object keys, not values\n result[key] = keysSorter(val);\n } else {\n result[key] = val;\n }\n\n return result;\n }, Object.create(null));\n};\n\nexports.stringify = function (obj, opts) {\n var defaults = {\n encode: true,\n strict: true,\n arrayFormat: 'none'\n };\n opts = objectAssign(defaults, opts);\n var formatter = encoderForArrayFormat(opts);\n return obj ? Object.keys(obj).sort().map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return '';\n }\n\n if (val === null) {\n return encode(key, opts);\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.slice().forEach(function (val2) {\n if (val2 === undefined) {\n return;\n }\n\n result.push(formatter(key, val2, result.length));\n });\n return result.join('&');\n }\n\n return encode(key, opts) + '=' + encode(val, opts);\n }).filter(function (x) {\n return x.length > 0;\n }).join('&') : '';\n};","'use strict';\n\nmodule.exports = function (str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar loopAsync = exports.loopAsync = function loopAsync(turns, work, callback) {\n var currentTurn = 0,\n isDone = false;\n var isSync = false,\n hasNext = false,\n doneArgs = void 0;\n\n var done = function done() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n isDone = true;\n\n if (isSync) {\n // Iterate instead of recursing if possible.\n doneArgs = args;\n return;\n }\n\n callback.apply(undefined, args);\n };\n\n var next = function next() {\n if (isDone) return;\n hasNext = true;\n if (isSync) return; // Iterate instead of recursing if possible.\n\n isSync = true;\n\n while (!isDone && currentTurn < turns && hasNext) {\n hasNext = false;\n work(currentTurn++, next, done);\n }\n\n isSync = false;\n\n if (isDone) {\n // This means the loop finished synchronously.\n callback.apply(undefined, doneArgs);\n return;\n }\n\n if (currentTurn >= turns && hasNext) {\n isDone = true;\n callback();\n }\n };\n\n next();\n};","'use strict';\n\nexports.__esModule = true;\nexports.replaceLocation = exports.pushLocation = exports.getCurrentLocation = exports.go = exports.getUserConfirmation = undefined;\n\nvar _BrowserProtocol = require('./BrowserProtocol');\n\nObject.defineProperty(exports, 'getUserConfirmation', {\n enumerable: true,\n get: function get() {\n return _BrowserProtocol.getUserConfirmation;\n }\n});\nObject.defineProperty(exports, 'go', {\n enumerable: true,\n get: function get() {\n return _BrowserProtocol.go;\n }\n});\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nvar getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation() {\n return (0, _LocationUtils.createLocation)(window.location);\n};\n\nvar pushLocation = exports.pushLocation = function pushLocation(location) {\n window.location.href = (0, _PathUtils.createPath)(location);\n return false; // Don't update location\n};\n\nvar replaceLocation = exports.replaceLocation = function replaceLocation(location) {\n window.location.replace((0, _PathUtils.createPath)(location));\n return false; // Don't update location\n};","'use strict';\n\nexports.__esModule = true;\nexports.replaceLocation = exports.pushLocation = exports.startListener = exports.getCurrentLocation = exports.go = exports.getUserConfirmation = undefined;\n\nvar _BrowserProtocol = require('./BrowserProtocol');\n\nObject.defineProperty(exports, 'getUserConfirmation', {\n enumerable: true,\n get: function get() {\n return _BrowserProtocol.getUserConfirmation;\n }\n});\nObject.defineProperty(exports, 'go', {\n enumerable: true,\n get: function get() {\n return _BrowserProtocol.go;\n }\n});\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _DOMUtils = require('./DOMUtils');\n\nvar _DOMStateStorage = require('./DOMStateStorage');\n\nvar _PathUtils = require('./PathUtils');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar HashChangeEvent = 'hashchange';\n\nvar getHashPath = function getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n};\n\nvar pushHashPath = function pushHashPath(path) {\n return window.location.hash = path;\n};\n\nvar replaceHashPath = function replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n};\n\nvar getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation(pathCoder, queryKey) {\n var path = pathCoder.decodePath(getHashPath());\n var key = (0, _PathUtils.getQueryStringValueFromPath)(path, queryKey);\n var state = void 0;\n\n if (key) {\n path = (0, _PathUtils.stripQueryStringValueFromPath)(path, queryKey);\n state = (0, _DOMStateStorage.readState)(key);\n }\n\n var init = (0, _PathUtils.parsePath)(path);\n init.state = state;\n return (0, _LocationUtils.createLocation)(init, undefined, key);\n};\n\nvar prevLocation = void 0;\n\nvar startListener = exports.startListener = function startListener(listener, pathCoder, queryKey) {\n var handleHashChange = function handleHashChange() {\n var path = getHashPath();\n var encodedPath = pathCoder.encodePath(path);\n\n if (path !== encodedPath) {\n // Always be sure we have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var currentLocation = getCurrentLocation(pathCoder, queryKey);\n if (prevLocation && currentLocation.key && prevLocation.key === currentLocation.key) return; // Ignore extraneous hashchange events\n\n prevLocation = currentLocation;\n listener(currentLocation);\n }\n }; // Ensure the hash is encoded properly.\n\n\n var path = getHashPath();\n var encodedPath = pathCoder.encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n return function () {\n return (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n };\n};\n\nvar updateLocation = function updateLocation(location, pathCoder, queryKey, updateHash) {\n var state = location.state,\n key = location.key;\n var path = pathCoder.encodePath((0, _PathUtils.createPath)(location));\n\n if (state !== undefined) {\n path = (0, _PathUtils.addQueryStringValueToPath)(path, queryKey, key);\n (0, _DOMStateStorage.saveState)(key, state);\n }\n\n prevLocation = location;\n updateHash(path);\n};\n\nvar pushLocation = exports.pushLocation = function pushLocation(location, pathCoder, queryKey) {\n return updateLocation(location, pathCoder, queryKey, function (path) {\n if (getHashPath() !== path) {\n pushHashPath(path);\n } else {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'You cannot PUSH the same path using hash history') : void 0;\n }\n });\n};\n\nvar replaceLocation = exports.replaceLocation = function replaceLocation(location, pathCoder, queryKey) {\n return updateLocation(location, pathCoder, queryKey, function (path) {\n if (getHashPath() !== path) replaceHashPath(path);\n });\n};","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _DOMUtils = require('./DOMUtils');\n\nvar _ExecutionEnvironment = require('./ExecutionEnvironment');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar startListener = function startListener(getPromptMessage) {\n var handleBeforeUnload = function handleBeforeUnload(event) {\n var message = getPromptMessage();\n\n if (typeof message === 'string') {\n (event || window.event).returnValue = message;\n return message;\n }\n\n return undefined;\n };\n\n (0, _DOMUtils.addEventListener)(window, 'beforeunload', handleBeforeUnload);\n return function () {\n return (0, _DOMUtils.removeEventListener)(window, 'beforeunload', handleBeforeUnload);\n };\n};\n/**\n * Returns a new createHistory function that can be used to create\n * history objects that know how to use the beforeunload event in web\n * browsers to cancel navigation.\n */\n\n\nvar useBeforeUnload = function useBeforeUnload(createHistory) {\n !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'useBeforeUnload only works in DOM environments') : (0, _invariant2.default)(false) : void 0;\n return function (options) {\n var history = createHistory(options);\n var listeners = [];\n var stopListener = void 0;\n\n var getPromptMessage = function getPromptMessage() {\n var message = void 0;\n\n for (var i = 0, len = listeners.length; message == null && i < len; ++i) {\n message = listeners[i].call();\n }\n\n return message;\n };\n\n var listenBeforeUnload = function listenBeforeUnload(listener) {\n if (listeners.push(listener) === 1) stopListener = startListener(getPromptMessage);\n return function () {\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n\n if (listeners.length === 0 && stopListener) {\n stopListener();\n stopListener = null;\n }\n };\n };\n\n return _extends({}, history, {\n listenBeforeUnload: listenBeforeUnload\n });\n };\n};\n\nexports.default = useBeforeUnload;","var modalFactory = require('./modalFactory');\n\nvar insertKeyframesRule = require('domkit/insertKeyframesRule');\n\nvar appendVendorPrefix = require('domkit/appendVendorPrefix');\n\nvar animation = {\n show: {\n animationDuration: '0.4s',\n animationTimingFunction: 'cubic-bezier(0.7,0,0.3,1)'\n },\n hide: {\n animationDuration: '0.4s',\n animationTimingFunction: 'cubic-bezier(0.7,0,0.3,1)'\n },\n showModalAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0,\n transform: 'translate3d(-50%, -300px, 0)'\n },\n '100%': {\n opacity: 1,\n transform: 'translate3d(-50%, -50%, 0)'\n }\n }),\n hideModalAnimation: insertKeyframesRule({\n '0%': {\n opacity: 1,\n transform: 'translate3d(-50%, -50%, 0)'\n },\n '100%': {\n opacity: 0,\n transform: 'translate3d(-50%, 100px, 0)'\n }\n }),\n showBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 0.9\n }\n }),\n hideBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0.9\n },\n '100%': {\n opacity: 0\n }\n }),\n showContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0,\n transform: 'translate3d(0, -20px, 0)'\n },\n '100%': {\n opacity: 1,\n transform: 'translate3d(0, 0, 0)'\n }\n }),\n hideContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 1,\n transform: 'translate3d(0, 0, 0)'\n },\n '100%': {\n opacity: 0,\n transform: 'translate3d(0, 50px, 0)'\n }\n })\n};\nvar showAnimation = animation.show;\nvar hideAnimation = animation.hide;\nvar showModalAnimation = animation.showModalAnimation;\nvar hideModalAnimation = animation.hideModalAnimation;\nvar showBackdropAnimation = animation.showBackdropAnimation;\nvar hideBackdropAnimation = animation.hideBackdropAnimation;\nvar showContentAnimation = animation.showContentAnimation;\nvar hideContentAnimation = animation.hideContentAnimation;\nmodule.exports = modalFactory({\n getRef: function getRef(willHidden) {\n return 'modal';\n },\n getModalStyle: function getModalStyle(willHidden) {\n return appendVendorPrefix({\n position: \"fixed\",\n width: \"500px\",\n transform: \"translate3d(-50%, -50%, 0)\",\n top: \"50%\",\n left: \"50%\",\n backgroundColor: \"white\",\n zIndex: 1050,\n animationDuration: (willHidden ? hideAnimation : showAnimation).animationDuration,\n animationFillMode: 'forwards',\n animationName: willHidden ? hideModalAnimation : showModalAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n },\n getBackdropStyle: function getBackdropStyle(willHidden) {\n return appendVendorPrefix({\n position: \"fixed\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 1040,\n backgroundColor: \"#373A47\",\n animationDuration: (willHidden ? hideAnimation : showAnimation).animationDuration,\n animationFillMode: 'forwards',\n animationName: willHidden ? hideBackdropAnimation : showBackdropAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n },\n getContentStyle: function getContentStyle(willHidden) {\n return appendVendorPrefix({\n margin: 0,\n opacity: 0,\n animationDuration: (willHidden ? hideAnimation : showAnimation).animationDuration,\n animationFillMode: 'forwards',\n animationDelay: '0.25s',\n animationName: showContentAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n }\n});","'use strict';\n/**\n * EVENT_NAME_MAP is used to determine which event fired when a\n * transition/animation ends, based on the style property used to\n * define that event.\n */\n\nvar EVENT_NAME_MAP = {\n transitionend: {\n 'transition': 'transitionend',\n 'WebkitTransition': 'webkitTransitionEnd',\n 'MozTransition': 'mozTransitionEnd',\n 'OTransition': 'oTransitionEnd',\n 'msTransition': 'MSTransitionEnd'\n },\n animationend: {\n 'animation': 'animationend',\n 'WebkitAnimation': 'webkitAnimationEnd',\n 'MozAnimation': 'mozAnimationEnd',\n 'OAnimation': 'oAnimationEnd',\n 'msAnimation': 'MSAnimationEnd'\n }\n};\nvar endEvents = [];\n\nfunction detectEvents() {\n var testEl = document.createElement('div');\n var style = testEl.style; // On some platforms, in particular some releases of Android 4.x,\n // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n // style object but the events that fire will still be prefixed, so we need\n // to check if the un-prefixed events are useable, and if not remove them\n // from the map\n\n if (!('AnimationEvent' in window)) {\n delete EVENT_NAME_MAP.animationend.animation;\n }\n\n if (!('TransitionEvent' in window)) {\n delete EVENT_NAME_MAP.transitionend.transition;\n }\n\n for (var baseEventName in EVENT_NAME_MAP) {\n var baseEvents = EVENT_NAME_MAP[baseEventName];\n\n for (var styleName in baseEvents) {\n if (styleName in style) {\n endEvents.push(baseEvents[styleName]);\n break;\n }\n }\n }\n}\n\nif (typeof window !== 'undefined') {\n detectEvents();\n} // We use the raw {add|remove}EventListener() call because EventListener\n// does not know how to remove event listeners and we really should\n// clean up. Also, these events are not triggered in older browsers\n// so we should be A-OK here.\n\n\nfunction addEventListener(node, eventName, eventListener) {\n node.addEventListener(eventName, eventListener, false);\n}\n\nfunction removeEventListener(node, eventName, eventListener) {\n node.removeEventListener(eventName, eventListener, false);\n}\n\nmodule.exports = {\n addEndEventListener: function addEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n // If CSS transitions are not supported, trigger an \"end animation\"\n // event immediately.\n window.setTimeout(eventListener, 0);\n return;\n }\n\n endEvents.forEach(function (endEvent) {\n addEventListener(node, endEvent, eventListener);\n });\n },\n removeEndEventListener: function removeEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n return;\n }\n\n endEvents.forEach(function (endEvent) {\n removeEventListener(node, endEvent, eventListener);\n });\n }\n};","'use strict';\n\nvar builtinStyle = require('./builtinStyle');\n\nvar prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nvar domVendorPrefix; // Helper function to get the proper vendor property name. (transition => WebkitTransition)\n\nmodule.exports = function (prop, isSupportTest) {\n var vendorProp;\n if (prop in builtinStyle) return prop;\n var UpperProp = prop.charAt(0).toUpperCase() + prop.substr(1);\n\n if (domVendorPrefix) {\n vendorProp = domVendorPrefix + UpperProp;\n\n if (vendorProp in builtinStyle) {\n return vendorProp;\n }\n } else {\n for (var i = 0; i < prefixes.length; ++i) {\n vendorProp = prefixes[i] + UpperProp;\n\n if (vendorProp in builtinStyle) {\n domVendorPrefix = prefixes[i];\n return vendorProp;\n }\n }\n } // if support test, not fallback to origin prop name\n\n\n if (!isSupportTest) {\n return prop;\n }\n};","'use strict';\n\nmodule.exports = document.createElement('div').style;","'use strict';\n\nvar extraSheet;\n\nmodule.exports = function (css) {\n if (!extraSheet) {\n // First time, create an extra stylesheet for adding rules\n extraSheet = document.createElement('style');\n document.getElementsByTagName('head')[0].appendChild(extraSheet); // Keep reference to actual StyleSheet object (`styleSheet` for IE < 9)\n\n extraSheet = extraSheet.sheet || extraSheet.styleSheet;\n }\n\n var index = (extraSheet.cssRules || extraSheet.rules).length;\n extraSheet.insertRule(css, index);\n return extraSheet;\n};","'use strict';\n\nvar cssVendorPrefix;\n\nmodule.exports = function () {\n if (cssVendorPrefix) return cssVendorPrefix;\n var styles = window.getComputedStyle(document.documentElement, '');\n var pre = (Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/) || styles.OLink === '' && ['', 'o'])[1];\n return cssVendorPrefix = '-' + pre + '-';\n};","var modalFactory = require('./modalFactory');\n\nvar insertKeyframesRule = require('domkit/insertKeyframesRule');\n\nvar appendVendorPrefix = require('domkit/appendVendorPrefix');\n\nvar animation = {\n show: {\n animationDuration: '1s',\n animationTimingFunction: 'linear'\n },\n hide: {\n animationDuration: '0.3s',\n animationTimingFunction: 'ease-out'\n },\n showContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0,\n transform: 'matrix3d(0.7, 0, 0, 0, 0, 0.7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '2.083333%': {\n transform: 'matrix3d(0.75266, 0, 0, 0, 0, 0.76342, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '4.166667%': {\n transform: 'matrix3d(0.81071, 0, 0, 0, 0, 0.84545, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '6.25%': {\n transform: 'matrix3d(0.86808, 0, 0, 0, 0, 0.9286, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '8.333333%': {\n transform: 'matrix3d(0.92038, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '10.416667%': {\n transform: 'matrix3d(0.96482, 0, 0, 0, 0, 1.05202, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '12.5%': {\n transform: 'matrix3d(1, 0, 0, 0, 0, 1.08204, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '14.583333%': {\n transform: 'matrix3d(1.02563, 0, 0, 0, 0, 1.09149, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '16.666667%': {\n transform: 'matrix3d(1.04227, 0, 0, 0, 0, 1.08453, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '18.75%': {\n transform: 'matrix3d(1.05102, 0, 0, 0, 0, 1.06666, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '20.833333%': {\n transform: 'matrix3d(1.05334, 0, 0, 0, 0, 1.04355, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '22.916667%': {\n transform: 'matrix3d(1.05078, 0, 0, 0, 0, 1.02012, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '25%': {\n transform: 'matrix3d(1.04487, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '27.083333%': {\n transform: 'matrix3d(1.03699, 0, 0, 0, 0, 0.98534, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '29.166667%': {\n transform: 'matrix3d(1.02831, 0, 0, 0, 0, 0.97688, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '31.25%': {\n transform: 'matrix3d(1.01973, 0, 0, 0, 0, 0.97422, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '33.333333%': {\n transform: 'matrix3d(1.01191, 0, 0, 0, 0, 0.97618, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '35.416667%': {\n transform: 'matrix3d(1.00526, 0, 0, 0, 0, 0.98122, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '37.5%': {\n transform: 'matrix3d(1, 0, 0, 0, 0, 0.98773, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '39.583333%': {\n transform: 'matrix3d(0.99617, 0, 0, 0, 0, 0.99433, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '41.666667%': {\n transform: 'matrix3d(0.99368, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '43.75%': {\n transform: 'matrix3d(0.99237, 0, 0, 0, 0, 1.00413, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '45.833333%': {\n transform: 'matrix3d(0.99202, 0, 0, 0, 0, 1.00651, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '47.916667%': {\n transform: 'matrix3d(0.99241, 0, 0, 0, 0, 1.00726, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '50%': {\n opacity: 1,\n transform: 'matrix3d(0.99329, 0, 0, 0, 0, 1.00671, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '52.083333%': {\n transform: 'matrix3d(0.99447, 0, 0, 0, 0, 1.00529, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '54.166667%': {\n transform: 'matrix3d(0.99577, 0, 0, 0, 0, 1.00346, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '56.25%': {\n transform: 'matrix3d(0.99705, 0, 0, 0, 0, 1.0016, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '58.333333%': {\n transform: 'matrix3d(0.99822, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '60.416667%': {\n transform: 'matrix3d(0.99921, 0, 0, 0, 0, 0.99884, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '62.5%': {\n transform: 'matrix3d(1, 0, 0, 0, 0, 0.99816, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '64.583333%': {\n transform: 'matrix3d(1.00057, 0, 0, 0, 0, 0.99795, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '66.666667%': {\n transform: 'matrix3d(1.00095, 0, 0, 0, 0, 0.99811, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '68.75%': {\n transform: 'matrix3d(1.00114, 0, 0, 0, 0, 0.99851, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '70.833333%': {\n transform: 'matrix3d(1.00119, 0, 0, 0, 0, 0.99903, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '72.916667%': {\n transform: 'matrix3d(1.00114, 0, 0, 0, 0, 0.99955, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '75%': {\n transform: 'matrix3d(1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '77.083333%': {\n transform: 'matrix3d(1.00083, 0, 0, 0, 0, 1.00033, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '79.166667%': {\n transform: 'matrix3d(1.00063, 0, 0, 0, 0, 1.00052, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '81.25%': {\n transform: 'matrix3d(1.00044, 0, 0, 0, 0, 1.00058, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '83.333333%': {\n transform: 'matrix3d(1.00027, 0, 0, 0, 0, 1.00053, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '85.416667%': {\n transform: 'matrix3d(1.00012, 0, 0, 0, 0, 1.00042, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '87.5%': {\n transform: 'matrix3d(1, 0, 0, 0, 0, 1.00027, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '89.583333%': {\n transform: 'matrix3d(0.99991, 0, 0, 0, 0, 1.00013, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '91.666667%': {\n transform: 'matrix3d(0.99986, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '93.75%': {\n transform: 'matrix3d(0.99983, 0, 0, 0, 0, 0.99991, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '95.833333%': {\n transform: 'matrix3d(0.99982, 0, 0, 0, 0, 0.99985, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '97.916667%': {\n transform: 'matrix3d(0.99983, 0, 0, 0, 0, 0.99984, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n },\n '100%': {\n opacity: 1,\n transform: 'matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'\n }\n }),\n hideContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0,\n transform: 'scale3d(0.8, 0.8, 1)'\n }\n }),\n showBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 0.9\n }\n }),\n hideBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0.9\n },\n '100%': {\n opacity: 0\n }\n })\n};\nvar showAnimation = animation.show;\nvar hideAnimation = animation.hide;\nvar showContentAnimation = animation.showContentAnimation;\nvar hideContentAnimation = animation.hideContentAnimation;\nvar showBackdropAnimation = animation.showBackdropAnimation;\nvar hideBackdropAnimation = animation.hideBackdropAnimation;\nmodule.exports = modalFactory({\n getRef: function getRef(willHidden) {\n return 'content';\n },\n getModalStyle: function getModalStyle(willHidden) {\n return appendVendorPrefix({\n zIndex: 1050,\n position: \"fixed\",\n width: \"500px\",\n transform: \"translate3d(-50%, -50%, 0)\",\n top: \"50%\",\n left: \"50%\"\n });\n },\n getBackdropStyle: function getBackdropStyle(willHidden) {\n return appendVendorPrefix({\n position: \"fixed\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 1040,\n backgroundColor: \"#373A47\",\n animationFillMode: 'forwards',\n animationDuration: '0.3s',\n animationName: willHidden ? hideBackdropAnimation : showBackdropAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n },\n getContentStyle: function getContentStyle(willHidden) {\n return appendVendorPrefix({\n margin: 0,\n backgroundColor: \"white\",\n animationDuration: (willHidden ? hideAnimation : showAnimation).animationDuration,\n animationFillMode: 'forwards',\n animationName: willHidden ? hideContentAnimation : showContentAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n }\n});","var modalFactory = require('./modalFactory');\n\nvar insertKeyframesRule = require('domkit/insertKeyframesRule');\n\nvar appendVendorPrefix = require('domkit/appendVendorPrefix');\n\nvar animation = {\n show: {\n animationDuration: '0.5s',\n animationTimingFunction: 'ease-out'\n },\n hide: {\n animationDuration: '0.5s',\n animationTimingFunction: 'ease-out'\n },\n showContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0,\n transform: 'translate3d(calc(-100vw - 50%), 0, 0)'\n },\n '50%': {\n opacity: 1,\n transform: 'translate3d(100px, 0, 0)'\n },\n '100%': {\n opacity: 1,\n transform: 'translate3d(0, 0, 0)'\n }\n }),\n hideContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 1,\n transform: 'translate3d(0, 0, 0)'\n },\n '50%': {\n opacity: 1,\n transform: 'translate3d(-100px, 0, 0) scale3d(1.1, 1.1, 1)'\n },\n '100%': {\n opacity: 0,\n transform: 'translate3d(calc(100vw + 50%), 0, 0)'\n }\n }),\n showBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 0.9\n }\n }),\n hideBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0.9\n },\n '90%': {\n opactiy: 0.9\n },\n '100%': {\n opacity: 0\n }\n })\n};\nvar showAnimation = animation.show;\nvar hideAnimation = animation.hide;\nvar showContentAnimation = animation.showContentAnimation;\nvar hideContentAnimation = animation.hideContentAnimation;\nvar showBackdropAnimation = animation.showBackdropAnimation;\nvar hideBackdropAnimation = animation.hideBackdropAnimation;\nmodule.exports = modalFactory({\n getRef: function getRef(willHidden) {\n return 'content';\n },\n getModalStyle: function getModalStyle(willHidden) {\n return appendVendorPrefix({\n zIndex: 1050,\n position: \"fixed\",\n width: \"500px\",\n transform: \"translate3d(-50%, -50%, 0)\",\n top: \"50%\",\n left: \"50%\"\n });\n },\n getBackdropStyle: function getBackdropStyle(willHidden) {\n return appendVendorPrefix({\n position: \"fixed\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 1040,\n backgroundColor: \"#373A47\",\n animationFillMode: 'forwards',\n animationDuration: '0.3s',\n animationName: willHidden ? hideBackdropAnimation : showBackdropAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n },\n getContentStyle: function getContentStyle(willHidden) {\n return appendVendorPrefix({\n margin: 0,\n backgroundColor: \"white\",\n animationDuration: (willHidden ? hideAnimation : showAnimation).animationDuration,\n animationFillMode: 'forwards',\n animationName: willHidden ? hideContentAnimation : showContentAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n }\n});","var modalFactory = require('./modalFactory');\n\nvar insertKeyframesRule = require('domkit/insertKeyframesRule');\n\nvar appendVendorPrefix = require('domkit/appendVendorPrefix');\n\nvar animation = {\n show: {\n animationDuration: '0.3s',\n animationTimingFunction: 'ease-out'\n },\n hide: {\n animationDuration: '0.3s',\n animationTimingFunction: 'ease-out'\n },\n showContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n }),\n hideContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n }),\n showBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 0.9\n }\n }),\n hideBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0.9\n },\n '100%': {\n opacity: 0\n }\n })\n};\nvar showAnimation = animation.show;\nvar hideAnimation = animation.hide;\nvar showContentAnimation = animation.showContentAnimation;\nvar hideContentAnimation = animation.hideContentAnimation;\nvar showBackdropAnimation = animation.showBackdropAnimation;\nvar hideBackdropAnimation = animation.hideBackdropAnimation;\nmodule.exports = modalFactory({\n getRef: function getRef(willHidden) {\n return 'content';\n },\n getModalStyle: function getModalStyle(willHidden) {\n return appendVendorPrefix({\n zIndex: 1050,\n position: \"fixed\",\n width: \"500px\",\n transform: \"translate3d(-50%, -50%, 0)\",\n top: \"50%\",\n left: \"50%\"\n });\n },\n getBackdropStyle: function getBackdropStyle(willHidden) {\n return appendVendorPrefix({\n position: \"fixed\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 1040,\n backgroundColor: \"#373A47\",\n animationFillMode: 'forwards',\n animationDuration: '0.3s',\n animationName: willHidden ? hideBackdropAnimation : showBackdropAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n },\n getContentStyle: function getContentStyle(willHidden) {\n return appendVendorPrefix({\n margin: 0,\n backgroundColor: \"white\",\n animationDuration: (willHidden ? hideAnimation : showAnimation).animationDuration,\n animationFillMode: 'forwards',\n animationName: willHidden ? hideContentAnimation : showContentAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n }\n});","var modalFactory = require('./modalFactory');\n\nvar insertKeyframesRule = require('domkit/insertKeyframesRule');\n\nvar appendVendorPrefix = require('domkit/appendVendorPrefix');\n\nvar animation = {\n show: {\n animationDuration: '0.4s',\n animationTimingFunction: 'cubic-bezier(0.6,0,0.4,1)'\n },\n hide: {\n animationDuration: '0.4s',\n animationTimingFunction: 'ease-out'\n },\n showContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0,\n transform: 'scale3d(0, 0, 1)'\n },\n '100%': {\n opacity: 1,\n transform: 'scale3d(1, 1, 1)'\n }\n }),\n hideContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0,\n transform: 'scale3d(0.5, 0.5, 1)'\n }\n }),\n showBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 0.9\n }\n }),\n hideBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0.9\n },\n '100%': {\n opacity: 0\n }\n })\n};\nvar showAnimation = animation.show;\nvar hideAnimation = animation.hide;\nvar showContentAnimation = animation.showContentAnimation;\nvar hideContentAnimation = animation.hideContentAnimation;\nvar showBackdropAnimation = animation.showBackdropAnimation;\nvar hideBackdropAnimation = animation.hideBackdropAnimation;\nmodule.exports = modalFactory({\n getRef: function getRef(willHidden) {\n return 'content';\n },\n getModalStyle: function getModalStyle(willHidden) {\n return appendVendorPrefix({\n zIndex: 1050,\n position: \"fixed\",\n width: \"500px\",\n transform: \"translate3d(-50%, -50%, 0)\",\n top: \"50%\",\n left: \"50%\"\n });\n },\n getBackdropStyle: function getBackdropStyle(willHidden) {\n return appendVendorPrefix({\n position: \"fixed\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 1040,\n backgroundColor: \"#373A47\",\n animationFillMode: 'forwards',\n animationDuration: '0.4s',\n animationName: willHidden ? hideBackdropAnimation : showBackdropAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n },\n getContentStyle: function getContentStyle(willHidden) {\n return appendVendorPrefix({\n margin: 0,\n backgroundColor: \"white\",\n animationDuration: (willHidden ? hideAnimation : showAnimation).animationDuration,\n animationFillMode: 'forwards',\n animationName: willHidden ? hideContentAnimation : showContentAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n }\n});","var React = require('react');\n\nvar modalFactory = require('./modalFactory');\n\nvar insertKeyframesRule = require('domkit/insertKeyframesRule');\n\nvar appendVendorPrefix = require('domkit/appendVendorPrefix');\n\nvar animation = {\n show: {\n animationDuration: '0.8s',\n animationTimingFunction: 'cubic-bezier(0.6,0,0.4,1)'\n },\n hide: {\n animationDuration: '0.4s',\n animationTimingFunction: 'ease-out'\n },\n showContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0\n },\n '40%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n }),\n hideContentAnimation: insertKeyframesRule({\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n }),\n showBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 0.9\n }\n }),\n hideBackdropAnimation: insertKeyframesRule({\n '0%': {\n opacity: 0.9\n },\n '100%': {\n opacity: 0\n }\n })\n};\nvar showAnimation = animation.show;\nvar hideAnimation = animation.hide;\nvar showContentAnimation = animation.showContentAnimation;\nvar hideContentAnimation = animation.hideContentAnimation;\nvar showBackdropAnimation = animation.showBackdropAnimation;\nvar hideBackdropAnimation = animation.hideBackdropAnimation;\nmodule.exports = modalFactory({\n getRef: function getRef(willHidden) {\n return 'content';\n },\n getSharp: function getSharp(willHidden) {\n var strokeDashLength = 1680;\n var showSharpAnimation = insertKeyframesRule({\n '0%': {\n 'stroke-dashoffset': strokeDashLength\n },\n '100%': {\n 'stroke-dashoffset': 0\n }\n });\n var sharpStyle = {\n position: 'absolute',\n width: 'calc(100%)',\n height: 'calc(100%)',\n zIndex: '-1'\n };\n var rectStyle = appendVendorPrefix({\n animationDuration: willHidden ? '0.4s' : '0.8s',\n animationFillMode: 'forwards',\n animationName: willHidden ? hideContentAnimation : showSharpAnimation,\n stroke: '#ffffff',\n strokeWidth: '2px',\n strokeDasharray: strokeDashLength\n });\n return React.createElement(\"div\", {\n style: sharpStyle\n }, React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"100%\",\n height: \"100%\",\n viewBox: \"0 0 496 136\",\n preserveAspectRatio: \"none\"\n }, React.createElement(\"rect\", {\n style: rectStyle,\n x: \"2\",\n y: \"2\",\n fill: \"none\",\n width: \"492\",\n height: \"132\"\n })));\n },\n getModalStyle: function getModalStyle(willHidden) {\n return appendVendorPrefix({\n zIndex: 1050,\n position: \"fixed\",\n width: \"500px\",\n transform: \"translate3d(-50%, -50%, 0)\",\n top: \"50%\",\n left: \"50%\"\n });\n },\n getBackdropStyle: function getBackdropStyle(willHidden) {\n return appendVendorPrefix({\n position: \"fixed\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 1040,\n backgroundColor: \"#373A47\",\n animationFillMode: 'forwards',\n animationDuration: '0.4s',\n animationName: willHidden ? hideBackdropAnimation : showBackdropAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n },\n getContentStyle: function getContentStyle(willHidden) {\n return appendVendorPrefix({\n margin: 0,\n backgroundColor: \"white\",\n animationDuration: (willHidden ? hideAnimation : showAnimation).animationDuration,\n animationFillMode: 'forwards',\n animationName: willHidden ? hideContentAnimation : showContentAnimation,\n animationTimingFunction: (willHidden ? hideAnimation : showAnimation).animationTimingFunction\n });\n }\n});","'use strict';\n\nvar _barcodes = require('./barcodes/');\n\nvar _barcodes2 = _interopRequireDefault(_barcodes);\n\nvar _merge = require('./help/merge.js');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _linearizeEncodings = require('./help/linearizeEncodings.js');\n\nvar _linearizeEncodings2 = _interopRequireDefault(_linearizeEncodings);\n\nvar _fixOptions = require('./help/fixOptions.js');\n\nvar _fixOptions2 = _interopRequireDefault(_fixOptions);\n\nvar _getRenderProperties = require('./help/getRenderProperties.js');\n\nvar _getRenderProperties2 = _interopRequireDefault(_getRenderProperties);\n\nvar _optionsFromStrings = require('./help/optionsFromStrings.js');\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _ErrorHandler = require('./exceptions/ErrorHandler.js');\n\nvar _ErrorHandler2 = _interopRequireDefault(_ErrorHandler);\n\nvar _exceptions = require('./exceptions/exceptions.js');\n\nvar _defaults = require('./options/defaults.js');\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} // The protype of the object returned from the JsBarcode() call\n// Help functions\n\n\nvar API = function API() {}; // The first call of the library API\n// Will return an object with all barcodes calls and the data that is used\n// by the renderers\n// Default values\n// Exceptions\n// Import all the barcodes\n\n\nvar JsBarcode = function JsBarcode(element, text, options) {\n var api = new API();\n\n if (typeof element === \"undefined\") {\n throw Error(\"No element to render on was provided.\");\n } // Variables that will be pased through the API calls\n\n\n api._renderProperties = (0, _getRenderProperties2.default)(element);\n api._encodings = [];\n api._options = _defaults2.default;\n api._errorHandler = new _ErrorHandler2.default(api); // If text is set, use the simple syntax (render the barcode directly)\n\n if (typeof text !== \"undefined\") {\n options = options || {};\n\n if (!options.format) {\n options.format = autoSelectBarcode();\n }\n\n api.options(options)[options.format](text, options).render();\n }\n\n return api;\n}; // To make tests work TODO: remove\n\n\nJsBarcode.getModule = function (name) {\n return _barcodes2.default[name];\n}; // Register all barcodes\n\n\nfor (var name in _barcodes2.default) {\n if (_barcodes2.default.hasOwnProperty(name)) {\n // Security check if the propery is a prototype property\n registerBarcode(_barcodes2.default, name);\n }\n}\n\nfunction registerBarcode(barcodes, name) {\n API.prototype[name] = API.prototype[name.toUpperCase()] = API.prototype[name.toLowerCase()] = function (text, options) {\n var api = this;\n return api._errorHandler.wrapBarcodeCall(function () {\n // Ensure text is options.text\n options.text = typeof options.text === 'undefined' ? undefined : '' + options.text;\n var newOptions = (0, _merge2.default)(api._options, options);\n newOptions = (0, _optionsFromStrings2.default)(newOptions);\n var Encoder = barcodes[name];\n var encoded = encode(text, Encoder, newOptions);\n\n api._encodings.push(encoded);\n\n return api;\n });\n };\n} // encode() handles the Encoder call and builds the binary string to be rendered\n\n\nfunction encode(text, Encoder, options) {\n // Ensure that text is a string\n text = \"\" + text;\n var encoder = new Encoder(text, options); // If the input is not valid for the encoder, throw error.\n // If the valid callback option is set, call it instead of throwing error\n\n if (!encoder.valid()) {\n throw new _exceptions.InvalidInputException(encoder.constructor.name, text);\n } // Make a request for the binary data (and other infromation) that should be rendered\n\n\n var encoded = encoder.encode(); // Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n // Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\n encoded = (0, _linearizeEncodings2.default)(encoded); // Merge\n\n for (var i = 0; i < encoded.length; i++) {\n encoded[i].options = (0, _merge2.default)(options, encoded[i].options);\n }\n\n return encoded;\n}\n\nfunction autoSelectBarcode() {\n // If CODE128 exists. Use it\n if (_barcodes2.default[\"CODE128\"]) {\n return \"CODE128\";\n } // Else, take the first (probably only) barcode\n\n\n return Object.keys(_barcodes2.default)[0];\n} // Sets global encoder options\n// Added to the api by the JsBarcode function\n\n\nAPI.prototype.options = function (options) {\n this._options = (0, _merge2.default)(this._options, options);\n return this;\n}; // Will create a blank space (usually in between barcodes)\n\n\nAPI.prototype.blank = function (size) {\n var zeroes = new Array(size + 1).join(\"0\");\n\n this._encodings.push({\n data: zeroes\n });\n\n return this;\n}; // Initialize JsBarcode on all HTML elements defined.\n\n\nAPI.prototype.init = function () {\n // Should do nothing if no elements where found\n if (!this._renderProperties) {\n return;\n } // Make sure renderProperies is an array\n\n\n if (!Array.isArray(this._renderProperties)) {\n this._renderProperties = [this._renderProperties];\n }\n\n var renderProperty;\n\n for (var i in this._renderProperties) {\n renderProperty = this._renderProperties[i];\n var options = (0, _merge2.default)(this._options, renderProperty.options);\n\n if (options.format == \"auto\") {\n options.format = autoSelectBarcode();\n }\n\n this._errorHandler.wrapBarcodeCall(function () {\n var text = options.value;\n\n var Encoder = _barcodes2.default[options.format.toUpperCase()];\n\n var encoded = encode(text, Encoder, options);\n render(renderProperty, encoded, options);\n });\n }\n}; // The render API call. Calls the real render function.\n\n\nAPI.prototype.render = function () {\n if (!this._renderProperties) {\n throw new _exceptions.NoElementException();\n }\n\n if (Array.isArray(this._renderProperties)) {\n for (var i = 0; i < this._renderProperties.length; i++) {\n render(this._renderProperties[i], this._encodings, this._options);\n }\n } else {\n render(this._renderProperties, this._encodings, this._options);\n }\n\n return this;\n};\n\nAPI.prototype._defaults = _defaults2.default; // Prepares the encodings and calls the renderer\n\nfunction render(renderProperties, encodings, options) {\n encodings = (0, _linearizeEncodings2.default)(encodings);\n\n for (var i = 0; i < encodings.length; i++) {\n encodings[i].options = (0, _merge2.default)(options, encodings[i].options);\n (0, _fixOptions2.default)(encodings[i].options);\n }\n\n (0, _fixOptions2.default)(options);\n var Renderer = renderProperties.renderer;\n var renderer = new Renderer(renderProperties.element, encodings, options);\n renderer.render();\n\n if (renderProperties.afterRender) {\n renderProperties.afterRender();\n }\n} // Export to browser\n\n\nif (typeof window !== \"undefined\") {\n window.JsBarcode = JsBarcode;\n} // Export to jQuery\n\n/*global jQuery */\n\n\nif (typeof jQuery !== 'undefined') {\n jQuery.fn.JsBarcode = function (content, options) {\n var elementArray = [];\n jQuery(this).each(function () {\n elementArray.push(this);\n });\n return JsBarcode(elementArray, content, options);\n };\n} // Export to commonJS\n\n\nmodule.exports = JsBarcode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _CODE = require('./CODE39/');\n\nvar _CODE2 = require('./CODE128/');\n\nvar _EAN_UPC = require('./EAN_UPC/');\n\nvar _ITF = require('./ITF/');\n\nvar _MSI = require('./MSI/');\n\nvar _pharmacode = require('./pharmacode/');\n\nvar _codabar = require('./codabar');\n\nvar _GenericBarcode = require('./GenericBarcode/');\n\nexports.default = {\n CODE39: _CODE.CODE39,\n CODE128: _CODE2.CODE128,\n CODE128A: _CODE2.CODE128A,\n CODE128B: _CODE2.CODE128B,\n CODE128C: _CODE2.CODE128C,\n EAN13: _EAN_UPC.EAN13,\n EAN8: _EAN_UPC.EAN8,\n EAN5: _EAN_UPC.EAN5,\n EAN2: _EAN_UPC.EAN2,\n UPC: _EAN_UPC.UPC,\n UPCE: _EAN_UPC.UPCE,\n ITF14: _ITF.ITF14,\n ITF: _ITF.ITF,\n MSI: _MSI.MSI,\n MSI10: _MSI.MSI10,\n MSI11: _MSI.MSI11,\n MSI1010: _MSI.MSI1010,\n MSI1110: _MSI.MSI1110,\n pharmacode: _pharmacode.pharmacode,\n codabar: _codabar.codabar,\n GenericBarcode: _GenericBarcode.GenericBarcode\n};","\"use strict\";\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CODE39 = undefined;\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Encoding documentation:\n// https://en.wikipedia.org/wiki/Code_39#Encoding\n\n\nvar CODE39 = function (_Barcode) {\n _inherits(CODE39, _Barcode);\n\n function CODE39(data, options) {\n _classCallCheck(this, CODE39);\n\n data = data.toUpperCase(); // Calculate mod43 checksum if enabled\n\n if (options.mod43) {\n data += getCharacter(mod43checksum(data));\n }\n\n return _possibleConstructorReturn(this, (CODE39.__proto__ || Object.getPrototypeOf(CODE39)).call(this, data, options));\n }\n\n _createClass(CODE39, [{\n key: \"encode\",\n value: function encode() {\n // First character is always a *\n var result = getEncoding(\"*\"); // Take every character and add the binary representation to the result\n\n for (var i = 0; i < this.data.length; i++) {\n result += getEncoding(this.data[i]) + \"0\";\n } // Last character is always a *\n\n\n result += getEncoding(\"*\");\n return {\n data: result,\n text: this.text\n };\n }\n }, {\n key: \"valid\",\n value: function valid() {\n return this.data.search(/^[0-9A-Z\\-\\.\\ \\$\\/\\+\\%]+$/) !== -1;\n }\n }]);\n\n return CODE39;\n}(_Barcode3.default); // All characters. The position in the array is the (checksum) value\n\n\nvar characters = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"-\", \".\", \" \", \"$\", \"/\", \"+\", \"%\", \"*\"]; // The decimal representation of the characters, is converted to the\n// corresponding binary with the getEncoding function\n\nvar encodings = [20957, 29783, 23639, 30485, 20951, 29813, 23669, 20855, 29789, 23645, 29975, 23831, 30533, 22295, 30149, 24005, 21623, 29981, 23837, 22301, 30023, 23879, 30545, 22343, 30161, 24017, 21959, 30065, 23921, 22385, 29015, 18263, 29141, 17879, 29045, 18293, 17783, 29021, 18269, 17477, 17489, 17681, 20753, 35770]; // Get the binary representation of a character by converting the encodings\n// from decimal to binary\n\nfunction getEncoding(character) {\n return getBinary(characterValue(character));\n}\n\nfunction getBinary(characterValue) {\n return encodings[characterValue].toString(2);\n}\n\nfunction getCharacter(characterValue) {\n return characters[characterValue];\n}\n\nfunction characterValue(character) {\n return characters.indexOf(character);\n}\n\nfunction mod43checksum(data) {\n var checksum = 0;\n\n for (var i = 0; i < data.length; i++) {\n checksum += characterValue(data[i]);\n }\n\n checksum = checksum % 43;\n return checksum;\n}\n\nexports.CODE39 = CODE39;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CODE128C = exports.CODE128B = exports.CODE128A = exports.CODE128 = undefined;\n\nvar _CODE128_AUTO = require('./CODE128_AUTO.js');\n\nvar _CODE128_AUTO2 = _interopRequireDefault(_CODE128_AUTO);\n\nvar _CODE128A = require('./CODE128A.js');\n\nvar _CODE128A2 = _interopRequireDefault(_CODE128A);\n\nvar _CODE128B = require('./CODE128B.js');\n\nvar _CODE128B2 = _interopRequireDefault(_CODE128B);\n\nvar _CODE128C = require('./CODE128C.js');\n\nvar _CODE128C2 = _interopRequireDefault(_CODE128C);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.CODE128 = _CODE128_AUTO2.default;\nexports.CODE128A = _CODE128A2.default;\nexports.CODE128B = _CODE128B2.default;\nexports.CODE128C = _CODE128C2.default;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _CODE2 = require('./CODE128');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _auto = require('./auto');\n\nvar _auto2 = _interopRequireDefault(_auto);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar CODE128AUTO = function (_CODE) {\n _inherits(CODE128AUTO, _CODE);\n\n function CODE128AUTO(data, options) {\n _classCallCheck(this, CODE128AUTO); // ASCII value ranges 0-127, 200-211\n\n\n if (/^[\\x00-\\x7F\\xC8-\\xD3]+$/.test(data)) {\n var _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, (0, _auto2.default)(data), options));\n } else {\n var _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, data, options));\n }\n\n return _possibleConstructorReturn(_this);\n }\n\n return CODE128AUTO;\n}(_CODE3.default);\n\nexports.default = CODE128AUTO;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _constants = require('./constants'); // Match Set functions\n\n\nvar matchSetALength = function matchSetALength(string) {\n return string.match(new RegExp('^' + _constants.A_CHARS + '*'))[0].length;\n};\n\nvar matchSetBLength = function matchSetBLength(string) {\n return string.match(new RegExp('^' + _constants.B_CHARS + '*'))[0].length;\n};\n\nvar matchSetC = function matchSetC(string) {\n return string.match(new RegExp('^' + _constants.C_CHARS + '*'))[0];\n}; // CODE128A or CODE128B\n\n\nfunction autoSelectFromAB(string, isA) {\n var ranges = isA ? _constants.A_CHARS : _constants.B_CHARS;\n var untilC = string.match(new RegExp('^(' + ranges + '+?)(([0-9]{2}){2,})([^0-9]|$)'));\n\n if (untilC) {\n return untilC[1] + String.fromCharCode(204) + autoSelectFromC(string.substring(untilC[1].length));\n }\n\n var chars = string.match(new RegExp('^' + ranges + '+'))[0];\n\n if (chars.length === string.length) {\n return string;\n }\n\n return chars + String.fromCharCode(isA ? 205 : 206) + autoSelectFromAB(string.substring(chars.length), !isA);\n} // CODE128C\n\n\nfunction autoSelectFromC(string) {\n var cMatch = matchSetC(string);\n var length = cMatch.length;\n\n if (length === string.length) {\n return string;\n }\n\n string = string.substring(length); // Select A/B depending on the longest match\n\n var isA = matchSetALength(string) >= matchSetBLength(string);\n return cMatch + String.fromCharCode(isA ? 206 : 205) + autoSelectFromAB(string, isA);\n} // Detect Code Set (A, B or C) and format the string\n\n\nexports.default = function (string) {\n var newString = void 0;\n var cLength = matchSetC(string).length; // Select 128C if the string start with enough digits\n\n if (cLength >= 2) {\n newString = _constants.C_START_CHAR + autoSelectFromC(string);\n } else {\n // Select A/B depending on the longest match\n var isA = matchSetALength(string) > matchSetBLength(string);\n newString = (isA ? _constants.A_START_CHAR : _constants.B_START_CHAR) + autoSelectFromAB(string, isA);\n }\n\n return newString.replace(/[\\xCD\\xCE]([^])[\\xCD\\xCE]/, // Any sequence between 205 and 206 characters\n function (match, char) {\n return String.fromCharCode(203) + char;\n });\n};","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar CODE128A = function (_CODE) {\n _inherits(CODE128A, _CODE);\n\n function CODE128A(string, options) {\n _classCallCheck(this, CODE128A);\n\n return _possibleConstructorReturn(this, (CODE128A.__proto__ || Object.getPrototypeOf(CODE128A)).call(this, _constants.A_START_CHAR + string, options));\n }\n\n _createClass(CODE128A, [{\n key: 'valid',\n value: function valid() {\n return new RegExp('^' + _constants.A_CHARS + '+$').test(this.data);\n }\n }]);\n\n return CODE128A;\n}(_CODE3.default);\n\nexports.default = CODE128A;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar CODE128B = function (_CODE) {\n _inherits(CODE128B, _CODE);\n\n function CODE128B(string, options) {\n _classCallCheck(this, CODE128B);\n\n return _possibleConstructorReturn(this, (CODE128B.__proto__ || Object.getPrototypeOf(CODE128B)).call(this, _constants.B_START_CHAR + string, options));\n }\n\n _createClass(CODE128B, [{\n key: 'valid',\n value: function valid() {\n return new RegExp('^' + _constants.B_CHARS + '+$').test(this.data);\n }\n }]);\n\n return CODE128B;\n}(_CODE3.default);\n\nexports.default = CODE128B;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar CODE128C = function (_CODE) {\n _inherits(CODE128C, _CODE);\n\n function CODE128C(string, options) {\n _classCallCheck(this, CODE128C);\n\n return _possibleConstructorReturn(this, (CODE128C.__proto__ || Object.getPrototypeOf(CODE128C)).call(this, _constants.C_START_CHAR + string, options));\n }\n\n _createClass(CODE128C, [{\n key: 'valid',\n value: function valid() {\n return new RegExp('^' + _constants.C_CHARS + '+$').test(this.data);\n }\n }]);\n\n return CODE128C;\n}(_CODE3.default);\n\nexports.default = CODE128C;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPCE = exports.UPC = exports.EAN2 = exports.EAN5 = exports.EAN8 = exports.EAN13 = undefined;\n\nvar _EAN = require('./EAN13.js');\n\nvar _EAN2 = _interopRequireDefault(_EAN);\n\nvar _EAN3 = require('./EAN8.js');\n\nvar _EAN4 = _interopRequireDefault(_EAN3);\n\nvar _EAN5 = require('./EAN5.js');\n\nvar _EAN6 = _interopRequireDefault(_EAN5);\n\nvar _EAN7 = require('./EAN2.js');\n\nvar _EAN8 = _interopRequireDefault(_EAN7);\n\nvar _UPC = require('./UPC.js');\n\nvar _UPC2 = _interopRequireDefault(_UPC);\n\nvar _UPCE = require('./UPCE.js');\n\nvar _UPCE2 = _interopRequireDefault(_UPCE);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.EAN13 = _EAN2.default;\nexports.EAN8 = _EAN4.default;\nexports.EAN5 = _EAN6.default;\nexports.EAN2 = _EAN8.default;\nexports.UPC = _UPC2.default;\nexports.UPCE = _UPCE2.default;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n};\n\nvar _constants = require('./constants');\n\nvar _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Encoding documentation:\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Binary_encoding_of_data_digits_into_EAN-13_barcode\n// Calculate the checksum digit\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit\n\n\nvar checksum = function checksum(number) {\n var res = number.substr(0, 12).split('').map(function (n) {\n return +n;\n }).reduce(function (sum, a, idx) {\n return idx % 2 ? sum + a * 3 : sum + a;\n }, 0);\n return (10 - res % 10) % 10;\n};\n\nvar EAN13 = function (_EAN) {\n _inherits(EAN13, _EAN);\n\n function EAN13(data, options) {\n _classCallCheck(this, EAN13); // Add checksum if it does not exist\n\n\n if (data.search(/^[0-9]{12}$/) !== -1) {\n data += checksum(data);\n } // Adds a last character to the end of the barcode\n\n\n var _this = _possibleConstructorReturn(this, (EAN13.__proto__ || Object.getPrototypeOf(EAN13)).call(this, data, options));\n\n _this.lastChar = options.lastChar;\n return _this;\n }\n\n _createClass(EAN13, [{\n key: 'valid',\n value: function valid() {\n return this.data.search(/^[0-9]{13}$/) !== -1 && +this.data[12] === checksum(this.data);\n }\n }, {\n key: 'leftText',\n value: function leftText() {\n return _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftText', this).call(this, 1, 6);\n }\n }, {\n key: 'leftEncode',\n value: function leftEncode() {\n var data = this.data.substr(1, 6);\n var structure = _constants.EAN13_STRUCTURE[this.data[0]];\n return _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftEncode', this).call(this, data, structure);\n }\n }, {\n key: 'rightText',\n value: function rightText() {\n return _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightText', this).call(this, 7, 6);\n }\n }, {\n key: 'rightEncode',\n value: function rightEncode() {\n var data = this.data.substr(7, 6);\n return _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightEncode', this).call(this, data, 'RRRRRR');\n } // The \"standard\" way of printing EAN13 barcodes with guard bars\n\n }, {\n key: 'encodeGuarded',\n value: function encodeGuarded() {\n var data = _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'encodeGuarded', this).call(this); // Extend data with left digit & last character\n\n\n if (this.options.displayValue) {\n data.unshift({\n data: '000000000000',\n text: this.text.substr(0, 1),\n options: {\n textAlign: 'left',\n fontSize: this.fontSize\n }\n });\n\n if (this.options.lastChar) {\n data.push({\n data: '00'\n });\n data.push({\n data: '00000',\n text: this.options.lastChar,\n options: {\n fontSize: this.fontSize\n }\n });\n }\n }\n\n return data;\n }\n }]);\n\n return EAN13;\n}(_EAN3.default);\n\nexports.default = EAN13;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n};\n\nvar _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Encoding documentation:\n// http://www.barcodeisland.com/ean8.phtml\n// Calculate the checksum digit\n\n\nvar checksum = function checksum(number) {\n var res = number.substr(0, 7).split('').map(function (n) {\n return +n;\n }).reduce(function (sum, a, idx) {\n return idx % 2 ? sum + a : sum + a * 3;\n }, 0);\n return (10 - res % 10) % 10;\n};\n\nvar EAN8 = function (_EAN) {\n _inherits(EAN8, _EAN);\n\n function EAN8(data, options) {\n _classCallCheck(this, EAN8); // Add checksum if it does not exist\n\n\n if (data.search(/^[0-9]{7}$/) !== -1) {\n data += checksum(data);\n }\n\n return _possibleConstructorReturn(this, (EAN8.__proto__ || Object.getPrototypeOf(EAN8)).call(this, data, options));\n }\n\n _createClass(EAN8, [{\n key: 'valid',\n value: function valid() {\n return this.data.search(/^[0-9]{8}$/) !== -1 && +this.data[7] === checksum(this.data);\n }\n }, {\n key: 'leftText',\n value: function leftText() {\n return _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftText', this).call(this, 0, 4);\n }\n }, {\n key: 'leftEncode',\n value: function leftEncode() {\n var data = this.data.substr(0, 4);\n return _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftEncode', this).call(this, data, 'LLLL');\n }\n }, {\n key: 'rightText',\n value: function rightText() {\n return _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightText', this).call(this, 4, 4);\n }\n }, {\n key: 'rightEncode',\n value: function rightEncode() {\n var data = this.data.substr(4, 4);\n return _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightEncode', this).call(this, data, 'RRRR');\n }\n }]);\n\n return EAN8;\n}(_EAN3.default);\n\nexports.default = EAN8;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_5#Encoding\n\n\nvar checksum = function checksum(data) {\n var result = data.split('').map(function (n) {\n return +n;\n }).reduce(function (sum, a, idx) {\n return idx % 2 ? sum + a * 9 : sum + a * 3;\n }, 0);\n return result % 10;\n};\n\nvar EAN5 = function (_Barcode) {\n _inherits(EAN5, _Barcode);\n\n function EAN5(data, options) {\n _classCallCheck(this, EAN5);\n\n return _possibleConstructorReturn(this, (EAN5.__proto__ || Object.getPrototypeOf(EAN5)).call(this, data, options));\n }\n\n _createClass(EAN5, [{\n key: 'valid',\n value: function valid() {\n return this.data.search(/^[0-9]{5}$/) !== -1;\n }\n }, {\n key: 'encode',\n value: function encode() {\n var structure = _constants.EAN5_STRUCTURE[checksum(this.data)];\n\n return {\n data: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n text: this.text\n };\n }\n }]);\n\n return EAN5;\n}(_Barcode3.default);\n\nexports.default = EAN5;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_2#Encoding\n\n\nvar EAN2 = function (_Barcode) {\n _inherits(EAN2, _Barcode);\n\n function EAN2(data, options) {\n _classCallCheck(this, EAN2);\n\n return _possibleConstructorReturn(this, (EAN2.__proto__ || Object.getPrototypeOf(EAN2)).call(this, data, options));\n }\n\n _createClass(EAN2, [{\n key: 'valid',\n value: function valid() {\n return this.data.search(/^[0-9]{2}$/) !== -1;\n }\n }, {\n key: 'encode',\n value: function encode() {\n // Choose the structure based on the number mod 4\n var structure = _constants.EAN2_STRUCTURE[parseInt(this.data) % 4];\n\n return {\n // Start bits + Encode the two digits with 01 in between\n data: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n text: this.text\n };\n }\n }]);\n\n return EAN2;\n}(_Barcode3.default);\n\nexports.default = EAN2;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode.js');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nvar _UPC = require('./UPC.js');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Encoding documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#Encoding\n//\n// UPC-E documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#UPC-E\n\n\nvar EXPANSIONS = [\"XX00000XXX\", \"XX10000XXX\", \"XX20000XXX\", \"XXX00000XX\", \"XXXX00000X\", \"XXXXX00005\", \"XXXXX00006\", \"XXXXX00007\", \"XXXXX00008\", \"XXXXX00009\"];\nvar PARITIES = [[\"EEEOOO\", \"OOOEEE\"], [\"EEOEOO\", \"OOEOEE\"], [\"EEOOEO\", \"OOEEOE\"], [\"EEOOOE\", \"OOEEEO\"], [\"EOEEOO\", \"OEOOEE\"], [\"EOOEEO\", \"OEEOOE\"], [\"EOOOEE\", \"OEEEOO\"], [\"EOEOEO\", \"OEOEOE\"], [\"EOEOOE\", \"OEOEEO\"], [\"EOOEOE\", \"OEEOEO\"]];\n\nvar UPCE = function (_Barcode) {\n _inherits(UPCE, _Barcode);\n\n function UPCE(data, options) {\n _classCallCheck(this, UPCE);\n\n var _this = _possibleConstructorReturn(this, (UPCE.__proto__ || Object.getPrototypeOf(UPCE)).call(this, data, options)); // Code may be 6 or 8 digits;\n // A 7 digit code is ambiguous as to whether the extra digit\n // is a UPC-A check or number system digit.\n\n\n _this.isValid = false;\n\n if (data.search(/^[0-9]{6}$/) !== -1) {\n _this.middleDigits = data;\n _this.upcA = expandToUPCA(data, \"0\");\n _this.text = options.text || '' + _this.upcA[0] + data + _this.upcA[_this.upcA.length - 1];\n _this.isValid = true;\n } else if (data.search(/^[01][0-9]{7}$/) !== -1) {\n _this.middleDigits = data.substring(1, data.length - 1);\n _this.upcA = expandToUPCA(_this.middleDigits, data[0]);\n\n if (_this.upcA[_this.upcA.length - 1] === data[data.length - 1]) {\n _this.isValid = true;\n } else {\n // checksum mismatch\n return _possibleConstructorReturn(_this);\n }\n } else {\n return _possibleConstructorReturn(_this);\n }\n\n _this.displayValue = options.displayValue; // Make sure the font is not bigger than the space between the guard bars\n\n if (options.fontSize > options.width * 10) {\n _this.fontSize = options.width * 10;\n } else {\n _this.fontSize = options.fontSize;\n } // Make the guard bars go down half the way of the text\n\n\n _this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n return _this;\n }\n\n _createClass(UPCE, [{\n key: 'valid',\n value: function valid() {\n return this.isValid;\n }\n }, {\n key: 'encode',\n value: function encode() {\n if (this.options.flat) {\n return this.flatEncoding();\n } else {\n return this.guardedEncoding();\n }\n }\n }, {\n key: 'flatEncoding',\n value: function flatEncoding() {\n var result = \"\";\n result += \"101\";\n result += this.encodeMiddleDigits();\n result += \"010101\";\n return {\n data: result,\n text: this.text\n };\n }\n }, {\n key: 'guardedEncoding',\n value: function guardedEncoding() {\n var result = []; // Add the UPC-A number system digit beneath the quiet zone\n\n if (this.displayValue) {\n result.push({\n data: \"00000000\",\n text: this.text[0],\n options: {\n textAlign: \"left\",\n fontSize: this.fontSize\n }\n });\n } // Add the guard bars\n\n\n result.push({\n data: \"101\",\n options: {\n height: this.guardHeight\n }\n }); // Add the 6 UPC-E digits\n\n result.push({\n data: this.encodeMiddleDigits(),\n text: this.text.substring(1, 7),\n options: {\n fontSize: this.fontSize\n }\n }); // Add the end bits\n\n result.push({\n data: \"010101\",\n options: {\n height: this.guardHeight\n }\n }); // Add the UPC-A check digit beneath the quiet zone\n\n if (this.displayValue) {\n result.push({\n data: \"00000000\",\n text: this.text[7],\n options: {\n textAlign: \"right\",\n fontSize: this.fontSize\n }\n });\n }\n\n return result;\n }\n }, {\n key: 'encodeMiddleDigits',\n value: function encodeMiddleDigits() {\n var numberSystem = this.upcA[0];\n var checkDigit = this.upcA[this.upcA.length - 1];\n var parity = PARITIES[parseInt(checkDigit)][parseInt(numberSystem)];\n return (0, _encoder2.default)(this.middleDigits, parity);\n }\n }]);\n\n return UPCE;\n}(_Barcode3.default);\n\nfunction expandToUPCA(middleDigits, numberSystem) {\n var lastUpcE = parseInt(middleDigits[middleDigits.length - 1]);\n var expansion = EXPANSIONS[lastUpcE];\n var result = \"\";\n var digitIndex = 0;\n\n for (var i = 0; i < expansion.length; i++) {\n var c = expansion[i];\n\n if (c === 'X') {\n result += middleDigits[digitIndex++];\n } else {\n result += c;\n }\n }\n\n result = '' + numberSystem + result;\n return '' + result + (0, _UPC.checksum)(result);\n}\n\nexports.default = UPCE;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ITF14 = exports.ITF = undefined;\n\nvar _ITF = require('./ITF');\n\nvar _ITF2 = _interopRequireDefault(_ITF);\n\nvar _ITF3 = require('./ITF14');\n\nvar _ITF4 = _interopRequireDefault(_ITF3);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.ITF = _ITF2.default;\nexports.ITF14 = _ITF4.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar START_BIN = exports.START_BIN = '1010';\nvar END_BIN = exports.END_BIN = '11101';\nvar BINARIES = exports.BINARIES = ['00110', '10001', '01001', '11000', '00101', '10100', '01100', '00011', '10010', '01010'];","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _ITF2 = require('./ITF');\n\nvar _ITF3 = _interopRequireDefault(_ITF2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Calculate the checksum digit\n\n\nvar checksum = function checksum(data) {\n var res = data.substr(0, 13).split('').map(function (num) {\n return parseInt(num, 10);\n }).reduce(function (sum, n, idx) {\n return sum + n * (3 - idx % 2 * 2);\n }, 0);\n return Math.ceil(res / 10) * 10 - res;\n};\n\nvar ITF14 = function (_ITF) {\n _inherits(ITF14, _ITF);\n\n function ITF14(data, options) {\n _classCallCheck(this, ITF14); // Add checksum if it does not exist\n\n\n if (data.search(/^[0-9]{13}$/) !== -1) {\n data += checksum(data);\n }\n\n return _possibleConstructorReturn(this, (ITF14.__proto__ || Object.getPrototypeOf(ITF14)).call(this, data, options));\n }\n\n _createClass(ITF14, [{\n key: 'valid',\n value: function valid() {\n return this.data.search(/^[0-9]{14}$/) !== -1 && +this.data[13] === checksum(this.data);\n }\n }]);\n\n return ITF14;\n}(_ITF3.default);\n\nexports.default = ITF14;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MSI1110 = exports.MSI1010 = exports.MSI11 = exports.MSI10 = exports.MSI = undefined;\n\nvar _MSI = require('./MSI.js');\n\nvar _MSI2 = _interopRequireDefault(_MSI);\n\nvar _MSI3 = require('./MSI10.js');\n\nvar _MSI4 = _interopRequireDefault(_MSI3);\n\nvar _MSI5 = require('./MSI11.js');\n\nvar _MSI6 = _interopRequireDefault(_MSI5);\n\nvar _MSI7 = require('./MSI1010.js');\n\nvar _MSI8 = _interopRequireDefault(_MSI7);\n\nvar _MSI9 = require('./MSI1110.js');\n\nvar _MSI10 = _interopRequireDefault(_MSI9);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.MSI = _MSI2.default;\nexports.MSI10 = _MSI4.default;\nexports.MSI11 = _MSI6.default;\nexports.MSI1010 = _MSI8.default;\nexports.MSI1110 = _MSI10.default;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar MSI10 = function (_MSI) {\n _inherits(MSI10, _MSI);\n\n function MSI10(data, options) {\n _classCallCheck(this, MSI10);\n\n return _possibleConstructorReturn(this, (MSI10.__proto__ || Object.getPrototypeOf(MSI10)).call(this, data + (0, _checksums.mod10)(data), options));\n }\n\n return MSI10;\n}(_MSI3.default);\n\nexports.default = MSI10;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar MSI11 = function (_MSI) {\n _inherits(MSI11, _MSI);\n\n function MSI11(data, options) {\n _classCallCheck(this, MSI11);\n\n return _possibleConstructorReturn(this, (MSI11.__proto__ || Object.getPrototypeOf(MSI11)).call(this, data + (0, _checksums.mod11)(data), options));\n }\n\n return MSI11;\n}(_MSI3.default);\n\nexports.default = MSI11;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar MSI1010 = function (_MSI) {\n _inherits(MSI1010, _MSI);\n\n function MSI1010(data, options) {\n _classCallCheck(this, MSI1010);\n\n data += (0, _checksums.mod10)(data);\n data += (0, _checksums.mod10)(data);\n return _possibleConstructorReturn(this, (MSI1010.__proto__ || Object.getPrototypeOf(MSI1010)).call(this, data, options));\n }\n\n return MSI1010;\n}(_MSI3.default);\n\nexports.default = MSI1010;","'use strict';\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar MSI1110 = function (_MSI) {\n _inherits(MSI1110, _MSI);\n\n function MSI1110(data, options) {\n _classCallCheck(this, MSI1110);\n\n data += (0, _checksums.mod11)(data);\n data += (0, _checksums.mod10)(data);\n return _possibleConstructorReturn(this, (MSI1110.__proto__ || Object.getPrototypeOf(MSI1110)).call(this, data, options));\n }\n\n return MSI1110;\n}(_MSI3.default);\n\nexports.default = MSI1110;","\"use strict\";\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.pharmacode = undefined;\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Encoding documentation\n// http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf\n\n\nvar pharmacode = function (_Barcode) {\n _inherits(pharmacode, _Barcode);\n\n function pharmacode(data, options) {\n _classCallCheck(this, pharmacode);\n\n var _this = _possibleConstructorReturn(this, (pharmacode.__proto__ || Object.getPrototypeOf(pharmacode)).call(this, data, options));\n\n _this.number = parseInt(data, 10);\n return _this;\n }\n\n _createClass(pharmacode, [{\n key: \"encode\",\n value: function encode() {\n var z = this.number;\n var result = \"\"; // http://i.imgur.com/RMm4UDJ.png\n // (source: http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf, page: 34)\n\n while (!isNaN(z) && z != 0) {\n if (z % 2 === 0) {\n // Even\n result = \"11100\" + result;\n z = (z - 2) / 2;\n } else {\n // Odd\n result = \"100\" + result;\n z = (z - 1) / 2;\n }\n } // Remove the two last zeroes\n\n\n result = result.slice(0, -2);\n return {\n data: result,\n text: this.text\n };\n }\n }, {\n key: \"valid\",\n value: function valid() {\n return this.number >= 3 && this.number <= 131070;\n }\n }]);\n\n return pharmacode;\n}(_Barcode3.default);\n\nexports.pharmacode = pharmacode;","\"use strict\";\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.codabar = undefined;\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // Encoding specification:\n// http://www.barcodeisland.com/codabar.phtml\n\n\nvar codabar = function (_Barcode) {\n _inherits(codabar, _Barcode);\n\n function codabar(data, options) {\n _classCallCheck(this, codabar);\n\n if (data.search(/^[0-9\\-\\$\\:\\.\\+\\/]+$/) === 0) {\n data = \"A\" + data + \"A\";\n }\n\n var _this = _possibleConstructorReturn(this, (codabar.__proto__ || Object.getPrototypeOf(codabar)).call(this, data.toUpperCase(), options));\n\n _this.text = _this.options.text || _this.text.replace(/[A-D]/g, '');\n return _this;\n }\n\n _createClass(codabar, [{\n key: \"valid\",\n value: function valid() {\n return this.data.search(/^[A-D][0-9\\-\\$\\:\\.\\+\\/]+[A-D]$/) !== -1;\n }\n }, {\n key: \"encode\",\n value: function encode() {\n var result = [];\n var encodings = this.getEncodings();\n\n for (var i = 0; i < this.data.length; i++) {\n result.push(encodings[this.data.charAt(i)]); // for all characters except the last, append a narrow-space (\"0\")\n\n if (i !== this.data.length - 1) {\n result.push(\"0\");\n }\n }\n\n return {\n text: this.text,\n data: result.join('')\n };\n }\n }, {\n key: \"getEncodings\",\n value: function getEncodings() {\n return {\n \"0\": \"101010011\",\n \"1\": \"101011001\",\n \"2\": \"101001011\",\n \"3\": \"110010101\",\n \"4\": \"101101001\",\n \"5\": \"110101001\",\n \"6\": \"100101011\",\n \"7\": \"100101101\",\n \"8\": \"100110101\",\n \"9\": \"110100101\",\n \"-\": \"101001101\",\n \"$\": \"101100101\",\n \":\": \"1101011011\",\n \"/\": \"1101101011\",\n \".\": \"1101101101\",\n \"+\": \"101100110011\",\n \"A\": \"1011001001\",\n \"B\": \"1001001011\",\n \"C\": \"1010010011\",\n \"D\": \"1010011001\"\n };\n }\n }]);\n\n return codabar;\n}(_Barcode3.default);\n\nexports.codabar = codabar;","\"use strict\";\n\nfunction _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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GenericBarcode = undefined;\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar GenericBarcode = function (_Barcode) {\n _inherits(GenericBarcode, _Barcode);\n\n function GenericBarcode(data, options) {\n _classCallCheck(this, GenericBarcode);\n\n return _possibleConstructorReturn(this, (GenericBarcode.__proto__ || Object.getPrototypeOf(GenericBarcode)).call(this, data, options)); // Sets this.data and this.text\n } // Return the corresponding binary numbers for the data provided\n\n\n _createClass(GenericBarcode, [{\n key: \"encode\",\n value: function encode() {\n return {\n data: \"10101010101010101010101010101010101010101\",\n text: this.text\n };\n } // Resturn true/false if the string provided is valid for this encoder\n\n }, {\n key: \"valid\",\n value: function valid() {\n return true;\n }\n }]);\n\n return GenericBarcode;\n}(_Barcode3.default);\n\nexports.GenericBarcode = GenericBarcode;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = linearizeEncodings; // Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n// Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\nfunction linearizeEncodings(encodings) {\n var linearEncodings = [];\n\n function nextLevel(encoded) {\n if (Array.isArray(encoded)) {\n for (var i = 0; i < encoded.length; i++) {\n nextLevel(encoded[i]);\n }\n } else {\n encoded.text = encoded.text || \"\";\n encoded.data = encoded.data || \"\";\n linearEncodings.push(encoded);\n }\n }\n\n nextLevel(encodings);\n return linearEncodings;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = fixOptions;\n\nfunction fixOptions(options) {\n // Fix the margins\n options.marginTop = options.marginTop || options.margin;\n options.marginBottom = options.marginBottom || options.margin;\n options.marginRight = options.marginRight || options.margin;\n options.marginLeft = options.marginLeft || options.margin;\n return options;\n}","\"use strict\";\n\nfunction _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n};\n/* global HTMLImageElement */\n\n/* global HTMLCanvasElement */\n\n/* global SVGElement */\n\n\nvar _getOptionsFromElement = require(\"./getOptionsFromElement.js\");\n\nvar _getOptionsFromElement2 = _interopRequireDefault(_getOptionsFromElement);\n\nvar _renderers = require(\"../renderers\");\n\nvar _renderers2 = _interopRequireDefault(_renderers);\n\nvar _exceptions = require(\"../exceptions/exceptions.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} // Takes an element and returns an object with information about how\n// it should be rendered\n// This could also return an array with these objects\n// {\n// element: The element that the renderer should draw on\n// renderer: The name of the renderer\n// afterRender (optional): If something has to done after the renderer\n// completed, calls afterRender (function)\n// options (optional): Options that can be defined in the element\n// }\n\n\nfunction getRenderProperties(element) {\n // If the element is a string, query select call again\n if (typeof element === \"string\") {\n return querySelectedRenderProperties(element);\n } // If element is array. Recursivly call with every object in the array\n else if (Array.isArray(element)) {\n var returnArray = [];\n\n for (var i = 0; i < element.length; i++) {\n returnArray.push(getRenderProperties(element[i]));\n }\n\n return returnArray;\n } // If element, render on canvas and set the uri as src\n else if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLImageElement) {\n return newCanvasRenderProperties(element);\n } // If SVG\n else if (element && element.nodeName && element.nodeName.toLowerCase() === 'svg' || typeof SVGElement !== 'undefined' && element instanceof SVGElement) {\n return {\n element: element,\n options: (0, _getOptionsFromElement2.default)(element),\n renderer: _renderers2.default.SVGRenderer\n };\n } // If canvas (in browser)\n else if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLCanvasElement) {\n return {\n element: element,\n options: (0, _getOptionsFromElement2.default)(element),\n renderer: _renderers2.default.CanvasRenderer\n };\n } // If canvas (in node)\n else if (element && element.getContext) {\n return {\n element: element,\n renderer: _renderers2.default.CanvasRenderer\n };\n } else if (element && (typeof element === \"undefined\" ? \"undefined\" : _typeof(element)) === 'object' && !element.nodeName) {\n return {\n element: element,\n renderer: _renderers2.default.ObjectRenderer\n };\n } else {\n throw new _exceptions.InvalidElementException();\n }\n}\n\nfunction querySelectedRenderProperties(string) {\n var selector = document.querySelectorAll(string);\n\n if (selector.length === 0) {\n return undefined;\n } else {\n var returnArray = [];\n\n for (var i = 0; i < selector.length; i++) {\n returnArray.push(getRenderProperties(selector[i]));\n }\n\n return returnArray;\n }\n}\n\nfunction newCanvasRenderProperties(imgElement) {\n var canvas = document.createElement('canvas');\n return {\n element: canvas,\n options: (0, _getOptionsFromElement2.default)(imgElement),\n renderer: _renderers2.default.CanvasRenderer,\n afterRender: function afterRender() {\n imgElement.setAttribute(\"src\", canvas.toDataURL());\n }\n };\n}\n\nexports.default = getRenderProperties;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _optionsFromStrings = require(\"./optionsFromStrings.js\");\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _defaults = require(\"../options/defaults.js\");\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction getOptionsFromElement(element) {\n var options = {};\n\n for (var property in _defaults2.default) {\n if (_defaults2.default.hasOwnProperty(property)) {\n // jsbarcode-*\n if (element.hasAttribute(\"jsbarcode-\" + property.toLowerCase())) {\n options[property] = element.getAttribute(\"jsbarcode-\" + property.toLowerCase());\n } // data-*\n\n\n if (element.hasAttribute(\"data-\" + property.toLowerCase())) {\n options[property] = element.getAttribute(\"data-\" + property.toLowerCase());\n }\n }\n }\n\n options[\"value\"] = element.getAttribute(\"jsbarcode-value\") || element.getAttribute(\"data-value\"); // Since all atributes are string they need to be converted to integers\n\n options = (0, _optionsFromStrings2.default)(options);\n return options;\n}\n\nexports.default = getOptionsFromElement;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _canvas = require('./canvas.js');\n\nvar _canvas2 = _interopRequireDefault(_canvas);\n\nvar _svg = require('./svg.js');\n\nvar _svg2 = _interopRequireDefault(_svg);\n\nvar _object = require('./object.js');\n\nvar _object2 = _interopRequireDefault(_object);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.default = {\n CanvasRenderer: _canvas2.default,\n SVGRenderer: _svg2.default,\n ObjectRenderer: _object2.default\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nvar CanvasRenderer = function () {\n function CanvasRenderer(canvas, encodings, options) {\n _classCallCheck(this, CanvasRenderer);\n\n this.canvas = canvas;\n this.encodings = encodings;\n this.options = options;\n }\n\n _createClass(CanvasRenderer, [{\n key: \"render\",\n value: function render() {\n // Abort if the browser does not support HTML5 canvas\n if (!this.canvas.getContext) {\n throw new Error('The browser does not support canvas.');\n }\n\n this.prepareCanvas();\n\n for (var i = 0; i < this.encodings.length; i++) {\n var encodingOptions = (0, _merge2.default)(this.options, this.encodings[i].options);\n this.drawCanvasBarcode(encodingOptions, this.encodings[i]);\n this.drawCanvasText(encodingOptions, this.encodings[i]);\n this.moveCanvasDrawing(this.encodings[i]);\n }\n\n this.restoreCanvas();\n }\n }, {\n key: \"prepareCanvas\",\n value: function prepareCanvas() {\n // Get the canvas context\n var ctx = this.canvas.getContext(\"2d\");\n ctx.save();\n (0, _shared.calculateEncodingAttributes)(this.encodings, this.options, ctx);\n var totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n var maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n this.canvas.width = totalWidth + this.options.marginLeft + this.options.marginRight;\n this.canvas.height = maxHeight; // Paint the canvas\n\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n if (this.options.background) {\n ctx.fillStyle = this.options.background;\n ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);\n }\n\n ctx.translate(this.options.marginLeft, 0);\n }\n }, {\n key: \"drawCanvasBarcode\",\n value: function drawCanvasBarcode(options, encoding) {\n // Get the canvas context\n var ctx = this.canvas.getContext(\"2d\");\n var binary = encoding.data; // Creates the barcode out of the encoded binary\n\n var yFrom;\n\n if (options.textPosition == \"top\") {\n yFrom = options.marginTop + options.fontSize + options.textMargin;\n } else {\n yFrom = options.marginTop;\n }\n\n ctx.fillStyle = options.lineColor;\n\n for (var b = 0; b < binary.length; b++) {\n var x = b * options.width + encoding.barcodePadding;\n\n if (binary[b] === \"1\") {\n ctx.fillRect(x, yFrom, options.width, options.height);\n } else if (binary[b]) {\n ctx.fillRect(x, yFrom, options.width, options.height * binary[b]);\n }\n }\n }\n }, {\n key: \"drawCanvasText\",\n value: function drawCanvasText(options, encoding) {\n // Get the canvas context\n var ctx = this.canvas.getContext(\"2d\");\n var font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font; // Draw the text if displayValue is set\n\n if (options.displayValue) {\n var x, y;\n\n if (options.textPosition == \"top\") {\n y = options.marginTop + options.fontSize - options.textMargin;\n } else {\n y = options.height + options.textMargin + options.marginTop + options.fontSize;\n }\n\n ctx.font = font; // Draw the text in the correct X depending on the textAlign option\n\n if (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n x = 0;\n ctx.textAlign = 'left';\n } else if (options.textAlign == \"right\") {\n x = encoding.width - 1;\n ctx.textAlign = 'right';\n } // In all other cases, center the text\n else {\n x = encoding.width / 2;\n ctx.textAlign = 'center';\n }\n\n ctx.fillText(encoding.text, x, y);\n }\n }\n }, {\n key: \"moveCanvasDrawing\",\n value: function moveCanvasDrawing(encoding) {\n var ctx = this.canvas.getContext(\"2d\");\n ctx.translate(encoding.width, 0);\n }\n }, {\n key: \"restoreCanvas\",\n value: function restoreCanvas() {\n // Get the canvas context\n var ctx = this.canvas.getContext(\"2d\");\n ctx.restore();\n }\n }]);\n\n return CanvasRenderer;\n}();\n\nexports.default = CanvasRenderer;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nvar svgns = \"http://www.w3.org/2000/svg\";\n\nvar SVGRenderer = function () {\n function SVGRenderer(svg, encodings, options) {\n _classCallCheck(this, SVGRenderer);\n\n this.svg = svg;\n this.encodings = encodings;\n this.options = options;\n this.document = options.xmlDocument || document;\n }\n\n _createClass(SVGRenderer, [{\n key: \"render\",\n value: function render() {\n var currentX = this.options.marginLeft;\n this.prepareSVG();\n\n for (var i = 0; i < this.encodings.length; i++) {\n var encoding = this.encodings[i];\n var encodingOptions = (0, _merge2.default)(this.options, encoding.options);\n var group = this.createGroup(currentX, encodingOptions.marginTop, this.svg);\n this.setGroupOptions(group, encodingOptions);\n this.drawSvgBarcode(group, encodingOptions, encoding);\n this.drawSVGText(group, encodingOptions, encoding);\n currentX += encoding.width;\n }\n }\n }, {\n key: \"prepareSVG\",\n value: function prepareSVG() {\n // Clear the SVG\n while (this.svg.firstChild) {\n this.svg.removeChild(this.svg.firstChild);\n }\n\n (0, _shared.calculateEncodingAttributes)(this.encodings, this.options);\n var totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n var maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n var width = totalWidth + this.options.marginLeft + this.options.marginRight;\n this.setSvgAttributes(width, maxHeight);\n\n if (this.options.background) {\n this.drawRect(0, 0, width, maxHeight, this.svg).setAttribute(\"style\", \"fill:\" + this.options.background + \";\");\n }\n }\n }, {\n key: \"drawSvgBarcode\",\n value: function drawSvgBarcode(parent, options, encoding) {\n var binary = encoding.data; // Creates the barcode out of the encoded binary\n\n var yFrom;\n\n if (options.textPosition == \"top\") {\n yFrom = options.fontSize + options.textMargin;\n } else {\n yFrom = 0;\n }\n\n var barWidth = 0;\n var x = 0;\n\n for (var b = 0; b < binary.length; b++) {\n x = b * options.width + encoding.barcodePadding;\n\n if (binary[b] === \"1\") {\n barWidth++;\n } else if (barWidth > 0) {\n this.drawRect(x - options.width * barWidth, yFrom, options.width * barWidth, options.height, parent);\n barWidth = 0;\n }\n } // Last draw is needed since the barcode ends with 1\n\n\n if (barWidth > 0) {\n this.drawRect(x - options.width * (barWidth - 1), yFrom, options.width * barWidth, options.height, parent);\n }\n }\n }, {\n key: \"drawSVGText\",\n value: function drawSVGText(parent, options, encoding) {\n var textElem = this.document.createElementNS(svgns, 'text'); // Draw the text if displayValue is set\n\n if (options.displayValue) {\n var x, y;\n textElem.setAttribute(\"style\", \"font:\" + options.fontOptions + \" \" + options.fontSize + \"px \" + options.font);\n\n if (options.textPosition == \"top\") {\n y = options.fontSize - options.textMargin;\n } else {\n y = options.height + options.textMargin + options.fontSize;\n } // Draw the text in the correct X depending on the textAlign option\n\n\n if (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n x = 0;\n textElem.setAttribute(\"text-anchor\", \"start\");\n } else if (options.textAlign == \"right\") {\n x = encoding.width - 1;\n textElem.setAttribute(\"text-anchor\", \"end\");\n } // In all other cases, center the text\n else {\n x = encoding.width / 2;\n textElem.setAttribute(\"text-anchor\", \"middle\");\n }\n\n textElem.setAttribute(\"x\", x);\n textElem.setAttribute(\"y\", y);\n textElem.appendChild(this.document.createTextNode(encoding.text));\n parent.appendChild(textElem);\n }\n }\n }, {\n key: \"setSvgAttributes\",\n value: function setSvgAttributes(width, height) {\n var svg = this.svg;\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"x\", \"0px\");\n svg.setAttribute(\"y\", \"0px\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n svg.setAttribute(\"xmlns\", svgns);\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"style\", \"transform: translate(0,0)\");\n }\n }, {\n key: \"createGroup\",\n value: function createGroup(x, y, parent) {\n var group = this.document.createElementNS(svgns, 'g');\n group.setAttribute(\"transform\", \"translate(\" + x + \", \" + y + \")\");\n parent.appendChild(group);\n return group;\n }\n }, {\n key: \"setGroupOptions\",\n value: function setGroupOptions(group, options) {\n group.setAttribute(\"style\", \"fill:\" + options.lineColor + \";\");\n }\n }, {\n key: \"drawRect\",\n value: function drawRect(x, y, width, height, parent) {\n var rect = this.document.createElementNS(svgns, 'rect');\n rect.setAttribute(\"x\", x);\n rect.setAttribute(\"y\", y);\n rect.setAttribute(\"width\", width);\n rect.setAttribute(\"height\", height);\n parent.appendChild(rect);\n return rect;\n }\n }]);\n\n return SVGRenderer;\n}();\n\nexports.default = SVGRenderer;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nvar ObjectRenderer = function () {\n function ObjectRenderer(object, encodings, options) {\n _classCallCheck(this, ObjectRenderer);\n\n this.object = object;\n this.encodings = encodings;\n this.options = options;\n }\n\n _createClass(ObjectRenderer, [{\n key: \"render\",\n value: function render() {\n this.object.encodings = this.encodings;\n }\n }]);\n\n return ObjectRenderer;\n}();\n\nexports.default = ObjectRenderer;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n/*eslint no-console: 0 */\n\n\nvar ErrorHandler = function () {\n function ErrorHandler(api) {\n _classCallCheck(this, ErrorHandler);\n\n this.api = api;\n }\n\n _createClass(ErrorHandler, [{\n key: \"handleCatch\",\n value: function handleCatch(e) {\n // If babel supported extending of Error in a correct way instanceof would be used here\n if (e.name === \"InvalidInputException\") {\n if (this.api._options.valid !== this.api._defaults.valid) {\n this.api._options.valid(false);\n } else {\n throw e.message;\n }\n } else {\n throw e;\n }\n\n this.api.render = function () {};\n }\n }, {\n key: \"wrapBarcodeCall\",\n value: function wrapBarcodeCall(func) {\n try {\n var result = func.apply(undefined, arguments);\n\n this.api._options.valid(true);\n\n return result;\n } catch (e) {\n this.handleCatch(e);\n return this.api;\n }\n }\n }]);\n\n return ErrorHandler;\n}();\n\nexports.default = ErrorHandler;","var map = {\n\t\"./af\": 176,\n\t\"./af.js\": 176,\n\t\"./ar\": 177,\n\t\"./ar-dz\": 178,\n\t\"./ar-dz.js\": 178,\n\t\"./ar-kw\": 179,\n\t\"./ar-kw.js\": 179,\n\t\"./ar-ly\": 180,\n\t\"./ar-ly.js\": 180,\n\t\"./ar-ma\": 181,\n\t\"./ar-ma.js\": 181,\n\t\"./ar-sa\": 182,\n\t\"./ar-sa.js\": 182,\n\t\"./ar-tn\": 183,\n\t\"./ar-tn.js\": 183,\n\t\"./ar.js\": 177,\n\t\"./az\": 184,\n\t\"./az.js\": 184,\n\t\"./be\": 185,\n\t\"./be.js\": 185,\n\t\"./bg\": 186,\n\t\"./bg.js\": 186,\n\t\"./bm\": 187,\n\t\"./bm.js\": 187,\n\t\"./bn\": 188,\n\t\"./bn-bd\": 189,\n\t\"./bn-bd.js\": 189,\n\t\"./bn.js\": 188,\n\t\"./bo\": 190,\n\t\"./bo.js\": 190,\n\t\"./br\": 191,\n\t\"./br.js\": 191,\n\t\"./bs\": 192,\n\t\"./bs.js\": 192,\n\t\"./ca\": 193,\n\t\"./ca.js\": 193,\n\t\"./cs\": 48,\n\t\"./cs.js\": 48,\n\t\"./cv\": 194,\n\t\"./cv.js\": 194,\n\t\"./cy\": 195,\n\t\"./cy.js\": 195,\n\t\"./da\": 196,\n\t\"./da.js\": 196,\n\t\"./de\": 197,\n\t\"./de-at\": 198,\n\t\"./de-at.js\": 198,\n\t\"./de-ch\": 199,\n\t\"./de-ch.js\": 199,\n\t\"./de.js\": 197,\n\t\"./dv\": 200,\n\t\"./dv.js\": 200,\n\t\"./el\": 201,\n\t\"./el.js\": 201,\n\t\"./en-au\": 202,\n\t\"./en-au.js\": 202,\n\t\"./en-ca\": 203,\n\t\"./en-ca.js\": 203,\n\t\"./en-gb\": 49,\n\t\"./en-gb.js\": 49,\n\t\"./en-ie\": 204,\n\t\"./en-ie.js\": 204,\n\t\"./en-il\": 205,\n\t\"./en-il.js\": 205,\n\t\"./en-in\": 206,\n\t\"./en-in.js\": 206,\n\t\"./en-nz\": 207,\n\t\"./en-nz.js\": 207,\n\t\"./en-sg\": 208,\n\t\"./en-sg.js\": 208,\n\t\"./eo\": 209,\n\t\"./eo.js\": 209,\n\t\"./es\": 210,\n\t\"./es-do\": 211,\n\t\"./es-do.js\": 211,\n\t\"./es-mx\": 212,\n\t\"./es-mx.js\": 212,\n\t\"./es-us\": 213,\n\t\"./es-us.js\": 213,\n\t\"./es.js\": 210,\n\t\"./et\": 214,\n\t\"./et.js\": 214,\n\t\"./eu\": 215,\n\t\"./eu.js\": 215,\n\t\"./fa\": 216,\n\t\"./fa.js\": 216,\n\t\"./fi\": 217,\n\t\"./fi.js\": 217,\n\t\"./fil\": 218,\n\t\"./fil.js\": 218,\n\t\"./fo\": 219,\n\t\"./fo.js\": 219,\n\t\"./fr\": 220,\n\t\"./fr-ca\": 221,\n\t\"./fr-ca.js\": 221,\n\t\"./fr-ch\": 222,\n\t\"./fr-ch.js\": 222,\n\t\"./fr.js\": 220,\n\t\"./fy\": 223,\n\t\"./fy.js\": 223,\n\t\"./ga\": 224,\n\t\"./ga.js\": 224,\n\t\"./gd\": 225,\n\t\"./gd.js\": 225,\n\t\"./gl\": 226,\n\t\"./gl.js\": 226,\n\t\"./gom-deva\": 227,\n\t\"./gom-deva.js\": 227,\n\t\"./gom-latn\": 228,\n\t\"./gom-latn.js\": 228,\n\t\"./gu\": 229,\n\t\"./gu.js\": 229,\n\t\"./he\": 230,\n\t\"./he.js\": 230,\n\t\"./hi\": 231,\n\t\"./hi.js\": 231,\n\t\"./hr\": 232,\n\t\"./hr.js\": 232,\n\t\"./hu\": 233,\n\t\"./hu.js\": 233,\n\t\"./hy-am\": 234,\n\t\"./hy-am.js\": 234,\n\t\"./id\": 235,\n\t\"./id.js\": 235,\n\t\"./is\": 236,\n\t\"./is.js\": 236,\n\t\"./it\": 237,\n\t\"./it-ch\": 238,\n\t\"./it-ch.js\": 238,\n\t\"./it.js\": 237,\n\t\"./ja\": 239,\n\t\"./ja.js\": 239,\n\t\"./jv\": 240,\n\t\"./jv.js\": 240,\n\t\"./ka\": 241,\n\t\"./ka.js\": 241,\n\t\"./kk\": 242,\n\t\"./kk.js\": 242,\n\t\"./km\": 243,\n\t\"./km.js\": 243,\n\t\"./kn\": 244,\n\t\"./kn.js\": 244,\n\t\"./ko\": 245,\n\t\"./ko.js\": 245,\n\t\"./ku\": 246,\n\t\"./ku.js\": 246,\n\t\"./ky\": 247,\n\t\"./ky.js\": 247,\n\t\"./lb\": 248,\n\t\"./lb.js\": 248,\n\t\"./lo\": 249,\n\t\"./lo.js\": 249,\n\t\"./lt\": 250,\n\t\"./lt.js\": 250,\n\t\"./lv\": 251,\n\t\"./lv.js\": 251,\n\t\"./me\": 252,\n\t\"./me.js\": 252,\n\t\"./mi\": 253,\n\t\"./mi.js\": 253,\n\t\"./mk\": 254,\n\t\"./mk.js\": 254,\n\t\"./ml\": 255,\n\t\"./ml.js\": 255,\n\t\"./mn\": 256,\n\t\"./mn.js\": 256,\n\t\"./mr\": 257,\n\t\"./mr.js\": 257,\n\t\"./ms\": 258,\n\t\"./ms-my\": 259,\n\t\"./ms-my.js\": 259,\n\t\"./ms.js\": 258,\n\t\"./mt\": 260,\n\t\"./mt.js\": 260,\n\t\"./my\": 261,\n\t\"./my.js\": 261,\n\t\"./nb\": 262,\n\t\"./nb.js\": 262,\n\t\"./ne\": 263,\n\t\"./ne.js\": 263,\n\t\"./nl\": 264,\n\t\"./nl-be\": 265,\n\t\"./nl-be.js\": 265,\n\t\"./nl.js\": 264,\n\t\"./nn\": 266,\n\t\"./nn.js\": 266,\n\t\"./oc-lnc\": 267,\n\t\"./oc-lnc.js\": 267,\n\t\"./pa-in\": 268,\n\t\"./pa-in.js\": 268,\n\t\"./pl\": 50,\n\t\"./pl.js\": 50,\n\t\"./pt\": 269,\n\t\"./pt-br\": 270,\n\t\"./pt-br.js\": 270,\n\t\"./pt.js\": 269,\n\t\"./ro\": 271,\n\t\"./ro.js\": 271,\n\t\"./ru\": 272,\n\t\"./ru.js\": 272,\n\t\"./sd\": 273,\n\t\"./sd.js\": 273,\n\t\"./se\": 274,\n\t\"./se.js\": 274,\n\t\"./si\": 275,\n\t\"./si.js\": 275,\n\t\"./sk\": 276,\n\t\"./sk.js\": 276,\n\t\"./sl\": 277,\n\t\"./sl.js\": 277,\n\t\"./sq\": 278,\n\t\"./sq.js\": 278,\n\t\"./sr\": 279,\n\t\"./sr-cyrl\": 280,\n\t\"./sr-cyrl.js\": 280,\n\t\"./sr.js\": 279,\n\t\"./ss\": 281,\n\t\"./ss.js\": 281,\n\t\"./sv\": 282,\n\t\"./sv.js\": 282,\n\t\"./sw\": 283,\n\t\"./sw.js\": 283,\n\t\"./ta\": 284,\n\t\"./ta.js\": 284,\n\t\"./te\": 285,\n\t\"./te.js\": 285,\n\t\"./tet\": 286,\n\t\"./tet.js\": 286,\n\t\"./tg\": 287,\n\t\"./tg.js\": 287,\n\t\"./th\": 288,\n\t\"./th.js\": 288,\n\t\"./tk\": 289,\n\t\"./tk.js\": 289,\n\t\"./tl-ph\": 290,\n\t\"./tl-ph.js\": 290,\n\t\"./tlh\": 291,\n\t\"./tlh.js\": 291,\n\t\"./tr\": 292,\n\t\"./tr.js\": 292,\n\t\"./tzl\": 293,\n\t\"./tzl.js\": 293,\n\t\"./tzm\": 294,\n\t\"./tzm-latn\": 295,\n\t\"./tzm-latn.js\": 295,\n\t\"./tzm.js\": 294,\n\t\"./ug-cn\": 296,\n\t\"./ug-cn.js\": 296,\n\t\"./uk\": 297,\n\t\"./uk.js\": 297,\n\t\"./ur\": 298,\n\t\"./ur.js\": 298,\n\t\"./uz\": 299,\n\t\"./uz-latn\": 300,\n\t\"./uz-latn.js\": 300,\n\t\"./uz.js\": 299,\n\t\"./vi\": 301,\n\t\"./vi.js\": 301,\n\t\"./x-pseudo\": 302,\n\t\"./x-pseudo.js\": 302,\n\t\"./yo\": 303,\n\t\"./yo.js\": 303,\n\t\"./zh-cn\": 304,\n\t\"./zh-cn.js\": 304,\n\t\"./zh-hk\": 305,\n\t\"./zh-hk.js\": 305,\n\t\"./zh-mo\": 306,\n\t\"./zh-mo.js\": 306,\n\t\"./zh-tw\": 307,\n\t\"./zh-tw.js\": 307\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 490;","'use strict';\n\nfunction _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\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _TransitionGroup = require('./TransitionGroup');\n\nvar _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);\n\nvar _CSSTransitionGroupChild = require('./CSSTransitionGroupChild');\n\nvar _CSSTransitionGroupChild2 = _interopRequireDefault(_CSSTransitionGroupChild);\n\nvar _PropTypes = require('./utils/PropTypes');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar propTypes = {\n transitionName: _PropTypes.nameShape.isRequired,\n transitionAppear: _propTypes2.default.bool,\n transitionEnter: _propTypes2.default.bool,\n transitionLeave: _propTypes2.default.bool,\n transitionAppearTimeout: (0, _PropTypes.transitionTimeout)('Appear'),\n transitionEnterTimeout: (0, _PropTypes.transitionTimeout)('Enter'),\n transitionLeaveTimeout: (0, _PropTypes.transitionTimeout)('Leave')\n};\nvar defaultProps = {\n transitionAppear: false,\n transitionEnter: true,\n transitionLeave: true\n};\n\nvar CSSTransitionGroup = function (_React$Component) {\n _inherits(CSSTransitionGroup, _React$Component);\n\n function CSSTransitionGroup() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CSSTransitionGroup);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this._wrapChild = function (child) {\n return _react2.default.createElement(_CSSTransitionGroupChild2.default, {\n name: _this.props.transitionName,\n appear: _this.props.transitionAppear,\n enter: _this.props.transitionEnter,\n leave: _this.props.transitionLeave,\n appearTimeout: _this.props.transitionAppearTimeout,\n enterTimeout: _this.props.transitionEnterTimeout,\n leaveTimeout: _this.props.transitionLeaveTimeout\n }, child);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n } // We need to provide this childFactory so that\n // ReactCSSTransitionGroupChild can receive updates to name, enter, and\n // leave while it is leaving.\n\n\n CSSTransitionGroup.prototype.render = function render() {\n return _react2.default.createElement(_TransitionGroup2.default, _extends({}, this.props, {\n childFactory: this._wrapChild\n }));\n };\n\n return CSSTransitionGroup;\n}(_react2.default.Component);\n\nCSSTransitionGroup.displayName = 'CSSTransitionGroup';\nCSSTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nCSSTransitionGroup.defaultProps = defaultProps;\nexports.default = CSSTransitionGroup;\nmodule.exports = exports['default'];","'use strict';\n\nfunction _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\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _chainFunction = require('chain-function');\n\nvar _chainFunction2 = _interopRequireDefault(_chainFunction);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _ChildMapping = require('./utils/ChildMapping');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar propTypes = {\n component: _propTypes2.default.any,\n childFactory: _propTypes2.default.func,\n children: _propTypes2.default.node\n};\nvar defaultProps = {\n component: 'span',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n\nvar TransitionGroup = function (_React$Component) {\n _inherits(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n _classCallCheck(this, TransitionGroup);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.performAppear = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillAppear) {\n component.componentWillAppear(_this._handleDoneAppearing.bind(_this, key, component));\n } else {\n _this._handleDoneAppearing(key, component);\n }\n };\n\n _this._handleDoneAppearing = function (key, component) {\n if (component.componentDidAppear) {\n component.componentDidAppear();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully appeared. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performEnter = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillEnter) {\n component.componentWillEnter(_this._handleDoneEntering.bind(_this, key, component));\n } else {\n _this._handleDoneEntering(key, component);\n }\n };\n\n _this._handleDoneEntering = function (key, component) {\n if (component.componentDidEnter) {\n component.componentDidEnter();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully entered. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performLeave = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillLeave) {\n component.componentWillLeave(_this._handleDoneLeaving.bind(_this, key, component));\n } else {\n // Note that this is somewhat dangerous b/c it calls setState()\n // again, effectively mutating the component before all the work\n // is done.\n _this._handleDoneLeaving(key, component);\n }\n };\n\n _this._handleDoneLeaving = function (key, component) {\n if (component.componentDidLeave) {\n component.componentDidLeave();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (currentChildMapping && currentChildMapping.hasOwnProperty(key)) {\n // This entered again before it fully left. Add it again.\n _this.keysToEnter.push(key);\n } else {\n _this.setState(function (state) {\n var newChildren = _extends({}, state.children);\n\n delete newChildren[key];\n return {\n children: newChildren\n };\n });\n }\n };\n\n _this.childRefs = Object.create(null);\n _this.state = {\n children: (0, _ChildMapping.getChildMapping)(props.children)\n };\n return _this;\n }\n\n TransitionGroup.prototype.componentWillMount = function componentWillMount() {\n this.currentlyTransitioningKeys = {};\n this.keysToEnter = [];\n this.keysToLeave = [];\n };\n\n TransitionGroup.prototype.componentDidMount = function componentDidMount() {\n var initialChildMapping = this.state.children;\n\n for (var key in initialChildMapping) {\n if (initialChildMapping[key]) {\n this.performAppear(key, this.childRefs[key]);\n }\n }\n };\n\n TransitionGroup.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var nextChildMapping = (0, _ChildMapping.getChildMapping)(nextProps.children);\n var prevChildMapping = this.state.children;\n this.setState({\n children: (0, _ChildMapping.mergeChildMappings)(prevChildMapping, nextChildMapping)\n });\n\n for (var key in nextChildMapping) {\n var hasPrev = prevChildMapping && prevChildMapping.hasOwnProperty(key);\n\n if (nextChildMapping[key] && !hasPrev && !this.currentlyTransitioningKeys[key]) {\n this.keysToEnter.push(key);\n }\n }\n\n for (var _key in prevChildMapping) {\n var hasNext = nextChildMapping && nextChildMapping.hasOwnProperty(_key);\n\n if (prevChildMapping[_key] && !hasNext && !this.currentlyTransitioningKeys[_key]) {\n this.keysToLeave.push(_key);\n }\n } // If we want to someday check for reordering, we could do it here.\n\n };\n\n TransitionGroup.prototype.componentDidUpdate = function componentDidUpdate() {\n var _this2 = this;\n\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(function (key) {\n return _this2.performEnter(key, _this2.childRefs[key]);\n });\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(function (key) {\n return _this2.performLeave(key, _this2.childRefs[key]);\n });\n };\n\n TransitionGroup.prototype.render = function render() {\n var _this3 = this; // TODO: we could get rid of the need for the wrapper node\n // by cloning a single child\n\n\n var childrenToRender = [];\n\n var _loop = function _loop(key) {\n var child = _this3.state.children[key];\n\n if (child) {\n var isCallbackRef = typeof child.ref !== 'string';\n\n var factoryChild = _this3.props.childFactory(child);\n\n var ref = function ref(r) {\n _this3.childRefs[key] = r;\n };\n\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(isCallbackRef, 'string refs are not supported on children of TransitionGroup and will be ignored. ' + 'Please use a callback ref instead: https://facebook.github.io/react/docs/refs-and-the-dom.html#the-ref-callback-attribute') : void 0; // Always chaining the refs leads to problems when the childFactory\n // wraps the child. The child ref callback gets called twice with the\n // wrapper and the child. So we only need to chain the ref if the\n // factoryChild is not different from child.\n\n if (factoryChild === child && isCallbackRef) {\n ref = (0, _chainFunction2.default)(child.ref, ref);\n } // You may need to apply reactive updates to a child as it is leaving.\n // The normal React way to do it won't work since the child will have\n // already been removed. In case you need this behavior you can provide\n // a childFactory function to wrap every child, even the ones that are\n // leaving.\n\n\n childrenToRender.push(_react2.default.cloneElement(factoryChild, {\n key: key,\n ref: ref\n }));\n }\n };\n\n for (var key in this.state.children) {\n _loop(key);\n } // Do not forward TransitionGroup props to primitive DOM nodes\n\n\n var props = _extends({}, this.props);\n\n delete props.transitionLeave;\n delete props.transitionName;\n delete props.transitionAppear;\n delete props.transitionEnter;\n delete props.childFactory;\n delete props.transitionLeaveTimeout;\n delete props.transitionEnterTimeout;\n delete props.transitionAppearTimeout;\n delete props.component;\n return _react2.default.createElement(this.props.component, props, childrenToRender);\n };\n\n return TransitionGroup;\n}(_react2.default.Component);\n\nTransitionGroup.displayName = 'TransitionGroup';\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nTransitionGroup.defaultProps = defaultProps;\nexports.default = TransitionGroup;\nmodule.exports = exports['default'];","module.exports = function chain() {\n var len = arguments.length;\n var args = [];\n\n for (var i = 0; i < len; i++) {\n args[i] = arguments[i];\n }\n\n args = args.filter(function (fn) {\n return fn != null;\n });\n if (args.length === 0) return undefined;\n if (args.length === 1) return args[0];\n return args.reduce(function (current, next) {\n return function chainedFunction() {\n current.apply(this, arguments);\n next.apply(this, arguments);\n };\n });\n};","'use strict';\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\n\nvar _react = require('react');\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\n\nfunction getChildMapping(children) {\n if (!children) {\n return children;\n }\n\n var result = {};\n\n _react.Children.map(children, function (child) {\n return child;\n }).forEach(function (child) {\n result[child.key] = child;\n });\n\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n if (next.hasOwnProperty(key)) {\n return next[key];\n }\n\n return prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = {};\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (next.hasOwnProperty(prevKey)) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i = void 0;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending.hasOwnProperty(nextKey)) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}","'use strict';\n\nfunction _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\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _addClass = require('dom-helpers/class/addClass');\n\nvar _addClass2 = _interopRequireDefault(_addClass);\n\nvar _removeClass = require('dom-helpers/class/removeClass');\n\nvar _removeClass2 = _interopRequireDefault(_removeClass);\n\nvar _requestAnimationFrame = require('dom-helpers/util/requestAnimationFrame');\n\nvar _requestAnimationFrame2 = _interopRequireDefault(_requestAnimationFrame);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _PropTypes = require('./utils/PropTypes');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar events = [];\nif (_properties.transitionEnd) events.push(_properties.transitionEnd);\nif (_properties.animationEnd) events.push(_properties.animationEnd);\n\nfunction addEndListener(node, listener) {\n if (events.length) {\n events.forEach(function (e) {\n return node.addEventListener(e, listener, false);\n });\n } else {\n setTimeout(listener, 0);\n }\n\n return function () {\n if (!events.length) return;\n events.forEach(function (e) {\n return node.removeEventListener(e, listener, false);\n });\n };\n}\n\nvar propTypes = {\n children: _propTypes2.default.node,\n name: _PropTypes.nameShape.isRequired,\n // Once we require timeouts to be specified, we can remove the\n // boolean flags (appear etc.) and just accept a number\n // or a bool for the timeout flags (appearTimeout etc.)\n appear: _propTypes2.default.bool,\n enter: _propTypes2.default.bool,\n leave: _propTypes2.default.bool,\n appearTimeout: _propTypes2.default.number,\n enterTimeout: _propTypes2.default.number,\n leaveTimeout: _propTypes2.default.number\n};\n\nvar CSSTransitionGroupChild = function (_React$Component) {\n _inherits(CSSTransitionGroupChild, _React$Component);\n\n function CSSTransitionGroupChild() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CSSTransitionGroupChild);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.componentWillAppear = function (done) {\n if (_this.props.appear) {\n _this.transition('appear', done, _this.props.appearTimeout);\n } else {\n done();\n }\n }, _this.componentWillEnter = function (done) {\n if (_this.props.enter) {\n _this.transition('enter', done, _this.props.enterTimeout);\n } else {\n done();\n }\n }, _this.componentWillLeave = function (done) {\n if (_this.props.leave) {\n _this.transition('leave', done, _this.props.leaveTimeout);\n } else {\n done();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n CSSTransitionGroupChild.prototype.componentWillMount = function componentWillMount() {\n this.classNameAndNodeQueue = [];\n this.transitionTimeouts = [];\n };\n\n CSSTransitionGroupChild.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounted = true;\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n this.transitionTimeouts.forEach(function (timeout) {\n clearTimeout(timeout);\n });\n this.classNameAndNodeQueue.length = 0;\n };\n\n CSSTransitionGroupChild.prototype.transition = function transition(animationType, finishCallback, timeout) {\n var node = (0, _reactDom.findDOMNode)(this);\n\n if (!node) {\n if (finishCallback) {\n finishCallback();\n }\n\n return;\n }\n\n var className = this.props.name[animationType] || this.props.name + '-' + animationType;\n var activeClassName = this.props.name[animationType + 'Active'] || className + '-active';\n var timer = null;\n var removeListeners = void 0;\n (0, _addClass2.default)(node, className); // Need to do this to actually trigger a transition.\n\n this.queueClassAndNode(activeClassName, node); // Clean-up the animation after the specified delay\n\n var finish = function finish(e) {\n if (e && e.target !== node) {\n return;\n }\n\n clearTimeout(timer);\n if (removeListeners) removeListeners();\n (0, _removeClass2.default)(node, className);\n (0, _removeClass2.default)(node, activeClassName);\n if (removeListeners) removeListeners(); // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n\n if (finishCallback) {\n finishCallback();\n }\n };\n\n if (timeout) {\n timer = setTimeout(finish, timeout);\n this.transitionTimeouts.push(timer);\n } else if (_properties.transitionEnd) {\n removeListeners = addEndListener(node, finish);\n }\n };\n\n CSSTransitionGroupChild.prototype.queueClassAndNode = function queueClassAndNode(className, node) {\n var _this2 = this;\n\n this.classNameAndNodeQueue.push({\n className: className,\n node: node\n });\n\n if (!this.rafHandle) {\n this.rafHandle = (0, _requestAnimationFrame2.default)(function () {\n return _this2.flushClassNameAndNodeQueue();\n });\n }\n };\n\n CSSTransitionGroupChild.prototype.flushClassNameAndNodeQueue = function flushClassNameAndNodeQueue() {\n if (!this.unmounted) {\n this.classNameAndNodeQueue.forEach(function (obj) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n /* eslint-disable no-unused-expressions */\n obj.node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n (0, _addClass2.default)(obj.node, obj.className);\n });\n }\n\n this.classNameAndNodeQueue.length = 0;\n this.rafHandle = null;\n };\n\n CSSTransitionGroupChild.prototype.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.name;\n delete props.appear;\n delete props.enter;\n delete props.leave;\n delete props.appearTimeout;\n delete props.enterTimeout;\n delete props.leaveTimeout;\n delete props.children;\n return _react2.default.cloneElement(_react2.default.Children.only(this.props.children), props);\n };\n\n return CSSTransitionGroupChild;\n}(_react2.default.Component);\n\nCSSTransitionGroupChild.displayName = 'CSSTransitionGroupChild';\nCSSTransitionGroupChild.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nexports.default = CSSTransitionGroupChild;\nmodule.exports = exports['default'];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"./inDOM\"));\n\nvar vendors = ['', 'webkit', 'moz', 'o', 'ms'];\nvar cancel = 'clearTimeout';\nvar raf = fallback;\nvar compatRaf;\n\nvar getKey = function getKey(vendor, k) {\n return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n};\n\nif (_inDOM.default) {\n vendors.some(function (vendor) {\n var rafKey = getKey(vendor, 'request');\n\n if (rafKey in window) {\n cancel = getKey(vendor, 'cancel');\n return raf = function raf(cb) {\n return window[rafKey](cb);\n };\n }\n });\n}\n/* https://github.com/component/raf */\n\n\nvar prev = new Date().getTime();\n\nfunction fallback(fn) {\n var curr = new Date().getTime(),\n ms = Math.max(0, 16 - (curr - prev)),\n req = setTimeout(fn, ms);\n prev = curr;\n return req;\n}\n\ncompatRaf = function compatRaf(cb) {\n return raf(cb);\n};\n\ncompatRaf.cancel = function (id) {\n window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);\n};\n\nvar _default = compatRaf;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar transform = 'transform';\nexports.transform = transform;\nvar prefix, transitionEnd, animationEnd;\nexports.animationEnd = animationEnd;\nexports.transitionEnd = transitionEnd;\nvar transitionProperty, transitionDuration, transitionTiming, transitionDelay;\nexports.transitionDelay = transitionDelay;\nexports.transitionTiming = transitionTiming;\nexports.transitionDuration = transitionDuration;\nexports.transitionProperty = transitionProperty;\nvar animationName, animationDuration, animationTiming, animationDelay;\nexports.animationDelay = animationDelay;\nexports.animationTiming = animationTiming;\nexports.animationDuration = animationDuration;\nexports.animationName = animationName;\n\nif (_inDOM.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n exports.transform = transform = prefix + \"-\" + transform;\n exports.transitionProperty = transitionProperty = prefix + \"-transition-property\";\n exports.transitionDuration = transitionDuration = prefix + \"-transition-duration\";\n exports.transitionDelay = transitionDelay = prefix + \"-transition-delay\";\n exports.transitionTiming = transitionTiming = prefix + \"-transition-timing-function\";\n exports.animationName = animationName = prefix + \"-animation-name\";\n exports.animationDuration = animationDuration = prefix + \"-animation-duration\";\n exports.animationTiming = animationTiming = prefix + \"-animation-delay\";\n exports.animationDelay = animationDelay = prefix + \"-animation-timing-function\";\n}\n\nvar _default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\nexports.default = _default;\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n var vendorMap = {\n O: function O(e) {\n return \"o\" + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return \"webkit\" + e;\n },\n ms: function ms(e) {\n return \"MS\" + e;\n }\n };\n var vendors = Object.keys(vendorMap);\n var transitionEnd, animationEnd;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + \"TransitionProperty\" in style) {\n prefix = \"-\" + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n style = null;\n return {\n animationEnd: animationEnd,\n transitionEnd: transitionEnd,\n prefix: prefix\n };\n}","import { getFetchConfig, parseJSON, checkStatus } from '../../common/fetchHelper'\n\nimport Promise from 'bluebird'\nif (!window.Promise) {\n window.Promise = Promise;\n}\n\nexport function setDefaultCount() {\n return { type: 'SET_DEFAULT_SUPPLY_COUNT' }\n}\nexport function IncreaseCount(supply) {\n return { type: 'INCREASE_SUPPLY_COUNT', supply: supply }\n}\n\nexport function DecreaseCount(supply) {\n return { type: 'DECREASE_SUPPLY_COUNT', supply: supply }\n}\n\nfunction fetchSuccess(supplies) {\n return { type: 'FETCH_SUPPLIES_SUCCESS', data: supplies }\n}\n\nfunction categoriesFetchSuccess(categories) {\n return { type: 'FETCH_CATEGORIES_SUCCESS', data: categories }\n}\n\nfunction fetchFailure(errors) {\n return { type: 'FETCH_SUPPLIES_FAILURE', errors }\n}\n\nexport function setStage(id) {\n return { type: 'SET_SELECTED_STAGE', data: id }\n}\n\nexport function setCategory(id) {\n return { type: 'SET_SELECTED_CATEGORY', data: id }\n}\n\nexport function setOrderDirection(direction) {\n return { type: 'SET_ORDER_DIRECTION', data: direction }\n}\n\nexport function fetchSupplies(location_id) {\n return (dispatch, getState) => {\n let url = '/api/v1/operator/locations/'+location_id+'/supplies.json'\n\n if (!location_id) {\n return [];\n }\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((data) => {\n dispatch(fetchSuccess(data));\n dispatch(setDefaultCount());\n return data;\n })\n .catch((error) => {\n dispatch(fetchFailure(error));\n return;\n })\n }\n}\n\nexport function fetchCategories() {\n return (dispatch, getState) => {\n let url = '/api/v1/operator/categories.json'\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((data) => {\n dispatch(categoriesFetchSuccess(data));\n return data;\n })\n .catch((error) => {\n return [];\n })\n }\n}\n\nexport function updateSupplyItemStockQuantity(supplyId, stockQuantity) {\n return { type: 'UPDATE_SUPPLY_ITEM_STOCK_QUANTITY', supplyId, stockQuantity }\n}\n","import React, { PropTypes } from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\nimport { Link } from 'react-router';\n\nimport Button from '../../../common/lib/Button'\nimport { setOrderDirection } from '../../../common/supplies/actions'\n\nlet SuppliesSubmitButton = React.createClass({\n\n propTypes: {\n router: PropTypes.object.isRequired\n },\n\n isDisabled() {\n return this.props.supplies.length <= 0;\n },\n\n disabledClassName() {\n return this.isDisabled() ? 'disabled' : '';\n },\n\n shouldNotRender() {\n const { router } = this.props;\n\n return !router.pathname.includes('supplies')\n || this.props.selectedStage == 'special_orders';\n },\n\n changeDirection() {\n this.props.dispatch(setOrderDirection(\n this.props.orderKind == 'reception' ? 'delivery' : 'reception'\n ))\n },\n\n buttonText() {\n let { orderKind, selectedStage } = this.props;\n\n switch (selectedStage) {\n case 'raw_material':\n return this.props.t(`common:order-delivery`);\n case 'finished_good':\n return this.props.t(`common:order-reception`);\n case 'work_in_progress':\n return this.props.t(`common:order-${orderKind}`);\n }\n },\n\n canShuffle() {\n return this.props.selectedStage == 'work_in_progress';\n },\n\n renderShuffle() {\n return (\n <div className=\"shuffle\" onClick={this.changeDirection}>\n <i className=\"fa fa-random\"></i>\n </div>\n )\n },\n\n render() {\n if (this.shouldNotRender()) { return null }\n let { orderKind } = this.props;\n\n return (\n <div className=\"supplies-submit-button\">\n <Link\n to={`/orders/summary/${orderKind}`}\n className={`desc ${this.disabledClassName()}`}\n >\n {this.buttonText()}{' '}\n <i className=\"fa fa-check\"></i>\n </Link>\n {this.canShuffle() && this.renderShuffle()}\n </div>\n )\n }\n\n})\n\nlet mapStateToProps = (state) => {\n return {\n supplies: state.supplies.supplies.map((supply) => {\n return supply.count;\n }).filter(number => {\n return number != 0;\n }),\n orderKind: state.supplies.orderKind,\n selectedStage: state.supplies.selectedStage\n }\n}\n\nexport default connect(mapStateToProps)(translate(['header'])(SuppliesSubmitButton))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\nimport { Link } from 'react-router';\n\nimport SuppliesSubmitButton from './header/SuppliesSubmitButton'\nimport ThemeSwitch from '../../common/lib/ThemeSwitch';\n\nlet Header = React.createClass({\n\n title() {\n const { t, location } = this.props;\n\n if (/\\/orders\\/summary/.test(location.pathname)) {\n return (\n <span>\n <div className=\"fa fa-plus\"> </div>\n { \" \" }{t('orderFinalization')}\n </span>\n )\n } else if (/\\/supplies/.test(location.pathname)) {\n return (\n <span>\n <div className=\"fa fa-plus\"> </div>\n { \" \" }{t('newOrder')}\n <span className=\"header-subtitle\"> {t('operatorView')}</span>\n </span>\n )\n } else if (/\\/orders/.test(location.pathname)) {\n return (\n <span>\n <div className=\"fa fa-list\"> </div>\n { \" \" }{t('ordersList')}\n <span className=\"header-subtitle\"> {t('operatorView')}</span>\n </span>\n )\n } else if (/\\/profile/.test(location.pathname)) {\n return (\n <span>\n <div className=\"fa fa-list\"> </div>\n { \" \" }{t('profile')}\n </span>\n )\n }\n },\n\n renderSuppliesLink() {\n if (this.props.location.pathname != '/supplies') {\n return (\n <li>\n <Link to={'/supplies'} className=\"switch-link\">\n <i className=\"fa fa-plus\"></i>\n </Link>\n </li>\n )\n }\n },\n\n renderOrdersLink() {\n if (this.props.location.pathname != '/orders') {\n return (\n <li>\n <Link to={'/orders'} className=\"switch-link\">\n <i className=\"fa fa-list\"></i>\n </Link>\n </li>\n )\n }\n },\n\n render() {\n const { t } = this.props;\n const { userName } = this.props.app;\n\n return (\n <header id=\"portable-header\">\n <div className=\"content-wrapper\">\n <div className=\"header-title operator-header-title\">\n {this.title()}\n </div>\n <ul className=\"actions\">\n <li><ThemeSwitch /></li>\n <li className=\"btn-item\">\n <SuppliesSubmitButton router={this.props.location} />\n </li>\n {this.renderOrdersLink()}\n {this.renderSuppliesLink()}\n <li className=\"user-menu\">\n <a style={{ userSelect: 'none' }}>\n <i className=\"fa fa-user\"></i> \n <span className='user-name'>{userName}</span>\n </a>\n <ul>\n <li>\n <Link to={'/profile'} className=\"switch-link\">\n {t('profile')}\n </Link>\n </li>\n <li>\n <a href=\"/users/sign_out\">{this.props.t('common:signOut')}</a>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n </header>\n )\n }\n\n})\n\nlet mapStateToProps = (state) => {\n return {\n app: state.app,\n supplies: state.supplies.supplies\n }\n}\n\nexport default connect(mapStateToProps)(translate(['header'])(Header))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\n\nimport Header from './Header'\nimport { operatorFetch as fetchOrders } from '../../common/orders/actions'\nimport ConnectionStatus from '../../common/containers/connectionStatus/ConnectionStatus'\n\nlet App = React.createClass({\n\n componentDidMount() {\n if (this.props.orders.length === 0) {\n this.props.dispatch(fetchOrders());\n }\n },\n\n onlineAgain() {\n this.props.dispatch(fetchOrders());\n },\n\n render() {\n return (\n <div>\n <ConnectionStatus\n lang={this.props.app.language}\n testUrl={window.location.href}\n onlineAgain={this.onlineAgain}\n />\n <Header location={this.props.location} />\n <section className=\"content\">\n {this.props.children}\n </section>\n </div>\n )\n }\n})\n\nlet mapStateToProps = state => {\n return {\n app: state.app,\n orders: state.orders.orders\n }\n}\n\nexport default connect(mapStateToProps)(App)\n","import React from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport Button from '../../common/lib/Button'\nimport { operatorCancelOrder as cancelOrder } from '../../common/orders/actions'\n\nlet CancelOrder = React.createClass({\n\n cancelOrderClick(reason) {\n this.props.dispatch(cancelOrder(this.props.order.id, reason));\n },\n\n reasonLinks() {\n let reasons = this.props.cancelReasons;\n\n return reasons.map((reason) => {\n return <Button\n key={reason}\n color='danger'\n onClick={() => this.cancelOrderClick(reason)}>\n {this.props.t(`cancelReasons.${reason}`)}\n </Button>;\n });\n },\n\n render: function() {\n return (\n <div>\n <p className='center carrier-info-modal-content'>{this.props.t('cancelReason')}</p>\n {this.reasonLinks()}\n </div>\n );\n }\n\n});\n\nfunction mapStateToProps(state, ownProps) {\n return {\n cancelReasons: state.orders.cancelReasons\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(CancelOrder))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport Barcode from 'react-barcode'\nimport ReactDOM from 'react-dom'\nimport {translate} from 'react-i18next'\nimport moment from 'moment'\n\nimport ZoomedMap from '../../common/lib/map/ZoomedMap'\nimport MapContainer from '../../common/lib/map/Container'\nimport CancelOrder from './CancelOrder'\nimport Button from '../../common/lib/Button'\nimport Modal from '../../common/lib/Modal'\nimport { DATETIME_FORMAT, DEFAULT_BAR_FORMAT } from '../../common/variables'\nimport { operatorReorder, showDetails, operatorCancelOrder, operatorReturnOrder } from '../../common/orders/actions'\n\nconst formatDatetime = (datetime) => {\n if (!datetime) {\n return '-';\n }\n\n return moment(datetime).format(DATETIME_FORMAT);\n};\n\nlet OrderDetails = React.createClass({\n getInitialState() {\n return {\n isOrderReturning: false,\n quantityToReturn: this.props.order.quantity_from_stock - this.props.order.returned_quantity,\n properQuantityToReturn: this.isProperQuantityToReturn(\n this.props.order.quantity_from_stock- this.props.order.returned_quantity,\n this.props.order.quantity_from_stock,\n this.props.order.returned_quantity\n ),\n };\n },\n\n componentDidUpdate() {\n let scrollableDiv = ReactDOM.findDOMNode(this).parentNode;\n scrollableDiv.scrollTop = 0;\n },\n\n componentWillReceiveProps(nextProps) {\n const nextQuantity = nextProps.order.quantity_from_stock - nextProps.order.returned_quantity\n\n this.setState({\n quantityToReturn: nextQuantity,\n properQuantityToReturn: this.isProperQuantityToReturn(\n nextQuantity,\n nextProps.order.quantity_from_stock,\n nextProps.order.returned_quantity\n ),\n });\n},\n\n handleOrderCancel() {\n this.props.dispatch(operatorCancelOrder(this.props.order.id));\n },\n\n handleHideDetails() {\n this.props.dispatch(showDetails(null));\n },\n\n handleReorder() {\n this.props.scrollListUp();\n this.props.dispatch(showDetails(null));\n this.props.dispatch(operatorReorder(this.props.order.id));\n },\n\n handleReturnToStockQuantityChange(e) {\n const value = parseInt(e.target.value)\n const valid = this.isProperQuantityToReturn(value, this.props.order.quantity_from_stock, this.props.order.returned_quantity)\n\n this.setState({\n properQuantityToReturn: valid,\n quantityToReturn: value,\n });\n },\n\n isProperQuantityToReturn(value, orderQuantity, orderReturnedQuantity) {\n return 0 < value && value <= orderQuantity - orderReturnedQuantity\n },\n\n handleReturnToStock() {\n if (this.state.properQuantityToReturn) {\n this.setState({ isOrderReturning: true })\n this.props.dispatch(operatorReturnOrder(this.props.order.id, this.state.quantityToReturn)).then(\n () => {\n this.setState({ isOrderReturning: false })\n }\n )\n }\n },\n\n renderCancelButton() {\n if(['new', 'accepted'].includes(this.props.order.status)) {\n // Cancelling by operator causes destroying order!\n\n // return <div>\n // <Button\n // color='danger'\n // onClick={e => this.refs.cancelModal.showModal()}\n // >\n // {this.props.t('common:cancel')}\n // </Button>\n // <Modal refName='cancelModal' ref='cancelModal'>\n // <CancelOrder order={this.props.order}/>\n // </Modal>\n // </div>;\n return <Button\n color='danger'\n onClick={() => this.props.dispatch(operatorCancelOrder(this.props.order.id))}\n >\n {this.props.t('common:cancel')}\n </Button>;\n }\n },\n\n renderReorderButton() {\n return <Button\n color='blue'\n onClick={this.handleReorder}>\n {this.props.t('reorder')}\n </Button>;\n },\n\n renderRemarks() {\n if (this.props.order.remarks) {\n return (\n <div className=\"order-more-remarks\">\n <b>{this.props.t('remarks')}</b>\n {this.props.order.remarks}\n </div>\n )\n }\n\n return null;\n },\n\n renderReturnToStock() {\n if (\n this.props.order.status == \"delivered\" &&\n this.props.order.item.stock_quantity != -1 &&\n this.props.order.quantity_from_stock > 0\n ) {\n return (\n <div style={{ display: \"inline-block\" }}>\n {this.props.order.returned_quantity != this.props.order.quantity_from_stock && (\n <div style={{ display: \"flex\" }}>\n <input\n type=\"number\"\n style={{\n width: \"50px\",\n height: \"45px\",\n border: \"1px solid #34495e\",\n textAlign: \"center\",\n }}\n value={this.state.quantityToReturn}\n onChange={this.handleReturnToStockQuantityChange}\n min={0}\n max={\n this.props.order.quantity_from_stock - this.props.order.returned_quantity\n }\n />\n <Button\n color=\"blue\"\n onClick={this.handleReturnToStock}\n disabled={\n !this.state.properQuantityToReturn &&\n !this.state.isOrderReturning\n }\n >\n {this.state.isOrderReturning ? (\n <span className=\"fa fa-spinner fa-spin\" />\n ) : (\n this.props.t(\"returnToStock\")\n )}\n </Button>{\" \"}\n </div>\n )}\n <div style={{ fontSize: \"0.6em\" }}>\n {this.props.order.returned_quantity > 0 &&\n this.props.order.returned_quantity !=\n this.props.order.quantity_from_stock && (\n <div>\n {this.props.t(\"returned\")}:{\" \"}\n {this.props.order.returned_quantity}\n </div>\n )}\n {this.props.order.returned_quantity ==\n this.props.order.quantity_from_stock && (\n <div>{this.props.t(\"returnedAll\")}</div>\n )}\n </div>\n </div>\n );\n }\n },\n\n render() {\n let { order, t } = this.props\n\n return (\n <div className=\"order-container order-more\">\n <div className=\"order-more-desc\">\n {order.item.description}\n </div>\n {order.item.stock_quantity == -1\n ? ''\n : (\n <div className=\"smaller\">\n {t(\"supplies:stock_quantity\")}: {order.item.stock_quantity}\n </div>\n )\n }\n <div className=\"order-actions\">\n {this.renderReturnToStock()}\n {this.renderReorderButton()}\n {this.renderCancelButton()}\n </div>\n {order.item.image_medium_url &&\n <div className=\"center\">\n <img src={order.item.image_medium_url} className=\"order-image\" />\n </div>\n }\n {this.renderRemarks()}\n <div className=\"order-more-map mt30\">\n <MapContainer style={{ height: 300 }}>\n <ZoomedMap\n image={{\n url: order.location.map_url,\n width: order.location.map_width,\n height: order.location.map_height\n }}\n positions={[this.props.order.spot]}\n selectedPositionId={this.props.order.spot.id}\n zoomId={this.props.order.id}\n />\n </MapContainer>\n </div>\n <div className=\"order-more-details mt30\">\n <div className=\"order-more-location-barcode\">\n <div className=\"location-barcode-title\">\n {t('locationCode')}\n </div>\n <div className=\"location-barcode-code\">\n <Barcode\n value={order.location.symbol}\n format={DEFAULT_BAR_FORMAT}\n />\n </div>\n </div>\n\n <div className=\"order-more-item-barcode\">\n <div className=\"item-title-code\">\n <div className=\"item-barcode-title\">\n {t('productCode')}\n </div>\n <div className=\"item-barcode-code\">\n <Barcode\n value={order.item.code}\n format={DEFAULT_BAR_FORMAT}\n width={1}\n fontSize={20}\n />\n </div>\n </div>\n </div>\n </div>\n <table className=\"order-more-timestamps\">\n <tbody>\n <tr>\n <td>{t('createdAt')}</td>\n <td>{formatDatetime(order.created_at)}</td>\n </tr>\n <tr>\n <td>{t('takenAt')}</td>\n <td>{formatDatetime(order.taken_at)}</td>\n </tr>\n <tr>\n <td>{t('deliveredAt')}</td>\n <td>{formatDatetime(order.delivered_at)}</td>\n </tr>\n {\n order.location.delivery_confirmation && (\n <tr>\n <td>{t('deliveryConfirmedAt')}</td>\n <td>{formatDatetime(order.delivery_confirmed_at)}</td>\n </tr>\n )\n }\n </tbody>\n </table>\n </div>\n )\n }\n\n});\n\nfunction mapStateToProps(state, ownProps) {\n return {\n order: state.orders.orders.filter(function(elem) {\n return elem.id == state.orders.showDetailsOrderId;\n })[0]\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(OrderDetails))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport FromNow from '../../common/lib/FromNow'\nimport SetIntervalMixin from '../../common/lib/mixins/SetIntervalMixin'\nimport OrderMixin from '../../common/lib/mixins/OrderMixin'\nimport { operatorConfirmDelivery, showDetails } from '../../common/orders/actions'\nimport OrderStatusIcon from '../../common/lib/OrderStatusIcon'\nimport OrderDirectionIcon from '../../common/lib/OrderDirectionIcon'\n\nlet Order = React.createClass({\n mixins: [SetIntervalMixin, OrderMixin],\n\n handleConfirmDelivery(e) {\n e.stopPropagation();\n this.props.dispatch(operatorConfirmDelivery(this.props.order.id));\n },\n\n render() {\n let { order, t } = this.props;\n\n return (\n <tr className={this.rowClassNames()} onClick={this.handleShowDetails}>\n <td className='status'></td>\n <td className={\"order-meta \" + this.highlighted()}>\n <div style={{ width: '100%' }}>\n <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n <div className='line'>\n <div className=\"formatted-date\">\n <OrderStatusIcon order={order} />\n <FromNow datetime={order.created_at} />\n </div>\n <div className=''>\n <OrderDirectionIcon order={order} />\n <span className=\"order-meta-spot\"> {order.location.symbol}: {order.spot_symbol}</span>\n </div>\n </div>\n <div className='line ml6'>\n <div className=\"order-code\">{order.code},</div>\n {this.quantity()}\n </div>\n </div>\n {\n order.status == 'delivered' && order.location.delivery_confirmation && !order.delivery_confirmed_at && (\n <div style={{ width: '100%', display: 'flex', justifyContent: 'center' }}>\n <button className=\"btn btn-success\" onClick={this.handleConfirmDelivery}>\n {t('confirmDelivery')}\n </button>\n </div>\n )\n }\n </div>\n </td>\n <td className=\"order-details\">\n {order.item.image_thumb_url &&\n <div className=\"order-thumb\">\n <img src={order.item.image_thumb_url} className=\"order-image\" />\n </div>\n }\n <div className=\"order-description\">\n {order.item.description}\n </div>\n </td>\n </tr>\n )\n }\n\n});\n\nfunction mapStateToProps(state, ownProps) {\n return {\n showDetailsOrderId: state.orders.showDetailsOrderId\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(Order))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport moment from 'moment/moment.js'\nimport momentEN from 'moment/locale/en-gb'\nimport momentPl from 'moment/locale/pl'\nimport momentCS from 'moment/locale/cs'\nimport ReactCSSTransitionGroup from 'react-addons-css-transition-group'\n\nimport { ORDERS_COUNT_LIMIT } from '../../common/variables'\n\nimport { operatorFetch as fetchOrders } from '../../common/orders/actions'\nimport Order from './Order'\n\nlet OrdersList = React.createClass({\n\n componentDidMount() {\n if (this.props.orders.length === 0) {\n this.props.dispatch(fetchOrders());\n }\n },\n\n operatorsOrders() {\n return this.props.orders.filter((order) => {\n return order.operator_id == this.props.operatorId || order.operator_id == '';\n });\n },\n\n filteredOrders() {\n if (this.props.searchText == '') {\n return this.operatorsOrders();\n }\n\n return this.operatorsOrders().filter((order) => {\n return order.number.includes(this.props.searchText) ||\n order.code.includes(this.props.searchText) ||\n order.item.description.toLowerCase().includes(this.props.searchText.toLowerCase());\n });\n },\n\n sortedOrders() {\n return this.filteredOrders().sort((a,b) => {\n return moment.utc(b.created_at).diff(moment.utc(a.created_at));\n }).slice(0, ORDERS_COUNT_LIMIT);\n },\n\n render() {\n return (\n <table className=\"operator-orders\" id=\"orders-list\">\n <ReactCSSTransitionGroup\n component=\"tbody\"\n transitionName=\"fade\"\n transitionAppear={true}\n transitionAppearTimeout={2000}\n transitionEnterTimeout={3000}\n transitionLeaveTimeout={2500}\n >\n {this.sortedOrders().map(function(order, index) {\n return <Order\n key={order.id}\n index={index}\n updated_at={order.updated_at}\n order={order}\n />;\n })}\n </ReactCSSTransitionGroup>\n </table>\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n orders: state.orders.orders,\n operatorId: state.app.currentUserId\n }\n}\n\nexport default connect(mapStateToProps)(OrdersList)\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport OrderDetails from './OrderDetails'\nimport OrdersList from './OrdersList'\nimport Search from '../../common/lib/Search'\nimport { showDetails, operatorFetch as fetchOrders } from '../../common/orders/actions'\n\nlet OrdersWrapper = React.createClass({\n\n getInitialState: function() {\n return { searchText: '' }\n },\n\n shouldShowDetails() {\n return !!this.props.showDetailsOrderId && !!this.props.detailedOrder;\n },\n\n handleSearch(text) {\n this.setState({searchText: text});\n },\n\n refreshClick() {\n this.props.dispatch(fetchOrders());\n this.refs.searchBox.clear();\n this.props.dispatch(showDetails(null));\n },\n\n scrollListUp() {\n let scrollableDiv = this.refs.orderList;\n scrollableDiv.scrollTop = 0;\n },\n\n render() {\n return (\n <div className=\"content-wrapper\">\n <div className=\"page-header\">\n <a className=\"refresh-button\" href=\"#\" onClick={this.refreshClick}>\n <i className=\"fa fa-refresh\"></i>\n  {this.props.t('common:refresh')}\n </a>\n <Search onSearch={this.handleSearch} ref='searchBox'/>\n </div>\n <div ref='orderList' className={`scroll-wrapper ${this.shouldShowDetails() && 'half'}`}>\n <OrdersList searchText={this.state.searchText}/>\n </div>\n {\n this.shouldShowDetails() &&\n <div className='scroll-wrapper half'>\n <OrderDetails scrollListUp={this.scrollListUp}/>\n </div>\n }\n </div>\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n showDetailsOrderId: state.orders.showDetailsOrderId,\n detailedOrder: state.orders.orders.filter(function(elem) {\n return elem.id == state.orders.showDetailsOrderId;\n })[0]\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(OrdersWrapper))\n","import React from 'react';\n\nexport default ({ show }) => {\n return show ? <span className=\"fa fa-spinner fa-spin\"></span> : null\n}\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport Spinner from '../../common/lib/Spinner'\nimport Map from '../../common/lib/map/Map'\nimport ZoomedMap from '../../common/lib/map/ZoomedMap'\nimport MapContainer from '../../common/lib/map/Container'\nimport { changeRemarks, operatorPlaceOrder as placeSuppliesOrder } from '../../common/orders/actions'\n\nlet OrderSummary = React.createClass({\n\n getInitialState: function() {\n return {\n selectedSpot: null\n }\n },\n\n componentWillMount() {\n if (this.props.location !== undefined) {\n this.setState({selectedSpot: this.props.location.spots[0].id});\n } else {\n // redirect to root\n this.props.router.push('/');\n }\n },\n\n actions() {\n if (!this.props.isSendingOrders){\n return (\n <div className=\"finalize-order-actions\">\n <input\n type=\"submit\"\n name=\"commit\"\n value={this.props.t('common:order')}\n className='btn btn-nephritis'\n onClick={this.finishClick}>\n </input>\n <a\n className=\"btn btn-alizarin\"\n href=\"#\"\n onClick={this.cancelClick}>\n {this.props.t('common:cancel')}\n </a>\n </div>\n );\n } else {\n return (\n <div className=\"finalize-order-actions\">\n <Spinner show={true} />\n </div>);\n }\n },\n\n changeSpotClick(event) {\n this.setState({selectedSpot: event.target.value});\n },\n\n handleChangeRemarks(event) {\n this.props.dispatch(changeRemarks(event.target.value));\n },\n\n cancelClick(e) {\n e.preventDefault();\n\n this.props.router.push('/');\n },\n\n finishClick() {\n let spotId = this.state.selectedSpot;\n this.props.dispatch(placeSuppliesOrder(\n this.props.supplies,\n spotId,\n this.props.params.direction,\n this.props.remarks\n ));\n this.props.dispatch(changeRemarks(''));\n this.props.router.push('orders');\n },\n\n render() {\n const { t, location } = this.props;\n\n if (location === undefined) { return null }\n\n return (\n <div className=\"content-wrapper\">\n <div id=\"order-summary\">\n <div className=\"finalize-order\">\n {t('deliveryLocation')}\n <span id=\"order-location-symbol\">{this.props.location.symbol}</span>\n {this.actions()}\n </div>\n <div className=\"order-spots\">\n <div className=\"order-map\" id=\"map-container\">\n <MapContainer style={{ height: 450 }}>\n <ZoomedMap\n image={{\n url: this.props.location.map_url,\n width: this.props.location.map_width,\n height: this.props.location.map_height\n }}\n positions={this.props.location.spots}\n selectedPositionId={this.state.selectedSpot}\n onPositionClick={(e, id) => {\n this.setState({ selectedSpot: id })\n }}\n />\n </MapContainer>\n </div>\n </div>\n <div className=\"order-details\">\n <div className=\"order-details-location\">\n <table>\n <tbody>\n <tr>\n <th colSpan=\"2\">{t('remarks')}</th>\n <td className=\"order-remarks-cell\">\n <input\n className=\"order-remarks-input\"\n type=\"text\"\n name=\"remarks\"\n value={this.props.remarks}\n onChange={this.handleChangeRemarks}\n placeholder={t('remarksPlaceholder')}\n />\n </td>\n </tr>\n <tr>\n <th colSpan=\"2\">{t('orderedProducts')}</th>\n </tr>\n {this.props.supplies.map((supply) => {\n return <tr key={supply.id}>\n <td className=\"qty-col\">{supply.count}\n x {parseInt(supply.batch_quantity)}\n {supply.item.unit}.\n </td>\n <td>\n {supply.item.image_thumb_url && (\n <div className=\"order-thumb\">\n <img\n src={supply.item.image_thumb_url}\n className=\"order-image\"\n />\n </div>\n )}\n </td>\n <td>\n {supply.item.code}\n - {supply.item.description}\n </td>\n </tr>\n })}\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n});\n\nlet mapStateToProps = (state) => {\n return {\n supplies: state.supplies.supplies.filter(supply => {\n return (supply.count != 0 && supply.count != null);\n }),\n location: state.locations.locations.filter(location => {\n return location.id == state.locations.selectedId;\n })[0],\n isSendingOrders: state.orders.isSendingOrders,\n remarks: state.orders.remarks\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(OrderSummary))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport Spinner from '../../common/lib/Spinner'\nimport Map from '../../common/lib/map/Map'\nimport ZoomedMap from '../../common/lib/map/ZoomedMap'\nimport MapContainer from '../../common/lib/map/Container'\nimport { operatorPushSpecialOrder as placeOrder } from '../../common/orders/actions'\n\nlet SpecialOrderSummary = React.createClass({\n\n getInitialState: function() {\n return {\n selectedSpot: null\n }\n },\n\n componentWillMount() {\n if (this.props.location !== undefined) {\n this.setState({selectedSpot: this.props.location.spots[0].id});\n } else {\n // redirect to root\n this.props.router.push('/');\n }\n },\n\n actions() {\n if (!this.props.isSendingOrders){\n return (\n <div className=\"finalize-order-actions\">\n <input\n type=\"submit\"\n name=\"commit\"\n value={this.props.t('common:order')}\n className='btn btn-nephritis'\n onClick={this.finishClick}>\n </input>\n <a\n className=\"btn btn-alizarin\"\n href=\"#\"\n onClick={this.cancelClick}>\n {this.props.t('common:cancel')}\n </a>\n </div>\n );\n } else {\n return (\n <div className=\"finalize-order-actions\">\n <Spinner show={true} />\n </div>);\n }\n },\n\n changeSpotClick(event) {\n this.setState({selectedSpot: event.target.value});\n },\n\n cancelClick() {\n this.props.router.push('/');\n },\n\n finishClick() {\n this.props.dispatch(\n placeOrder(\n this.props.params.id,\n this.props.params.location,\n this.state.selectedSpot\n )\n );\n this.props.router.push('orders');\n },\n\n render() {\n const { t, location } = this.props;\n\n if (location === undefined) { return null }\n\n return (\n <div className=\"content-wrapper\">\n <div id=\"order-summary\">\n <div className=\"finalize-order\">\n {t('deliveryLocation')}\n <span id=\"order-location-symbol\">{this.props.location.symbol}</span>\n {this.actions()}\n </div>\n <div className=\"order-spots\">\n <div className=\"order-map\" id=\"map-container\">\n <MapContainer style={{ height: 450 }}>\n <ZoomedMap\n image={{\n url: this.props.location.map_url,\n width: this.props.location.map_width,\n height: this.props.location.map_height\n }}\n positions={this.props.location.spots}\n selectedPositionId={this.state.selectedSpot}\n onPositionClick={(e, id) => {\n this.setState({ selectedSpot: id })\n }}\n />\n </MapContainer>\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n});\n\nlet mapStateToProps = (state) => {\n return {\n supplies: state.supplies.supplies.filter(supply => {\n return (supply.count != 0 && supply.count != null);\n }),\n location: state.locations.locations.filter(location => {\n return location.id == state.locations.selectedId;\n })[0],\n isSendingOrders: state.orders.isSendingOrders\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(SpecialOrderSummary))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport { translate } from 'react-i18next'\n\nimport Button from '../../common/lib/Button'\nimport { IncreaseCount, DecreaseCount } from '../../common/supplies/actions'\n\nlet Supply = React.createClass({\n\n getInitialState: function() {\n return {\n decreaseButton: false,\n increaseButton: true\n }\n },\n\n handleCountIncrease(e) {\n e.preventDefault();\n this.props.dispatch(IncreaseCount(this.props.supply));\n this.setState({decreaseButton: true});\n },\n\n handleCountDecrease(e) {\n e.preventDefault();\n this.props.dispatch(DecreaseCount(this.props.supply));\n this.setState({increaseButton: true});\n },\n\n isDecreaseButtonDisabled() {\n return (!(this.state.decreaseButton) || (this.props.supply.count == 0));\n },\n\n isIncreaseButtonDisabled() {\n const last_elem = this.props.supply.multiples[this.props.supply.multiples.length-1];\n return (!(this.state.increaseButton) || (this.props.supply.count == last_elem));\n },\n\n render() {\n let { supply, t } = this.props;\n\n return (\n <div className=\"supply-location\">\n <div className={\"searchable-supply supply-container supply-\" + (this.props.index % 2 == 0 ? 'even' : 'odd')}>\n <div className=\"supply-box\">\n <div className=\"supply-meta\">\n <div className=\"pr4\">\n <span className=\"supply-code\">{supply.item.code}, </span>\n <span className=\"supply-description\">{supply.item ? supply.item.description : ''}</span>\n </div>\n {supply.item.image_thumb_url &&\n <div className=\"supply-thumb\">\n <img src={supply.item.image_thumb_url} className=\"supply-image\" />\n </div>\n }\n </div>\n <div className=\"supply-right-side\">\n <div className=\"supply-quantity\">\n <span className=\"supply-quantity-description\">{parseInt(supply.batch_quantity)} {supply.item.unit} </span>\n x\n <span className=\"supply-quantity-controls\">\n <Button\n className={`qty qtyminus ${this.isDecreaseButtonDisabled() && 'disabled'}`}\n disabled={this.isDecreaseButtonDisabled()}\n onClick={(e) => this.handleCountDecrease(e)}\n >\n <i className=\"fa fa-minus\"></i>\n </Button>\n <span className='count'>{supply.count < 100 ? supply.count : '∞'}</span>\n <Button\n className={`qty qtyplus ${this.isIncreaseButtonDisabled() && 'disabled'}`}\n disabled={this.isIncreaseButtonDisabled()}\n onClick={(e) => this.handleCountIncrease(e)}\n >\n <i className=\"fa fa-plus\"></i>\n </Button>\n </span>\n </div>\n {(supply.item.stock_quantity == -1) \n ? ''\n : <div className=\"right\" style={{ fontSize: '0.6em', marginTop: '5px' }}>{t('stock_quantity')}: {supply.item.stock_quantity}</div>\n }\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n});\n\nexport default connect()(translate(['supplies'])(Supply))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {Link} from 'react-router'\nimport {translate} from 'react-i18next'\n\nimport Button from '../../common/lib/Button'\n\nlet SpecialOrder = React.createClass({\n\n render() {\n let { specialOrder, currentLocationId, t } = this.props;\n\n return (\n <div className=\"supply-location\">\n <div className={\"searchable-supply supply-container supply-\" + (this.props.index % 2 == 0 ? 'even' : 'odd')}>\n <div className=\"supply-box\">\n <div className=\"supply-meta\">\n <span className=\"supply-description\">{specialOrder.name}</span>\n </div>\n <div className=\"supply-quantity\">\n <Link\n to={`/orders/special_summary/${currentLocationId}/${specialOrder.id}`}\n className={`btn btn-success`}\n >\n <i className=\"fa fa-check\"></i>\n {t('order')}\n </Link>\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n});\n\nexport default connect()(translate(['common'])(SpecialOrder))\n","import {DropModal as Modal} from 'boron'\nimport React from 'react'\nimport Button from './../../common/lib/Button'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nlet modalStyle = {\n background: '#4F6F8F',\n color: '#FFF',\n width: '800px',\n textAlign: 'center'\n};\n\nlet contentStyle = {\n height: '100%',\n maxWidth: '100%',\n wordWrap: 'break-word'\n};\n\n\nconst SuppliesQuantityModal = React.createClass({\n getInitialState() {\n return {\n inputValue: 10\n }\n },\n\n showModal: function() {\n this.refs['suppliesQuantityModal'].show();\n },\n\n hideModal: function() {\n this.refs['suppliesQuantityModal'].hide();\n },\n\n componentDidMount() {\n this.props.dispatch({ type: 'SET_SUPPLY_MODAL', modal: this.refs['suppliesQuantityModal'] });\n },\n\n handleSaveClick() {\n this.props.dispatch({\n type: 'INCREASE_SUPPLY_COUNT',\n fixedCount: this.state.inputValue,\n supply: this.props.supply\n });\n this.hideModal();\n },\n\n handleInputChange(e) {\n const newValue = e.target.value\n\n this.setState((s) => ({ inputValue: Number(newValue) ? newValue : s.inputValue }))\n },\n\n render: function() {\n return (\n <Modal ref={'suppliesQuantityModal'} className='modal' modalStyle={modalStyle} contentStyle={contentStyle} keyboard={true}>\n <div style={{ padding: '10px' }}>\n {this.props.supply && this.props.supply.item.description}\n <br />\n <span style={{ fontSize: '0.7em', marginTop: '20px' }}>\n {this.props.t(`common:quantity`)}: \n <input\n type=\"number\"\n value={this.state.inputValue}\n onChange={this.handleInputChange}\n />\n </span>\n\n <Button color='emerald' onClick={this.handleSaveClick} style={{ width: 'auto', margin: '40px auto 0' }}>Zapisz</Button>\n </div>\n\n <Button color='blue' onClick={this.hideModal}>{this.props.t(`common:cancel`)}</Button>\n </Modal>\n );\n }\n\n});\n\nfunction mapStateToProps(state) {\n return {\n supply: state.supplies.qunatityModalSupply\n }\n}\n\nexport default connect(mapStateToProps)(translate(['common'])(SuppliesQuantityModal))","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport { setLocation } from '../../common/locations/actions'\nimport { setCategory, setStage } from '../../common/supplies/actions'\nimport { supplyStages } from '../../common/variables'\n\nlet LocationSelect = React.createClass({\n\n handleLocationChange(e) {\n this.props.dispatch(setLocation(e.target.value));\n },\n\n handleStageChange(e) {\n this.props.dispatch(setStage(e.target.value));\n },\n\n handleCategoryChange(e) {\n this.props.dispatch(setCategory(e.target.value));\n },\n\n sortedLocations() {\n const uniqueLocations = []\n this.props.locations.map(location => {\n if (!uniqueLocations.map(location => location.id).includes(location.id)) {\n uniqueLocations.push(location)\n }\n })\n\n return uniqueLocations.sort((a, b) => {\n const REGEX = /\\d+/;\n let first = parseInt(REGEX.exec(a.symbol));\n let second = parseInt(REGEX.exec(b.symbol));\n\n return (first < second) ? -1 : (first > second) ? 1 : 0;\n });\n },\n\n countSuppliesForStage(stage) {\n if ( stage == 'special_orders' ) { return 1 }\n\n return this.props.supplies.filter((supply) => {\n return supply.item.stage == stage;\n }).length;\n },\n\n operatorSupplyStages() {\n return [...supplyStages, 'special_orders'];\n },\n\n renderStageSelect() {\n const { t } = this.props;\n\n return (\n <select\n name=\"stage_id\"\n id=\"select-supply-stage\"\n onChange={(e) => this.handleStageChange(e)}\n tabIndex=\"-1\"\n className=\"\"\n value={this.props.selectedStage || 0}\n >\n {this.operatorSupplyStages().map((stage) => {\n if (this.countSuppliesForStage(stage) == 0) { return null };\n return <option\n key={stage}\n value={stage}\n >\n {t(`supplies:${stage}`)}\n </option>;\n })}\n </select>\n );\n },\n\n renderCategorySelect() {\n return (\n <select\n name=\"category_id\"\n id=\"select-supply-category\"\n onChange={(e) => this.handleCategoryChange(e)}\n tabIndex=\"-1\"\n className=\"\"\n value={this.props.selectedCategoryId || 0}\n >\n <option value=\"\">\n {this.props.t('supplies:all_categories')}\n </option>\n {this.props.categories.map((category) => {\n return <option\n key={category.id}\n value={category.id}\n >\n {category.name}\n </option>;\n })}\n </select>\n );\n },\n\n render() {\n const { t } = this.props;\n\n return (\n <div className=\"location-select\">\n <select\n name=\"location_id\" id=\"select-location\"\n onChange={(e) => this.handleLocationChange(e)}\n tabIndex=\"-1\"\n className=\"\"\n value={this.props.selectedLocationId || 0}\n >\n {this.sortedLocations().map((location) => {\n return <option\n key={location.id}\n value={location.id}\n >\n {location.symbol}\n </option>\n })}\n </select>\n {this.renderStageSelect()}\n {\n this.props.categories && this.props.categories.length > 0 && this.renderCategorySelect()\n }\n </div>\n )\n }\n\n})\n\nlet mapStateToProps = (state) => {\n return {\n locations: state.locations.locations,\n supplies: state.supplies.supplies,\n categories: state.supplies.categories,\n selectedLocationId: state.locations.selectedId,\n selectedStage: state.supplies.selectedStage,\n selectedCategoryId: state.supplies.selectedCategoryId\n }\n}\n\nexport default connect(mapStateToProps)(translate(['header'])(LocationSelect))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\n\nimport Supply from './Supply'\nimport SpecialOrder from './SpecialOrder'\nimport SuppliesQuantityModal from './SuppliesQuantityModal'\nimport LocationSelect from '../app/LocationSelect'\nimport Search from '../../common/lib//Search'\n\nimport { fetchCategories, fetchSupplies } from '../../common/supplies/actions'\nimport { fetchLocations } from '../../common/locations/actions'\n\nlet SuppliesList = React.createClass({\n\n getInitialState: function() {\n return { searchText: '' }\n },\n\n componentWillMount() {\n this.props.dispatch(fetchCategories());\n this.props.dispatch(fetchSupplies(this.props.locationId));\n if (this.props.locations.length === 0) {\n this.props.dispatch(fetchLocations());\n }\n },\n\n componentWillReceiveProps(nextProps) {\n if (this.props.locationId != nextProps.locationId) {\n this.props.dispatch(fetchSupplies(nextProps.locationId));\n }\n },\n\n filteredSupplies() {\n if (this.state.searchText == '') {\n return this.props.supplies;\n } else {\n return this.props.supplies.filter((supply) => {\n return (supply.item.description.toLowerCase().includes(this.state.searchText.toLowerCase()) ||\n supply.item.code.includes(this.state.searchText));\n })\n }\n },\n\n selectedLocation() {\n return this.props.locations.filter((location) => {\n return location.id == this.props.locationId;\n })[0];\n },\n\n filteredSpecialOrders() {\n if ( this.selectedLocation() != undefined ) {\n return this.selectedLocation().special_orders\n } else {\n return []\n }\n },\n\n handleSearch(text) {\n this.setState({searchText: text});\n },\n\n renderSuppliesList() {\n return this.filteredSupplies().map((supply, index) => {\n return <Supply\n key={supply.id}\n index={index}\n supply={supply}\n />;\n })\n },\n\n renderSpecialOrdersList() {\n return this.filteredSpecialOrders().map((specialOrder, index) => {\n return <SpecialOrder\n key={specialOrder.id}\n index={index}\n specialOrder={specialOrder}\n currentLocationId={this.props.locationId}\n router={this.props.locations}\n />;\n })\n },\n\n render() {\n return (\n <div>\n <div className=\"content-wrapper\">\n <div className=\"page-header\">\n <LocationSelect />\n <Search onSearch={this.handleSearch} />\n </div>\n <div id=\"supplies-list\" style={{ overflow: 'hidden' }}>\n <form id=\"order-form\" action=\"/operator/orders/finalize\" acceptCharset=\"UTF-8\" method=\"post\">\n {this.props.selectedStage == 'special_orders' && this.renderSpecialOrdersList()}\n {this.props.selectedStage != 'special_orders' && this.renderSuppliesList()}\n </form>\n </div>\n </div>\n <SuppliesQuantityModal />\n </div>\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n locationId: state.locations.selectedId,\n locations: state.locations.locations,\n selectedStage: state.supplies.selectedStage,\n supplies: state.supplies.supplies.filter((supply) => {\n const validStage = supply.item.stage == state.supplies.selectedStage;\n const validCategory = !state.supplies.selectedCategoryId || supply.item.category_ids.includes(state.supplies.selectedCategoryId);\n\n return validStage && validCategory;\n })\n }\n}\n\nexport default connect(mapStateToProps)(SuppliesList)\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider, connect } from 'react-redux';\nimport { combineReducers, createStore, applyMiddleware, compose } from 'redux';\nimport thunk from 'redux-thunk';\nimport ActionCable from 'actioncable';\nimport bowser from 'bowser';\n\nimport { Router, Route, IndexRoute, Redirect,\n browserHistory, IndexRedirect } from 'react-router'\nimport { createHistory, useBasename } from 'history'\n\nimport { I18nextProvider } from 'react-i18next';\nimport { initializeI18n } from './i18n'\n\nimport AppReducer from './common/app/reducer'\nimport OrdersReducer from './common/orders/reducer'\nimport SuppliesReducer from './common/supplies/reducer'\nimport LocationsReducer from './common/locations/reducer'\n\nimport Header from './operator/app/Header';\nimport App from './operator/app/App';\n\nimport OrdersWrapper from './operator/orders/OrdersWrapper'\nimport OrderSummary from './operator/orders/OrderSummary'\nimport SpecialOrderSummary from './operator/orders/SpecialOrderSummary'\nimport SuppliesList from './operator/supplies/SuppliesList'\n\nimport { setCSRFToken, setCurrentPlant, setCurrentUser,\n setLanguage, setUserName, setUser } from './common/app/actions'\nimport { update as updateOrder, setCancelReasons as setOrderCancelReasons} from './common/orders/actions'\nimport Profile from './common/pages/Profile';\nimport ThemeProvider from './common/lib/ThemeProvider';\nimport { updateSupplyItemStockQuantity } from './common/supplies/actions';\n\nrequire('./assets/stylesheets/application.sass');\n\nlet reducers = combineReducers({\n orders: OrdersReducer,\n supplies: SuppliesReducer,\n locations: LocationsReducer,\n app: AppReducer\n});\n\nlet store = createStore(reducers, compose(\n applyMiddleware(thunk),\n window.devToolsExtension ? window.devToolsExtension() : f => f\n ));\n\nlet consumer = ActionCable.createConsumer();\nlet connection = consumer.subscriptions.create('PlantOrdersChannel', {\n connected() {\n this.perform('follow', {\n plant_id: document.getElementsByName('current_plant_id')[0].dataset.id\n });\n },\n disconnected() {},\n received(order) {\n store.dispatch(updateOrder(order['order']));\n if (order.order?.supply?.item) {\n store.dispatch(updateSupplyItemStockQuantity(order.order.supply.id, order.order.supply.item.stock_quantity))\n }\n }\n})\n\nlet i18nObj = initializeI18n(document.getElementsByName('language')[0].dataset.lang);\nstore.dispatch(setCSRFToken(document.getElementsByName('csrf-token')[0].content));\nstore.dispatch(setCurrentPlant(document.getElementsByName('current_plant_id')[0].dataset.id));\nstore.dispatch(setLanguage(document.getElementsByName('language')[0].dataset.lang));\nstore.dispatch(setUserName(document.getElementsByName('user_name')[0].dataset.name));\nstore.dispatch(setUser(JSON.parse(document.getElementsByName('user')[0].dataset.user)));\nstore.dispatch(setCurrentUser(document.getElementsByName('current_user_id')[0].dataset.id));\nstore.dispatch(setOrderCancelReasons(JSON.parse(document.getElementsByName('cancel_reasons')[0].dataset.elems)));\n\nconst history = useBasename(createHistory)({\n basename: \"/operator/app\"\n})\n\n// if (!bowser.msie) {\n ReactDOM.render(\n <Provider store={store}>\n <I18nextProvider i18n={ i18nObj }>\n <ThemeProvider>\n <Router history={history}>\n <Route path =\"/\" component={App}>\n <IndexRedirect to=\"supplies\" />\n\n <Route path=\"orders\" component={OrdersWrapper} />\n <Route path=\"orders/summary/:direction\" component={OrderSummary} />\n <Route path=\"orders/special_summary/:location/:id\" component={SpecialOrderSummary} />\n\n <Route path=\"supplies\" component={SuppliesList} />\n\n <Route path=\"profile\" component={Profile} />\n <Redirect from='*' to='supplies' />\n </Route>\n </Router>\n </ThemeProvider>\n </I18nextProvider>\n </Provider>,\n document.getElementById('operator-app')\n )\n// } else {\n// let el = document.getElementsByClassName('unsupported_browser')[0];\n// el.setAttribute(\"style\", \"display:block;\");\n// }\n","import { findDOMNode } from 'react-dom'\n\n/**\n * Helper methods for calculating component and event positions\n */\nexport default {\n /**\n * Maps React TouchList with touch positions relative to the component\n */\n getTouchListPositions(touchList) {\n let touches = Array.prototype.slice.apply(touchList)\n return touches.map(t => this.getEventPosition(t))\n },\n\n /**\n * Calculates event position relative to the component\n */\n getEventPosition(e) {\n let { left, top } = this.getPagePosition()\n return {\n x: e.pageX - left,\n y: e.pageY - top\n }\n },\n\n /**\n * Returns component position relative to the page\n */\n getPagePosition() {\n return findDOMNode(this).getClientRects()[0]\n }\n}\n","import { PropTypes } from 'react'\n\nexport default {\n onZoom: PropTypes.func.isRequired,\n onPan: PropTypes.func.isRequired,\n onRelease: PropTypes.func,\n zoom: PropTypes.number.isRequired\n}\n","import React, { PropTypes } from 'react'\n\nimport { getDisplacement } from '../calculations'\nimport PositionMixin from '../../mixins/PositionMixin'\nimport propTypes from './propTypes'\n\n// FIXME: Only drag with left mouse button\n\n/**\n * Translates mouse events into onZoom and onPan for ZoomableMap\n */\nconst Mouse = React.createClass({\n mixins: [PositionMixin],\n\n propTypes: {\n ...propTypes,\n onClick: PropTypes.func\n },\n\n lastPosition: null,\n\n getInitialState() {\n return { dragging: false }\n },\n\n getDefaultProps() {\n return {\n onClick: e => {},\n onRelease: e => {}\n }\n },\n\n handleWheel(e) {\n e.preventDefault()\n let factor = Math.round(e.deltaY / 5) / 100\n this.props.onZoom(this.getEventPosition(e), factor)\n },\n\n handleMouseDown(e) {\n e.preventDefault()\n this.lastPosition = this.getEventPosition(e)\n this.setState({ dragging: true })\n },\n\n handleMouseMove(e) {\n let newPosition, displacement\n e.preventDefault()\n\n if (this.lastPosition !== null) {\n newPosition = this.getEventPosition(e)\n displacement = getDisplacement(this.lastPosition, newPosition, this.props.zoom)\n this.props.onPan(displacement)\n this.lastPosition = newPosition\n this.didMove = true\n }\n },\n\n handleMouseLeave(e) {\n if (this.lastPosition !== null) {\n this.props.onRelease(e)\n }\n this.cleanUpAfterMove(e)\n },\n\n handleMouseUp(e) {\n if (this.lastPosition !== null) {\n if (this.didMove !== true) {\n this.props.onClick(e, this.lastPosition)\n } else {\n this.props.onRelease(e)\n }\n }\n\n this.cleanUpAfterMove(e)\n },\n\n cleanUpAfterMove(e) {\n e.preventDefault()\n this.setState({ dragging: false })\n delete this.lastPosition\n delete this.didMove\n },\n\n render () {\n return (\n <div\n onWheel={this.handleWheel}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n onMouseMove={this.handleMouseMove}\n onMouseLeave={this.handleMouseLeave}\n style={{ width: '100%', height: '100%', cursor: (this.state.dragging === true ? 'move' : '') }}\n >\n {this.props.children}\n </div>\n )\n }\n})\n\nexport default Mouse\n","import React, { PropTypes } from 'react'\n\nimport {\n getDisplacement,\n getSegmentsRatio,\n getSegmentMidpoint\n} from '../calculations'\nimport PositionMixin from '../../mixins/PositionMixin'\nimport propTypes from './propTypes'\n\nconst Touch = React.createClass({\n mixins: [PositionMixin],\n\n lastTouch: null,\n lastPinch: null,\n\n propTypes: {\n ...propTypes,\n onTap: PropTypes.func\n },\n\n getDefaultProps() {\n return {\n onTap: e => {},\n onRelease: e => {}\n }\n },\n\n handleTouchStart(e) {\n e.preventDefault()\n if (e.touches.length == 1) {\n this.lastTouch = this.getEventPosition(e.touches[0])\n } else if (e.touches.length == 2) {\n delete this.lastTouch\n this.lastPinch = this.getTouchListPositions(e.touches)\n }\n },\n\n handleTouchMove(e) {\n let newPosition, displacement, touchCount = e.touches.length\n e.preventDefault()\n\n if (this.lastTouch !== null && touchCount == 1) {\n this.handleDrag(e)\n } else if (this.lastPinch !== null && touchCount == 2) {\n this.handlePinch(e)\n }\n this.didMove = true\n },\n\n handleTouchEnd(e) {\n e.preventDefault()\n if (this.didMove !== true) {\n this.props.onTap(e, this.lastTouch)\n } else {\n this.props.onRelease(e)\n }\n delete this.lastTouch\n delete this.didMove\n },\n\n handleTouchCancel(e) {\n this.handleTouchEnd()\n },\n\n handleDrag(e) {\n let newPosition = this.getEventPosition(e.touches[0])\n let displacement = getDisplacement(this.lastTouch, newPosition, this.props.zoom)\n this.props.onPan(displacement)\n this.lastTouch = newPosition\n },\n\n handlePinch(e) {\n let newPinch = this.getTouchListPositions(e.touches)\n let pinchChangeRatio = getSegmentsRatio(this.lastPinch, newPinch)\n let factor = 1 - pinchChangeRatio\n let focal = getSegmentMidpoint(...newPinch)\n this.props.onZoom(focal, factor)\n this.lastPinch = newPinch\n },\n\n render () {\n return (\n <div\n onTouchStart={this.handleTouchStart}\n onTouchMove={this.handleTouchMove}\n onTouchEnd={this.handleTouchEnd}\n onTouchCancel={this.handleTouchCancel}\n >\n {this.props.children}\n </div>\n )\n }\n})\n\nexport default Touch\n","import React, { PropTypes } from 'react'\nimport { findDOMNode } from 'react-dom'\nimport Dimensions from 'react-dimensions'\nimport { connect } from 'react-redux'\n\nimport Map from '../../common/lib/map/Map'\nimport { Mouse, Touch } from '../../common/lib/map/zoom'\nimport { pan as panCalculation, zoomToFit, zoomToPoint } from '../../common/lib/map/calculations'\nimport PositionMixin from '../../common/lib/mixins/PositionMixin'\n\nconst AdminMap = React.createClass({\n mixins: [PositionMixin],\n propTypes: {\n ...Map.propTypes,\n zoomId: PropTypes.any,\n onClick: PropTypes.func\n },\n\n getInitialState() {\n return {\n zoom: 1,\n pan: {\n x: 0,\n y: 0\n },\n grabbedPositionId: null,\n positions: []\n }\n },\n\n componentDidMount() {\n this.zoomToFit()\n this.setState({\n positions: [\n ...this.props.positions\n ]\n })\n },\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.zoomId != this.props.zoomId) {\n this.zoomToFit()\n }\n },\n\n zoomToFit() {\n this.setState(zoomToFit(this.props))\n },\n\n zoom(focal, factor) {\n let newZoom = this.state.zoom * (1 - factor)\n this.setState(zoomToPoint({ ...this.props, ...this.state }, focal, newZoom))\n },\n\n pan(displacement) {\n if (this.state.grabbedPositionId !== null) {\n this.movePosition(this.state.grabbedPositionId, displacement)\n } else {\n this.setState(panCalculation({ ...this.props, ...this.state }, displacement))\n }\n },\n\n click(e) {\n let { pan, zoom } = this.state\n\n if (this.state.grabbedPositionId === null) {\n let eventPosition = this.getEventPosition(e)\n let mapPosition = {\n x: (eventPosition.x / zoom + pan.x),\n y: (eventPosition.y / zoom + pan.y)\n }\n this.addNewPosition(mapPosition)\n }\n },\n\n tap(e, eventPosition) {\n let { pan, zoom } = this.state\n\n if (this.state.grabbedPositionId === null) {\n let mapPosition = {\n x: (eventPosition.x / zoom + pan.x),\n y: (eventPosition.y / zoom + pan.y)\n }\n this.addNewPosition(mapPosition)\n }\n },\n\n release(e) {\n this.setState({ grabbedPositionId: null })\n },\n\n addNewPosition({ x, y }) {\n this.setState({\n positions: [\n ...this.state.positions,\n {\n position_x: x,\n position_y: y,\n id: this.state.positions.length + 1,\n symbol: (this.state.positions.length + 1).toString()\n }\n ]\n })\n },\n\n movePosition(id, displacement) {\n this.setState({\n positions: this.state.positions.map(position => {\n if (position.id === this.state.grabbedPositionId) {\n return {\n ...position,\n position_x: position.position_x + displacement.x,\n position_y: position.position_y + displacement.y\n }\n } else {\n return position\n }\n })\n })\n },\n\n render() {\n return (\n <Mouse\n onZoom={this.zoom}\n onPan={this.pan}\n onRelease={this.release}\n zoom={this.state.zoom}\n >\n <Touch\n onZoom={this.zoom}\n onPan={this.pan}\n onRelease={this.release}\n zoom={this.state.zoom}\n >\n <Map\n {...this.props}\n {...this.state}\n />\n </Touch>\n </Mouse>\n )\n }\n})\n\nlet mapStateToProps = state => {\n return {\n app: state.app\n }\n}\n\nexport default connect(mapStateToProps)(Dimensions()(AdminMap))\n","import React, { PropTypes } from 'react'\nimport { findDOMNode } from 'react-dom'\nimport Dimensions from 'react-dimensions'\nimport { connect } from 'react-redux'\n\nimport MapContainer from '../../common/lib/map/Container'\nimport Map from '../../common/lib/map/Map'\nimport { Mouse, Touch } from '../../common/lib/map/zoom'\nimport { pan as panCalculation, zoomToFit, zoomToPoint } from '../../common/lib/map/calculations'\nimport PositionMixin from '../../common/lib/mixins/PositionMixin'\nimport { adminUpdatePostSpot, createPostSpot } from '../../common/locations/actions'\n\nconst AdminMapEditSpots = React.createClass({\n mixins: [PositionMixin],\n propTypes: {\n ...Map.propTypes,\n zoomId: PropTypes.any,\n onClick: PropTypes.func\n },\n\n getInitialState() {\n return {\n zoom: 1,\n pan: {\n x: 0,\n y: 0\n },\n grabbedPositionId: null,\n positions: []\n }\n },\n\n componentDidMount() {\n this.zoomToFit()\n this.setState({\n positions: this.props.positions\n })\n this.setState({\n positions: [\n ...this.props.positions\n ]\n })\n },\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.zoomId != this.props.zoomId) {\n this.zoomToFit()\n }\n this.setState({\n positions: [\n ...nextProps.positions\n ]\n })\n },\n\n zoomToFit() {\n this.setState(zoomToFit(this.props))\n },\n\n zoom(focal, factor) {\n let newZoom = this.state.zoom * (1 - factor)\n this.setState(zoomToPoint({ ...this.props, ...this.state }, focal, newZoom))\n },\n\n pan(displacement) {\n if (this.state.grabbedPositionId !== null) {\n this.movePosition(this.state.grabbedPositionId, displacement)\n } else {\n this.setState(panCalculation({ ...this.props, ...this.state }, displacement))\n }\n },\n\n click(e) {\n let { pan, zoom } = this.state\n\n if (this.state.grabbedPositionId === null) {\n let eventPosition = this.getEventPosition(e)\n let mapPosition = {\n x: (eventPosition.x / zoom + pan.x),\n y: (eventPosition.y / zoom + pan.y)\n }\n this.addNewPosition(mapPosition)\n }\n },\n\n tap(e, eventPosition) {\n let { pan, zoom } = this.state\n\n if (this.state.grabbedPositionId === null) {\n let mapPosition = {\n x: (eventPosition.x / zoom + pan.x),\n y: (eventPosition.y / zoom + pan.y)\n }\n this.addNewPosition(mapPosition)\n }\n },\n\n release(e) {\n this.setState({ grabbedPositionId: null })\n },\n\n addNewPosition({ x, y }) {\n let newPosition = {\n position_x: x,\n position_y: y,\n id: this.state.positions.length + 1,\n symbol: (this.state.positions.length + 1).toString(),\n description: '',\n character: 0\n };\n\n this.props.dispatch(createPostSpot(newPosition));\n this.setState({\n positions: [\n ...this.state.positions,\n newPosition\n ]\n })\n },\n\n movePosition(id, displacement) {\n this.setState({\n positions: this.state.positions.map(position => {\n if (position.id === this.state.grabbedPositionId) {\n return {\n ...position,\n position_x: position.position_x + displacement.x,\n position_y: position.position_y + displacement.y\n }\n } else {\n return position\n }\n })\n })\n },\n\n handlePositionChange(position) {\n this.props.dispatch(adminUpdatePostSpot(position));\n },\n\n render() {\n return (\n <div className='AdminMapEditSpots'>\n <MapContainer style={{ height: 600 }}>\n <Mouse\n onZoom={this.zoom}\n onPan={this.pan}\n onClick={this.click}\n onRelease={this.release}\n zoom={this.state.zoom}\n >\n <Touch\n onZoom={this.zoom}\n onPan={this.pan}\n onTap={this.tap}\n onRelease={this.release}\n zoom={this.state.zoom}\n >\n <Map\n {...this.props}\n {...this.state}\n onPositionGrab={(e, id) => {\n this.setState({ grabbedPositionId: id })\n }}\n onPositionRelease={(e, id) => {\n this.state.positions.map(position => {\n if (position.id === id) {\n this.handlePositionChange(position);\n }\n });\n this.setState({ grabbedPositionId: null })\n }}\n />\n </Touch>\n </Mouse>\n </MapContainer>\n </div>\n )\n }\n})\n\nlet mapStateToProps = state => {\n return {\n app: state.app\n }\n}\n\nexport default connect(mapStateToProps)(Dimensions()(AdminMapEditSpots))\n","import React, { PropTypes } from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport AdminMap from './AdminMap'\nimport AdminMapEditSpots from './AdminMapEditSpots'\nimport MapContainer from '../../common/lib/map/Container'\n\nimport { adminUpdatePostSpot, adminDeleteSpot } from '../../common/locations/actions'\n\nconst EditSpot = React.createClass({\n\n descriptionChange(e) {\n this.props.dispatch(adminUpdatePostSpot({...this.props.spot, description: e.target.value}));\n },\n\n symbolChange(e) {\n this.props.dispatch(adminUpdatePostSpot({...this.props.spot, symbol: e.target.value}));\n },\n\n characterChange(e) {\n e.stopPropagation();\n this.props.dispatch(adminUpdatePostSpot({...this.props.spot, character: e.target.value}));\n },\n\n formattedDescription() {\n return this.props.spot.description || '';\n },\n\n handleDelete(e, spot) {\n e.stopPropagation();\n this.props.dispatch(adminDeleteSpot(spot));\n },\n\n render() {\n let { spot, t } = this.props;\n\n if(spot == undefined) {\n return '';\n }\n\n return (\n <div className=\"row\">\n <div className=\"col-2\">\n <div className=\"input select optional location_spots_character\">\n <label className=\"select optional\">{t('character')}</label>\n <select onChange={(e) => this.characterChange(e)} value={spot.character} className=\"select optional\">\n <option key='common' value=\"common\">{t('characters.common')}</option>\n <option key='delivery' value=\"delivery\">{t('characters.delivery')}</option>\n <option key='reception' value=\"reception\">{t('characters.reception')}</option>\n </select>\n </div>\n </div>\n <div className=\"col-3\">\n <div className=\"input string optional location_spots_symbol\">\n <label className=\"string optional\">{t('symbol')}</label>\n <input onChange={(e) => this.symbolChange(e)} className=\"string optional\" type=\"text\" defaultValue={spot.symbol}></input>\n </div>\n </div>\n <div className=\"col-5\">\n <div className=\"input string optional location_spots_description\">\n <label className=\"string optional\">{t('description')}</label>\n <input onChange={(e) => this.descriptionChange(e)} className=\"string optional\" type=\"text\" defaultValue={this.formattedDescription()}></input>\n </div>\n </div>\n <div className=\"col-2\">\n <a href=''\n className='mt16 btn btn-danger'\n onClick={(e) => this.handleDelete(e, spot)}\n >\n {t('common:delete')}\n </a>\n </div>\n </div>\n )\n }\n})\n\nlet mapStateToProps = state => {\n return {}\n}\n\nexport default connect()(translate(['locations'])(EditSpot))\n","import React, { PropTypes } from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport AdminMap from './AdminMap'\nimport AdminMapEditSpots from './AdminMapEditSpots'\nimport MapContainer from '../../common/lib/map/Container'\nimport EditSpot from './EditSpot'\n\nconst App = React.createClass({\n\n isEdition() {\n if(this.props.locations.locations.length == 0) {\n return false;\n } else {\n return true;\n }\n },\n\n render() {\n let { branch } = this.props.branches;\n let { t } = this.props;\n\n if(branch.map_url == '') {\n return null;\n }\n\n return (\n <div>\n { this.isEdition() &&\n <MapContainer style={{ height: 600 }}>\n <AdminMapEditSpots\n positions={this.props.locations.locations.spots}\n image={{\n url: branch.map_url,\n width: branch.map_width,\n height: branch.map_height\n }}/>\n <div className=\"actions-header\">\n <h2>{t('title')}</h2>\n </div>\n <form>\n {this.props.locations.locations.spots.map((position, index) => {\n return <EditSpot spot={position} key={position.id}/>;\n })}\n </form>\n </MapContainer>\n }\n { !this.isEdition() &&\n <MapContainer style={{ height: 600 }}>\n <AdminMap\n positions={branch.spots}\n image={{\n url: branch.map_url,\n width: branch.map_width,\n height: branch.map_height\n }}\n />\n </MapContainer>\n }\n </div>\n )\n }\n})\n\nlet mapStateToProps = state => {\n return {\n app: state.app,\n branches: state.branches,\n locations: state.locations\n }\n}\n\nexport default connect(mapStateToProps)(translate(['locations'])(App))\n","export default(\n state = {\n branch: {\n map_url: '',\n map_width: 0,\n map_height: 0,\n spots: []\n }\n },\naction\n) => {\n switch (action.type) {\n case 'FETCH_BRANCH_SUCCESS':\n return {\n ...state,\n branch: action.data\n }\n\n default:\n return state\n }\n}\n","import React from 'react'\nimport ReactDOM from 'react-dom'\nimport { Provider, connect } from 'react-redux'\nimport { combineReducers, createStore, applyMiddleware, compose } from 'redux'\nimport thunk from 'redux-thunk'\n\nimport { I18nextProvider } from 'react-i18next';\nimport { initializeI18n } from './i18n'\n\nimport AppReducer from './common/app/reducer'\n\nimport App from './admin/app/App'\nimport BranchesReducer from './common/branches/reducer'\nimport LocationsReducer from './common/locations/reducer'\n\nimport { setCSRFToken } from './common/app/actions'\nimport { adminFetch as fetchLocation } from './common/locations/actions'\nimport { fetchBranches } from './common/branches/actions'\n\nexport function render() {\n let reducers = combineReducers({\n app: AppReducer,\n locations: LocationsReducer,\n branches: BranchesReducer\n })\n\n let store = createStore(reducers, compose(\n applyMiddleware(thunk),\n window.devToolsExtension ? window.devToolsExtension() : f => f\n ))\n\n let i18nObj = initializeI18n(document.getElementsByName('language')[0].dataset.lang);\n store.dispatch(setCSRFToken(document.getElementsByName('csrf-token')[0].content))\n if (document.getElementsByName('location_id').length != 0) {\n store.dispatch(fetchLocation(document.getElementsByName('location_id')[0].dataset.id));\n }\n if (document.getElementsByName('branch_id').length != 0) {\n store.dispatch(fetchBranches(document.getElementsByName('branch_id')[0].dataset.id));\n }\n\n const node = document.getElementById('admin-app')\n\n ReactDOM.render(\n <Provider store={store}>\n <I18nextProvider i18n={ i18nObj }>\n <App />\n </I18nextProvider>\n </Provider>,\n node\n )\n\n document.addEventListener(\n \"turbolinks:before-visit\",\n () => {\n ReactDOM.unmountComponentAtNode(node)\n },\n { once: true }\n )\n}\n\n","import { getFetchConfig, parseJSON, checkStatus } from '../../common/fetchHelper'\nimport Promise from 'bluebird'\nif (!window.Promise) {\n window.Promise = Promise;\n}\n\nfunction fetchSuccess(branch) {\n return { type: 'FETCH_BRANCH_SUCCESS', data: branch }\n}\n\nfunction fetchFailure(errors) {\n return { type: 'FETCH_BRANCH_FAILURE', errors }\n}\n\nexport function fetchBranches(id) {\n return (dispatch, getState) => {\n let url = `/api/v1/admin/branches/${id}.json`\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((data) => {\n dispatch(fetchSuccess(data));\n return data;\n })\n .catch((error) => {\n dispatch(fetchFailure(error));\n throw error;\n })\n }\n}\n","import React from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport Button from '../../common/lib/Button'\nimport { massCancelOrder } from '../../common/orders/massActions'\n\nlet CancelOrder = React.createClass({\n\n cancelOrderClick(reason) {\n this.props.dispatch(massCancelOrder(this.props.orderIds, reason));\n },\n\n reasonLinks() {\n let reasons = this.props.cancelReasons;\n\n return reasons.map((reason) => {\n return <Button\n key={reason}\n color='danger'\n onClick={() => this.cancelOrderClick(reason)}>\n {this.props.t(`cancelReasons.${reason}`)}\n </Button>;\n });\n },\n\n render: function() {\n return (\n <div>\n <p className='center carrier-info-modal-content'>{this.props.t('cancelReason')}</p>\n {this.reasonLinks()}\n </div>\n );\n }\n\n});\n\nfunction mapStateToProps(state, ownProps) {\n return {\n cancelReasons: state.orders.cancelReasons\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(CancelOrder))\n","import React from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport Button from '../../common/lib/Button'\nimport { massInformOrder } from '../../common/orders/massActions'\n\nlet InformOrder = React.createClass({\n\n informOrderClick(info) {\n this.props.dispatch(massInformOrder(this.props.orderIds, info));\n },\n\n infoLinks() {\n const infos = this.props.infos;\n return infos.map((info) => {\n return <Button\n key={info}\n color='info'\n onClick={() => this.informOrderClick(info)}>\n {this.props.t(`carrierInfo.${info}`)}\n </Button>;\n });\n },\n\n render: function() {\n return (\n <div>\n <p className='center carrier-info-modal-content'>{this.props.t('infoReason')}</p>\n {this.infoLinks()}\n </div>\n );\n }\n\n});\n\nfunction mapStateToProps(state, ownProps) {\n return {\n infos: state.orders.infos\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(InformOrder))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\nimport { Link } from 'react-router';\n\nimport Button from '../../common/lib/Button'\nimport ConfirmButton from '../../common/lib/ConfirmButton'\nimport Modal from '../../common/lib/Modal'\nimport CancelOrder from '../orders/CancelOrder'\nimport InformOrder from '../orders/InformOrder'\nimport { setCurrentView } from '../../common/app/actions'\nimport { massInformOrder,\n massDeliverOrder,\n massTakeOrder } from '../../common/orders/massActions'\nimport ThemeSwitch from '../../common/lib/ThemeSwitch';\n\nlet Header = React.createClass({\n\n renderOrdersLink() {\n if (this.props.location.pathname != '/orders') {\n return (\n <li>\n <Link to={'/orders'} className=\"switch-link\">\n <i className=\"fa fa-list\"></i>\n </Link>\n </li>\n )\n }\n },\n\n render() {\n const { t } = this.props;\n const { userName } = this.props.app;\n\n return (\n <header id=\"portable-header\">\n <div className=\"content-wrapper\">\n <div className=\"header-title operator-header-title\">\n <span>\n <div className=\"fa fa-bars\"></div>\n {\" \"}{t('ordersList')}\n <span className=\"header-subtitle\"> {t('deliverView')}</span>\n </span>\n </div>\n <ul className=\"actions\">\n <li><ThemeSwitch /></li>\n {this.renderOrdersLink()}\n <li className=\"user-menu\">\n <a style={{ userSelect: 'none' }}>\n <i className=\"fa fa-user\"></i> \n <span className='user-name'>{userName}</span>\n </a>\n <ul>\n <li>\n <Link to={'/profile'} className=\"switch-link\">\n {t('profile')}\n </Link>\n </li>\n <li>\n <a href=\"/users/sign_out\">{this.props.t('common:signOut')}</a>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n </header>\n )\n }\n\n})\n\nlet mapStateToProps = (state) => {\n return {\n app: state.app,\n checkedOrders: state.orders.checkedOrders,\n checkedOrdersStatus: state.orders.checkedOrdersStatus\n }\n}\n\nexport default connect(mapStateToProps)(translate(['header'])(Header))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport Barcode from 'react-barcode'\nimport ReactDOM from 'react-dom'\nimport {translate} from 'react-i18next'\n\nimport Map from '../../common/lib/map/Map'\nimport ZoomedMap from '../../common/lib/map/ZoomedMap'\nimport MapContainer from '../../common/lib/map/Container'\nimport CancelOrder from './CancelOrder'\nimport InformOrder from './InformOrder'\nimport ConfirmButton from '../../common/lib/ConfirmButton'\nimport Button from '../../common/lib/Button'\nimport Modal from '../../common/lib/Modal'\nimport { DEFAULT_BAR_FORMAT } from '../../common/variables'\nimport { operatorReorder,\n showDetails,\n carrierTakeOrder,\n carrierDeliverOrder,\n carrierCancelOrder,\n carrierInformOrder } from '../../common/orders/actions'\n\nlet OrderDetails = React.createClass({\n\n componentDidUpdate() {\n let scrollableDiv = ReactDOM.findDOMNode(this).parentNode;\n scrollableDiv.scrollTop = 0;\n },\n\n handleHideDetails() {\n this.props.dispatch(showDetails(null));\n },\n\n renderTakeButton() {\n if(!['taken', 'cancelled'].includes(this.props.order.status)) {\n return <ConfirmButton\n type=\"button\"\n onClick={e => this.handleOrderTake(e)}\n color=\"blue\"\n >\n {this.props.t('take')}\n </ConfirmButton>;\n }\n },\n\n handleOrderTake(e) {\n e.preventDefault();\n this.props.dispatch(carrierTakeOrder(this.props.order.id));\n },\n\n renderDeliveryButton() {\n if (this.props.order.carrier_id == this.props.currentUser){\n return <ConfirmButton\n type=\"button\"\n onClick={e => this.handleOrderDeliver(e)}\n color=\"blue\"\n >\n {this.props.t('deliver')}\n </ConfirmButton>;\n }\n },\n\n handleOrderDeliver(e) {\n e.preventDefault();\n this.props.dispatch(carrierDeliverOrder(this.props.order.id));\n },\n\n renderCancelButton() {\n if (this.props.order.status != 'cancelled') {\n return <div>\n <Button\n type=\"button\"\n onClick={e => this.refs.cancelModal.showModal()}\n color=\"blue\"\n >\n {this.props.t('common:cancel')}\n </Button>\n <Modal refName='cancelModal' ref='cancelModal'>\n <CancelOrder orderIds={[this.props.order.id]}/>\n </Modal>\n </div>;\n }\n },\n\n renderInformButton() {\n if (\n (this.props.order.status == 'new' || this.props.order.status == 'taken') &&\n this.props.order.status != 'cancelled'\n ) {\n return <div>\n <Button\n color=\"blue\"\n onClick={e => this.refs.infosModal.showModal()}\n >\n {this.props.t('orders:inform')}\n </Button>\n <Modal refName='infosModal' ref='infosModal'>\n <InformOrder orderIds={[this.props.order.id]}/>\n </Modal>\n </div>;\n }\n },\n\n renderRemarks() {\n if (this.props.order.remarks) {\n return (\n <div className=\"order-more-remarks\">\n <b>{this.props.t('remarks')}</b>\n {this.props.order.remarks}\n </div>\n )\n }\n\n return null;\n },\n\n handleOrderInform(e) {\n e.preventDefault();\n this.props.dispatch(carrierInformOrder(this.props.order.id));\n\n },\n\n render() {\n let { order, t } = this.props\n\n return (\n <div className=\"order-container order-more\">\n <div className=\"order-more-desc\">\n {order.item.description}\n </div>\n {order.item.stock_quantity == -1\n ? ''\n : (\n <div className=\"smaller\">\n {t(\"supplies:stock_quantity\")}: {order.item.stock_quantity}\n </div>\n )\n }\n <div className=\"order-actions\">\n {this.renderCancelButton()}\n {this.renderDeliveryButton()}\n {this.renderTakeButton()}\n {this.renderInformButton()}\n </div>\n {order.item.image_medium_url &&\n <div className=\"center\">\n <img src={order.item.image_medium_url} className=\"order-image\" />\n </div>\n }\n {this.renderRemarks()}\n <div className=\"order-more-map mt30\">\n <MapContainer style={{ height: 300 }}>\n <ZoomedMap\n image={{\n url: order.location.map_url,\n width: order.location.map_width,\n height: order.location.map_height\n }}\n positions={[order.spot]}\n selectedPositionId={order.spot.id}\n zoomId={order.id}\n />\n </MapContainer>\n </div>\n <div className=\"order-more-details mt30\">\n <div className=\"order-more-location-barcode\">\n <div className=\"location-barcode-title\">\n {t('locationCode')}\n </div>\n <div className=\"location-barcode-code\">\n <Barcode\n value={order.location.symbol}\n format={DEFAULT_BAR_FORMAT}\n />\n </div>\n </div>\n\n <div className=\"order-more-item-barcode\">\n <div className=\"item-title-code\">\n <div className=\"item-barcode-title\">\n {t('productCode')}\n </div>\n <div className=\"item-barcode-code\">\n <Barcode value={order.item.code} format={DEFAULT_BAR_FORMAT} width={1} fontSize={20} />\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n});\n\nfunction mapStateToProps(state, ownProps) {\n return {\n order: state.orders.orders.filter(function(elem) {\n return elem.id == state.orders.showDetailsOrderId;\n })[0],\n currentUser: state.app.currentUserId\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(OrderDetails))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\n\nimport { showDetails, check } from '../../common/orders/actions'\nimport FromNow from '../../common/lib/FromNow'\nimport SetIntervalMixin from '../../common/lib/mixins/SetIntervalMixin'\nimport OrderMixin from '../../common/lib/mixins/OrderMixin'\nimport OrderStatusIcon from '../../common/lib/OrderStatusIcon'\nimport OrderLocation from '../../common/lib/OrderLocation'\n\nlet Order = React.createClass({\n mixins: [SetIntervalMixin, OrderMixin],\n\n render() {\n let { order } = this.props;\n\n return (\n <tr className={this.rowClassNames()} onClick={this.handleShowDetails}>\n <td className='status'></td>\n <td className={\"order-meta \" + this.highlighted()}>\n <div className='line'>\n <div className=\"formatted-date\">\n <OrderStatusIcon order={order}/>\n <FromNow datetime={order.accepted_at || order.created_at} />\n {order.pretty_location}\n </div>\n <OrderLocation order={order} />\n </div>\n <div className='line ml6'>\n <div className=\"order-code\">{order.code},</div>\n {this.quantity()}\n </div>\n </td>\n <td className=\"order-details\">\n { this.checkBox()}\n {order.item.image_thumb_url &&\n <div className=\"order-thumb\">\n <img src={order.item.image_thumb_url} className=\"order-image\" />\n </div>\n }\n <div className=\"order-description\">\n {order.item.description}\n </div>\n </td>\n </tr>\n )\n }\n\n});\n\nfunction mapStateToProps(state, ownProps) {\n return {\n showDetailsOrderId: state.orders.showDetailsOrderId,\n checkedOrders: state.orders.checkedOrders,\n checkedOrdersStatus: state.orders.checkedOrdersStatus\n }\n}\n\nexport default connect(mapStateToProps)(Order)\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport ReactCSSTransitionGroup from 'react-addons-css-transition-group'\nimport {translate} from 'react-i18next'\n\nimport Button from '../../common/lib/Button'\nimport ConfirmButton from '../../common/lib/ConfirmButton'\nimport Modal from '../../common/lib/Modal'\nimport CancelOrder from '../orders/CancelOrder'\nimport InformOrder from '../orders/InformOrder'\nimport { setCurrentView } from '../../common/app/actions'\nimport { massInformOrder,\n massDeliverOrder,\n massTakeOrder } from '../../common/orders/massActions'\n\n\nlet OrdersMassActions = React.createClass({\n\n renderCancelButton() {\n return <span onClick={e => this.refs.cancelModal.showModal()}>\n <Button className=\"btn btn-danger\">\n {this.props.t('orders:cancel')}\n </Button>\n <Modal refName='cancelModal' ref='cancelModal'>\n <CancelOrder orderIds={this.props.checkedOrders}/>\n </Modal>\n </span>;\n },\n\n renderInformButton() {\n return <span onClick={e => this.refs.infosModal.showModal()}>\n <Button className=\"btn btn-info\">\n <i className=\"fa fa-info-circle\"></i> \n {this.props.t('orders:inform')}\n </Button>\n <Modal refName='infosModal' ref='infosModal'>\n <InformOrder orderIds={this.props.checkedOrders}/>\n </Modal>\n </span>;\n },\n\n handleOrderInfrom() {\n this.props.dispatch(massInformOrder(this.props.checkedOrders));\n },\n\n renderTakeButton() {\n return <span>\n <ConfirmButton\n type=\"button\"\n onClick={e => this.handleOrderTake(e)}\n color=\"inform\"\n className='btn btn-success'\n >\n <i className=\"fa fa-check\"></i> \n {this.props.t('orders:take')}\n </ConfirmButton>\n </span>;\n },\n\n handleOrderTake() {\n this.props.dispatch(massTakeOrder(this.props.checkedOrders));\n },\n\n renderDeliveryButton() {\n return <span>\n <ConfirmButton\n type=\"button\"\n onClick={e => this.handleOrderDelivery(e)}\n color=\"inform\"\n className='btn btn-success'\n >\n <i className=\"fa fa-check\"></i> \n {this.props.t('orders:deliver')}\n </ConfirmButton>\n </span>;\n },\n\n handleOrderDelivery() {\n this.props.dispatch(massDeliverOrder(this.props.checkedOrders));\n },\n\n render() {\n let anyCheckedOrders = this.props.checkedOrders.length != 0;\n let checkedOrdersStatus = this.props.checkedOrdersStatus;\n const { t } = this.props;\n\n if (!anyCheckedOrders) {\n return null;\n }\n\n return (\n <div className='float-box-wrapper'>\n <div className='float-box'>\n <ReactCSSTransitionGroup\n transitionName=\"fade\"\n transitionAppear={true}\n transitionAppearTimeout={2000}\n transitionEnterTimeout={2000}\n transitionLeaveTimeout={100}\n >\n {anyCheckedOrders && this.renderInformButton()}\n {anyCheckedOrders && checkedOrdersStatus != 'taken' && this.renderTakeButton()}\n {anyCheckedOrders && checkedOrdersStatus == 'taken' && this.renderDeliveryButton()}\n {anyCheckedOrders && this.renderCancelButton()}\n </ReactCSSTransitionGroup>\n </div>\n </div>\n )\n }\n\n})\n\nlet mapStateToProps = (state) => {\n return {\n app: state.app,\n checkedOrders: state.orders.checkedOrders,\n checkedOrdersStatus: state.orders.checkedOrdersStatus\n }\n}\n\nexport default connect(mapStateToProps)(translate(['header'])(OrdersMassActions))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport moment from 'moment/moment.js'\nimport momentEN from 'moment/locale/en-gb'\nimport momentPl from 'moment/locale/pl'\nimport momentCS from 'moment/locale/cs'\nimport ReactCSSTransitionGroup from 'react-addons-css-transition-group'\n\nimport Order from './Order'\nimport OrdersMassActions from './OrdersMassActions'\nimport { carrierFetch as fetchOrders } from '../../common/orders/actions'\n\nlet OrdersList = React.createClass({\n\n componentDidMount() {\n if (this.props.orders.length === 0) {\n this.props.dispatch(fetchOrders());\n }\n },\n\n filteredOrders() {\n if (this.props.searchText == '') {\n return this.props.orders;\n }\n\n return this.props.orders.filter((order) => {\n return order.number.includes(this.props.searchText) ||\n order.code.includes(this.props.searchText) ||\n order.item.description.toLowerCase().includes(this.props.searchText.toLowerCase());\n });\n },\n\n render() {\n return (\n <div>\n <OrdersMassActions />\n <table className=\"operator-orders\" id=\"orders-list\">\n <ReactCSSTransitionGroup\n component=\"tbody\"\n transitionName=\"fade\"\n component=\"tbody\"\n transitionAppear={true}\n transitionAppearTimeout={2000}\n transitionEnterTimeout={3000}\n transitionLeaveTimeout={2500}\n >\n {this.filteredOrders().map(function(order, index) {\n return <Order\n key={order.id}\n index={index}\n updated_at={order.updated_at}\n order={order}\n />;\n })}\n </ReactCSSTransitionGroup>\n </table>\n </div>\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n orders: state.orders.orders.filter((order) => {\n return order.status == 'accepted' || order.status == 'taken' ||\n (order.status == 'new' && !order.quality_check_required);\n })\n .sort((a,b) => {\n return moment.utc(a.accepted_at || a.created_at)\n .diff(\n moment.utc(b.accepted_at || b.created_at)\n );\n })\n }\n}\n\nexport default connect(mapStateToProps)(OrdersList)\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport OrderDetails from './OrderDetails'\nimport OrdersList from './OrdersList'\nimport Search from '../../common/lib/Search'\nimport { showDetails, carrierFetch as fetchOrders } from '../../common/orders/actions'\n\nlet OrdersWrapper = React.createClass({\n\n getInitialState: function() {\n return { searchText: '' }\n },\n\n shouldShowDetails() {\n return !!this.props.showDetailsOrderId && !!this.props.detailedOrder;\n },\n\n handleSearch(text) {\n this.setState({searchText: text});\n },\n\n refreshClick(e) {\n e.preventDefault();\n this.props.dispatch(fetchOrders());\n this.refs.searchBox.clear();\n this.props.dispatch(showDetails(null));\n },\n\n scrollListUp() {\n let scrollableDiv = this.refs.orderList;\n scrollableDiv.scrollTop = 0;\n },\n\n render() {\n const { t } = this.props;\n\n return (\n <div className=\"content-wrapper\">\n <div className=\"page-header\">\n <a className=\"refresh-button\" href=\"#\" onClick={this.refreshClick}>\n <i className=\"fa fa-refresh\"></i> {t('common:refresh')}\n </a>\n <Search onSearch={this.handleSearch} ref='searchBox'/>\n </div>\n <div ref='orderList' className={`scroll-wrapper ${this.shouldShowDetails() && 'half'}`}>\n <OrdersList searchText={this.state.searchText}/>\n </div>\n {\n this.shouldShowDetails() &&\n <div className='scroll-wrapper half'>\n <OrderDetails scrollListUp={this.scrollListUp}/>\n </div>\n }\n </div>\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n showDetailsOrderId: state.orders.showDetailsOrderId,\n detailedOrder: state.orders.orders.filter((order) => {\n return order.status == 'accepted' || order.status == 'taken' ||\n (order.status == 'new' && !order.quality_check_required);\n }).filter(function(elem) {\n return elem.id == state.orders.showDetailsOrderId;\n })[0]\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(OrdersWrapper))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\n\nimport Header from './Header'\nimport OrdersWrapper from '../orders/OrdersWrapper'\nimport { fetchLocations } from '../../common/locations/actions'\nimport { carrierFetch as fetchOrders } from '../../common/orders/actions'\nimport ConnectionStatus from '../../common/containers/connectionStatus/ConnectionStatus'\n\nlet App = React.createClass({\n\n componentWillMount() {\n this.props.dispatch(fetchLocations());\n },\n\n onlineAgain() {\n this.props.dispatch(fetchLocations());\n this.props.dispatch(fetchOrders());\n },\n\n render() {\n return (\n <div>\n <ConnectionStatus\n lang={this.props.app.language}\n testUrl={window.location.href}\n onlineAgain={this.onlineAgain}\n />\n <Header location={this.props.location}/>\n <section className=\"content\">\n {this.props.children}\n </section>\n </div>\n\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n app: state.app,\n orders: state.orders,\n }\n}\n\nexport default connect(mapStateToProps)(App)\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider, connect } from 'react-redux';\nimport { combineReducers, createStore, applyMiddleware, compose } from 'redux';\nimport thunk from 'redux-thunk';\nimport ActionCable from 'actioncable';\nimport bowser from 'bowser';\n\nimport { Router, Route, IndexRoute, Redirect,\n browserHistory, IndexRedirect } from 'react-router'\nimport { createHistory, useBasename } from 'history'\n\nimport { I18nextProvider } from 'react-i18next';\nimport { initializeI18n } from './i18n'\n\nimport AppReducer from './common/app/reducer'\nimport OrdersReducer from './common/orders/reducer'\nimport LocationsReducer from './common/locations/reducer'\n\nimport Header from './carrier/app/Header';\nimport App from './carrier/app/App';\n\nimport { setCSRFToken, setCurrentPlant, setCurrentUser,\n setLanguage, setUserName, setUserLocations, setUser } from './common/app/actions'\nimport {\n filteredUpdate as updateOrder,\n setCancelReasons as setOrderCancelReasons,\n setInfos as setOrderInfos } from './common/orders/actions'\nimport Profile from './common/pages/Profile';\nimport OrdersWrapper from './carrier/orders/OrdersWrapper';\nimport ThemeProvider from './common/lib/ThemeProvider';\n\nrequire('./assets/stylesheets/application.sass');\n\nlet reducers = combineReducers({\n orders: OrdersReducer,\n locations: LocationsReducer,\n app: AppReducer\n});\n\nlet store = createStore(reducers, compose(\n applyMiddleware(thunk),\n window.devToolsExtension ? window.devToolsExtension() : f => f\n ));\n\nlet consumer = ActionCable.createConsumer();\nlet connection = consumer.subscriptions.create('PlantOrdersChannel', {\n connected() {\n this.perform('follow', {\n plant_id: document.getElementsByName('current_plant_id')[0].dataset.id\n });\n },\n disconnected() {},\n received(order) {\n store.dispatch(updateOrder(order['order']));\n }\n})\n\nlet i18nObj = initializeI18n(document.getElementsByName('language')[0].dataset.lang);\nstore.dispatch(setCSRFToken(document.getElementsByName('csrf-token')[0].content));\nstore.dispatch(setCurrentPlant(document.getElementsByName('current_plant_id')[0].dataset.id));\nstore.dispatch(setUserLocations(document.getElementsByName('user_location_ids')[0].dataset.locations));\nstore.dispatch(setCurrentUser(document.getElementsByName('current_user_id')[0].dataset.id));\nstore.dispatch(setUser(JSON.parse(document.getElementsByName('user')[0].dataset.user)));\nstore.dispatch(setOrderCancelReasons(JSON.parse(document.getElementsByName('cancel_reasons')[0].dataset.elems)));\nstore.dispatch(setOrderInfos(JSON.parse(document.getElementsByName('order_infos')[0].dataset.elems)));\nstore.dispatch(setLanguage(document.getElementsByName('language')[0].dataset.lang));\nstore.dispatch(setUserName(document.getElementsByName('user_name')[0].dataset.name));\n\nconst history = useBasename(createHistory)({\n basename: \"/carrier/app\"\n})\n\nif (!bowser.msie) {\n ReactDOM.render(\n <Provider store={store}>\n <I18nextProvider i18n={ i18nObj }>\n <ThemeProvider>\n <Router history={history}>\n <Route path =\"/\" component={App}>\n <IndexRedirect to=\"orders\" />\n <Route path=\"orders\" component={OrdersWrapper} />\n\n <Route path=\"profile\" component={Profile} />\n <Redirect from='*' to='orders' />\n </Route>\n </Router>\n </ThemeProvider>\n </I18nextProvider>\n </Provider>,\n document.getElementById('carrier-app')\n )\n} else {\n let el = document.getElementsByClassName('unsupported_browser')[0];\n el.setAttribute(\"style\", \"display:block;\");\n}\n","import Cookies from 'js-cookie'\n\nexport default (\n state = {\n orders: [],\n showDetailsOrderId: false,\n message: null,\n status: null\n },\n action\n) => {\n switch (action.type) {\n\n case 'FETCH_ORDERS_SUCCESS':\n return {\n ...state,\n orders: action.data\n }\n\n case 'PLACE_ORDERS_REQUEST':\n return {\n ...state,\n isSendingOrders: true\n }\n\n case 'PLACE_ORDERS_SUCCESS':\n return {\n ...state,\n isSendingOrders: false,\n ...action.data\n }\n\n case 'RESET_ORDERS_STATUS':\n return {\n ...state,\n message: null,\n status: null\n }\n\n case 'SHOW_ORDER_DETAILS':\n return {\n ...state,\n showDetailsOrderId: action.id\n }\n\n\n case 'UPDATE_ORDER':\n let orders = [];\n let operator_id = Cookies.get('guessed_operator_id');\n\n if (state.orders == []) {\n orders = [action.data];\n } else if (state.orders.map(order => order.id).includes(action.data.id)) {\n orders = state.orders.map((order) => {\n return order.id == action.data.id ? action.data : order\n });\n } else {\n orders = [action.data].concat(state.orders);\n }\n\n let filtered_orders = orders.filter(function(order) {\n return order.operator_id == operator_id;\n });\n\n return {\n ...state,\n orders: filtered_orders\n }\n\n\n default:\n return state\n }\n}\n","import { getFetchConfig, postFetchConfig, parseJSON, checkStatus } from '../../common/fetchHelper'\n\nimport Promise from 'bluebird'\nif (!window.Promise) {\n window.Promise = Promise;\n}\n\nfunction fetchSuccess(orders) {\n return { type: 'FETCH_ORDERS_SUCCESS', data: orders }\n}\n\nfunction fetchFailure(errors) {\n return { type: 'FETCH_ORDERS_FAILURE', errors }\n}\n\nfunction placeOrdersRequest() {\n return { type: 'PLACE_ORDERS_REQUEST' }\n}\n\nfunction placeOrdersSuccess(body) {\n return { type: 'PLACE_ORDERS_SUCCESS', data: body }\n}\n\nfunction placeOrdersFailure(error) {\n return { type: 'PLACE_ORDERS_FAILURE', error: error }\n}\n\nexport function resetOrdersStatus() {\n return { type: 'RESET_ORDERS_STATUS' }\n}\n\nexport function update(order) {\n return { type: 'UPDATE_ORDER', data: order }\n}\n\nexport function showDetails(id) {\n return { type: 'SHOW_ORDER_DETAILS', id: id }\n}\n\nexport function fetchScannerOrders() {\n return (dispatch, getState) => {\n let url = '/api/v1/scanner/orders.json'\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((data) => {\n dispatch(fetchSuccess(data));\n return data;\n })\n .catch((error) => {\n return;\n });\n }\n}\n\nexport function placeOrder(code) {\n return (dispatch, getState) => {\n\n dispatch(placeOrdersRequest());\n const url = `/api/v1/scanner/cards/scan?number=${code}`\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((res) => {\n dispatch(placeOrdersSuccess(res));\n dispatch(fetchScannerOrders());\n return res;\n })\n .catch((error) => {\n dispatch(placeOrdersFailure(error));\n return;\n });\n }\n}\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport Barcode from 'react-barcode'\nimport ReactDOM from 'react-dom'\nimport {translate} from 'react-i18next'\n\nimport ZoomedMap from '../../common/lib/map/ZoomedMap'\nimport MapContainer from '../../common/lib/map/Container'\nimport { DEFAULT_BAR_FORMAT } from '../../common/variables'\nimport { showDetails } from '../../common/scannerOrders/actions'\n\nlet OrderDetails = React.createClass({\n\n componentDidUpdate() {\n let scrollableDiv = ReactDOM.findDOMNode(this).parentNode;\n scrollableDiv.scrollTop = 0;\n },\n\n handleHideDetails() {\n this.props.dispatch(showDetails(null));\n },\n\n render() {\n let { order, t } = this.props\n\n return (\n <div className=\"order-container order-more\">\n <div className=\"order-more-desc\">\n {order.item.description}\n </div>\n <div className=\"order-actions\">\n </div>\n <div className=\"order-more-map\">\n <MapContainer style={{ height: 300 }}>\n <ZoomedMap\n image={{\n url: order.location.map_url,\n width: order.location.map_width,\n height: order.location.map_height\n }}\n positions={[this.props.order.spot]}\n selectedPositionId={this.props.order.spot.id}\n zoomId={this.props.order.id}\n />\n </MapContainer>\n </div>\n <div className=\"order-more-details\">\n <div className=\"order-more-location-barcode\">\n <div className=\"location-barcode-title\">\n {t('locationCode')}\n </div>\n <div className=\"location-barcode-code\">\n <Barcode\n value={order.location.symbol}\n format={DEFAULT_BAR_FORMAT}\n />\n </div>\n </div>\n\n <div className=\"order-more-item-barcode\">\n <div className=\"item-title-code\">\n <div className=\"item-barcode-title\">\n {t('productCode')}\n </div>\n <div className=\"item-barcode-code\">\n <Barcode\n value={order.item.code}\n format={DEFAULT_BAR_FORMAT}\n width={1}\n fontSize={20}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n});\n\nfunction mapStateToProps(state, ownProps) {\n return {\n order: state.orders.orders.filter(function(elem) {\n return elem.id == state.orders.showDetailsOrderId;\n })[0]\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(OrderDetails))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\n\nimport FromNow from '../../common/lib/FromNow'\nimport SetIntervalMixin from '../../common/lib/mixins/SetIntervalMixin'\nimport OrderMixin from '../../common/lib/mixins/OrderMixin'\nimport { showDetails } from '../../common/scannerOrders/actions'\nimport OrderStatusIcon from '../../common/lib/OrderStatusIcon'\nimport OrderDirectionIcon from '../../common/lib/OrderDirectionIcon'\n\nlet Order = React.createClass({\n mixins: [SetIntervalMixin, OrderMixin],\n\n render() {\n let { order } = this.props;\n\n return (\n <tr className={this.rowClassNames()} onClick={this.handleShowDetails}>\n <td className='status'></td>\n <td className={\"order-meta \" + this.highlighted()}>\n <div className='line hw'>\n <div className=\"formatted-date\">\n <OrderStatusIcon order={order} />\n <FromNow datetime={order.created_at} />\n </div>\n <div className=''>\n <OrderDirectionIcon order={order} />\n <span className=\"order-meta-spot\"> {order.location.symbol}: {order.spot_symbol}</span>\n </div>\n </div>\n <div className='line hw'>\n <div className=\"order-code\">{order.code},</div>\n {this.quantity()}\n </div>\n </td>\n <td className=\"order-details\">\n <div className=\"order-description\">\n {order.item.description}\n </div>\n </td>\n </tr>\n )\n }\n\n});\n\nfunction mapStateToProps(state, ownProps) {\n return {\n showDetailsOrderId: state.orders.showDetailsOrderId\n }\n}\n\nexport default connect(mapStateToProps)(Order)\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport moment from 'moment/moment.js'\nimport momentEN from 'moment/locale/en-gb'\nimport momentPl from 'moment/locale/pl'\nimport momentCS from 'moment/locale/cs'\nimport ReactCSSTransitionGroup from 'react-addons-css-transition-group'\n\nimport Order from './Order'\n\nlet OrdersList = React.createClass({\n\n filteredOrders() {\n return this.props.orders;\n },\n\n render() {\n return (\n <table className=\"operator-orders\" id=\"orders-list\">\n <ReactCSSTransitionGroup\n component=\"tbody\"\n transitionName=\"fade\"\n component=\"tbody\"\n transitionAppear={true}\n transitionAppearTimeout={2000}\n transitionEnterTimeout={3000}\n transitionLeaveTimeout={2500}\n >\n {this.filteredOrders().map(function(order, index) {\n return <Order\n key={order.id}\n index={index}\n updated_at={order.updated_at}\n order={order}\n />;\n })}\n </ReactCSSTransitionGroup>\n </table>\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n orders: state.orders.orders.sort((a,b) => {\n return moment.utc(b.created_at).diff(moment.utc(a.created_at));\n })\n }\n}\n\nexport default connect(mapStateToProps)(OrdersList)\n","import React, { PropTypes } from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport { placeOrder, resetOrdersStatus, showDetails } from '../../common/scannerOrders/actions'\n\nconst Scanner = React.createClass({\n\n componentDidMount() {\n setInterval(() => {\n this.refs.scannerInput.focus();\n }, 1000);\n },\n\n\n handleKeyPress: function(e) {\n if (e.key === 'Enter') {\n e.preventDefault();\n this.props.dispatch(placeOrder(e.target.value));\n }\n },\n\n componentWillReceiveProps(nextProps) {\n this.showStatusMessage(nextProps.status, nextProps.message);\n },\n\n clearInput () {\n this.refs.scannerInput.value = '';\n this.props.dispatch(showDetails(null));\n },\n\n showStatusMessage(status, message) {\n if (status != null) {\n new Flash(\n message,\n status == '1' ? 'notice' : 'alert'\n );\n\n this.clearInput();\n this.props.dispatch(resetOrdersStatus());\n }\n },\n\n render() {\n return (\n <div id=\"scanner\">\n <form action=\"/scanner/cards/scan\" method=\"post\">\n <input\n onKeyPress={this.handleKeyPress}\n ref='scannerInput'\n type=\"text\"\n id=\"barcode-field\"\n autoFocus=\"autofocus\"\n placeholder={this.props.t('placeholder')}\n />\n </form>\n </div>\n )\n }\n})\n\nlet mapStateToProps = state => {\n return {\n app: state.app,\n message: state.orders.message,\n status: state.orders.status\n }\n}\n\nexport default connect(mapStateToProps)(translate(['scanner'])(Scanner))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport OrderDetails from './OrderDetails'\nimport OrdersList from './OrdersList'\nimport Scanner from '../app/Scanner'\n\nlet OrdersWrapper = React.createClass({\n\n shouldShowDetails() {\n return !!this.props.showDetailsOrderId;\n },\n\n scrollListUp() {\n let scrollableDiv = this.refs.orderList;\n scrollableDiv.scrollTop = 0;\n },\n\n render() {\n return (\n <div className=\"content-wrapper\">\n <div className=\"scanner-header\">\n <Scanner />\n </div>\n <div ref='orderList' className={`scroll-wrapper ${this.shouldShowDetails() && 'half'}`}>\n <OrdersList/>\n </div>\n {\n this.shouldShowDetails() &&\n <div className='scroll-wrapper half'>\n <OrderDetails scrollListUp={this.scrollListUp}/>\n </div>\n }\n </div>\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n showDetailsOrderId: state.orders.showDetailsOrderId\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(OrdersWrapper))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nlet Header = React.createClass({\n\n filteredAvailableLocales() {\n return this.props.app.availableLocales.filter((lang) => {\n return lang !== this.props.app.language;\n });\n },\n\n render() {\n const { t } = this.props;\n\n return (\n <header id=\"portable-header\">\n <div className=\"content-wrapper\">\n <div className=\"header-title operator-header-title\">\n <span>\n <div className=\"fa fa-barcode\"></div>\n {\" \"}{t('scanner:title')}\n </span>\n </div>\n <ul className=\"actions\">\n <li className=\"user-menu\">\n <a style={{ userSelect: 'none' }}>\n <i className=\"fa fa-flag\"></i> \n <span className='user-name'>{this.props.app.language.toUpperCase()}</span>\n </a>\n <ul>\n {this.filteredAvailableLocales().map((lang) => {\n return (\n <li key={lang}>\n <a href={`/locales/${lang}/set_current`}>{lang.toUpperCase()}</a>\n </li>\n );\n })}\n </ul>\n </li>\n <li className=\"user-menu\">\n <a href=\"/users/sign_in\">\n <i className=\"fa fa-arrow-left\"></i> \n <span className='user-name'>{t('common:back')}</span>\n </a>\n </li>\n </ul>\n </div>\n </header>\n )\n }\n\n})\n\nlet mapStateToProps = (state) => {\n return {\n app: state.app\n }\n}\n\nexport default connect(mapStateToProps)(translate(['header'])(Header))\n","import React, { PropTypes } from 'react'\nimport {connect} from 'react-redux'\n\nimport OrdersWrapper from '../orders/OrdersWrapper'\nimport Header from './Header'\n\n\nconst App = React.createClass({\n render() {\n return (\n <div>\n <Header/>\n <section className=\"content\">\n <OrdersWrapper />\n </section>\n </div>\n )\n }\n})\n\nlet mapStateToProps = state => {\n return {\n app: state.app\n }\n}\n\nexport default connect(mapStateToProps)(App)\n","import React from 'react'\nimport ReactDOM from 'react-dom'\nimport { Provider, connect } from 'react-redux'\nimport { combineReducers, createStore, applyMiddleware, compose } from 'redux'\nimport thunk from 'redux-thunk'\nimport ActionCable from 'actioncable';\nimport bowser from 'bowser';\n\nimport { I18nextProvider } from 'react-i18next';\nimport { initializeI18n } from './i18n'\n\nimport AppReducer from './common/app/reducer'\nimport scannerOrdersReducer from './common/scannerOrders/reducer'\n\nimport App from './scanner/app/App'\n\nimport { setCSRFToken, setLanguage, setAvailableLocales } from './common/app/actions'\nimport { update as updateOrder, fetchScannerOrders as fetchOrders } from './common/scannerOrders/actions'\n\nrequire('./assets/stylesheets/application.sass');\n\nlet reducers = combineReducers({\n app: AppReducer,\n orders: scannerOrdersReducer\n})\n\nlet store = createStore(reducers, compose(\n applyMiddleware(thunk),\n window.devToolsExtension ? window.devToolsExtension() : f => f\n ))\n\nlet consumer = ActionCable.createConsumer();\nlet connection = consumer.subscriptions.create('PlantOrdersChannel', {\n connected() {\n this.perform('follow_all');\n },\n disconnected() {},\n received(order) {\n store.dispatch(updateOrder(order['order']));\n }\n})\n\nstore.dispatch(setCSRFToken(document.getElementsByName('csrf-token')[0].content))\nstore.dispatch(setLanguage(document.getElementsByName('language')[0].dataset.lang));\nstore.dispatch(setAvailableLocales(document.getElementsByName('available_locales')[0].dataset.lang))\nstore.dispatch(fetchOrders());\n\nlet i18nObj = initializeI18n(document.getElementsByName('language')[0].dataset.lang);\n\nif (!bowser.msie) {\n ReactDOM.render(\n <Provider store={store}>\n <I18nextProvider i18n={ i18nObj }>\n <App />\n </I18nextProvider>\n </Provider>,\n document.getElementById('scanner-app')\n )\n} else {\n let el = document.getElementsByClassName('unsupported_browser')[0];\n el.setAttribute(\"style\", \"display:block;\");\n}\n","export default (\n state = {\n orders: []\n },\n action\n) => {\n switch (action.type) {\n\n case 'FETCH_ORDERS_SUCCESS':\n return {\n ...state,\n orders: action.data\n }\n\n case 'UPDATE_ORDER':\n let orders = [];\n if (state.orders == []) {\n orders = [action.data];\n } else if (state.orders.map(order => order.id).includes(action.data.id)) {\n orders = state.orders.map((order) => {\n return order.id == action.data.id ? action.data : order\n });\n } else {\n orders = [action.data].concat(state.orders);\n }\n\n const allowedStatuses = ['accepted', 'taken', 'new'];\n let filteredOrders = orders.filter((order) => {\n return allowedStatuses.includes(order.status);\n });\n\n return {\n ...state,\n orders: filteredOrders\n }\n\n default:\n return state\n }\n}\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nlet Header = React.createClass({\n\n render() {\n const { t } = this.props;\n\n return (\n <header id=\"portable-header\">\n <div className=\"content-wrapper\">\n <div className=\"header-title operator-header-title\">\n <span>\n <div className=\"fa fa-television\"></div>\n {\" \"}{t('title')}: {this.props.app.displayName}\n </span>\n </div>\n <ul className=\"actions\">\n <li className=\"user-menu\">\n <img src='/assets/logo.png'></img>\n </li>\n </ul>\n </div>\n </header>\n )\n }\n\n})\n\nlet mapStateToProps = (state, ownProps) => {\n return {\n app: state.app,\n locations: state.locations.locations.filter((location) => {\n return ownProps.locationIds.includes(location.id.toString());\n })\n }\n}\n\nexport default connect(mapStateToProps)(translate(['display'])(Header))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\n\nimport { showDetails, check } from '../../common/orders/actions'\nimport FromNow from '../../common/lib/FromNow'\nimport SetIntervalMixin from '../../common/lib/mixins/SetIntervalMixin'\nimport OrderMixin from '../../common/lib/mixins/OrderMixin'\nimport OrderStatusIcon from '../../common/lib/OrderStatusIcon'\nimport OrderLocation from '../../common/lib/OrderLocation'\n\nlet Order = React.createClass({\n mixins: [SetIntervalMixin, OrderMixin],\n\n render() {\n let { order } = this.props;\n\n return (\n <tr className={this.rowClassNames() + ' non-clickable'}>\n <td className='status'></td>\n <td className=\"order-meta\">\n <div className=\"formatted-date\">\n <OrderStatusIcon order={order}/>\n <FromNow datetime={order.accepted_at || order.created_at} />\n {order.pretty_location}\n </div>\n <OrderLocation order={order} />\n </td>\n <td className=\"order-meta\">\n <div className=\"order-code\">{order.code},</div>\n {this.quantity()}\n </td>\n <td className=\"order-details\">\n <div className=\"order-description\">\n {order.item.description}\n </div>\n </td>\n </tr>\n )\n }\n});\n\nexport default Order\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\nimport ReactCSSTransitionGroup from 'react-addons-css-transition-group'\n\nimport Order from './Order'\n\nlet OrdersList = React.createClass({\n\n renderTitle() {\n return this.props.location != undefined ? this.props.location.name : '';\n },\n\n renderOrdersCount() {\n const length = this.props.orders.length;\n\n\n if (length == 0) {\n return `: ${this.props.t('display:lack_of_orders')}`;\n } else if ( length == 1) {\n return `: ${length} ${this.props.t('orders:order.one')}`;\n } else {\n return `: ${length} ${this.props.t('orders:order.many')}`;\n }\n },\n\n render() {\n return (\n <div className='box-item'>\n <p className='box-title'>\n {this.renderTitle()}\n {this.renderOrdersCount()}\n </p>\n <table className=\"operator-orders\" id=\"orders-list\">\n <ReactCSSTransitionGroup\n component=\"tbody\"\n transitionName=\"fade\"\n component=\"tbody\"\n transitionAppear={true}\n transitionAppearTimeout={2000}\n transitionEnterTimeout={3000}\n transitionLeaveTimeout={2500}\n >\n {this.props.orders.map(function(order, index) {\n return <Order\n key={order.id}\n index={index}\n updated_at={order.updated_at}\n order={order}\n />;\n })}\n </ReactCSSTransitionGroup>\n </table>\n </div>\n )\n }\n\n})\n\nexport default translate(['display'])(OrdersList)\n","import React, { PropTypes } from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\nimport moment from 'moment/moment.js'\nimport momentEN from 'moment/locale/en-gb'\nimport momentPl from 'moment/locale/pl'\nimport momentCS from 'moment/locale/cs'\n\nimport OrdersList from '../orders/OrdersList'\n\nlet Box = React.createClass({\n render() {\n const { t, orders } = this.props;\n\n return (\n <OrdersList\n locationId={this.props.locationId}\n orders={this.props.orders}\n location={this.props.location}\n />\n );\n }\n\n});\n\nlet mapStateToProps = (state, ownProps) => {\n return {\n orders: state.orders.orders.filter((order) => {\n return order.location_id == ownProps.locationId;\n }).sort((a,b) => {\n return moment.utc(b.updated_at).diff(moment.utc(a.updated_at));\n }),\n location: state.locations.locations.filter((location) => {\n return location.id == ownProps.locationId;\n })[0]\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(Box))\n","import { getFetchConfig, postFetchConfig, parseJSON, checkStatus } from '../../common/fetchHelper'\n\nimport Promise from 'bluebird'\nif (!window.Promise) {\n window.Promise = Promise;\n}\n\nfunction fetchSuccess(orders) {\n return { type: 'FETCH_ORDERS_SUCCESS', data: orders }\n}\n\nfunction fetchFailure(errors) {\n return { type: 'FETCH_ORDERS_FAILURE', errors }\n}\n\nexport function update(order) {\n return { type: 'UPDATE_ORDER', data: order }\n}\n\nexport function fetchDisplayOrders() {\n return (dispatch, getState) => {\n let url = '/api/v1/display/orders.json'\n\n url = url + '?location_ids=' + encodeURIComponent(\n getState().app.locationIds\n );\n\n return fetch(url, getFetchConfig)\n .then(checkStatus)\n .then(parseJSON)\n .then((data) => {\n dispatch(fetchSuccess(data));\n return data;\n })\n .catch((error) => {\n dispatch(fetchFailure(error));\n return;\n });\n }\n}\n","import React, { PropTypes } from 'react'\nimport {connect} from 'react-redux'\n\nimport Header from './Header'\nimport Box from './Box'\n\nimport ConnectionStatus from '../../common/containers/connectionStatus/ConnectionStatus'\n\nimport {\n fetchDisplayLocations as fetchLocations\n} from '../../common/locations/actions'\nimport { fetchDisplayOrders as fetchOrders } from '../../common/displayOrders/actions'\n\nconst App = React.createClass({\n componentWillMount() {\n this.props.dispatch(fetchLocations());\n this.props.dispatch(fetchOrders());\n },\n\n filterOrdersByLocation(locationId) {\n return this.props.orders.filter((order) => {\n return order.location_id == locationId;\n });\n },\n\n onlineAgain() {\n this.props.dispatch(fetchLocations());\n this.props.dispatch(fetchOrders());\n },\n\n styles() {\n return [\n 'content',\n 'box-container',\n `boxes-${this.props.app.locationIds.length}`\n ].join(' ')\n },\n\n render() {\n return (\n <div>\n <ConnectionStatus\n lang={this.props.app.language}\n testUrl={window.location.href}\n onlineAgain={this.onlineAgain}\n />\n <Header\n locationIds={this.props.app.locationIds}\n />\n <section className={this.styles()}>\n {this.props.app.locationIds.map((locationId) => {\n return <Box\n key={locationId}\n locationId={locationId}\n />;\n })}\n </section>\n </div>\n )\n }\n})\n\nlet mapStateToProps = state => {\n return {\n app: state.app\n }\n}\n\nexport default connect(mapStateToProps)(App)\n","import React from 'react'\nimport ReactDOM from 'react-dom'\nimport { Provider, connect } from 'react-redux'\nimport { combineReducers, createStore, applyMiddleware, compose } from 'redux'\nimport thunk from 'redux-thunk'\nimport ActionCable from 'actioncable';\n\nimport { I18nextProvider } from 'react-i18next';\nimport { initializeI18n } from './i18n'\n\nimport AppReducer from './common/app/reducer'\nimport DisplayOrdersReducer from './common/displayOrders/reducer'\nimport LocationsReducer from './common/locations/reducer'\n\nimport App from './display/app/App'\n\nimport { setCSRFToken, setUserLocations, setCurrentPlant,\n setLanguage, setDisplayName } from './common/app/actions'\nimport { update as updateOrder } from './common/displayOrders/actions'\n\nrequire('./assets/stylesheets/application.sass');\n\nlet reducers = combineReducers({\n app: AppReducer,\n orders: DisplayOrdersReducer,\n locations: LocationsReducer\n})\n\nlet store = createStore(reducers, compose(\n applyMiddleware(thunk),\n window.devToolsExtension ? window.devToolsExtension() : f => f\n ))\n\nlet consumer = ActionCable.createConsumer();\nlet connection = consumer.subscriptions.create('PlantOrdersChannel', {\n connected() {\n this.perform('follow', {\n plant_id: document.getElementsByName('current_plant_id')[0].dataset.id\n });\n },\n disconnected() {},\n received(order) {\n store.dispatch(updateOrder(order['order']));\n }\n})\n\nstore.dispatch(setLanguage(document.getElementsByName('language')[0].dataset.lang))\nstore.dispatch(setCurrentPlant(document.getElementsByName('current_plant_id')[0].dataset.id))\nstore.dispatch(setUserLocations(document.getElementsByName('user_location_ids')[0].dataset.locations))\nstore.dispatch(setDisplayName(document.getElementsByName('display_name')[0].dataset.name))\n\nlet i18nObj = initializeI18n(document.getElementsByName('language')[0].dataset.lang);\n\nReactDOM.render(\n <Provider store={store}>\n <I18nextProvider i18n={ i18nObj }>\n <App />\n </I18nextProvider>\n </Provider>,\n document.getElementById('display-app')\n)\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport { setCurrentView } from '../../common/app/actions'\n\nlet Header = React.createClass({\n\n render() {\n let anyCheckedOrders = this.props.checkedOrders.length != 0;\n const { t } = this.props;\n const { userName } = this.props.app;\n\n return (\n <header id=\"portable-header\">\n <div className=\"content-wrapper\">\n <div className=\"header-title operator-header-title\">\n <span>\n <div className=\"fa fa-bars\"></div>\n {\" \"}{t('ordersList')}\n <span className=\"header-subtitle\"> {t('qualityView')}</span>\n </span>\n </div>\n <ul className=\"actions\">\n <li className=\"user-menu\">\n <a style={{ userSelect: 'none' }}>\n <i className=\"fa fa-user\"></i> \n <span className='user-name'>{userName}</span>\n </a>\n <ul>\n <li>\n <a href=\"/users/sign_out\">{this.props.t('common:signOut')}</a>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n </header>\n )\n }\n\n})\n\nlet mapStateToProps = (state) => {\n return {\n app: state.app,\n checkedOrders: state.orders.checkedOrders\n }\n}\n\nexport default connect(mapStateToProps)(translate(['header'])(Header))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport Barcode from 'react-barcode'\nimport ReactDOM from 'react-dom'\nimport {translate} from 'react-i18next'\n\nimport Map from '../../common/lib/map/Map'\nimport ZoomedMap from '../../common/lib/map/ZoomedMap'\nimport MapContainer from '../../common/lib/map/Container'\nimport ConfirmButton from '../../common/lib/ConfirmButton'\nimport Button from '../../common/lib/Button'\nimport { DEFAULT_BAR_FORMAT } from '../../common/variables'\nimport { showDetails, qualityAcceptOrder, qualityRejectOrder } from '../../common/orders/actions'\n\nlet OrderDetails = React.createClass({\n\n componentDidUpdate() {\n let scrollableDiv = ReactDOM.findDOMNode(this).parentNode;\n scrollableDiv.scrollTop = 0;\n },\n\n handleHideDetails() {\n this.props.dispatch(showDetails(null));\n },\n\n renderRejectButton() {\n return <ConfirmButton\n type=\"button\"\n onClick={e => this.handleOrderReject(e)}\n color=\"danger\"\n >\n {this.props.t('reject')}\n </ConfirmButton>;\n },\n\n handleOrderReject() {\n this.props.dispatch(qualityRejectOrder(this.props.order.id));\n },\n\n renderAcceptButton() {\n return <ConfirmButton\n type=\"button\"\n onClick={e => this.handleOrderAccept(e)}\n color=\"blue\"\n >\n {this.props.t('accept')}\n </ConfirmButton>;\n },\n\n handleOrderAccept() {\n this.props.dispatch(qualityAcceptOrder(this.props.order.id));\n },\n\n render() {\n let { order, t } = this.props\n\n return (\n <div className=\"order-container order-more\">\n <div className=\"order-more-desc\">\n {order.item.description}\n </div>\n <div className=\"order-actions\">\n {this.renderRejectButton()}\n {this.renderAcceptButton()}\n </div>\n <div className=\"order-more-map\">\n <MapContainer style={{ height: 300 }}>\n <ZoomedMap\n image={{\n url: order.location.map_url,\n width: order.location.map_width,\n height: order.location.map_height\n }}\n positions={[order.spot]}\n selectedPositionId={order.spot.id}\n zoomId={order.id}\n />\n </MapContainer>\n </div>\n <div className=\"order-more-details\">\n <div className=\"order-more-location-barcode\">\n <div className=\"location-barcode-title\">\n {t('productCode')}\n </div>\n <div className=\"location-barcode-code\">\n <Barcode\n value={order.location.symbol}\n format={DEFAULT_BAR_FORMAT}\n />\n </div>\n </div>\n\n <div className=\"order-more-item-barcode\">\n <div className=\"item-title-code\">\n <div className=\"item-barcode-title\">\n {t('locationCode')}\n </div>\n <div className=\"item-barcode-code\">\n <Barcode\n value={order.item.code}\n format={DEFAULT_BAR_FORMAT}\n width={1}\n fontSize={20}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n});\n\nfunction mapStateToProps(state, ownProps) {\n return {\n order: state.orders.orders.filter(function(elem) {\n return elem.id == state.orders.showDetailsOrderId;\n })[0],\n currentUser: state.app.currentUserId\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(OrderDetails))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\n\nimport FromNow from '../../common/lib/FromNow'\nimport SetIntervalMixin from '../../common/lib/mixins/SetIntervalMixin'\nimport OrderMixin from '../../common/lib/mixins/OrderMixin'\nimport { showDetails, check } from '../../common/orders/actions'\nimport OrderStatusIcon from '../../common/lib/OrderStatusIcon'\nimport OrderDirectionIcon from '../../common/lib/OrderDirectionIcon'\n\nlet Order = React.createClass({\n mixins: [SetIntervalMixin, OrderMixin],\n\n render() {\n let { order } = this.props;\n\n return (\n <tr className={this.rowClassNames()} onClick={this.handleShowDetails}>\n <td className='status'></td>\n <td className={\"order-meta \" + this.highlighted()}>\n <div className='line hw'>\n <div className=\"formatted-date\">\n <OrderStatusIcon order={order} />\n <FromNow datetime={order.created_at} />\n </div>\n <div className=''>\n <OrderDirectionIcon order={order} />\n <span className=\"order-meta-spot\"> {order.location.symbol}: {order.spot_symbol}</span>\n </div>\n </div>\n <div className='line hw'>\n <div className=\"order-code\">{order.code},</div>\n {this.quantity()}\n </div>\n </td>\n <td className=\"order-details\">\n { this.checkBox()}\n <div className=\"order-description\">\n {order.item.description}\n </div>\n </td>\n </tr>\n )\n }\n\n});\n\nfunction mapStateToProps(state, ownProps) {\n return {\n showDetailsOrderId: state.orders.showDetailsOrderId,\n checkedOrders: state.orders.checkedOrders,\n checkedOrdersStatus: state.orders.checkedOrdersStatus\n }\n}\n\nexport default connect(mapStateToProps)(Order)\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport ReactCSSTransitionGroup from 'react-addons-css-transition-group'\nimport {translate} from 'react-i18next'\n\nimport { qualityMassAcceptOrder, qualityMassRejectOrder } from '../../common/orders/massActions'\n\n\nlet OrdersMassActions = React.createClass({\n\n renderRejectButton() {\n return <span onClick={this.handleOrderReject}>\n <a className=\"btn btn-danger\" href=\"#\">\n <i className=\"fa fa-times\"></i>\n  {this.props.t('orders:reject')}\n </a>\n </span>;\n },\n\n handleOrderReject() {\n this.props.dispatch(qualityMassRejectOrder(this.props.checkedOrders));\n },\n\n renderAcceptButton() {\n return <span onClick={this.handleOrderAccept}>\n <a className=\"btn btn-success\" href=\"#\">\n <i className=\"fa fa-check\"></i>\n  {this.props.t('orders:accept')}\n </a>\n </span>;\n },\n\n handleOrderAccept() {\n this.props.dispatch(qualityMassAcceptOrder(this.props.checkedOrders));\n },\n\n render() {\n let anyCheckedOrders = this.props.checkedOrders.length != 0;\n const { t } = this.props;\n\n if (!anyCheckedOrders) {\n return null;\n }\n\n return (\n <div className='float-box-wrapper'>\n <div className='float-box'>\n <ReactCSSTransitionGroup\n transitionName=\"fade\"\n transitionAppear={true}\n transitionAppearTimeout={2000}\n transitionEnterTimeout={2000}\n transitionLeaveTimeout={100}\n >\n {anyCheckedOrders && this.renderAcceptButton()}\n {anyCheckedOrders && this.renderRejectButton()}\n </ReactCSSTransitionGroup>\n </div>\n </div>\n )\n }\n\n})\n\nlet mapStateToProps = (state) => {\n return {\n app: state.app,\n checkedOrders: state.orders.checkedOrders,\n }\n}\n\nexport default connect(mapStateToProps)(translate(['header'])(OrdersMassActions))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport moment from 'moment/moment.js'\nimport momentEN from 'moment/locale/en-gb'\nimport momentPl from 'moment/locale/pl'\nimport momentCS from 'moment/locale/cs'\nimport ReactCSSTransitionGroup from 'react-addons-css-transition-group'\n\nimport Order from './Order'\nimport OrdersMassActions from './OrdersMassActions'\nimport { qualityFetch as fetchOrders } from '../../common/orders/actions'\n\nlet OrdersList = React.createClass({\n\n componentDidMount() {\n if (this.props.orders.length === 0) {\n this.props.dispatch(fetchOrders());\n }\n },\n\n filteredOrders() {\n if (this.props.searchText == '') {\n return this.props.orders;\n }\n\n return this.props.orders.filter((order) => {\n return order.number.includes(this.props.searchText) ||\n order.code.includes(this.props.searchText) ||\n order.item.description.toLowerCase().includes(this.props.searchText.toLowerCase());\n });\n },\n\n render() {\n return (\n <div>\n <OrdersMassActions />\n <table className=\"operator-orders\" id=\"orders-list\">\n <ReactCSSTransitionGroup\n component=\"tbody\"\n transitionName=\"fade\"\n component=\"tbody\"\n transitionAppear={true}\n transitionAppearTimeout={2000}\n transitionEnterTimeout={3000}\n transitionLeaveTimeout={2500}\n >\n {this.filteredOrders().map(function(order, index) {\n return <Order\n key={order.id}\n index={index}\n updated_at={order.updated_at}\n order={order}\n />;\n })}\n </ReactCSSTransitionGroup>\n </table>\n </div>\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n orders: state.orders.orders.filter((order) => order.status == 'new')\n .sort((a,b) => {\n return moment.utc(b.created_at).diff(moment.utc(a.created_at));\n })\n }\n}\n\nexport default connect(mapStateToProps)(OrdersList)\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\nimport {translate} from 'react-i18next'\n\nimport OrderDetails from './OrderDetails'\nimport OrdersList from './OrdersList'\nimport Search from '../../common/lib/Search'\nimport { showDetails, qualityFetch as fetchOrders } from '../../common/orders/actions'\n\nlet OrdersWrapper = React.createClass({\n\n getInitialState: function() {\n return { searchText: '' }\n },\n\n shouldShowDetails() {\n return !!this.props.showDetailsOrderId && !!this.props.detailedOrder;\n },\n\n handleSearch(text) {\n this.setState({searchText: text});\n },\n\n refreshClick() {\n this.props.dispatch(fetchOrders());\n this.refs.searchBox.clear();\n this.props.dispatch(showDetails(null));\n },\n\n scrollListUp() {\n let scrollableDiv = this.refs.orderList;\n scrollableDiv.scrollTop = 0;\n },\n\n render() {\n return (\n <div className=\"content-wrapper\">\n <div className=\"page-header\">\n <a className=\"refresh-button\" href=\"#\" onClick={this.refreshClick}>\n <i className=\"fa fa-refresh\"></i>\n  {this.props.t('common:refresh')}\n </a>\n <Search onSearch={this.handleSearch} ref='searchBox'/>\n </div>\n <div ref='orderList' className={`scroll-wrapper ${this.shouldShowDetails() && 'half'}`}>\n <OrdersList searchText={this.state.searchText}/>\n </div>\n {\n this.shouldShowDetails() &&\n <div className='scroll-wrapper half'>\n <OrderDetails scrollListUp={this.scrollListUp}/>\n </div>\n }\n </div>\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n showDetailsOrderId: state.orders.showDetailsOrderId,\n detailedOrder: state.orders.orders.filter(function(elem) {\n return elem.id == state.orders.showDetailsOrderId;\n })[0]\n }\n}\n\nexport default connect(mapStateToProps)(translate(['orders'])(OrdersWrapper))\n","import React, {PropTypes} from 'react'\nimport {connect} from 'react-redux'\n\nimport Header from './Header'\nimport OrdersWrapper from '../orders/OrdersWrapper'\nimport { fetchLocations } from '../../common/locations/actions'\nimport { qualityFetch as fetchOrders } from '../../common/orders/actions'\nimport ConnectionStatus from '../../common/containers/connectionStatus/ConnectionStatus'\n\nlet App = React.createClass({\n\n componentWillMount() {\n this.props.dispatch(fetchLocations());\n },\n\n currentView() {\n return <OrdersWrapper/>;\n },\n\n onlineAgain() {\n this.props.dispatch(fetchLocations());\n this.props.dispatch(fetchOrders());\n },\n\n render() {\n return (\n <div>\n <ConnectionStatus\n lang={this.props.app.language}\n testUrl={window.location.href}\n onlineAgain={this.onlineAgain}\n />\n <Header/>\n <section className=\"content\">\n {this.currentView()}\n </section>\n </div>\n\n )\n }\n\n})\n\nlet mapStateToProps = state => {\n return {\n app: state.app,\n orders: state.orders,\n }\n}\n\nexport default connect(mapStateToProps)(App)\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider, connect } from 'react-redux';\nimport { combineReducers, createStore, applyMiddleware, compose } from 'redux';\nimport thunk from 'redux-thunk';\nimport ActionCable from 'actioncable';\nimport bowser from 'bowser';\n\nimport { I18nextProvider } from 'react-i18next';\nimport { initializeI18n } from './i18n'\n\nimport AppReducer from './common/app/reducer'\nimport OrdersReducer from './common/orders/reducer'\nimport SuppliesReducer from './common/supplies/reducer'\nimport LocationsReducer from './common/locations/reducer'\n\nimport Header from './quality/app/Header';\nimport App from './quality/app/App';\n\nimport { setCSRFToken, setCurrentPlant, setLanguage, setUserName } from './common/app/actions'\nimport { update as updateOrder} from './common/orders/actions'\n\nrequire('./assets/stylesheets/application.sass');\n\nlet reducers = combineReducers({\n orders: OrdersReducer,\n supplies: SuppliesReducer,\n locations: LocationsReducer,\n app: AppReducer\n});\n\nlet store = createStore(reducers, compose(\n applyMiddleware(thunk),\n window.devToolsExtension ? window.devToolsExtension() : f => f\n ));\n\nlet consumer = ActionCable.createConsumer();\nlet connection = consumer.subscriptions.create('PlantOrdersChannel', {\n connected() {\n this.perform('follow', {\n plant_id: document.getElementsByName('current_plant_id')[0].dataset.id\n });\n },\n disconnected() {},\n received(order) {\n store.dispatch(updateOrder(order['order']));\n }\n})\n\nlet i18nObj = initializeI18n(document.getElementsByName('language')[0].dataset.lang);\nstore.dispatch(setCSRFToken(document.getElementsByName('csrf-token')[0].content));\nstore.dispatch(setCurrentPlant(document.getElementsByName('current_plant_id')[0].dataset.id));\nstore.dispatch(setLanguage(document.getElementsByName('language')[0].dataset.lang));\nstore.dispatch(setUserName(document.getElementsByName('user_name')[0].dataset.name));\n\nif (!bowser.msie) {\n ReactDOM.render(\n <Provider store={store}>\n <I18nextProvider i18n={ i18nObj }>\n <App />\n </I18nextProvider>\n </Provider>,\n document.getElementById('quality-app')\n )\n} else {\n let el = document.getElementsByClassName('unsupported_browser')[0];\n el.setAttribute(\"style\", \"display:block;\");\n}\n"],"sourceRoot":""}