{"version":3,"file":"static/js/main.b4f8d998.js","mappings":"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0eZkC,CAAG,CACRvhK,IAAKpP,EAAE,CACP,GACA,EACA,EACA,GACA,EACA,GACAV,EACA,CAAC,EAAG,GACJ,EACAA,EACA,CAAC,EAAG,IACJA,EACA,CAAC,GAAI,GACLT,EACA,CAAC,GAAI,GACL,EACA,EACA,GACA,EACA,EACA,EACAS,EACA,CAAC,EAAG,GACJ,EACA,EACA,EACAT,EACA,CAAC,GAAI,GACLA,EACA,CAAC,GAAI,GACL,EACA,EACA,IAEA2wB,OAAQxvB,EAAE,CACV,EACA,EACA,EACA,GACA,GACAV,EACA,CAAC,GAAI,GAAI,GACT,EACA,EACAA,EACA,CAAC,EAAG,EAAG,GACPT,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,GACL,EACA,EACA,GACA,GACAA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,GACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,IAAK,GACN,EACAA,EACA,CAAC,GAAI,IACL,EACAA,EACA,CAAC,IAAK,IACN,GACAA,EACA,CAAC,IAAK,GACN,EACAA,EACA,CAAC,EAAG,GACJA,EACA,CAAC,EAAG,GACJ,EACA,EACA,GACAA,EACA,CAAC,IAAK,IACNA,EACA,CAAC,GAAI,MAELtC,KAAMyD,EAAE,CACRV,EACA,CAAC,EAAG,IACJA,EACA,CAAC,EAAG,GACJ,EACAA,EACA,CAAC,EAAG,IACJA,EACA,CAAC,EAAG,GACJT,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,IAAK,MAENprB,MAAOusB,EAAE,CACT,EACA,EACA,EACA,EACA,EACA,GACAnB,EACA,CAAC,EAAG,GACJ,GACA,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,GAAI,GACL,GACAA,EACA,CAAC,EAAG,GA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","sources":["../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/regenerator/index.js","home/LicenciaEnlace.tsx","models/dataModels.ts","services/AuthService.ts","utils/ActionResults.tsx","utils/AlertsService.tsx","utils/ApiFetcher.ts","utils/ClientContext.ts","utils/langs/ITranslationContent.tsx","utils/I18n.tsx","utils/Loading.tsx","utils/ValuesFormatter.tsx","../node_modules/attr-accept/dist/index.js","../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/btoa.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/utils.js","../node_modules/classnames/index.js","../node_modules/css-unit-converter/index.js","../node_modules/decimal.js-light/decimal.js","../node_modules/eventemitter3/index.js","../node_modules/fast-equals/src/utils.ts","../node_modules/fast-equals/src/comparator.ts","../node_modules/fast-equals/src/index.ts","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/is-buffer/index.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_arrayEvery.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/_arrayIncludes.js","../node_modules/lodash/_arrayIncludesWith.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_baseEach.js","../node_modules/lodash/_baseEvery.js","../node_modules/lodash/_baseExtremum.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_baseFlatten.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_baseForOwn.js","../node_modules/lodash/_baseGet.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseGt.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_baseIndexOf.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_baseIsMatch.js","../node_modules/lodash/_baseIsNaN.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_baseLt.js","../node_modules/lodash/_baseMap.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_baseOrderBy.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/_baseRange.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_baseSome.js","../node_modules/lodash/_baseSortBy.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_baseUniq.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_castPath.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_compareAscending.js","../node_modules/lodash/_compareMultiple.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_createCaseFirst.js","../node_modules/lodash/_createFind.js","../node_modules/lodash/_createRange.js","../node_modules/lodash/_createSet.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_getMatchData.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_hasPath.js","../node_modules/lodash/_hasUnicode.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_isFlattenable.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_isIterateeCall.js","../node_modules/lodash/_isKey.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_isStrictComparable.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_memoizeCapped.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_root.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_strictIndexOf.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_stringToPath.js","../node_modules/lodash/_toKey.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/constant.js","../node_modules/lodash/debounce.js","../node_modules/lodash/eq.js","../node_modules/lodash/every.js","../node_modules/lodash/find.js","../node_modules/lodash/findIndex.js","../node_modules/lodash/flatMap.js","../node_modules/lodash/flatten.js","../node_modules/lodash/get.js","../node_modules/lodash/hasIn.js","../node_modules/lodash/identity.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isBoolean.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isEqual.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isNaN.js","../node_modules/lodash/isNil.js","../node_modules/lodash/isNumber.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isString.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/keys.js","../node_modules/lodash/last.js","../node_modules/lodash/map.js","../node_modules/lodash/mapValues.js","../node_modules/lodash/max.js","../node_modules/lodash/memoize.js","../node_modules/lodash/min.js","../node_modules/lodash/noop.js","../node_modules/lodash/now.js","../node_modules/lodash/property.js","../node_modules/lodash/range.js","../node_modules/lodash/some.js","../node_modules/lodash/sortBy.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/throttle.js","../node_modules/lodash/toFinite.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/toString.js","../node_modules/lodash/uniqBy.js","../node_modules/lodash/upperFirst.js","../node_modules/moment/locale/es.js","../node_modules/moment/moment.js","../node_modules/object-assign/index.js","../node_modules/oidc-client/lib/oidc-client.min.js","../node_modules/performance-now/src/performance-now.coffee","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/raf/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-fast-compare/index.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/react-popper/lib/esm/usePopper.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/react-resize-detector/node_modules/tslib/tslib.es6.js","../node_modules/react-resize-detector/node_modules/lodash/isObject.js","../node_modules/react-resize-detector/node_modules/lodash/_root.js","../node_modules/react-resize-detector/node_modules/lodash/_freeGlobal.js","../node_modules/react-resize-detector/node_modules/lodash/now.js","../node_modules/react-resize-detector/node_modules/lodash/_trimmedEndIndex.js","../node_modules/react-resize-detector/node_modules/lodash/_baseTrim.js","../node_modules/react-resize-detector/node_modules/lodash/_Symbol.js","../node_modules/react-resize-detector/node_modules/lodash/_getRawTag.js","../node_modules/react-resize-detector/node_modules/lodash/_objectToString.js","../node_modules/react-resize-detector/node_modules/lodash/_baseGetTag.js","../node_modules/react-resize-detector/node_modules/lodash/isSymbol.js","../node_modules/react-resize-detector/node_modules/lodash/isObjectLike.js","../node_modules/react-resize-detector/node_modules/lodash/toNumber.js","../node_modules/react-resize-detector/node_modules/lodash/debounce.js","../node_modules/react-resize-detector/node_modules/lodash/throttle.js","../node_modules/react-resize-detector/src/utils.ts","../node_modules/react-resize-detector/src/ResizeDetector.tsx","../node_modules/react-resize-detector/src/useResizeDetector.ts","../node_modules/react-router/node_modules/isarray/index.js","../node_modules/react-router/node_modules/path-to-regexp/index.js","../node_modules/react-router/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-router/node_modules/react-is/index.js","../node_modules/react-smooth/node_modules/dom-helpers/class/addClass.js","../node_modules/react-smooth/node_modules/dom-helpers/class/hasClass.js","../node_modules/react-smooth/node_modules/dom-helpers/class/removeClass.js","../node_modules/react-smooth/node_modules/react-transition-group/CSSTransition.js","../node_modules/react-smooth/node_modules/react-transition-group/ReplaceTransition.js","../node_modules/react-smooth/node_modules/react-transition-group/Transition.js","../node_modules/react-smooth/node_modules/react-transition-group/TransitionGroup.js","../node_modules/react-smooth/node_modules/react-transition-group/index.js","../node_modules/react-smooth/node_modules/react-transition-group/utils/ChildMapping.js","../node_modules/react-smooth/node_modules/react-transition-group/utils/PropTypes.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/CSSTransition.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/react-transition-group/esm/ReplaceTransition.js","../node_modules/react-transition-group/esm/SwitchTransition.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/reactstrap/esm/Accordion.js","../node_modules/reactstrap/esm/AccordionBody.js","../node_modules/reactstrap/esm/AccordionContext.js","../node_modules/reactstrap/esm/AccordionHeader.js","../node_modules/reactstrap/esm/AccordionItem.js","../node_modules/reactstrap/esm/Alert.js","../node_modules/reactstrap/esm/Badge.js","../node_modules/reactstrap/esm/Breadcrumb.js","../node_modules/reactstrap/esm/BreadcrumbItem.js","../node_modules/reactstrap/esm/Button.js","../node_modules/reactstrap/esm/ButtonDropdown.js","../node_modules/reactstrap/esm/ButtonGroup.js","../node_modules/reactstrap/esm/ButtonToggle.js","../node_modules/reactstrap/esm/ButtonToolbar.js","../node_modules/reactstrap/esm/Card.js","../node_modules/reactstrap/esm/CardBody.js","../node_modules/reactstrap/esm/CardColumns.js","../node_modules/reactstrap/esm/CardDeck.js","../node_modules/reactstrap/esm/CardFooter.js","../node_modules/reactstrap/esm/CardGroup.js","../node_modules/reactstrap/esm/CardHeader.js","../node_modules/reactstrap/esm/CardImg.js","../node_modules/reactstrap/esm/CardImgOverlay.js","../node_modules/reactstrap/esm/CardLink.js","../node_modules/reactstrap/esm/CardSubtitle.js","../node_modules/reactstrap/esm/CardText.js","../node_modules/reactstrap/esm/CardTitle.js","../node_modules/reactstrap/esm/Carousel.js","../node_modules/reactstrap/esm/CarouselCaption.js","../node_modules/reactstrap/esm/CarouselContext.js","../node_modules/reactstrap/esm/CarouselControl.js","../node_modules/reactstrap/esm/CarouselIndicators.js","../node_modules/reactstrap/esm/CarouselItem.js","../node_modules/reactstrap/esm/CloseButton.js","../node_modules/reactstrap/esm/Col.js","../node_modules/reactstrap/esm/Collapse.js","../node_modules/reactstrap/esm/Container.js","../node_modules/reactstrap/esm/Dropdown.js","../node_modules/reactstrap/esm/DropdownContext.js","../node_modules/reactstrap/esm/DropdownItem.js","../node_modules/reactstrap/esm/DropdownMenu.js","../node_modules/reactstrap/esm/DropdownToggle.js","../node_modules/reactstrap/esm/Fade.js","../node_modules/reactstrap/esm/Form.js","../node_modules/reactstrap/esm/FormFeedback.js","../node_modules/reactstrap/esm/FormGroup.js","../node_modules/reactstrap/esm/FormText.js","../node_modules/reactstrap/esm/Input.js","../node_modules/reactstrap/esm/InputGroup.js","../node_modules/reactstrap/esm/InputGroupContext.js","../node_modules/reactstrap/esm/InputGroupText.js","../node_modules/reactstrap/esm/Label.js","../node_modules/reactstrap/esm/List.js","../node_modules/reactstrap/esm/ListGroup.js","../node_modules/reactstrap/esm/ListGroupItem.js","../node_modules/reactstrap/esm/ListGroupItemHeading.js","../node_modules/reactstrap/esm/ListGroupItemText.js","../node_modules/reactstrap/esm/ListInlineItem.js","../node_modules/reactstrap/esm/Media.js","../node_modules/reactstrap/esm/Modal.js","../node_modules/reactstrap/esm/ModalBody.js","../node_modules/reactstrap/esm/ModalFooter.js","../node_modules/reactstrap/esm/ModalHeader.js","../node_modules/reactstrap/esm/Nav.js","../node_modules/reactstrap/esm/NavItem.js","../node_modules/reactstrap/esm/NavLink.js","../node_modules/reactstrap/esm/Navbar.js","../node_modules/reactstrap/esm/NavbarBrand.js","../node_modules/reactstrap/esm/NavbarText.js","../node_modules/reactstrap/esm/NavbarToggler.js","../node_modules/reactstrap/esm/Offcanvas.js","../node_modules/reactstrap/esm/OffcanvasBody.js","../node_modules/reactstrap/esm/OffcanvasHeader.js","../node_modules/reactstrap/esm/Pagination.js","../node_modules/reactstrap/esm/PaginationItem.js","../node_modules/reactstrap/esm/PaginationLink.js","../node_modules/reactstrap/esm/Placeholder.js","../node_modules/reactstrap/esm/PlaceholderButton.js","../node_modules/reactstrap/esm/Popover.js","../node_modules/reactstrap/esm/PopoverBody.js","../node_modules/reactstrap/esm/PopoverHeader.js","../node_modules/reactstrap/esm/PopperContent.js","../node_modules/reactstrap/esm/PopperTargetHelper.js","../node_modules/reactstrap/esm/Portal.js","../node_modules/reactstrap/esm/Progress.js","../node_modules/reactstrap/esm/Row.js","../node_modules/reactstrap/esm/Spinner.js","../node_modules/reactstrap/esm/TabContent.js","../node_modules/reactstrap/esm/TabContext.js","../node_modules/reactstrap/esm/TabPane.js","../node_modules/reactstrap/esm/Table.js","../node_modules/reactstrap/esm/Toast.js","../node_modules/reactstrap/esm/ToastBody.js","../node_modules/reactstrap/esm/ToastHeader.js","../node_modules/reactstrap/esm/Tooltip.js","../node_modules/reactstrap/esm/TooltipPopoverWrapper.js","../node_modules/reactstrap/esm/UncontrolledAccordion.js","../node_modules/reactstrap/esm/UncontrolledAlert.js","../node_modules/reactstrap/esm/UncontrolledButtonDropdown.js","../node_modules/reactstrap/esm/UncontrolledCarousel.js","../node_modules/reactstrap/esm/UncontrolledCollapse.js","../node_modules/reactstrap/esm/UncontrolledDropdown.js","../node_modules/reactstrap/esm/UncontrolledPopover.js","../node_modules/reactstrap/esm/UncontrolledTooltip.js","../node_modules/reactstrap/esm/index.js","../node_modules/reactstrap/esm/polyfill.js","../node_modules/reactstrap/esm/utils.js","../node_modules/recharts/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/recharts/node_modules/react-is/index.js","../node_modules/reduce-css-calc/dist/index.js","../node_modules/reduce-css-calc/dist/lib/convert.js","../node_modules/reduce-css-calc/dist/lib/reducer.js","../node_modules/reduce-css-calc/dist/lib/stringifier.js","../node_modules/reduce-css-calc/dist/parser.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/index.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/parse.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/stringify.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/unit.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/walk.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/warning/warning.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../node_modules/history/esm/history.js","../node_modules/react-router/modules/miniCreateReactContext.js","../node_modules/react-router/modules/createContext.js","../node_modules/react-router/modules/createNamedContext.js","../node_modules/react-router/modules/HistoryContext.js","../node_modules/react-router/modules/RouterContext.js","../node_modules/react-router/modules/Router.js","../node_modules/react-router/modules/MemoryRouter.js","../node_modules/react-router/modules/Lifecycle.js","../node_modules/react-router/modules/Prompt.js","../node_modules/react-router/modules/matchPath.js","../node_modules/react-router/modules/Route.js","../node_modules/react-router/modules/StaticRouter.js","../node_modules/react-router/modules/Switch.js","../node_modules/react-router/modules/withRouter.js","../node_modules/react-router/modules/hooks.js","../node_modules/react-router-dom/modules/BrowserRouter.js","../node_modules/react-router-dom/modules/HashRouter.js","../node_modules/react-router-dom/modules/utils/locationUtils.js","../node_modules/react-router-dom/modules/Link.js","../node_modules/react-router-dom/modules/NavLink.js","../node_modules/lodash-es/_listCacheClear.js","../node_modules/lodash-es/eq.js","../node_modules/lodash-es/_assocIndexOf.js","../node_modules/lodash-es/_listCacheDelete.js","../node_modules/lodash-es/_listCacheGet.js","../node_modules/lodash-es/_listCacheHas.js","../node_modules/lodash-es/_listCacheSet.js","../node_modules/lodash-es/_ListCache.js","../node_modules/lodash-es/_stackClear.js","../node_modules/lodash-es/_stackDelete.js","../node_modules/lodash-es/_stackGet.js","../node_modules/lodash-es/_stackHas.js","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/isFunction.js","../node_modules/lodash-es/_coreJsData.js","../node_modules/lodash-es/_isMasked.js","../node_modules/lodash-es/_toSource.js","../node_modules/lodash-es/_baseIsNative.js","../node_modules/lodash-es/_getValue.js","../node_modules/lodash-es/_getNative.js","../node_modules/lodash-es/_Map.js","../node_modules/lodash-es/_nativeCreate.js","../node_modules/lodash-es/_hashClear.js","../node_modules/lodash-es/_hashDelete.js","../node_modules/lodash-es/_hashGet.js","../node_modules/lodash-es/_hashHas.js","../node_modules/lodash-es/_hashSet.js","../node_modules/lodash-es/_Hash.js","../node_modules/lodash-es/_mapCacheClear.js","../node_modules/lodash-es/_isKeyable.js","../node_modules/lodash-es/_getMapData.js","../node_modules/lodash-es/_mapCacheDelete.js","../node_modules/lodash-es/_mapCacheGet.js","../node_modules/lodash-es/_mapCacheHas.js","../node_modules/lodash-es/_mapCacheSet.js","../node_modules/lodash-es/_MapCache.js","../node_modules/lodash-es/_stackSet.js","../node_modules/lodash-es/_Stack.js","../node_modules/lodash-es/_arrayEach.js","../node_modules/lodash-es/_defineProperty.js","../node_modules/lodash-es/_baseAssignValue.js","../node_modules/lodash-es/_assignValue.js","../node_modules/lodash-es/_copyObject.js","../node_modules/lodash-es/_baseTimes.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/_baseIsArguments.js","../node_modules/lodash-es/isArguments.js","../node_modules/lodash-es/isArray.js","../node_modules/lodash-es/stubFalse.js","../node_modules/lodash-es/isBuffer.js","../node_modules/lodash-es/_isIndex.js","../node_modules/lodash-es/isLength.js","../node_modules/lodash-es/_baseIsTypedArray.js","../node_modules/lodash-es/_baseUnary.js","../node_modules/lodash-es/_nodeUtil.js","../node_modules/lodash-es/isTypedArray.js","../node_modules/lodash-es/_arrayLikeKeys.js","../node_modules/lodash-es/_isPrototype.js","../node_modules/lodash-es/_overArg.js","../node_modules/lodash-es/_nativeKeys.js","../node_modules/lodash-es/_baseKeys.js","../node_modules/lodash-es/isArrayLike.js","../node_modules/lodash-es/keys.js","../node_modules/lodash-es/_baseAssign.js","../node_modules/lodash-es/_nativeKeysIn.js","../node_modules/lodash-es/_baseKeysIn.js","../node_modules/lodash-es/keysIn.js","../node_modules/lodash-es/_baseAssignIn.js","../node_modules/lodash-es/_cloneBuffer.js","../node_modules/lodash-es/_copyArray.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/lodash-es/stubArray.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/lodash-es/_copySymbols.js","../node_modules/lodash-es/_arrayPush.js","../node_modules/lodash-es/_getPrototype.js","../node_modules/lodash-es/_getSymbolsIn.js","../node_modules/lodash-es/_copySymbolsIn.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/lodash-es/_getAllKeysIn.js","../node_modules/lodash-es/_DataView.js","../node_modules/lodash-es/_Promise.js","../node_modules/lodash-es/_Set.js","../node_modules/lodash-es/_WeakMap.js","../node_modules/lodash-es/_getTag.js","../node_modules/lodash-es/_initCloneArray.js","../node_modules/lodash-es/_Uint8Array.js","../node_modules/lodash-es/_cloneArrayBuffer.js","../node_modules/lodash-es/_cloneDataView.js","../node_modules/lodash-es/_cloneRegExp.js","../node_modules/lodash-es/_cloneSymbol.js","../node_modules/lodash-es/_cloneTypedArray.js","../node_modules/lodash-es/_initCloneByTag.js","../node_modules/lodash-es/_baseCreate.js","../node_modules/lodash-es/_initCloneObject.js","../node_modules/lodash-es/_baseIsMap.js","../node_modules/lodash-es/isMap.js","../node_modules/lodash-es/_baseIsSet.js","../node_modules/lodash-es/isSet.js","../node_modules/lodash-es/_baseClone.js","../node_modules/lodash-es/cloneDeep.js","accesos/AccesosSistemaService.tsx","utils/base/ModelValidation.tsx","utils/Icons.tsx","../node_modules/recharts/es6/util/DataUtils.js","../node_modules/recharts/es6/util/LogUtils.js","../node_modules/recharts/es6/component/ResponsiveContainer.js","../node_modules/recharts/es6/util/types.js","../node_modules/recharts/es6/container/Surface.js","../node_modules/recharts/es6/container/Layer.js","../node_modules/react-smooth/es6/setRafTimeout.js","../node_modules/react-smooth/es6/AnimateManager.js","../node_modules/react-smooth/es6/util.js","../node_modules/react-smooth/es6/easing.js","../node_modules/react-smooth/es6/configUpdate.js","../node_modules/react-smooth/es6/Animate.js","../node_modules/react-smooth/es6/AnimateGroupChild.js","../node_modules/react-smooth/es6/AnimateGroup.js","../node_modules/react-smooth/es6/index.js","../node_modules/recharts/es6/component/DefaultTooltipContent.js","../node_modules/recharts/es6/util/Global.js","../node_modules/recharts/es6/component/Tooltip.js","../node_modules/d3-shape/src/math.js","../node_modules/d3-shape/src/symbol/circle.js","../node_modules/d3-shape/src/symbol/cross.js","../node_modules/d3-shape/src/symbol/diamond.js","../node_modules/d3-shape/src/symbol/square.js","../node_modules/d3-shape/src/symbol/star.js","../node_modules/d3-shape/src/symbol/triangle.js","../node_modules/d3-shape/src/symbol/wye.js","../node_modules/d3-path/src/path.js","../node_modules/d3-shape/src/constant.js","../node_modules/recharts/es6/shape/Symbols.js","../node_modules/d3-shape/src/symbol.js","../node_modules/recharts/es6/component/DefaultLegendContent.js","../node_modules/recharts/es6/component/Legend.js","../node_modules/d3-shape/src/noop.js","../node_modules/d3-shape/src/curve/basis.js","../node_modules/d3-shape/src/curve/basisClosed.js","../node_modules/d3-shape/src/curve/basisOpen.js","../node_modules/d3-shape/src/curve/linearClosed.js","../node_modules/d3-shape/src/curve/linear.js","../node_modules/d3-shape/src/curve/monotone.js","../node_modules/d3-shape/src/curve/natural.js","../node_modules/d3-shape/src/curve/step.js","../node_modules/d3-shape/src/array.js","../node_modules/d3-shape/src/point.js","../node_modules/d3-shape/src/line.js","../node_modules/d3-shape/src/area.js","../node_modules/recharts/es6/shape/Curve.js","../node_modules/recharts/es6/shape/Cross.js","../node_modules/recharts/es6/util/PolarUtils.js","../node_modules/recharts/es6/shape/Sector.js","../node_modules/recharts/es6/shape/Dot.js","../node_modules/recharts/es6/shape/Rectangle.js","../node_modules/recharts/es6/util/ShallowEqual.js","../node_modules/recharts/es6/util/ReactUtils.js","../node_modules/recharts/es6/util/DOMUtils.js","../node_modules/recharts/es6/component/Text.js","../node_modules/recharts/es6/component/Label.js","../node_modules/recharts/es6/cartesian/CartesianAxis.js","../node_modules/d3-array/src/range.js","../node_modules/d3-scale/src/init.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/d3-scale/src/ordinal.js","../node_modules/d3-scale/src/band.js","../node_modules/recharts-scale/es6/util/utils.js","../node_modules/recharts-scale/es6/util/arithmetic.js","../node_modules/recharts-scale/es6/getNiceTickValues.js","../node_modules/d3-array/src/ticks.js","../node_modules/d3-array/src/ascending.js","../node_modules/d3-array/src/bisector.js","../node_modules/d3-array/src/number.js","../node_modules/d3-array/src/bisect.js","../node_modules/d3-color/src/define.js","../node_modules/d3-color/src/color.js","../node_modules/d3-interpolate/src/basis.js","../node_modules/d3-interpolate/src/constant.js","../node_modules/d3-interpolate/src/color.js","../node_modules/d3-interpolate/src/rgb.js","../node_modules/d3-interpolate/src/basisClosed.js","../node_modules/d3-interpolate/src/array.js","../node_modules/d3-interpolate/src/date.js","../node_modules/d3-interpolate/src/number.js","../node_modules/d3-interpolate/src/object.js","../node_modules/d3-interpolate/src/string.js","../node_modules/d3-interpolate/src/numberArray.js","../node_modules/d3-interpolate/src/value.js","../node_modules/d3-interpolate/src/round.js","../node_modules/d3-scale/src/number.js","../node_modules/d3-scale/src/continuous.js","../node_modules/d3-scale/src/constant.js","../node_modules/d3-format/src/formatSpecifier.js","../node_modules/d3-format/src/formatPrefixAuto.js","../node_modules/d3-format/src/formatDecimal.js","../node_modules/d3-format/src/exponent.js","../node_modules/d3-format/src/formatRounded.js","../node_modules/d3-format/src/formatTypes.js","../node_modules/d3-format/src/identity.js","../node_modules/d3-format/src/locale.js","../node_modules/d3-format/src/defaultLocale.js","../node_modules/d3-format/src/formatGroup.js","../node_modules/d3-format/src/formatNumerals.js","../node_modules/d3-format/src/formatTrim.js","../node_modules/d3-scale/src/tickFormat.js","../node_modules/d3-format/src/precisionPrefix.js","../node_modules/d3-format/src/precisionRound.js","../node_modules/d3-format/src/precisionFixed.js","../node_modules/d3-scale/src/linear.js","../node_modules/d3-scale/src/identity.js","../node_modules/d3-scale/src/nice.js","../node_modules/d3-scale/src/log.js","../node_modules/d3-scale/src/symlog.js","../node_modules/d3-scale/src/pow.js","../node_modules/d3-scale/src/radial.js","../node_modules/d3-array/src/max.js","../node_modules/d3-array/src/min.js","../node_modules/d3-array/src/quickselect.js","../node_modules/d3-array/src/quantile.js","../node_modules/d3-scale/src/quantile.js","../node_modules/d3-scale/src/quantize.js","../node_modules/d3-scale/src/threshold.js","../node_modules/d3-time/src/duration.js","../node_modules/d3-time/src/interval.js","../node_modules/d3-time/src/millisecond.js","../node_modules/d3-time/src/second.js","../node_modules/d3-time/src/minute.js","../node_modules/d3-time/src/hour.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/month.js","../node_modules/d3-time/src/year.js","../node_modules/d3-time/src/utcMinute.js","../node_modules/d3-time/src/utcHour.js","../node_modules/d3-time/src/utcDay.js","../node_modules/d3-time/src/utcWeek.js","../node_modules/d3-time/src/utcMonth.js","../node_modules/d3-time/src/utcYear.js","../node_modules/d3-time/src/ticks.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/d3-scale/src/time.js","../node_modules/d3-scale/src/utcTime.js","../node_modules/d3-scale/src/sequential.js","../node_modules/d3-scale/src/sequentialQuantile.js","../node_modules/d3-interpolate/src/piecewise.js","../node_modules/d3-scale/src/diverging.js","../node_modules/d3-shape/src/offset/none.js","../node_modules/d3-shape/src/order/none.js","../node_modules/d3-shape/src/stack.js","../node_modules/recharts/es6/util/ChartUtils.js","../node_modules/d3-shape/src/offset/expand.js","../node_modules/d3-shape/src/offset/silhouette.js","../node_modules/d3-shape/src/offset/wiggle.js","../node_modules/recharts/es6/util/CssPrefixUtils.js","../node_modules/recharts/es6/cartesian/Brush.js","../node_modules/recharts/es6/util/IfOverflowMatches.js","../node_modules/recharts/es6/util/CartesianUtils.js","../node_modules/recharts/es6/cartesian/ReferenceDot.js","../node_modules/recharts/es6/cartesian/ReferenceLine.js","../node_modules/recharts/es6/cartesian/ReferenceArea.js","../node_modules/recharts/es6/util/DetectReferenceElementsDomain.js","../node_modules/recharts/es6/util/Events.js","../node_modules/recharts/es6/chart/generateCategoricalChart.js","../node_modules/recharts/es6/cartesian/ErrorBar.js","../node_modules/recharts/es6/component/Cell.js","../node_modules/recharts/es6/component/LabelList.js","../node_modules/recharts/es6/cartesian/Bar.js","../node_modules/recharts/es6/cartesian/XAxis.js","../node_modules/recharts/es6/cartesian/YAxis.js","../node_modules/recharts/es6/chart/BarChart.js","../node_modules/recharts/es6/cartesian/CartesianGrid.js","accesos/AccesosSistemaGraph.tsx","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/_isKey.js","../node_modules/lodash-es/memoize.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/toString.js","../node_modules/lodash-es/_castPath.js","../node_modules/lodash-es/_toKey.js","../node_modules/lodash-es/_baseSet.js","../node_modules/lodash-es/set.js","utils/base/ComponentBase.tsx","../node_modules/lodash-es/_baseToPairs.js","../node_modules/lodash-es/_mapToArray.js","../node_modules/lodash-es/_setToPairs.js","../node_modules/lodash-es/_createToPairs.js","cursoEscolar/NivelEducativoDropDown.tsx","../node_modules/lodash-es/toPairs.js","utils/base/EnumDropDownBase.tsx","helpers/EnumDropDown.tsx","cursoEscolar/CursoEscolarService.tsx","utils/base/DropDownBase.tsx","clases/MisClasesService.tsx","clases/profesor/ClasesDropDown.tsx","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","colegioUsuarios/ColegioUsuariosService.tsx","accesos/admin/Accesos.tsx","utils/Pager.tsx","utils/base/GenericPickerBase.tsx","colegioUsuarios/Picker.tsx","helpers/CustomDatePicker.tsx","helpers/NumericCardBox.tsx","cursoEscolar/materia/ClaseMateriaService.tsx","cursoEscolar/materia/ClaseMateriaDropDown.tsx","accesos/AccesosSistema.tsx","accesos/AccesosContenidoGraph.tsx","contenidos/colegio/ContenidosColegioService.tsx","contenidos/colegio/Picker.tsx","accesos/AccesosContenidoService.tsx","accesos/AccesosContenido.tsx","utils/base/Breadcrumb.tsx","accesos/profesor/Accesos.tsx","../node_modules/react-dropzone/dist/es/utils/index.js","../node_modules/react-dropzone/dist/es/utils/styles.js","../node_modules/react-dropzone/dist/es/index.js","helpers/DocumentUpload.tsx","../node_modules/lodash-es/_setCacheAdd.js","../node_modules/lodash-es/_setCacheHas.js","../node_modules/lodash-es/_SetCache.js","../node_modules/lodash-es/_arraySome.js","../node_modules/lodash-es/_cacheHas.js","../node_modules/lodash-es/_equalArrays.js","../node_modules/lodash-es/_setToArray.js","../node_modules/lodash-es/_equalByTag.js","../node_modules/lodash-es/_equalObjects.js","../node_modules/lodash-es/_baseIsEqualDeep.js","../node_modules/lodash-es/_baseIsEqual.js","../node_modules/lodash-es/isEqual.js","aliasEditoriales/Edit.tsx","utils/base/EditPageBase.tsx","utils/base/GenericEditState.tsx","accesosDirectos/AccesoDirectoService.tsx","accesosDirectos/Edit.tsx","helpers/DropDownButton.tsx","utils/DeleteModal.tsx","utils/base/IndexPageBase.tsx","accesosDirectos/Index.tsx","reports/ReportsIndex.tsx","aliasEditoriales/AliasEditorialesService.tsx","aliasEditoriales/AliasEditorialContenidosService.tsx","aliasEditoriales/AliasEditorialesContenidos.tsx","cargaFicheros/Index.tsx","aliasEditoriales/Index.tsx","cargaFicheros/CargaFicherosService.tsx","cargaFicheros/LicenciasUsuarios.tsx","cargaFicheros/Listing.tsx","cargaFicheros/Usuarios.tsx","clases/profesor/Edit.tsx","cargaFicheros/Detail.tsx","miPerfil/profesor/matriculas/MisMatriculasService.tsx","clases/profesor/AlumnosService.tsx","clases/profesor/Alumnos.tsx","clases/profesor/Contenidos.tsx","clases/profesor/MisClases.tsx","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","matriculas/MatriculasService.tsx","colegioUsuarios/UserNameToolTip.tsx","licenciasColegio/Edit.tsx","cursoEscolar/CursoEscolarDropDown.tsx","contenidos/maestros/ContenidosService.tsx","contenidos/colegioPapel/ContenidosPapelColegioService.tsx","contenidos/colegioPapel/Picker.tsx","login/Impersonate.tsx","matriculas/MatriculasUsuarioDropDown.tsx","matriculas/Picker.tsx","utils/UserPassword.tsx","licenciasColegio/CredencialesEdit.tsx","licenciasColegio/LicenciasColegioService.tsx","licenciasColegio/TipoAccesoDropDown.tsx","colegioUsuarios/Edit.tsx","licenciasColegio/Index.tsx","matriculas/Index.tsx","colegioUsuarios/TabEstadisticasAccesos.tsx","colegioUsuarios/TabEstadisticasContenidos.tsx","auditoria/AuditoriaService.tsx","auditoria/Index.tsx","contenidos/colegio/EditContenidoColegio.tsx","colegioUsuarios/Index.tsx","nivelesContenidos/NivelesContenidosService.tsx","nivelesContenidos/Index.tsx","contenidos/maestros/Edit.tsx","contenidos/colegio/IndexContenidoColegio.tsx","contenidos/colegioPapel/IndexContenidoPapelColegio.tsx","aliasEditoriales/AliasEditorialesDropDown.tsx","cursoEscolar/clase/Edit.tsx","cursoEscolar/CampannaDropDown.tsx","utils/SeleccionCampannaModal.tsx","contenidos/maestros/Index.tsx","credenciales/ColegioCredencialesEditorialesService.tsx","credenciales/UserPasswordIdCentro.tsx","credenciales/Lti11ConfigCentro.tsx","credenciales/Lti13ConfigCentro.tsx","credenciales/Edit.tsx","credenciales/Index.tsx","cursoEscolar/clase/GrupoClaseService.tsx","nivelesContenidos/NivelContenidoDropDown.tsx","nivelesContenidos/NivelProductosTiendaService.tsx","nivelesContenidos/NivelProductoTiendaDropDown.tsx","cursoEscolar/clase/Licencias.tsx","cursoEscolar/clase/Matriculas.tsx","licenciasColegio/alumno/Edit.tsx","cursoEscolar/Edit.tsx","cursoEscolar/Index.tsx","home/MisLicenciasHome.tsx","home/ComprasPosibles.tsx","miPerfil/MiPerfilService.tsx","miPerfil/alumno/SetClaseActualModal.tsx","home/AccesoDirectoEnlace.tsx","home/AccesosDIrectosHome.tsx","home/Diagnosticos.tsx","home/Home.tsx","home/NotFound.tsx","licenciasColegio/profesor/Edit.tsx","licenciasColegio/MisLicencias.tsx","miPerfil/colegio/Edit.tsx","login/AuthSections.tsx","login/Login.tsx","login/LoginUserError.tsx","matriculas/Edit.tsx","miPerfil/admin/Edit.tsx","miPerfil/alumno/Edit.tsx","miPerfil/colegio/MiPerfilColegioService.tsx","comunidadesAutonomas/ComunidadAutonomaService.tsx","comunidadesAutonomas/ComunidadesAutonomasDropDown.tsx","miPerfil/profesor/Edit.tsx","miPerfil/profesor/matriculas/Index.tsx","miPerfil/profesor/matriculas/Edit.tsx","nivelesContenidos/Edit.tsx","notificaciones/NotificationService.tsx","colegios/ColegioService.tsx","colegios/ColegiosDropDown.tsx","notificaciones/Index.tsx","notificaciones/View.tsx","login/Logoff.tsx","../node_modules/lodash-es/_baseFindIndex.js","../node_modules/lodash-es/_baseIsNaN.js","../node_modules/lodash-es/_strictIndexOf.js","../node_modules/lodash-es/_baseIndexOf.js","../node_modules/lodash-es/_arrayIncludes.js","../node_modules/lodash-es/_arrayIncludesWith.js","../node_modules/lodash-es/_baseDifference.js","../node_modules/lodash-es/_isFlattenable.js","../node_modules/lodash-es/_baseFlatten.js","../node_modules/lodash-es/identity.js","../node_modules/lodash-es/_apply.js","../node_modules/lodash-es/_overRest.js","../node_modules/lodash-es/constant.js","../node_modules/lodash-es/_baseSetToString.js","../node_modules/lodash-es/_shortOut.js","../node_modules/lodash-es/_setToString.js","../node_modules/lodash-es/isArrayLikeObject.js","../node_modules/lodash-es/last.js","../node_modules/lodash-es/differenceWith.js","../node_modules/lodash-es/_baseRest.js","notificaciones/NotificationIcon.tsx","utils/AuthenticatedMaster.tsx","pedidosTienda/PedidosTiendaService.tsx","pedidosTienda/Index.tsx","pedidosTienda/Edit.tsx","pedidosColegio/PedidosColegioService.tsx","pedidosColegio/Index.tsx","pedidosColegio/Edit.tsx","devolucionesColegio/Index.tsx","devolucionesColegio/Edit.tsx","IntranetRouter.tsx","index.tsx"],"sourcesContent":["function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"regenerator-runtime\");\n","import React from \"react\";\r\nimport { Modal, ModalBody, ModalHeader } from \"reactstrap\";\r\nimport { GetLicenciaAccesoUrlResponse, LicenciaContenidosItem } from \"../models/dataModels\";\r\nimport { ResultOk } from \"../utils/ActionResults\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport { logAndExtractInfoFromException } from \"../utils/ValuesFormatter\";\r\n\r\n\r\ninterface ContenidoProps {\r\n licencia: LicenciaContenidosItem;\r\n}\r\n\r\ninterface ContenidoState {\r\n loading: boolean;\r\n textToShowInError: string;\r\n textToShowInMessage: string;\r\n htmlToInject: string;\r\n}\r\n\r\n/***\r\n * Esta clase se encarga de pintar los enlaces de las licencias en la home.\r\n * \r\n */\r\nexport default class LicenciaEnlace extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n textToShowInError: null,\r\n textToShowInMessage: null,\r\n htmlToInject: null\r\n };\r\n }\r\n\r\n public render() {\r\n\r\n var style = {} as React.CSSProperties;\r\n if (!this.props.licencia.puedeInteractuar) {\r\n style.backgroundColor = \"unset\";\r\n }\r\n\r\n return
\r\n {this.state.textToShowInError != null &&\r\n this.setState({ textToShowInError: null })} />\r\n }\r\n\r\n {this.state.textToShowInMessage != null &&\r\n this.setState({ textToShowInMessage: null })}>\r\n this.setState({ textToShowInMessage: null })} />}\r\n >\r\n \r\n \r\n {\r\n var target = (evt.target as HTMLElement);\r\n if (target.classList.contains(\"copy-clip\")) {\r\n navigator.clipboard.writeText(target.textContent)\r\n .then(() => {\r\n target.classList.add('flash');\r\n // Eliminar clase despu�s de 2 segundos\r\n setTimeout(() => {\r\n target.classList.remove('flash');\r\n }, 2000);\r\n })\r\n .catch((err) => alert(\"No se ha podido copiar\"));\r\n }\r\n }}\r\n dangerouslySetInnerHTML={{ __html: this.state.textToShowInMessage }}\r\n >\r\n
\r\n \r\n \r\n }\r\n\r\n {this.state.loading && }\r\n
\r\n\r\n this.accederPlataformaEditorial(evt, this.props.licencia)} target=\"_blank\">\r\n {this.props.licencia.nombre}\r\n \r\n\r\n
\r\n
\r\n {this.props.licencia.nombre}\r\n
\r\n
\r\n
\r\n {(this.props.licencia.editorialNombre || \"\").length != 0 && <>{this.props.licencia.editorialNombre}}\r\n {(this.props.licencia.editorialNombre || \"\").length == 0 && <>{I18n.Strings.getEnumText(`Editorial.${this.props.licencia.editorial}`)}}\r\n
\r\n\r\n {this.props.licencia.clase}\r\n
\r\n {this.state.htmlToInject != null &&
}\r\n ;\r\n }\r\n\r\n private accederPlataformaEditorial(evt: React.MouseEvent, licencia: LicenciaContenidosItem) {\r\n evt.preventDefault();\r\n\r\n this.setState({ loading: true },\r\n () => {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/licencias/mias/${licencia.licenciaContenidoId}/acceder`);\r\n\r\n\r\n prom.then((result: GetLicenciaAccesoUrlResponse) => {\r\n\r\n if (result.puedeAcceder) {\r\n\r\n if ((result.url || \"\").length > 0) {\r\n this.abrirUrl(result);\r\n }\r\n else if ((result.htmlToInject || \"\").length > 0) {\r\n this.abrirForm(result);\r\n }\r\n else if ((result.mensajeUsuario || \"\").length > 0) {\r\n this.setState({\r\n loading: false,\r\n textToShowInMessage: result.mensajeUsuario\r\n });\r\n }\r\n else {\r\n alert(\"No Implementado!\");\r\n }\r\n this.setState({ loading: false });\r\n }\r\n else {\r\n this.setState({\r\n loading: false,\r\n textToShowInError: result.mensajeUsuario\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({\r\n loading: false,\r\n textToShowInError: logAndExtractInfoFromException(error)\r\n });\r\n });\r\n }\r\n );\r\n }\r\n\r\n private abrirUrl(result: GetLicenciaAccesoUrlResponse) {\r\n\r\n var resultWindow = window.open(result.url, \"_blank\");\r\n\r\n if (!resultWindow) {\r\n\r\n this.setState({ loading: false }, () => {\r\n AlertsService.showAlertMessage(`

Parece, que su dispositivo tiene activado el bloqueador de popups, asi que los contenidos se abrirán en esta misma ventana.

\r\n

Para permitir que se abran los contenidos en otra ventana, siga las siguientes instrucciones:

\r\n \r\n

Para acceder al contenido, pulse sobre Aceptar

\r\n `,\r\n () => {\r\n window.location.href = result.url;\r\n });\r\n });\r\n return false;\r\n }\r\n }\r\n\r\n private abrirForm(result: GetLicenciaAccesoUrlResponse) {\r\n this.setState({ htmlToInject: result.htmlToInject },\r\n () => {\r\n if ((result.scriptToInject || \"\").length != 0) {\r\n eval(result.scriptToInject);\r\n }\r\n }\r\n );\r\n }\r\n}","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\n\r\n\r\nexport enum AccedePlataforma {\r\n NoAccedeSiMuestraCredenciales = \"NoAccedeSiMuestraCredenciales\",\r\n SiAccede = \"SiAccede\",\r\n NoAccedeNoMuestraCredenciales = \"NoAccedeNoMuestraCredenciales\",\r\n NoAccedeMuestraMensaje = \"NoAccedeMuestraMensaje\",\r\n}\r\n\r\nexport interface AccesoDirectoEditModel {\r\n id: number;\r\n colegioId: number;\r\n abrirEnNuevaVentana: boolean;\r\n titulo: string | null;\r\n urlEnlace: string | null;\r\n caratula: string | null;\r\n}\r\n\r\nexport interface AccesoDirectoHomeItem {\r\n titulo: string | null;\r\n urlEnlace: string | null;\r\n urlCaratula: string | null;\r\n abrirEnNuevaVentana: boolean;\r\n}\r\n\r\nexport interface AccesoDirectoListItem {\r\n id: number;\r\n titulo: string | null;\r\n}\r\n\r\nexport interface AccesoDirectoListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: AccesoDirectoListItem[] | null;\r\n}\r\n\r\nexport interface SearchModelBase {\r\n noTotalCount: boolean;\r\n currentPage: number;\r\n rowsPerPage: number;\r\n currentPageRows: number;\r\n bypassAutomaticSort: boolean;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n}\r\n\r\nexport interface AccesoDirectoSearch extends SearchModelBase {\r\n colegioId: number;\r\n}\r\n\r\nexport interface Actividad {\r\n id: number;\r\n externalId: string | null;\r\n unidadId: number;\r\n unidad: Unidad;\r\n nombre: string | null;\r\n orden: number;\r\n}\r\n\r\nexport interface OdooBaseEntity {\r\n id: number;\r\n nombre: string | null;\r\n externalId: string | null;\r\n createDate: Date | null;\r\n lastUpdate: Date | null;\r\n}\r\n\r\nexport interface AlbaranSalida extends OdooBaseEntity {\r\n pedidoColegioId: number;\r\n pedidoColegio: PedidoColegio;\r\n documentoOrigen: string | null;\r\n fecha: Date;\r\n referenciaSeguimiento: string | null;\r\n transportista: Transportista;\r\n estado: EstadoAlbaran;\r\n estadoEnvio: EstadoEnvio;\r\n lineas: AlbaranSalidaLinea[] | null;\r\n fechaGeneracionEtiqueta: Date | null;\r\n numBultos: number | null;\r\n pesoParaEnvio: number | null;\r\n partnerId: number | null;\r\n destinatario: string | null;\r\n compania: string | null;\r\n calle: string | null;\r\n calle2: string | null;\r\n city: string | null;\r\n stateId: string | null;\r\n zip: string | null;\r\n countryId: string | null;\r\n telefono: string | null;\r\n}\r\n\r\nexport interface AlbaranSalidaLinea extends OdooBaseEntity {\r\n albaranSalidaId: number;\r\n albaranSalida: AlbaranSalida;\r\n productoId: number;\r\n producto: Producto;\r\n numUnidades: number;\r\n}\r\n\r\nexport interface AliasEditorial {\r\n id: number;\r\n editorial: Editorial;\r\n alias: string | null;\r\n contenidos: Contenido[] | null;\r\n}\r\n\r\nexport interface AliasEditorialContenidosListItem {\r\n id: number;\r\n contenido: string | null;\r\n isbn: string | null;\r\n colegio: string | null;\r\n tipoContenido: TipoContenido;\r\n nivelEducativo: string | null;\r\n}\r\n\r\nexport interface AliasEditorialContenidosListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: AliasEditorialContenidosListItem[] | null;\r\n}\r\n\r\nexport interface AliasEditorialContenidosSearch extends SearchModelBase {\r\n aliasEditorialId: number;\r\n}\r\n\r\nexport interface AliasEditorialEditModel {\r\n id: number;\r\n alias: string | null;\r\n editorial: Editorial;\r\n}\r\n\r\nexport interface AliasEditorialListItem {\r\n id: number;\r\n alias: string | null;\r\n editorial: Editorial;\r\n numContenidos: number;\r\n numUsos: number;\r\n}\r\n\r\nexport interface AliasEditorialListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: AliasEditorialListItem[] | null;\r\n}\r\n\r\nexport interface AliasEditorialSearch extends SearchModelBase {\r\n pendientes: boolean;\r\n enUso: boolean | null;\r\n alias: string | null;\r\n}\r\n\r\nexport interface Almacen extends OdooBaseEntity {\r\n}\r\n\r\nexport interface AlumnoListItem {\r\n id: number;\r\n nombre: string | null;\r\n apellidos: string | null;\r\n cursoEscolar: string | null;\r\n clase: string | null;\r\n fechaUltimoAcceso: Date | null;\r\n credenciales: string | null;\r\n readonly haAccedido: boolean;\r\n}\r\n\r\nexport interface AlumnoListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: AlumnoListItem[] | null;\r\n}\r\n\r\nexport interface AlumnosDeClaseSearch extends SearchModelBase {\r\n colegioId: number;\r\n claseMateriaId: number | null;\r\n nombre: string | null;\r\n apellidos: string | null;\r\n borrado: boolean;\r\n repetidor: boolean;\r\n claseId: number | null;\r\n}\r\n\r\nexport enum ApprovedState {\r\n Pending = \"Pending\",\r\n Approved = \"Approved\",\r\n Discarded = \"Discarded\",\r\n}\r\n\r\nexport interface AsignacionListaLibros {\r\n id: number;\r\n listaLibrosColegioId: number;\r\n userId: number | null;\r\n nivelEducativoId: number;\r\n nivelEducativo: NivelEducativo;\r\n estado: number | null;\r\n}\r\n\r\nexport interface BasicData {\r\n id: number;\r\n nombre: string | null;\r\n tipoUsuario: TipoUsuario;\r\n claseActualId: number | null;\r\n claseActual: string | null;\r\n}\r\n\r\nexport interface BurlingtonOperationResult {\r\n isOk: boolean;\r\n response: string | null;\r\n request: string | null;\r\n}\r\n\r\nexport interface CalificacionInfo {\r\n usuarioId: number;\r\n actividadId: number;\r\n calificacion: number;\r\n urlResultados: string | null;\r\n}\r\n\r\nexport interface Campanna {\r\n anno: number;\r\n}\r\n\r\nexport enum Canal {\r\n Otro = \"Otro\",\r\n Dropshipping = \"Dropshipping\",\r\n Tiendas = \"Tiendas\",\r\n Colegios = \"Colegios\",\r\n}\r\n\r\nexport interface Carga {\r\n id: number;\r\n colegioId: number;\r\n colegio: Colegio;\r\n usuarioId: number;\r\n usuario: UsuarioColegio;\r\n fecha: Date;\r\n items: CargaItem[] | null;\r\n tipoCarga: TipoCarga;\r\n ficheroUrl: string | null;\r\n}\r\n\r\nexport interface CargaEditModel {\r\n id: number;\r\n fileUrl: string | null;\r\n tipoCarga: TipoCarga;\r\n usuarioId: number;\r\n colegioId: number;\r\n actualizarSiExiste: boolean;\r\n noCrearLicencias: boolean;\r\n}\r\n\r\nexport interface CargaGetDetailResult {\r\n id: number;\r\n fecha: Date;\r\n tipoCarga: TipoCarga;\r\n ficheroUrl: string | null;\r\n correctos: number;\r\n duplicados: number;\r\n erroneos: number;\r\n}\r\n\r\nexport interface CargaItem {\r\n id: number;\r\n carga: Carga;\r\n cargaId: number;\r\n filaExcel: number;\r\n estado: EstadoCargaItem;\r\n entidad: string | null;\r\n error: string | null;\r\n}\r\n\r\nexport interface CargaItemListItem {\r\n id: number;\r\n cargaId: number;\r\n filaExcel: number;\r\n estado: EstadoCargaItem;\r\n entidad: string | null;\r\n error: string | null;\r\n}\r\n\r\nexport interface CargaListItem {\r\n id: number;\r\n colegioId: number;\r\n usuarioId: number;\r\n usuario: string | null;\r\n fecha: Date;\r\n tipoCarga: TipoCarga;\r\n ficheroUrl: string | null;\r\n items: CargaItemListItem[] | null;\r\n}\r\n\r\nexport interface CargaListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: CargaListItem[] | null;\r\n}\r\n\r\nexport interface CargaPersistResult {\r\n cargaId: number;\r\n numRowsOk: number;\r\n numRowsError: number;\r\n numRowsDuplicated: number;\r\n}\r\n\r\nexport interface CargasSearch extends SearchModelBase {\r\n cargaId: number | null;\r\n colegioId: number;\r\n}\r\n\r\nexport interface Categoria extends OdooBaseEntity {\r\n magentoId: string | null;\r\n productosDeLaCategoria: ProductoCategoria[] | null;\r\n}\r\n\r\nexport enum CategoriaColegio {\r\n Publico = \"Publico\",\r\n Concertado = \"Concertado\",\r\n Privado = \"Privado\",\r\n}\r\n\r\nexport interface Clase {\r\n id: number;\r\n nivelEducativoId: number;\r\n nivelEducativo: NivelEducativo;\r\n nombre: string | null;\r\n orden: number;\r\n identificadorTienda: string | null;\r\n sincronizar: boolean;\r\n claseMaterias: ClaseMateria[] | null;\r\n alumnos: UsuarioColegio[] | null;\r\n}\r\n\r\nexport interface ClaseListItem {\r\n id: number;\r\n clase: string | null;\r\n nivelEducativoId: number;\r\n nivelEducativo: string | null;\r\n}\r\n\r\nexport interface ClaseListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: ClaseListItem[] | null;\r\n}\r\n\r\nexport interface ClaseMateria {\r\n id: number;\r\n nombre: string | null;\r\n claseId: number;\r\n clase: Clase;\r\n origen: Origen;\r\n borrado: boolean;\r\n matriculas: Matricula[] | null;\r\n claseMateriaContenidos: ClaseMateriaContenido[] | null;\r\n claseMateriaProductosTienda: ClaseMateriaProductoTienda[] | null;\r\n}\r\n\r\nexport interface ClaseMateriaConError {\r\n id: number;\r\n claseMateria: string | null;\r\n clase: string | null;\r\n claseId: number;\r\n cursoEscolarId: number;\r\n}\r\n\r\nexport interface ClaseMateriaContenido {\r\n id: number;\r\n claseMateriaId: number | null;\r\n created: Date | null;\r\n claseMateria: ClaseMateria;\r\n nivelContenidoId: number | null;\r\n nivelContenido: NivelContenido;\r\n tipoUsuario: TipoUsuarioContenido;\r\n}\r\n\r\nexport interface ClaseMateriaContenidosEditModel {\r\n id: number;\r\n claseMateriaId: number;\r\n nivelContenidoId: number;\r\n numLicencias: number;\r\n tipoUsuario: TipoUsuarioContenido;\r\n}\r\n\r\nexport interface ClaseMateriaEditModel {\r\n id: number;\r\n nombre: string | null;\r\n claseId: number;\r\n origen: Origen;\r\n borrado: boolean;\r\n contenidoId: number | null;\r\n contenido: string | null;\r\n numMatriculas: number | null;\r\n claseMateriaContenidos: ClaseMateriaContenidosEditModel[] | null;\r\n claseMateriaProductosTienda: ClaseMateriaProductoTiendaEditModel[] | null;\r\n}\r\n\r\nexport interface ClaseMateriaGetCalificacionesResult {\r\n usuarios: UsuarioInfo[] | null;\r\n calificaciones: CalificacionInfo[] | null;\r\n}\r\n\r\nexport interface ClaseMateriaListItem {\r\n id: number;\r\n nombre: string | null;\r\n clase: string | null;\r\n claseId: number;\r\n nivelContenidoId: number | null;\r\n contenido: string | null;\r\n contenidoId: number | null;\r\n editorial: Editorial;\r\n borrado: boolean;\r\n origen: Origen;\r\n}\r\n\r\nexport interface ClaseMateriaListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: ClaseMateriaListItem[] | null;\r\n}\r\n\r\nexport interface ClaseMateriaProductoTienda {\r\n id: number;\r\n claseMateriaId: number | null;\r\n created: Date | null;\r\n claseMateria: ClaseMateria;\r\n nivelProductoTiendaId: number | null;\r\n nivelProductoTienda: NivelProductoTienda;\r\n}\r\n\r\nexport interface ClaseMateriaProductoTiendaEditModel {\r\n id: number;\r\n claseMateriaId: number;\r\n nivelProductoTiendaId: number;\r\n numLicencias: number;\r\n}\r\n\r\nexport interface ClaseMateriaSearch extends SearchModelBase {\r\n colegioId: number;\r\n claseId: number | null;\r\n profesorId: number | null;\r\n}\r\n\r\nexport interface ClasesSearch extends SearchModelBase {\r\n colegioId: number;\r\n profesorId: number | null;\r\n alumnoId: number | null;\r\n posibles: boolean;\r\n nivelEducativoId: number | null;\r\n}\r\n\r\nexport interface CodigoBarras extends OdooBaseEntity {\r\n productos: ProductoCodigoBarras[] | null;\r\n}\r\n\r\nexport interface Colegio {\r\n id: number;\r\n name: string | null;\r\n allowedLoginMethods: string | null;\r\n dominiosAutorizados: string | null;\r\n comunidadAutonomaId: number | null;\r\n foto: Photo;\r\n usuariosColegio: UsuarioColegio[] | null;\r\n credencialesEditoriales: ColegioCredencialEditorial[] | null;\r\n cursosEscolares: CursoEscolar[] | null;\r\n notificaciones: Notificacion[] | null;\r\n cargas: Carga[] | null;\r\n resultadoActividades: ResultadoActividad[] | null;\r\n identificadorCategoriaTienda: string | null;\r\n identificadorTienda: string | null;\r\n nombreColegioPedidosTienda: string | null;\r\n sincronizar: boolean;\r\n sincronizarLicencias: boolean;\r\n omitirCreacionListas: boolean;\r\n comunicarAsignacionLicencias: boolean;\r\n comunicarCredencialesLicenciasAlAsignar: boolean;\r\n comercialResponsableId: number | null;\r\n emailColegio: string | null;\r\n allowGoogleLogin: boolean;\r\n allowMicrosoftLogin: boolean;\r\n allowCustomLogin: boolean;\r\n externalId: string | null;\r\n codMinisterio: string | null;\r\n localidad: string | null;\r\n calle: string | null;\r\n factEmail: string | null;\r\n factEnviarA: string | null;\r\n factNif: string | null;\r\n factNombre: string | null;\r\n factDireccion: string | null;\r\n factPoblacion: string | null;\r\n factProvincia: string | null;\r\n factCodigoPostal: string | null;\r\n factOficinaContable: string | null;\r\n factOrganoGestor: string | null;\r\n factUnidadTramitadora: string | null;\r\n categoria: CategoriaColegio;\r\n institucionId: number | null;\r\n institucion: Institucion;\r\n}\r\n\r\nexport interface ColegioCredencialEditorial {\r\n id: number;\r\n nombre: string | null;\r\n colegioId: number;\r\n colegio: Colegio;\r\n editorial: Editorial;\r\n tipoLicencia: TipoAcceso;\r\n datos: string | null;\r\n deshabilitarAcceso: boolean;\r\n mensajeDeshabilitarAcceso: string | null;\r\n urlAcceso: string | null;\r\n contenidoId: number | null;\r\n contenido: Contenido;\r\n}\r\n\r\nexport interface ColegioCredencialesEditorialesEditModel {\r\n id: number;\r\n colegioId: number;\r\n nombre: string | null;\r\n editorial: Editorial;\r\n datos: string | null;\r\n tipoLicencia: TipoAcceso;\r\n deshabilitarAcceso: boolean;\r\n mensajeDeshabilitarAcceso: string | null;\r\n urlAcceso: string | null;\r\n contenidoId: number;\r\n contenidoNombre: string | null;\r\n contenidoIsbn: string | null;\r\n}\r\n\r\nexport interface ColegioCredencialesEditorialesListItem {\r\n id: number;\r\n nombre: string | null;\r\n editorial: Editorial;\r\n contenidoId: number | null;\r\n contenidoIsbn: string | null;\r\n contenidoNombre: string | null;\r\n tipoLicencia: TipoAcceso;\r\n}\r\n\r\nexport interface ColegioCredencialesEditorialesListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: ColegioCredencialesEditorialesListItem[] | null;\r\n}\r\n\r\nexport interface ColegioCredencialesEditorialesSearch extends SearchModelBase {\r\n colegioId: number;\r\n nombre: string | null;\r\n editorial: Editorial;\r\n}\r\n\r\nexport interface ColegioDiagnosticoResult {\r\n clasesMateriasNombreMal: ClaseMateriaConError[] | null;\r\n editorialesSinCredenciales: EditorialSinCredenciales[] | null;\r\n contenidosSinEditorial: ContenidoSinEditorial[] | null;\r\n licenciasSinConfigurar: LicenciaSinConfigurar[] | null;\r\n cursosAcademicosAnomalias: CursosEscolaresDiagResult;\r\n cursosEscolaresDiag: CursosEscolaresDiagResult;\r\n aliasEditorialesSinCompletar: AliasEditorial[] | null;\r\n matriculasSinLicencia: MatriculasSinLicencia[] | null;\r\n}\r\n\r\nexport interface ColegioListItem {\r\n id: number;\r\n nombre: string | null;\r\n sincronizar: boolean;\r\n}\r\n\r\nexport interface ColegioUsuarioActivateModel {\r\n colegioUsuarioIds: number[] | null;\r\n}\r\n\r\nexport interface ColegioUsuarioActivateResult {\r\n numActivated: number;\r\n}\r\n\r\nexport interface ColegioUsuarioBaseModel {\r\n id: number;\r\n colegioId: number;\r\n login: string | null;\r\n nombre: string | null;\r\n apellidos: string | null;\r\n foto: string | null;\r\n origen: Origen;\r\n claseActualId: number | null;\r\n claseActual: string | null;\r\n tipoUsuario: TipoUsuario;\r\n estado: EstadoUsuario;\r\n fechaUltimoAcceso: Date | null;\r\n created: Date;\r\n modified: Date;\r\n borrado: boolean;\r\n password: string | null;\r\n passwordConfirmar: string | null;\r\n passwordError: string | null;\r\n allowCustomLogin: boolean;\r\n}\r\n\r\nexport interface ColegioUsuarioBulkDeleteModel {\r\n colegioUsuarioIds: number[] | null;\r\n estado: EstadoUsuario;\r\n}\r\n\r\nexport interface ColegioUsuarioCustomCreateModel extends ColegioUsuarioBaseModel {\r\n}\r\n\r\nexport interface ColegioUsuarioDeleteResult {\r\n}\r\n\r\nexport interface ColegioUsuarioEditModel extends ColegioUsuarioBaseModel {\r\n}\r\n\r\nexport interface ColegioUsuarioListItem {\r\n id: number;\r\n nombre: string | null;\r\n apellidos: string | null;\r\n nombreCompleto: string | null;\r\n login: string | null;\r\n tipoUsuario: TipoUsuario;\r\n created: Date;\r\n fechaUltimoAcceso: Date | null;\r\n estado: EstadoUsuario;\r\n cursoEscolar: string | null;\r\n clase: string | null;\r\n borrado: boolean;\r\n readonly protegidoBorrado: boolean;\r\n}\r\n\r\nexport interface ColegioUsuarioListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: ColegioUsuarioListItem[] | null;\r\n}\r\n\r\nexport interface ColegioUsuariosChangeClassModel {\r\n colegioUsuarioIds: number[] | null;\r\n claseId: number;\r\n}\r\n\r\nexport interface ColegioUsuariosChangeClassResult {\r\n numChanged: number;\r\n}\r\n\r\nexport interface ColegioUsuariosSearchBase extends SearchModelBase {\r\n colegioId: number;\r\n nombre: string | null;\r\n apellidos: string | null;\r\n login: string | null;\r\n tipoUsuario: TipoUsuario;\r\n claseId: number | null;\r\n claseMateriaId: number | null;\r\n cursoEscolarId: number;\r\n profesorId: number | null;\r\n estado: EstadoUsuario;\r\n repetidor: boolean;\r\n pendienteValidar: boolean;\r\n soloAlumnosMatriculados: boolean;\r\n borrado: boolean;\r\n}\r\n\r\nexport interface ColegioUsuariosExcelExport extends ColegioUsuariosSearchBase {\r\n}\r\n\r\nexport interface ColegioUsuariosJoinMessage {\r\n colegioId: number;\r\n usuarioEliminarId: number;\r\n usuarioDestinoId: number;\r\n}\r\n\r\nexport interface ColegioUsuariosJoinResult {\r\n isOk: boolean;\r\n errorMsg: string | null;\r\n}\r\n\r\nexport interface ColegioUsuariosSearch extends ColegioUsuariosSearchBase {\r\n}\r\n\r\nexport interface ColegioUsuariosUndeleteModel {\r\n colegioUsuarioIds: number[] | null;\r\n}\r\n\r\nexport interface ColegioUsuariosUndeleteResult {\r\n numActivated: number;\r\n}\r\n\r\nexport interface ComprasPosiblesItem {\r\n contenidoId: number;\r\n nombre: string | null;\r\n clase: string | null;\r\n caratula: string | null;\r\n editorial: Editorial;\r\n}\r\n\r\nexport interface ComunidadAutonomaListItem {\r\n id: number;\r\n nombre: string | null;\r\n}\r\n\r\nexport interface Contenido {\r\n id: number;\r\n editorial: Editorial;\r\n activo: boolean;\r\n nombre: string | null;\r\n descripcion: string | null;\r\n caratula: Photo;\r\n isbn: string | null;\r\n isbnAlternativo: string | null;\r\n aliasEditorialId: number | null;\r\n aliasEditorial: AliasEditorial;\r\n nivelesContenidos: NivelContenido[] | null;\r\n licencias: LicenciaContenido[] | null;\r\n libro: Libro[] | null;\r\n identificadorTienda: string | null;\r\n identificadorEditorial: string | null;\r\n sincronizar: boolean;\r\n tipoUsuario: TipoUsuarioContenido;\r\n tipoContenido: TipoContenido;\r\n categorias: string | null;\r\n creado: Date | null;\r\n}\r\n\r\nexport interface ContenidoSinEditorial {\r\n id: number | null;\r\n nombre: string | null;\r\n}\r\n\r\nexport interface ContenidosColegioChangeAccesoMessage {\r\n contenidoIds: number[] | null;\r\n tipoAccesoPorDefecto: TipoAcceso;\r\n mostrarAccesoDirecto: boolean;\r\n mensajeAcceso: string | null;\r\n}\r\n\r\nexport interface ContenidosEditBase {\r\n id: number;\r\n nombre: string | null;\r\n descripcion: string | null;\r\n caratula: string | null;\r\n isbn: string | null;\r\n isbnAlternativo: string | null;\r\n editorial: Editorial;\r\n identificadorTienda: string | null;\r\n identificadorEditorial: string | null;\r\n sincronizar: boolean;\r\n tipoUsuario: TipoUsuarioContenido;\r\n aliasEditorialId: number;\r\n aliasEditorial: string | null;\r\n estructura: Libro[] | null;\r\n}\r\n\r\nexport interface ContenidosColegioEditModel extends ContenidosEditBase {\r\n tipoAccesoPorDefecto: TipoAcceso;\r\n mensajeAcceso: string | null;\r\n mostrarAccesoDirecto: boolean | null;\r\n}\r\n\r\nexport interface ContenidosSearchBase extends SearchModelBase {\r\n nombre: string | null;\r\n isbn: string | null;\r\n identificadorTienda: string | null;\r\n editorial: Editorial;\r\n activo: YesNo;\r\n cursoEscolarId: number | null;\r\n tipoUsuario: TipoUsuarioContenido;\r\n sinImagenYEnUso: boolean;\r\n}\r\n\r\nexport interface ContenidosColegioSearchBase extends ContenidosSearchBase {\r\n excluirLicenciasUsuarioId: number | null;\r\n usuarioColegioId: number | null;\r\n nivelEducativoId: number | null;\r\n claseId: number | null;\r\n showOnlySchoolContents: boolean;\r\n mostrarNivelesEducativos: boolean;\r\n}\r\n\r\nexport interface ContenidosColegioExcelExport extends ContenidosColegioSearchBase {\r\n}\r\n\r\nexport interface ContenidosDigitalesListItem {\r\n id: number;\r\n nombre: string | null;\r\n caratula: string | null;\r\n isbn: string | null;\r\n editorial: Editorial;\r\n nivelesEducativos: string | null;\r\n cursoEscolar: string | null;\r\n identificadorTienda: string | null;\r\n tipoUsuario: TipoUsuarioContenido;\r\n tipoContenido: TipoContenido;\r\n}\r\n\r\nexport interface ContenidosDigitalesColegioListItem extends ContenidosDigitalesListItem {\r\n tipoAccesoPorDefectoStr: string | null;\r\n readonly tipoAccesoPorDefecto: TipoAcceso[] | null;\r\n mostrarAccesoDirectoStr: string | null;\r\n readonly mostrarAccesoDirecto: boolean[] | null;\r\n}\r\n\r\nexport interface ContenidosDigitalesColegioListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: ContenidosDigitalesColegioListItem[] | null;\r\n}\r\n\r\nexport interface ContenidosDigitalesColegioSearch extends ContenidosColegioSearchBase {\r\n showAccessData: boolean;\r\n}\r\n\r\nexport interface ContenidosDigitalesListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: ContenidosDigitalesListItem[] | null;\r\n}\r\n\r\nexport interface ContenidosEditModel extends ContenidosEditBase {\r\n}\r\n\r\nexport interface ContenidosExcelExport extends ContenidosSearchBase {\r\n}\r\n\r\nexport interface ContenidosPapelColegioListItem {\r\n id: number;\r\n nombre: string | null;\r\n sku: string | null;\r\n editorial: Editorial;\r\n nivelesEducativos: string | null;\r\n cursoEscolar: string | null;\r\n}\r\n\r\nexport interface ContenidosPapelColegioListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: ContenidosPapelColegioListItem[] | null;\r\n}\r\n\r\nexport interface ContenidosPapelColegioSearch extends SearchModelBase {\r\n nombre: string | null;\r\n sku: string | null;\r\n editorial: Editorial;\r\n cursoEscolarId: number | null;\r\n excluirLicenciasUsuarioId: number | null;\r\n usuarioColegioId: number | null;\r\n nivelEducativoId: number | null;\r\n claseId: number | null;\r\n showOnlySchoolContents: boolean;\r\n}\r\n\r\nexport interface ContenidosSearch extends ContenidosSearchBase {\r\n}\r\n\r\nexport interface ContenidosSyncResult {\r\n isOk: boolean;\r\n numContenidosDescargados: number;\r\n numContenidosSincronizados: number;\r\n numNiveles: number;\r\n readonly okMsg: string | null;\r\n errorMsg: string | null;\r\n}\r\n\r\nexport interface CredencialLicencia {\r\n id: number;\r\n campannaId: number;\r\n campanna: Campanna;\r\n isbn: string | null;\r\n codigoLicencia: string | null;\r\n disponibleTodosColegios: boolean;\r\n fechaValidez: Date | null;\r\n fechaAsignacion: Date | null;\r\n fechaDevolucion: Date | null;\r\n importacionId: number | null;\r\n observacionesAsignacion: string | null;\r\n licenciasContenido: LicenciaContenido[] | null;\r\n credencialesColegio: CredencialLicenciaColegio[] | null;\r\n}\r\n\r\nexport interface CredencialLicenciaColegio {\r\n id: number;\r\n colegioId: number;\r\n licenciaId: number;\r\n credencial: CredencialLicencia;\r\n}\r\n\r\nexport interface CursoEscolar {\r\n id: number;\r\n colegioId: number;\r\n colegio: Colegio;\r\n nombre: string | null;\r\n campannaId: number;\r\n campanna: Campanna;\r\n activo: boolean;\r\n visibleAlumnos: boolean;\r\n contenidoAccesibleAlumnos: boolean;\r\n syncroPorDefecto: boolean;\r\n fechaInicio: Date;\r\n fechaFin: Date | null;\r\n fechaInicioCampagna: Date | null;\r\n fechaFinCampagna: Date | null;\r\n etapas: Etapa[] | null;\r\n}\r\n\r\nexport interface CursoEscolarEditModel {\r\n id: number;\r\n nombre: string | null;\r\n activo: boolean;\r\n visibleAlumnos: boolean;\r\n contenidoAccesibleAlumnos: boolean;\r\n syncroPorDefecto: boolean;\r\n fechaInicio: Date;\r\n fechaFin: Date;\r\n campannaId: number;\r\n campanna: string | null;\r\n fechaInicioCampagna: Date;\r\n fechaFinCampagna: Date;\r\n etapas: EtapaEditModel[] | null;\r\n}\r\n\r\nexport interface CursoEscolarListItem {\r\n id: number;\r\n nombre: string | null;\r\n campannaId: number;\r\n campanna: string | null;\r\n activo: boolean;\r\n visibleAlumnos: boolean;\r\n contenidoAccesibleAlumnos: boolean;\r\n syncroPorDefecto: boolean;\r\n fechaInicio: Date;\r\n fechaInicioCampagna: Date;\r\n fechaFinCampagna: Date;\r\n}\r\n\r\nexport interface CursoEscolarListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: CursoEscolarListItem[] | null;\r\n}\r\n\r\nexport interface CursoEscolarSearch extends SearchModelBase {\r\n colegioId: number;\r\n nombre: string | null;\r\n activo: boolean | null;\r\n visibleAlumnos: boolean | null;\r\n}\r\n\r\nexport interface CursosEscolaresDiagResult {\r\n noHayActivos: boolean;\r\n activosSinAccesoAlumnos: boolean;\r\n multiplesActivos: boolean;\r\n}\r\n\r\nexport interface DocumentUploadResult {\r\n documentUrl: string | null;\r\n previewItem: any | null;\r\n numItemsRead: number;\r\n state: ApprovedState;\r\n}\r\n\r\nexport enum Editorial {\r\n None = \"None\",\r\n Santillana = \"Santillana\",\r\n SM = \"SM\",\r\n Anaya = \"Anaya\",\r\n Edelvives = \"Edelvives\",\r\n Edebe = \"Edebe\",\r\n TekmanBooks = \"TekmanBooks\",\r\n Burlington = \"Burlington\",\r\n Casals = \"Casals\",\r\n Cambridge = \"Cambridge\",\r\n Donostiarra = \"Donostiarra\",\r\n McGrawHill = \"McGrawHill\",\r\n Editex = \"Editex\",\r\n Macmillan = \"Macmillan\",\r\n Teide = \"Teide\",\r\n ScienceBits = \"ScienceBits\",\r\n VicensVives = \"VicensVives\",\r\n Brunno = \"Brunno\",\r\n Oxford = \"Oxford\",\r\n Planeta = \"Planeta\",\r\n Milton = \"Milton\",\r\n ContenidoPropio = \"ContenidoPropio\",\r\n Ramatics = \"Ramatics\",\r\n Esc = \"Esc\",\r\n Tabarca = \"Tabarca\",\r\n Bromera = \"Bromera\",\r\n Klett = \"Klett\",\r\n}\r\n\r\nexport interface EditorialSinCredenciales {\r\n id: number | null;\r\n editorial: Editorial;\r\n tipoAcceso: TipoAcceso;\r\n}\r\n\r\nexport interface EmailImportacion {\r\n id: number;\r\n email: string | null;\r\n usuarioId: number;\r\n usuario: UsuarioColegio;\r\n}\r\n\r\nexport interface EntradaAuditoriaListItem {\r\n fecha: Date;\r\n id: number;\r\n tipoAuditoria: TipoAuditoria;\r\n usuarioAccionId: number;\r\n usuarioAccion: string | null;\r\n usuarioDatosId: number;\r\n usuarioDatos: string | null;\r\n itemId: number;\r\n descripcion: string | null;\r\n}\r\n\r\nexport interface EntradaAuditoriaListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: EntradaAuditoriaListItem[] | null;\r\n}\r\n\r\nexport interface EntradaAuditoriaSearch extends SearchModelBase {\r\n usuarioDatosId: number | null;\r\n colegioId: any | null;\r\n}\r\n\r\nexport interface EstadisticaListItem {\r\n numAccesos: number;\r\n dia: Date;\r\n contenidoId: number | null;\r\n}\r\n\r\nexport interface GraphSearch {\r\n usuarioId: number | null;\r\n profesorId: number | null;\r\n licenciaContenidoIds: number[] | null;\r\n tipo: TipoEstadistica;\r\n fechaDesde: Date;\r\n fechaHasta: Date;\r\n busquedaGlobal: boolean;\r\n tipoUsuario: TipoUsuario;\r\n claseId: number[] | null;\r\n claseMateriaId: number | null;\r\n contenidosId: number[] | null;\r\n tipoGrafico: TipoGrafico;\r\n}\r\n\r\nexport interface EstadisticasAccesoGraphExcelExport extends GraphSearch {\r\n}\r\n\r\nexport interface EstadisticasAccesoGraphSearch extends GraphSearch {\r\n}\r\n\r\nexport interface EstadisticasAccesoGraphSearchResult {\r\n items: EstadisticaListItem[] | null;\r\n fechaUltimoAcceso: Date | null;\r\n accesosUltimos30dias: number | null;\r\n accesosUltimos7dias: number | null;\r\n accesosUltimodia: number | null;\r\n}\r\n\r\nexport interface EstadisticasContenidoGraphExcelExport extends GraphSearch {\r\n}\r\n\r\nexport interface EstadisticasContenidoGraphSearch extends GraphSearch {\r\n}\r\n\r\nexport interface EstadisticasContenidoGraphSearchResult {\r\n items: { [key: string]: StackedListItem[]; } | null;\r\n contenidos: { [key: string]: string; } | null;\r\n fechaUltimoAcceso: Date | null;\r\n accesosUltimos30dias: number | null;\r\n accesosUltimos7dias: number | null;\r\n accesosUltimodia: number | null;\r\n stackedGraphBar: StackedGraphBar;\r\n}\r\n\r\nexport enum EstadoAlbaran {\r\n None = \"None\",\r\n Borrador = \"Borrador\",\r\n EnEspera = \"EnEspera\",\r\n Preparado = \"Preparado\",\r\n Hecho = \"Hecho\",\r\n Cancelado = \"Cancelado\",\r\n}\r\n\r\nexport enum EstadoCargaItem {\r\n Correcto = \"Correcto\",\r\n Duplicado = \"Duplicado\",\r\n Erroneo = \"Erroneo\",\r\n}\r\n\r\nexport enum EstadoEnvio {\r\n None = \"None\",\r\n EsperandoRecodida = \"EsperandoRecodida\",\r\n EnTransito = \"EnTransito\",\r\n Entregado = \"Entregado\",\r\n}\r\n\r\nexport enum EstadoLicencia {\r\n Vacio = \"Vacio\",\r\n Activo = \"Activo\",\r\n PedidoCancelado = \"PedidoCancelado\",\r\n Caducada = \"Caducada\",\r\n BurlingtonActivaOk = \"BurlingtonActivaOk\",\r\n BurlingtonInvalidActivationCode = \"BurlingtonInvalidActivationCode\",\r\n BurlingtonErrorActivacion = \"BurlingtonErrorActivacion\",\r\n NecesitaSerRevisada = \"NecesitaSerRevisada\",\r\n BurlingtonDeletedUser = \"BurlingtonDeletedUser\",\r\n}\r\n\r\nexport enum EstadoNotificacion {\r\n EnProceso = \"EnProceso\",\r\n EnProcesoConErrores = \"EnProcesoConErrores\",\r\n AcabadaOk = \"AcabadaOk\",\r\n AcabadaError = \"AcabadaError\",\r\n}\r\n\r\nexport enum EstadoPedido {\r\n Canceled = \"Canceled\",\r\n Closed = \"Closed\",\r\n Holded = \"Holded\",\r\n New = \"New\",\r\n PaymentReview = \"PaymentReview\",\r\n PendingPayment = \"PendingPayment\",\r\n Processing = \"Processing\",\r\n Complete = \"Complete\",\r\n}\r\n\r\nexport enum EstadoPedidoColegio {\r\n EnProceso = \"EnProceso\",\r\n Cancelado = \"Cancelado\",\r\n Finalizado = \"Finalizado\",\r\n}\r\n\r\nexport enum EstadoPedidoScholarum {\r\n Cancelado = \"Cancelado\",\r\n Completo = \"Completo\",\r\n EnProceso = \"EnProceso\",\r\n}\r\n\r\nexport enum EstadoUsuario {\r\n Nuevo = \"Nuevo\",\r\n PendienteValidacion = \"PendienteValidacion\",\r\n Activo = \"Activo\",\r\n}\r\n\r\nexport interface EstructuraContenidosContenido {\r\n id: number;\r\n nombre: string | null;\r\n libros: Libro[] | null;\r\n}\r\n\r\nexport interface Etapa {\r\n id: number;\r\n cursoEscolarId: number;\r\n cursoEscolar: CursoEscolar;\r\n nombre: string | null;\r\n nivelesEducativos: NivelEducativo[] | null;\r\n orden: number;\r\n identificadorTienda: string | null;\r\n sincronizar: boolean;\r\n omitirNotificacionLicencias: boolean;\r\n omitirNotificacionCredenciales: boolean;\r\n}\r\n\r\nexport interface EtapaEditModel {\r\n id: number;\r\n cursoEscolarId: number;\r\n nombre: string | null;\r\n orden: number;\r\n niveles: NivelEducativoEditModel[] | null;\r\n identificadorTienda: string | null;\r\n sincronizar: boolean;\r\n omitirNotificacionLicencias: boolean;\r\n omitirNotificacionCredenciales: boolean;\r\n}\r\n\r\nexport interface ExcelTemplateGetMessage {\r\n tipoCarga: TipoCarga;\r\n}\r\n\r\nexport interface ExportFileResult {\r\n content: string | null;\r\n fileName: string | null;\r\n}\r\n\r\nexport enum FormatoContenido {\r\n Digital = \"Digital\",\r\n Papel = \"Papel\",\r\n}\r\n\r\nexport interface GetComprasPosiblesResponse {\r\n contenidos: ComprasPosiblesItem[] | null;\r\n}\r\n\r\nexport interface GetEstructuraContenidosClaseMateriaResult {\r\n contenidos: EstructuraContenidosContenido[] | null;\r\n}\r\n\r\nexport interface GetLicenciaAccesoUrlResponse {\r\n esError: boolean;\r\n puedeAcceder: boolean;\r\n mensajeUsuario: string | null;\r\n url: string;\r\n htmlToInject: string;\r\n marsupialGrupoId: number | null;\r\n marsupialUsuarioId: string | null;\r\n scriptToInject: string | null;\r\n}\r\n\r\nexport interface GetLicenciasContenidosResponse {\r\n contenidos: LicenciaContenidosItem[];\r\n}\r\n\r\nexport interface GetTiposLicenciaResponse {\r\n tiposAcceso: TipoAcceso[] | null;\r\n}\r\n\r\nexport interface GetUserContextResponse {\r\n usuarioId: number;\r\n login: string | null;\r\n nombre: string | null;\r\n apellidos: string | null;\r\n fotoUsuario: string | null;\r\n porcentajePerfil: number;\r\n tipoUsuario: TipoUsuario;\r\n claseActualId: number | null;\r\n claseActual: string | null;\r\n readonly isDefaultClass: boolean;\r\n colegioId: number;\r\n fotoColegio: string | null;\r\n nombreColegio: string | null;\r\n isImpersonated: boolean;\r\n readonly cursoEscolarActivoId: number | null;\r\n interfaceLanguage: InterfaceLanguage;\r\n cursosEscolares: CursoEscolarListItem[] | null;\r\n}\r\n\r\nexport interface GrupoClaseEditModel {\r\n id: number;\r\n nivelEducativoId: number;\r\n nivelEducativo: string | null;\r\n nombre: string | null;\r\n orden: number;\r\n identificadorTienda: string | null;\r\n sincronizar: boolean;\r\n etapaId: number;\r\n etapa: string | null;\r\n cursoEscolarId: number;\r\n cursoEscolar: string | null;\r\n numMatriculas: number;\r\n numMaterias: number;\r\n materias: ClaseMateriaEditModel[] | null;\r\n}\r\n\r\nexport interface Impuesto extends OdooBaseEntity {\r\n productosComoProveedor: Producto[] | null;\r\n productosComoCliente: Producto[] | null;\r\n}\r\n\r\nexport interface InfoConexion {\r\n issuer: string | null;\r\n clientId: string | null;\r\n jwkSetUrl: string | null;\r\n accessTokenUrl: string | null;\r\n authorizationUrl: string | null;\r\n}\r\n\r\nexport interface Institucion {\r\n id: number;\r\n name: string | null;\r\n description: string | null;\r\n colegios: Colegio[] | null;\r\n}\r\n\r\nexport enum InterfaceLanguage {\r\n Espannol = \"Espannol\",\r\n}\r\n\r\nexport interface Libro {\r\n id: number;\r\n contenidoId: number;\r\n contenido: Contenido;\r\n isbn: string | null;\r\n titulo: string | null;\r\n nivel: string | null;\r\n formato: string | null;\r\n unidades: Unidad[] | null;\r\n}\r\n\r\nexport interface LicenciaContenido {\r\n id: number;\r\n matriculaId: number;\r\n matricula: Matricula;\r\n contenidoId: number | null;\r\n contenido: Contenido;\r\n productoTiendaId: number | null;\r\n productoTienda: ProductoTienda;\r\n tipoAcceso: TipoAcceso;\r\n credenciales: string | null;\r\n numPedido: string | null;\r\n fechaPedido: Date | null;\r\n origen: OrigenLicencia;\r\n ultimoAcceso: Date | null;\r\n configuradoProveedor: Date | null;\r\n estado: EstadoLicencia;\r\n motivacionEstado: string | null;\r\n numLinea: number | null;\r\n marsupialGrupoId: number | null;\r\n marsupialUsuarioId: string | null;\r\n licenciaId: number | null;\r\n credencial: CredencialLicencia;\r\n fechaAsignacionCredenciales: Date | null;\r\n asignacionCredencialesNotificada: Date | null;\r\n asignacionLicenciaManual: boolean;\r\n accesoPlataformaManual: AccedePlataforma;\r\n tipoAccesoManual: TipoAcceso;\r\n mensajeAccesoManual: string | null;\r\n}\r\n\r\nexport interface LicenciaContenidosEditModel {\r\n id: number;\r\n colegioId: number;\r\n matriculaId: number | null;\r\n matricula: string | null;\r\n claseId: number;\r\n etapaId: number;\r\n cursoEscolarId: number;\r\n clase: string | null;\r\n claseMateriaId: number | null;\r\n claseMateria: string | null;\r\n contenidoId: number | null;\r\n productoTiendaId: number | null;\r\n contenido: string | null;\r\n pedidoJsonUrl: string | null;\r\n isbn: string | null;\r\n tipoAcceso: TipoAcceso;\r\n tipoContenido: TipoContenido;\r\n tipoUsuario: TipoUsuarioContenido;\r\n credenciales: string | null;\r\n pedidoId: number;\r\n numPedido: string | null;\r\n fechaPedido: Date | null;\r\n editorial: Editorial;\r\n origen: OrigenLicencia;\r\n created: Date;\r\n modified: Date;\r\n asignacionCredencialesNotificada: Date | null;\r\n fechaAsignacionCredenciales: Date | null;\r\n usuario: string | null;\r\n usuarioId: number;\r\n fechaUltimoAcceso: Date | null;\r\n configuradoProveedor: Date | null;\r\n logsBurlington: LogSincronizacionesBurlington[] | null;\r\n estado: EstadoLicencia;\r\n asignacionLicenciaManual: boolean;\r\n tipoAccesoManual: TipoAcceso;\r\n mensajeAccesoManual: string | null;\r\n}\r\n\r\nexport interface LicenciaContenidosItem {\r\n licenciaContenidoId: number;\r\n nombre: string;\r\n clase: string | null;\r\n caratula: string | null;\r\n tipoAcceso: TipoAcceso;\r\n credenciales: string | null;\r\n editorial: Editorial;\r\n editorialNombre: string | null;\r\n tipoContenido: TipoContenido;\r\n tieneCredenciales: boolean;\r\n rol: TipoUsuarioContenido;\r\n contenidoAccesibleAlumnos: boolean;\r\n deshabilitarAcceso: boolean;\r\n puedeInteractuar: boolean;\r\n}\r\n\r\nexport interface LicenciaSinConfigurar {\r\n id: number;\r\n usuarioId: number;\r\n usuario: string | null;\r\n contenido: string | null;\r\n rol: TipoUsuarioContenido;\r\n}\r\n\r\nexport interface LicenciasContenidoDeleteMultipleModel {\r\n idsToDelete: number[] | null;\r\n}\r\n\r\nexport interface LicenciasContenidosSearchBase extends SearchModelBase {\r\n colegioId: number;\r\n usuarioNombre: string | null;\r\n numPedido: string | null;\r\n credenciales: string | null;\r\n usuarioId: number | null;\r\n contenidoId: number | null;\r\n cursoEscolarId: number | null;\r\n contenidoNombre: string | null;\r\n editorial: Editorial;\r\n nivelEducativoId: number | null;\r\n matriculaId: number | null;\r\n claseMateriaId: number | null;\r\n origen: OrigenLicencia;\r\n rol: TipoUsuarioContenido;\r\n formatoContenido: FormatoContenido;\r\n tieneCredenciales: boolean | null;\r\n tipoAcceso: TipoAcceso;\r\n asignacionLicenciaManual: boolean | null;\r\n}\r\n\r\nexport interface LicenciasContenidosExcelExport extends LicenciasContenidosSearchBase {\r\n}\r\n\r\nexport interface LicenciasContenidosListItem {\r\n id: number;\r\n isbn: string | null;\r\n contenido: string | null;\r\n contenidoId: number | null;\r\n productoTiendaId: number | null;\r\n tipoAcceso: TipoAcceso;\r\n usuario: string | null;\r\n login: string | null;\r\n usuarioId: number;\r\n editorial: Editorial;\r\n cursoEscolar: string | null;\r\n claseId: number;\r\n clase: string | null;\r\n subgrupo: string | null;\r\n claseMateria: string | null;\r\n nivelEducativoId: number;\r\n nivelEducativo: string | null;\r\n credenciales: string | null;\r\n numPedido: string | null;\r\n fechaPedido: Date | null;\r\n origen: OrigenLicencia;\r\n fechaUltimoAcceso: Date | null;\r\n mostrarAccesoDirecto: boolean;\r\n readonly tieneError: boolean;\r\n readonly protegidoBorrado: boolean;\r\n}\r\n\r\nexport interface LicenciasContenidosListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: LicenciasContenidosListItem[] | null;\r\n}\r\n\r\nexport interface LicenciasContenidosSearch extends LicenciasContenidosSearchBase {\r\n}\r\n\r\nexport interface LineaPedido {\r\n id: number;\r\n pedidoId: number;\r\n pedido: Pedido;\r\n cantidadPedida: number;\r\n cantidadDevuelta: number;\r\n productoId: number;\r\n producto: ProductoTienda;\r\n importeSinImpuestos: number | null;\r\n impuestos: number | null;\r\n}\r\n\r\nexport interface LineaPedidoColegioListItem {\r\n id: number;\r\n productoId: number;\r\n referenciaInterna: string | null;\r\n producto: string | null;\r\n precioUnidad: number;\r\n editorialId: number | null;\r\n editorial: string | null;\r\n numUnidades: number;\r\n orden: number;\r\n numUnidadesPreparacion: number;\r\n numUnidadesFinalizadas: number;\r\n numUnidadesPendientes: number;\r\n numUnidadesReservadas: number;\r\n}\r\n\r\nexport interface LineaPedidoTiendaListItem {\r\n id: number;\r\n cantidadPedida: number;\r\n cantidadDevuelta: number;\r\n sku: string | null;\r\n producto: string | null;\r\n tipoProducto: TipoProductoTienda;\r\n licencias: string | null;\r\n}\r\n\r\nexport interface LogSincronizacionesBurlington {\r\n id: number;\r\n date: Date;\r\n credencial: string | null;\r\n colegioId: number;\r\n colegio: Colegio;\r\n usarioId: number;\r\n email: string | null;\r\n tipoAccionBurlington: TipoAccionBurlington;\r\n respuesta: string | null;\r\n peticion: string | null;\r\n}\r\n\r\nexport interface MateriaProfesorEditModel {\r\n colegioId: number;\r\n claseMateriaId: number;\r\n materia: string | null;\r\n}\r\n\r\nexport interface MateriaProfesorPersistResult {\r\n readonly claseMateriaId: number;\r\n}\r\n\r\nexport interface Matricula {\r\n id: number;\r\n usuarioId: number;\r\n usuario: UsuarioColegio;\r\n claseMateriaId: number;\r\n claseMateria: ClaseMateria;\r\n fecha: Date;\r\n rol: TipoUsuarioContenido;\r\n subgrupo: string | null;\r\n licencias: LicenciaContenido[] | null;\r\n}\r\n\r\nexport interface MatriculaEditBase {\r\n id: number;\r\n colegioId: number;\r\n usuario: string | null;\r\n usuarioId: number;\r\n clase: string | null;\r\n claseId: number;\r\n materia: string | null;\r\n claseMateriaId: number;\r\n licenciaContenidos: LicenciaContenidosItem[] | null;\r\n subgrupo: string | null;\r\n fecha: Date;\r\n rol: TipoUsuarioContenido;\r\n}\r\n\r\nexport interface MatriculaEditModel extends MatriculaEditBase {\r\n}\r\n\r\nexport interface MatriculaListItem {\r\n id: number;\r\n usuario: string | null;\r\n usuarioId: number;\r\n clase: string | null;\r\n claseId: number;\r\n materia: string | null;\r\n claseMateriaId: number;\r\n contenido: string | null;\r\n contenidoId: number;\r\n etapa: string | null;\r\n nivelEducativoId: number;\r\n fecha: Date;\r\n rol: TipoUsuarioContenido;\r\n subgrupo: string | null;\r\n}\r\n\r\nexport interface MatriculaListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: MatriculaListItem[] | null;\r\n}\r\n\r\nexport interface MatriculaProfesorEditModel extends MatriculaEditBase {\r\n}\r\n\r\nexport interface MatriculaProfesorListItem {\r\n id: number;\r\n usuario: string | null;\r\n usuarioId: number;\r\n clase: string | null;\r\n claseId: number;\r\n materia: string | null;\r\n claseMateriaId: number;\r\n contenido: string | null;\r\n cursoEscolar: string | null;\r\n contenidoId: number;\r\n nivelEducativo: string | null;\r\n nivelEducativoId: number;\r\n numAlumnos: number;\r\n rol: TipoUsuarioContenido;\r\n}\r\n\r\nexport interface MatriculaProfesorListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: MatriculaProfesorListItem[] | null;\r\n}\r\n\r\nexport interface MatriculasProfesorSearch extends SearchModelBase {\r\n colegioId: number;\r\n usuarioId: number | null;\r\n claseId: number | null;\r\n claseMateriaId: number | null;\r\n nivelEducativoId: number | null;\r\n}\r\n\r\nexport interface MatriculasSearch extends SearchModelBase {\r\n colegioId: number;\r\n usuarioId: number | null;\r\n claseId: number | null;\r\n claseMateriaId: number | null;\r\n cursoEscolarId: number;\r\n}\r\n\r\nexport interface MatriculasSinLicencia {\r\n usuario: string | null;\r\n usuarioId: number;\r\n nivelEducativo: string | null;\r\n nivelEducativoId: number;\r\n clase: string | null;\r\n claseId: number;\r\n claseMateria: string | null;\r\n claseMateriaId: number;\r\n matriculaId: number;\r\n fechaMatricula: Date;\r\n rol: TipoUsuarioContenido;\r\n}\r\n\r\nexport interface MiColegioEditModel {\r\n id: number;\r\n nombre: string | null;\r\n dominiosAutorizados: string | null;\r\n comunidadAutonomaId: number | null;\r\n comunidadAutonoma: string | null;\r\n readonly dominios: string[] | null;\r\n foto: string | null;\r\n identificadorTienda: string | null;\r\n identificadorCategoriaTienda: string | null;\r\n nombreColegioPedidosTienda: string | null;\r\n allowedLoginMethods: string | null;\r\n sincronizar: boolean;\r\n sincronizarLicencias: boolean;\r\n allowGoogleLogin: boolean;\r\n allowMicrosoftLogin: boolean;\r\n allowCustomLogin: boolean;\r\n comunicarAsignacionLicencias: boolean;\r\n comunicarCredencialesLicenciasAlAsignar: boolean;\r\n emailColegio: string | null;\r\n codMinisterio: string | null;\r\n error: string | null;\r\n}\r\n\r\nexport interface MiPerfilEditModel {\r\n id: number;\r\n colegioId: number;\r\n login: string | null;\r\n nombre: string | null;\r\n apellidos: string | null;\r\n foto: string | null;\r\n claseActualId: number | null;\r\n claseActual: string | null;\r\n password: string | null;\r\n passwordConfirmar: string | null;\r\n passwordError: string | null;\r\n allowCustomLogin: boolean;\r\n}\r\n\r\nexport interface ModelValidationResult {\r\n isOk: boolean;\r\n validationErrors: { [key: string]: string; } | null;\r\n}\r\n\r\nexport interface NivelContenido {\r\n id: number;\r\n nivelEducativoId: number;\r\n nivelEducativo: NivelEducativo;\r\n contenidoId: number;\r\n contenido: Contenido;\r\n created: Date | null;\r\n mostrarAccesoDirecto: boolean;\r\n accedePlataforma: AccedePlataforma;\r\n mensajeAcceso: string | null;\r\n tipoAccesoPorDefecto: TipoAcceso;\r\n clasesMateriasContenidos: ClaseMateriaContenido[] | null;\r\n}\r\n\r\nexport interface NivelContenidosDeleteResult {\r\n errorMsg: string | null;\r\n}\r\n\r\nexport interface NivelContenidosEditBase {\r\n colegioId: number;\r\n id: number;\r\n nivelEducativoId: number;\r\n nivelEducativo: string | null;\r\n contenido: string | null;\r\n contenidoId: number;\r\n mensajeAcceso: string | null;\r\n tipoAccesoPorDefecto: TipoAcceso;\r\n mostrarAccesoDirecto: boolean;\r\n}\r\n\r\nexport interface NivelContenidosEditModel extends NivelContenidosEditBase {\r\n}\r\n\r\nexport interface NivelContenidosListItem {\r\n id: number;\r\n contenido: string | null;\r\n isbn: string | null;\r\n contenidoId: number;\r\n nivelEducativo: string | null;\r\n nivelEducativoId: number;\r\n etapa: string | null;\r\n tipoAccesoPorDefecto: TipoAcceso;\r\n numLicencias: number;\r\n}\r\n\r\nexport interface NivelContenidosListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: NivelContenidosListItem[] | null;\r\n}\r\n\r\nexport interface NivelContenidosSearch extends SearchModelBase {\r\n colegioId: number;\r\n cursoEscolarId: number;\r\n nivelId: number | null;\r\n claseId: number | null;\r\n contenidoId: number | null;\r\n}\r\n\r\nexport interface NivelEducativo {\r\n id: number;\r\n etapaId: number;\r\n etapa: Etapa;\r\n nombre: string | null;\r\n nombreMagento: string | null;\r\n clases: Clase[] | null;\r\n numeroEstimadoAlumnos: number | null;\r\n porcentajeEstimacionCompra: number | null;\r\n porcentajeCompraHistorico: number | null;\r\n nivelesContenidos: NivelContenido[] | null;\r\n nivelesProductosTienda: NivelProductoTienda[] | null;\r\n asignacionesListasLibros: AsignacionListaLibros[] | null;\r\n orden: number;\r\n identificadorTienda: string | null;\r\n sincronizar: boolean;\r\n omitirCreacionListas: boolean;\r\n omitirNotificacionLicencias: boolean;\r\n omitirNotificacionCredenciales: boolean;\r\n}\r\n\r\nexport interface NivelEducativoEditModel {\r\n id: number;\r\n etapaId: number;\r\n nombre: string | null;\r\n orden: number;\r\n numContenidosDigitales: number;\r\n numContenidosPapel: number;\r\n clases: GrupoClaseEditModel[] | null;\r\n identificadorTienda: string | null;\r\n sincronizar: boolean;\r\n omitirNotificacionLicencias: boolean;\r\n omitirNotificacionCredenciales: boolean;\r\n}\r\n\r\nexport interface NivelProductoTienda {\r\n id: number;\r\n nivelEducativoId: number;\r\n nivelEducativo: NivelEducativo;\r\n productoTiendaId: number;\r\n productoTienda: ProductoTienda;\r\n created: Date;\r\n clasesMateriasProductosTienda: ClaseMateriaProductoTienda[] | null;\r\n}\r\n\r\nexport interface NivelProductosTiendaSearch extends SearchModelBase {\r\n colegioId: number;\r\n cursoEscolarId: number;\r\n nivelId: number | null;\r\n claseId: number | null;\r\n productoTiendaId: number | null;\r\n}\r\n\r\nexport interface NivelProductosTiendasListItem {\r\n id: number;\r\n productoTienda: string | null;\r\n productoTiendaId: number;\r\n productoTiendaSku: string | null;\r\n nivelEducativo: string | null;\r\n nivelEducativoId: number;\r\n}\r\n\r\nexport interface NivelProductosTiendasListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: NivelProductosTiendasListItem[] | null;\r\n}\r\n\r\nexport interface Notificacion {\r\n id: number;\r\n tipoNotificacion: TipoNotificacion;\r\n colegioId: number | null;\r\n colegio: Colegio;\r\n usuarioId: number | null;\r\n fecha: Date;\r\n estado: EstadoNotificacion;\r\n pendiente: boolean;\r\n texto: string | null;\r\n datos: string | null;\r\n items: NotificacionItem[] | null;\r\n}\r\n\r\nexport interface NotificacionEditModel {\r\n id: number;\r\n colegioId: number | null;\r\n colegio: string | null;\r\n fecha: Date;\r\n estado: EstadoNotificacion;\r\n pendiente: boolean;\r\n texto: string | null;\r\n tipoNotificacion: TipoNotificacion;\r\n items: NotificacionItemEditModel[] | null;\r\n}\r\n\r\nexport interface NotificacionItem {\r\n id: number;\r\n notificacionId: number;\r\n notificacion: Notificacion;\r\n tipoItem: TipoNotificacionItem;\r\n texto: string | null;\r\n}\r\n\r\nexport interface NotificacionItemEditModel {\r\n id: number;\r\n notificacionId: number;\r\n texto: string | null;\r\n tipoItem: TipoNotificacionItem;\r\n}\r\n\r\nexport interface NotificacionListItem {\r\n id: number;\r\n colegioId: number | null;\r\n colegio: string | null;\r\n usuarioId: number;\r\n fecha: Date;\r\n estado: EstadoNotificacion;\r\n pendiente: boolean;\r\n tipoNotificacion: TipoNotificacion;\r\n texto: string | null;\r\n datos: string | null;\r\n}\r\n\r\nexport interface NotificacionListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: NotificacionListItem[] | null;\r\n}\r\n\r\nexport interface NotificacionMarcarLeidaModel {\r\n ids: number[] | null;\r\n colegioId: number | null;\r\n}\r\n\r\nexport interface NotificacionesSearch extends SearchModelBase {\r\n colegioId: number | null;\r\n busquedaEnHome: boolean;\r\n incluirOk: boolean;\r\n estado: EstadoNotificacion;\r\n}\r\n\r\nexport interface OdooEditorial {\r\n id: number;\r\n nombre: string | null;\r\n}\r\n\r\nexport interface OdooSyncMasterDataMessage {\r\n sincronizarProductos: boolean;\r\n sincronizarDesde: Date | null;\r\n}\r\n\r\nexport interface OdooSyncPedidosMessage {\r\n sincronizarDesde: Date | null;\r\n}\r\n\r\nexport enum Origen {\r\n Administrador = \"Administrador\",\r\n Tienda = \"Tienda\",\r\n CargaFichero = \"CargaFichero\",\r\n AddinGoogle = \"AddinGoogle\",\r\n}\r\n\r\nexport enum OrigenLicencia {\r\n Administrador = \"Administrador\",\r\n Tienda = \"Tienda\",\r\n CargaFichero = \"CargaFichero\",\r\n}\r\n\r\nexport interface Pedido {\r\n id: number;\r\n campannaId: number;\r\n campanna: Campanna;\r\n externalId: number;\r\n colegioId: number;\r\n colegio: Colegio;\r\n fechaPedido: Date;\r\n estadoPedido: EstadoPedido;\r\n estadoPedidoScholarum: EstadoPedidoScholarum;\r\n emailCliente: string | null;\r\n nombreCliente: string | null;\r\n descuento: number | null;\r\n descripDescuento: string | null;\r\n cupones: string | null;\r\n numLicencias: number | null;\r\n fechaDeProcesoEnJob: Date;\r\n lineas: LineaPedido[] | null;\r\n numComprasConLicencia: number;\r\n importeSinImpuestos: number | null;\r\n impuestos: number | null;\r\n peso: number | null;\r\n}\r\n\r\nexport interface PedidoColegio extends OdooBaseEntity {\r\n fechaPresupuesto: Date;\r\n fechaCompromiso: Date;\r\n total: number | null;\r\n pedidoPadreId: number | null;\r\n colegioId: number;\r\n colegio: Colegio;\r\n lineas: PedidoColegioLinea[] | null;\r\n estado: EstadoPedidoColegio;\r\n esDevolucion: boolean;\r\n canal: Canal;\r\n}\r\n\r\nexport interface PedidoColegioDetailResult {\r\n id: number;\r\n colegioId: number;\r\n colegio: string | null;\r\n fechaPresupuesto: Date;\r\n fechaCompromiso: Date;\r\n total: number | null;\r\n nombre: string | null;\r\n externalId: string | null;\r\n estado: EstadoPedidoColegio;\r\n canal: Canal;\r\n items: LineaPedidoColegioListItem[] | null;\r\n albaranes: AlbaranSalida[] | null;\r\n reservas: ReservaExistencia[] | null;\r\n}\r\n\r\nexport interface PedidoColegioLinea {\r\n id: number;\r\n pedidoColegioId: number;\r\n pedidoColegio: PedidoColegio;\r\n productoId: number;\r\n producto: Producto;\r\n reservas: ReservaExistencia[] | null;\r\n numUnidades: number;\r\n precioUnidad: number;\r\n precioTotalConImp: number;\r\n orden: number;\r\n}\r\n\r\nexport interface PedidoColegioListItem {\r\n id: number;\r\n fechaPresupuesto: Date;\r\n fechaCompromiso: Date;\r\n total: number | null;\r\n nombre: string | null;\r\n externalId: string | null;\r\n colegioId: number;\r\n colegio: string | null;\r\n items: string | null;\r\n numItems: number;\r\n estado: EstadoPedidoColegio;\r\n}\r\n\r\nexport interface PedidoColegioListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: PedidoColegioListItem[] | null;\r\n}\r\n\r\nexport interface PedidoTiendaDetailResult {\r\n id: number;\r\n externalId: number;\r\n colegioId: number;\r\n nombreCliente: string | null;\r\n emailCliente: string | null;\r\n fechaDeProcesoEnJob: Date | null;\r\n fechaPedido: Date;\r\n cupones: string | null;\r\n descripDescuento: string | null;\r\n descuento: number | null;\r\n estadoPedido: EstadoPedido;\r\n estadoPedidoScholarum: EstadoPedidoScholarum;\r\n items: LineaPedidoTiendaListItem[] | null;\r\n licenciasExtra: PedidoTiendaLicenciaExtraListItem[] | null;\r\n}\r\n\r\nexport interface PedidosTiendaSearchBase extends SearchModelBase {\r\n colegioId: number | null;\r\n pedidoId: number | null;\r\n numPedido: number | null;\r\n nombreCliente: string | null;\r\n nombreUsuario: string | null;\r\n estadoPedido: EstadoPedido;\r\n estadoPedidoScholarum: EstadoPedidoScholarum;\r\n fechaCompraFrom: Date | null;\r\n fechaCompraTo: Date | null;\r\n sku: string | null;\r\n conDescuento: boolean | null;\r\n}\r\n\r\nexport interface PedidoTiendaInformeCompletoMessage extends PedidosTiendaSearchBase {\r\n}\r\n\r\nexport interface PedidoTiendaLicenciaExtraListItem {\r\n contenido: string | null;\r\n isbn: string | null;\r\n usuario: string | null;\r\n usuarioId: number;\r\n licenciaContenidoId: number;\r\n}\r\n\r\nexport interface PedidoTiendaListItem {\r\n id: number;\r\n externalId: number;\r\n colegio: string | null;\r\n nombreCliente: string | null;\r\n fechaPedido: Date;\r\n descripDescuento: string | null;\r\n cupones: string | null;\r\n descuento: number | null;\r\n estadoPedidoScholarum: EstadoPedidoScholarum;\r\n estadoPedido: EstadoPedido;\r\n licencias: string | null;\r\n}\r\n\r\nexport interface PedidoTiendaListItemPaginatedList {\r\n resultsPerPage: number;\r\n resultsCurrentPage: number;\r\n currentPage: number;\r\n totalCount: number;\r\n orderByColumn: string | null;\r\n orderMode: SortDirection;\r\n items: PedidoTiendaListItem[] | null;\r\n}\r\n\r\nexport interface PedidosColegioSearchBase extends SearchModelBase {\r\n colegioId: number | null;\r\n nombre: string | null;\r\n fechaCompromisoFrom: Date | null;\r\n fechaCompromisoTo: Date | null;\r\n fechaPresupuestoFrom: Date | null;\r\n fechaPresupuestoTo: Date | null;\r\n excluirCancelados: boolean;\r\n soloDevoluciones: boolean;\r\n}\r\n\r\nexport interface PedidosColegioExcelExport extends PedidosColegioSearchBase {\r\n}\r\n\r\nexport interface PedidosColegioSearch extends PedidosColegioSearchBase {\r\n}\r\n\r\nexport interface PedidosTiendaExcelExport extends PedidosTiendaSearchBase {\r\n}\r\n\r\nexport interface PedidosTiendaSearch extends PedidosTiendaSearchBase {\r\n}\r\n\r\nexport interface Photo {\r\n small: string | null;\r\n original: string | null;\r\n}\r\n\r\nexport interface Producto extends OdooBaseEntity {\r\n active: boolean;\r\n tipoProductoMagentoId: number | null;\r\n tipoProductoMagento: TipoProductoMagento;\r\n tipoProductoOdooId: number;\r\n tipoProductoOdoo: TipoProductoOdoo;\r\n categoriasDelProducto: ProductoCategoria[] | null;\r\n reservas: ReservaExistencia[] | null;\r\n imagenUrl: string | null;\r\n magentoId: string | null;\r\n temporadaId: number | null;\r\n temporada: Temporada;\r\n odooEditorialId: number | null;\r\n odooEditorial: OdooEditorial;\r\n almacenId: number | null;\r\n almacen: Almacen;\r\n impuestoClienteId: number | null;\r\n impuestoCliente: Impuesto;\r\n impuestoProveedorId: number | null;\r\n impuestoProveedor: Impuesto;\r\n rutasDelProducto: ProductoRuta[] | null;\r\n bindingsDelProducto: ProductoBinding[] | null;\r\n proveedoresDelProducto: ProductoProveedor[] | null;\r\n tiendasDelProducto: ProductoVentaTienda[] | null;\r\n codigosBarras: ProductoCodigoBarras[] | null;\r\n referenciaInterna: string | null;\r\n referenciaInternaOriginal: string | null;\r\n odooId: number;\r\n magentoProductId: number;\r\n magentoProductExternalId: string | null;\r\n variantId: number;\r\n lineasPedido: PedidoColegioLinea[] | null;\r\n}\r\n\r\nexport interface ProductoBinding {\r\n id: number;\r\n bindingId: number;\r\n productoId: number;\r\n producto: Producto;\r\n}\r\n\r\nexport interface ProductoCategoria {\r\n id: number;\r\n productoId: number;\r\n producto: Producto;\r\n categoriaId: number;\r\n categoria: Categoria;\r\n}\r\n\r\nexport interface ProductoCodigoBarras {\r\n productoId: number;\r\n producto: Producto;\r\n codigoBarrasId: number;\r\n codigoBarras: CodigoBarras;\r\n}\r\n\r\nexport interface ProductoExtended extends Producto {\r\n}\r\n\r\nexport interface ProductoProveedor extends OdooBaseEntity {\r\n productoId: number;\r\n producto: Producto;\r\n proveedorId: number;\r\n proveedor: Proveedor;\r\n}\r\n\r\nexport interface ProductoRuta {\r\n id: number;\r\n productoId: number;\r\n producto: Producto;\r\n rutaId: number;\r\n ruta: Ruta;\r\n}\r\n\r\nexport interface ProductoTienda {\r\n id: number;\r\n productoMagentoId: number;\r\n sku: string | null;\r\n nombre: string | null;\r\n lineas: LineaPedido[] | null;\r\n tipoProducto: TipoProductoTienda;\r\n tipoProductoScholarum: TipoProductoScholarum;\r\n nivelesProductos: NivelProductoTienda[] | null;\r\n editorialId: number | null;\r\n caratula: Photo;\r\n categorias: string | null;\r\n licencias: LicenciaContenido[] | null;\r\n}\r\n\r\nexport interface ProductoVentaTienda {\r\n productoId: number;\r\n producto: Producto;\r\n tiendaId: number;\r\n tienda: TiendaMagento;\r\n}\r\n\r\nexport interface Proveedor extends OdooBaseEntity {\r\n productosDelProveedor: ProductoProveedor[] | null;\r\n}\r\n\r\nexport interface Publisher extends OdooBaseEntity {\r\n}\r\n\r\nexport interface ReservaExistencia extends OdooBaseEntity {\r\n numUnidades: number;\r\n pedidoColegioLineaId: number;\r\n pedidoColegioLinea: PedidoColegioLinea;\r\n estado: string | null;\r\n}\r\n\r\nexport interface ResultadoActividad {\r\n id: number;\r\n idResultadoRaw: number;\r\n colegioId: number;\r\n colegio: Colegio;\r\n fechaActividad: Date;\r\n matriculaId: number;\r\n matricula: Matricula;\r\n actividadId: number;\r\n actividad: Actividad;\r\n calificacion: number;\r\n intentos: number;\r\n urlResultados: string | null;\r\n}\r\n\r\nexport interface ResultadosCargaLicenciasExcelExport {\r\n cargaId: number | null;\r\n estadoCarga: EstadoCargaItem;\r\n}\r\n\r\nexport interface ResultadosCargaUsuariosExcelExport {\r\n cargaId: number | null;\r\n estadoCarga: EstadoCargaItem;\r\n}\r\n\r\nexport interface Ruta extends OdooBaseEntity {\r\n productosRutas: ProductoRuta[] | null;\r\n}\r\n\r\nexport enum SortDirection {\r\n Asc = \"Asc\",\r\n Desc = \"Desc\",\r\n}\r\n\r\nexport interface StackedGraphBar {\r\n name: string | null;\r\n rgbColor: string | null;\r\n}\r\n\r\nexport interface StackedListItem {\r\n contenidoId: number;\r\n numAccesos: number;\r\n contenido: string | null;\r\n dia: string | null;\r\n}\r\n\r\nexport interface SyncContenidoModel {\r\n campannaId: number;\r\n contenidoIsbns: string[] | null;\r\n}\r\n\r\nexport interface SyncPedidosRequest {\r\n numPedidos: string | null;\r\n fechaDesde: Date | null;\r\n soloPedidosTienda: boolean;\r\n isbns: string | null;\r\n}\r\n\r\nexport interface Temporada extends OdooBaseEntity {\r\n year: number;\r\n}\r\n\r\nexport interface TiendaMagento extends OdooBaseEntity {\r\n centerCode: string | null;\r\n magentoViewIds: string | null;\r\n storeUrl: string | null;\r\n storeId: number | null;\r\n websiteId: number | null;\r\n websiteExternalId: string | null;\r\n backendId: number | null;\r\n backendExternalId: string | null;\r\n}\r\n\r\nexport enum TipoAcceso {\r\n Custom = \"Custom\",\r\n Marsupial = \"Marsupial\",\r\n MarsupialBlink = \"MarsupialBlink\",\r\n SinAcceso = \"SinAcceso\",\r\n MacMillanLive = \"MacMillanLive\",\r\n AccesoManual = \"AccesoManual\",\r\n BlinkDirecto = \"BlinkDirecto\",\r\n Lti11 = \"Lti11\",\r\n NoAccedeSiMuestraCredenciales = \"NoAccedeSiMuestraCredenciales\",\r\n NoAccedeNoMuestraCredenciales = \"NoAccedeNoMuestraCredenciales\",\r\n NoAccedeMuestraMensaje = \"NoAccedeMuestraMensaje\",\r\n SantillanaPrisma = \"SantillanaPrisma\",\r\n Lti13 = \"Lti13\",\r\n SantillanaAV4 = \"SantillanaAV4\",\r\n SinConfigurar = \"SinConfigurar\",\r\n}\r\n\r\nexport enum TipoAccionBurlington {\r\n Sincronizar = \"Sincronizar\",\r\n BorrarUsuario = \"BorrarUsuario\",\r\n}\r\n\r\nexport enum TipoAuditoria {\r\n Ninguno = \"Ninguno\",\r\n CrearLicencia = \"CrearLicencia\",\r\n BorrarLicencia = \"BorrarLicencia\",\r\n ModificarLicencia = \"ModificarLicencia\",\r\n}\r\n\r\nexport enum TipoCarga {\r\n Usuario = \"Usuario\",\r\n Licencia = \"Licencia\",\r\n}\r\n\r\nexport enum TipoContenido {\r\n Licencia = \"Licencia\",\r\n Virtual = \"Virtual\",\r\n}\r\n\r\nexport enum TipoEstadistica {\r\n AccesoUsuario = \"AccesoUsuario\",\r\n AccesoContenido = \"AccesoContenido\",\r\n ErrorAccesoContenido = \"ErrorAccesoContenido\",\r\n}\r\n\r\nexport enum TipoGrafico {\r\n Global = \"Global\",\r\n Usuario = \"Usuario\",\r\n Licencia = \"Licencia\",\r\n Profesor = \"Profesor\",\r\n}\r\n\r\nexport enum TipoNotificacion {\r\n SincronizacionContenidos = \"SincronizacionContenidos\",\r\n SincronizacionPedidos = \"SincronizacionPedidos\",\r\n SincronizacionCursoEscolar = \"SincronizacionCursoEscolar\",\r\n SincronizacionProductosTienda = \"SincronizacionProductosTienda\",\r\n}\r\n\r\nexport enum TipoNotificacionItem {\r\n Error = \"Error\",\r\n Warning = \"Warning\",\r\n Info = \"Info\",\r\n}\r\n\r\nexport interface TipoProductoMagento extends OdooBaseEntity {\r\n magentoId: string | null;\r\n}\r\n\r\nexport interface TipoProductoOdoo {\r\n id: number;\r\n name: string | null;\r\n}\r\n\r\nexport enum TipoProductoScholarum {\r\n ContenidoDigital = \"ContenidoDigital\",\r\n ContenidoPapel = \"ContenidoPapel\",\r\n Otros = \"Otros\",\r\n}\r\n\r\nexport enum TipoProductoTienda {\r\n Simple = \"Simple\",\r\n Virtual = \"Virtual\",\r\n Grouped = \"Grouped\",\r\n License = \"License\",\r\n}\r\n\r\nexport enum TipoUsuario {\r\n None = \"None\",\r\n Alumno = \"Alumno\",\r\n Profesor = \"Profesor\",\r\n AdminColegio = \"AdminColegio\",\r\n AdminGlobal = \"AdminGlobal\",\r\n AdminInstitucion = \"AdminInstitucion\",\r\n VisorPedidos = \"VisorPedidos\",\r\n}\r\n\r\nexport enum TipoUsuarioContenido {\r\n Alumno = \"Alumno\",\r\n Profesor = \"Profesor\",\r\n}\r\n\r\nexport enum Transportista {\r\n None = \"None\",\r\n CorreosExpress = \"CorreosExpress\",\r\n LocalPickup = \"LocalPickup\",\r\n}\r\n\r\nexport interface Unidad {\r\n id: number;\r\n externalId: string | null;\r\n libroId: number;\r\n libro: Libro;\r\n nombre: string | null;\r\n orden: number;\r\n actividades: Actividad[] | null;\r\n}\r\n\r\nexport interface UsuarioColegio {\r\n id: number;\r\n colegioId: number;\r\n colegio: Colegio;\r\n login: string | null;\r\n nombre: string | null;\r\n apellidos: string | null;\r\n foto: Photo;\r\n tipoUsuario: TipoUsuario;\r\n claseActualId: number | null;\r\n claseActual: Clase;\r\n fechaUltimoAcceso: Date | null;\r\n estado: EstadoUsuario;\r\n origen: Origen;\r\n borrado: boolean;\r\n matriculas: Matricula[] | null;\r\n emailsImportacion: EmailImportacion[] | null;\r\n cargas: Carga[] | null;\r\n}\r\n\r\nexport interface UsuarioInfo {\r\n id: number;\r\n nombre: string | null;\r\n}\r\n\r\nexport interface ValidateColegioUsuarioEditModel extends ColegioUsuarioBaseModel {\r\n}\r\n\r\nexport interface ValidateContenidosEditModel extends ContenidosEditBase {\r\n}\r\n\r\nexport interface ValidateMatriculaEditModel extends MatriculaEditBase {\r\n}\r\n\r\nexport interface ValidateMatriculaProfesorEditModel extends MatriculaEditBase {\r\n}\r\n\r\nexport interface ValidateNivelContenidosEditModel extends NivelContenidosEditBase {\r\n}\r\n\r\nexport interface VistaTiendaMagento extends OdooBaseEntity {\r\n magentoId: string | null;\r\n storeUrl: string | null;\r\n storeId: number;\r\n websiteId: number | null;\r\n}\r\n\r\nexport enum YesNo {\r\n Yes = \"Yes\",\r\n No = \"No\",\r\n}","import { Log, User, UserManager, UserManagerSettings, WebStorageStateStore } from 'oidc-client';\r\n\r\nimport { Config } from '../utils/ApiFetcher';\r\n\r\nexport class AuthService {\r\n\r\n private static config: Config;\r\n\r\n public static Init(config: Config) {\r\n AuthService.config = config;\r\n }\r\n\r\n public userManager: UserManager;\r\n\r\n constructor() {\r\n\r\n var settings = {\r\n authority: AuthService.config.stsAuthority,\r\n client_id: AuthService.config.clientId,\r\n redirect_uri: `${AuthService.config.clientRoot}signin-callback.html`,\r\n silent_redirect_uri: `${AuthService.config.clientRoot}silent-renew.html`,\r\n // tslint:disable-next-line:object-literal-sort-keys\r\n post_logout_redirect_uri: `${AuthService.config.clientRoot}`,\r\n response_type: 'code',\r\n scope: AuthService.config.clientScope,\r\n userStore: new WebStorageStateStore({ store: localStorage })\r\n } as UserManagerSettings;\r\n\r\n this.userManager = new UserManager(settings);\r\n\r\n Log.logger = console;\r\n Log.level = Log.WARN;\r\n }\r\n\r\n public getUser(): Promise {\r\n return this.userManager.getUser();\r\n }\r\n\r\n public login(): Promise {\r\n return this.userManager.signinRedirect();\r\n }\r\n\r\n public renewToken(): Promise {\r\n return this.userManager.signinSilent();\r\n }\r\n\r\n public logout(): Promise {\r\n return this.userManager.signoutRedirect();\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button } from \"reactstrap\";\r\n\r\n\r\nimport { I18n } from \"./I18n\";\r\n\r\nclass ResultProps {\r\n messageToShow: string;\r\n onDismiss: () => void;\r\n}\r\n\r\n\r\nexport class ResultOk extends React.Component {\r\n public render(): JSX.Element {\r\n if (this.props.messageToShow == null || this.props.messageToShow == \"\") {\r\n return null;\r\n }\r\n return (\r\n\r\n this.props.onDismiss()}>\r\n this.props.onDismiss()} />}\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class ResultError extends React.Component {\r\n\r\n public render(): JSX.Element {\r\n\r\n if (this.props.messageToShow == null || this.props.messageToShow == \"\") {\r\n return null;\r\n }\r\n return (\r\n this.props.onDismiss()}>\r\n this.props.onDismiss()} />}\r\n >\r\n \r\n \r\n {this.props.messageToShow}\r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport class ShowMessage extends React.Component {\r\n\r\n public render(): JSX.Element {\r\n\r\n if (this.props.messageToShow == null || this.props.messageToShow == \"\") {\r\n return null;\r\n }\r\n\r\n return (\r\n this.props.onDismiss()}>\r\n this.props.onDismiss()} />}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}","import React from 'react'; // we need this to make JSX compile\r\n\r\nimport { ResultError, ResultOk, ShowMessage } from './ActionResults';\r\n\r\nimport { logAndExtractInfoFromException } from \"./ValuesFormatter\";\r\n\r\n\r\nexport class AlertsService {\r\n private static master: AlertDisplayer;\r\n\r\n static setMaster(master: AlertDisplayer) {\r\n AlertsService.master = master;\r\n }\r\n\r\n static showError(error: Error, onClose?: () => void) {\r\n AlertsService.master.showError(logAndExtractInfoFromException(error), onClose);\r\n }\r\n\r\n static showErrorMessage(messageToShow: string, onClose?: () => void) {\r\n AlertsService.master.showError(messageToShow, onClose);\r\n }\r\n\r\n static showSuccessMessage(messageToShow: string, onClose?: () => void) {\r\n AlertsService.master.showSuccessMessage(messageToShow, onClose);\r\n }\r\n\r\n static showAlertMessage(messageToShow: string, onClose?: () => void) {\r\n AlertsService.master.showAlertMessage(messageToShow, onClose);\r\n }\r\n}\r\n\r\n\r\ninterface DisplayerState {\r\n errorMessage: string;\r\n alertMessage: string;\r\n okMessage: string;\r\n onClose: () => void;\r\n}\r\n\r\n\r\nexport class AlertDisplayer extends React.Component {\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n errorMessage: null,\r\n alertMessage: null,\r\n okMessage: null,\r\n onClose: null\r\n };\r\n }\r\n\r\n public showError(errorMessage: string, onClose: () => void) {\r\n this.setState({ errorMessage: errorMessage, onClose: onClose });\r\n }\r\n\r\n public showAlertMessage(alertMessage: string, onClose: () => void) {\r\n this.setState({ alertMessage: alertMessage, onClose: onClose });\r\n }\r\n\r\n public showSuccessMessage(alertMessage: string, onClose: () => void) {\r\n this.setState({ okMessage: alertMessage, onClose: onClose });\r\n }\r\n\r\n render() {\r\n\r\n return \r\n\r\n {this.state.errorMessage &&\r\n this.setState({ errorMessage: null }, () => {\r\n if (this.state.onClose) {\r\n this.state.onClose();\r\n }\r\n })}\r\n />\r\n }\r\n\r\n {this.state.alertMessage &&\r\n this.setState({ alertMessage: null }, () => {\r\n if (this.state.onClose) {\r\n this.state.onClose();\r\n }\r\n })}\r\n />\r\n }\r\n\r\n {this.state.okMessage &&\r\n this.setState({ okMessage: null }, () => {\r\n if (this.state.onClose) {\r\n this.state.onClose();\r\n }\r\n })}\r\n />\r\n }\r\n\r\n ;\r\n }\r\n}","import { AuthService } from '../services/AuthService';\r\nimport axios from \"axios\";\r\nimport { logAndExtractInfoFromException } from './ValuesFormatter';\r\n\r\nexport class Config {\r\n webApiUrlBase: string;\r\n stsAuthority: string;\r\n clientId: string;\r\n clientRoot: string;\r\n clientScope: string;\r\n}\r\n\r\n\r\nexport class ConfigInitializer {\r\n\r\n public static Initialize(): Promise {\r\n\r\n var config = fetch(\"/config.json\")\r\n .then((configResult) => {\r\n\r\n var configSrvProm = configResult.json() as any as Promise;\r\n\r\n return configSrvProm.then(configSrv => {\r\n\r\n var subdomain = window.location.host.split(\".\")[0];\r\n configSrv.webApiUrlBase = configSrv.webApiUrlBase.replace(\"###HOST###\", subdomain);\r\n configSrv.clientRoot = configSrv.clientRoot.replace(\"###HOST###\", subdomain);\r\n return configSrv;\r\n\r\n });\r\n\r\n })\r\n .catch((err) => {\r\n return {\r\n webApiUrlBase: \"https://localhost:44370/api/\",\r\n stsAuthority: 'https://localhost:44362/',\r\n clientRoot: 'https://localhost:44305/',\r\n clientId: 'reactclient',\r\n clientScope: 'openid profile email puntoNeutroApi',\r\n } as Config;\r\n });\r\n\r\n\r\n return config;\r\n }\r\n\r\n}\r\n\r\n\r\n/**\r\n * Esta clase se encarga de realizar las llamadas al api\r\n */\r\n\r\n\r\nclass ApiFetcher {\r\n\r\n\r\n public static Init(config: Config) {\r\n\r\n ApiFetcher.WebApiUrlBase = config.webApiUrlBase;\r\n ApiFetcher.config = config;\r\n }\r\n\r\n /**\r\n * La url para realizar las peticiones a la web api\r\n */\r\n private static WebApiUrlBase: string = null;\r\n private static config: Config = null;\r\n\r\n private authService: AuthService;\r\n\r\n constructor() {\r\n this.authService = new AuthService();\r\n }\r\n\r\n\r\n public callApi(apiFunction: (token: string) => any): Promise {\r\n return this.authService.getUser()\r\n .then(user => {\r\n\r\n if (user && user.access_token) {\r\n return apiFunction(user.access_token)\r\n .catch((error: { response: { status: number; }; }) => {\r\n\r\n if (error.response == null) {\r\n throw Error(\"Error en la llamada al servidor\");\r\n }\r\n\r\n if (error.response.status === 401) {\r\n return this.authService.renewToken().then(renewedUser => {\r\n return apiFunction(renewedUser.access_token);\r\n });\r\n }\r\n\r\n throw error;\r\n });\r\n } else if (user) {\r\n return this.authService.renewToken().then(renewedUser => {\r\n return apiFunction(renewedUser.access_token);\r\n });\r\n } else {\r\n this.authService.login();\r\n //throw new Error('user is not logged in');\r\n }\r\n\r\n });\r\n }\r\n /**\r\n *\r\n * @param url La url contra la que hacer el get\r\n * @param request el objeto para hacer la request (se mete solo en el querystring)\r\n */\r\n public get(url: string,\r\n request?: TRequestObject, bearer?: string): Promise {\r\n\r\n return this.callApi((accessToken) => {\r\n var apiUrl = ApiFetcher.WebApiUrlBase + url + (request == null\r\n ? \"\"\r\n : (\"?\" + this.urlEncodeQueryParams(request)));\r\n\r\n var promise = axios.get(apiUrl, {\r\n headers: {\r\n 'Authorization': \"Bearer \" + (bearer ? bearer : accessToken),\r\n }\r\n })\r\n .then((response: any) => response.data as Promise);\r\n\r\n return promise;\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param url La url contra la que hacer el get\r\n */\r\n public getByUrl(url: string, bearer?: string): Promise {\r\n\r\n return this.callApi((accessToken) => {\r\n\r\n var promise = axios\r\n .get(ApiFetcher.WebApiUrlBase + url, {\r\n headers: {\r\n 'Authorization': \"Bearer \" + (bearer ? bearer : accessToken),\r\n }\r\n })\r\n .then((response: any) => response.data as Promise)\r\n .catch((error: any) => {\r\n console.error(logAndExtractInfoFromException(error));\r\n throw error;\r\n });\r\n\r\n return promise;\r\n });\r\n }\r\n\r\n\r\n //public getBlobInBase64(url: string): Promise {\r\n\r\n // var promise = axios.get(url,\r\n // {\r\n // responseType: \"blob\",\r\n // headers: {\r\n // 'Authorization': \"Bearer \" + ClientContext.Current.bearer,\r\n // }\r\n // });\r\n\r\n // var result = promise\r\n // .then((p: any) => {\r\n // return p.data;\r\n // });\r\n\r\n // return result;\r\n //}\r\n\r\n\r\n /**\r\n * Borra un objeto\r\n * @param url\r\n */\r\n public delete(url: string): Promise {\r\n\r\n\r\n return this.callApi((accessToken) => {\r\n\r\n var promise = axios\r\n .delete(ApiFetcher.WebApiUrlBase + url,\r\n {\r\n headers: {\r\n 'Authorization': \"Bearer \" + accessToken,\r\n }\r\n })\r\n .then((response: any) => {\r\n return response.data as Promise;\r\n })\r\n .catch((error: any) => {\r\n console.error(logAndExtractInfoFromException(error));\r\n //alert(\"Ha sucedido un error invocando al servicio\");\r\n throw error;\r\n });\r\n\r\n return promise;\r\n\r\n });\r\n\r\n }\r\n\r\n /**\r\n *\r\n * @param url La url contra la que hacer post\r\n * @param request El objeto Json a incluir\r\n */\r\n public post(url: string, request: TRequestObject): Promise {\r\n\r\n return this.callApi((accessToken) => {\r\n\r\n var promise = axios\r\n .post(ApiFetcher.WebApiUrlBase + url, request,\r\n {\r\n headers: {\r\n 'Authorization': \"Bearer \" + accessToken,\r\n }\r\n })\r\n .then((response: any) => {\r\n return response.data as Promise;\r\n })\r\n .catch((error: any) => {\r\n console.error(logAndExtractInfoFromException(error));\r\n //alert(\"Ha sucedido un error invocando al servicio\");\r\n throw error;\r\n });\r\n\r\n return promise;\r\n });\r\n\r\n }\r\n\r\n /**\r\n *\r\n * @param url La url contra la que hacer put\r\n * @param request El objeto Json a incluir\r\n */\r\n public put(url: string, request: TRequestObject): Promise {\r\n\r\n return this.callApi((accessToken) => {\r\n\r\n var promise = axios\r\n .put(ApiFetcher.WebApiUrlBase + url, request,\r\n {\r\n headers: {\r\n 'Authorization': \"Bearer \" + accessToken,\r\n }\r\n })\r\n .then((response: any) => {\r\n return response.data as Promise;\r\n })\r\n .catch((error: any) => {\r\n console.error(logAndExtractInfoFromException(error));\r\n //alert(\"Ha sucedido un error invocando al servicio\");\r\n throw error;\r\n });\r\n\r\n return promise;\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n //public getAndDownloadBlob(url: string): Promise {\r\n\r\n // var instance = axios.create();\r\n // instance.defaults.timeout = 1200000;\r\n\r\n // var blobProm = instance.get(url, {\r\n // headers: {\r\n // 'Authorization': \"Bearer \" + ClientContext.Current.bearer,\r\n // },\r\n // responseType: \"blob\"\r\n // });\r\n\r\n // var result = blobProm\r\n // .then((blobResponse: any) => {\r\n // return blobResponse.data;\r\n // });\r\n\r\n // return result;\r\n //}\r\n\r\n //private getFileNameByContentDisposition(contentDisposition: string): string {\r\n\r\n // if (contentDisposition == null) {\r\n // throw new Error(\"No puedo obtener el nombre del fichero\");\r\n // }\r\n\r\n // let regex = /filename\\*[^;=\\n]*=UTF-8''((['\"]).*?\\2|[^;\\n]*)/;\r\n // let matches = regex.exec(contentDisposition);\r\n // let filename: any = null;\r\n\r\n // if (matches != null && matches.length > 1) {\r\n // filename = decodeURI(matches[1]);\r\n // }\r\n\r\n // return decodeURI(filename);\r\n //}\r\n\r\n private urlEncodeQueryParams(data: any) {\r\n const params = Object.keys(data).map(key => data[key] ? `${encodeURIComponent(key)}=${encodeURIComponent(data[key])}` : \"\");\r\n return params.filter(value => !!value).join(\"&\");\r\n }\r\n}\r\n\r\nexport interface BlobInfo {\r\n content: Blob;\r\n filename: string;\r\n}\r\n\r\nexport { ApiFetcher };","import { AuthService } from \"../services/AuthService\";\r\nimport { ApiFetcher } from \"./ApiFetcher\";\r\nimport { CursoEscolarListItem, GetUserContextResponse, InterfaceLanguage, TipoUsuario } from \"../models/dataModels\";\r\nimport { AlertsService } from \"./AlertsService\";\r\nimport { debug } from \"node:console\";\r\n\r\n// TODO: Esto lo podemos pasar a una clase y guardarlo en algun storage en cliente\r\nexport interface IHubCache {\r\n [key: string]: any;\r\n}\r\n\r\nclass ClientContext {\r\n\r\n private constructor() {\r\n this.imagenPerfilUrl = \"\";\r\n this.nombre = \"\";\r\n this.idioma = InterfaceLanguage.Espannol;\r\n }\r\n\r\n\r\n public usuarioId: number;\r\n public imagenPerfilUrl: string;\r\n public nombre: string;\r\n public apellidos: string;\r\n public claseActualId: number;\r\n public claseActual: string;\r\n public estoyImpersonado: boolean;\r\n\r\n public tipoUsuario: TipoUsuario;\r\n\r\n public cursoEscolarActivoId: number;\r\n\r\n public idioma: InterfaceLanguage;\r\n\r\n public colegioId: number;\r\n public nombreColegio: string;\r\n public logoColegioUrl: string;\r\n public estoyClaseGeneral: boolean;\r\n public recargarNiveles: boolean;\r\n\r\n public cursosEscolares: CursoEscolarListItem[]\r\n\r\n public static getCursoEscolarActivo(): CursoEscolarListItem {\r\n return this.Current.cursosEscolares.find(p => p.id == this.Current.cursoEscolarActivoId);\r\n }\r\n\r\n public static setCursoEscolarActivo(cursoEscolarId: number) {\r\n this.Current.cursoEscolarActivoId = cursoEscolarId;\r\n }\r\n\r\n /**\r\n * El contexto actual\r\n */\r\n public static Current: ClientContext;\r\n\r\n\r\n /**\r\n * La url para realizar las peticiones a la web api\r\n */\r\n public static WebApiUrlBase: string = \"https://localhost:44370/api\";\r\n\r\n public static init(): Promise {\r\n\r\n //this.WebApiUrlBase = urlBase || this.WebApiUrlBase;\r\n\r\n var authService = new AuthService();\r\n var userPromise = authService.getUser();\r\n\r\n var promContext = userPromise.then(user => {\r\n\r\n if (user == null) {\r\n return null;\r\n }\r\n\r\n var fetcher = new ApiFetcher();\r\n var promise = fetcher.getByUrl(\"intranet/myData/context\")\r\n .then(response => {\r\n if (response == null || response as any as string == \"\") {\r\n window.document.location.href = \"/loginUserError\";\r\n return;\r\n }\r\n\r\n if (response.cursosEscolares != null) {\r\n response.cursosEscolares.forEach(ce => {\r\n ce.fechaInicio = ce.fechaInicio == null ? null : new Date(ce.fechaInicio);\r\n\r\n ce.fechaInicioCampagna = ce.fechaInicioCampagna == null ? null : new Date(ce.fechaInicioCampagna);\r\n ce.fechaFinCampagna = ce.fechaFinCampagna == null ? null : new Date(ce.fechaFinCampagna);\r\n })\r\n }\r\n\r\n ClientContext.Current = {\r\n usuarioId: response.usuarioId,\r\n nombre: response.nombre,\r\n apellidos: response.apellidos,\r\n tipoUsuario: response.tipoUsuario,\r\n imagenPerfilUrl: response.fotoUsuario,\r\n idioma: response.interfaceLanguage,\r\n claseActualId: response.claseActualId,\r\n claseActual: response.claseActual,\r\n estoyClaseGeneral: response.isDefaultClass,\r\n cursosEscolares: response.cursosEscolares,\r\n cursoEscolarActivoId: response.cursoEscolarActivoId,\r\n recargarNiveles: false,\r\n\r\n colegioId: response.colegioId,\r\n nombreColegio: response.nombreColegio,\r\n logoColegioUrl: response.fotoColegio,\r\n estoyImpersonado: response.isImpersonated,\r\n\r\n };\r\n\r\n ClientContext.globalCache = {};\r\n\r\n return ClientContext.Current;\r\n });\r\n\r\n return promise;\r\n })\r\n\r\n\r\n return promContext;\r\n }\r\n\r\n public static globalCache: IHubCache;\r\n}\r\n\r\n\r\nexport { ClientContext };","import { UserPasswordClass } from \"../UserPassword\";\r\nimport moment from \"moment\";\r\nimport 'moment/locale/es';\r\n\r\nexport interface ITranslationContent {\r\n\r\n readonly ok: string;\r\n readonly save: string;\r\n readonly saving: string;\r\n readonly edit: string;\r\n readonly search: string;\r\n readonly cancel: string;\r\n readonly validate: string;\r\n readonly changeClass: string;\r\n readonly delete: string;\r\n readonly deleteFisico: string;\r\n readonly deleteConfirmTitle: string;\r\n readonly deleteConfirmBody: string;\r\n readonly addNew: string;\r\n readonly results: string;\r\n readonly clean: string;\r\n readonly sync: string;\r\n readonly success: string;\r\n readonly savedOk: string;\r\n readonly export: string;\r\n readonly select: string;\r\n readonly noResults: string;\r\n readonly resultsPag: string;\r\n readonly genericErrorMessage: string;\r\n\r\n readonly errorNotFound: string;\r\n\r\n readonly myProfile: string;\r\n readonly schoolProfile: string;\r\n readonly refresh: string;\r\n\r\n formatBotonBorrarPendientes(value: number): string;\r\n formatBotonValidarPendientes(value: number): string;\r\n formatBotonCambiarClase(value: number): string;\r\n\r\n\r\n formatBool(value?: boolean): string;\r\n formatNumber(value: number): string;\r\n formatNumber(value: number, decimalDigits: number): string;\r\n\r\n formatCurrency(value: number): string;\r\n\r\n formatDate(value?: Date): string;\r\n formatDateTime(value?: Date): string;\r\n formatDateTime(value: Date, full: boolean): string;\r\n formatTime(value?: Date): string;\r\n formatLastAccessDate(value?: Date): string;\r\n\r\n grid: {\r\n readonly allCheckedWarning: string; \r\n }\r\n\r\n validationErrors: {\r\n readonly thereAreErrors: string;\r\n readonly mustBeANumber: string;\r\n readonly rangeErrorTitle: string;\r\n readonly fieldRequired: string;\r\n readonly invalidDate: string;\r\n readonly validationError: string;\r\n\r\n valueDuplicated(fieldName: string): string;\r\n valueRequired(fieldName: string): string;\r\n numberFormatNotValid(fieldName: string): string;\r\n formatNotValid(fieldName: string): string;\r\n rangeError(minValue: number, maxValue: number): string;\r\n dateGreaterThan(minorField: string, majorField: string): string;\r\n numberGreaterThan(minorField: string, majorField: string): string;\r\n stringLengthGreaterThan(fieldName: string, minValue: number);\r\n valuesDontMatch(fieldName1: string, fieldName2: string): string;\r\n };\r\n\r\n unirUsuarios: {\r\n titulo: string\r\n usuarioEliminar: string;\r\n usuarioDestino: string;\r\n usuariosRepetidos: string;\r\n }\r\n\r\n emularUsuario: {\r\n emularUsuario: string;\r\n yaEstaEmulando: string;\r\n volverAMiUsuario: string;\r\n };\r\n\r\n datepicker: {\r\n monthNames: string[];\r\n month: string;\r\n day: string;\r\n year: string;\r\n };\r\n\r\n pedidos: {\r\n readonly sync: string;\r\n\r\n readonly title: string;\r\n readonly description: string;\r\n readonly estado: string;\r\n readonly estadoScholarum: string;\r\n\r\n readonly cliente: string;\r\n readonly fechaCompra: string;\r\n readonly fechaCompraFrom: string;\r\n readonly fechaCompraTo: string;\r\n\r\n readonly numPedido: string;\r\n readonly sku: string;\r\n readonly producto: string;\r\n readonly cantPedida: string;\r\n readonly cantDevuelta: string;\r\n readonly licencias: string;\r\n readonly tipo: string;\r\n readonly fechaDeProcesoEnJob: string;\r\n\r\n readonly numPedidos: string;\r\n readonly isbns: string;\r\n\r\n readonly syncEstePedido: string;\r\n readonly descuento: string;\r\n readonly descuentoDescrip: string;\r\n };\r\n\r\n pedidosColegio: {\r\n readonly description: string;\r\n readonly title: string;\r\n readonly devolucionTitle: string;\r\n readonly devolucionDescription: string;\r\n\r\n readonly fechaPresupuesto: string;\r\n readonly fechaCompromiso: string;\r\n readonly fechaPresupuestoFrom: string;\r\n readonly fechaPresupuestoTo: string;\r\n readonly fechaCompromisoFrom: string;\r\n readonly fechaCompromisoTo: string;\r\n readonly nombre: string;\r\n\r\n \r\n\r\n readonly total: string;\r\n readonly numUnidades: string;\r\n readonly numUnidadesEnPrep: string;\r\n readonly numUnidadesEnFinal: string;\r\n readonly precioUnidad: string;\r\n readonly producto: string;\r\n readonly lineasPedido: string;\r\n readonly editorial: string;\r\n\r\n readonly envios: string;\r\n readonly fecha: string;\r\n readonly transportista: string;\r\n readonly numSeguimiento: string;\r\n readonly isbn: string;\r\n readonly estado: string;\r\n readonly numUnidadesReservadas: string;\r\n readonly numUnidadesDevueltas: string;\r\n\r\n readonly fechaDevolucionFrom: string;\r\n readonly fechaDevolucionTo: string;\r\n readonly fechaDevolucion: string;\r\n\r\n readonly destinatario: string;\r\n readonly compannia: string;\r\n readonly calle: string;\r\n readonly calle2: string;\r\n\r\n readonly ciudad: string;\r\n readonly provincia: string;\r\n readonly codPostal: string;\r\n readonly pais: string;\r\n };\r\n\r\n entradasAuditoria: {\r\n fecha: string;\r\n tipoAuditoria: string;\r\n descripcion: string;\r\n usuarioAccion: string;\r\n usuarioDatos: string;\r\n }\r\n\r\n home: {\r\n saludo(nombre: string): string;\r\n subtituloPrincipal(nombreCentro: string): string;\r\n errorAlumnoSinNivelEducativo(direccion: string): string;\r\n errorUsuarioSinTipo: string;\r\n\r\n noHayCursoEscolarActivoTitle: string;\r\n noHayCursoEscolarActivoBody: string;\r\n };\r\n\r\n menu: {\r\n misClases: string;\r\n };\r\n\r\n campannas: {\r\n entityName: string;\r\n }\r\n\r\n colegioUsuarios: {\r\n\r\n readonly title: string;\r\n readonly description: string;\r\n\r\n readonly nombre: string;\r\n readonly activo: string;\r\n readonly apellidos: string;\r\n readonly login: string;\r\n readonly subirFoto: string;\r\n readonly claseActual: string;\r\n readonly claseNueva: string;\r\n readonly elegirClaseNueva: string;\r\n readonly tipoUsuario: string;\r\n readonly grupoClase: string;\r\n readonly estado: string;\r\n readonly repetidor: string;\r\n readonly pendienteValidar: string;\r\n readonly borrado: string;\r\n readonly usuarioEstaBorrado: string;\r\n readonly recuperar: string;\r\n readonly usuarioPendiente: string;\r\n readonly usuarioAlumno: string;\r\n readonly fechaUltimoAcceso: string;\r\n readonly fechaCreacion: string;\r\n readonly fechaModificacion: string;\r\n readonly cursoEscolar: string;\r\n readonly tabDatos: string;\r\n readonly tabAlumnos: string;\r\n readonly tabMatriculas: string;\r\n readonly tabMisClases: string;\r\n //readonly tabLicencias: string;\r\n readonly tabEstadisticasAccesos: string;\r\n readonly tabEstadisticasContenidos: string;\r\n readonly tabAuditoria: string;\r\n readonly deleteConfirmBody: string;\r\n readonly accesosUltimodia: string;\r\n readonly accesosUltimos30dias: string;\r\n readonly accesosUltimos7dias: string;\r\n readonly password: string;\r\n readonly passwordConfirmar: string;\r\n\r\n readonly errorNivelRequired: string;\r\n\r\n readonly soloAlumnosMatriculados: string;\r\n };\r\n\r\n colegiocredenciales: {\r\n readonly nombre: string;\r\n readonly editorial: string;\r\n readonly tipoLicencia: string;\r\n readonly user: string;\r\n readonly pwd: string;\r\n\r\n readonly deshabilitarAcceso: string;\r\n readonly mensajeDeshabilitarAcceso: string;\r\n\r\n readonly urlAcceso: string;\r\n readonly createDefault: string;\r\n };\r\n\r\n colegio: {\r\n readonly entityName: string;\r\n readonly nombre: string;\r\n readonly comunidadAutonoma: string;\r\n readonly subirFoto: string;\r\n readonly tabDatos: string;\r\n readonly tabCursoEscolar: string;\r\n readonly tabCredenciales: string;\r\n readonly identificadorTienda: string;\r\n readonly identificadorCategoriaTienda: string;\r\n readonly sincronizar: string;\r\n readonly sincronizarLicencias: string;\r\n readonly sincronizadoOK: string;\r\n readonly dominiosAutorizados: string;\r\n readonly allowGoogleLogin: string;\r\n readonly allowMicrosoftLogin: string;\r\n readonly allowCustomLogin: string;\r\n readonly comunicarAsignacionLicencias: string;\r\n readonly comunicarCredencialesLicenciasAlAsignar: string;\r\n readonly emailColegio: string;\r\n readonly codMinisterio: string;\r\n readonly nombreColegioPedidosTienda: string;\r\n };\r\n\r\n cargaFicheros: {\r\n readonly cargaFicheros: string;\r\n\r\n readonly tabUsuarios: string;\r\n readonly tabLicencias: string;\r\n readonly tabListado: string;\r\n\r\n readonly subirFicheroEtiqueta: string;\r\n readonly subirFichero: string;\r\n readonly descargarPlantilla: string;\r\n readonly cargarFichero: string;\r\n readonly cargarOtroFichero: string;\r\n readonly numRowsTotal: string;\r\n readonly numRowsOk: string;\r\n readonly numRowsError: string;\r\n readonly numRowsDuplicated: string;\r\n\r\n readonly fecha: string;\r\n readonly tipoCarga: string;\r\n\r\n readonly correctos: string;\r\n readonly duplicados: string;\r\n readonly erroneos: string;\r\n };\r\n\r\n misClases: {\r\n readonly title: string;\r\n readonly noHayActividades: string;\r\n readonly alumnosOtrasClasesText: string;\r\n }\r\n\r\n misLicencias: {\r\n readonly title: string;\r\n readonly edit: string;\r\n }\r\n\r\n licenciasContenido: {\r\n readonly entityPluralName: string;\r\n readonly contenidoBuscador: string;\r\n readonly contenido: string;\r\n readonly matricula: string;\r\n readonly editorial: string;\r\n readonly credenciales: string;\r\n readonly tipoAcceso: string;\r\n readonly usuario: string;\r\n readonly cursoEscolar: string;\r\n readonly numPedido: string;\r\n readonly fechaPedido: string;\r\n readonly nivelEducativo: string;\r\n readonly isbn: string;\r\n readonly estado: string;\r\n readonly grupoClase: string;\r\n readonly fechaUltimoAcceso: string;\r\n readonly claseMateria: string;\r\n readonly configuradoProveedor: string;\r\n readonly origen: string;\r\n readonly tabDatos: string;\r\n readonly tabEstadisticas: string;\r\n readonly tabBurlington: string;\r\n readonly borrarCredenciales: string;\r\n readonly borrarCredencialesWarning: string;\r\n readonly formato: string;\r\n readonly fechaAsignacionCredenciales: string;\r\n readonly asignacionCredencialesNotificada: string;\r\n\r\n readonly asignacionLicenciaManual: string;\r\n readonly asignacionLicenciaManualExplicacion: string;\r\n readonly mensajeAccesoManual: string;\r\n readonly tipoAccesoManual: string;\r\n };\r\n\r\n contenidos: {\r\n readonly nombre: string;\r\n readonly descripcion: string;\r\n readonly activo: string;\r\n readonly isbn: string;\r\n\r\n readonly contenidosColegioTitle: string;\r\n readonly contenidosMaestrosTitle: string;\r\n\r\n readonly cursoEscolar: string;\r\n readonly nivelesEducativos: string;\r\n readonly clases: string;\r\n readonly todosSeleccionados: string;\r\n readonly editorial: string;\r\n readonly tipoUsuario: string;\r\n readonly tipoLicencia: string;\r\n readonly tipoContenido: string;\r\n readonly subirFoto: string;\r\n readonly tabDatos: string;\r\n readonly tabEstructura: string;\r\n\r\n readonly tabNiveles: string;\r\n readonly noHayEstructura: string;\r\n readonly sincronizarEstructura: string;\r\n readonly sinImagenYEnUso: string;\r\n\r\n readonly cambiarTipoAcceso: string;\r\n\r\n readonly identificadorEditorial: string;\r\n\r\n cambiarTipoAccesoNum(numContenidos): string;\r\n };\r\n\r\n contenidosPapel: {\r\n contenidosPapelColegioTitle: string;\r\n }\r\n\r\n setClaseActual: {\r\n readonly titulo: string;\r\n readonly texto: string;\r\n }\r\n\r\n cursoEscolar: {\r\n readonly title: string;\r\n readonly nombre: string;\r\n readonly activo: string;\r\n readonly visibleAlumnos: string;\r\n readonly contenidoAccesibleAlumnos: string;\r\n readonly syncroPorDefecto: string;\r\n readonly fechaInicio: string;\r\n readonly fechaFin: string;\r\n readonly fechaInicioCampagna: string;\r\n readonly fechaFinCampagna: string;\r\n numeroContenidosDigitales: (numContenidos: number) => string;\r\n numeroContenidosPapel: (numContenidos: number) => string;\r\n\r\n numeroMatriculas: (numMatriculas: number) => string;\r\n numeroMaterias: (numMaterias: number) => string;\r\n numeroLicencias: (numLicencias: number) => string;\r\n }\r\n\r\n estadisticas: {\r\n readonly titulo: string;\r\n readonly subTituloSistema: string;\r\n readonly subTituloContenido: string;\r\n readonly cuadroMando: string;\r\n readonly accesosSistema: string;\r\n readonly accesosLibros: string;\r\n readonly grafico: string;\r\n readonly fechaDesde: string;\r\n readonly fechaHasta: string;\r\n readonly noHayLicencias: string;\r\n };\r\n\r\n etapa: {\r\n readonly etapa: string;\r\n readonly nombre: string;\r\n readonly identificadorTienda: string;\r\n readonly sincronizar: string;\r\n readonly omitirNotificacionLicencias: string;\r\n readonly omitirNotificacionCredenciales: string;\r\n readonly addEtapa: string;\r\n deleteEtapa(nombreEtapa: string): string;\r\n deleteEtapaConfirmText(nombreEtapa: string): string;\r\n };\r\n\r\n nivelEducativo: {\r\n readonly nivelEducativo: string;\r\n readonly nombre: string;\r\n readonly addNivel: string;\r\n readonly omitirNotificacionLicencias: string;\r\n readonly omitirNotificacionCredenciales: string;\r\n deleteNivel(nombreNivel: string): string;\r\n deleteNivelConfirmText(nombreNivel: string): string;\r\n }\r\n\r\n grupoClase: {\r\n readonly grupoClase: string;\r\n readonly nombre: string;\r\n readonly addGrupo: string;\r\n deleteGrupo(nombreGrupo: string): string;\r\n deleteGrupoConfirmText(nombreGrupo: string): string;\r\n readonly misClasesProfesorTitulo: string;\r\n readonly misClasesProfesorTexto: string;\r\n readonly tabAlumnos: string;\r\n readonly tabOtrosAlumnos: string;\r\n readonly tabDatos: string;\r\n readonly tabContenidos: string;\r\n readonly materias: string;\r\n },\r\n\r\n claseMateria: {\r\n deleteClaseMateria(nombreClaseMateria: string): string,\r\n deleteClaseMateriaConfirmText(nombreGrupo: string): string;\r\n },\r\n\r\n grupoContenido: {\r\n readonly materia: string;\r\n readonly lista: string;\r\n readonly nombre: string;\r\n readonly contenido: string;\r\n readonly borrado: string;\r\n readonly addMateria: string;\r\n readonly addContenido: string;\r\n readonly deleteContenido: string;\r\n readonly deleteMateria: string;\r\n readonly numAlumnos: string;\r\n }\r\n\r\n documentUpload: {\r\n dropHere: string;\r\n errorRequired: string;\r\n dropNotSupported: string;\r\n dropFolderNotSupported: string;\r\n };\r\n\r\n matriculas: {\r\n entityName: string;\r\n nombreClase: string;\r\n nombreMateria: string;\r\n nombreUsuario: string;\r\n title: string;\r\n description: string;\r\n rol: string;\r\n fecha: string;\r\n subgrupo: string;\r\n };\r\n\r\n accesosDirectos: {\r\n title: string;\r\n description: string;\r\n titulo: string;\r\n urlEnlace: string;\r\n abrirEnNuevaVentana: string;\r\n noTieneCredenciales: string;\r\n noTieneContenidoAccesible: string;\r\n accesoLicenciaNoAccedePlataformaMuestraCredenciales: string;\r\n accesoLicenciaNoAccedePlataformaNoMuestraCredenciales: string;\r\n accesoVirtualProduct: string;\r\n\r\n formatAccesoLicenciaNoAccedePlataforma(credencialesEnBruto: string): string;\r\n formatCredenciales(value?: string): string;\r\n }\r\n\r\n nivelesContenidos: {\r\n contenido: string;\r\n nivel: string;\r\n title: string;\r\n description: string;\r\n mostrarAccesoDirecto: string;\r\n tipoAccesoPorDefecto: string;\r\n accedePlataforma: string;\r\n };\r\n\r\n aliasEditorial: {\r\n title: string,\r\n description: string,\r\n editorial: string;\r\n alias: string;\r\n pendientes: string;\r\n enUso: string;\r\n numContenidos: string;\r\n numUsos: string;\r\n tabUsos: string;\r\n tabDatos: string;\r\n colegio: string;\r\n nivelEducativo: string;\r\n contenido: string;\r\n tipoContenido: string;\r\n isbn: string;\r\n proveedor: string;\r\n };\r\n\r\n diagnostico: {\r\n title: string;\r\n alertasColegio: string;\r\n alertasPlataforma: string;\r\n cursoEscolarMasDeUnActivo: string;\r\n cursoEscolarNoHayActivo: string;\r\n cursoEscolarActivoSinAlumnos: string;\r\n\r\n contenidosEditorialOK: string;\r\n contenidosEditorialKO: (num: number) => string;\r\n\r\n materiasNombreOK: string;\r\n materiasNombreKO: (num: number) => string;\r\n\r\n licenciasSinCredencialesOK: string;\r\n licenciasSinCredencialesKO: (num: number) => string;\r\n\r\n credencialesEditorialesOK: string;\r\n credencialesEditorialesKO: (num: number) => string;\r\n\r\n aliasEditorialOK: string;\r\n aliasEditorialKO: (num: number) => string;\r\n\r\n matriculasSinLicenciasOK: string;\r\n matriculasSinLicenciasKO: (num: number) => string;\r\n };\r\n\r\n notificaciones: {\r\n readonly titulo: string;\r\n readonly colegio: string;\r\n readonly descripcion: string;\r\n readonly terminado: string;\r\n readonly correcto: string;\r\n readonly marcarComoLeida: string;\r\n readonly marcarSeleccionadosComoLeidos: string;\r\n readonly editar: string;\r\n readonly tipoNotificacion: string;\r\n readonly tipoLinea: string;\r\n readonly todosTiposLineas: string;\r\n readonly estado: string;\r\n readonly texto: string;\r\n readonly fecha: string;\r\n readonly verTodas: string;\r\n readonly notificacion: string;\r\n readonly haFinalizadoError: string;\r\n\r\n readonly procesoEnCola: string;\r\n\r\n haFinalizadoOk(colegio: string, resultado: string): string;\r\n }\r\n /**\r\n * Obtiene el texto de un enum\r\n * @param enumValueFullName\r\n * @param singular\r\n */\r\n getEnumText(enumValueFullName: string): string;\r\n\r\n utils: {\r\n readonly getServerIp: string;\r\n }\r\n}\r\n\r\nexport class esES implements ITranslationContent {\r\n\r\n static enumTexts: { [key: string]: string };\r\n\r\n ok = \"Aceptar\";\r\n save = \"Guardar\";\r\n saving = \"Guardando\";\r\n edit = \"Editar\";\r\n search = \"Buscar\";\r\n cancel = \"Cancelar\";\r\n validate = \"Validar\";\r\n changeClass = \"Cambiar clase\";\r\n delete = \"Borrar\";\r\n deleteFisico = \"Borrado Definitivo\";\r\n deleteConfirmTitle = \"Confirmación de borrado\";\r\n deleteConfirmBody = \"Va a eliminar el elemento, ¿está seguro?\";\r\n success: \"Ok\";\r\n addNew = \"Nuevo\";\r\n results = \"resultados\";\r\n clean = \"Limpiar selección\";\r\n savedOk = \"Datos guardados correctamente\";\r\n sync = \"Sincronizar\";\r\n noResults = \"No hay resultados que cumplan los parámetros de búsqueda\";\r\n export = \"Exportar\";\r\n resultsPag = \"result/pág:\";\r\n select = \"Seleccionar\";\r\n genericErrorMessage = \"Ha sucedido un error, inténtelo mas tarde\";\r\n errorNotFound = \"El elemento solicitado no se encuentra en el colegio actual\";\r\n myProfile = \"Mi perfil\";\r\n schoolProfile = \"Perfil colegio\";\r\n refresh = \"Refrescar\";\r\n\r\n public colegioUsuarios = {\r\n\r\n title: \"Usuarios del colegio\",\r\n description: \"Los usuarios del colegio con acceso al Hub\",\r\n\r\n nombre: \"Nombre\",\r\n activo: \"Activo\",\r\n apellidos: \"Apellidos\",\r\n login: \"Login\",\r\n subirFoto: \"Arrastre aquí la foto del perfil o haga clic para seleccionar una de su ordenador\",\r\n grupoClase: \"Clase\",\r\n claseActual: \"Grupo actual\",\r\n claseNueva: \"Nueva clase\",\r\n elegirClaseNueva: \"Elegir nueva clase\",\r\n tipoUsuario: \"Tipo de usuario\",\r\n cursoEscolar: \"Curso escolar\",\r\n estado: \"Estado\",\r\n repetidor: \"Repetidor\",\r\n pendienteValidar: \"Pendiente validar\",\r\n borrado: \"Borrado\",\r\n recuperar: \"Recuperar\",\r\n usuarioEstaBorrado: \"Este usuario está borrado\",\r\n usuarioPendiente: \"Pendiente\",\r\n usuarioAlumno: \"alumno\",\r\n fechaUltimoAcceso: \"Últ. acceso\",\r\n fechaCreacion: \"Creado\",\r\n fechaModificacion: \"Modificado\",\r\n tabDatos: \"Datos\",\r\n tabMatriculas: \"Matrículas\",\r\n tabMisClases: \"Mis clases\",\r\n tabAlumnos: \"Alumnos\",\r\n tabAuditoria: \"Auditoría\",\r\n tabEstadisticasAccesos: \"Estadísticas acceso al Hub\",\r\n tabEstadisticasContenidos: \"Estadísticas acceso a contenidos\",\r\n deleteConfirmBody: \"Va a eliminar estos usuarios, ¿está seguro?\",\r\n errorNivelRequired: \"Los alumnos necesitan tener asignado un curso por defecto\",\r\n accesosUltimodia: \"Nº de accesos en las últimas 24 horas\",\r\n accesosUltimos7dias: \"Nº de accesos en los últimos 7 días\",\r\n accesosUltimos30dias: \"Nº de accesos en los últimos 30 días\",\r\n soloAlumnosMatriculados: \"Solo alumnos matriculados\",\r\n password: \"Contraseña\",\r\n passwordConfirmar: \"Confirmar contraseña\"\r\n };\r\n\r\n public menu = {\r\n misClases: \"Mis clases\"\r\n };\r\n\r\n public campannas = {\r\n entityName: \"campaña\",\r\n };\r\n\r\n public pedidos = {\r\n sync: \"Sincronizar pedidos\",\r\n cliente: \"Cliente\",\r\n\r\n title: \"Pedidos\",\r\n description: \"Los pedidos de la tienda Scholarum\",\r\n estado: \"Estado\",\r\n estadoScholarum: \"Estado Scholarum\",\r\n fechaCompra: \"Fecha de compra\",\r\n fechaCompraFrom: \"Fecha desde\",\r\n fechaCompraTo: \"Fecha hasta\",\r\n\r\n numPedido: \"Num. Pedido\",\r\n sku: \"SKU\",\r\n producto: \"Producto\",\r\n cantPedida: \"Cant.Pedida\",\r\n cantDevuelta: \"Cant.Devuelta\",\r\n licencias: \"Licencias\",\r\n fechaDeProcesoEnJob: \"Fecha de proceso\",\r\n tipo: \"Tipo\",\r\n\r\n numPedidos: \"Nº de los pedidos (separado por coma)\",\r\n isbns: \"Isbns de productos\",\r\n syncEstePedido: \"Sincronizar este pedido\",\r\n descuento: \"Descuento\",\r\n descuentoDescrip: \"Descuento/Cupones\",\r\n };\r\n\r\n public pedidosColegio = {\r\n title: \"Pedidos colegio\",\r\n devolucionTitle: \"Devoluciones colegio\",\r\n\r\n description: \"Los pedidos del colegio\",\r\n devolucionDescription: \"Las devoluciones del colegio\",\r\n\r\n fechaPresupuesto: \"Fecha de pedido\",\r\n fechaCompromiso: \"Fecha de compromiso\",\r\n total: \"Total\",\r\n nombre: \"Nombre\",\r\n \r\n isbn: \"Isbn\",\r\n fechaPresupuestoFrom: \"Fecha pedido desde\",\r\n fechaPresupuestoTo: \"Fecha pedido hasta\",\r\n fechaCompromisoFrom: \"Fecha compromiso desde\",\r\n fechaCompromisoTo: \"Fecha compromiso hasta\",\r\n \r\n precioUnidad: \"Precio / Unidad\",\r\n producto: \"Producto\",\r\n lineasPedido: \"Productos del pedido\",\r\n editorial: \"Editorial\",\r\n numUnidades: \"Nº Uds. Pedidas\",\r\n numUnidadesEnPrep: \"Nº Uds. en Preparación\",\r\n numUnidadesEnFinal: \"Nº Uds. Entregadas\",\r\n envios: \"Envíos\",\r\n fecha: \"Fecha\",\r\n transportista: \"Transportista\",\r\n numSeguimiento: \"Num. Seguimiento\",\r\n estado: \"Estado\",\r\n numUnidadesReservadas: \"Nº Uds. Pendientes (en stock)\",\r\n numUnidadesDevueltas: \"Nº Uds. Devueltas\",\r\n\r\n fechaDevolucion: \"Fecha de devolución\",\r\n fechaDevolucionFrom: \"Fecha devolución desde\",\r\n fechaDevolucionTo: \"Fecha devolución hasta\",\r\n\r\n destinatario: \"Destinatario\",\r\n compannia: \"Compañía\", \r\n calle: \"Calle\",\r\n calle2: \"Calle2\",\r\n\r\n ciudad: \"Ciudad\",\r\n provincia: \"Provincia\",\r\n codPostal: \"Cod. Postal\",\r\n pais: \"País\"\r\n };\r\n\r\n public entradasAuditoria = {\r\n fecha: \"Fecha\",\r\n tipoAuditoria: \"Tipo\",\r\n descripcion: \"Descripción\",\r\n usuarioAccion: \"¿Quien lo hizo?\",\r\n usuarioDatos: \"¿A quien se lo hicieron?\"\r\n }\r\n public unirUsuarios = {\r\n titulo: \"Unir usuarios\",\r\n usuarioEliminar: \"Usuario a eliminar\",\r\n usuarioDestino: \"Usuario de destino\",\r\n usuariosRepetidos: \"El usuario de destino y el usuario a eliminar no pueden ser el mismo\"\r\n }\r\n\r\n public emularUsuario = {\r\n emularUsuario: \"Emular usuario\",\r\n yaEstaEmulando: \"Se encuentra emulando a un usuario\",\r\n volverAMiUsuario: \"Volver a mi usuario\"\r\n };\r\n\r\n public home = {\r\n saludo(nombre: string) { return `¡Hola, ${nombre}!` },\r\n\r\n subtituloPrincipal(nombreCentro: string) {\r\n return `Bienvenido al HUB del \"${nombreCentro}\", el sitio de acceso para tus contenidos educativos.`;\r\n },\r\n errorAlumnoSinNivelEducativo(direccion: string) {\r\n return `Este usuario es un alumno pero no tiene asociado un grupo, por favor seleccionelo en su Perfil`;\r\n },\r\n errorUsuarioSinTipo: \"Este usuario no tiene tipo asignado, actuará como alumno, por favor contacte con su administrador\",\r\n\r\n noHayCursoEscolarActivoTitle: \"Curso escolar activo\",\r\n noHayCursoEscolarActivoBody: \"No hay un curso escolar activo, contacte con su administrador.\"\r\n\r\n };\r\n\r\n public colegiocredenciales = {\r\n nombre: \"Nombre\",\r\n editorial: \"Editorial\",\r\n tipoLicencia: \"Tipo de acceso\",\r\n user: \"Usuario\",\r\n pwd: \"Password\",\r\n\r\n deshabilitarAcceso: \"Deshabilitar acceso\",\r\n mensajeDeshabilitarAcceso: \"Mensaje deshabilitado\",\r\n urlAcceso: \"Url de acceso a la plataforma\",\r\n createDefault: \"Crear por defecto\"\r\n };\r\n\r\n public accesosDirectos = {\r\n title: \"Accesos directos\",\r\n description: \"Los accesos directos a mostrar en la home\",\r\n titulo: \"Título\",\r\n urlEnlace: \"Url del enlace\",\r\n abrirEnNuevaVentana: \"Abrir en nueva ventana\",\r\n noTieneCredenciales: \"La licencia no tiene credenciales\",\r\n noTieneContenidoAccesible: \"El acceso a este contenido no está habilitado\",\r\n accesoLicenciaNoAccedePlataformaMuestraCredenciales: \"Para acceder al contenido, entra en la plataforma de la editorial y utiliza las siguientes credenciales para activar tu contenido:\",\r\n accesoLicenciaNoAccedePlataformaNoMuestraCredenciales: \"Para acceder al contenido, entra en la plataforma de la editorial.\",\r\n accesoVirtualProduct: \"Dispones del acceso a este contenido directamente en la plataforma editorial. Consulta con el colegio la forma de llegar al contenido\",\r\n\r\n formatAccesoLicenciaNoAccedePlataforma(credencialesEnBruto: string): string {\r\n var credenciales = this.formatCredenciales(credencialesEnBruto);\r\n\r\n return `${this.accesosDirectos.accesoLicenciaNoAccedePlataformaMuestraCredenciales}
${credenciales}
`;\r\n },\r\n\r\n formatCredenciales(value?: string): string {\r\n\r\n if (value !== null) {\r\n var valueObj = {\r\n User: \"\",\r\n Password: \"\"\r\n } as UserPasswordClass;\r\n\r\n try {\r\n valueObj = JSON.parse(value) as UserPasswordClass;\r\n return `

${this.colegiocredenciales.user}: ${valueObj.User}

${this.colegiocredenciales.pwd}: ${valueObj.Password}

`;\r\n } catch {\r\n return value;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n public diagnostico = {\r\n title: \"Diagnostico de centro\",\r\n alertasColegio: \"Alertas del colegio\",\r\n alertasPlataforma: \"Alertas de la plataforma\",\r\n\r\n cursoEscolarMasDeUnActivo: \"Hay más de un curso escolar activo\",\r\n cursoEscolarNoHayActivo: \"No hay ningún curso escolar activo\",\r\n cursoEscolarActivoSinAlumnos: \"El curso escolar activo no tiene habilitado el acceso para los alumnos\",\r\n\r\n contenidosEditorialOK: \"Todos los contenidos con editorial OK\",\r\n contenidosEditorialKO: (num: number) => `Hay ${num} contenidos sin editorial`,\r\n\r\n materiasNombreOK: \"Todas materias con nombre OK\",\r\n materiasNombreKO: (num: number) => `Hay ${num} clases con el nombre sin cambiar`,\r\n\r\n licenciasSinCredencialesOK: \"Todas las licencias tienen credenciales\",\r\n licenciasSinCredencialesKO: (num: number) => `Hay ${num} licencias sin credenciales`,\r\n\r\n credencialesEditorialesOK: \"Credenciales editoriales OK\",\r\n credencialesEditorialesKO: (num: number) => `Hay ${num} editoriales sin las credenciales introducidas`,\r\n\r\n aliasEditorialOK: \"Todos los alias de editorial están completos\",\r\n aliasEditorialKO: (num: number) => `Hay ${num} alias de editorial que no están definidos`,\r\n\r\n matriculasSinLicenciasOK: \"Todas las matrículas tienen licencias\",\r\n matriculasSinLicenciasKO: (num: number) => `Hay ${num} matrículas que no tienen licencias asociadas`,\r\n };\r\n\r\n public colegio = {\r\n nombre: \"Nombre\",\r\n comunidadAutonoma: \"Comunidad Autónoma\",\r\n entityName: \"Colegio\",\r\n subirFoto: \"Arrastre aquí la foto del colegio o haga clic para seleccionar una de su ordenador\",\r\n tabDatos: \"Datos del colegio\",\r\n tabCursoEscolar: \"Cursos escolares\",\r\n tabCredenciales: \"Credenciales de editoriales\",\r\n identificadorTienda: \"Identificador tienda\",\r\n identificadorCategoriaTienda: \"Identificador categoría\",\r\n sincronizar: \"Sincronizar\",\r\n sincronizarLicencias: \"Sincronizar licencias\",\r\n sincronizadoOK: \"Los datos han sido sincronizados\",\r\n dominiosAutorizados: \"Dominios autorizados\",\r\n allowGoogleLogin: \"Login con google\",\r\n allowMicrosoftLogin: \"Login con Microsoft\",\r\n allowCustomLogin: \"Login con usuario/contraseña\",\r\n comunicarAsignacionLicencias: \"Notificar asignación de licencias\",\r\n comunicarCredencialesLicenciasAlAsignar: \"Comunicar credenciales al notificar\",\r\n emailColegio: \"E-mail del colegio\",\r\n codMinisterio: \"Cód. Ministerio\",\r\n nombreColegioPedidosTienda: \"Nombre del colegio en los pedidos de la tienda\"\r\n };\r\n\r\n public cargaFicheros = {\r\n cargaFicheros: \"Carga de ficheros\",\r\n tabUsuarios: \"Creación de usuarios\",\r\n tabLicencias: \"Carga de licencias\",\r\n tabListado: \"Listado\",\r\n subirFicheroEtiqueta: \"Seleccionar fichero (formato aceptado: .xlsx)\",\r\n subirFichero: \"Arrastre aquí el fichero o haga clic para seleccionar uno de su ordenador\",\r\n descargarPlantilla: \"Descargar plantilla\",\r\n cargarFichero: \"Cargar fichero\",\r\n cargarOtroFichero: \"Cargar otro fichero\",\r\n numRowsTotal: \"Nº de registros totales en el fichero\",\r\n numRowsOk: \"Nº de registros cargados correctamente\",\r\n numRowsError: \"Nº de registros erróneos no cargados\",\r\n numRowsDuplicated: \"Nº de registros duplicados no cargados\",\r\n fecha: \"Fecha\",\r\n tipoCarga: \"Tipo de carga\",\r\n\r\n correctos: \"Correctos\",\r\n duplicados: \"Duplicados\",\r\n erroneos: \"Erroneos\"\r\n };\r\n\r\n public cursoEscolar = {\r\n title: \"Cursos escolares\",\r\n nombre: \"Nombre\",\r\n activo: \"Activo\",\r\n visibleAlumnos: \"Visible alumnos\",\r\n fechaInicio: \"Fecha de inicio\",\r\n fechaFin: \"Fecha de fin\",\r\n fechaInicioCampagna: \"Fecha inicio de campaña\",\r\n fechaFinCampagna: \"Fecha fin de campaña\",\r\n syncroPorDefecto: \"Sincronizable\",\r\n contenidoAccesibleAlumnos: \"Contenido accesible alumnos\",\r\n numeroContenidosDigitales: (numContenidos: number) => {\r\n return `Contenidos digitales: ${numContenidos}`;\r\n },\r\n numeroContenidosPapel: (numContenidos: number) => {\r\n return `Contenidos papel: ${numContenidos}`;\r\n },\r\n\r\n numeroMatriculas: (numMatriculas: number) => {\r\n return `Matriculas: ${numMatriculas}`;\r\n },\r\n numeroMaterias: (numMaterias: number) => {\r\n return `Materias: ${numMaterias}`;\r\n },\r\n numeroLicencias: (numLicencias: number) => {\r\n return `Licencias: ${numLicencias || \"N/A\"}`;\r\n }\r\n };\r\n\r\n public estadisticas = {\r\n titulo: \"Estadísticas\",\r\n subTituloSistema: \"Estadísticas de acceso al sistema\",\r\n subTituloContenido: \"Estadísticas de acceso a contenidos\",\r\n grafico: \"Actualizar\",\r\n fechaDesde: \"Fecha desde\",\r\n fechaHasta: \"Fecha hasta\",\r\n accesosSistema: \"Accesos al sistema\",\r\n accesosLibros: \"Accesos por contenido\",\r\n noHayLicencias: \"El usuario no tiene asociado ningún contenido\",\r\n cuadroMando: \"Cuadro de mando\"\r\n };\r\n\r\n public setClaseActual = {\r\n titulo: \"Seleccionar clase\",\r\n texto: \"Parece que no tienes una clase asignada. Por favor, elige una:\",\r\n }\r\n\r\n public etapa = {\r\n etapa: \"Etapa\",\r\n nombre: \"Nombre\",\r\n addEtapa: \"Añadir etapa\",\r\n deleteEtapa(nombreEtapa: string) {\r\n return `Borrar etapa ${nombreEtapa}`;\r\n },\r\n deleteEtapaConfirmText(nombreEtapa: string) {\r\n return `Va a borrar la etapa ${nombreEtapa}, ¿está seguro?`;\r\n },\r\n identificadorTienda: \"Identificador tienda\",\r\n sincronizar: \"Sincronizar\",\r\n omitirNotificacionLicencias: \"Omitir notificación licencia\",\r\n omitirNotificacionCredenciales: \"Omitir notificación credenciales\",\r\n };\r\n\r\n public nivelEducativo = {\r\n nivelEducativo: \"Curso\",\r\n nombre: \"Nombre\",\r\n addNivel: \"Añadir curso\",\r\n omitirNotificacionLicencias: \"Omitir notificación licencia\",\r\n omitirNotificacionCredenciales: \"Omitir notificación credenciales\",\r\n deleteNivel(nombreNivel: string) {\r\n return `Borrar el curso ${nombreNivel}`;\r\n },\r\n deleteNivelConfirmText(nombreNivel: string) {\r\n return `Va a borrar el curso ${nombreNivel}, ¿está seguro?`;\r\n }\r\n };\r\n\r\n public grupoClase = {\r\n grupoClase: \"Clase\",\r\n nombre: \"Nombre\",\r\n addGrupo: \"Añadir clase\",\r\n deleteGrupo(nombreGrupo: string) {\r\n return `Borrar el grupo ${nombreGrupo}`;\r\n },\r\n deleteGrupoConfirmText(nombreGrupo: string) {\r\n return `Va a borrar el grupo ${nombreGrupo}, ¿está seguro?`;\r\n },\r\n misClasesProfesorTitulo: \"Mis clases\",\r\n misClasesProfesorTexto: \"Aquí puedes ver todas las clases que tienes asignadas.\",\r\n tabAlumnos: \"Alumnos de la clase\",\r\n tabOtrosAlumnos: \"Alumnos de otras clases\",\r\n tabDatos: \"Datos\",\r\n tabContenidos: \"Resultado de las actividades\",\r\n materias: \"Materias\"\r\n };\r\n\r\n public claseMateria = {\r\n deleteClaseMateria(nombreClaseMateria: string) {\r\n return `Borrar la materia ${nombreClaseMateria}`;\r\n },\r\n deleteClaseMateriaConfirmText(nombreClaseMateria: string) {\r\n return `Va a borrar la materia ${nombreClaseMateria}, ¿está seguro?`;\r\n }\r\n }\r\n\r\n public grupoContenido = {\r\n materia: \"Materia\",\r\n lista: \"Materias\",\r\n nombre: \"Nombre\",\r\n addMateria: \"Añadir materia\",\r\n deleteMateria: \"Borrar materia\",\r\n borrado: \"Oculto\",\r\n addContenido: \"Añadir contenido\",\r\n contenido: \"Contenido\",\r\n deleteContenido: \"Borrar contenido\",\r\n numAlumnos: \"Núm. Alumnos\"\r\n }\r\n\r\n public misClases = {\r\n title: \"Mis clases\",\r\n noHayActividades: \"No hay actividades para mostrar porque ningún alumno ha accecido al contenido, o la editorial no soporta bajarse los contenidos.\",\r\n alumnosOtrasClasesText: \"En este listado se muestran los alumnos de otros cursos, que además están matrículados en esta clase (como por ejemplo, alumnos repetidores)\"\r\n }\r\n\r\n public misLicencias = {\r\n title: \"Mis licencias\",\r\n edit: \"Detalle\"\r\n }\r\n\r\n public licenciasContenido = {\r\n entityPluralName: \"Licencias digitales + papel\",\r\n usuario: \"Usuario\",\r\n contenidoBuscador: \"Contenido (nombre, isbn)\",\r\n contenido: \"Contenido\",\r\n matricula: \"Matrícula\",\r\n editorial: \"Editorial\",\r\n credenciales: \"Creds.\",\r\n tipoAcceso: \"Tipo de acceso\",\r\n cursoEscolar: \"Curso escolar\",\r\n numPedido: \"Nº de pedido\",\r\n fechaPedido: \"Fecha pedido\",\r\n configuradoProveedor: \"Configurado en proveedor\",\r\n nivelEducativo: \"Curso\",\r\n isbn: \"ISBN\",\r\n estado: \"Estado\",\r\n grupoClase: \"Grupo\",\r\n fechaUltimoAcceso: \"Últ. acceso\",\r\n claseMateria: \"Materia\",\r\n origen: \"Origen\",\r\n tabDatos: \"Datos\",\r\n tabEstadisticas: \"Estadísticas\",\r\n tabBurlington: \"Burlington\",\r\n borrarCredenciales: \"Borrar credenciales\",\r\n borrarCredencialesWarning: \"Va a borrar las credenciales de esta licencia, ¿está seguro?\",\r\n formato: \"Formato\",\r\n fechaAsignacionCredenciales: \"Credenciales asignadas\",\r\n asignacionCredencialesNotificada: \"Notificación credenciales\",\r\n asignacionLicenciaManual: \"Sobreescribir tipo de acceso por defecto\",\r\n asignacionLicenciaManualExplicacion: \"Marcar para hacer una configuración diferente de esta licencia en concreto: contenido de otros cursos, etc.\",\r\n mensajeAccesoManual: \"Mensaje para mostrar cuando no se accede al contenido\", \r\n tipoAccesoManual: \"Tipo de acceso (manual)\"\r\n };\r\n\r\n public contenidos = {\r\n\r\n contenidosColegioTitle: \"Contenidos digitales del colegio\",\r\n contenidosMaestrosTitle: \"Maestro de contenidos\",\r\n\r\n nombre: \"Nombre\",\r\n descripcion: \"Descripción\",\r\n activo: \"Activo\",\r\n isbn: \"ISBN\",\r\n editorial: \"Editorial\",\r\n tipoLicencia: \"Tipo de acceso\",\r\n tipoContenido: \"Tipo de contenido\",\r\n subirFoto: \"Arrastre aquí la foto de la carátula o haga clic para seleccionar una de su ordenador\",\r\n tabDatos: \"Datos del contenido\",\r\n tabEstructura: \"Estructura\",\r\n tabNiveles: \"Cursos en los que se aplica\",\r\n //tabLicencias: \"Licencias\",\r\n\r\n todosSeleccionados: \"Todos seleccionados\",\r\n cursoEscolar: \"Curso escolar\",\r\n nivelesEducativos: \"Cursos\",\r\n clases: \"Clases\",\r\n tipoUsuario: \"Tipo de usuario\",\r\n noHayEstructura: \"No se ha cargado la estructura de contenidos\",\r\n sincronizarEstructura: \"Sincronizar estructura\",\r\n sinImagenYEnUso: \"Sin imagen y en uso\",\r\n identificadorEditorial: \"Identificador editorial\",\r\n cambiarTipoAcceso: \"Cambiar acceso a contenidos\",\r\n cambiarTipoAccesoNum(numContenidos): string {\r\n return `Cambiar acceso a ${numContenidos} contenidos`;\r\n }\r\n\r\n };\r\n\r\n public contenidosPapel = {\r\n contenidosPapelColegioTitle: \"Contenidos papel\",\r\n };\r\n\r\n public matriculas = {\r\n entityName: \"Matrícula\",\r\n nombreClase: \"Clase\",\r\n nombreMateria: \"Materia\",\r\n nombreUsuario: \"Usuario\",\r\n title: \"Matrículas\",\r\n description: \"Selecciona en que grupos de clase está cada persona\",\r\n rol: \"Rol\",\r\n fecha: \"Fecha\",\r\n subgrupo: \"Subgrupo\"\r\n };\r\n\r\n public nivelesContenidos = {\r\n contenido: \"Contenido\",\r\n nivel: \"Nivel\",\r\n title: \"Contenidos por curso\",\r\n description: \"Puede ver los contenidos en cada nivel\",\r\n mostrarAccesoDirecto: \"Mostrar acceso directo\",\r\n tipoAccesoPorDefecto: \"Acceso por defecto\",\r\n accedePlataforma: \"Accede a plataforma editorial\"\r\n };\r\n\r\n public documentUpload = {\r\n dropHere: \"Arrastre aquí los ficheros o haga clic para seleccionarlos\",\r\n errorRequired: \"Debe seleccionar un documento\",\r\n dropNotSupported: \"Parece que está intentando arrastrar desde un archivo comprimido o desde otro programa. El navegador no permite realizar esta acción. Para realizarla debe copiar el archivo a una carpeta y arrastrar desde ella.\",\r\n dropFolderNotSupported: \"Parece que está intentando arrastrar una carpeta completa. El navegador no permite realizar esta acción. Para realizarla debe seleccionar los ficheros dentro de la carpeta y arrastrarlos.\",\r\n };\r\n\r\n\r\n public aliasEditorial = {\r\n title: \"Alias para editoriales\",\r\n description: \"Especifique los nombres de las editoriales en Magento y su correspondencia con las editoriales de Scholarum Hub\",\r\n editorial: \"Editorial\",\r\n alias: \"Nombre en Magento\",\r\n pendientes: \"Sin asignar editorial!\",\r\n enUso: \"Con contenidos en uso\",\r\n numContenidos: \"Nº Contenidos\",\r\n numUsos: \"Nº Usos\",\r\n tabUsos: \"Usos de contenidos\",\r\n tabDatos: \"Datos\",\r\n colegio: \"Colegio\",\r\n nivelEducativo: \"Nivel educativo\",\r\n contenido: \"Contenido\",\r\n tipoContenido: \"Tipo de contenido\",\r\n isbn: \"Isbn\",\r\n proveedor: \"Proveedor de contenidos\"\r\n\r\n };\r\n\r\n public notificaciones = {\r\n texto: \"Descripción\",\r\n titulo: \"Notificaciones\",\r\n colegio: \"Colegio\",\r\n descripcion: \"Aquí puedes ver todas las notificaciones existentes.\",\r\n terminado: \"Terminado\",\r\n correcto: \"Correcto\",\r\n marcarComoLeida: \"Marcar como leída\",\r\n marcarSeleccionadosComoLeidos: \"Marcar seleccionadas como leídas\",\r\n editar: \"Ver notificación\",\r\n tipoNotificacion: \"Tipo\",\r\n estado: \"Estado\",\r\n fecha: \"Fecha\",\r\n verTodas: \"Ver todas\",\r\n haFinalizadoError: \"Su proceso ha finalizado con error\",\r\n notificacion: \"Detalle notificación\",\r\n procesoEnCola: \"Su proceso ha sido puesto en cola para ser ejecutado.\",\r\n tipoLinea: \"Filtrar líneas\",\r\n todosTiposLineas: \"--Todos los tipos--\",\r\n haFinalizadoOk: (colegio: string, proceso: string) => {\r\n return `Su proceso ha finalizado: ${colegio}: ${proceso}`;\r\n },\r\n\r\n };\r\n\r\n public utils = {\r\n getServerIp: \"Get server IP\"\r\n };\r\n\r\n public datepicker = {\r\n monthNames: [\r\n \"Enero\",\r\n \"Febrero\",\r\n \"Marzo\",\r\n \"Abril\",\r\n \"Mayo\",\r\n \"Junio\",\r\n \"Julio\",\r\n \"Agosto\",\r\n \"Septiembre\",\r\n \"Octubre\",\r\n \"Noviembre\",\r\n \"Diciembre\"\r\n ],\r\n month: \"Mes\",\r\n day: \"Dia\",\r\n year: \"Año\"\r\n };\r\n\r\n formatBool(value?: boolean): string {\r\n if (value !== null) {\r\n if (value === true) {\r\n return \"Si\";\r\n }\r\n else {\r\n return \"No\";\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n formatBotonBorrarPendientes(value: number): string {\r\n return `${this.delete} ${value} ${this.colegioUsuarios.usuarioPendiente}${(value === 1 ? \"\" : \"s\")}`;\r\n }\r\n\r\n formatBotonValidarPendientes(value: number): string {\r\n return `${this.validate} ${value} ${this.colegioUsuarios.usuarioPendiente}${(value === 1 ? \"\" : \"s\")}`;\r\n }\r\n\r\n formatBotonCambiarClase(value: number): string {\r\n return `${this.changeClass} ${value} ${this.colegioUsuarios.usuarioAlumno}${(value === 1 ? \"\" : \"s\")}`;\r\n }\r\n\r\n\r\n\r\n formatNumber(value: number, decimalDigits = 2): string {\r\n\r\n if (value != null) {\r\n return value.toLocaleString(\r\n \"es\",\r\n {\r\n maximumFractionDigits: decimalDigits,\r\n\r\n } as Intl.NumberFormatOptions\r\n );\r\n }\r\n return null;\r\n };\r\n\r\n formatCurrency(value: number) {\r\n return this.formatNumber(value, 2);\r\n };\r\n\r\n\r\n static formatDateStatic(value?: Date) {\r\n\r\n if (value == null) return null;\r\n\r\n if (value.toLocaleDateString == null) {\r\n value = new Date(value);\r\n }\r\n\r\n let valorFormateado = null;\r\n if (value) {\r\n valorFormateado = moment(value).format('L');\r\n }\r\n return valorFormateado;\r\n };\r\n\r\n formatLastAccessDate(value?: Date): string {\r\n if (value == null) {\r\n return 'Nunca';\r\n }\r\n\r\n let momentValue = moment(value);\r\n let now = moment();\r\n\r\n let diffMinutes = now.diff(momentValue, 'minutes');\r\n if (diffMinutes < 60) {\r\n return 'Hace ' + diffMinutes + ' minutos';\r\n }\r\n\r\n let diffHours = now.diff(momentValue, 'hours');\r\n if (diffHours < 24) {\r\n return 'Hace ' + diffHours + ' horas';\r\n }\r\n\r\n let diffDays = now.diff(momentValue, 'days');\r\n return 'Hace ' + diffDays + ' días';\r\n }\r\n\r\n formatDate(value?: Date): string {\r\n return esES.formatDateStatic(value);\r\n };\r\n\r\n formatDateTime(value?: Date, full = false): string {\r\n let valorFormateado = null;\r\n if (value) {\r\n\r\n valorFormateado = moment(value).format('DD/MM/YYYY HH:mm');\r\n }\r\n return valorFormateado;\r\n };\r\n\r\n formatTime(value?: Date): string {\r\n let valorFormateado = null;\r\n if (value) {\r\n\r\n valorFormateado = moment(value).format('HH:mm');\r\n }\r\n return valorFormateado;\r\n };\r\n\r\n public grid = {\r\n allCheckedWarning: \"La selección solo afecta a los elementos mostrados en esta página. Para seleccionar todos, elija un nº de resultados por página mayor y vuelva a marcar todos.\"\r\n };\r\n\r\n public validationErrors = {\r\n\r\n thereAreErrors: \"Hay errores de validación. Revise el formulario\",\r\n mustBeANumber: \"Introduzca un número válido\",\r\n rangeErrorTitle: \"Valor no válido\",\r\n fieldRequired: \"Valor obligatorio\",\r\n invalidDate: \"Fecha no válida\",\r\n validationError: \"Error de validación\",\r\n\r\n valueRequired(fieldName: string): string {\r\n return `El campo ${fieldName} es obligatorio`;\r\n },\r\n\r\n valueDuplicated(fieldName: string): string {\r\n return `El campo ${fieldName} no puede estar repetido`;\r\n },\r\n\r\n numberFormatNotValid(fieldName: string): string {\r\n return `El campo ${fieldName} deber tener 9 dígitos y no puede contener letras, simbolos ni espacios`;\r\n },\r\n\r\n formatNotValid(fieldName: string): string {\r\n return `El campo ${fieldName} no tiene un formato válido`;\r\n },\r\n\r\n rangeError(minValue: number, maxValue: number) {\r\n return `El valor debe estar entre ${minValue} y ${maxValue}`;\r\n },\r\n\r\n dateGreaterThan(minorField: string, majorField: string) {\r\n return `La fecha ${majorField} debe ser posterior a ${minorField}`;\r\n },\r\n\r\n numberGreaterThan(minorField: string, majorField: string) {\r\n return `El valor de ${majorField} debe ser mayor que ${minorField}`;\r\n },\r\n stringLengthGreaterThan(fieldName: string, minValue: number) {\r\n return `La longitud del campo ${fieldName} debe ser por lo menos de ${minValue} caracteres`;\r\n },\r\n valuesDontMatch(fieldName1: string, fieldName2: string) {\r\n return `Los valores de ${fieldName1} y ${fieldName2} deben ser iguales`;\r\n },\r\n };\r\n\r\n public getEnumText(enumValueFullName: string): string {\r\n\r\n if (esES.enumTexts == null) {\r\n esES.enumTexts = {};\r\n\r\n esES.enumTexts[\"Gender.None\"] = \"\";\r\n esES.enumTexts[\"Gender.Male\"] = \"Hombre\";\r\n esES.enumTexts[\"Gender.Female\"] = \"Mujer\";\r\n\r\n esES.enumTexts[\"YesNo.None\"] = \"\";\r\n esES.enumTexts[\"YesNo.Yes\"] = \"Sí\";\r\n esES.enumTexts[\"YesNo.No\"] = \"No\";\r\n\r\n esES.enumTexts[\"EstadoUsuario.Nuevo\"] = \"Nuevo\";\r\n esES.enumTexts[\"EstadoUsuario.PendienteValidacion\"] = \"Pendiente\";\r\n esES.enumTexts[\"EstadoUsuario.Activo\"] = \"Activo\";\r\n\r\n esES.enumTexts[\"TipoUsuario.None\"] = \"Niguno\";\r\n esES.enumTexts[\"TipoUsuario.Alumno\"] = \"Alumno\";\r\n esES.enumTexts[\"TipoUsuario.Profesor\"] = \"Profesor\";\r\n esES.enumTexts[\"TipoUsuario.AdminColegio\"] = \"Admin. Colegio\";\r\n esES.enumTexts[\"TipoUsuario.AdminGlobal\"] = \"Admin. Global\";\r\n esES.enumTexts[\"TipoUsuario.VisorPedidos\"] = \"Visor Pedidos\";\r\n esES.enumTexts[\"TipoUsuario.AdminInstitucion\"] = \"Admin. Institución\";\r\n\r\n esES.enumTexts[\"Origen.Administrador\"] = \"Administrador\";\r\n esES.enumTexts[\"Origen.Tienda\"] = \"Tienda\";\r\n esES.enumTexts[\"Origen.CargaFichero\"] = \"Fichero\";\r\n\r\n esES.enumTexts[\"RolGrupo.Alumno\"] = \"Alumno\";\r\n esES.enumTexts[\"RolGrupo.Profesor\"] = \"Profesor\";\r\n\r\n esES.enumTexts[\"TipoUsuarioContenido.Alumno\"] = \"Alumno\";\r\n esES.enumTexts[\"TipoUsuarioContenido.Profesor\"] = \"Profesor\";\r\n\r\n esES.enumTexts[\"Editorial.None\"] = \"Ninguna\";\r\n esES.enumTexts[\"Editorial.Santillana\"] = \"Santillana\";\r\n esES.enumTexts[\"Editorial.SM\"] = \"SM\";\r\n esES.enumTexts[\"Editorial.Anaya\"] = \"Anaya\";\r\n esES.enumTexts[\"Editorial.Edelvives\"] = \"Edelvives\";\r\n esES.enumTexts[\"Editorial.Edebe\"] = \"Edebe\";\r\n esES.enumTexts[\"Editorial.TekmanBooks\"] = \"Tekman Books\";\r\n esES.enumTexts[\"Editorial.Burlington\"] = \"Burlington\";\r\n esES.enumTexts[\"Editorial.Casals\"] = \"Casals\";\r\n esES.enumTexts[\"Editorial.Cambridge\"] = \"Cambridge\";\r\n esES.enumTexts[\"Editorial.Donostiarra\"] = \"Donostiarra\";\r\n esES.enumTexts[\"Editorial.McGrawHill\"] = \"McGraw Hill\";\r\n esES.enumTexts[\"Editorial.Editex\"] = \"Editex\";\r\n esES.enumTexts[\"Editorial.Macmillan\"] = \"Macmillan\";\r\n esES.enumTexts[\"Editorial.Teide\"] = \"Teide\";\r\n esES.enumTexts[\"Editorial.ScienceBits\"] = \"Science Bits\";\r\n esES.enumTexts[\"Editorial.VicensVives\"] = \"Vicens Vives\";\r\n esES.enumTexts[\"Editorial.Ramatics\"] = \"Ramatics\";\r\n esES.enumTexts[\"Editorial.Brunno\"] = \"Bruño\";\r\n esES.enumTexts[\"Editorial.Oxford\"] = \"Oxford\";\r\n esES.enumTexts[\"Editorial.Planeta\"] = \"Planeta\";\r\n esES.enumTexts[\"Editorial.Milton\"] = \"Milton\";\r\n esES.enumTexts[\"Editorial.Esc\"] = \"ESC\";\r\n esES.enumTexts[\"Editorial.ContenidoPropio\"] = \"Contenido Propio\";\r\n esES.enumTexts[\"Editorial.Bromera\"] = \"Bromera\";\r\n esES.enumTexts[\"Editorial.Tabarca\"] = \"Tabarca\";\r\n esES.enumTexts[\"Editorial.Klett\"] = \"Klett\";\r\n\r\n esES.enumTexts[\"TipoAcceso.SinConfigurar\"] = \"No configurado\";\r\n esES.enumTexts[\"TipoAcceso.SinAcceso\"] = \"Sin acceso a plataforma\";\r\n esES.enumTexts[\"TipoAcceso.Marsupial\"] = \"Marsupial de la editorial\";\r\n esES.enumTexts[\"TipoAcceso.MarsupialBlink\"] = \"Marsupial de Blink\";\r\n esES.enumTexts[\"TipoAcceso.BlinkDirecto\"] = \"Blink directo\";\r\n esES.enumTexts[\"TipoAcceso.Custom\"] = \"Personalizado editorial\";\r\n esES.enumTexts[\"TipoAcceso.MacMillanLive\"] = \"MacMillan Live\";\r\n esES.enumTexts[\"TipoAcceso.AccesoManual\"] = \"Acceso Manual\";\r\n esES.enumTexts[\"TipoAcceso.Lti11\"] = \"LTI 1.1\";\r\n esES.enumTexts[\"TipoAcceso.Lti13\"] = \"LTI 1.3\";\r\n esES.enumTexts[\"TipoAcceso.SantillanaPrisma\"] = \"Santillana Prisma\";\r\n esES.enumTexts[\"TipoAcceso.SantillanaAV4\"] = \"Santillana AV4\";\r\n\r\n esES.enumTexts[\"TipoAcceso.NoAccedeSiMuestraCredenciales\"] = \"No Accede Si Muestra Credenciales\";\r\n esES.enumTexts[\"TipoAcceso.NoAccedeNoMuestraCredenciales\"] = \"No Accede No Muestra Credenciales\";\r\n esES.enumTexts[\"TipoAcceso.NoAccedeMuestraMensaje\"] = \"No Accede Muestra Mensaje\";\r\n \r\n\r\n esES.enumTexts[\"EstadoNotificacion.EnProceso\"] = \"En proceso\";\r\n esES.enumTexts[\"EstadoNotificacion.EnProcesoConErrores\"] = \"En proceso con errores\";\r\n esES.enumTexts[\"EstadoNotificacion.AcabadaOk\"] = \"Terminado sin error\";\r\n esES.enumTexts[\"EstadoNotificacion.AcabadaError\"] = \"Terminado con error\";\r\n\r\n esES.enumTexts[\"TipoNotificacion.SincronizacionContenidos\"] = \"Sincronización contenidos\";\r\n esES.enumTexts[\"TipoNotificacion.SincronizacionPedidos\"] = \"Sincronización pedidos\";\r\n esES.enumTexts[\"TipoNotificacion.SincronizacionCursoEscolar\"] = \"Sincronización curso escolar\";\r\n\r\n esES.enumTexts[\"OrigenLicencia.Administrador\"] = \"Administrador\";\r\n esES.enumTexts[\"OrigenLicencia.Tienda\"] = \"Tienda Scholarum\";\r\n esES.enumTexts[\"OrigenLicencia.CargaFichero\"] = \"Carga Fichero\";\r\n\r\n esES.enumTexts[\"TipoContenido.Virtual\"] = \"Prod. virtual\";\r\n esES.enumTexts[\"TipoContenido.Licencia\"] = \"Licencia\";\r\n\r\n esES.enumTexts[\"AccedePlataforma.SiAccede\"] = \"Sí accede\";\r\n esES.enumTexts[\"AccedePlataforma.NoAccedeSiMuestraCredenciales\"] = \"No accede, SI muestra credenciales\";\r\n esES.enumTexts[\"AccedePlataforma.NoAccedeNoMuestraCredenciales\"] = \"No accede, NO muestra credenciales\";\r\n esES.enumTexts[\"AccedePlataforma.NoAccedeMuestraMensaje\"] = \"No accede, y muestra mensaje\";\r\n\r\n esES.enumTexts[\"TipoCarga.Usuario\"] = \"Carga de usuarios\";\r\n esES.enumTexts[\"TipoCarga.Licencia\"] = \"Carga de licencias\";\r\n\r\n esES.enumTexts[\"TipoAuditoria.CrearLicencia\"] = \"Crear Licencia\";\r\n esES.enumTexts[\"TipoAuditoria.BorrarLicencia\"] = \"Borrar Licencia\";\r\n esES.enumTexts[\"TipoAuditoria.ModificarLicencia\"] = \"Modificar Licencia\";\r\n\r\n esES.enumTexts[\"EstadoPedidoScholarum.Cancelado\"] = \"Cancelado\";\r\n esES.enumTexts[\"EstadoPedidoScholarum.Completo\"] = \"Completo\";\r\n esES.enumTexts[\"EstadoPedidoScholarum.EnProceso\"] = \"En Proceso\";\r\n\r\n esES.enumTexts[\"EstadoPedido.Canceled\"] = \"Canceled\";\r\n esES.enumTexts[\"EstadoPedido.Closed\"] = \"Closed\";\r\n esES.enumTexts[\"EstadoPedido.Complete\"] = \"Complete\";\r\n esES.enumTexts[\"EstadoPedido.Holded\"] = \"Holded\";\r\n esES.enumTexts[\"EstadoPedido.PaymentReview\"] = \"PaymentReview\";\r\n esES.enumTexts[\"EstadoPedido.Pending\"] = \"Pending\";\r\n esES.enumTexts[\"EstadoPedido.Processing\"] = \"Processing\";\r\n esES.enumTexts[\"EstadoPedido.ServiredOk\"] = \"ServiredOk\";\r\n esES.enumTexts[\"EstadoPedido.ServiredPending\"] = \"ServiredPending\";\r\n esES.enumTexts[\"EstadoPedido.SentToSeur\"] = \"SentToSeur\";\r\n esES.enumTexts[\"EstadoPedido.PayTpvError\"] = \"PayTpvError\";\r\n esES.enumTexts[\"EstadoPedido.SeurInfoReceived\"] = \"SeurInfoReceived\";\r\n\r\n\r\n esES.enumTexts[\"TipoProductoTienda.Virtual\"] = \"Virtual\";\r\n esES.enumTexts[\"TipoProductoTienda.Simple\"] = \"Simple\";\r\n esES.enumTexts[\"TipoProductoTienda.License\"] = \"License\";\r\n esES.enumTexts[\"TipoProductoTienda.Grouped\"] = \"Grouped\";\r\n\r\n\r\n esES.enumTexts[\"FormatoContenido.Digital\"] = \"Digital\";\r\n esES.enumTexts[\"FormatoContenido.Papel\"] = \"Papel\";\r\n\r\n\r\n esES.enumTexts[\"EstadoLicencia.Vacio\"] = \"N/A\";\r\n esES.enumTexts[\"EstadoLicencia.Activo\"] = \"Activo\";\r\n esES.enumTexts[\"EstadoLicencia.PedidoCancelado\"] = \"PedidoCancelado\";\r\n esES.enumTexts[\"EstadoLicencia.Caducada\"] = \"Caducada\";\r\n esES.enumTexts[\"EstadoLicencia.BurlingtonActivaOk\"] = \"BurlingtonActiva - Ok\";\r\n esES.enumTexts[\"EstadoLicencia.BurlingtonInvalidActivationCode\"] = \"Burlington - InvalidActivationCode\";\r\n esES.enumTexts[\"EstadoLicencia.BurlingtonErrorActivacion\"] = \"Burlington - ErrorActivacion\";\r\n esES.enumTexts[\"EstadoLicencia.NecesitaSerRevisada\"] = \"Necesita Ser Revisada\";\r\n\r\n\r\n esES.enumTexts[\"Transportista.LocalPickup\"] = \"Transportista local\";\r\n esES.enumTexts[\"Transportista.CorreosExpress\"] = \"Correos Express\";\r\n\r\n esES.enumTexts[\"EstadoAlbaran.Hecho\"] = \"Hecho\";\r\n esES.enumTexts[\"EstadoAlbaran.Borrador\"] = \"Borrador\";\r\n esES.enumTexts[\"EstadoAlbaran.EnEspera\"] = \"En Espera\";\r\n esES.enumTexts[\"EstadoAlbaran.Preparado\"] = \"Preparado\";\r\n esES.enumTexts[\"EstadoAlbaran.Hecho\"] = \"Hecho\";\r\n esES.enumTexts[\"EstadoAlbaran.Cancelado\"] = \"Cancelado\";\r\n\r\n esES.enumTexts[\"EstadoEnvio.None\"] = \"n/d\";\r\n esES.enumTexts[\"EstadoEnvio.EsperandoRecodida\"] = \"Esperando Recodida\";\r\n esES.enumTexts[\"EstadoEnvio.EnTransito\"] = \"En Tránsito\";\r\n esES.enumTexts[\"EstadoEnvio.Entregado\"] = \"Entregado\";\r\n }\r\n\r\n\r\n var elem = esES.enumTexts[enumValueFullName];\r\n if (elem != null) {\r\n return elem;\r\n }\r\n else {\r\n return enumValueFullName.substring(enumValueFullName.lastIndexOf(\".\"));\r\n }\r\n };\r\n}","import { ClientContext } from \"./ClientContext\";\r\nimport { esES, ITranslationContent } from \"./langs/ITranslationContent\";\r\nimport { InterfaceLanguage } from \"../models/dataModels\";\r\n\r\nexport class I18n {\r\n\r\n\r\n public static get Strings(): ITranslationContent {\r\n if (this._strings == null) {\r\n if (ClientContext.Current == null) {\r\n I18n.Initialize(InterfaceLanguage.Espannol);\r\n }\r\n else {\r\n I18n.Initialize(ClientContext.Current.idioma)\r\n }\r\n }\r\n\r\n return this._strings;\r\n }\r\n\r\n private static _strings: ITranslationContent;\r\n\r\n public static Initialize(language: InterfaceLanguage) {\r\n\r\n let content: ITranslationContent;\r\n\r\n switch (language) {\r\n case InterfaceLanguage.Espannol: {\r\n content = new esES();\r\n break;\r\n } \r\n default: {\r\n throw new Error(`Language ${language} not implemented`)\r\n }\r\n }\r\n\r\n this._strings = content;\r\n }\r\n\r\n public static logAndExtractInfoFromException(error: any) {\r\n\r\n console.error(error);\r\n\r\n let mensaje = error.message;\r\n\r\n if (error.response && error.response.data && error.response.data.error) {\r\n mensaje = error.response.data.error;\r\n }\r\n\r\n return mensaje;\r\n }\r\n}\r\n","import React, { useEffect, useState } from 'react'; // we need this to make JSX compile\r\n\r\nexport const Loading = function () {\r\n\r\n const [show, setShow] = useState(false);\r\n\r\n useEffect(() => {\r\n \r\n const timer = setTimeout(() => {\r\n setShow(true);\r\n }, 300);\r\n\r\n return () => clearTimeout(timer);\r\n }, []);\r\n\r\n if (!show) return null;\r\n\r\n return
\r\n
\r\n
\r\n
\r\n
;\r\n\r\n}","import { I18n } from \"../utils/I18n\";\r\n\r\n\r\nexport function isImage(fileName: string) {\r\n\r\n var extension = fileName.split('?')[0].toLowerCase().substr(fileName.lastIndexOf(\".\") + 1);\r\n\r\n if (extension === \"jpg\" || extension === \"jpeg\" || extension === \"bmp\" || extension === \"png\") {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nexport function formatSize(value?: number): string {\r\n if (value) {\r\n let strVal = \"\";\r\n\r\n\r\n if (value > 1073741824) {\r\n value /= 1073741824;\r\n strVal = I18n.Strings.formatNumber(value) + \" Gb\";\r\n }\r\n else if (value > 1048576) {\r\n value /= 1048576;\r\n strVal = I18n.Strings.formatNumber(value) + \" Mb\";\r\n }\r\n else if (value > 1024) {\r\n value /= 1024;\r\n strVal = I18n.Strings.formatNumber(value) + \" Kb\";\r\n }\r\n else {\r\n strVal = I18n.Strings.formatNumber(value) + \" bytes\";;\r\n }\r\n\r\n\r\n return strVal;\r\n }\r\n return null;\r\n}\r\n\r\nfunction base64toBlob(base64Data, contentType) {\r\n contentType = contentType || \"\";\r\n const sliceSize = 1024;\r\n var byteCharacters = atob(base64Data);\r\n var bytesLength = byteCharacters.length;\r\n var slicesCount = Math.ceil(bytesLength / sliceSize);\r\n var byteArrays = new Array(slicesCount);\r\n\r\n for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\r\n var begin = sliceIndex * sliceSize;\r\n var end = Math.min(begin + sliceSize, bytesLength);\r\n\r\n var bytes = new Array(end - begin);\r\n for (var offset = begin, i = 0; offset < end; ++i, ++offset) {\r\n bytes[i] = byteCharacters[offset].charCodeAt(0);\r\n }\r\n byteArrays[sliceIndex] = new Uint8Array(bytes);\r\n }\r\n return new Blob(byteArrays, { type: contentType });\r\n}\r\n\r\nexport function downloadFileFromBase64Array(data: any, filename: string, mime: string, elementId?: string) {\r\n var blob = base64toBlob(data, mime || \"application/octet-stream\");\r\n\r\n var msSaveBlob = (window.navigator as any).msSaveBlob;\r\n\r\n if (msSaveBlob != null) {\r\n // IE workaround for \"HTML7007: One or more blob URLs were\r\n // revoked by closing the blob for which they were created.\r\n // These URLs will no longer resolve as the data backing\r\n // the URL has been freed.\"\r\n msSaveBlob(blob, filename);\r\n }\r\n else {\r\n\r\n var blobURL = window.URL.createObjectURL(blob);\r\n\r\n var tempLink = document.createElement(\"a\");\r\n //tempLink.style.display = \"none\";\r\n tempLink.href = blobURL;\r\n tempLink.setAttribute(\"download\", filename);\r\n tempLink.innerText = \"Download\";\r\n // Safari thinks _blank anchor are pop ups. We only want to set _blank\r\n // target if the browser does not support the HTML5 download attribute.\r\n // This allows you to download files in desktop safari if pop up blocking\r\n // is enabled.\r\n if (typeof tempLink.download === \"undefined\") {\r\n tempLink.setAttribute(\"target\", \"_blank\");\r\n }\r\n\r\n var elementToAppend = document.body;\r\n\r\n if (elementId != null) {\r\n elementToAppend = document.getElementById(elementId).parentElement;\r\n }\r\n elementToAppend.appendChild(tempLink);\r\n\r\n tempLink.click();\r\n elementToAppend.removeChild(tempLink);\r\n window.URL.revokeObjectURL(blobURL);\r\n\r\n }\r\n}\r\n\r\n\r\nexport function validateEmail(value: string): boolean {\r\n if (value == null) {\r\n return false;\r\n }\r\n\r\n let result = true;\r\n let mailformat = /^((([a-zA-Z0-9_\\-])+)(\\.{0,1}))+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,15})$/;\r\n\r\n if (!value.match(mailformat)) {\r\n result = false;\r\n }\r\n return result;\r\n}\r\n\r\nexport function validateUrl(value: string): boolean {\r\n let url;\r\n\r\n try {\r\n url = new URL(value);\r\n } catch (_) {\r\n return false;\r\n }\r\n\r\n return url.protocol === \"http:\" || url.protocol === \"https:\";\r\n}\r\n\r\nexport function getFileNameWithoutExtension(fileName: string): string {\r\n return fileName.substring(0, Math.min(fileName.length - 1, fileName.lastIndexOf(\".\")));\r\n}\r\n\r\n\r\nexport function isValidNumber(numberTotTst: any) : boolean {\r\n return !isNaN(Number(numberTotTst));\r\n}\r\n\r\nexport function logAndExtractInfoFromException(error: any) : string {\r\n\r\n console.error(error);\r\n let mensaje = error.message;\r\n \r\n if (error.response) {\r\n if (error.response.data && error.response.data.error) {\r\n if (error.response.data.showToUser) {\r\n mensaje = error.response.data.error;\r\n }\r\n else {\r\n mensaje = I18n.Strings.genericErrorMessage;\r\n }\r\n\r\n } else if (error.response.status == 404) {\r\n mensaje = I18n.Strings.errorNotFound;\r\n }\r\n }\r\n\r\n return mensaje || error;\r\n}\r\n\r\nexport function toCamelCase(initial: string): string {\r\n\r\n return initial.replace(/\\w\\S*/g,\r\n function (txt) {\r\n return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\r\n });\r\n\r\n}\r\n\r\nexport function normalizaDocumento(initial: string) {\r\n if (initial != null) {\r\n return initial.replace(/[\\s\\W]/g, \"\").toUpperCase();\r\n }\r\n}\r\n\r\n\r\nexport function downloadFileFromBlob(blob: Blob, filename: string, elementId?: string) {\r\n\r\n var msSaveBlob = (window.navigator as any).msSaveBlob;\r\n\r\n if (msSaveBlob != null) {\r\n // IE workaround for \"HTML7007: One or more blob URLs were\r\n // revoked by closing the blob for which they were created.\r\n // These URLs will no longer resolve as the data backing\r\n // the URL has been freed.\"\r\n msSaveBlob(blob, filename);\r\n }\r\n else {\r\n let blobURL = window.URL.createObjectURL(blob);\r\n let tempLink = document.createElement(\"a\");\r\n //tempLink.style.display = \"none\";\r\n tempLink.href = blobURL;\r\n tempLink.setAttribute(\"download\", filename);\r\n tempLink.innerText = \"Download\";\r\n // Safari thinks _blank anchor are pop ups. We only want to set _blank\r\n // target if the browser does not support the HTML5 download attribute.\r\n // This allows you to download files in desktop safari if pop up blocking\r\n // is enabled.\r\n if (typeof tempLink.download === \"undefined\") {\r\n tempLink.setAttribute(\"target\", \"_blank\");\r\n }\r\n let elementToAppend = document.body;\r\n if (elementId != null) {\r\n elementToAppend = document.getElementById(elementId).parentElement;\r\n }\r\n elementToAppend.appendChild(tempLink);\r\n tempLink.click();\r\n elementToAppend.removeChild(tempLink);\r\n window.URL.revokeObjectURL(blobURL);\r\n }\r\n}\r\n\r\n","module.exports=function(t){function n(e){if(r[e])return r[e].exports;var o=r[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r={};return n.m=t,n.c=r,n.d=function(t,r,e){n.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:e})},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,\"a\",r),r},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p=\"\",n(n.s=13)}([function(t,n){var r=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=r)},function(t,n){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,n){var r=t.exports={version:\"2.5.0\"};\"number\"==typeof __e&&(__e=r)},function(t,n,r){t.exports=!r(4)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,n,r){var e=r(32)(\"wks\"),o=r(9),i=r(0).Symbol,u=\"function\"==typeof i;(t.exports=function(t){return e[t]||(e[t]=u&&i[t]||(u?i:o)(\"Symbol.\"+t))}).store=e},function(t,n,r){var e=r(0),o=r(2),i=r(8),u=r(22),c=r(10),f=function(t,n,r){var a,s,p,l,v=t&f.F,y=t&f.G,h=t&f.S,d=t&f.P,x=t&f.B,g=y?e:h?e[n]||(e[n]={}):(e[n]||{}).prototype,m=y?o:o[n]||(o[n]={}),b=m.prototype||(m.prototype={});y&&(r=n);for(a in r)s=!v&&g&&void 0!==g[a],p=(s?g:r)[a],l=x&&s?c(p,e):d&&\"function\"==typeof p?c(Function.call,p):p,g&&u(g,a,p,t&f.U),m[a]!=p&&i(m,a,l),d&&b[a]!=p&&(b[a]=p)};e.core=o,f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},function(t,n,r){var e=r(16),o=r(21);t.exports=r(3)?function(t,n,r){return e.f(t,n,o(1,r))}:function(t,n,r){return t[n]=r,t}},function(t,n){var r=0,e=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++r+e).toString(36))}},function(t,n,r){var e=r(24);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,n,r){var e=r(28),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,n,r){\"use strict\";n.__esModule=!0,n.default=function(t,n){if(t&&n){var r=Array.isArray(n)?n:n.split(\",\"),e=t.name||\"\",o=t.type||\"\",i=o.replace(/\\/.*$/,\"\");return r.some(function(t){var n=t.trim();return\".\"===n.charAt(0)?e.toLowerCase().endsWith(n.toLowerCase()):n.endsWith(\"/*\")?i===n.replace(/\\/.*$/,\"\"):o===n})}return!0},r(14),r(34)},function(t,n,r){r(15),t.exports=r(2).Array.some},function(t,n,r){\"use strict\";var e=r(7),o=r(25)(3);e(e.P+e.F*!r(33)([].some,!0),\"Array\",{some:function(t){return o(this,t,arguments[1])}})},function(t,n,r){var e=r(17),o=r(18),i=r(20),u=Object.defineProperty;n.f=r(3)?Object.defineProperty:function(t,n,r){if(e(t),n=i(n,!0),e(r),o)try{return u(t,n,r)}catch(t){}if(\"get\"in r||\"set\"in r)throw TypeError(\"Accessors not supported!\");return\"value\"in r&&(t[n]=r.value),t}},function(t,n,r){var e=r(1);t.exports=function(t){if(!e(t))throw TypeError(t+\" is not an object!\");return t}},function(t,n,r){t.exports=!r(3)&&!r(4)(function(){return 7!=Object.defineProperty(r(19)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,n,r){var e=r(1),o=r(0).document,i=e(o)&&e(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,n,r){var e=r(1);t.exports=function(t,n){if(!e(t))return t;var r,o;if(n&&\"function\"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;if(\"function\"==typeof(r=t.valueOf)&&!e(o=r.call(t)))return o;if(!n&&\"function\"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,r){var e=r(0),o=r(8),i=r(23),u=r(9)(\"src\"),c=Function.toString,f=(\"\"+c).split(\"toString\");r(2).inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,r,c){var a=\"function\"==typeof r;a&&(i(r,\"name\")||o(r,\"name\",n)),t[n]!==r&&(a&&(i(r,u)||o(r,u,t[n]?\"\"+t[n]:f.join(String(n)))),t===e?t[n]=r:c?t[n]?t[n]=r:o(t,n,r):(delete t[n],o(t,n,r)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[u]||c.call(this)})},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,n,r){var e=r(10),o=r(26),i=r(27),u=r(12),c=r(29);t.exports=function(t,n){var r=1==t,f=2==t,a=3==t,s=4==t,p=6==t,l=5==t||p,v=n||c;return function(n,c,y){for(var h,d,x=i(n),g=o(x),m=e(c,y,3),b=u(g.length),_=0,w=r?v(n,b):f?v(n,0):void 0;b>_;_++)if((l||_ in g)&&(h=g[_],d=m(h,_,x),t))if(r)w[_]=d;else if(d)switch(t){case 3:return!0;case 5:return h;case 6:return _;case 2:w.push(h)}else if(s)return!1;return p?-1:a||s?s:w}}},function(t,n,r){var e=r(5);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==e(t)?t.split(\"\"):Object(t)}},function(t,n,r){var e=r(11);t.exports=function(t){return Object(e(t))}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},function(t,n,r){var e=r(30);t.exports=function(t,n){return new(e(t))(n)}},function(t,n,r){var e=r(1),o=r(31),i=r(6)(\"species\");t.exports=function(t){var n;return o(t)&&(n=t.constructor,\"function\"!=typeof n||n!==Array&&!o(n.prototype)||(n=void 0),e(n)&&null===(n=n[i])&&(n=void 0)),void 0===n?Array:n}},function(t,n,r){var e=r(5);t.exports=Array.isArray||function(t){return\"Array\"==e(t)}},function(t,n,r){var e=r(0),o=e[\"__core-js_shared__\"]||(e[\"__core-js_shared__\"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,n,r){\"use strict\";var e=r(4);t.exports=function(t,n){return!!t&&e(function(){n?t.call(null,function(){},1):t.call(null)})}},function(t,n,r){r(35),t.exports=r(2).String.endsWith},function(t,n,r){\"use strict\";var e=r(7),o=r(12),i=r(36),u=\"\".endsWith;e(e.P+e.F*r(38)(\"endsWith\"),\"String\",{endsWith:function(t){var n=i(this,t,\"endsWith\"),r=arguments.length>1?arguments[1]:void 0,e=o(n.length),c=void 0===r?e:Math.min(o(r),e),f=String(t);return u?u.call(n,f,c):n.slice(c-f.length,c)===f}})},function(t,n,r){var e=r(37),o=r(11);t.exports=function(t,n,r){if(e(n))throw TypeError(\"String#\"+r+\" doesn't accept regex!\");return String(o(t))}},function(t,n,r){var e=r(1),o=r(5),i=r(6)(\"match\");t.exports=function(t){var n;return e(t)&&(void 0!==(n=t[i])?!!n:\"RegExp\"==o(t))}},function(t,n,r){var e=r(6)(\"match\");t.exports=function(t){var n=/./;try{\"/./\"[t](n)}catch(r){try{return n[e]=!1,!\"/./\"[t](n)}catch(t){}}return!0}}]);","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var conversions = {\r\n // length\r\n 'px': {\r\n 'px': 1,\r\n 'cm': 96.0/2.54,\r\n 'mm': 96.0/25.4,\r\n 'in': 96,\r\n 'pt': 96.0/72.0,\r\n 'pc': 16\r\n },\r\n 'cm': {\r\n 'px': 2.54/96.0,\r\n 'cm': 1,\r\n 'mm': 0.1,\r\n 'in': 2.54,\r\n 'pt': 2.54/72.0,\r\n 'pc': 2.54/6.0\r\n },\r\n 'mm': {\r\n 'px': 25.4/96.0,\r\n 'cm': 10,\r\n 'mm': 1,\r\n 'in': 25.4,\r\n 'pt': 25.4/72.0,\r\n 'pc': 25.4/6.0\r\n },\r\n 'in': {\r\n 'px': 1.0/96.0,\r\n 'cm': 1.0/2.54,\r\n 'mm': 1.0/25.4,\r\n 'in': 1,\r\n 'pt': 1.0/72.0,\r\n 'pc': 1.0/6.0\r\n },\r\n 'pt': {\r\n 'px': 0.75,\r\n 'cm': 72.0/2.54,\r\n 'mm': 72.0/25.4,\r\n 'in': 72,\r\n 'pt': 1,\r\n 'pc': 12\r\n },\r\n 'pc': {\r\n 'px': 6.0/96.0,\r\n 'cm': 6.0/2.54,\r\n 'mm': 6.0/25.4,\r\n 'in': 6,\r\n 'pt': 6.0/72.0,\r\n 'pc': 1\r\n },\r\n // angle\r\n 'deg': {\r\n 'deg': 1,\r\n 'grad': 0.9,\r\n 'rad': 180/Math.PI,\r\n 'turn': 360\r\n },\r\n 'grad': {\r\n 'deg': 400/360,\r\n 'grad': 1,\r\n 'rad': 200/Math.PI,\r\n 'turn': 400\r\n },\r\n 'rad': {\r\n 'deg': Math.PI/180,\r\n 'grad': Math.PI/200,\r\n 'rad': 1,\r\n 'turn': Math.PI*2\r\n },\r\n 'turn': {\r\n 'deg': 1/360,\r\n 'grad': 1/400,\r\n 'rad': 0.5/Math.PI,\r\n 'turn': 1\r\n },\r\n // time\r\n 's': {\r\n 's': 1,\r\n 'ms': 1/1000\r\n },\r\n 'ms': {\r\n 's': 1000,\r\n 'ms': 1\r\n },\r\n // frequency\r\n 'Hz': {\r\n 'Hz': 1,\r\n 'kHz': 1000\r\n },\r\n 'kHz': {\r\n 'Hz': 1/1000,\r\n 'kHz': 1\r\n },\r\n // resolution\r\n 'dpi': {\r\n 'dpi': 1,\r\n 'dpcm': 1.0/2.54,\r\n 'dppx': 1/96\r\n },\r\n 'dpcm': {\r\n 'dpi': 2.54,\r\n 'dpcm': 1,\r\n 'dppx': 2.54/96.0\r\n },\r\n 'dppx': {\r\n 'dpi': 96,\r\n 'dpcm': 96.0/2.54,\r\n 'dppx': 1\r\n }\r\n};\r\n\r\nmodule.exports = function (value, sourceUnit, targetUnit, precision) {\r\n if (!conversions.hasOwnProperty(targetUnit))\r\n throw new Error(\"Cannot convert to \" + targetUnit);\r\n\r\n if (!conversions[targetUnit].hasOwnProperty(sourceUnit))\r\n throw new Error(\"Cannot convert from \" + sourceUnit + \" to \" + targetUnit);\r\n \r\n var converted = conversions[targetUnit][sourceUnit] * value;\r\n \r\n if (precision !== false) {\r\n precision = Math.pow(10, parseInt(precision) || 5);\r\n return Math.round(converted * precision) / precision;\r\n }\r\n \r\n return converted;\r\n};\r\n","/*! decimal.js-light v2.5.1 https://github.com/MikeMcl/decimal.js-light/LICENCE */\r\n;(function (globalScope) {\r\n 'use strict';\r\n\r\n\r\n /*\r\n * decimal.js-light v2.5.1\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js-light\r\n * Copyright (c) 2020 Michael Mclaughlin \r\n * MIT Expat Licence\r\n */\r\n\r\n\r\n // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //\r\n\r\n\r\n // The limit on the value of `precision`, and on the value of the first argument to\r\n // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n var MAX_DIGITS = 1e9, // 0 to 1e9\r\n\r\n\r\n // The initial configuration properties of the Decimal constructor.\r\n Decimal = {\r\n\r\n // These values must be integers within the stated ranges (inclusive).\r\n // Most of these values can be changed during run-time using `Decimal.config`.\r\n\r\n // The maximum number of significant digits of the result of a calculation or base conversion.\r\n // E.g. `Decimal.config({ precision: 20 });`\r\n precision: 20, // 1 to MAX_DIGITS\r\n\r\n // The rounding mode used by default by `toInteger`, `toDecimalPlaces`, `toExponential`,\r\n // `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n //\r\n // ROUND_UP 0 Away from zero.\r\n // ROUND_DOWN 1 Towards zero.\r\n // ROUND_CEIL 2 Towards +Infinity.\r\n // ROUND_FLOOR 3 Towards -Infinity.\r\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n //\r\n // E.g.\r\n // `Decimal.rounding = 4;`\r\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\r\n rounding: 4, // 0 to 8\r\n\r\n // The exponent value at and beneath which `toString` returns exponential notation.\r\n // JavaScript numbers: -7\r\n toExpNeg: -7, // 0 to -MAX_E\r\n\r\n // The exponent value at and above which `toString` returns exponential notation.\r\n // JavaScript numbers: 21\r\n toExpPos: 21, // 0 to MAX_E\r\n\r\n // The natural logarithm of 10.\r\n // 115 digits\r\n LN10: '2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286'\r\n },\r\n\r\n\r\n // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //\r\n\r\n\r\n external = true,\r\n\r\n decimalError = '[DecimalError] ',\r\n invalidArgument = decimalError + 'Invalid argument: ',\r\n exponentOutOfRange = decimalError + 'Exponent out of range: ',\r\n\r\n mathfloor = Math.floor,\r\n mathpow = Math.pow,\r\n\r\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n ONE,\r\n BASE = 1e7,\r\n LOG_BASE = 7,\r\n MAX_SAFE_INTEGER = 9007199254740991,\r\n MAX_E = mathfloor(MAX_SAFE_INTEGER / LOG_BASE), // 1286742750677284\r\n\r\n // Decimal.prototype object\r\n P = {};\r\n\r\n\r\n // Decimal prototype methods\r\n\r\n\r\n /*\r\n * absoluteValue abs\r\n * comparedTo cmp\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy idiv\r\n * equals eq\r\n * exponent\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * isInteger isint\r\n * isNegative isneg\r\n * isPositive ispos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * squareRoot sqrt\r\n * times mul\r\n * toDecimalPlaces todp\r\n * toExponential\r\n * toFixed\r\n * toInteger toint\r\n * toNumber\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits tosd\r\n * toString\r\n * valueOf val\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new this.constructor(this);\r\n if (x.s) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value\r\n *\r\n */\r\n P.comparedTo = P.cmp = function (y) {\r\n var i, j, xdL, ydL,\r\n x = this;\r\n\r\n y = new x.constructor(y);\r\n\r\n // Signs differ?\r\n if (x.s !== y.s) return x.s || -y.s;\r\n\r\n // Compare exponents.\r\n if (x.e !== y.e) return x.e > y.e ^ x.s < 0 ? 1 : -1;\r\n\r\n xdL = x.d.length;\r\n ydL = y.d.length;\r\n\r\n // Compare digit by digit.\r\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\r\n if (x.d[i] !== y.d[i]) return x.d[i] > y.d[i] ^ x.s < 0 ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return xdL === ydL ? 0 : xdL > ydL ^ x.s < 0 ? 1 : -1;\r\n };\r\n\r\n\r\n /*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\r\n P.decimalPlaces = P.dp = function () {\r\n var x = this,\r\n w = x.d.length - 1,\r\n dp = (w - x.e) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n w = x.d[w];\r\n if (w) for (; w % 10 == 0; w /= 10) dp--;\r\n\r\n return dp < 0 ? 0 : dp;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.dividedBy = P.div = function (y) {\r\n return divide(this, new this.constructor(y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, truncated to `precision` significant digits.\r\n *\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(divide(x, new Ctor(y), 0, 1), Ctor.precision);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\r\n P.equals = P.eq = function (y) {\r\n return !this.cmp(y);\r\n };\r\n\r\n\r\n /*\r\n * Return the (base 10) exponent value of this Decimal (this.e is the base 10000000 exponent).\r\n *\r\n */\r\n P.exponent = function () {\r\n return getBase10Exponent(this);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\r\n P.greaterThan = P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\r\n P.greaterThanOrEqualTo = P.gte = function (y) {\r\n return this.cmp(y) >= 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\r\n P.isInteger = P.isint = function () {\r\n return this.e > this.d.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\r\n P.isNegative = P.isneg = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\r\n P.isPositive = P.ispos = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is 0, otherwise return false.\r\n *\r\n */\r\n P.isZero = function () {\r\n return this.s === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThan = P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThanOrEqualTo = P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n };\r\n\r\n\r\n /*\r\n * Return the logarithm of the value of this Decimal to the specified base, truncated to\r\n * `precision` significant digits.\r\n *\r\n * If no base is specified, return log[10](x).\r\n *\r\n * log[base](x) = ln(x) / ln(base)\r\n *\r\n * The maximum error of the result is 1 ulp (unit in the last place).\r\n *\r\n * [base] {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n P.logarithm = P.log = function (base) {\r\n var r,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision,\r\n wpr = pr + 5;\r\n\r\n // Default base is 10.\r\n if (base === void 0) {\r\n base = new Ctor(10);\r\n } else {\r\n base = new Ctor(base);\r\n\r\n // log[-b](x) = NaN\r\n // log[0](x) = NaN\r\n // log[1](x) = NaN\r\n if (base.s < 1 || base.eq(ONE)) throw Error(decimalError + 'NaN');\r\n }\r\n\r\n // log[b](-x) = NaN\r\n // log[b](0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // log[b](1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n external = false;\r\n r = divide(ln(x, wpr), ln(base, wpr), wpr);\r\n external = true;\r\n\r\n return round(r, pr);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.minus = P.sub = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? subtract(x, y) : add(x, (y.s = -y.s, y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.modulo = P.mod = function (y) {\r\n var q,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n y = new Ctor(y);\r\n\r\n // x % 0 = NaN\r\n if (!y.s) throw Error(decimalError + 'NaN');\r\n\r\n // Return x if x is 0.\r\n if (!x.s) return round(new Ctor(x), pr);\r\n\r\n // Prevent rounding of intermediate calculations.\r\n external = false;\r\n q = divide(x, y, 0, 1).times(y);\r\n external = true;\r\n\r\n return x.minus(q);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\n P.naturalExponential = P.exp = function () {\r\n return exp(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * truncated to `precision` significant digits.\r\n *\r\n */\r\n P.naturalLogarithm = P.ln = function () {\r\n return ln(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\r\n P.negated = P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s || 0;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.plus = P.add = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? add(x, y) : subtract(x, (y.s = -y.s, y));\r\n };\r\n\r\n\r\n /*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\r\n P.precision = P.sd = function (z) {\r\n var e, sd, w,\r\n x = this;\r\n\r\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\r\n\r\n e = getBase10Exponent(x) + 1;\r\n w = x.d.length - 1;\r\n sd = w * LOG_BASE + 1;\r\n w = x.d[w];\r\n\r\n // If non-zero...\r\n if (w) {\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n for (; w % 10 == 0; w /= 10) sd--;\r\n\r\n // Add the number of digits of the first word.\r\n for (w = x.d[0]; w >= 10; w /= 10) sd++;\r\n }\r\n\r\n return z && e > sd ? e : sd;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var e, n, pr, r, s, t, wpr,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n // Negative or zero?\r\n if (x.s < 1) {\r\n if (!x.s) return new Ctor(0);\r\n\r\n // sqrt(-x) = NaN\r\n throw Error(decimalError + 'NaN');\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+x);\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = digitsToString(x.d);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(n);\r\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n pr = Ctor.precision;\r\n s = wpr = pr + 3;\r\n\r\n // Newton-Raphson iteration.\r\n for (;;) {\r\n t = r;\r\n r = t.plus(divide(x, t, wpr + 2)).times(0.5);\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === (n = digitsToString(r.d)).slice(0, wpr)) {\r\n n = n.slice(wpr - 3, wpr + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\r\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\r\n if (s == wpr && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n round(t, pr + 1, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n } else if (n != '9999') {\r\n break;\r\n }\r\n\r\n wpr += 4;\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return round(r, pr);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal times `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.times = P.mul = function (y) {\r\n var carry, e, i, k, r, rL, t, xdL, ydL,\r\n x = this,\r\n Ctor = x.constructor,\r\n xd = x.d,\r\n yd = (y = new Ctor(y)).d;\r\n\r\n // Return 0 if either is 0.\r\n if (!x.s || !y.s) return new Ctor(0);\r\n\r\n y.s *= x.s;\r\n e = x.e + y.e;\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Ensure xd points to the longer array.\r\n if (xdL < ydL) {\r\n r = xd;\r\n xd = yd;\r\n yd = r;\r\n rL = xdL;\r\n xdL = ydL;\r\n ydL = rL;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n r = [];\r\n rL = xdL + ydL;\r\n for (i = rL; i--;) r.push(0);\r\n\r\n // Multiply!\r\n for (i = ydL; --i >= 0;) {\r\n carry = 0;\r\n for (k = xdL + i; k > i;) {\r\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\r\n r[k--] = t % BASE | 0;\r\n carry = t / BASE | 0;\r\n }\r\n\r\n r[k] = (r[k] + carry) % BASE | 0;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; !r[--rL];) r.pop();\r\n\r\n if (carry) ++e;\r\n else r.shift();\r\n\r\n y.d = r;\r\n y.e = e;\r\n\r\n return external ? round(y, Ctor.precision) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toDecimalPlaces = P.todp = function (dp, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n if (dp === void 0) return x;\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n return round(x, dp + getBase10Exponent(x) + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toExponential = function (dp, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = toString(x, true);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), dp + 1, rm);\r\n str = toString(x, true, dp + 1);\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\r\n P.toFixed = function (dp, rm) {\r\n var str, y,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) return toString(x);\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n y = round(new Ctor(x), dp + getBase10Exponent(x) + 1, rm);\r\n str = toString(y.abs(), false, dp + getBase10Exponent(y) + 1);\r\n\r\n // To determine whether to add the minus sign look at the value before it was rounded,\r\n // i.e. look at `x` rather than `y`.\r\n return x.isneg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\r\n P.toInteger = P.toint = function () {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(new Ctor(x), getBase10Exponent(x) + 1, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this Decimal converted to a number primitive.\r\n *\r\n */\r\n P.toNumber = function () {\r\n return +this;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`,\r\n * truncated to `precision` significant digits.\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * The maximum error is 1 ulp (unit in last place).\r\n *\r\n * y {number|string|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\r\n P.toPower = P.pow = function (y) {\r\n var e, k, pr, r, sign, yIsInt,\r\n x = this,\r\n Ctor = x.constructor,\r\n guard = 12,\r\n yn = +(y = new Ctor(y));\r\n\r\n // pow(x, 0) = 1\r\n if (!y.s) return new Ctor(ONE);\r\n\r\n x = new Ctor(x);\r\n\r\n // pow(0, y > 0) = 0\r\n // pow(0, y < 0) = Infinity\r\n if (!x.s) {\r\n if (y.s < 1) throw Error(decimalError + 'Infinity');\r\n return x;\r\n }\r\n\r\n // pow(1, y) = 1\r\n if (x.eq(ONE)) return x;\r\n\r\n pr = Ctor.precision;\r\n\r\n // pow(x, 1) = x\r\n if (y.eq(ONE)) return round(x, pr);\r\n\r\n e = y.e;\r\n k = y.d.length - 1;\r\n yIsInt = e >= k;\r\n sign = x.s;\r\n\r\n if (!yIsInt) {\r\n\r\n // pow(x < 0, y non-integer) = NaN\r\n if (sign < 0) throw Error(decimalError + 'NaN');\r\n\r\n // If y is a small integer use the 'exponentiation by squaring' algorithm.\r\n } else if ((k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\r\n r = new Ctor(ONE);\r\n\r\n // Max k of 9007199254740991 takes 53 loop iterations.\r\n // Maximum digits array length; leaves [28, 34] guard digits.\r\n e = Math.ceil(pr / LOG_BASE + 4);\r\n\r\n external = false;\r\n\r\n for (;;) {\r\n if (k % 2) {\r\n r = r.times(x);\r\n truncate(r.d, e);\r\n }\r\n\r\n k = mathfloor(k / 2);\r\n if (k === 0) break;\r\n\r\n x = x.times(x);\r\n truncate(x.d, e);\r\n }\r\n\r\n external = true;\r\n\r\n return y.s < 0 ? new Ctor(ONE).div(r) : round(r, pr);\r\n }\r\n\r\n // Result is negative if x is negative and the last digit of integer y is odd.\r\n sign = sign < 0 && y.d[Math.max(e, k)] & 1 ? -1 : 1;\r\n\r\n x.s = 1;\r\n external = false;\r\n r = y.times(ln(x, pr + guard));\r\n external = true;\r\n r = exp(r);\r\n r.s = sign;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n var e, str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n e = getBase10Exponent(x);\r\n str = toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), sd, rm);\r\n e = getBase10Exponent(x);\r\n str = toString(x, sd <= e || e <= Ctor.toExpNeg, sd);\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toSignificantDigits = P.tosd = function (sd, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n }\r\n\r\n return round(new Ctor(x), sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\r\n P.toString = P.valueOf = P.val = P.toJSON = function () {\r\n var x = this,\r\n e = getBase10Exponent(x),\r\n Ctor = x.constructor;\r\n\r\n return toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n };\r\n\r\n\r\n // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\r\n\r\n\r\n /*\r\n * add P.minus, P.plus\r\n * checkInt32 P.todp, P.toExponential, P.toFixed, P.toPrecision, P.tosd\r\n * digitsToString P.log, P.sqrt, P.pow, toString, exp, ln\r\n * divide P.div, P.idiv, P.log, P.mod, P.sqrt, exp, ln\r\n * exp P.exp, P.pow\r\n * getBase10Exponent P.exponent, P.sd, P.toint, P.sqrt, P.todp, P.toFixed, P.toPrecision,\r\n * P.toString, divide, round, toString, exp, ln\r\n * getLn10 P.log, ln\r\n * getZeroString digitsToString, toString\r\n * ln P.log, P.ln, P.pow, exp\r\n * parseDecimal Decimal\r\n * round P.abs, P.idiv, P.log, P.minus, P.mod, P.neg, P.plus, P.toint, P.sqrt,\r\n * P.times, P.todp, P.toExponential, P.toFixed, P.pow, P.toPrecision, P.tosd,\r\n * divide, getLn10, exp, ln\r\n * subtract P.minus, P.plus\r\n * toString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf\r\n * truncate P.pow\r\n *\r\n * Throws: P.log, P.mod, P.sd, P.sqrt, P.pow, checkInt32, divide, round,\r\n * getLn10, exp, ln, parseDecimal, Decimal, config\r\n */\r\n\r\n\r\n function add(x, y) {\r\n var carry, d, e, i, k, len, xd, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // If either is zero...\r\n if (!x.s || !y.s) {\r\n\r\n // Return x if y is zero.\r\n // Return y if y is non-zero.\r\n if (!y.s) y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n k = x.e;\r\n e = y.e;\r\n xd = xd.slice();\r\n i = k - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (i) {\r\n if (i < 0) {\r\n d = xd;\r\n i = -i;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = k;\r\n len = xd.length;\r\n }\r\n\r\n // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\r\n k = Math.ceil(pr / LOG_BASE);\r\n len = k > len ? k + 1 : len + 1;\r\n\r\n if (i > len) {\r\n i = len;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\r\n d.reverse();\r\n for (; i--;) d.push(0);\r\n d.reverse();\r\n }\r\n\r\n len = xd.length;\r\n i = yd.length;\r\n\r\n // If yd is longer than xd, swap xd and yd so xd points to the longer array.\r\n if (len - i < 0) {\r\n i = len;\r\n d = yd;\r\n yd = xd;\r\n xd = d;\r\n }\r\n\r\n // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\r\n for (carry = 0; i;) {\r\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\r\n xd[i] %= BASE;\r\n }\r\n\r\n if (carry) {\r\n xd.unshift(carry);\r\n ++e;\r\n }\r\n\r\n // Remove trailing zeros.\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n for (len = xd.length; xd[--len] == 0;) xd.pop();\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n\r\n function checkInt32(i, min, max) {\r\n if (i !== ~~i || i < min || i > max) {\r\n throw Error(invalidArgument + i);\r\n }\r\n }\r\n\r\n\r\n function digitsToString(d) {\r\n var i, k, ws,\r\n indexOfLastWord = d.length - 1,\r\n str = '',\r\n w = d[0];\r\n\r\n if (indexOfLastWord > 0) {\r\n str += w;\r\n for (i = 1; i < indexOfLastWord; i++) {\r\n ws = d[i] + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n str += ws;\r\n }\r\n\r\n w = d[i];\r\n ws = w + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n } else if (w === 0) {\r\n return '0';\r\n }\r\n\r\n // Remove trailing zeros of last w.\r\n for (; w % 10 === 0;) w /= 10;\r\n\r\n return str + w;\r\n }\r\n\r\n\r\n var divide = (function () {\r\n\r\n // Assumes non-zero x and k, and hence non-zero result.\r\n function multiplyInteger(x, k) {\r\n var temp,\r\n carry = 0,\r\n i = x.length;\r\n\r\n for (x = x.slice(); i--;) {\r\n temp = x[i] * k + carry;\r\n x[i] = temp % BASE | 0;\r\n carry = temp / BASE | 0;\r\n }\r\n\r\n if (carry) x.unshift(carry);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, r;\r\n\r\n if (aL != bL) {\r\n r = aL > bL ? 1 : -1;\r\n } else {\r\n for (i = r = 0; i < aL; i++) {\r\n if (a[i] != b[i]) {\r\n r = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n function subtract(a, b, aL) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * BASE + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1;) a.shift();\r\n }\r\n\r\n return function (x, y, pr, dp) {\r\n var cmp, e, i, k, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0, yL, yz,\r\n Ctor = x.constructor,\r\n sign = x.s == y.s ? 1 : -1,\r\n xd = x.d,\r\n yd = y.d;\r\n\r\n // Either 0?\r\n if (!x.s) return new Ctor(x);\r\n if (!y.s) throw Error(decimalError + 'Division by zero');\r\n\r\n e = x.e - y.e;\r\n yL = yd.length;\r\n xL = xd.length;\r\n q = new Ctor(sign);\r\n qd = q.d = [];\r\n\r\n // Result exponent may be one less than e.\r\n for (i = 0; yd[i] == (xd[i] || 0); ) ++i;\r\n if (yd[i] > (xd[i] || 0)) --e;\r\n\r\n if (pr == null) {\r\n sd = pr = Ctor.precision;\r\n } else if (dp) {\r\n sd = pr + (getBase10Exponent(x) - getBase10Exponent(y)) + 1;\r\n } else {\r\n sd = pr;\r\n }\r\n\r\n if (sd < 0) return new Ctor(0);\r\n\r\n // Convert precision in number of base 10 digits to base 1e7 digits.\r\n sd = sd / LOG_BASE + 2 | 0;\r\n i = 0;\r\n\r\n // divisor < 1e7\r\n if (yL == 1) {\r\n k = 0;\r\n yd = yd[0];\r\n sd++;\r\n\r\n // k is the carry.\r\n for (; (i < xL || k) && sd--; i++) {\r\n t = k * BASE + (xd[i] || 0);\r\n qd[i] = t / yd | 0;\r\n k = t % yd | 0;\r\n }\r\n\r\n // divisor >= 1e7\r\n } else {\r\n\r\n // Normalise xd and yd so highest order digit of yd is >= BASE/2\r\n k = BASE / (yd[0] + 1) | 0;\r\n\r\n if (k > 1) {\r\n yd = multiplyInteger(yd, k);\r\n xd = multiplyInteger(xd, k);\r\n yL = yd.length;\r\n xL = xd.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xd.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL;) rem[remL++] = 0;\r\n\r\n yz = yd.slice();\r\n yz.unshift(0);\r\n yd0 = yd[0];\r\n\r\n if (yd[1] >= BASE / 2) ++yd0;\r\n\r\n do {\r\n k = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, k.\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * BASE + (rem[1] || 0);\r\n\r\n // k will be how many times the divisor goes into the current remainder.\r\n k = rem0 / yd0 | 0;\r\n\r\n // Algorithm:\r\n // 1. product = divisor * trial digit (k)\r\n // 2. if product > remainder: product -= divisor, k--\r\n // 3. remainder -= product\r\n // 4. if product was < remainder at 2:\r\n // 5. compare new remainder and divisor\r\n // 6. If remainder > divisor: remainder -= divisor, k++\r\n\r\n if (k > 1) {\r\n if (k >= BASE) k = BASE - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiplyInteger(yd, k);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n cmp = compare(prod, rem, prodL, remL);\r\n\r\n // product > remainder.\r\n if (cmp == 1) {\r\n k--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yd, prodL);\r\n }\r\n } else {\r\n\r\n // cmp is -1.\r\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\r\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\r\n if (k == 0) cmp = k = 1;\r\n prod = yd.slice();\r\n }\r\n\r\n prodL = prod.length;\r\n if (prodL < remL) prod.unshift(0);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL);\r\n\r\n // If product was < previous remainder.\r\n if (cmp == -1) {\r\n remL = rem.length;\r\n\r\n // Compare divisor and new remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n if (cmp < 1) {\r\n k++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yd, remL);\r\n }\r\n }\r\n\r\n remL = rem.length;\r\n } else if (cmp === 0) {\r\n k++;\r\n rem = [0];\r\n } // if cmp === 1, k will be 0\r\n\r\n // Add the next digit, k, to the result array.\r\n qd[i++] = k;\r\n\r\n // Update the remainder.\r\n if (cmp && rem[0]) {\r\n rem[remL++] = xd[xi] || 0;\r\n } else {\r\n rem = [xd[xi]];\r\n remL = 1;\r\n }\r\n\r\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\r\n }\r\n\r\n // Leading zero?\r\n if (!qd[0]) qd.shift();\r\n\r\n q.e = e;\r\n\r\n return round(q, dp ? pr + getBase10Exponent(q) + 1 : pr);\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x` truncated to `sd`\r\n * significant digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n */\r\n function exp(x, sd) {\r\n var denominator, guard, pow, sum, t, wpr,\r\n i = 0,\r\n k = 0,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n if (getBase10Exponent(x) > 16) throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n\r\n // exp(0) = 1\r\n if (!x.s) return new Ctor(ONE);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n t = new Ctor(0.03125);\r\n\r\n while (x.abs().gte(0.1)) {\r\n x = x.times(t); // x = x / 2^5\r\n k += 5;\r\n }\r\n\r\n // Estimate the precision increase necessary to ensure the first 4 rounding digits are correct.\r\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\r\n wpr += guard;\r\n denominator = pow = sum = new Ctor(ONE);\r\n Ctor.precision = wpr;\r\n\r\n for (;;) {\r\n pow = round(pow.times(x), wpr);\r\n denominator = denominator.times(++i);\r\n t = sum.plus(divide(pow, denominator, wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n while (k--) sum = round(sum.times(sum), wpr);\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n }\r\n }\r\n\r\n\r\n // Calculate the base 10 exponent from the base 1e7 exponent.\r\n function getBase10Exponent(x) {\r\n var e = x.e * LOG_BASE,\r\n w = x.d[0];\r\n\r\n // Add the number of digits of the first word of the digits array.\r\n for (; w >= 10; w /= 10) e++;\r\n return e;\r\n }\r\n\r\n\r\n function getLn10(Ctor, sd, pr) {\r\n\r\n if (sd > Ctor.LN10.sd()) {\r\n\r\n\r\n // Reset global state in case the exception is caught.\r\n external = true;\r\n if (pr) Ctor.precision = pr;\r\n throw Error(decimalError + 'LN10 precision limit exceeded');\r\n }\r\n\r\n return round(new Ctor(Ctor.LN10), sd);\r\n }\r\n\r\n\r\n function getZeroString(k) {\r\n var zs = '';\r\n for (; k--;) zs += '0';\r\n return zs;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x` truncated to `sd` significant\r\n * digits.\r\n *\r\n * ln(n) is non-terminating (n != 1)\r\n *\r\n */\r\n function ln(y, sd) {\r\n var c, c0, denominator, e, numerator, sum, t, wpr, x2,\r\n n = 1,\r\n guard = 10,\r\n x = y,\r\n xd = x.d,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // ln(-x) = NaN\r\n // ln(0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // ln(1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n if (x.eq(10)) {\r\n if (sd == null) external = true;\r\n return getLn10(Ctor, wpr);\r\n }\r\n\r\n wpr += guard;\r\n Ctor.precision = wpr;\r\n c = digitsToString(xd);\r\n c0 = c.charAt(0);\r\n e = getBase10Exponent(x);\r\n\r\n if (Math.abs(e) < 1.5e15) {\r\n\r\n // Argument reduction.\r\n // The series converges faster the closer the argument is to 1, so using\r\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\r\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\r\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\r\n // later be divided by this number, then separate out the power of 10 using\r\n // ln(a*10^b) = ln(a) + b*ln(10).\r\n\r\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\r\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\r\n // max n is 6 (gives 0.7 - 1.3)\r\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\r\n x = x.times(y);\r\n c = digitsToString(x.d);\r\n c0 = c.charAt(0);\r\n n++;\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n\r\n if (c0 > 1) {\r\n x = new Ctor('0.' + c);\r\n e++;\r\n } else {\r\n x = new Ctor(c0 + '.' + c.slice(1));\r\n }\r\n } else {\r\n\r\n // The argument reduction method above may result in overflow if the argument y is a massive\r\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\r\n // function using ln(x*10^e) = ln(x) + e*ln(10).\r\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\r\n x = ln(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(x, pr)) : x;\r\n }\r\n\r\n // x is reduced to a value near 1.\r\n\r\n // Taylor series.\r\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\r\n // where x = (y - 1)/(y + 1) (|x| < 1)\r\n sum = numerator = x = divide(x.minus(ONE), x.plus(ONE), wpr);\r\n x2 = round(x.times(x), wpr);\r\n denominator = 3;\r\n\r\n for (;;) {\r\n numerator = round(numerator.times(x2), wpr);\r\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n sum = sum.times(2);\r\n\r\n // Reverse the argument reduction.\r\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\r\n sum = divide(sum, new Ctor(n), wpr);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n denominator += 2;\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\r\n function parseDecimal(x, str) {\r\n var e, i, len;\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48;) ++i;\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(len - 1) === 48;) --len;\r\n str = str.slice(i, len);\r\n\r\n if (str) {\r\n len -= i;\r\n e = e - i - 1;\r\n x.e = mathfloor(e / LOG_BASE);\r\n x.d = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first word of the digits array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE;\r\n\r\n if (i < len) {\r\n if (i) x.d.push(+str.slice(0, i));\r\n for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE));\r\n str = str.slice(i);\r\n i = LOG_BASE - str.length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--;) str += '0';\r\n x.d.push(+str);\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) throw Error(exponentOutOfRange + e);\r\n } else {\r\n\r\n // Zero.\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Round `x` to `sd` significant digits, using rounding mode `rm` if present (truncate otherwise).\r\n */\r\n function round(x, sd, rm) {\r\n var i, j, k, n, rd, doRound, w, xdi,\r\n xd = x.d;\r\n\r\n // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // w: the word of xd which contains the rounding digit, a base 1e7 number.\r\n // xdi: the index of w within xd.\r\n // n: the number of digits of w.\r\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\r\n // they had leading zeros)\r\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\r\n\r\n // Get the length of the first word of the digits array xd.\r\n for (n = 1, k = xd[0]; k >= 10; k /= 10) n++;\r\n i = sd - n;\r\n\r\n // Is the rounding digit in the first word of xd?\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n w = xd[xdi = 0];\r\n } else {\r\n xdi = Math.ceil((i + 1) / LOG_BASE);\r\n k = xd.length;\r\n if (xdi >= k) return x;\r\n w = k = xd[xdi];\r\n\r\n // Get the number of digits of w.\r\n for (n = 1; k >= 10; k /= 10) n++;\r\n\r\n // Get the index of rd within w.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within w, adjusted for leading zeros.\r\n // The number of leading zeros of w is given by LOG_BASE - n.\r\n j = i - LOG_BASE + n;\r\n }\r\n\r\n if (rm !== void 0) {\r\n k = mathpow(10, n - j - 1);\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = w / k % 10 | 0;\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n doRound = sd < 0 || xd[xdi + 1] !== void 0 || w % k;\r\n\r\n // The expression `w % mathpow(10, n - j - 1)` returns all the digits of w to the right of the\r\n // digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression will give\r\n // 714.\r\n\r\n doRound = rm < 4\r\n ? (rd || doRound) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || doRound || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? w / mathpow(10, n - j) : 0 : xd[xdi - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n }\r\n\r\n if (sd < 1 || !xd[0]) {\r\n if (doRound) {\r\n k = getBase10Exponent(x);\r\n xd.length = 1;\r\n\r\n // Convert sd to decimal places.\r\n sd = sd - k - 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\r\n x.e = mathfloor(-sd / LOG_BASE) || 0;\r\n } else {\r\n xd.length = 1;\r\n\r\n // Zero.\r\n xd[0] = x.e = x.s = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xd.length = xdi;\r\n k = 1;\r\n xdi--;\r\n } else {\r\n xd.length = xdi + 1;\r\n k = mathpow(10, LOG_BASE - i);\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of w.\r\n xd[xdi] = j > 0 ? (w / mathpow(10, n - j) % mathpow(10, j) | 0) * k : 0;\r\n }\r\n\r\n if (doRound) {\r\n for (;;) {\r\n\r\n // Is the digit to be rounded up in the first word of xd?\r\n if (xdi == 0) {\r\n if ((xd[0] += k) == BASE) {\r\n xd[0] = 1;\r\n ++x.e;\r\n }\r\n\r\n break;\r\n } else {\r\n xd[xdi] += k;\r\n if (xd[xdi] != BASE) break;\r\n xd[xdi--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xd.length; xd[--i] === 0;) xd.pop();\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) {\r\n throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function subtract(x, y) {\r\n var d, e, i, j, k, len, xd, xe, xLTy, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // Return y negated if x is zero.\r\n // Return x if y is zero and x is non-zero.\r\n if (!x.s || !y.s) {\r\n if (y.s) y.s = -y.s;\r\n else y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are non-zero numbers with the same sign.\r\n\r\n e = y.e;\r\n xe = x.e;\r\n xd = xd.slice();\r\n k = xe - e;\r\n\r\n // If exponents differ...\r\n if (k) {\r\n xLTy = k < 0;\r\n\r\n if (xLTy) {\r\n d = xd;\r\n k = -k;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = xe;\r\n len = xd.length;\r\n }\r\n\r\n // Numbers with massively different exponents would result in a very high number of zeros\r\n // needing to be prepended, but this can be avoided while still ensuring correct rounding by\r\n // limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\r\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\r\n\r\n if (k > i) {\r\n k = i;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents.\r\n d.reverse();\r\n for (i = k; i--;) d.push(0);\r\n d.reverse();\r\n\r\n // Base 1e7 exponents equal.\r\n } else {\r\n\r\n // Check digits to determine which is the bigger number.\r\n\r\n i = xd.length;\r\n len = yd.length;\r\n xLTy = i < len;\r\n if (xLTy) len = i;\r\n\r\n for (i = 0; i < len; i++) {\r\n if (xd[i] != yd[i]) {\r\n xLTy = xd[i] < yd[i];\r\n break;\r\n }\r\n }\r\n\r\n k = 0;\r\n }\r\n\r\n if (xLTy) {\r\n d = xd;\r\n xd = yd;\r\n yd = d;\r\n y.s = -y.s;\r\n }\r\n\r\n len = xd.length;\r\n\r\n // Append zeros to xd if shorter.\r\n // Don't add zeros to yd if shorter as subtraction only needs to start at yd length.\r\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\r\n\r\n // Subtract yd from xd.\r\n for (i = yd.length; i > k;) {\r\n if (xd[--i] < yd[i]) {\r\n for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1;\r\n --xd[j];\r\n xd[i] += BASE;\r\n }\r\n\r\n xd[i] -= yd[i];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] === 0;) xd.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xd[0] === 0; xd.shift()) --e;\r\n\r\n // Zero?\r\n if (!xd[0]) return new Ctor(0);\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n //return external && xd.length >= pr / LOG_BASE ? round(y, pr) : y;\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n\r\n function toString(x, isExp, sd) {\r\n var k,\r\n e = getBase10Exponent(x),\r\n str = digitsToString(x.d),\r\n len = str.length;\r\n\r\n if (isExp) {\r\n if (sd && (k = sd - len) > 0) {\r\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\r\n } else if (len > 1) {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n\r\n str = str + (e < 0 ? 'e' : 'e+') + e;\r\n } else if (e < 0) {\r\n str = '0.' + getZeroString(-e - 1) + str;\r\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\r\n } else if (e >= len) {\r\n str += getZeroString(e + 1 - len);\r\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\r\n } else {\r\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\r\n if (sd && (k = sd - len) > 0) {\r\n if (e + 1 === len) str += '.';\r\n str += getZeroString(k);\r\n }\r\n }\r\n\r\n return x.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Does not strip trailing zeros.\r\n function truncate(arr, len) {\r\n if (arr.length > len) {\r\n arr.length = len;\r\n return true;\r\n }\r\n }\r\n\r\n\r\n // Decimal methods\r\n\r\n\r\n /*\r\n * clone\r\n * config/set\r\n */\r\n\r\n\r\n /*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\r\n function clone(obj) {\r\n var i, p, ps;\r\n\r\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * value {number|string|Decimal} A numeric value.\r\n *\r\n */\r\n function Decimal(value) {\r\n var x = this;\r\n\r\n // Decimal called without new.\r\n if (!(x instanceof Decimal)) return new Decimal(value);\r\n\r\n // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\r\n // which points to Object.\r\n x.constructor = Decimal;\r\n\r\n // Duplicate.\r\n if (value instanceof Decimal) {\r\n x.s = value.s;\r\n x.e = value.e;\r\n x.d = (value = value.d) ? value.slice() : value;\r\n return;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n\r\n // Reject Infinity/NaN.\r\n if (value * 0 !== 0) {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n if (value > 0) {\r\n x.s = 1;\r\n } else if (value < 0) {\r\n value = -value;\r\n x.s = -1;\r\n } else {\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n return;\r\n }\r\n\r\n // Fast path for small integers.\r\n if (value === ~~value && value < 1e7) {\r\n x.e = 0;\r\n x.d = [value];\r\n return;\r\n }\r\n\r\n return parseDecimal(x, value.toString());\r\n } else if (typeof value !== 'string') {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n // Minus sign?\r\n if (value.charCodeAt(0) === 45) {\r\n value = value.slice(1);\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n if (isDecimal.test(value)) parseDecimal(x, value);\r\n else throw Error(invalidArgument + value);\r\n }\r\n\r\n Decimal.prototype = P;\r\n\r\n Decimal.ROUND_UP = 0;\r\n Decimal.ROUND_DOWN = 1;\r\n Decimal.ROUND_CEIL = 2;\r\n Decimal.ROUND_FLOOR = 3;\r\n Decimal.ROUND_HALF_UP = 4;\r\n Decimal.ROUND_HALF_DOWN = 5;\r\n Decimal.ROUND_HALF_EVEN = 6;\r\n Decimal.ROUND_HALF_CEIL = 7;\r\n Decimal.ROUND_HALF_FLOOR = 8;\r\n\r\n Decimal.clone = clone;\r\n Decimal.config = Decimal.set = config;\r\n\r\n if (obj === void 0) obj = {};\r\n if (obj) {\r\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'LN10'];\r\n for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\r\n }\r\n\r\n Decimal.config(obj);\r\n\r\n return Decimal;\r\n }\r\n\r\n\r\n /*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\r\n function config(obj) {\r\n if (!obj || typeof obj !== 'object') {\r\n throw Error(decimalError + 'Object expected');\r\n }\r\n var i, p, v,\r\n ps = [\r\n 'precision', 1, MAX_DIGITS,\r\n 'rounding', 0, 8,\r\n 'toExpNeg', -1 / 0, 0,\r\n 'toExpPos', 0, 1 / 0\r\n ];\r\n\r\n for (i = 0; i < ps.length; i += 3) {\r\n if ((v = obj[p = ps[i]]) !== void 0) {\r\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n if ((v = obj[p = 'LN10']) !== void 0) {\r\n if (v == Math.LN10) this[p] = new this(v);\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n\r\n // Create and configure initial Decimal constructor.\r\n Decimal = clone(Decimal);\r\n\r\n Decimal['default'] = Decimal.Decimal = Decimal;\r\n\r\n // Internal constant.\r\n ONE = new Decimal(1);\r\n\r\n\r\n // Export.\r\n\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () {\r\n return Decimal;\r\n });\r\n\r\n // Node and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n module.exports = Decimal;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalScope) {\r\n globalScope = typeof self != 'undefined' && self && self.self == self\r\n ? self : Function('return this')();\r\n }\r\n\r\n globalScope.Decimal = Decimal;\r\n }\r\n})(this);\r\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","const HAS_WEAKSET_SUPPORT = typeof WeakSet === 'function';\n\nconst { keys } = Object;\n\ntype Cache = {\n add: (value: any) => void;\n has: (value: any) => boolean;\n};\n\nexport type EqualityComparator = (a: any, b: any, meta?: any) => boolean;\n\n/**\n * are the values passed strictly equal or both NaN\n *\n * @param a the value to compare against\n * @param b the value to test\n * @returns are the values equal by the SameValueZero principle\n */\nexport function sameValueZeroEqual(a: any, b: any) {\n return a === b || (a !== a && b !== b);\n}\n\n/**\n * is the value a plain object\n *\n * @param value the value to test\n * @returns is the value a plain object\n */\nexport function isPlainObject(value: any) {\n return value.constructor === Object || value.constructor == null;\n}\n\n/**\n * is the value promise-like (meaning it is thenable)\n *\n * @param value the value to test\n * @returns is the value promise-like\n */\nexport function isPromiseLike(value: any) {\n return !!value && typeof value.then === 'function';\n}\n\n/**\n * is the value passed a react element\n *\n * @param value the value to test\n * @returns is the value a react element\n */\nexport function isReactElement(value: any) {\n return !!(value && value.$$typeof);\n}\n\n/**\n * in cases where WeakSet is not supported, creates a new custom\n * object that mimics the necessary API aspects for cache purposes\n *\n * @returns the new cache object\n */\nexport function getNewCacheFallback(): Cache {\n const values: any[] = [];\n\n return {\n add(value: any) {\n values.push(value);\n },\n\n has(value: any) {\n return values.indexOf(value) !== -1;\n },\n };\n}\n\n/**\n * get a new cache object to prevent circular references\n *\n * @returns the new cache object\n */\nexport const getNewCache = ((canUseWeakMap: boolean) => {\n if (canUseWeakMap) {\n return function _getNewCache(): Cache {\n return new WeakSet();\n };\n }\n\n return getNewCacheFallback;\n})(HAS_WEAKSET_SUPPORT);\n\n/**\n * create a custom isEqual handler specific to circular objects\n *\n * @param [isEqual] the isEqual comparator to use instead of isDeepEqual\n * @returns the method to create the `isEqual` function\n */\nexport function createCircularEqualCreator(isEqual?: EqualityComparator) {\n return function createCircularEqual(comparator: EqualityComparator) {\n const _comparator = isEqual || comparator;\n\n return function circularEqual(\n a: any,\n b: any,\n cache: Cache = getNewCache(),\n ) {\n const isCacheableA = !!a && typeof a === 'object';\n const isCacheableB = !!b && typeof b === 'object';\n\n if (isCacheableA || isCacheableB) {\n const hasA = isCacheableA && cache.has(a);\n const hasB = isCacheableB && cache.has(b);\n\n if (hasA || hasB) {\n return hasA && hasB;\n }\n\n if (isCacheableA) {\n cache.add(a);\n }\n\n if (isCacheableB) {\n cache.add(b);\n }\n }\n\n return _comparator(a, b, cache);\n };\n };\n}\n\n/**\n * are the arrays equal in value\n *\n * @param a the array to test\n * @param b the array to test against\n * @param isEqual the comparator to determine equality\n * @param meta the meta object to pass through\n * @returns are the arrays equal\n */\nexport function areArraysEqual(\n a: any[],\n b: any[],\n isEqual: EqualityComparator,\n meta: any,\n) {\n let index = a.length;\n\n if (b.length !== index) {\n return false;\n }\n\n while (index-- > 0) {\n if (!isEqual(a[index], b[index], meta)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * are the maps equal in value\n *\n * @param a the map to test\n * @param b the map to test against\n * @param isEqual the comparator to determine equality\n * @param meta the meta map to pass through\n * @returns are the maps equal\n */\nexport function areMapsEqual(\n a: Map,\n b: Map,\n isEqual: EqualityComparator,\n meta: any,\n) {\n let isValueEqual = a.size === b.size;\n\n if (isValueEqual && a.size) {\n const matchedIndices: Record = {};\n\n a.forEach((aValue, aKey) => {\n if (isValueEqual) {\n let hasMatch = false;\n let matchIndex = 0;\n\n b.forEach((bValue, bKey) => {\n if (!hasMatch && !matchedIndices[matchIndex]) {\n hasMatch =\n isEqual(aKey, bKey, meta) && isEqual(aValue, bValue, meta);\n\n if (hasMatch) {\n matchedIndices[matchIndex] = true;\n }\n }\n\n matchIndex++;\n });\n\n isValueEqual = hasMatch;\n }\n });\n }\n\n return isValueEqual;\n}\n\ntype Dictionary = {\n [key: string]: Type;\n [index: number]: Type;\n};\n\nconst OWNER = '_owner';\n\nconst hasOwnProperty = Function.prototype.bind.call(\n Function.prototype.call,\n Object.prototype.hasOwnProperty,\n);\n\n/**\n * are the objects equal in value\n *\n * @param a the object to test\n * @param b the object to test against\n * @param isEqual the comparator to determine equality\n * @param meta the meta object to pass through\n * @returns are the objects equal\n */\nexport function areObjectsEqual(\n a: Dictionary,\n b: Dictionary,\n isEqual: EqualityComparator,\n meta: any,\n) {\n const keysA = keys(a);\n\n let index = keysA.length;\n\n if (keys(b).length !== index) {\n return false;\n }\n\n if (index) {\n let key: string;\n\n while (index-- > 0) {\n key = keysA[index];\n\n if (key === OWNER) {\n const reactElementA = isReactElement(a);\n const reactElementB = isReactElement(b);\n\n if (\n (reactElementA || reactElementB) &&\n reactElementA !== reactElementB\n ) {\n return false;\n }\n }\n\n if (!hasOwnProperty(b, key) || !isEqual(a[key], b[key], meta)) {\n return false;\n }\n }\n }\n\n return true;\n}\n\n/**\n * are the regExps equal in value\n *\n * @param a the regExp to test\n * @param b the regExp to test agains\n * @returns are the regExps equal\n */\nexport function areRegExpsEqual(a: RegExp, b: RegExp) {\n return (\n a.source === b.source &&\n a.global === b.global &&\n a.ignoreCase === b.ignoreCase &&\n a.multiline === b.multiline &&\n a.unicode === b.unicode &&\n a.sticky === b.sticky &&\n a.lastIndex === b.lastIndex\n );\n}\n\n/**\n * are the sets equal in value\n *\n * @param a the set to test\n * @param b the set to test against\n * @param isEqual the comparator to determine equality\n * @param meta the meta set to pass through\n * @returns are the sets equal\n */\nexport function areSetsEqual(\n a: Set,\n b: Set,\n isEqual: EqualityComparator,\n meta: any,\n) {\n let isValueEqual = a.size === b.size;\n\n if (isValueEqual && a.size) {\n const matchedIndices: Record = {};\n\n a.forEach((aValue) => {\n if (isValueEqual) {\n let hasMatch = false;\n let matchIndex = 0;\n\n b.forEach((bValue) => {\n if (!hasMatch && !matchedIndices[matchIndex]) {\n hasMatch = isEqual(aValue, bValue, meta);\n\n if (hasMatch) {\n matchedIndices[matchIndex] = true;\n }\n }\n\n matchIndex++;\n });\n\n isValueEqual = hasMatch;\n }\n });\n }\n\n return isValueEqual;\n}\n","import {\n EqualityComparator,\n areArraysEqual,\n areMapsEqual,\n areObjectsEqual,\n areRegExpsEqual,\n areSetsEqual,\n isPlainObject,\n isPromiseLike,\n sameValueZeroEqual,\n} from './utils';\n\nconst HAS_MAP_SUPPORT = typeof Map === 'function';\nconst HAS_SET_SUPPORT = typeof Set === 'function';\n\ntype EqualityComparatorCreator = (fn: EqualityComparator) => EqualityComparator;\n\nexport function createComparator(createIsEqual?: EqualityComparatorCreator) {\n const isEqual: EqualityComparator =\n /* eslint-disable no-use-before-define */\n typeof createIsEqual === 'function'\n ? createIsEqual(comparator)\n : comparator;\n /* eslint-enable */\n\n /**\n * compare the value of the two objects and return true if they are equivalent in values\n *\n * @param a the value to test against\n * @param b the value to test\n * @param [meta] an optional meta object that is passed through to all equality test calls\n * @returns are a and b equivalent in value\n */\n function comparator(a: any, b: any, meta?: any) {\n if (a === b) {\n return true;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (isPlainObject(a) && isPlainObject(b)) {\n return areObjectsEqual(a, b, isEqual, meta);\n }\n\n let aShape = Array.isArray(a);\n let bShape = Array.isArray(b);\n\n if (aShape || bShape) {\n return aShape === bShape && areArraysEqual(a, b, isEqual, meta);\n }\n\n aShape = a instanceof Date;\n bShape = b instanceof Date;\n\n if (aShape || bShape) {\n return (\n aShape === bShape && sameValueZeroEqual(a.getTime(), b.getTime())\n );\n }\n\n aShape = a instanceof RegExp;\n bShape = b instanceof RegExp;\n\n if (aShape || bShape) {\n return aShape === bShape && areRegExpsEqual(a, b);\n }\n\n if (isPromiseLike(a) || isPromiseLike(b)) {\n return a === b;\n }\n\n if (HAS_MAP_SUPPORT) {\n aShape = a instanceof Map;\n bShape = b instanceof Map;\n\n if (aShape || bShape) {\n return aShape === bShape && areMapsEqual(a, b, isEqual, meta);\n }\n }\n\n if (HAS_SET_SUPPORT) {\n aShape = a instanceof Set;\n bShape = b instanceof Set;\n\n if (aShape || bShape) {\n return aShape === bShape && areSetsEqual(a, b, isEqual, meta);\n }\n }\n\n return areObjectsEqual(a, b, isEqual, meta);\n }\n\n return a !== a && b !== b;\n }\n\n return comparator;\n}\n","import { createComparator } from './comparator';\nimport { createCircularEqualCreator, sameValueZeroEqual } from './utils';\n\nexport { createComparator as createCustomEqual, sameValueZeroEqual };\n\nexport const deepEqual = createComparator();\nexport const shallowEqual = createComparator(() => sameValueZeroEqual);\n\nexport const circularDeepEqual = createComparator(createCircularEqualCreator());\nexport const circularShallowEqual = createComparator(\n createCircularEqualCreator(sameValueZeroEqual),\n);\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\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;\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;\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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){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)};exports.typeOf=z;\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}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\nfunction arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = arrayEvery;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\nfunction baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n}\n\nmodule.exports = baseEvery;\n","var isSymbol = require('./isSymbol');\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseExtremum;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\nmodule.exports = baseGt;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nmodule.exports = baseLt;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nmodule.exports = baseRange;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\nmodule.exports = baseSome;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n","var baseRange = require('./_baseRange'),\n isIterateeCall = require('./_isIterateeCall'),\n toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nmodule.exports = createRange;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var arrayEvery = require('./_arrayEvery'),\n baseEvery = require('./_baseEvery'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\nfunction every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = every;\n","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","var baseFlatten = require('./_baseFlatten'),\n map = require('./map');\n\n/**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n}\n\nmodule.exports = flatMap;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n}\n\nmodule.exports = isBoolean;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","/**\n * Checks if `value` is `null` or `undefined`.\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 nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or 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 a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","var baseExtremum = require('./_baseExtremum'),\n baseGt = require('./_baseGt'),\n identity = require('./identity');\n\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\nfunction max(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseGt)\n : undefined;\n}\n\nmodule.exports = max;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseExtremum = require('./_baseExtremum'),\n baseLt = require('./_baseLt'),\n identity = require('./identity');\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n}\n\nmodule.exports = min;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","var arraySome = require('./_arraySome'),\n baseIteratee = require('./_baseIteratee'),\n baseSome = require('./_baseSome'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = some;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(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 '_'\n ),\n monthsShort: function (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:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(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 () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\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, // 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 invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\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 (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\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 for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\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 (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\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 return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (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 var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\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 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 (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // 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 this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\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 for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\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 (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\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 (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([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 = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\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 for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\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] =\n formatFunctions[format] || makeFormatFunction(format);\n\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 while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\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\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\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)\n ? output(number, withoutSuffix, string, isFuture)\n : 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 D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : 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 if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 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 =\n /[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 match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : 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 }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\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 var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; 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 function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\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 // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // 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\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n 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 });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\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 if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\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 prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\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 (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\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\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n '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)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).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 if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\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 }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\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);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\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 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 return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\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 return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : 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 shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\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;\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 date = new Date(y + 400, m, d, h, M, s, ms);\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;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\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 }\n\n // start-of-first-week - start-of-year\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\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\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 }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\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, // 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 function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\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 }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // 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\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\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 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 return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n '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)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\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(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).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 if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\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 if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\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\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\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 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 }\n\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 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 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 return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\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 return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\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 return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : 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 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 }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\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\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // 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, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\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 });\n\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\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\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 for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\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 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 while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\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 return locales[name];\n }\n\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 function getSetGlobalLocale(key, values) {\n var data;\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(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\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 if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\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 if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\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 }\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 getSetGlobalLocale(name);\n\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 if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\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 locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\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 if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\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 if (locale) {\n return locale;\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 =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\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 var extendedIsoRegex =\n /^\\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 =\n /^\\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 = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(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 };\n\n // date from iso format\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 isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; 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 if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; 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 if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\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 config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\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 if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\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\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .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(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\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 }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n 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\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\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(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\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 if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\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 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);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\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 }\n\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 for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\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 }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // 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 weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\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\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\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 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 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 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 }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\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 if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\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 tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\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 if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\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(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\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\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\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 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 (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\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\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(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\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 function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\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\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n 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 this._days = +days + weeks * 7;\n // 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 this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\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 }\n\n // compare two arrays, return the number of differences\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 for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // 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 });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\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\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\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 }\n\n // HOOKS\n\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 hooks.updateOffset = function () {};\n\n // MOMENTS\n\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 function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\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\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 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 if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\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 =\n 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 }\n\n // ASP.NET json date format regex\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 =\n /^(-|\\+)?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 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 } 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 (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\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(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\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\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\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 }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\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 if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\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 }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; 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 if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\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\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : '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 }\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 var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\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 if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\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 if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\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 if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\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\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\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 }\n // difference in months\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');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\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 var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : '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)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\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 function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\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\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .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 (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\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 function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\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;\n\n // actual modulo - handles negative numbers (for dates before 1970):\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 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 case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\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 hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\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 case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\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 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 [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\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\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\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\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 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 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 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 break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\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 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 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 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 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 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 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 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 for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\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 return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\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 erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\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(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\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');\n\n // ALIASES\n\n // 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\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\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 return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\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\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\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 });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\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);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // 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\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 if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\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(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\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\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\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\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\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 for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\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 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 {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\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\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\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;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\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 var days,\n months,\n milliseconds = this._milliseconds;\n\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 switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\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 switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\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 valueOf$1 = asMilliseconds;\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, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\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 =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\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 if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\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 }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\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\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\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\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // 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 });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\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;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","!function t(e,r){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=r();else if(\"function\"==typeof define&&define.amd)define([],r);else{var n=r();for(var i in n)(\"object\"==typeof exports?exports:e)[i]=n[i]}}(this,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function e(){return t.default}:function e(){return t};return r.d(e,\"a\",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p=\"\",r(r.s=22)}([function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var r=0;r=4){for(var e=arguments.length,r=Array(e),n=0;n=3){for(var e=arguments.length,r=Array(e),n=0;n=2){for(var e=arguments.length,r=Array(e),n=0;n=1){for(var e=arguments.length,r=Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(s(this,t),!e)throw i.Log.error(\"MetadataService: No settings passed to MetadataService\"),new Error(\"settings\");this._settings=e,this._jsonService=new r([\"application/jwk-set+json\"])}return t.prototype.resetSigningKeys=function t(){this._settings=this._settings||{},this._settings.signingKeys=void 0},t.prototype.getMetadata=function t(){var e=this;return this._settings.metadata?(i.Log.debug(\"MetadataService.getMetadata: Returning metadata from settings\"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug(\"MetadataService.getMetadata: getting metadata from\",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(t){i.Log.debug(\"MetadataService.getMetadata: json received\");var r=e._settings.metadataSeed||{};return e._settings.metadata=Object.assign({},r,t),e._settings.metadata}))):(i.Log.error(\"MetadataService.getMetadata: No authority or metadataUrl configured on settings\"),Promise.reject(new Error(\"No authority or metadataUrl configured on settings\")))},t.prototype.getIssuer=function t(){return this._getMetadataProperty(\"issuer\")},t.prototype.getAuthorizationEndpoint=function t(){return this._getMetadataProperty(\"authorization_endpoint\")},t.prototype.getUserInfoEndpoint=function t(){return this._getMetadataProperty(\"userinfo_endpoint\")},t.prototype.getTokenEndpoint=function t(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty(\"token_endpoint\",e)},t.prototype.getCheckSessionIframe=function t(){return this._getMetadataProperty(\"check_session_iframe\",!0)},t.prototype.getEndSessionEndpoint=function t(){return this._getMetadataProperty(\"end_session_endpoint\",!0)},t.prototype.getRevocationEndpoint=function t(){return this._getMetadataProperty(\"revocation_endpoint\",!0)},t.prototype.getKeysEndpoint=function t(){return this._getMetadataProperty(\"jwks_uri\",!0)},t.prototype._getMetadataProperty=function t(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug(\"MetadataService.getMetadataProperty for: \"+e),this.getMetadata().then((function(t){if(i.Log.debug(\"MetadataService.getMetadataProperty: metadata recieved\"),void 0===t[e]){if(!0===r)return void i.Log.warn(\"MetadataService.getMetadataProperty: Metadata does not contain optional property \"+e);throw i.Log.error(\"MetadataService.getMetadataProperty: Metadata does not contain property \"+e),new Error(\"Metadata does not contain property \"+e)}return t[e]}))},t.prototype.getSigningKeys=function t(){var e=this;return this._settings.signingKeys?(i.Log.debug(\"MetadataService.getSigningKeys: Returning signingKeys from settings\"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty(\"jwks_uri\").then((function(t){return i.Log.debug(\"MetadataService.getSigningKeys: jwks_uri received\",t),e._jsonService.getJson(t).then((function(t){if(i.Log.debug(\"MetadataService.getSigningKeys: key set received\",t),!t.keys)throw i.Log.error(\"MetadataService.getSigningKeys: Missing keys on keyset\"),new Error(\"Missing keys on keyset\");return e._settings.signingKeys=t.keys,e._settings.signingKeys}))}))},n(t,[{key:\"metadataUrl\",get:function t(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(a)<0&&(\"/\"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+=\"/\"),this._metadataUrl+=a))),this._metadataUrl}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UrlUtility=void 0;var n=r(0),i=r(1);e.UrlUtility=function(){function t(){!function e(t,r){if(!(t instanceof r))throw new TypeError(\"Cannot call a class as a function\")}(this,t)}return t.addQueryParam=function t(e,r,n){return e.indexOf(\"?\")<0&&(e+=\"?\"),\"?\"!==e[e.length-1]&&(e+=\"&\"),e+=encodeURIComponent(r),e+=\"=\",e+=encodeURIComponent(n)},t.parseUrlFragment=function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#\",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;\"string\"!=typeof e&&(e=o.location.href);var s=e.lastIndexOf(r);s>=0&&(e=e.substr(s+1)),\"?\"===r&&(s=e.indexOf(\"#\"))>=0&&(e=e.substr(0,s));for(var a,u={},c=/([^&=]+)=([^&]*)/g,h=0;a=c.exec(e);)if(u[decodeURIComponent(a[1])]=decodeURIComponent(a[2].replace(/\\+/g,\" \")),h++>50)return n.Log.error(\"UrlUtility.parseUrlFragment: response exceeded expected number of parameters\",e),{error:\"Response exceeded expected number of parameters\"};for(var l in u)return u;return{}},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.JoseUtil=void 0;var n=r(26),i=function o(t){return t&&t.__esModule?t:{default:t}}(r(33));e.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OidcClientSettings=void 0;var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.authority,i=e.metadataUrl,o=e.metadata,l=e.signingKeys,p=e.metadataSeed,v=e.client_id,y=e.client_secret,m=e.response_type,_=void 0===m?f:m,S=e.scope,b=void 0===S?g:S,w=e.redirect_uri,F=e.post_logout_redirect_uri,E=e.client_authentication,x=void 0===E?d:E,A=e.prompt,k=e.display,P=e.max_age,C=e.ui_locales,T=e.acr_values,R=e.resource,I=e.response_mode,D=e.filterProtocolClaims,L=void 0===D||D,N=e.loadUserInfo,U=void 0===N||N,B=e.staleStateAge,O=void 0===B?900:B,j=e.clockSkew,M=void 0===j?300:j,H=e.clockService,V=void 0===H?new s.ClockService:H,K=e.userInfoJwtIssuer,q=void 0===K?\"OP\":K,J=e.mergeClaims,W=void 0!==J&&J,z=e.stateStore,Y=void 0===z?new a.WebStorageStateStore:z,G=e.ResponseValidatorCtor,X=void 0===G?u.ResponseValidator:G,$=e.MetadataServiceCtor,Q=void 0===$?c.MetadataService:$,Z=e.extraQueryParams,tt=void 0===Z?{}:Z,et=e.extraTokenParams,rt=void 0===et?{}:et;h(this,t),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=p,this._signingKeys=l,this._client_id=v,this._client_secret=y,this._response_type=_,this._scope=b,this._redirect_uri=w,this._post_logout_redirect_uri=F,this._client_authentication=x,this._prompt=A,this._display=k,this._max_age=P,this._ui_locales=C,this._acr_values=T,this._resource=R,this._response_mode=I,this._filterProtocolClaims=!!L,this._loadUserInfo=!!U,this._staleStateAge=O,this._clockSkew=M,this._clockService=V,this._userInfoJwtIssuer=q,this._mergeClaims=!!W,this._stateStore=Y,this._validator=new X(this),this._metadataService=new Q(this),this._extraQueryParams=\"object\"===(void 0===tt?\"undefined\":n(tt))?tt:{},this._extraTokenParams=\"object\"===(void 0===rt?\"undefined\":n(rt))?rt:{}}return t.prototype.getEpochTime=function t(){return this._clockService.getEpochTime()},i(t,[{key:\"client_id\",get:function t(){return this._client_id},set:function t(e){if(this._client_id)throw o.Log.error(\"OidcClientSettings.set_client_id: client_id has already been assigned.\"),new Error(\"client_id has already been assigned.\");this._client_id=e}},{key:\"client_secret\",get:function t(){return this._client_secret}},{key:\"response_type\",get:function t(){return this._response_type}},{key:\"scope\",get:function t(){return this._scope}},{key:\"redirect_uri\",get:function t(){return this._redirect_uri}},{key:\"post_logout_redirect_uri\",get:function t(){return this._post_logout_redirect_uri}},{key:\"client_authentication\",get:function t(){return this._client_authentication}},{key:\"prompt\",get:function t(){return this._prompt}},{key:\"display\",get:function t(){return this._display}},{key:\"max_age\",get:function t(){return this._max_age}},{key:\"ui_locales\",get:function t(){return this._ui_locales}},{key:\"acr_values\",get:function t(){return this._acr_values}},{key:\"resource\",get:function t(){return this._resource}},{key:\"response_mode\",get:function t(){return this._response_mode}},{key:\"authority\",get:function t(){return this._authority},set:function t(e){if(this._authority)throw o.Log.error(\"OidcClientSettings.set_authority: authority has already been assigned.\"),new Error(\"authority has already been assigned.\");this._authority=e}},{key:\"metadataUrl\",get:function t(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(l)<0&&(\"/\"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+=\"/\"),this._metadataUrl+=l)),this._metadataUrl}},{key:\"metadata\",get:function t(){return this._metadata},set:function t(e){this._metadata=e}},{key:\"metadataSeed\",get:function t(){return this._metadataSeed},set:function t(e){this._metadataSeed=e}},{key:\"signingKeys\",get:function t(){return this._signingKeys},set:function t(e){this._signingKeys=e}},{key:\"filterProtocolClaims\",get:function t(){return this._filterProtocolClaims}},{key:\"loadUserInfo\",get:function t(){return this._loadUserInfo}},{key:\"staleStateAge\",get:function t(){return this._staleStateAge}},{key:\"clockSkew\",get:function t(){return this._clockSkew}},{key:\"userInfoJwtIssuer\",get:function t(){return this._userInfoJwtIssuer}},{key:\"mergeClaims\",get:function t(){return this._mergeClaims}},{key:\"stateStore\",get:function t(){return this._stateStore}},{key:\"validator\",get:function t(){return this._validator}},{key:\"metadataService\",get:function t(){return this._metadataService}},{key:\"extraQueryParams\",get:function t(){return this._extraQueryParams},set:function t(e){\"object\"===(void 0===e?\"undefined\":n(e))?this._extraQueryParams=e:this._extraQueryParams={}}},{key:\"extraTokenParams\",get:function t(){return this._extraTokenParams},set:function t(e){\"object\"===(void 0===e?\"undefined\":n(e))?this._extraTokenParams=e:this._extraTokenParams={}}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebStorageStateStore=void 0;var n=r(0),i=r(1);function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.WebStorageStateStore=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.prefix,n=void 0===r?\"oidc.\":r,s=e.store,a=void 0===s?i.Global.localStorage:s;o(this,t),this._store=a,this._prefix=n}return t.prototype.set=function t(e,r){return n.Log.debug(\"WebStorageStateStore.set\",e),e=this._prefix+e,this._store.setItem(e,r),Promise.resolve()},t.prototype.get=function t(e){n.Log.debug(\"WebStorageStateStore.get\",e),e=this._prefix+e;var r=this._store.getItem(e);return Promise.resolve(r)},t.prototype.remove=function t(e){n.Log.debug(\"WebStorageStateStore.remove\",e),e=this._prefix+e;var r=this._store.getItem(e);return this._store.removeItem(e),Promise.resolve(r)},t.prototype.getAllKeys=function t(){n.Log.debug(\"WebStorageStateStore.getAllKeys\");for(var e=[],r=0;r0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;o(this,t),e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push(\"application/json\"),n&&this._contentTypes.push(\"application/jwt\"),this._XMLHttpRequest=r,this._jwtHandler=n}return t.prototype.getJson=function t(e,r){var i=this;if(!e)throw n.Log.error(\"JsonService.getJson: No url passed\"),new Error(\"url\");return n.Log.debug(\"JsonService.getJson, url: \",e),new Promise((function(t,o){var s=new i._XMLHttpRequest;s.open(\"GET\",e);var a=i._contentTypes,u=i._jwtHandler;s.onload=function(){if(n.Log.debug(\"JsonService.getJson: HTTP response received, status\",s.status),200===s.status){var r=s.getResponseHeader(\"Content-Type\");if(r){var i=a.find((function(t){if(r.startsWith(t))return!0}));if(\"application/jwt\"==i)return void u(s).then(t,o);if(i)try{return void t(JSON.parse(s.responseText))}catch(t){return n.Log.error(\"JsonService.getJson: Error parsing JSON response\",t.message),void o(t)}}o(Error(\"Invalid response Content-Type: \"+r+\", from URL: \"+e))}else o(Error(s.statusText+\" (\"+s.status+\")\"))},s.onerror=function(){n.Log.error(\"JsonService.getJson: network error\"),o(Error(\"Network Error\"))},r&&(n.Log.debug(\"JsonService.getJson: token passed, setting Authorization header\"),s.setRequestHeader(\"Authorization\",\"Bearer \"+r)),s.send()}))},t.prototype.postForm=function t(e,r,i){var o=this;if(!e)throw n.Log.error(\"JsonService.postForm: No url passed\"),new Error(\"url\");return n.Log.debug(\"JsonService.postForm, url: \",e),new Promise((function(t,s){var a=new o._XMLHttpRequest;a.open(\"POST\",e);var u=o._contentTypes;a.onload=function(){if(n.Log.debug(\"JsonService.postForm: HTTP response received, status\",a.status),200!==a.status){if(400===a.status)if(i=a.getResponseHeader(\"Content-Type\"))if(u.find((function(t){if(i.startsWith(t))return!0})))try{var r=JSON.parse(a.responseText);if(r&&r.error)return n.Log.error(\"JsonService.postForm: Error from server: \",r.error),void s(new Error(r.error))}catch(t){return n.Log.error(\"JsonService.postForm: Error parsing JSON response\",t.message),void s(t)}s(Error(a.statusText+\" (\"+a.status+\")\"))}else{var i;if((i=a.getResponseHeader(\"Content-Type\"))&&u.find((function(t){if(i.startsWith(t))return!0})))try{return void t(JSON.parse(a.responseText))}catch(t){return n.Log.error(\"JsonService.postForm: Error parsing JSON response\",t.message),void s(t)}s(Error(\"Invalid response Content-Type: \"+i+\", from URL: \"+e))}},a.onerror=function(){n.Log.error(\"JsonService.postForm: network error\"),s(Error(\"Network Error\"))};var c=\"\";for(var h in r){var l=r[h];l&&(c.length>0&&(c+=\"&\"),c+=encodeURIComponent(h),c+=\"=\",c+=encodeURIComponent(l))}a.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\"),void 0!==i&&a.setRequestHeader(\"Authorization\",\"Basic \"+btoa(i)),a.send(c)}))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SigninRequest=void 0;var n=r(0),i=r(3),o=r(13);e.SigninRequest=function(){function t(e){var r=e.url,s=e.client_id,a=e.redirect_uri,u=e.response_type,c=e.scope,h=e.authority,l=e.data,f=e.prompt,g=e.display,d=e.max_age,p=e.ui_locales,v=e.id_token_hint,y=e.login_hint,m=e.acr_values,_=e.resource,S=e.response_mode,b=e.request,w=e.request_uri,F=e.extraQueryParams,E=e.request_type,x=e.client_secret,A=e.extraTokenParams,k=e.skipUserInfo;if(function P(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),!r)throw n.Log.error(\"SigninRequest.ctor: No url passed\"),new Error(\"url\");if(!s)throw n.Log.error(\"SigninRequest.ctor: No client_id passed\"),new Error(\"client_id\");if(!a)throw n.Log.error(\"SigninRequest.ctor: No redirect_uri passed\"),new Error(\"redirect_uri\");if(!u)throw n.Log.error(\"SigninRequest.ctor: No response_type passed\"),new Error(\"response_type\");if(!c)throw n.Log.error(\"SigninRequest.ctor: No scope passed\"),new Error(\"scope\");if(!h)throw n.Log.error(\"SigninRequest.ctor: No authority passed\"),new Error(\"authority\");var C=t.isOidc(u),T=t.isCode(u);S||(S=t.isCode(u)?\"query\":null),this.state=new o.SigninState({nonce:C,data:l,client_id:s,authority:h,redirect_uri:a,code_verifier:T,request_type:E,response_mode:S,client_secret:x,scope:c,extraTokenParams:A,skipUserInfo:k}),r=i.UrlUtility.addQueryParam(r,\"client_id\",s),r=i.UrlUtility.addQueryParam(r,\"redirect_uri\",a),r=i.UrlUtility.addQueryParam(r,\"response_type\",u),r=i.UrlUtility.addQueryParam(r,\"scope\",c),r=i.UrlUtility.addQueryParam(r,\"state\",this.state.id),C&&(r=i.UrlUtility.addQueryParam(r,\"nonce\",this.state.nonce)),T&&(r=i.UrlUtility.addQueryParam(r,\"code_challenge\",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,\"code_challenge_method\",\"S256\"));var R={prompt:f,display:g,max_age:d,ui_locales:p,id_token_hint:v,login_hint:y,acr_values:m,resource:_,request:b,request_uri:w,response_mode:S};for(var I in R)R[I]&&(r=i.UrlUtility.addQueryParam(r,I,R[I]));for(var D in F)r=i.UrlUtility.addQueryParam(r,D,F[D]);this.url=r}return t.isOidc=function t(e){return!!e.split(/\\s+/g).filter((function(t){return\"id_token\"===t}))[0]},t.isOAuth=function t(e){return!!e.split(/\\s+/g).filter((function(t){return\"token\"===t}))[0]},t.isCode=function t(e){return!!e.split(/\\s+/g).filter((function(t){return\"code\"===t}))[0]},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.State=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.id,n=e.data,i=e.created,s=e.request_type;a(this,t),this._id=r||(0,o.default)(),this._data=n,this._created=\"number\"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=s}return t.prototype.toStorageString=function t(){return i.Log.debug(\"State.toStorageString\"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},t.fromStorageString=function e(r){return i.Log.debug(\"State.fromStorageString\"),new t(JSON.parse(r))},t.clearStaleState=function e(r,n){var o=Date.now()/1e3-n;return r.getAllKeys().then((function(e){i.Log.debug(\"State.clearStaleState: got keys\",e);for(var n=[],s=function s(a){var c=e[a];u=r.get(c).then((function(e){var n=!1;if(e)try{var s=t.fromStorageString(e);i.Log.debug(\"State.clearStaleState: got item from key: \",c,s.created),s.created<=o&&(n=!0)}catch(t){i.Log.error(\"State.clearStaleState: Error parsing state for key\",c,t.message),n=!0}else i.Log.debug(\"State.clearStaleState: no item in storage for key: \",c),n=!0;if(n)return i.Log.debug(\"State.clearStaleState: removed item for key: \",c),r.remove(c)})),n.push(u)},a=0;a0&&void 0!==arguments[0]?arguments[0]:{};g(this,t),e instanceof o.OidcClientSettings?this._settings=e:this._settings=new o.OidcClientSettings(e)}return t.prototype.createSigninRequest=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.response_type,o=r.scope,s=r.redirect_uri,u=r.data,c=r.state,h=r.prompt,l=r.display,f=r.max_age,g=r.ui_locales,d=r.id_token_hint,p=r.login_hint,v=r.acr_values,y=r.resource,m=r.request,_=r.request_uri,S=r.response_mode,b=r.extraQueryParams,w=r.extraTokenParams,F=r.request_type,E=r.skipUserInfo,x=arguments[1];i.Log.debug(\"OidcClient.createSigninRequest\");var A=this._settings.client_id;n=n||this._settings.response_type,o=o||this._settings.scope,s=s||this._settings.redirect_uri,h=h||this._settings.prompt,l=l||this._settings.display,f=f||this._settings.max_age,g=g||this._settings.ui_locales,v=v||this._settings.acr_values,y=y||this._settings.resource,S=S||this._settings.response_mode,b=b||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var k=this._settings.authority;return a.SigninRequest.isCode(n)&&\"code\"!==n?Promise.reject(new Error(\"OpenID Connect hybrid flow is not supported\")):this._metadataService.getAuthorizationEndpoint().then((function(t){i.Log.debug(\"OidcClient.createSigninRequest: Received authorization endpoint\",t);var r=new a.SigninRequest({url:t,client_id:A,redirect_uri:s,response_type:n,scope:o,data:u||c,authority:k,prompt:h,display:l,max_age:f,ui_locales:g,id_token_hint:d,login_hint:p,acr_values:v,resource:y,request:m,request_uri:_,extraQueryParams:b,extraTokenParams:w,request_type:F,response_mode:S,client_secret:e._settings.client_secret,skipUserInfo:E}),P=r.state;return(x=x||e._stateStore).set(P.id,P.toStorageString()).then((function(){return r}))}))},t.prototype.readSigninResponseState=function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug(\"OidcClient.readSigninResponseState\");var o=\"query\"===this._settings.response_mode||!this._settings.response_mode&&a.SigninRequest.isCode(this._settings.response_type),s=o?\"?\":\"#\",c=new u.SigninResponse(e,s);if(!c.state)return i.Log.error(\"OidcClient.readSigninResponseState: No state in response\"),Promise.reject(new Error(\"No state in response\"));r=r||this._stateStore;var h=n?r.remove.bind(r):r.get.bind(r);return h(c.state).then((function(t){if(!t)throw i.Log.error(\"OidcClient.readSigninResponseState: No matching state found in storage\"),new Error(\"No matching state found in storage\");return{state:l.SigninState.fromStorageString(t),response:c}}))},t.prototype.processSigninResponse=function t(e,r){var n=this;return i.Log.debug(\"OidcClient.processSigninResponse\"),this.readSigninResponseState(e,r,!0).then((function(t){var e=t.state,r=t.response;return i.Log.debug(\"OidcClient.processSigninResponse: Received state from storage; validating response\"),n._validator.validateSigninResponse(e,r)}))},t.prototype.createSignoutRequest=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.id_token_hint,o=r.data,s=r.state,a=r.post_logout_redirect_uri,u=r.extraQueryParams,h=r.request_type,l=arguments[1];return i.Log.debug(\"OidcClient.createSignoutRequest\"),a=a||this._settings.post_logout_redirect_uri,u=u||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(t){if(!t)throw i.Log.error(\"OidcClient.createSignoutRequest: No end session endpoint url returned\"),new Error(\"no end session endpoint\");i.Log.debug(\"OidcClient.createSignoutRequest: Received end session endpoint\",t);var r=new c.SignoutRequest({url:t,id_token_hint:n,post_logout_redirect_uri:a,data:o||s,extraQueryParams:u,request_type:h}),f=r.state;return f&&(i.Log.debug(\"OidcClient.createSignoutRequest: Signout request has state to persist\"),(l=l||e._stateStore).set(f.id,f.toStorageString())),r}))},t.prototype.readSignoutResponseState=function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug(\"OidcClient.readSignoutResponseState\");var o=new h.SignoutResponse(e);if(!o.state)return i.Log.debug(\"OidcClient.readSignoutResponseState: No state in response\"),o.error?(i.Log.warn(\"OidcClient.readSignoutResponseState: Response was error: \",o.error),Promise.reject(new s.ErrorResponse(o))):Promise.resolve({state:void 0,response:o});var a=o.state;r=r||this._stateStore;var u=n?r.remove.bind(r):r.get.bind(r);return u(a).then((function(t){if(!t)throw i.Log.error(\"OidcClient.readSignoutResponseState: No matching state found in storage\"),new Error(\"No matching state found in storage\");return{state:f.State.fromStorageString(t),response:o}}))},t.prototype.processSignoutResponse=function t(e,r){var n=this;return i.Log.debug(\"OidcClient.processSignoutResponse\"),this.readSignoutResponseState(e,r,!0).then((function(t){var e=t.state,r=t.response;return e?(i.Log.debug(\"OidcClient.processSignoutResponse: Received state from storage; validating response\"),n._validator.validateSignoutResponse(e,r)):(i.Log.debug(\"OidcClient.processSignoutResponse: No state from storage; skipping validating response\"),r)}))},t.prototype.clearStaleState=function t(e){return i.Log.debug(\"OidcClient.clearStaleState\"),e=e||this._stateStore,f.State.clearStaleState(e,this.settings.staleStateAge)},n(t,[{key:\"_stateStore\",get:function t(){return this.settings.stateStore}},{key:\"_validator\",get:function t(){return this.settings.validator}},{key:\"_metadataService\",get:function t(){return this.settings.metadataService}},{key:\"settings\",get:function t(){return this._settings}},{key:\"metadataService\",get:function t(){return this._metadataService}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TokenClient=void 0;var n=r(7),i=r(2),o=r(0);function s(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.TokenClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(s(this,t),!e)throw o.Log.error(\"TokenClient.ctor: No settings passed\"),new Error(\"settings\");this._settings=e,this._jsonService=new r,this._metadataService=new a(this._settings)}return t.prototype.exchangeCode=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).grant_type=r.grant_type||\"authorization_code\",r.client_id=r.client_id||this._settings.client_id,r.client_secret=r.client_secret||this._settings.client_secret,r.redirect_uri=r.redirect_uri||this._settings.redirect_uri;var n=void 0,i=r._client_authentication||this._settings._client_authentication;return delete r._client_authentication,r.code?r.redirect_uri?r.code_verifier?r.client_id?r.client_secret||\"client_secret_basic\"!=i?(\"client_secret_basic\"==i&&(n=r.client_id+\":\"+r.client_secret,delete r.client_id,delete r.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(t){return o.Log.debug(\"TokenClient.exchangeCode: Received token endpoint\"),e._jsonService.postForm(t,r,n).then((function(t){return o.Log.debug(\"TokenClient.exchangeCode: response received\"),t}))}))):(o.Log.error(\"TokenClient.exchangeCode: No client_secret passed\"),Promise.reject(new Error(\"A client_secret is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No client_id passed\"),Promise.reject(new Error(\"A client_id is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No code_verifier passed\"),Promise.reject(new Error(\"A code_verifier is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No redirect_uri passed\"),Promise.reject(new Error(\"A redirect_uri is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No code passed\"),Promise.reject(new Error(\"A code is required\")))},t.prototype.exchangeRefreshToken=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).grant_type=r.grant_type||\"refresh_token\",r.client_id=r.client_id||this._settings.client_id,r.client_secret=r.client_secret||this._settings.client_secret;var n=void 0,i=r._client_authentication||this._settings._client_authentication;return delete r._client_authentication,r.refresh_token?r.client_id?(\"client_secret_basic\"==i&&(n=r.client_id+\":\"+r.client_secret,delete r.client_id,delete r.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(t){return o.Log.debug(\"TokenClient.exchangeRefreshToken: Received token endpoint\"),e._jsonService.postForm(t,r,n).then((function(t){return o.Log.debug(\"TokenClient.exchangeRefreshToken: response received\"),t}))}))):(o.Log.error(\"TokenClient.exchangeRefreshToken: No client_id passed\"),Promise.reject(new Error(\"A client_id is required\"))):(o.Log.error(\"TokenClient.exchangeRefreshToken: No refresh_token passed\"),Promise.reject(new Error(\"A refresh_token is required\")))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ErrorResponse=void 0;var n=r(0);function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}e.ErrorResponse=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=r.error,a=r.error_description,u=r.error_uri,c=r.state,h=r.session_state;if(i(this,e),!s)throw n.Log.error(\"No error passed to ErrorResponse\"),new Error(\"error\");var l=o(this,t.call(this,a||s));return l.name=\"ErrorResponse\",l.error=s,l.error_description=a,l.error_uri=u,l.state=c,l.session_state=h,l}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(Error)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SigninState=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,u=r.redirect_uri,l=r.code_verifier,f=r.response_mode,g=r.client_secret,d=r.scope,p=r.extraTokenParams,v=r.skipUserInfo;c(this,e);var y=h(this,t.call(this,arguments[0]));if(!0===n?y._nonce=(0,a.default)():n&&(y._nonce=n),!0===l?y._code_verifier=(0,a.default)()+(0,a.default)()+(0,a.default)():l&&(y._code_verifier=l),y.code_verifier){var m=s.JoseUtil.hashString(y.code_verifier,\"SHA256\");y._code_challenge=s.JoseUtil.hexToBase64Url(m)}return y._redirect_uri=u,y._authority=i,y._client_id=o,y._response_mode=f,y._client_secret=g,y._scope=d,y._extraTokenParams=p,y._skipUserInfo=v,y}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.toStorageString=function t(){return i.Log.debug(\"SigninState.toStorageString\"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},e.fromStorageString=function t(r){return i.Log.debug(\"SigninState.fromStorageString\"),new e(JSON.parse(r))},n(e,[{key:\"nonce\",get:function t(){return this._nonce}},{key:\"authority\",get:function t(){return this._authority}},{key:\"client_id\",get:function t(){return this._client_id}},{key:\"redirect_uri\",get:function t(){return this._redirect_uri}},{key:\"code_verifier\",get:function t(){return this._code_verifier}},{key:\"code_challenge\",get:function t(){return this._code_challenge}},{key:\"response_mode\",get:function t(){return this._response_mode}},{key:\"client_secret\",get:function t(){return this._client_secret}},{key:\"scope\",get:function t(){return this._scope}},{key:\"extraTokenParams\",get:function t(){return this._extraTokenParams}},{key:\"skipUserInfo\",get:function t(){return this._skipUserInfo}}]),e}(o.State)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=function n(){return(\"undefined\"!=i&&null!==i&&void 0!==i.getRandomValues?o:s)().replace(/-/g,\"\")};var i=\"undefined\"!=typeof window?window.crypto||window.msCrypto:null;function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^i.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function s(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^16*Math.random()>>t/4).toString(16)}))}t.exports=e.default},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.User=void 0;var n=function(){function t(t,e){for(var r=0;r0){var n=parseInt(Date.now()/1e3);this.expires_at=n+r}}},{key:\"expired\",get:function t(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:\"scopes\",get:function t(){return(this.scope||\"\").split(\" \")}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AccessTokenEvents=void 0;var n=r(0),i=r(46);function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.AccessTokenEvents=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accessTokenExpiringNotificationTime,n=void 0===r?60:r,s=e.accessTokenExpiringTimer,a=void 0===s?new i.Timer(\"Access token expiring\"):s,u=e.accessTokenExpiredTimer,c=void 0===u?new i.Timer(\"Access token expired\"):u;o(this,t),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=a,this._accessTokenExpired=c}return t.prototype.load=function t(e){if(e.access_token&&void 0!==e.expires_in){var r=e.expires_in;if(n.Log.debug(\"AccessTokenEvents.load: access token present, remaining duration:\",r),r>0){var i=r-this._accessTokenExpiringNotificationTime;i<=0&&(i=1),n.Log.debug(\"AccessTokenEvents.load: registering expiring timer in:\",i),this._accessTokenExpiring.init(i)}else n.Log.debug(\"AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration.\"),this._accessTokenExpiring.cancel();var o=r+1;n.Log.debug(\"AccessTokenEvents.load: registering expired timer in:\",o),this._accessTokenExpired.init(o)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.unload=function t(){n.Log.debug(\"AccessTokenEvents.unload: canceling existing access token timers\"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.addAccessTokenExpiring=function t(e){this._accessTokenExpiring.addHandler(e)},t.prototype.removeAccessTokenExpiring=function t(e){this._accessTokenExpiring.removeHandler(e)},t.prototype.addAccessTokenExpired=function t(e){this._accessTokenExpired.addHandler(e)},t.prototype.removeAccessTokenExpired=function t(e){this._accessTokenExpired.removeHandler(e)},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Event=void 0;var n=r(0);e.Event=function(){function t(e){!function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this._name=e,this._callbacks=[]}return t.prototype.addHandler=function t(e){this._callbacks.push(e)},t.prototype.removeHandler=function t(e){var r=this._callbacks.findIndex((function(t){return t===e}));r>=0&&this._callbacks.splice(r,1)},t.prototype.raise=function t(){n.Log.debug(\"Event: Raising event: \"+this._name);for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.Global.timer;if(a(this,t),!e)throw i.Log.error(\"SessionMonitor.ctor: No user manager passed to SessionMonitor\"),new Error(\"userManager\");this._userManager=e,this._CheckSessionIFrameCtor=n,this._timer=u,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(t){t?r._start(t):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(t){var e={session_state:t.session_state};t.sub&&t.sid&&(e.profile={sub:t.sub,sid:t.sid}),r._start(e)})).catch((function(t){i.Log.error(\"SessionMonitor ctor: error from querySessionStatus:\",t.message)}))})).catch((function(t){i.Log.error(\"SessionMonitor ctor: error from getUser:\",t.message)})))}return t.prototype._start=function t(e){var r=this,n=e.session_state;n&&(e.profile?(this._sub=e.profile.sub,this._sid=e.profile.sid,i.Log.debug(\"SessionMonitor._start: session_state:\",n,\", sub:\",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug(\"SessionMonitor._start: session_state:\",n,\", anonymous user\")),this._checkSessionIFrame?this._checkSessionIFrame.start(n):this._metadataService.getCheckSessionIframe().then((function(t){if(t){i.Log.debug(\"SessionMonitor._start: Initializing check session iframe\");var e=r._client_id,o=r._checkSessionInterval,s=r._stopCheckSessionOnError;r._checkSessionIFrame=new r._CheckSessionIFrameCtor(r._callback.bind(r),e,t,o,s),r._checkSessionIFrame.load().then((function(){r._checkSessionIFrame.start(n)}))}else i.Log.warn(\"SessionMonitor._start: No check session iframe found in the metadata\")})).catch((function(t){i.Log.error(\"SessionMonitor._start: Error from getCheckSessionIframe:\",t.message)})))},t.prototype._stop=function t(){var e=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug(\"SessionMonitor._stop\"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var r=this._timer.setInterval((function(){e._timer.clearInterval(r),e._userManager.querySessionStatus().then((function(t){var r={session_state:t.session_state};t.sub&&t.sid&&(r.profile={sub:t.sub,sid:t.sid}),e._start(r)})).catch((function(t){i.Log.error(\"SessionMonitor: error from querySessionStatus:\",t.message)}))}),1e3)},t.prototype._callback=function t(){var e=this;this._userManager.querySessionStatus().then((function(t){var r=!0;t?t.sub===e._sub?(r=!1,e._checkSessionIFrame.start(t.session_state),t.sid===e._sid?i.Log.debug(\"SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:\",t.session_state):(i.Log.debug(\"SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:\",t.session_state),e._userManager.events._raiseUserSessionChanged())):i.Log.debug(\"SessionMonitor._callback: Different subject signed into OP:\",t.sub):i.Log.debug(\"SessionMonitor._callback: Subject no longer signed into OP\"),r&&(e._sub?(i.Log.debug(\"SessionMonitor._callback: SessionMonitor._callback; raising signed out event\"),e._userManager.events._raiseUserSignedOut()):(i.Log.debug(\"SessionMonitor._callback: SessionMonitor._callback; raising signed in event\"),e._userManager.events._raiseUserSignedIn()))})).catch((function(t){e._sub&&(i.Log.debug(\"SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event\",t.message),e._userManager.events._raiseUserSignedOut())}))},n(t,[{key:\"_settings\",get:function t(){return this._userManager.settings}},{key:\"_metadataService\",get:function t(){return this._userManager.metadataService}},{key:\"_client_id\",get:function t(){return this._settings.client_id}},{key:\"_checkSessionInterval\",get:function t(){return this._settings.checkSessionInterval}},{key:\"_stopCheckSessionOnError\",get:function t(){return this._settings.stopCheckSessionOnError}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CheckSessionIFrame=void 0;var n=r(0);function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.CheckSessionIFrame=function(){function t(e,r,n,o){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];i(this,t),this._callback=e,this._client_id=r,this._url=n,this._interval=o||2e3,this._stopOnError=s;var a=n.indexOf(\"/\",n.indexOf(\"//\")+2);this._frame_origin=n.substr(0,a),this._frame=window.document.createElement(\"iframe\"),this._frame.style.visibility=\"hidden\",this._frame.style.position=\"absolute\",this._frame.style.display=\"none\",this._frame.width=0,this._frame.height=0,this._frame.src=n}return t.prototype.load=function t(){var e=this;return new Promise((function(t){e._frame.onload=function(){t()},window.document.body.appendChild(e._frame),e._boundMessageEvent=e._message.bind(e),window.addEventListener(\"message\",e._boundMessageEvent,!1)}))},t.prototype._message=function t(e){e.origin===this._frame_origin&&e.source===this._frame.contentWindow&&(\"error\"===e.data?(n.Log.error(\"CheckSessionIFrame: error message from check session op iframe\"),this._stopOnError&&this.stop()):\"changed\"===e.data?(n.Log.debug(\"CheckSessionIFrame: changed message from check session op iframe\"),this.stop(),this._callback()):n.Log.debug(\"CheckSessionIFrame: \"+e.data+\" message from check session op iframe\"))},t.prototype.start=function t(e){var r=this;if(this._session_state!==e){n.Log.debug(\"CheckSessionIFrame.start\"),this.stop(),this._session_state=e;var i=function t(){r._frame.contentWindow.postMessage(r._client_id+\" \"+r._session_state,r._frame_origin)};i(),this._timer=window.setInterval(i,this._interval)}},t.prototype.stop=function t(){this._session_state=null,this._timer&&(n.Log.debug(\"CheckSessionIFrame.stop\"),window.clearInterval(this._timer),this._timer=null)},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TokenRevocationClient=void 0;var n=r(0),i=r(2),o=r(1);function s(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}var a=\"access_token\",u=\"refresh_token\";e.TokenRevocationClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(s(this,t),!e)throw n.Log.error(\"TokenRevocationClient.ctor: No settings provided\"),new Error(\"No settings provided.\");this._settings=e,this._XMLHttpRequestCtor=r,this._metadataService=new a(this._settings)}return t.prototype.revoke=function t(e,r){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"access_token\";if(!e)throw n.Log.error(\"TokenRevocationClient.revoke: No token provided\"),new Error(\"No token provided.\");if(o!==a&&o!=u)throw n.Log.error(\"TokenRevocationClient.revoke: Invalid token type\"),new Error(\"Invalid token type.\");return this._metadataService.getRevocationEndpoint().then((function(t){if(t){n.Log.debug(\"TokenRevocationClient.revoke: Revoking \"+o);var s=i._settings.client_id,a=i._settings.client_secret;return i._revoke(t,s,a,e,o)}if(r)throw n.Log.error(\"TokenRevocationClient.revoke: Revocation not supported\"),new Error(\"Revocation not supported\")}))},t.prototype._revoke=function t(e,r,i,o,s){var a=this;return new Promise((function(t,u){var c=new a._XMLHttpRequestCtor;c.open(\"POST\",e),c.onload=function(){n.Log.debug(\"TokenRevocationClient.revoke: HTTP response received, status\",c.status),200===c.status?t():u(Error(c.statusText+\" (\"+c.status+\")\"))},c.onerror=function(){n.Log.debug(\"TokenRevocationClient.revoke: Network Error.\"),u(\"Network Error\")};var h=\"client_id=\"+encodeURIComponent(r);i&&(h+=\"&client_secret=\"+encodeURIComponent(i)),h+=\"&token_type_hint=\"+encodeURIComponent(s),h+=\"&token=\"+encodeURIComponent(o),c.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\"),c.send(h)}))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CordovaPopupWindow=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.UserInfoService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.JoseUtil,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.TokenClient;if(h(this,t),!e)throw i.Log.error(\"ResponseValidator.ctor: No settings passed to ResponseValidator\"),new Error(\"settings\");this._settings=e,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=u,this._tokenClient=new l(this._settings)}return t.prototype.validateSigninResponse=function t(e,r){var n=this;return i.Log.debug(\"ResponseValidator.validateSigninResponse\"),this._processSigninParams(e,r).then((function(t){return i.Log.debug(\"ResponseValidator.validateSigninResponse: state processed\"),n._validateTokens(e,t).then((function(t){return i.Log.debug(\"ResponseValidator.validateSigninResponse: tokens validated\"),n._processClaims(e,t).then((function(t){return i.Log.debug(\"ResponseValidator.validateSigninResponse: claims processed\"),t}))}))}))},t.prototype.validateSignoutResponse=function t(e,r){return e.id!==r.state?(i.Log.error(\"ResponseValidator.validateSignoutResponse: State does not match\"),Promise.reject(new Error(\"State does not match\"))):(i.Log.debug(\"ResponseValidator.validateSignoutResponse: state validated\"),r.state=e.data,r.error?(i.Log.warn(\"ResponseValidator.validateSignoutResponse: Response was error\",r.error),Promise.reject(new u.ErrorResponse(r))):Promise.resolve(r))},t.prototype._processSigninParams=function t(e,r){if(e.id!==r.state)return i.Log.error(\"ResponseValidator._processSigninParams: State does not match\"),Promise.reject(new Error(\"State does not match\"));if(!e.client_id)return i.Log.error(\"ResponseValidator._processSigninParams: No client_id on state\"),Promise.reject(new Error(\"No client_id on state\"));if(!e.authority)return i.Log.error(\"ResponseValidator._processSigninParams: No authority on state\"),Promise.reject(new Error(\"No authority on state\"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==e.authority)return i.Log.error(\"ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state\"),Promise.reject(new Error(\"authority mismatch on settings vs. signin state\"))}else this._settings.authority=e.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==e.client_id)return i.Log.error(\"ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state\"),Promise.reject(new Error(\"client_id mismatch on settings vs. signin state\"))}else this._settings.client_id=e.client_id;return i.Log.debug(\"ResponseValidator._processSigninParams: state validated\"),r.state=e.data,r.error?(i.Log.warn(\"ResponseValidator._processSigninParams: Response was error\",r.error),Promise.reject(new u.ErrorResponse(r))):e.nonce&&!r.id_token?(i.Log.error(\"ResponseValidator._processSigninParams: Expecting id_token in response\"),Promise.reject(new Error(\"No id_token in response\"))):!e.nonce&&r.id_token?(i.Log.error(\"ResponseValidator._processSigninParams: Not expecting id_token in response\"),Promise.reject(new Error(\"Unexpected id_token in response\"))):e.code_verifier&&!r.code?(i.Log.error(\"ResponseValidator._processSigninParams: Expecting code in response\"),Promise.reject(new Error(\"No code in response\"))):!e.code_verifier&&r.code?(i.Log.error(\"ResponseValidator._processSigninParams: Not expecting code in response\"),Promise.reject(new Error(\"Unexpected code in response\"))):(r.scope||(r.scope=e.scope),Promise.resolve(r))},t.prototype._processClaims=function t(e,r){var n=this;if(r.isOpenIdConnect){if(i.Log.debug(\"ResponseValidator._processClaims: response is OIDC, processing claims\"),r.profile=this._filterProtocolClaims(r.profile),!0!==e.skipUserInfo&&this._settings.loadUserInfo&&r.access_token)return i.Log.debug(\"ResponseValidator._processClaims: loading user info\"),this._userInfoService.getClaims(r.access_token).then((function(t){return i.Log.debug(\"ResponseValidator._processClaims: user info claims received from user info endpoint\"),t.sub!==r.profile.sub?(i.Log.error(\"ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token\"),Promise.reject(new Error(\"sub from user info endpoint does not match sub in id_token\"))):(r.profile=n._mergeClaims(r.profile,t),i.Log.debug(\"ResponseValidator._processClaims: user info claims received, updated profile:\",r.profile),r)}));i.Log.debug(\"ResponseValidator._processClaims: not loading user info\")}else i.Log.debug(\"ResponseValidator._processClaims: response is not OIDC, not processing claims\");return Promise.resolve(r)},t.prototype._mergeClaims=function t(e,r){var i=Object.assign({},e);for(var o in r){var s=r[o];Array.isArray(s)||(s=[s]);for(var a=0;a1)return i.Log.error(\"ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata\"),Promise.reject(new Error(\"No kid found in id_token and more than one key found in metadata\"));o=t[0]}return Promise.resolve(o)}))},t.prototype._getSigningKeyForJwtWithSingleRetry=function t(e){var r=this;return this._getSigningKeyForJwt(e).then((function(t){return t?Promise.resolve(t):(r._metadataService.resetSigningKeys(),r._getSigningKeyForJwt(e))}))},t.prototype._validateIdToken=function t(e,r){var n=this;if(!e.nonce)return i.Log.error(\"ResponseValidator._validateIdToken: No nonce on state\"),Promise.reject(new Error(\"No nonce on state\"));var o=this._joseUtil.parseJwt(r.id_token);return o&&o.header&&o.payload?e.nonce!==o.payload.nonce?(i.Log.error(\"ResponseValidator._validateIdToken: Invalid nonce in id_token\"),Promise.reject(new Error(\"Invalid nonce in id_token\"))):this._metadataService.getIssuer().then((function(t){return i.Log.debug(\"ResponseValidator._validateIdToken: Received issuer\"),n._getSigningKeyForJwtWithSingleRetry(o).then((function(s){if(!s)return i.Log.error(\"ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys\"),Promise.reject(new Error(\"No key matching kid or alg found in signing keys\"));var a=e.client_id,u=n._settings.clockSkew;return i.Log.debug(\"ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: \",u),n._joseUtil.validateJwt(r.id_token,s,t,a,u).then((function(){return i.Log.debug(\"ResponseValidator._validateIdToken: JWT validation successful\"),o.payload.sub?(r.profile=o.payload,r):(i.Log.error(\"ResponseValidator._validateIdToken: No sub present in id_token\"),Promise.reject(new Error(\"No sub present in id_token\")))}))}))})):(i.Log.error(\"ResponseValidator._validateIdToken: Failed to parse id_token\",o),Promise.reject(new Error(\"Failed to parse id_token\")))},t.prototype._filterByAlg=function t(e,r){var n=null;if(r.startsWith(\"RS\"))n=\"RSA\";else if(r.startsWith(\"PS\"))n=\"PS\";else{if(!r.startsWith(\"ES\"))return i.Log.debug(\"ResponseValidator._filterByAlg: alg not supported: \",r),[];n=\"EC\"}return i.Log.debug(\"ResponseValidator._filterByAlg: Looking for keys that match kty: \",n),e=e.filter((function(t){return t.kty===n})),i.Log.debug(\"ResponseValidator._filterByAlg: Number of keys that match kty: \",n,e.length),e},t.prototype._validateAccessToken=function t(e){if(!e.profile)return i.Log.error(\"ResponseValidator._validateAccessToken: No profile loaded from id_token\"),Promise.reject(new Error(\"No profile loaded from id_token\"));if(!e.profile.at_hash)return i.Log.error(\"ResponseValidator._validateAccessToken: No at_hash in id_token\"),Promise.reject(new Error(\"No at_hash in id_token\"));if(!e.id_token)return i.Log.error(\"ResponseValidator._validateAccessToken: No id_token\"),Promise.reject(new Error(\"No id_token\"));var r=this._joseUtil.parseJwt(e.id_token);if(!r||!r.header)return i.Log.error(\"ResponseValidator._validateAccessToken: Failed to parse id_token\",r),Promise.reject(new Error(\"Failed to parse id_token\"));var n=r.header.alg;if(!n||5!==n.length)return i.Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\",n),Promise.reject(new Error(\"Unsupported alg: \"+n));var o=n.substr(2,3);if(!o)return i.Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\",n,o),Promise.reject(new Error(\"Unsupported alg: \"+n));if(256!==(o=parseInt(o))&&384!==o&&512!==o)return i.Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\",n,o),Promise.reject(new Error(\"Unsupported alg: \"+n));var s=\"sha\"+o,a=this._joseUtil.hashString(e.access_token,s);if(!a)return i.Log.error(\"ResponseValidator._validateAccessToken: access_token hash failed:\",s),Promise.reject(new Error(\"Failed to validate at_hash\"));var u=a.substr(0,a.length/2),c=this._joseUtil.hexToBase64Url(u);return c!==e.profile.at_hash?(i.Log.error(\"ResponseValidator._validateAccessToken: Failed to validate at_hash\",c,e.profile.at_hash),Promise.reject(new Error(\"Failed to validate at_hash\"))):(i.Log.debug(\"ResponseValidator._validateAccessToken: success\"),Promise.resolve(e))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UserInfoService=void 0;var n=r(7),i=r(2),o=r(0),s=r(4);function a(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.UserInfoService=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s.JoseUtil;if(a(this,t),!e)throw o.Log.error(\"UserInfoService.ctor: No settings passed\"),new Error(\"settings\");this._settings=e,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new u(this._settings),this._joseUtil=c}return t.prototype.getClaims=function t(e){var r=this;return e?this._metadataService.getUserInfoEndpoint().then((function(t){return o.Log.debug(\"UserInfoService.getClaims: received userinfo url\",t),r._jsonService.getJson(t,e).then((function(t){return o.Log.debug(\"UserInfoService.getClaims: claims received\",t),t}))})):(o.Log.error(\"UserInfoService.getClaims: No token passed\"),Promise.reject(new Error(\"A token is required\")))},t.prototype._getClaimsFromJwt=function t(e){var r=this;try{var n=this._joseUtil.parseJwt(e.responseText);if(!n||!n.header||!n.payload)return o.Log.error(\"UserInfoService._getClaimsFromJwt: Failed to parse JWT\",n),Promise.reject(new Error(\"Failed to parse id_token\"));var i=n.header.kid,s=void 0;switch(this._settings.userInfoJwtIssuer){case\"OP\":s=this._metadataService.getIssuer();break;case\"ANY\":s=Promise.resolve(n.payload.iss);break;default:s=Promise.resolve(this._settings.userInfoJwtIssuer)}return s.then((function(t){return o.Log.debug(\"UserInfoService._getClaimsFromJwt: Received issuer:\"+t),r._metadataService.getSigningKeys().then((function(s){if(!s)return o.Log.error(\"UserInfoService._getClaimsFromJwt: No signing keys from metadata\"),Promise.reject(new Error(\"No signing keys from metadata\"));o.Log.debug(\"UserInfoService._getClaimsFromJwt: Received signing keys\");var a=void 0;if(i)a=s.filter((function(t){return t.kid===i}))[0];else{if((s=r._filterByAlg(s,n.header.alg)).length>1)return o.Log.error(\"UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata\"),Promise.reject(new Error(\"No kid found in id_token and more than one key found in metadata\"));a=s[0]}if(!a)return o.Log.error(\"UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys\"),Promise.reject(new Error(\"No key matching kid or alg found in signing keys\"));var u=r._settings.client_id,c=r._settings.clockSkew;return o.Log.debug(\"UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: \",c),r._joseUtil.validateJwt(e.responseText,a,t,u,c,void 0,!0).then((function(){return o.Log.debug(\"UserInfoService._getClaimsFromJwt: JWT validation successful\"),n.payload}))}))}))}catch(t){return o.Log.error(\"UserInfoService._getClaimsFromJwt: Error parsing JWT response\",t.message),void reject(t)}},t.prototype._filterByAlg=function t(e,r){var n=null;if(r.startsWith(\"RS\"))n=\"RSA\";else if(r.startsWith(\"PS\"))n=\"PS\";else{if(!r.startsWith(\"ES\"))return o.Log.debug(\"UserInfoService._filterByAlg: alg not supported: \",r),[];n=\"EC\"}return o.Log.debug(\"UserInfoService._filterByAlg: Looking for keys that match kty: \",n),e=e.filter((function(t){return t.kty===n})),o.Log.debug(\"UserInfoService._filterByAlg: Number of keys that match kty: \",n,e.length),e},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AllowedSigningAlgs=e.b64tohex=e.hextob64u=e.crypto=e.X509=e.KeyUtil=e.jws=void 0;var n=r(27);e.jws=n.jws,e.KeyUtil=n.KEYUTIL,e.X509=n.X509,e.crypto=n.crypto,e.hextob64u=n.hextob64u,e.b64tohex=n.b64tohex,e.AllowedSigningAlgs=[\"RS256\",\"RS384\",\"RS512\",\"PS256\",\"PS384\",\"PS512\",\"ES256\",\"ES384\",\"ES512\"]},function(t,e,r){\"use strict\";(function(t){Object.defineProperty(e,\"__esModule\",{value:!0});var r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},n={userAgent:!1},i={};\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nif(void 0===o)var o={};o.lang={extend:function t(e,r,i){if(!r||!e)throw new Error(\"YAHOO.lang.extend failed, please check that all dependencies are included.\");var o=function t(){};if(o.prototype=r.prototype,e.prototype=new o,e.prototype.constructor=e,e.superclass=r.prototype,r.prototype.constructor==Object.prototype.constructor&&(r.prototype.constructor=r),i){var s;for(s in i)e.prototype[s]=i[s];var a=function t(){},u=[\"toString\",\"valueOf\"];try{/MSIE/.test(n.userAgent)&&(a=function t(e,r){for(s=0;s>>2]>>>24-s%4*8&255;r[i+s>>>2]|=a<<24-(i+s)%4*8}else for(s=0;s>>2]=n[s>>>2];return this.sigBytes+=o,this},clamp:function t(){var e=this.words,r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8,e.length=s.ceil(r/4)},clone:function t(){var e=c.clone.call(this);return e.words=this.words.slice(0),e},random:function t(e){for(var r=[],n=0;n>>2]>>>24-o%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join(\"\")},parse:function t(e){for(var r=e.length,n=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new h.init(n,r/2)}},g=l.Latin1={stringify:function t(e){for(var r=e.words,n=e.sigBytes,i=[],o=0;o>>2]>>>24-o%4*8&255;i.push(String.fromCharCode(s))}return i.join(\"\")},parse:function t(e){for(var r=e.length,n=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new h.init(n,r)}},d=l.Utf8={stringify:function t(e){try{return decodeURIComponent(escape(g.stringify(e)))}catch(t){throw new Error(\"Malformed UTF-8 data\")}},parse:function t(e){return g.parse(unescape(encodeURIComponent(e)))}},p=u.BufferedBlockAlgorithm=c.extend({reset:function t(){this._data=new h.init,this._nDataBytes=0},_append:function t(e){\"string\"==typeof e&&(e=d.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function t(e){var r=this._data,n=r.words,i=r.sigBytes,o=this.blockSize,a=i/(4*o),u=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*o,c=s.min(4*u,i);if(u){for(var l=0;l>>2]>>>24-o%4*8&255)<<16|(r[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|r[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;4>a&&o+.75*a>>6*(3-a)&63));if(r=i.charAt(64))for(;e.length%4;)e.push(r);return e.join(\"\")},parse:function t(r){var n=r.length,i=this._map;(o=i.charAt(64))&&(-1!=(o=r.indexOf(o))&&(n=o));for(var o=[],s=0,a=0;a>>6-a%4*2;o[s>>>2]|=(u|c)<<24-s%4*8,s++}return e.create(o,s)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"}}(),function(t){for(var e=y,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,o=[],s=[],a=function t(e){return 4294967296*(e-(0|e))|0},u=2,c=0;64>c;){var h;t:{h=u;for(var l=t.sqrt(h),f=2;f<=l;f++)if(!(h%f)){h=!1;break t}h=!0}h&&(8>c&&(o[c]=a(t.pow(u,.5))),s[c]=a(t.pow(u,1/3)),c++),u++}var g=[];i=i.SHA256=n.extend({_doReset:function t(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function t(e,r){for(var n=this._hash.words,i=n[0],o=n[1],a=n[2],u=n[3],c=n[4],h=n[5],l=n[6],f=n[7],d=0;64>d;d++){if(16>d)g[d]=0|e[r+d];else{var p=g[d-15],v=g[d-2];g[d]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+g[d-7]+((v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10)+g[d-16]}p=f+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&h^~c&l)+s[d]+g[d],v=((i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22))+(i&o^i&a^o&a),f=l,l=h,h=c,c=u+p|0,u=a,a=o,o=i,i=p+v|0}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+a|0,n[3]=n[3]+u|0,n[4]=n[4]+c|0,n[5]=n[5]+h|0,n[6]=n[6]+l|0,n[7]=n[7]+f|0},_doFinalize:function e(){var r=this._data,n=r.words,i=8*this._nDataBytes,o=8*r.sigBytes;return n[o>>>5]|=128<<24-o%32,n[14+(o+64>>>9<<4)]=t.floor(i/4294967296),n[15+(o+64>>>9<<4)]=i,r.sigBytes=4*n.length,this._process(),this._hash},clone:function t(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function t(){return n.create.apply(n,arguments)}for(var e=y,r=e.lib.Hasher,n=(o=e.x64).Word,i=o.WordArray,o=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],a=[],u=0;80>u;u++)a[u]=t();o=o.SHA512=r.extend({_doReset:function t(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function t(e,r){for(var n=(f=this._hash.words)[0],i=f[1],o=f[2],u=f[3],c=f[4],h=f[5],l=f[6],f=f[7],g=n.high,d=n.low,p=i.high,v=i.low,y=o.high,m=o.low,_=u.high,S=u.low,b=c.high,w=c.low,F=h.high,E=h.low,x=l.high,A=l.low,k=f.high,P=f.low,C=g,T=d,R=p,I=v,D=y,L=m,N=_,U=S,B=b,O=w,j=F,M=E,H=x,V=A,K=k,q=P,J=0;80>J;J++){var W=a[J];if(16>J)var z=W.high=0|e[r+2*J],Y=W.low=0|e[r+2*J+1];else{z=((Y=(z=a[J-15]).high)>>>1|(G=z.low)<<31)^(Y>>>8|G<<24)^Y>>>7;var G=(G>>>1|Y<<31)^(G>>>8|Y<<24)^(G>>>7|Y<<25),X=((Y=(X=a[J-2]).high)>>>19|($=X.low)<<13)^(Y<<3|$>>>29)^Y>>>6,$=($>>>19|Y<<13)^($<<3|Y>>>29)^($>>>6|Y<<26),Q=(Y=a[J-7]).high,Z=(tt=a[J-16]).high,tt=tt.low;z=(z=(z=z+Q+((Y=G+Y.low)>>>0>>0?1:0))+X+((Y=Y+$)>>>0<$>>>0?1:0))+Z+((Y=Y+tt)>>>0>>0?1:0);W.high=z,W.low=Y}Q=B&j^~B&H,tt=O&M^~O&V,W=C&R^C&D^R&D;var et=T&I^T&L^I&L,rt=(G=(C>>>28|T<<4)^(C<<30|T>>>2)^(C<<25|T>>>7),X=(T>>>28|C<<4)^(T<<30|C>>>2)^(T<<25|C>>>7),($=s[J]).high),nt=$.low;Z=K+((B>>>14|O<<18)^(B>>>18|O<<14)^(B<<23|O>>>9))+(($=q+((O>>>14|B<<18)^(O>>>18|B<<14)^(O<<23|B>>>9)))>>>0>>0?1:0),K=H,q=V,H=j,V=M,j=B,M=O,B=N+(Z=(Z=(Z=Z+Q+(($=$+tt)>>>0>>0?1:0))+rt+(($=$+nt)>>>0>>0?1:0))+z+(($=$+Y)>>>0>>0?1:0))+((O=U+$|0)>>>0>>0?1:0)|0,N=D,U=L,D=R,L=I,R=C,I=T,C=Z+(W=G+W+((Y=X+et)>>>0>>0?1:0))+((T=$+Y|0)>>>0<$>>>0?1:0)|0}d=n.low=d+T,n.high=g+C+(d>>>0>>0?1:0),v=i.low=v+I,i.high=p+R+(v>>>0>>0?1:0),m=o.low=m+L,o.high=y+D+(m>>>0>>0?1:0),S=u.low=S+U,u.high=_+N+(S>>>0>>0?1:0),w=c.low=w+O,c.high=b+B+(w>>>0>>0?1:0),E=h.low=E+M,h.high=F+j+(E>>>0>>0?1:0),A=l.low=A+V,l.high=x+H+(A>>>0>>0?1:0),P=f.low=P+q,f.high=k+K+(P>>>0>>0?1:0)},_doFinalize:function t(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[30+(i+128>>>10<<5)]=Math.floor(n/4294967296),r[31+(i+128>>>10<<5)]=n,e.sigBytes=4*r.length,this._process(),this._hash.toX32()},clone:function t(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),e.SHA512=r._createHelper(o),e.HmacSHA512=r._createHmacHelper(o)}(),function(){var t=y,e=(i=t.x64).Word,r=i.WordArray,n=(i=t.algo).SHA512,i=i.SHA384=n.extend({_doReset:function t(){this._hash=new r.init([new e.init(3418070365,3238371032),new e.init(1654270250,914150663),new e.init(2438529370,812702999),new e.init(355462360,4144912697),new e.init(1731405415,4290775857),new e.init(2394180231,1750603025),new e.init(3675008525,1694076839),new e.init(1203062813,3204075428)])},_doFinalize:function t(){var e=n._doFinalize.call(this);return e.sigBytes-=16,e}});t.SHA384=n._createHelper(i),t.HmacSHA384=n._createHmacHelper(i)}();\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nvar m,_=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";function S(t){var e,r,n=\"\";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=_.charAt(r>>6)+_.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=_.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=_.charAt(r>>2)+_.charAt((3&r)<<4)),\"=\";(3&n.length)>0;)n+=\"=\";return n}function b(t){var e,r,n,i=\"\",o=0;for(e=0;e>2),r=3&n,o=1):1==o?(i+=R(r<<2|n>>4),r=15&n,o=2):2==o?(i+=R(r),i+=R(n>>2),r=3&n,o=3):(i+=R(r<<2|n>>4),i+=R(15&n),o=0));return 1==o&&(i+=R(r<<2)),i}function w(t){var e,r=b(t),n=new Array;for(e=0;2*e>15;--o>=0;){var u=32767&this[t],c=this[t++]>>15,h=a*u+c*s;i=((u=s*u+((32767&h)<<15)+r[n]+(1073741823&i))>>>30)+(h>>>15)+a*c+(i>>>30),r[n++]=1073741823&u}return i},m=30):\"Netscape\"!=n.appName?(F.prototype.am=function A(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i},m=26):(F.prototype.am=function k(t,e,r,n,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var u=16383&this[t],c=this[t++]>>14,h=a*u+c*s;i=((u=s*u+((16383&h)<<14)+r[n]+i)>>28)+(h>>14)+a*c,r[n++]=268435455&u}return i},m=28),F.prototype.DB=m,F.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function N(t){this.m=t}function U(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function V(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function K(){}function q(t){return t}function J(t){this.r2=E(),this.q3=E(),F.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}N.prototype.convert=function W(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},N.prototype.revert=function z(t){return t},N.prototype.reduce=function Y(t){t.divRemTo(this.m,null,t)},N.prototype.mulTo=function G(t,e,r){t.multiplyTo(e,r),this.reduce(r)},N.prototype.sqrTo=function X(t,e){t.squareTo(e),this.reduce(e)},U.prototype.convert=function $(t){var e=E();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(F.ZERO)>0&&this.m.subTo(e,e),e},U.prototype.revert=function Q(t){var e=E();return t.copyTo(e),this.reduce(e),e},U.prototype.reduce=function Z(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},U.prototype.mulTo=function tt(t,e,r){t.multiplyTo(e,r),this.reduce(r)},U.prototype.sqrTo=function et(t,e){t.squareTo(e),this.reduce(e)},F.prototype.copyTo=function rt(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},F.prototype.fromInt=function nt(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},F.prototype.fromString=function it(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=8==r?255&t[n]:I(t,n);s<0?\"-\"==t.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},F.prototype.dlShiftTo=function st(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},F.prototype.drShiftTo=function at(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=0;--r)e[r]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},F.prototype.rShiftTo=function ct(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,o=(1<>n;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},F.prototype.multiplyTo=function lt(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},F.prototype.divRemTo=function gt(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,h=o[c-1];if(0!=h){var l=h*(1<1?o[c-2]>>this.F2:0),f=this.FV/l,g=(1<=0&&(r[r.t++]=1,r.subTo(y,r)),F.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var m=r[--p]==h?this.DM:Math.floor(r[p]*f+(r[p-1]+d)*g);if((r[p]+=o.am(0,m,r,v,0,c))0&&r.rShiftTo(u,r),s<0&&F.ZERO.subTo(r,r)}}},F.prototype.invDigit=function dt(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},F.prototype.isEven=function pt(){return 0==(this.t>0?1&this[0]:this.s)},F.prototype.exp=function vt(t,e){if(t>4294967295||t<1)return F.ONE;var r=E(),n=E(),i=e.convert(this),o=L(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)},F.prototype.toString=function yt(t){if(this.s<0)return\"-\"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<0)for(a>a)>0&&(i=!0,o=R(r));s>=0;)a>(a+=this.DB-e)):(r=this[s]>>(a-=e)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=R(r));return i?o:\"0\"},F.prototype.negate=function mt(){var t=E();return F.ZERO.subTo(this,t),t},F.prototype.abs=function _t(){return this.s<0?this.negate():this},F.prototype.compareTo=function St(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},F.prototype.bitLength=function bt(){return this.t<=0?0:this.DB*(this.t-1)+L(this[this.t-1]^this.s&this.DM)},F.prototype.mod=function wt(t){var e=E();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(F.ZERO)>0&&t.subTo(e,e),e},F.prototype.modPowInt=function Ft(t,e){var r;return r=t<256||e.isEven()?new N(e):new U(e),this.exp(t,r)},F.ZERO=D(0),F.ONE=D(1),K.prototype.convert=q,K.prototype.revert=q,K.prototype.mulTo=function Et(t,e,r){t.multiplyTo(e,r)},K.prototype.sqrTo=function xt(t,e){t.squareTo(e)},J.prototype.convert=function At(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=E();return t.copyTo(e),this.reduce(e),e},J.prototype.revert=function kt(t){return t},J.prototype.reduce=function Pt(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},J.prototype.mulTo=function Ct(t,e,r){t.multiplyTo(e,r),this.reduce(r)},J.prototype.sqrTo=function Tt(t,e){t.squareTo(e),this.reduce(e)};var Rt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],It=(1<<26)/Rt[Rt.length-1];\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nfunction Dt(){this.i=0,this.j=0,this.S=new Array}F.prototype.chunkSize=function Lt(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},F.prototype.toRadix=function Nt(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return\"0\";var e=this.chunkSize(t),r=Math.pow(t,e),n=D(r),i=E(),o=E(),s=\"\";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s},F.prototype.fromRadix=function Ut(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&F.ZERO.subTo(this,this)},F.prototype.fromNumber=function Bt(t,e,r){if(\"number\"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(F.ONE.shiftLeft(t-1),O,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(F.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},F.prototype.dMultiply=function Ht(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},F.prototype.dAddOffset=function Vt(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},F.prototype.multiplyLowerTo=function Kt(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},F.prototype.millerRabin=function Wt(t){var e=this.subtract(F.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>Rt.length&&(t=Rt.length);for(var i=E(),o=0;o>24},F.prototype.shortValue=function Xt(){return 0==this.t?this.s:this[0]<<16>>16},F.prototype.signum=function $t(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},F.prototype.toByteArray=function Qt(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},F.prototype.equals=function Zt(t){return 0==this.compareTo(t)},F.prototype.min=function te(t){return this.compareTo(t)<0?this:t},F.prototype.max=function ee(t){return this.compareTo(t)>0?this:t},F.prototype.and=function re(t){var e=E();return this.bitwiseTo(t,B,e),e},F.prototype.or=function ne(t){var e=E();return this.bitwiseTo(t,O,e),e},F.prototype.xor=function ie(t){var e=E();return this.bitwiseTo(t,j,e),e},F.prototype.andNot=function oe(t){var e=E();return this.bitwiseTo(t,M,e),e},F.prototype.not=function se(){for(var t=E(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var h=E();for(n.sqrTo(s[1],h);a<=c;)s[a]=E(),n.mulTo(h,s[a-2],s[a]),a+=2}var l,f,g=t.t-1,d=!0,p=E();for(i=L(t[g])-1;g>=0;){for(i>=u?l=t[g]>>i-u&c:(l=(t[g]&(1<0&&(l|=t[g-1]>>this.DB+i-u)),a=r;0==(1&l);)l>>=1,--a;if((i-=a)<0&&(i+=this.DB,--g),d)s[l].copyTo(o),d=!1;else{for(;a>1;)n.sqrTo(o,p),n.sqrTo(p,o),a-=2;a>0?n.sqrTo(o,p):(f=o,o=p,p=f),n.mulTo(p,s[l],o)}for(;g>=0&&0==(t[g]&1<=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}return 0!=n.compareTo(F.ONE)?F.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},F.prototype.pow=function Fe(t){return this.exp(t,new K)},F.prototype.gcd=function Ee(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},F.prototype.isProbablePrime=function xe(t){var e,r=this.abs();if(1==r.t&&r[0]<=Rt[Rt.length-1]){for(e=0;e>8&255,Te[Re++]^=e>>16&255,Te[Re++]^=e>>24&255,Re>=256&&(Re-=256)}((new Date).getTime())}if(null==Te){var De;if(Te=new Array,Re=0,void 0!==i&&(void 0!==i.crypto||void 0!==i.msCrypto)){var Le=i.crypto||i.msCrypto;if(Le.getRandomValues){var Ne=new Uint8Array(32);for(Le.getRandomValues(Ne),De=0;De<32;++De)Te[Re++]=Ne[De]}else if(\"Netscape\"==n.appName&&n.appVersion<\"5\"){var Ue=i.crypto.random(32);for(De=0;De>>8,Te[Re++]=255&De;Re=0,Ie()}function Be(){if(null==Ce){for(Ie(),(Ce=function t(){return new Dt}()).init(Te),Re=0;Re>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function He(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nfunction Ve(t,e){this.x=e,this.q=t}function Ke(t,e,r,n){this.curve=t,this.x=e,this.y=r,this.z=null==n?F.ONE:n,this.zinv=null}function qe(t,e,r){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(r),this.infinity=new Ke(this,null,null)}Oe.prototype.nextBytes=function Je(t){var e;for(e=0;e0&&e.length>0))throw\"Invalid RSA public key\";this.n=je(t,16),this.e=parseInt(e,16)}},He.prototype.encrypt=function Ye(t){var e=function r(t,e){if(e=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var o=new Oe,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);r[--e]=s[0]}return r[--e]=2,r[--e]=0,new F(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var n=this.doPublic(e);if(null==n)return null;var i=n.toString(16);return 0==(1&i.length)?i:\"0\"+i},He.prototype.encryptOAEP=function Ge(t,e,r){var n=function i(t,e,r,n){var i=br.crypto.MessageDigest,o=br.crypto.Util,s=null;if(r||(r=\"sha1\"),\"string\"==typeof r&&(s=i.getCanonicalAlgName(r),n=i.getHashLength(s),r=function t(e){return Nr(o.hashHex(Ur(e),s))}),t.length+2*n+2>e)throw\"Message too long for RSA\";var a,u=\"\";for(a=0;a>3,e,r);if(null==n)return null;var o=this.doPublic(n);if(null==o)return null;var s=o.toString(16);return 0==(1&s.length)?s:\"0\"+s},He.prototype.type=\"RSA\",Ve.prototype.equals=function Xe(t){return t==this||this.q.equals(t.q)&&this.x.equals(t.x)},Ve.prototype.toBigInteger=function $e(){return this.x},Ve.prototype.negate=function Qe(){return new Ve(this.q,this.x.negate().mod(this.q))},Ve.prototype.add=function Ze(t){return new Ve(this.q,this.x.add(t.toBigInteger()).mod(this.q))},Ve.prototype.subtract=function tr(t){return new Ve(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))},Ve.prototype.multiply=function er(t){return new Ve(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))},Ve.prototype.square=function rr(){return new Ve(this.q,this.x.square().mod(this.q))},Ve.prototype.divide=function nr(t){return new Ve(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))},Ke.prototype.getX=function ir(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},Ke.prototype.getY=function or(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},Ke.prototype.equals=function sr(t){return t==this||(this.isInfinity()?t.isInfinity():t.isInfinity()?this.isInfinity():!!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO)&&t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO))},Ke.prototype.isInfinity=function ar(){return null==this.x&&null==this.y||this.z.equals(F.ZERO)&&!this.y.toBigInteger().equals(F.ZERO)},Ke.prototype.negate=function ur(){return new Ke(this.curve,this.x,this.y.negate(),this.z)},Ke.prototype.add=function cr(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q),r=t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q);if(F.ZERO.equals(r))return F.ZERO.equals(e)?this.twice():this.curve.getInfinity();var n=new F(\"3\"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),s=(t.x.toBigInteger(),t.y.toBigInteger(),r.square()),a=s.multiply(r),u=i.multiply(s),c=e.square().multiply(this.z),h=c.subtract(u.shiftLeft(1)).multiply(t.z).subtract(a).multiply(r).mod(this.curve.q),l=u.multiply(n).multiply(e).subtract(o.multiply(a)).subtract(c.multiply(e)).multiply(t.z).add(e.multiply(a)).mod(this.curve.q),f=a.multiply(this.z).multiply(t.z).mod(this.curve.q);return new Ke(this.curve,this.curve.fromBigInteger(h),this.curve.fromBigInteger(l),f)},Ke.prototype.twice=function hr(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=new F(\"3\"),e=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),s=e.square().multiply(t);F.ZERO.equals(o)||(s=s.add(this.z.square().multiply(o)));var a=(s=s.mod(this.curve.q)).square().subtract(e.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),u=s.multiply(t).multiply(e).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.square().multiply(s)).mod(this.curve.q),c=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new Ke(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(u),c)},Ke.prototype.multiply=function lr(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F(\"3\")),i=this.negate(),o=this,s=this.curve.q.subtract(t),a=s.multiply(new F(\"3\")),u=new Ke(this.curve,this.x,this.y),c=u.negate();for(e=n.bitLength()-2;e>0;--e){o=o.twice();var h=n.testBit(e);h!=r.testBit(e)&&(o=o.add(h?this:i))}for(e=a.bitLength()-2;e>0;--e){u=u.twice();var l=a.testBit(e);l!=s.testBit(e)&&(u=u.add(l?u:c))}return o},Ke.prototype.multiplyTwo=function fr(t,e,r){var n;n=t.bitLength()>r.bitLength()?t.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(e);n>=0;)i=i.twice(),t.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(e)),--n;return i},qe.prototype.getQ=function gr(){return this.q},qe.prototype.getA=function dr(){return this.a},qe.prototype.getB=function pr(){return this.b},qe.prototype.equals=function vr(t){return t==this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)},qe.prototype.getInfinity=function yr(){return this.infinity},qe.prototype.fromBigInteger=function mr(t){return new Ve(this.q,t)},qe.prototype.decodePointHex=function _r(t){switch(parseInt(t.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:return null;case 4:case 6:case 7:var e=(t.length-2)/2,r=t.substr(2,e),n=t.substr(e+2,e);return new Ke(this,this.fromBigInteger(new F(r,16)),this.fromBigInteger(new F(n,16)));default:return null}},\n/*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib\n */\nVe.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},Ke.prototype.getEncoded=function(t){var e=function t(e,r){var n=e.toByteArrayUnsigned();if(rn.length;)n.unshift(0);return n},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=e(r,32);return t?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(e(n,32))),i},Ke.decodeFrom=function(t,e){e[0];var r=e.length-1,n=e.slice(1,1+r/2),i=e.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new F(n),s=new F(i);return new Ke(t,t.fromBigInteger(o),t.fromBigInteger(s))},Ke.decodeFromHex=function(t,e){e.substr(0,2);var r=e.length-2,n=e.substr(2,r/2),i=e.substr(2+r/2,r/2),o=new F(n,16),s=new F(i,16);return new Ke(t,t.fromBigInteger(o),t.fromBigInteger(s))},Ke.prototype.add2D=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;if(this.x.equals(t.x))return this.y.equals(t.y)?this.twice():this.curve.getInfinity();var e=t.x.subtract(this.x),r=t.y.subtract(this.y).divide(e),n=r.square().subtract(this.x).subtract(t.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new Ke(this.curve,n,i)},Ke.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=this.curve.fromBigInteger(F.valueOf(2)),e=this.curve.fromBigInteger(F.valueOf(3)),r=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(t)),n=r.square().subtract(this.x.multiply(t)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new Ke(this.curve,n,i)},Ke.prototype.multiply2D=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F(\"3\")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add2D(s?this:i))}return o},Ke.prototype.isOnCurve=function(){var t=this.getX().toBigInteger(),e=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=e.multiply(e).mod(i),s=t.multiply(t).multiply(t).add(r.multiply(t)).add(n).mod(i);return o.equals(s)},Ke.prototype.toString=function(){return\"(\"+this.getX().toBigInteger().toString()+\",\"+this.getY().toBigInteger().toString()+\")\"},Ke.prototype.validate=function(){var t=this.curve.getQ();if(this.isInfinity())throw new Error(\"Point is at infinity.\");var e=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(e.compareTo(F.ONE)<0||e.compareTo(t.subtract(F.ONE))>0)throw new Error(\"x coordinate out of bounds\");if(r.compareTo(F.ONE)<0||r.compareTo(t.subtract(F.ONE))>0)throw new Error(\"y coordinate out of bounds\");if(!this.isOnCurve())throw new Error(\"Point is not on the curve.\");if(this.multiply(t).isInfinity())throw new Error(\"Point is not a scalar multiple of G.\");return!0};\n/*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval\n */\nvar Sr=function(){var t=new RegExp('(?:false|true|null|[\\\\{\\\\}\\\\[\\\\]]|(?:-?\\\\b(?:0|[1-9][0-9]*)(?:\\\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\\\b)|(?:\"(?:[^\\\\0-\\\\x08\\\\x0a-\\\\x1f\"\\\\\\\\]|\\\\\\\\(?:[\"/\\\\\\\\bfnrt]|u[0-9A-Fa-f]{4}))*\"))',\"g\"),e=new RegExp(\"\\\\\\\\(?:([^u])|u(.{4}))\",\"g\"),n={'\"':'\"',\"/\":\"/\",\"\\\\\":\"\\\\\",b:\"\\b\",f:\"\\f\",n:\"\\n\",r:\"\\r\",t:\"\\t\"};function i(t,e,r){return e?n[e]:String.fromCharCode(parseInt(r,16))}var o=new String(\"\"),s=Object.hasOwnProperty;return function(n,a){var u,c,h=n.match(t),l=h[0],f=!1;\"{\"===l?u={}:\"[\"===l?u=[]:(u=[],f=!0);for(var g=[u],d=1-f,p=h.length;d=0;)delete i[o[h]]}return a.call(e,n,i)}({\"\":u},\"\")}return u}}();void 0!==br&&br||(e.KJUR=br={}),void 0!==br.asn1&&br.asn1||(br.asn1={}),br.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e=\"0\"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if(\"-\"!=e.substr(0,1))e.length%2==1?e=\"0\"+e:e.match(/^[0-7]/)||(e=\"00\"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n=\"\",i=0;i15)throw\"ASN.1 length too long to represent by 8x: n = \"+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return\"\"},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},br.asn1.DERAbstractString=function(t){br.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=Dr(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(\"string\"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},o.lang.extend(br.asn1.DERAbstractString,br.asn1.ASN1Object),br.asn1.DERAbstractTime=function(t){br.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());\"utc\"==e&&(o=o.substr(2,2));var s=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+\".\"+(u=u.replace(/[0]+$/,\"\"))}}return s+\"Z\"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join(\"0\")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=Pr(t)},this.setByDateValue=function(t,e,r,n,i,o){var s=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},o.lang.extend(br.asn1.DERAbstractTime,br.asn1.ASN1Object),br.asn1.DERAbstractStructured=function(t){br.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},o.lang.extend(br.asn1.DERAbstractStructured,br.asn1.ASN1Object),br.asn1.DERBoolean=function(t){br.asn1.DERBoolean.superclass.constructor.call(this),this.hT=\"01\",this.hTLV=0==t?\"010100\":\"0101ff\"},o.lang.extend(br.asn1.DERBoolean,br.asn1.ASN1Object),br.asn1.DERInteger=function(t){br.asn1.DERInteger.superclass.constructor.call(this),this.hT=\"02\",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=br.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new F(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):\"number\"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},o.lang.extend(br.asn1.DERInteger,br.asn1.ASN1Object),br.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=br.asn1.ASN1Util.newObject(t.obj);t.hex=\"00\"+e.getEncodedHex()}br.asn1.DERBitString.superclass.constructor.call(this),this.hT=\"03\",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7i.length&&(i=n[r]);return(t=t.replace(i,\"::\")).slice(1,-1)}function Yr(t){var e=\"malformed hex value\";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?zr(t):t;try{return parseInt(t.substr(0,2),16)+\".\"+parseInt(t.substr(2,2),16)+\".\"+parseInt(t.substr(4,2),16)+\".\"+parseInt(t.substr(6,2),16)}catch(t){throw e}}function Gr(t){for(var e=encodeURIComponent(t),r=\"\",n=0;n\"7\"?\"00\"+t:t}Er.getLblen=function(t,e){if(\"8\"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0=n)break}return s},Er.getNthChildIdx=function(t,e,r){return Er.getChildIdx(t,e)[r]},Er.getIdxbyList=function(t,e,r,n){var i,o,s=Er;return 0==r.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(i=r.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[i],r,n)},Er.getIdxbyListEx=function(t,e,r,n){var i,o,s=Er;if(0==r.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;i=r.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u=t.length?null:i.getTLV(t,o)},Er.getTLVbyListEx=function(t,e,r,n){var i=Er,o=i.getIdxbyListEx(t,e,r,n);return-1==o?null:i.getTLV(t,o)},Er.getVbyList=function(t,e,r,n,i){var o,s,a=Er;return-1==(o=a.getIdxbyList(t,e,r,n))||o>=t.length?null:(s=a.getV(t,o),!0===i&&(s=s.substr(2)),s)},Er.getVbyListEx=function(t,e,r,n,i){var o,s,a=Er;return-1==(o=a.getIdxbyListEx(t,e,r,n))?null:(s=a.getV(t,o),\"03\"==t.substr(o,2)&&!1!==i&&(s=s.substr(2)),s)},Er.getInt=function(t,e,r){null==r&&(r=-1);try{var n=t.substr(e,2);if(\"02\"!=n&&\"03\"!=n)return r;var i=Er.getV(t,e);return\"02\"==n?parseInt(i,16):function o(t){try{var e=t.substr(0,2);if(\"00\"==e)return parseInt(t.substr(2),16);var r=parseInt(e,16),n=t.substr(2),i=parseInt(n,16).toString(2);return\"0\"==i&&(i=\"00000000\"),i=i.slice(0,0-r),parseInt(i,2)}catch(t){return-1}}(i)}catch(t){return r}},Er.getOID=function(t,e,r){null==r&&(r=null);try{return\"06\"!=t.substr(e,2)?r:function n(t){if(!Xr(t))return null;try{var e=[],r=t.substr(0,2),n=parseInt(r,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var i=t.substr(2),o=[],s=0;s0&&(c=c+\".\"+a.join(\".\")),c}catch(t){return null}}(Er.getV(t,e))}catch(t){return r}},Er.getOIDName=function(t,e,r){null==r&&(r=null);try{var n=Er.getOID(t,e,r);if(n==r)return r;var i=br.asn1.x509.OID.oid2name(n);return\"\"==i?n:i}catch(t){return r}},Er.getString=function(t,e,r){null==r&&(r=null);try{return Nr(Er.getV(t,e))}catch(t){return r}},Er.hextooidstr=function(t){var e=function t(e,r){return e.length>=r?e:new Array(r-e.length+1).join(\"0\")+e},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=t.substr(2),s=[],a=0;a0&&(h=h+\".\"+u.join(\".\")),h},Er.dump=function(t,e,r,n){var i=Er,o=i.getV,s=i.dump,a=i.getChildIdx,u=t;t instanceof br.asn1.ASN1Object&&(u=t.getEncodedHex());var c=function t(e,r){return e.length<=2*r?e:e.substr(0,r)+\"..(total \"+e.length/2+\"bytes)..\"+e.substr(e.length-r,r)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n=\"\");var h,l=e.ommit_long_octet;if(\"01\"==(h=u.substr(r,2)))return\"00\"==(f=o(u,r))?n+\"BOOLEAN FALSE\\n\":n+\"BOOLEAN TRUE\\n\";if(\"02\"==h)return n+\"INTEGER \"+c(f=o(u,r),l)+\"\\n\";if(\"03\"==h){var f=o(u,r);if(i.isASN1HEX(f.substr(2))){var g=n+\"BITSTRING, encapsulates\\n\";return g+=s(f.substr(2),e,0,n+\" \")}return n+\"BITSTRING \"+c(f,l)+\"\\n\"}if(\"04\"==h){f=o(u,r);if(i.isASN1HEX(f)){g=n+\"OCTETSTRING, encapsulates\\n\";return g+=s(f,e,0,n+\" \")}return n+\"OCTETSTRING \"+c(f,l)+\"\\n\"}if(\"05\"==h)return n+\"NULL\\n\";if(\"06\"==h){var d=o(u,r),p=br.asn1.ASN1Util.oidHexToInt(d),v=br.asn1.x509.OID.oid2name(p),y=p.replace(/\\./g,\" \");return\"\"!=v?n+\"ObjectIdentifier \"+v+\" (\"+y+\")\\n\":n+\"ObjectIdentifier (\"+y+\")\\n\"}if(\"0a\"==h)return n+\"ENUMERATED \"+parseInt(o(u,r))+\"\\n\";if(\"0c\"==h)return n+\"UTF8String '\"+Lr(o(u,r))+\"'\\n\";if(\"13\"==h)return n+\"PrintableString '\"+Lr(o(u,r))+\"'\\n\";if(\"14\"==h)return n+\"TeletexString '\"+Lr(o(u,r))+\"'\\n\";if(\"16\"==h)return n+\"IA5String '\"+Lr(o(u,r))+\"'\\n\";if(\"17\"==h)return n+\"UTCTime \"+Lr(o(u,r))+\"\\n\";if(\"18\"==h)return n+\"GeneralizedTime \"+Lr(o(u,r))+\"\\n\";if(\"1a\"==h)return n+\"VisualString '\"+Lr(o(u,r))+\"'\\n\";if(\"1e\"==h)return n+\"BMPString '\"+Lr(o(u,r))+\"'\\n\";if(\"30\"==h){if(\"3000\"==u.substr(r,4))return n+\"SEQUENCE {}\\n\";g=n+\"SEQUENCE\\n\";var m=e;if((2==(b=a(u,r)).length||3==b.length)&&\"06\"==u.substr(b[0],2)&&\"04\"==u.substr(b[b.length-1],2)){v=i.oidname(o(u,b[0]));var _=JSON.parse(JSON.stringify(e));_.x509ExtName=v,m=_}for(var S=0;S31)&&(128==(192&r)&&(31&r)==n))}catch(t){return!1}},Er.isASN1HEX=function(t){var e=Er;if(t.length%2==1)return!1;var r=e.getVblen(t,0),n=t.substr(0,2),i=e.getL(t,0);return t.length-n.length-i.length==2*r},Er.checkStrictDER=function(t,e,r,n,i){var o=Er;if(void 0===r){if(\"string\"!=typeof t)throw new Error(\"not hex string\");if(t=t.toLowerCase(),!br.lang.String.isHex(t))throw new Error(\"not hex string\");r=t.length,i=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*i)throw new Error(\"L of TLV too long: idx=\"+e);var s=o.getVblen(t,e);if(s>n)throw new Error(\"value of L too long than hex: idx=\"+e);var a=o.getTLV(t,e),u=a.length-2-o.getL(t,e).length;if(u!==2*s)throw new Error(\"V string length and L's value not the same:\"+u+\"/\"+2*s);if(0===e&&t.length!=a.length)throw new Error(\"total length and TLV length unmatch:\"+t.length+\"!=\"+a.length);var c=t.substr(e,2);if(\"02\"===c){var h=o.getVidx(t,e);if(\"00\"==t.substr(h,2)&&t.charCodeAt(h+2)<56)throw new Error(\"not least zeros for DER INTEGER\")}if(32&parseInt(c,16)){for(var l=o.getVblen(t,e),f=0,g=o.getChildIdx(t,e),d=0;d=r?e:new Array(r-e.length+1).join(n)+e};void 0!==br&&br||(e.KJUR=br={}),void 0!==br.crypto&&br.crypto||(br.crypto={}),br.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:\"3021300906052b0e03021a05000414\",sha224:\"302d300d06096086480165030402040500041c\",sha256:\"3031300d060960864801650304020105000420\",sha384:\"3041300d060960864801650304020205000430\",sha512:\"3051300d060960864801650304020305000440\",md2:\"3020300c06082a864886f70d020205000410\",md5:\"3020300c06082a864886f70d020505000410\",ripemd160:\"3021300906052b2403020105000414\"},this.DEFAULTPROVIDER={md5:\"cryptojs\",sha1:\"cryptojs\",sha224:\"cryptojs\",sha256:\"cryptojs\",sha384:\"cryptojs\",sha512:\"cryptojs\",ripemd160:\"cryptojs\",hmacmd5:\"cryptojs\",hmacsha1:\"cryptojs\",hmacsha224:\"cryptojs\",hmacsha256:\"cryptojs\",hmacsha384:\"cryptojs\",hmacsha512:\"cryptojs\",hmacripemd160:\"cryptojs\",MD5withRSA:\"cryptojs/jsrsa\",SHA1withRSA:\"cryptojs/jsrsa\",SHA224withRSA:\"cryptojs/jsrsa\",SHA256withRSA:\"cryptojs/jsrsa\",SHA384withRSA:\"cryptojs/jsrsa\",SHA512withRSA:\"cryptojs/jsrsa\",RIPEMD160withRSA:\"cryptojs/jsrsa\",MD5withECDSA:\"cryptojs/jsrsa\",SHA1withECDSA:\"cryptojs/jsrsa\",SHA224withECDSA:\"cryptojs/jsrsa\",SHA256withECDSA:\"cryptojs/jsrsa\",SHA384withECDSA:\"cryptojs/jsrsa\",SHA512withECDSA:\"cryptojs/jsrsa\",RIPEMD160withECDSA:\"cryptojs/jsrsa\",SHA1withDSA:\"cryptojs/jsrsa\",SHA224withDSA:\"cryptojs/jsrsa\",SHA256withDSA:\"cryptojs/jsrsa\",MD5withRSAandMGF1:\"cryptojs/jsrsa\",SHAwithRSAandMGF1:\"cryptojs/jsrsa\",SHA1withRSAandMGF1:\"cryptojs/jsrsa\",SHA224withRSAandMGF1:\"cryptojs/jsrsa\",SHA256withRSAandMGF1:\"cryptojs/jsrsa\",SHA384withRSAandMGF1:\"cryptojs/jsrsa\",SHA512withRSAandMGF1:\"cryptojs/jsrsa\",RIPEMD160withRSAandMGF1:\"cryptojs/jsrsa\"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:y.algo.MD5,sha1:y.algo.SHA1,sha224:y.algo.SHA224,sha256:y.algo.SHA256,sha384:y.algo.SHA384,sha512:y.algo.SHA512,ripemd160:y.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw\"alg not supported in Util.DIGESTINFOHEAD: \"+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){var n=this.getDigestInfoHex(t,e),i=r/4;if(n.length+22>i)throw\"key is too short for SigAlg: keylen=\"+r+\",\"+e;for(var o=\"0001\",s=\"00\"+n,a=\"\",u=i-o.length-s.length,c=0;c=0)return!1;if(r.compareTo(n.ONE)<0||r.compareTo(o)>=0)return!1;var a=r.modInverse(o),u=t.multiply(a).mod(o),c=e.multiply(a).mod(o);return s.multiply(u).add(i.multiply(c)).getX().toBigInteger().mod(o).equals(e)},this.serializeSig=function(t,e){var r=t.toByteArraySigned(),n=e.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(t){var e;if(48!=t[0])throw new Error(\"Signature not a valid DERSequence\");if(2!=t[e=2])throw new Error(\"First element in signature must be a DERInteger\");var r=t.slice(e+2,e+2+t[e+1]);if(2!=t[e+=2+t[e+1]])throw new Error(\"Second element in signature must be a DERInteger\");var i=t.slice(e+2,e+2+t[e+1]);return e+=2+t[e+1],{r:n.fromByteArrayUnsigned(r),s:n.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(t){if(65!==t.length)throw\"Signature has the wrong length\";var e=t[0]-27;if(e<0||e>7)throw\"Invalid signature type\";var r=this.ecparams.n;return{r:n.fromByteArrayUnsigned(t.slice(1,33)).mod(r),s:n.fromByteArrayUnsigned(t.slice(33,65)).mod(r),i:e}},this.readPKCS5PrvKeyHex=function(t){if(!1===h(t))throw new Error(\"not ASN.1 hex string\");var e,r,n;try{e=c(t,0,[\"[0]\",0],\"06\"),r=c(t,0,[1],\"04\");try{n=c(t,0,[\"[1]\",0],\"03\")}catch(t){}}catch(t){throw new Error(\"malformed PKCS#1/5 plain ECC private key\")}if(this.curveName=a(e),void 0===this.curveName)throw\"unsupported curve name\";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(t){if(!1===h(t))throw new e(\"not ASN.1 hex string\");var r,n,i;try{c(t,0,[1,0],\"06\"),r=c(t,0,[1,1],\"06\"),n=c(t,0,[2,0,1],\"04\");try{i=c(t,0,[2,0,\"[1]\",0],\"03\")}catch(t){}}catch(t){throw new e(\"malformed PKCS#8 plain ECC private key\")}if(this.curveName=a(r),void 0===this.curveName)throw new e(\"unsupported curve name\");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(t){if(!1===h(t))throw new e(\"not ASN.1 hex string\");var r,n;try{c(t,0,[0,0],\"06\"),r=c(t,0,[0,1],\"06\"),n=c(t,0,[1],\"03\")}catch(t){throw new e(\"malformed PKCS#8 ECC public key\")}if(this.curveName=a(r),null===this.curveName)throw new e(\"unsupported curve name\");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(t,r){if(!1===h(t))throw new e(\"not ASN.1 hex string\");var n,i;try{n=c(t,0,[0,5,0,1],\"06\"),i=c(t,0,[0,5,1],\"03\")}catch(t){throw new e(\"malformed X.509 certificate ECC public key\")}if(this.curveName=a(n),null===this.curveName)throw new e(\"unsupported curve name\");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==t&&void 0!==t.curve&&(this.curveName=t.curve),void 0===this.curveName&&(this.curveName=\"secp256r1\"),this.setNamedCurve(this.curveName),void 0!==t&&(void 0!==t.prv&&this.setPrivateKeyHex(t.prv),void 0!==t.pub&&this.setPublicKeyHex(t.pub))},br.crypto.ECDSA.parseSigHex=function(t){var e=br.crypto.ECDSA.parseSigHexInHexRS(t);return{r:new F(e.r,16),s:new F(e.s,16)}},br.crypto.ECDSA.parseSigHexInHexRS=function(t){var e=Er,r=e.getChildIdx,n=e.getV;if(e.checkStrictDER(t,0),\"30\"!=t.substr(0,2))throw new Error(\"signature is not a ASN.1 sequence\");var i=r(t,0);if(2!=i.length)throw new Error(\"signature shall have two elements\");var o=i[0],s=i[1];if(\"02\"!=t.substr(o,2))throw new Error(\"1st item not ASN.1 integer\");if(\"02\"!=t.substr(s,2))throw new Error(\"2nd item not ASN.1 integer\");return{r:n(t,o),s:n(t,s)}},br.crypto.ECDSA.asn1SigToConcatSig=function(t){var e=br.crypto.ECDSA.parseSigHexInHexRS(t),r=e.r,n=e.s;if(\"00\"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),\"00\"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r=\"00\"+r),n.length%32==30&&(n=\"00\"+n),r.length%32!=0)throw\"unknown ECDSA sig r length error\";if(n.length%32!=0)throw\"unknown ECDSA sig s length error\";return r+n},br.crypto.ECDSA.concatSigToASN1Sig=function(t){if(t.length/2*8%128!=0)throw\"unknown ECDSA concatinated r-s sig length error\";var e=t.substr(0,t.length/2),r=t.substr(t.length/2);return br.crypto.ECDSA.hexRSSigToASN1Sig(e,r)},br.crypto.ECDSA.hexRSSigToASN1Sig=function(t,e){var r=new F(t,16),n=new F(e,16);return br.crypto.ECDSA.biRSSigToASN1Sig(r,n)},br.crypto.ECDSA.biRSSigToASN1Sig=function(t,e){var r=br.asn1,n=new r.DERInteger({bigint:t}),i=new r.DERInteger({bigint:e});return new r.DERSequence({array:[n,i]}).getEncodedHex()},br.crypto.ECDSA.getName=function(t){return\"2b8104001f\"===t?\"secp192k1\":\"2a8648ce3d030107\"===t?\"secp256r1\":\"2b8104000a\"===t?\"secp256k1\":\"2b81040021\"===t?\"secp224r1\":\"2b81040022\"===t?\"secp384r1\":-1!==\"|secp256r1|NIST P-256|P-256|prime256v1|\".indexOf(t)?\"secp256r1\":-1!==\"|secp256k1|\".indexOf(t)?\"secp256k1\":-1!==\"|secp224r1|NIST P-224|P-224|\".indexOf(t)?\"secp224r1\":-1!==\"|secp384r1|NIST P-384|P-384|\".indexOf(t)?\"secp384r1\":null},void 0!==br&&br||(e.KJUR=br={}),void 0!==br.crypto&&br.crypto||(br.crypto={}),br.crypto.ECParameterDB=new function(){var t={},e={};function r(t){return new F(t,16)}this.getByName=function(r){var n=r;if(void 0!==e[n]&&(n=e[r]),void 0!==t[n])return t[n];throw\"unregistered EC curve name: \"+n},this.regist=function(n,i,o,s,a,u,c,h,l,f,g,d){t[n]={};var p=r(o),v=r(s),y=r(a),m=r(u),_=r(c),S=new qe(p,v,y),b=S.decodePointHex(\"04\"+h+l);t[n].name=n,t[n].keylen=i,t[n].curve=S,t[n].G=b,t[n].n=m,t[n].h=_,t[n].oid=g,t[n].info=d;for(var w=0;w=2*u)break}var f={};return f.keyhex=c.substr(0,2*i[e].keylen),f.ivhex=c.substr(2*i[e].keylen,2*i[e].ivlen),f},a=function t(e,r,n,o){var s=y.enc.Base64.parse(e),a=y.enc.Hex.stringify(s);return(0,i[r].proc)(a,n,o)};return{version:\"1.0.0\",parsePKCS5PEM:function t(e){return o(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function t(e,r,n){return s(e,r,n)},decryptKeyB64:function t(e,r,n,i){return a(e,r,n,i)},getDecryptedKeyHex:function t(e,r){var n=o(e),i=(n.type,n.cipher),u=n.ivsalt,c=n.data,h=s(i,r,u).keyhex;return a(c,i,h,u)},getEncryptedPKCS5PEMFromPrvKeyHex:function t(e,r,n,o,a){var u=\"\";if(void 0!==o&&null!=o||(o=\"AES-256-CBC\"),void 0===i[o])throw\"KEYUTIL unsupported algorithm: \"+o;void 0!==a&&null!=a||(a=function t(e){var r=y.lib.WordArray.random(e);return y.enc.Hex.stringify(r)}(i[o].ivlen).toUpperCase());var c=function t(e,r,n,o){return(0,i[r].eproc)(e,n,o)}(r,o,s(o,n,a).keyhex,a);u=\"-----BEGIN \"+e+\" PRIVATE KEY-----\\r\\n\";return u+=\"Proc-Type: 4,ENCRYPTED\\r\\n\",u+=\"DEK-Info: \"+o+\",\"+a+\"\\r\\n\",u+=\"\\r\\n\",u+=c.replace(/(.{64})/g,\"$1\\r\\n\"),u+=\"\\r\\n-----END \"+e+\" PRIVATE KEY-----\\r\\n\"},parseHexOfEncryptedPKCS8:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={},s=n(e,0);if(2!=s.length)throw\"malformed format: SEQUENCE(0).items != 2: \"+s.length;o.ciphertext=i(e,s[1]);var a=n(e,s[0]);if(2!=a.length)throw\"malformed format: SEQUENCE(0.0).items != 2: \"+a.length;if(\"2a864886f70d01050d\"!=i(e,a[0]))throw\"this only supports pkcs5PBES2\";var u=n(e,a[1]);if(2!=a.length)throw\"malformed format: SEQUENCE(0.0.1).items != 2: \"+u.length;var c=n(e,u[1]);if(2!=c.length)throw\"malformed format: SEQUENCE(0.0.1.1).items != 2: \"+c.length;if(\"2a864886f70d0307\"!=i(e,c[0]))throw\"this only supports TripleDES\";o.encryptionSchemeAlg=\"TripleDES\",o.encryptionSchemeIV=i(e,c[1]);var h=n(e,u[0]);if(2!=h.length)throw\"malformed format: SEQUENCE(0.0.1.0).items != 2: \"+h.length;if(\"2a864886f70d01050c\"!=i(e,h[0]))throw\"this only supports pkcs5PBKDF2\";var l=n(e,h[1]);if(l.length<2)throw\"malformed format: SEQUENCE(0.0.1.0.1).items < 2: \"+l.length;o.pbkdf2Salt=i(e,l[0]);var f=i(e,l[1]);try{o.pbkdf2Iter=parseInt(f,16)}catch(t){throw\"malformed format pbkdf2Iter: \"+f}return o},getPBKDF2KeyHexFromParam:function t(e,r){var n=y.enc.Hex.parse(e.pbkdf2Salt),i=e.pbkdf2Iter,o=y.PBKDF2(r,n,{keySize:6,iterations:i});return y.enc.Hex.stringify(o)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function t(e,r){var n=Hr(e,\"ENCRYPTED PRIVATE KEY\"),i=this.parseHexOfEncryptedPKCS8(n),o=Zr.getPBKDF2KeyHexFromParam(i,r),s={};s.ciphertext=y.enc.Hex.parse(i.ciphertext);var a=y.enc.Hex.parse(o),u=y.enc.Hex.parse(i.encryptionSchemeIV),c=y.TripleDES.decrypt(s,a,{iv:u});return y.enc.Hex.stringify(c)},getKeyFromEncryptedPKCS8PEM:function t(e,r){var n=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,r);return this.getKeyFromPlainPrivatePKCS8Hex(n)},parsePlainPrivatePKCS8Hex:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={algparam:null};if(\"30\"!=e.substr(0,2))throw\"malformed plain PKCS8 private key(code:001)\";var s=n(e,0);if(3!=s.length)throw\"malformed plain PKCS8 private key(code:002)\";if(\"30\"!=e.substr(s[1],2))throw\"malformed PKCS8 private key(code:003)\";var a=n(e,s[1]);if(2!=a.length)throw\"malformed PKCS8 private key(code:004)\";if(\"06\"!=e.substr(a[0],2))throw\"malformed PKCS8 private key(code:005)\";if(o.algoid=i(e,a[0]),\"06\"==e.substr(a[1],2)&&(o.algparam=i(e,a[1])),\"04\"!=e.substr(s[2],2))throw\"malformed PKCS8 private key(code:006)\";return o.keyidx=r.getVidx(e,s[2]),o},getKeyFromPlainPrivatePKCS8PEM:function t(e){var r=Hr(e,\"PRIVATE KEY\");return this.getKeyFromPlainPrivatePKCS8Hex(r)},getKeyFromPlainPrivatePKCS8Hex:function t(e){var r,n=this.parsePlainPrivatePKCS8Hex(e);if(\"2a864886f70d010101\"==n.algoid)r=new He;else if(\"2a8648ce380401\"==n.algoid)r=new br.crypto.DSA;else{if(\"2a8648ce3d0201\"!=n.algoid)throw\"unsupported private key algorithm\";r=new br.crypto.ECDSA}return r.readPKCS8PrvKeyHex(e),r},_getKeyFromPublicPKCS8Hex:function t(e){var r,n=Er.getVbyList(e,0,[0,0],\"06\");if(\"2a864886f70d010101\"===n)r=new He;else if(\"2a8648ce380401\"===n)r=new br.crypto.DSA;else{if(\"2a8648ce3d0201\"!==n)throw\"unsupported PKCS#8 public key hex\";r=new br.crypto.ECDSA}return r.readPKCS8PubKeyHex(e),r},parsePublicRawRSAKeyHex:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={};if(\"30\"!=e.substr(0,2))throw\"malformed RSA key(code:001)\";var s=n(e,0);if(2!=s.length)throw\"malformed RSA key(code:002)\";if(\"02\"!=e.substr(s[0],2))throw\"malformed RSA key(code:003)\";if(o.n=i(e,s[0]),\"02\"!=e.substr(s[1],2))throw\"malformed RSA key(code:004)\";return o.e=i(e,s[1]),o},parsePublicPKCS8Hex:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={algparam:null},s=n(e,0);if(2!=s.length)throw\"outer DERSequence shall have 2 elements: \"+s.length;var a=s[0];if(\"30\"!=e.substr(a,2))throw\"malformed PKCS8 public key(code:001)\";var u=n(e,a);if(2!=u.length)throw\"malformed PKCS8 public key(code:002)\";if(\"06\"!=e.substr(u[0],2))throw\"malformed PKCS8 public key(code:003)\";if(o.algoid=i(e,u[0]),\"06\"==e.substr(u[1],2)?o.algparam=i(e,u[1]):\"30\"==e.substr(u[1],2)&&(o.algparam={},o.algparam.p=r.getVbyList(e,u[1],[0],\"02\"),o.algparam.q=r.getVbyList(e,u[1],[1],\"02\"),o.algparam.g=r.getVbyList(e,u[1],[2],\"02\")),\"03\"!=e.substr(s[1],2))throw\"malformed PKCS8 public key(code:004)\";return o.key=i(e,s[1]).substr(2),o}}}();Zr.getKey=function(t,e,r){var n=(v=Er).getChildIdx,i=(v.getV,v.getVbyList),o=br.crypto,s=o.ECDSA,a=o.DSA,u=He,c=Hr,h=Zr;if(void 0!==u&&t instanceof u)return t;if(void 0!==s&&t instanceof s)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new s({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new s({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new u).setPublic(t.n,t.e),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(P=new u).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(P=new u).setPrivate(t.n,t.e,t.d),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(P=new a).setPublic(t.p,t.q,t.g,t.y),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(P=new a).setPrivate(t.p,t.q,t.g,t.y,t.x),P;if(\"RSA\"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new u).setPublic(Ir(t.n),Ir(t.e)),P;if(\"RSA\"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(P=new u).setPrivateEx(Ir(t.n),Ir(t.e),Ir(t.d),Ir(t.p),Ir(t.q),Ir(t.dp),Ir(t.dq),Ir(t.qi)),P;if(\"RSA\"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(P=new u).setPrivate(Ir(t.n),Ir(t.e),Ir(t.d)),P;if(\"EC\"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var l=(k=new s({curve:t.crv})).ecparams.keylen/4,f=\"04\"+(\"0000000000\"+Ir(t.x)).slice(-l)+(\"0000000000\"+Ir(t.y)).slice(-l);return k.setPublicKeyHex(f),k}if(\"EC\"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){l=(k=new s({curve:t.crv})).ecparams.keylen/4,f=\"04\"+(\"0000000000\"+Ir(t.x)).slice(-l)+(\"0000000000\"+Ir(t.y)).slice(-l);var g=(\"0000000000\"+Ir(t.d)).slice(-l);return k.setPublicKeyHex(f),k.setPrivateKeyHex(g),k}if(\"pkcs5prv\"===r){var d,p=t,v=Er;if(9===(d=n(p,0)).length)(P=new u).readPKCS5PrvKeyHex(p);else if(6===d.length)(P=new a).readPKCS5PrvKeyHex(p);else{if(!(d.length>2&&\"04\"===p.substr(d[1],2)))throw\"unsupported PKCS#1/5 hexadecimal key\";(P=new s).readPKCS5PrvKeyHex(p)}return P}if(\"pkcs8prv\"===r)return P=h.getKeyFromPlainPrivatePKCS8Hex(t);if(\"pkcs8pub\"===r)return h._getKeyFromPublicPKCS8Hex(t);if(\"x509pub\"===r)return on.getPublicKeyFromCertHex(t);if(-1!=t.indexOf(\"-END CERTIFICATE-\",0)||-1!=t.indexOf(\"-END X509 CERTIFICATE-\",0)||-1!=t.indexOf(\"-END TRUSTED CERTIFICATE-\",0))return on.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf(\"-END PUBLIC KEY-\")){var y=Hr(t,\"PUBLIC KEY\");return h._getKeyFromPublicPKCS8Hex(y)}if(-1!=t.indexOf(\"-END RSA PRIVATE KEY-\")&&-1==t.indexOf(\"4,ENCRYPTED\")){var m=c(t,\"RSA PRIVATE KEY\");return h.getKey(m,null,\"pkcs5prv\")}if(-1!=t.indexOf(\"-END DSA PRIVATE KEY-\")&&-1==t.indexOf(\"4,ENCRYPTED\")){var _=i(R=c(t,\"DSA PRIVATE KEY\"),0,[1],\"02\"),S=i(R,0,[2],\"02\"),b=i(R,0,[3],\"02\"),w=i(R,0,[4],\"02\"),E=i(R,0,[5],\"02\");return(P=new a).setPrivate(new F(_,16),new F(S,16),new F(b,16),new F(w,16),new F(E,16)),P}if(-1!=t.indexOf(\"-END EC PRIVATE KEY-\")&&-1==t.indexOf(\"4,ENCRYPTED\")){m=c(t,\"EC PRIVATE KEY\");return h.getKey(m,null,\"pkcs5prv\")}if(-1!=t.indexOf(\"-END PRIVATE KEY-\"))return h.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf(\"-END RSA PRIVATE KEY-\")&&-1!=t.indexOf(\"4,ENCRYPTED\")){var x=h.getDecryptedKeyHex(t,e),A=new He;return A.readPKCS5PrvKeyHex(x),A}if(-1!=t.indexOf(\"-END EC PRIVATE KEY-\")&&-1!=t.indexOf(\"4,ENCRYPTED\")){var k,P=i(R=h.getDecryptedKeyHex(t,e),0,[1],\"04\"),C=i(R,0,[2,0],\"06\"),T=i(R,0,[3,0],\"03\").substr(2);if(void 0===br.crypto.OID.oidhex2name[C])throw\"undefined OID(hex) in KJUR.crypto.OID: \"+C;return(k=new s({curve:br.crypto.OID.oidhex2name[C]})).setPublicKeyHex(T),k.setPrivateKeyHex(P),k.isPublic=!1,k}if(-1!=t.indexOf(\"-END DSA PRIVATE KEY-\")&&-1!=t.indexOf(\"4,ENCRYPTED\")){var R;_=i(R=h.getDecryptedKeyHex(t,e),0,[1],\"02\"),S=i(R,0,[2],\"02\"),b=i(R,0,[3],\"02\"),w=i(R,0,[4],\"02\"),E=i(R,0,[5],\"02\");return(P=new a).setPrivate(new F(_,16),new F(S,16),new F(b,16),new F(w,16),new F(E,16)),P}if(-1!=t.indexOf(\"-END ENCRYPTED PRIVATE KEY-\"))return h.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error(\"not supported argument\")},Zr.generateKeypair=function(t,e){if(\"RSA\"==t){var r=e;(s=new He).generate(r,\"10001\"),s.isPrivate=!0,s.isPublic=!0;var n=new He,i=s.n.toString(16),o=s.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if(\"EC\"==t){var s,a,u=e,c=new br.crypto.ECDSA({curve:u}).generateKeyPairHex();return(s=new br.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),s.setPrivateKeyHex(c.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new br.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw\"unknown algorithm: \"+t},Zr.getPEM=function(t,e,r,n,i,o){var s=br,a=s.asn1,u=a.DERObjectIdentifier,c=a.DERInteger,h=a.ASN1Util.newObject,l=a.x509.SubjectPublicKeyInfo,f=s.crypto,g=f.DSA,d=f.ECDSA,p=He;function v(t){return h({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function m(t){return h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:[\"a0\",!0,{oid:{name:t.curveName}}]},{tag:[\"a1\",!0,{bitstr:{hex:\"00\"+t.pubKeyHex}}]}]})}function _(t){return h({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==p&&t instanceof p||void 0!==g&&t instanceof g||void 0!==d&&t instanceof d)&&1==t.isPublic&&(void 0===e||\"PKCS8PUB\"==e))return Mr(F=new l(t).getEncodedHex(),\"PUBLIC KEY\");if(\"PKCS1PRV\"==e&&void 0!==p&&t instanceof p&&(void 0===r||null==r)&&1==t.isPrivate)return Mr(F=v(t).getEncodedHex(),\"RSA PRIVATE KEY\");if(\"PKCS1PRV\"==e&&void 0!==d&&t instanceof d&&(void 0===r||null==r)&&1==t.isPrivate){var S=new u({name:t.curveName}).getEncodedHex(),b=m(t).getEncodedHex(),w=\"\";return w+=Mr(S,\"EC PARAMETERS\"),w+=Mr(b,\"EC PRIVATE KEY\")}if(\"PKCS1PRV\"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate)return Mr(F=_(t).getEncodedHex(),\"DSA PRIVATE KEY\");if(\"PKCS5PRV\"==e&&void 0!==p&&t instanceof p&&void 0!==r&&null!=r&&1==t.isPrivate){var F=v(t).getEncodedHex();return void 0===n&&(n=\"DES-EDE3-CBC\"),this.getEncryptedPKCS5PEMFromPrvKeyHex(\"RSA\",F,r,n,o)}if(\"PKCS5PRV\"==e&&void 0!==d&&t instanceof d&&void 0!==r&&null!=r&&1==t.isPrivate){F=m(t).getEncodedHex();return void 0===n&&(n=\"DES-EDE3-CBC\"),this.getEncryptedPKCS5PEMFromPrvKeyHex(\"EC\",F,r,n,o)}if(\"PKCS5PRV\"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate){F=_(t).getEncodedHex();return void 0===n&&(n=\"DES-EDE3-CBC\"),this.getEncryptedPKCS5PEMFromPrvKeyHex(\"DSA\",F,r,n,o)}var E=function t(e,r){var n=x(e,r);return new h({seq:[{seq:[{oid:{name:\"pkcs5PBES2\"}},{seq:[{seq:[{oid:{name:\"pkcs5PBKDF2\"}},{seq:[{octstr:{hex:n.pbkdf2Salt}},{int:n.pbkdf2Iter}]}]},{seq:[{oid:{name:\"des-EDE3-CBC\"}},{octstr:{hex:n.encryptionSchemeIV}}]}]}]},{octstr:{hex:n.ciphertext}}]}).getEncodedHex()},x=function t(e,r){var n=y.lib.WordArray.random(8),i=y.lib.WordArray.random(8),o=y.PBKDF2(r,n,{keySize:6,iterations:100}),s=y.enc.Hex.parse(e),a=y.TripleDES.encrypt(s,o,{iv:i})+\"\",u={};return u.ciphertext=a,u.pbkdf2Salt=y.enc.Hex.stringify(n),u.pbkdf2Iter=100,u.encryptionSchemeAlg=\"DES-EDE3-CBC\",u.encryptionSchemeIV=y.enc.Hex.stringify(i),u};if(\"PKCS8PRV\"==e&&null!=p&&t instanceof p&&1==t.isPrivate){var A=v(t).getEncodedHex();F=h({seq:[{int:0},{seq:[{oid:{name:\"rsaEncryption\"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Mr(F,\"PRIVATE KEY\"):Mr(b=E(F,r),\"ENCRYPTED PRIVATE KEY\")}if(\"PKCS8PRV\"==e&&void 0!==d&&t instanceof d&&1==t.isPrivate){A=new h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:[\"a1\",!0,{bitstr:{hex:\"00\"+t.pubKeyHex}}]}]}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:\"ecPublicKey\"}},{oid:{name:t.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Mr(F,\"PRIVATE KEY\"):Mr(b=E(F,r),\"ENCRYPTED PRIVATE KEY\")}if(\"PKCS8PRV\"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate){A=new c({bigint:t.x}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:\"dsa\"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Mr(F,\"PRIVATE KEY\"):Mr(b=E(F,r),\"ENCRYPTED PRIVATE KEY\")}throw new Error(\"unsupported object nor format\")},Zr.getKeyFromCSRPEM=function(t){var e=Hr(t,\"CERTIFICATE REQUEST\");return Zr.getKeyFromCSRHex(e)},Zr.getKeyFromCSRHex=function(t){var e=Zr.parseCSRHex(t);return Zr.getKey(e.p8pubkeyhex,null,\"pkcs8pub\")},Zr.parseCSRHex=function(t){var e=Er,r=e.getChildIdx,n=e.getTLV,i={},o=t;if(\"30\"!=o.substr(0,2))throw\"malformed CSR(code:001)\";var s=r(o,0);if(s.length<1)throw\"malformed CSR(code:002)\";if(\"30\"!=o.substr(s[0],2))throw\"malformed CSR(code:003)\";var a=r(o,s[0]);if(a.length<3)throw\"malformed CSR(code:004)\";return i.p8pubkeyhex=n(o,a[2]),i},Zr.getKeyID=function(t){var e=Zr,r=Er;\"string\"==typeof t&&-1!=t.indexOf(\"BEGIN \")&&(t=e.getKey(t));var n=Hr(e.getPEM(t)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return br.crypto.Util.hashHex(o,\"sha1\")},Zr.getJWKFromKey=function(t){var e={};if(t instanceof He&&t.isPrivate)return e.kty=\"RSA\",e.n=Rr(t.n.toString(16)),e.e=Rr(t.e.toString(16)),e.d=Rr(t.d.toString(16)),e.p=Rr(t.p.toString(16)),e.q=Rr(t.q.toString(16)),e.dp=Rr(t.dmp1.toString(16)),e.dq=Rr(t.dmq1.toString(16)),e.qi=Rr(t.coeff.toString(16)),e;if(t instanceof He&&t.isPublic)return e.kty=\"RSA\",e.n=Rr(t.n.toString(16)),e.e=Rr(t.e.toString(16)),e;if(t instanceof br.crypto.ECDSA&&t.isPrivate){if(\"P-256\"!==(n=t.getShortNISTPCurveName())&&\"P-384\"!==n)throw\"unsupported curve name for JWT: \"+n;var r=t.getPublicKeyXYHex();return e.kty=\"EC\",e.crv=n,e.x=Rr(r.x),e.y=Rr(r.y),e.d=Rr(t.prvKeyHex),e}if(t instanceof br.crypto.ECDSA&&t.isPublic){var n;if(\"P-256\"!==(n=t.getShortNISTPCurveName())&&\"P-384\"!==n)throw\"unsupported curve name for JWT: \"+n;r=t.getPublicKeyXYHex();return e.kty=\"EC\",e.crv=n,e.x=Rr(r.x),e.y=Rr(r.y),e}throw\"not supported key object\"},He.getPosArrayOfChildrenFromHex=function(t){return Er.getChildIdx(t,0)},He.getHexValueArrayOfChildrenFromHex=function(t){var e,r=Er.getV,n=r(t,(e=He.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),o=r(t,e[2]),s=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),c=r(t,e[6]),h=r(t,e[7]),l=r(t,e[8]);return(e=new Array).push(n,i,o,s,a,u,c,h,l),e},He.prototype.readPrivateKeyFromPEMString=function(t){var e=Hr(t),r=He.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},He.prototype.readPKCS5PrvKeyHex=function(t){var e=He.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},He.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,o,s,a,u,c=Er,h=c.getVbyListEx;if(!1===c.isASN1HEX(t))throw new Error(\"not ASN.1 hex string\");try{e=h(t,0,[2,0,1],\"02\"),r=h(t,0,[2,0,2],\"02\"),n=h(t,0,[2,0,3],\"02\"),i=h(t,0,[2,0,4],\"02\"),o=h(t,0,[2,0,5],\"02\"),s=h(t,0,[2,0,6],\"02\"),a=h(t,0,[2,0,7],\"02\"),u=h(t,0,[2,0,8],\"02\")}catch(t){throw new Error(\"malformed PKCS#8 plain RSA private key\")}this.setPrivateEx(e,r,n,i,o,s,a,u)},He.prototype.readPKCS5PubKeyHex=function(t){var e=Er,r=e.getV;if(!1===e.isASN1HEX(t))throw new Error(\"keyHex is not ASN.1 hex string\");var n=e.getChildIdx(t,0);if(2!==n.length||\"02\"!==t.substr(n[0],2)||\"02\"!==t.substr(n[1],2))throw new Error(\"wrong hex for PKCS#5 public key\");var i=r(t,n[0]),o=r(t,n[1]);this.setPublic(i,o)},He.prototype.readPKCS8PubKeyHex=function(t){var e=Er;if(!1===e.isASN1HEX(t))throw new Error(\"not ASN.1 hex string\");if(\"06092a864886f70d010101\"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error(\"not PKCS8 RSA public key\");var r=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},He.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new on).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var tn=new RegExp(\"[^0-9a-f]\",\"gi\");function en(t,e){for(var r=\"\",n=e/4-t.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function nn(t){for(var e in br.crypto.Util.DIGESTINFOHEAD){var r=br.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function on(t){var e,r=Er,n=r.getChildIdx,i=r.getV,o=r.getTLV,s=r.getVbyList,a=r.getVbyListEx,u=r.getTLVbyList,c=r.getTLVbyListEx,h=r.getIdxbyList,l=r.getIdxbyListEx,f=r.getVidx,g=r.oidname,d=r.hextooidstr,p=on,v=Hr;try{e=br.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={\"0c\":\"utf8\",13:\"prn\",16:\"ia5\",\"1a\":\"vis\",\"1e\":\"bmp\"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:\"a003020102\"!==u(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],\"02\")},this.getSignatureAlgorithmField=function(){var t=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var r in e)if(t===e[r])return r;return g(a(t,0,[0],\"06\"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return u(this.hex,0,[0,3+this.foffset],\"30\")},this.getIssuerString=function(){return p.hex2dn(this.getIssuerHex())},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return u(this.hex,0,[0,5+this.foffset],\"30\")},this.getSubjectString=function(){return p.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var t=s(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,\"%$1\"),t=decodeURIComponent(t)},this.getNotAfter=function(){var t=s(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,\"%$1\"),t=decodeURIComponent(t)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],\"30\")},this.getPublicKeyIdx=function(){return h(this.hex,0,[0,6+this.foffset],\"30\")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return h(this.hex,t,[1,0],\"30\")},this.getPublicKey=function(){return Zr.getKey(this.getPublicKeyHex(),null,\"pkcs8pub\")},this.getSignatureAlgorithmName=function(){var t=u(this.hex,0,[1],\"30\");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return s(this.hex,0,[2],\"03\",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=u(this.hex,0,[0],\"30\"),i=new br.crypto.Signature({alg:e});return i.init(t),i.updateHex(n),i.verify(r)},this.parseExt=function(t){var e,o,a;if(void 0===t){if(a=this.hex,3!==this.version)return-1;e=h(a,0,[0,7,0],\"30\"),o=n(a,e)}else{a=Hr(t);var u=h(a,0,[0,3,0,0],\"06\");if(\"2a864886f70d01090e\"!=i(a,u))return void(this.aExtInfo=new Array);e=h(a,0,[0,3,0,1,0],\"30\"),o=n(a,e),this.hex=a}this.aExtInfo=new Array;for(var c=0;c1){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(i.uri=u.uri)}if(s.length>2){var c=o(t,s[2]);\"0101ff\"==c&&(i.reqauth=!0),\"010100\"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(t){for(var e=null,r=[],n=0;n0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&(-1!=l(this.hex,0,[0,\"[3]\"])&&(t=c(this.hex,0,[0,\"[3]\",0],\"30\")));for(var e=[],r=n(t,0),i=0;i0&&(c=new Array(r),(new Oe).nextBytes(c),c=String.fromCharCode.apply(String,c));var h=Nr(u(Ur(\"\\0\\0\\0\\0\\0\\0\\0\\0\"+i+c))),l=[];for(n=0;n>8*a-s&255;for(d[0]&=~p,n=0;nthis.n.bitLength())return 0;var n=nn(this.doPublic(r).toString(16).replace(/^1f+00/,\"\"));if(0==n.length)return!1;var i=n[0];return n[1]==function t(e){return br.crypto.Util.hashString(e,i)}(t)},He.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=je(e,16);if(r.bitLength()>this.n.bitLength())return 0;var n=nn(this.doPublic(r).toString(16).replace(/^1f+00/,\"\"));if(0==n.length)return!1;n[0];return n[1]==t},He.prototype.verifyPSS=function(t,e,r,n){var i=function t(e){return br.crypto.Util.hashHex(e,r)}(Ur(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},He.prototype.verifyWithMessageHashPSS=function(t,e,r,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new F(e,16),s=function t(e){return br.crypto.Util.hashHex(e,r)},a=Nr(t),u=a.length,c=this.n.bitLength()-1,h=Math.ceil(c/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=h-u-2;else if(n<-2)throw new Error(\"invalid salt length\");if(h>8*h-c&255;if(0!=(f.charCodeAt(0)&d))throw new Error(\"bits beyond keysize not zero\");var p=rn(g,f.length,s),v=[];for(i=0;i0)&&-1==(\":\"+n.join(\":\")+\":\").indexOf(\":\"+v+\":\"))throw\"algorithm '\"+v+\"' not accepted in the list\";if(\"none\"!=v&&null===e)throw\"key shall be specified to verify.\";if(\"string\"==typeof e&&-1!=e.indexOf(\"-----BEGIN \")&&(e=Zr.getKey(e)),!(\"RS\"!=y&&\"PS\"!=y||e instanceof i))throw\"key shall be a RSAKey obj for RS* and PS* algs\";if(\"ES\"==y&&!(e instanceof c))throw\"key shall be a ECDSA obj for ES* algs\";var m=null;if(void 0===s.jwsalg2sigalg[p.alg])throw\"unsupported alg name: \"+v;if(\"none\"==(m=s.jwsalg2sigalg[v]))throw\"not supported\";if(\"Hmac\"==m.substr(0,4)){if(void 0===e)throw\"hexadecimal key shall be specified for HMAC\";var _=new h({alg:m,pass:e});return _.updateString(g),d==_.doFinal()}if(-1!=m.indexOf(\"withECDSA\")){var S,b=null;try{b=c.concatSigToASN1Sig(d)}catch(t){return!1}return(S=new l({alg:m})).init(e),S.updateString(g),S.verify(b)}return(S=new l({alg:m})).init(e),S.updateString(g),S.verify(d)},br.jws.JWS.parse=function(t){var e,r,n,i=t.split(\".\"),o={};if(2!=i.length&&3!=i.length)throw\"malformed sJWS: wrong number of '.' splitted elements\";return e=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=br.jws.JWS.readSafeJSONString(Fr(e)),o.payloadObj=br.jws.JWS.readSafeJSONString(Fr(r)),o.headerPP=JSON.stringify(o.headerObj,null,\" \"),null==o.payloadObj?o.payloadPP=Fr(r):o.payloadPP=JSON.stringify(o.payloadObj,null,\" \"),void 0!==n&&(o.sigHex=Ir(n)),o},br.jws.JWS.verifyJWT=function(t,e,n){var i=br.jws,o=i.JWS,s=o.readSafeJSONString,a=o.inArray,u=o.includedArray,c=t.split(\".\"),h=c[0],l=c[1],f=(Ir(c[2]),s(Fr(h))),g=s(Fr(l));if(void 0===f.alg)return!1;if(void 0===n.alg)throw\"acceptField.alg shall be specified\";if(!a(f.alg,n.alg))return!1;if(void 0!==g.iss&&\"object\"===r(n.iss)&&!a(g.iss,n.iss))return!1;if(void 0!==g.sub&&\"object\"===r(n.sub)&&!a(g.sub,n.sub))return!1;if(void 0!==g.aud&&\"object\"===r(n.aud))if(\"string\"==typeof g.aud){if(!a(g.aud,n.aud))return!1}else if(\"object\"==r(g.aud)&&!u(g.aud,n.aud))return!1;var d=i.IntDate.getNow();return void 0!==n.verifyAt&&\"number\"==typeof n.verifyAt&&(d=n.verifyAt),void 0!==n.gracePeriod&&\"number\"==typeof n.gracePeriod||(n.gracePeriod=0),!(void 0!==g.exp&&\"number\"==typeof g.exp&&g.exp+n.gracePeriodr.length&&(n=r.length);for(var i=0;i\n * @license MIT\n */\nvar n=r(30),i=r(31),o=r(32);function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(s()=s())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+s().toString(16)+\" bytes\");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;\"string\"!=typeof t&&(t=\"\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":case void 0:return K(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return q(t).length;default:if(n)return K(t).length;e=(\"\"+e).toLowerCase(),n=!0}}function p(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return I(this,e,r);case\"utf8\":case\"utf-8\":return A(this,e,r);case\"ascii\":return T(this,e,r);case\"latin1\":case\"binary\":return R(this,e,r);case\"base64\":return x(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return D(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function m(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;oa&&(r=a-u),o=r;o>=0;o--){for(var l=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function x(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function A(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(h=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=l}return function f(t){var e=t.length;if(e<=C)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;n0&&(r=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(r+=\" ... \")),\"\"},u.prototype.compare=function t(e,r,n,i,o){if(!u.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===r&&(r=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),r<0||n>e.length||i<0||o>this.length)throw new RangeError(\"out of range index\");if(i>=o&&r>=n)return 0;if(i>=o)return-1;if(r>=n)return 1;if(this===e)return 0;for(var s=(o>>>=0)-(i>>>=0),a=(n>>>=0)-(r>>>=0),c=Math.min(s,a),h=this.slice(i,o),l=e.slice(r,n),f=0;fo)&&(n=o),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");i||(i=\"utf8\");for(var s=!1;;)switch(i){case\"hex\":return _(this,e,r,n);case\"utf8\":case\"utf-8\":return S(this,e,r,n);case\"ascii\":return b(this,e,r,n);case\"latin1\":case\"binary\":return w(this,e,r,n);case\"base64\":return F(this,e,r,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return E(this,e,r,n);default:if(s)throw new TypeError(\"Unknown encoding: \"+i);i=(\"\"+i).toLowerCase(),s=!0}},u.prototype.toJSON=function t(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function T(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",o=e;or)throw new RangeError(\"Trying to access beyond buffer length\")}function N(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError(\"Index out of range\")}function U(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function B(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function O(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function j(t,e,r,n,o){return o||O(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function M(t,e,r,n,o){return o||O(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function t(e,r){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(r=void 0===r?i:~~r)<0?(r+=i)<0&&(r=0):r>i&&(r=i),r0&&(o*=256);)i+=this[e+--r]*o;return i},u.prototype.readUInt8=function t(e,r){return r||L(e,1,this.length),this[e]},u.prototype.readUInt16LE=function t(e,r){return r||L(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function t(e,r){return r||L(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function t(e,r){return r||L(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function t(e,r){return r||L(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function t(e,r,n){e|=0,r|=0,n||L(e,r,this.length);for(var i=this[e],o=1,s=0;++s=(o*=128)&&(i-=Math.pow(2,8*r)),i},u.prototype.readIntBE=function t(e,r,n){e|=0,r|=0,n||L(e,r,this.length);for(var i=r,o=1,s=this[e+--i];i>0&&(o*=256);)s+=this[e+--i]*o;return s>=(o*=128)&&(s-=Math.pow(2,8*r)),s},u.prototype.readInt8=function t(e,r){return r||L(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function t(e,r){r||L(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function t(e,r){r||L(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function t(e,r){return r||L(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function t(e,r){return r||L(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function t(e,r){return r||L(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function t(e,r){return r||L(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function t(e,r){return r||L(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function t(e,r){return r||L(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function t(e,r,n,i){(e=+e,r|=0,n|=0,i)||N(this,e,r,n,Math.pow(2,8*n)-1,0);var o=1,s=0;for(this[r]=255&e;++s=0&&(s*=256);)this[r+o]=e/s&255;return r+n},u.prototype.writeUInt8=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},u.prototype.writeUInt16LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):U(this,e,r,!0),r+2},u.prototype.writeUInt16BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):U(this,e,r,!1),r+2},u.prototype.writeUInt32LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):B(this,e,r,!0),r+4},u.prototype.writeUInt32BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):B(this,e,r,!1),r+4},u.prototype.writeIntLE=function t(e,r,n,i){if(e=+e,r|=0,!i){var o=Math.pow(2,8*n-1);N(this,e,r,n,o-1,-o)}var s=0,a=1,u=0;for(this[r]=255&e;++s>0)-u&255;return r+n},u.prototype.writeIntBE=function t(e,r,n,i){if(e=+e,r|=0,!i){var o=Math.pow(2,8*n-1);N(this,e,r,n,o-1,-o)}var s=n-1,a=1,u=0;for(this[r+s]=255&e;--s>=0&&(a*=256);)e<0&&0===u&&0!==this[r+s+1]&&(u=1),this[r+s]=(e/a>>0)-u&255;return r+n},u.prototype.writeInt8=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[r]=255&e,r+1},u.prototype.writeInt16LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):U(this,e,r,!0),r+2},u.prototype.writeInt16BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):U(this,e,r,!1),r+2},u.prototype.writeInt32LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):B(this,e,r,!0),r+4},u.prototype.writeInt32BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):B(this,e,r,!1),r+4},u.prototype.writeFloatLE=function t(e,r,n){return j(this,e,r,!0,n)},u.prototype.writeFloatBE=function t(e,r,n){return j(this,e,r,!1,n)},u.prototype.writeDoubleLE=function t(e,r,n){return M(this,e,r,!0,n)},u.prototype.writeDoubleBE=function t(e,r,n){return M(this,e,r,!1,n)},u.prototype.copy=function t(e,r,n,i){if(n||(n=0),i||0===i||(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i=this.length)throw new RangeError(\"sourceStart out of bounds\");if(i<0)throw new RangeError(\"sourceEnd out of bounds\");i>this.length&&(i=this.length),e.length-r=0;--o)e[o+r]=this[o+n];else if(s<1e3||!u.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(s=r;s55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function q(t){return n.toByteArray(function e(t){if((t=function e(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}(t).replace(H,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function J(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(29))},function(t,e){var r;r=function(){return this}();try{r=r||new Function(\"return this\")()}catch(t){\"object\"==typeof window&&(r=window)}t.exports=r},function(t,e,r){\"use strict\";e.byteLength=function n(t){var e=f(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function i(t){var e,r,n=f(t),i=n[0],o=n[1],s=new u(function c(t,e,r){return 3*(e+r)/4-r}(0,i,o)),h=0,l=o>0?i-4:i;for(r=0;r>16&255,s[h++]=e>>8&255,s[h++]=255&e;2===o&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,s[h++]=255&e);1===o&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,s[h++]=e>>8&255,s[h++]=255&e);return s},e.fromByteArray=function o(t){for(var e,r=t.length,n=r%3,i=[],o=16383,a=0,u=r-n;au?u:a+o));1===n?(e=t[r-1],i.push(s[e>>2]+s[e<<4&63]+\"==\")):2===n&&(e=(t[r-2]<<8)+t[r-1],i.push(s[e>>10]+s[e>>4&63]+s[e<<2&63]+\"=\"));return i.join(\"\")};for(var s=[],a=[],u=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,c=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",h=0,l=c.length;h0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function g(t,e,r){for(var n,i,o=[],a=e;a>18&63]+s[i>>12&63]+s[i>>6&63]+s[63&i]);return o.join(\"\")}a[\"-\".charCodeAt(0)]=62,a[\"_\".charCodeAt(0)]=63},function(t,e){\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\ne.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<>1,h=-7,l=r?i-1:0,f=r?-1:1,g=t[e+l];for(l+=f,o=g&(1<<-h)-1,g>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=f,h-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),o-=c}return(g?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,h=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:o-1,d=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+l>=1?f/u:f*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+g]=255&a,g+=d,a/=256,i-=8);for(s=s<0;t[r+g]=255&s,g+=d,s/=256,c-=8);t[r+g-d]|=128*p}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return\"[object Array]\"==r.call(t)}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=function n(t){var e=t.jws,r=t.KeyUtil,n=t.X509,o=t.crypto,s=t.hextob64u,a=t.b64tohex,u=t.AllowedSigningAlgs;return function(){function t(){!function e(t,r){if(!(t instanceof r))throw new TypeError(\"Cannot call a class as a function\")}(this,t)}return t.parseJwt=function t(r){i.Log.debug(\"JoseUtil.parseJwt\");try{var n=e.JWS.parse(r);return{header:n.headerObj,payload:n.payloadObj}}catch(t){i.Log.error(t)}},t.validateJwt=function e(o,s,u,c,h,l,f){i.Log.debug(\"JoseUtil.validateJwt\");try{if(\"RSA\"===s.kty)if(s.e&&s.n)s=r.getKey(s);else{if(!s.x5c||!s.x5c.length)return i.Log.error(\"JoseUtil.validateJwt: RSA key missing key material\",s),Promise.reject(new Error(\"RSA key missing key material\"));var g=a(s.x5c[0]);s=n.getPublicKeyFromCertHex(g)}else{if(\"EC\"!==s.kty)return i.Log.error(\"JoseUtil.validateJwt: Unsupported key type\",s&&s.kty),Promise.reject(new Error(s.kty));if(!(s.crv&&s.x&&s.y))return i.Log.error(\"JoseUtil.validateJwt: EC key missing key material\",s),Promise.reject(new Error(\"EC key missing key material\"));s=r.getKey(s)}return t._validateJwt(o,s,u,c,h,l,f)}catch(t){return i.Log.error(t&&t.message||t),Promise.reject(\"JWT validation failed\")}},t.validateJwtAttributes=function e(r,n,o,s,a,u){s||(s=0),a||(a=parseInt(Date.now()/1e3));var c=t.parseJwt(r).payload;if(!c.iss)return i.Log.error(\"JoseUtil._validateJwt: issuer was not provided\"),Promise.reject(new Error(\"issuer was not provided\"));if(c.iss!==n)return i.Log.error(\"JoseUtil._validateJwt: Invalid issuer in token\",c.iss),Promise.reject(new Error(\"Invalid issuer in token: \"+c.iss));if(!c.aud)return i.Log.error(\"JoseUtil._validateJwt: aud was not provided\"),Promise.reject(new Error(\"aud was not provided\"));if(!(c.aud===o||Array.isArray(c.aud)&&c.aud.indexOf(o)>=0))return i.Log.error(\"JoseUtil._validateJwt: Invalid audience in token\",c.aud),Promise.reject(new Error(\"Invalid audience in token: \"+c.aud));if(c.azp&&c.azp!==o)return i.Log.error(\"JoseUtil._validateJwt: Invalid azp in token\",c.azp),Promise.reject(new Error(\"Invalid azp in token: \"+c.azp));if(!u){var h=a+s,l=a-s;if(!c.iat)return i.Log.error(\"JoseUtil._validateJwt: iat was not provided\"),Promise.reject(new Error(\"iat was not provided\"));if(h1&&void 0!==arguments[1]?arguments[1]:\"#\";o(this,t);var n=i.UrlUtility.parseUrlFragment(e,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(t,[{key:\"expires_in\",get:function t(){if(this.expires_at){var e=parseInt(Date.now()/1e3);return this.expires_at-e}},set:function t(e){var r=parseInt(e);if(\"number\"==typeof r&&r>0){var n=parseInt(Date.now()/1e3);this.expires_at=n+r}}},{key:\"expired\",get:function t(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:\"scopes\",get:function t(){return(this.scope||\"\").split(\" \")}},{key:\"isOpenIdConnect\",get:function t(){return this.scopes.indexOf(\"openid\")>=0||!!this.id_token}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SignoutRequest=void 0;var n=r(0),i=r(3),o=r(9);e.SignoutRequest=function t(e){var r=e.url,s=e.id_token_hint,a=e.post_logout_redirect_uri,u=e.data,c=e.extraQueryParams,h=e.request_type;if(function l(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),!r)throw n.Log.error(\"SignoutRequest.ctor: No url passed\"),new Error(\"url\");for(var f in s&&(r=i.UrlUtility.addQueryParam(r,\"id_token_hint\",s)),a&&(r=i.UrlUtility.addQueryParam(r,\"post_logout_redirect_uri\",a),u&&(this.state=new o.State({data:u,request_type:h}),r=i.UrlUtility.addQueryParam(r,\"state\",this.state.id))),c)r=i.UrlUtility.addQueryParam(r,f,c[f]);this.url=r}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SignoutResponse=void 0;var n=r(3);e.SignoutResponse=function t(e){!function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var i=n.UrlUtility.parseUrlFragment(e,\"?\");this.error=i.error,this.error_description=i.error_description,this.error_uri=i.error_uri,this.state=i.state}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InMemoryWebStorage=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.SessionMonitor,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f.TokenRevocationClient,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.TokenClient,y=arguments.length>5&&void 0!==arguments[5]?arguments[5]:d.JoseUtil;p(this,e),r instanceof s.UserManagerSettings||(r=new s.UserManagerSettings(r));var m=v(this,t.call(this,r));return m._events=new u.UserManagerEvents(r),m._silentRenewService=new n(m),m.settings.automaticSilentRenew&&(i.Log.debug(\"UserManager.ctor: automaticSilentRenew is configured, setting up silent renew\"),m.startSilentRenew()),m.settings.monitorSession&&(i.Log.debug(\"UserManager.ctor: monitorSession is configured, setting up session monitor\"),m._sessionMonitor=new o(m)),m._tokenRevocationClient=new a(m._settings),m._tokenClient=new l(m._settings),m._joseUtil=y,m}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.getUser=function t(){var e=this;return this._loadUser().then((function(t){return t?(i.Log.info(\"UserManager.getUser: user loaded\"),e._events.load(t,!1),t):(i.Log.info(\"UserManager.getUser: user not found in storage\"),null)}))},e.prototype.removeUser=function t(){var e=this;return this.storeUser(null).then((function(){i.Log.info(\"UserManager.removeUser: user removed from storage\"),e._events.unload()}))},e.prototype.signinRedirect=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"si:r\";var r={useReplaceToNavigate:e.useReplaceToNavigate};return this._signinStart(e,this._redirectNavigator,r).then((function(){i.Log.info(\"UserManager.signinRedirect: successful\")}))},e.prototype.signinRedirectCallback=function t(e){return this._signinEnd(e||this._redirectNavigator.url).then((function(t){return t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinRedirectCallback: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinRedirectCallback: no sub\"),t}))},e.prototype.signinPopup=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"si:p\";var r=e.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.display=\"popup\",this._signin(e,this._popupNavigator,{startUrl:r,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinPopup: signinPopup successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinPopup: no sub\")),t}))):(i.Log.error(\"UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured\"),Promise.reject(new Error(\"No popup_redirect_uri or redirect_uri configured\")))},e.prototype.signinPopupCallback=function t(e){return this._signinCallback(e,this._popupNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinPopupCallback: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinPopupCallback: no sub\")),t})).catch((function(t){i.Log.error(t.message)}))},e.prototype.signinSilent=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return r=Object.assign({},r),this._loadUser().then((function(t){return t&&t.refresh_token?(r.refresh_token=t.refresh_token,e._useRefreshToken(r)):(r.request_type=\"si:s\",r.id_token_hint=r.id_token_hint||e.settings.includeIdTokenInSilentRenew&&t&&t.id_token,t&&e._settings.validateSubOnSilentRenew&&(i.Log.debug(\"UserManager.signinSilent, subject prior to silent renew: \",t.profile.sub),r.current_sub=t.profile.sub),e._signinSilentIframe(r))}))},e.prototype._useRefreshToken=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(r).then((function(t){return t?t.access_token?e._loadUser().then((function(r){if(r){var n=Promise.resolve();return t.id_token&&(n=e._validateIdTokenFromTokenRefreshToken(r.profile,t.id_token)),n.then((function(){return i.Log.debug(\"UserManager._useRefreshToken: refresh token response success\"),r.id_token=t.id_token||r.id_token,r.access_token=t.access_token,r.refresh_token=t.refresh_token||r.refresh_token,r.expires_in=t.expires_in,e.storeUser(r).then((function(){return e._events.load(r),r}))}))}return null})):(i.Log.error(\"UserManager._useRefreshToken: No access token returned from token endpoint\"),Promise.reject(\"No access token returned from token endpoint\")):(i.Log.error(\"UserManager._useRefreshToken: No response returned from token endpoint\"),Promise.reject(\"No response returned from token endpoint\"))}))},e.prototype._validateIdTokenFromTokenRefreshToken=function t(e,r){var n=this;return this._metadataService.getIssuer().then((function(t){return n.settings.getEpochTime().then((function(o){return n._joseUtil.validateJwtAttributes(r,t,n._settings.client_id,n._settings.clockSkew,o).then((function(t){return t?t.sub!==e.sub?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub\"),Promise.reject(new Error(\"sub in id_token does not match current sub\"))):t.auth_time&&t.auth_time!==e.auth_time?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time\"),Promise.reject(new Error(\"auth_time in id_token does not match original auth_time\"))):t.azp&&t.azp!==e.azp?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp\"),Promise.reject(new Error(\"azp in id_token does not match original azp\"))):!t.azp&&e.azp?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token\"),Promise.reject(new Error(\"azp not in id_token, but present in original id_token\"))):void 0:(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token\"),Promise.reject(new Error(\"Failed to validate id_token\")))}))}))}))},e.prototype._signinSilentIframe=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.prompt=e.prompt||\"none\",this._signin(e,this._iframeNavigator,{startUrl:r,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinSilent: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinSilent: no sub\")),t}))):(i.Log.error(\"UserManager.signinSilent: No silent_redirect_uri configured\"),Promise.reject(new Error(\"No silent_redirect_uri configured\")))},e.prototype.signinSilentCallback=function t(e){return this._signinCallback(e,this._iframeNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinSilentCallback: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinSilentCallback: no sub\")),t}))},e.prototype.signinCallback=function t(e){var r=this;return this.readSigninResponseState(e).then((function(t){var n=t.state;t.response;return\"si:r\"===n.request_type?r.signinRedirectCallback(e):\"si:p\"===n.request_type?r.signinPopupCallback(e):\"si:s\"===n.request_type?r.signinSilentCallback(e):Promise.reject(new Error(\"invalid response_type in state\"))}))},e.prototype.signoutCallback=function t(e,r){var n=this;return this.readSignoutResponseState(e).then((function(t){var i=t.state,o=t.response;return i?\"so:r\"===i.request_type?n.signoutRedirectCallback(e):\"so:p\"===i.request_type?n.signoutPopupCallback(e,r):Promise.reject(new Error(\"invalid response_type in state\")):o}))},e.prototype.querySessionStatus=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).request_type=\"si:s\";var n=r.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return n?(r.redirect_uri=n,r.prompt=\"none\",r.response_type=r.response_type||this.settings.query_status_response_type,r.scope=r.scope||\"openid\",r.skipUserInfo=!0,this._signinStart(r,this._iframeNavigator,{startUrl:n,silentRequestTimeout:r.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return e.processSigninResponse(t.url).then((function(t){if(i.Log.debug(\"UserManager.querySessionStatus: got signin response\"),t.session_state&&t.profile.sub)return i.Log.info(\"UserManager.querySessionStatus: querySessionStatus success for sub: \",t.profile.sub),{session_state:t.session_state,sub:t.profile.sub,sid:t.profile.sid};i.Log.info(\"querySessionStatus successful, user not authenticated\")})).catch((function(t){if(t.session_state&&e.settings.monitorAnonymousSession&&(\"login_required\"==t.message||\"consent_required\"==t.message||\"interaction_required\"==t.message||\"account_selection_required\"==t.message))return i.Log.info(\"UserManager.querySessionStatus: querySessionStatus success for anonymous user\"),{session_state:t.session_state};throw t}))}))):(i.Log.error(\"UserManager.querySessionStatus: No silent_redirect_uri configured\"),Promise.reject(new Error(\"No silent_redirect_uri configured\")))},e.prototype._signin=function t(e,r){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(e,r,i).then((function(t){return n._signinEnd(t.url,e)}))},e.prototype._signinStart=function t(e,r){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.prepare(o).then((function(t){return i.Log.debug(\"UserManager._signinStart: got navigator window handle\"),n.createSigninRequest(e).then((function(e){return i.Log.debug(\"UserManager._signinStart: got signin request\"),o.url=e.url,o.id=e.state.id,t.navigate(o)})).catch((function(e){throw t.close&&(i.Log.debug(\"UserManager._signinStart: Error after preparing navigator, closing navigator window\"),t.close()),e}))}))},e.prototype._signinEnd=function t(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(e).then((function(t){i.Log.debug(\"UserManager._signinEnd: got signin response\");var e=new a.User(t);if(n.current_sub){if(n.current_sub!==e.profile.sub)return i.Log.debug(\"UserManager._signinEnd: current user does not match user returned from signin. sub from signin: \",e.profile.sub),Promise.reject(new Error(\"login_required\"));i.Log.debug(\"UserManager._signinEnd: current user matches user returned from signin\")}return r.storeUser(e).then((function(){return i.Log.debug(\"UserManager._signinEnd: user stored\"),r._events.load(e),e}))}))},e.prototype._signinCallback=function t(e,r){i.Log.debug(\"UserManager._signinCallback\");var n=\"query\"===this._settings.response_mode||!this._settings.response_mode&&l.SigninRequest.isCode(this._settings.response_type)?\"?\":\"#\";return r.callback(e,void 0,n)},e.prototype.signoutRedirect=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"so:r\";var r=e.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;r&&(e.post_logout_redirect_uri=r);var n={useReplaceToNavigate:e.useReplaceToNavigate};return this._signoutStart(e,this._redirectNavigator,n).then((function(){i.Log.info(\"UserManager.signoutRedirect: successful\")}))},e.prototype.signoutRedirectCallback=function t(e){return this._signoutEnd(e||this._redirectNavigator.url).then((function(t){return i.Log.info(\"UserManager.signoutRedirectCallback: successful\"),t}))},e.prototype.signoutPopup=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"so:p\";var r=e.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return e.post_logout_redirect_uri=r,e.display=\"popup\",e.post_logout_redirect_uri&&(e.state=e.state||{}),this._signout(e,this._popupNavigator,{startUrl:r,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info(\"UserManager.signoutPopup: successful\")}))},e.prototype.signoutPopupCallback=function t(e,r){void 0===r&&\"boolean\"==typeof e&&(r=e,e=null);return this._popupNavigator.callback(e,r,\"?\").then((function(){i.Log.info(\"UserManager.signoutPopupCallback: successful\")}))},e.prototype._signout=function t(e,r){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(e,r,i).then((function(t){return n._signoutEnd(t.url)}))},e.prototype._signoutStart=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this,n=arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.prepare(o).then((function(t){return i.Log.debug(\"UserManager._signoutStart: got navigator window handle\"),r._loadUser().then((function(n){return i.Log.debug(\"UserManager._signoutStart: loaded current user from storage\"),(r._settings.revokeAccessTokenOnSignout?r._revokeInternal(n):Promise.resolve()).then((function(){var s=e.id_token_hint||n&&n.id_token;return s&&(i.Log.debug(\"UserManager._signoutStart: Setting id_token into signout request\"),e.id_token_hint=s),r.removeUser().then((function(){return i.Log.debug(\"UserManager._signoutStart: user removed, creating signout request\"),r.createSignoutRequest(e).then((function(e){return i.Log.debug(\"UserManager._signoutStart: got signout request\"),o.url=e.url,e.state&&(o.id=e.state.id),t.navigate(o)}))}))}))})).catch((function(e){throw t.close&&(i.Log.debug(\"UserManager._signoutStart: Error after preparing navigator, closing navigator window\"),t.close()),e}))}))},e.prototype._signoutEnd=function t(e){return this.processSignoutResponse(e).then((function(t){return i.Log.debug(\"UserManager._signoutEnd: got signout response\"),t}))},e.prototype.revokeAccessToken=function t(){var e=this;return this._loadUser().then((function(t){return e._revokeInternal(t,!0).then((function(r){if(r)return i.Log.debug(\"UserManager.revokeAccessToken: removing token properties from user and re-storing\"),t.access_token=null,t.refresh_token=null,t.expires_at=null,t.token_type=null,e.storeUser(t).then((function(){i.Log.debug(\"UserManager.revokeAccessToken: user stored\"),e._events.load(t)}))}))})).then((function(){i.Log.info(\"UserManager.revokeAccessToken: access token revoked successfully\")}))},e.prototype._revokeInternal=function t(e,r){var n=this;if(e){var o=e.access_token,s=e.refresh_token;return this._revokeAccessTokenInternal(o,r).then((function(t){return n._revokeRefreshTokenInternal(s,r).then((function(e){return t||e||i.Log.debug(\"UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format\"),t||e}))}))}return Promise.resolve(!1)},e.prototype._revokeAccessTokenInternal=function t(e,r){return!e||e.indexOf(\".\")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(e,r).then((function(){return!0}))},e.prototype._revokeRefreshTokenInternal=function t(e,r){return e?this._tokenRevocationClient.revoke(e,r,\"refresh_token\").then((function(){return!0})):Promise.resolve(!1)},e.prototype.startSilentRenew=function t(){this._silentRenewService.start()},e.prototype.stopSilentRenew=function t(){this._silentRenewService.stop()},e.prototype._loadUser=function t(){return this._userStore.get(this._userStoreKey).then((function(t){return t?(i.Log.debug(\"UserManager._loadUser: user storageString loaded\"),a.User.fromStorageString(t)):(i.Log.debug(\"UserManager._loadUser: no user storageString\"),null)}))},e.prototype.storeUser=function t(e){if(e){i.Log.debug(\"UserManager.storeUser: storing user\");var r=e.toStorageString();return this._userStore.set(this._userStoreKey,r)}return i.Log.debug(\"storeUser.storeUser: removing user\"),this._userStore.remove(this._userStoreKey)},n(e,[{key:\"_redirectNavigator\",get:function t(){return this.settings.redirectNavigator}},{key:\"_popupNavigator\",get:function t(){return this.settings.popupNavigator}},{key:\"_iframeNavigator\",get:function t(){return this.settings.iframeNavigator}},{key:\"_userStore\",get:function t(){return this.settings.userStore}},{key:\"events\",get:function t(){return this._events}},{key:\"_userStoreKey\",get:function t(){return\"user:\"+this.settings.authority+\":\"+this.settings.client_id}}]),e}(o.OidcClient)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UserManagerSettings=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,g=r.popupWindowFeatures,d=r.popupWindowTarget,p=r.silent_redirect_uri,v=r.silentRequestTimeout,y=r.automaticSilentRenew,m=void 0!==y&&y,_=r.validateSubOnSilentRenew,S=void 0!==_&&_,b=r.includeIdTokenInSilentRenew,w=void 0===b||b,F=r.monitorSession,E=void 0===F||F,x=r.monitorAnonymousSession,A=void 0!==x&&x,k=r.checkSessionInterval,P=void 0===k?2e3:k,C=r.stopCheckSessionOnError,T=void 0===C||C,R=r.query_status_response_type,I=r.revokeAccessTokenOnSignout,D=void 0!==I&&I,L=r.accessTokenExpiringNotificationTime,N=void 0===L?60:L,U=r.redirectNavigator,B=void 0===U?new o.RedirectNavigator:U,O=r.popupNavigator,j=void 0===O?new s.PopupNavigator:O,M=r.iframeNavigator,H=void 0===M?new a.IFrameNavigator:M,V=r.userStore,K=void 0===V?new u.WebStorageStateStore({store:c.Global.sessionStorage}):V;l(this,e);var q=f(this,t.call(this,arguments[0]));return q._popup_redirect_uri=n,q._popup_post_logout_redirect_uri=i,q._popupWindowFeatures=g,q._popupWindowTarget=d,q._silent_redirect_uri=p,q._silentRequestTimeout=v,q._automaticSilentRenew=m,q._validateSubOnSilentRenew=S,q._includeIdTokenInSilentRenew=w,q._accessTokenExpiringNotificationTime=N,q._monitorSession=E,q._monitorAnonymousSession=A,q._checkSessionInterval=P,q._stopCheckSessionOnError=T,R?q._query_status_response_type=R:arguments[0]&&arguments[0].response_type?q._query_status_response_type=h.SigninRequest.isOidc(arguments[0].response_type)?\"id_token\":\"code\":q._query_status_response_type=\"id_token\",q._revokeAccessTokenOnSignout=D,q._redirectNavigator=B,q._popupNavigator=j,q._iframeNavigator=H,q._userStore=K,q}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),n(e,[{key:\"popup_redirect_uri\",get:function t(){return this._popup_redirect_uri}},{key:\"popup_post_logout_redirect_uri\",get:function t(){return this._popup_post_logout_redirect_uri}},{key:\"popupWindowFeatures\",get:function t(){return this._popupWindowFeatures}},{key:\"popupWindowTarget\",get:function t(){return this._popupWindowTarget}},{key:\"silent_redirect_uri\",get:function t(){return this._silent_redirect_uri}},{key:\"silentRequestTimeout\",get:function t(){return this._silentRequestTimeout}},{key:\"automaticSilentRenew\",get:function t(){return this._automaticSilentRenew}},{key:\"validateSubOnSilentRenew\",get:function t(){return this._validateSubOnSilentRenew}},{key:\"includeIdTokenInSilentRenew\",get:function t(){return this._includeIdTokenInSilentRenew}},{key:\"accessTokenExpiringNotificationTime\",get:function t(){return this._accessTokenExpiringNotificationTime}},{key:\"monitorSession\",get:function t(){return this._monitorSession}},{key:\"monitorAnonymousSession\",get:function t(){return this._monitorAnonymousSession}},{key:\"checkSessionInterval\",get:function t(){return this._checkSessionInterval}},{key:\"stopCheckSessionOnError\",get:function t(){return this._stopCheckSessionOnError}},{key:\"query_status_response_type\",get:function t(){return this._query_status_response_type}},{key:\"revokeAccessTokenOnSignout\",get:function t(){return this._revokeAccessTokenOnSignout}},{key:\"redirectNavigator\",get:function t(){return this._redirectNavigator}},{key:\"popupNavigator\",get:function t(){return this._popupNavigator}},{key:\"iframeNavigator\",get:function t(){return this._iframeNavigator}},{key:\"userStore\",get:function t(){return this._userStore}}]),e}(i.OidcClientSettings)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RedirectNavigator=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug(\"UserManagerEvents.load\"),t.prototype.load.call(this,r),i&&this._userLoaded.raise(r)},e.prototype.unload=function e(){n.Log.debug(\"UserManagerEvents.unload\"),t.prototype.unload.call(this),this._userUnloaded.raise()},e.prototype.addUserLoaded=function t(e){this._userLoaded.addHandler(e)},e.prototype.removeUserLoaded=function t(e){this._userLoaded.removeHandler(e)},e.prototype.addUserUnloaded=function t(e){this._userUnloaded.addHandler(e)},e.prototype.removeUserUnloaded=function t(e){this._userUnloaded.removeHandler(e)},e.prototype.addSilentRenewError=function t(e){this._silentRenewError.addHandler(e)},e.prototype.removeSilentRenewError=function t(e){this._silentRenewError.removeHandler(e)},e.prototype._raiseSilentRenewError=function t(e){n.Log.debug(\"UserManagerEvents._raiseSilentRenewError\",e.message),this._silentRenewError.raise(e)},e.prototype.addUserSignedIn=function t(e){this._userSignedIn.addHandler(e)},e.prototype.removeUserSignedIn=function t(e){this._userSignedIn.removeHandler(e)},e.prototype._raiseUserSignedIn=function t(){n.Log.debug(\"UserManagerEvents._raiseUserSignedIn\"),this._userSignedIn.raise()},e.prototype.addUserSignedOut=function t(e){this._userSignedOut.addHandler(e)},e.prototype.removeUserSignedOut=function t(e){this._userSignedOut.removeHandler(e)},e.prototype._raiseUserSignedOut=function t(){n.Log.debug(\"UserManagerEvents._raiseUserSignedOut\"),this._userSignedOut.raise()},e.prototype.addUserSessionChanged=function t(e){this._userSessionChanged.addHandler(e)},e.prototype.removeUserSessionChanged=function t(e){this._userSessionChanged.removeHandler(e)},e.prototype._raiseUserSessionChanged=function t(){n.Log.debug(\"UserManagerEvents._raiseUserSessionChanged\"),this._userSessionChanged.raise()},e}(i.AccessTokenEvents)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Timer=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;a(this,e);var s=u(this,t.call(this,r));return s._timer=n,s._nowFunc=i||function(){return Date.now()/1e3},s}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.init=function t(e){e<=0&&(e=1),e=parseInt(e);var r=this.now+e;if(this.expiration===r&&this._timerHandle)i.Log.debug(\"Timer.init timer \"+this._name+\" skipping initialization since already initialized for expiration:\",this.expiration);else{this.cancel(),i.Log.debug(\"Timer.init timer \"+this._name+\" for duration:\",e),this._expiration=r;var n=5;e performance.now()\nelse if process? and process.hrtime\n module.exports = -> (getNanoSeconds() - nodeLoadTime) / 1e6\n hrtime = process.hrtime\n getNanoSeconds = ->\n hr = hrtime()\n hr[0] * 1e9 + hr[1]\n moduleLoadTime = getNanoSeconds()\n upTime = process.uptime() * 1e9\n nodeLoadTime = moduleLoadTime - upTime\nelse if Date.now\n module.exports = -> Date.now() - loadTime\n loadTime = Date.now()\nelse\n module.exports = -> new Date().getTime() - loadTime\n loadTime = new Date().getTime()\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\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\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","import * as React from 'react';\nexport var ManagerReferenceNodeContext = React.createContext();\nexport var ManagerReferenceNodeSetterContext = React.createContext();\nexport function Manager(_ref) {\n var children = _ref.children;\n\n var _React$useState = React.useState(null),\n referenceNode = _React$useState[0],\n setReferenceNode = _React$useState[1];\n\n var hasUnmounted = React.useRef(false);\n React.useEffect(function () {\n return function () {\n hasUnmounted.current = true;\n };\n }, []);\n var handleSetReferenceNode = React.useCallback(function (node) {\n if (!hasUnmounted.current) {\n setReferenceNode(node);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ManagerReferenceNodeContext.Provider, {\n value: referenceNode\n }, /*#__PURE__*/React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: handleSetReferenceNode\n }, children));\n}","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n ReactDOM.flushSync(function () {\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import * as React from 'react';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef } from './utils';\nimport { usePopper } from './usePopper';\n\nvar NOOP = function NOOP() {\n return void 0;\n};\n\nvar NOOP_PROMISE = function NOOP_PROMISE() {\n return Promise.resolve(null);\n};\n\nvar EMPTY_MODIFIERS = [];\nexport function Popper(_ref) {\n var _ref$placement = _ref.placement,\n placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,\n _ref$strategy = _ref.strategy,\n strategy = _ref$strategy === void 0 ? 'absolute' : _ref$strategy,\n _ref$modifiers = _ref.modifiers,\n modifiers = _ref$modifiers === void 0 ? EMPTY_MODIFIERS : _ref$modifiers,\n referenceElement = _ref.referenceElement,\n onFirstUpdate = _ref.onFirstUpdate,\n innerRef = _ref.innerRef,\n children = _ref.children;\n var referenceNode = React.useContext(ManagerReferenceNodeContext);\n\n var _React$useState = React.useState(null),\n popperElement = _React$useState[0],\n setPopperElement = _React$useState[1];\n\n var _React$useState2 = React.useState(null),\n arrowElement = _React$useState2[0],\n setArrowElement = _React$useState2[1];\n\n React.useEffect(function () {\n setRef(innerRef, popperElement);\n }, [innerRef, popperElement]);\n var options = React.useMemo(function () {\n return {\n placement: placement,\n strategy: strategy,\n onFirstUpdate: onFirstUpdate,\n modifiers: [].concat(modifiers, [{\n name: 'arrow',\n enabled: arrowElement != null,\n options: {\n element: arrowElement\n }\n }])\n };\n }, [placement, strategy, onFirstUpdate, modifiers, arrowElement]);\n\n var _usePopper = usePopper(referenceElement || referenceNode, popperElement, options),\n state = _usePopper.state,\n styles = _usePopper.styles,\n forceUpdate = _usePopper.forceUpdate,\n update = _usePopper.update;\n\n var childrenProps = React.useMemo(function () {\n return {\n ref: setPopperElement,\n style: styles.popper,\n placement: state ? state.placement : placement,\n hasPopperEscaped: state && state.modifiersData.hide ? state.modifiersData.hide.hasPopperEscaped : null,\n isReferenceHidden: state && state.modifiersData.hide ? state.modifiersData.hide.isReferenceHidden : null,\n arrowProps: {\n style: styles.arrow,\n ref: setArrowElement\n },\n forceUpdate: forceUpdate || NOOP,\n update: update || NOOP_PROMISE\n };\n }, [setPopperElement, setArrowElement, placement, state, styles, update, forceUpdate]);\n return unwrapArray(children)(childrenProps);\n}","import * as React from 'react';\nimport warning from 'warning';\nimport { ManagerReferenceNodeSetterContext } from './Manager';\nimport { safeInvoke, unwrapArray, setRef } from './utils';\nexport function Reference(_ref) {\n var children = _ref.children,\n innerRef = _ref.innerRef;\n var setReferenceNode = React.useContext(ManagerReferenceNodeSetterContext);\n var refHandler = React.useCallback(function (node) {\n setRef(innerRef, node);\n safeInvoke(setReferenceNode, node);\n }, [innerRef, setReferenceNode]); // ran on unmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n\n React.useEffect(function () {\n return function () {\n return setRef(innerRef, null);\n };\n }, []);\n React.useEffect(function () {\n warning(Boolean(setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');\n }, [setReferenceNode]);\n return unwrapArray(children)({\n ref: refHandler\n });\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or 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 a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\n\nimport { Props, ReactResizeDetectorDimensions } from './ResizeDetector';\n\nexport type patchResizeHandlerType = ReturnType | ReturnType | ResizeObserverCallback;\n\nexport const patchResizeHandler = (\n resizeCallback: ResizeObserverCallback,\n refreshMode: Props['refreshMode'],\n refreshRate: Props['refreshRate'],\n refreshOptions: Props['refreshOptions']\n): patchResizeHandlerType => {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\n\nexport const isFunction = (fn: any): boolean => typeof fn === 'function';\n\nexport const isSSR = (): boolean => typeof window === 'undefined';\n\nexport const isDOMElement = (element: any): boolean => element instanceof Element || element instanceof HTMLDocument;\n\nexport const createNotifier =\n (\n onResize: Props['onResize'],\n setSize: React.Dispatch>,\n handleWidth: boolean,\n handleHeight: boolean\n ) =>\n ({ width, height }: ReactResizeDetectorDimensions): void => {\n setSize(prev => {\n if (prev.width === width && prev.height === height) {\n // skip if dimensions haven't changed\n return prev;\n }\n\n if ((prev.width === width && !handleHeight) || (prev.height === height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return prev;\n }\n\n if (onResize && isFunction(onResize)) {\n onResize(width, height);\n }\n\n return { width, height };\n });\n };\n","import * as React from 'react';\nimport { PureComponent, isValidElement, cloneElement, createRef, ReactNode, ReactElement, RefObject } from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport { patchResizeHandler, isFunction, isSSR, isDOMElement, createNotifier } from './utils';\n\nexport interface ReactResizeDetectorDimensions {\n height?: number;\n width?: number;\n}\n\ninterface ChildFunctionProps extends ReactResizeDetectorDimensions {\n targetRef?: RefObject;\n}\n\nexport interface Props {\n /**\n * Function that will be invoked with observable element's width and height.\n * Default: undefined\n */\n onResize?: (width?: number, height?: number) => void;\n /**\n * Trigger update on height change.\n * Default: true\n */\n handleHeight?: boolean;\n /**\n * Trigger onResize on width change.\n * Default: true\n */\n handleWidth?: boolean;\n /**\n * Do not trigger update when a component mounts.\n * Default: false\n */\n skipOnMount?: boolean;\n /**\n * Changes the update strategy. Possible values: \"throttle\" and \"debounce\".\n * See `lodash` docs for more information https://lodash.com/docs/\n * undefined - callback will be fired for every frame.\n * Default: undefined\n */\n refreshMode?: 'throttle' | 'debounce';\n /**\n * Set the timeout/interval for `refreshMode` strategy\n * Default: undefined\n */\n refreshRate?: number;\n /**\n * Pass additional params to `refreshMode` according to lodash docs\n * Default: undefined\n */\n refreshOptions?: { leading?: boolean; trailing?: boolean };\n /**\n * These options will be used as a second parameter of `resizeObserver.observe` method\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/observe\n * Default: undefined\n */\n observerOptions?: ResizeObserverOptions;\n}\n\nexport interface ComponentsProps extends Props {\n /**\n * A selector of an element to observe.\n * You can use this property to attach resize-observer to any DOM element.\n * Please refer to the querySelector docs.\n * Default: undefined\n * @deprecated since version 5.0.0. It will be removed in version 7.0.0.\n * Use targetRef instead\n */\n querySelector?: string;\n /**\n * Valid only for a callback-pattern.\n * Ignored for other render types.\n * Set resize-detector's node type.\n * You can pass any valid React node: string with node's name or element.\n * Can be useful when you need to handle table's or paragraph's resizes.\n * Default: \"div\"\n * @deprecated since version 5.0.0. It will be removed in version 7.0.0.\n * Use targetRef instead\n */\n nodeType?: keyof JSX.IntrinsicElements; // will be passed to React.createElement()\n /**\n * A DOM element to observe.\n * By default it's a parent element in relation to the ReactResizeDetector component.\n * But you can pass any DOM element to observe.\n * This property is omitted when you pass querySelector.\n * Default: undefined\n * @deprecated since version 5.0.0. It will be removed in version 6.0.0.\n * Use targetRef instead\n */\n targetDomEl?: ElementT;\n /**\n * A React reference of the element to observe.\n * Pass a reference to the element you want to attach resize handlers to.\n * It must be an instance of React.useRef or React.createRef functions\n * Default: undefined\n */\n targetRef?: RefObject;\n\n render?: (props: ReactResizeDetectorDimensions) => ReactNode;\n\n children?: ReactNode | ((props: ChildFunctionProps) => ReactNode);\n}\n\nclass ResizeDetector extends PureComponent<\n ComponentsProps,\n ReactResizeDetectorDimensions\n> {\n skipOnMount: boolean | undefined;\n targetRef;\n observableElement;\n resizeHandler;\n resizeObserver;\n constructor(props: ComponentsProps) {\n super(props);\n\n const { skipOnMount, refreshMode, refreshRate = 1000, refreshOptions } = props;\n\n this.state = {\n width: undefined,\n height: undefined\n };\n\n this.skipOnMount = skipOnMount;\n this.targetRef = createRef();\n this.observableElement = null;\n\n if (isSSR()) {\n return;\n }\n\n this.resizeHandler = patchResizeHandler(this.createResizeHandler, refreshMode, refreshRate, refreshOptions);\n this.resizeObserver = new window.ResizeObserver(this.resizeHandler);\n }\n\n componentDidMount(): void {\n this.attachObserver();\n }\n\n componentDidUpdate(): void {\n this.attachObserver();\n }\n\n componentWillUnmount(): void {\n if (isSSR()) {\n return;\n }\n this.resizeObserver.disconnect();\n this.cancelHandler();\n }\n\n cancelHandler = (): void => {\n if (this.resizeHandler && this.resizeHandler.cancel) {\n // cancel debounced handler\n this.resizeHandler.cancel();\n this.resizeHandler = null;\n }\n };\n\n attachObserver = (): void => {\n const { targetRef, observerOptions } = this.props;\n\n if (isSSR()) {\n return;\n }\n\n if (targetRef && targetRef.current) {\n this.targetRef.current = targetRef.current;\n }\n\n const element = this.getElement();\n if (!element) {\n // can't find element to observe\n return;\n }\n\n if (this.observableElement && this.observableElement === element) {\n // element is already observed\n return;\n }\n\n this.observableElement = element;\n this.resizeObserver.observe(element, observerOptions);\n };\n\n getElement = (): Element | Text | null => {\n const { querySelector, targetDomEl } = this.props;\n\n if (isSSR()) return null;\n\n // in case we pass a querySelector\n if (querySelector) return document.querySelector(querySelector);\n // in case we pass a DOM element\n if (targetDomEl && isDOMElement(targetDomEl)) return targetDomEl;\n // in case we pass a React ref using React.createRef()\n if (this.targetRef && isDOMElement(this.targetRef.current)) return this.targetRef.current;\n\n // the worse case when we don't receive any information from the parent and the library doesn't add any wrappers\n // we have to use a deprecated `findDOMNode` method in order to find a DOM element to attach to\n const currentElement = findDOMNode(this);\n\n if (!currentElement) return null;\n\n const renderType = this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return currentElement;\n case 'childFunction':\n return currentElement;\n case 'child':\n return currentElement;\n case 'childArray':\n return currentElement;\n default:\n return currentElement.parentElement;\n }\n };\n\n createResizeHandler: ResizeObserverCallback = (entries): void => {\n const { handleWidth = true, handleHeight = true, onResize } = this.props;\n\n if (!handleWidth && !handleHeight) return;\n\n const notifyResize = createNotifier(onResize, this.setState.bind(this), handleWidth, handleHeight);\n\n entries.forEach(entry => {\n const { width, height } = (entry && entry.contentRect) || {};\n\n const shouldSetSize = !this.skipOnMount && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width, height });\n }\n\n this.skipOnMount = false;\n });\n };\n\n getRenderType = (): string => {\n const { render, children } = this.props;\n if (isFunction(render)) {\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'renderProp';\n }\n\n if (isFunction(children)) {\n return 'childFunction';\n }\n\n if (isValidElement(children)) {\n return 'child';\n }\n\n if (Array.isArray(children)) {\n // DEPRECATED. Wrap children with a single parent\n return 'childArray';\n }\n\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'parent';\n };\n\n render() {\n const { render, children, nodeType: WrapperTag = 'div' } = this.props;\n const { width, height } = this.state;\n\n const childProps = { width, height, targetRef: this.targetRef };\n const renderType = this.getRenderType();\n\n let typedChildren: any;\n\n switch (renderType) {\n case 'renderProp':\n return render && render(childProps);\n case 'childFunction':\n typedChildren = children as (props: ChildFunctionProps) => ReactNode;\n return typedChildren(childProps);\n case 'child':\n // @TODO bug prone logic\n typedChildren = children as ReactElement;\n if (typedChildren.type && typeof typedChildren.type === 'string') {\n // child is a native DOM elements such as div, span etc\n const { targetRef, ...nativeProps } = childProps;\n return cloneElement(typedChildren, nativeProps);\n }\n // class or functional component otherwise\n return cloneElement(typedChildren, childProps);\n case 'childArray':\n typedChildren = children as [ReactElement];\n return typedChildren.map((el: ReactElement) => !!el && cloneElement(el, childProps));\n default:\n return ;\n }\n }\n}\n\nexport default ResizeDetector;\n","import { useLayoutEffect, useEffect, useState, useRef, MutableRefObject } from 'react';\n\nimport { patchResizeHandler, createNotifier, isSSR } from './utils';\n\nimport { Props, ReactResizeDetectorDimensions } from './ResizeDetector';\n\nconst useEnhancedEffect = isSSR() ? useEffect : useLayoutEffect;\n\ninterface FunctionProps extends Props {\n targetRef?: ReturnType;\n}\n\nfunction useResizeDetector(props: FunctionProps = {}): UseResizeDetectorReturn {\n const {\n skipOnMount = false,\n refreshMode,\n refreshRate = 1000,\n refreshOptions,\n handleWidth = true,\n handleHeight = true,\n targetRef,\n observerOptions,\n onResize\n } = props;\n\n const skipResize: MutableRefObject = useRef(skipOnMount);\n const localRef = useRef(null);\n const ref = (targetRef ?? localRef) as MutableRefObject;\n const resizeHandler = useRef();\n\n const [size, setSize] = useState({\n width: undefined,\n height: undefined\n });\n\n useEnhancedEffect(() => {\n if (isSSR()) {\n return;\n }\n\n const notifyResize = createNotifier(onResize, setSize, handleWidth, handleHeight);\n\n const resizeCallback: ResizeObserverCallback = entries => {\n if (!handleWidth && !handleHeight) return;\n\n entries.forEach(entry => {\n const { width, height } = (entry && entry.contentRect) || {};\n\n const shouldSetSize = !skipResize.current && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width, height });\n }\n\n skipResize.current = false;\n });\n };\n\n resizeHandler.current = patchResizeHandler(resizeCallback, refreshMode, refreshRate, refreshOptions);\n\n const resizeObserver = new window.ResizeObserver(resizeHandler.current as ResizeObserverCallback);\n\n if (ref.current) {\n // Something wrong with typings here...\n resizeObserver.observe(ref.current as any, observerOptions);\n }\n\n return () => {\n resizeObserver.disconnect();\n const patchedResizeHandler = resizeHandler.current as any;\n if (patchedResizeHandler && patchedResizeHandler.cancel) {\n patchedResizeHandler.cancel();\n }\n };\n }, [refreshMode, refreshRate, refreshOptions, handleWidth, handleHeight, onResize, observerOptions, ref.current]);\n\n return { ref, ...size };\n}\n\nexport default useResizeDetector;\n\nexport interface UseResizeDetectorReturn extends ReactResizeDetectorDimensions {\n ref: MutableRefObject;\n}\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = prefix || defaultDelimiter\n var pattern = capture || group\n var prevText = prefix || (typeof tokens[tokens.length - 1] === 'string' ? tokens[tokens.length - 1] : '')\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : restrictBacktrack(delimiter, prevText))\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\nfunction restrictBacktrack(delimiter, prevText) {\n if (!prevText || prevText.indexOf(delimiter) > -1) {\n return '[^' + escapeString(delimiter) + ']+?'\n }\n\n return escapeString(prevText) + '|(?:(?!' + escapeString(prevText) + ')[^' + escapeString(delimiter) + '])+?'\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){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)};exports.typeOf=z;\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}\n","\"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\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _addClass.default)(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _removeClass.default)(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, className);\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var appearClassName = _this.getClassNames('appear').doneClassName;\n\n var enterClassName = _this.getClassNames('enter').doneClassName;\n\n var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n addClass(node, doneClassName);\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n var _this$getClassNames3 = _this.getClassNames('exit'),\n className = _this$getClassNames3.className;\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n addClass(node, className);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames4.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames5.doneClassName;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, doneClassName);\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n var className = isStringClassNames ? prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames6 = this.getClassNames(type),\n className = _this$getClassNames6.className,\n activeClassName = _this$getClassNames6.activeClassName,\n doneClassName = _this$getClassNames6.doneClassName;\n\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n\n _proto.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or\n * has finished the transition. A single name can be provided and it will be\n * suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n * epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: _PropTypes.classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n *
I appear first
\n *
I replace the above
\n *
\n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n\n var child = _react.default.Children.toArray(children)[idx];\n\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = _react.default.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : _react.default.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: _propTypes.default.bool.isRequired,\n children: function children(props, propName) {\n if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n Transition: _Transition.default,\n TransitionGroup: _TransitionGroup.default,\n ReplaceTransition: _ReplaceTransition.default,\n CSSTransition: _CSSTransition.default\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\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 */\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\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 return key in next ? next[key] : 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 = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[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}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import { Children, cloneElement, isValidElement } from '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\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\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\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : 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 = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[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}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport TransitionGroup from './TransitionGroup';\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n *
I appear first
\n *
I replace the above
\n *
\n * ```\n */\n\nvar ReplaceTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n var child = React.Children.toArray(children)[idx];\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n\n if (this.props[handler]) {\n var maybeNode = child.props.nodeRef ? undefined : ReactDOM.findDOMNode(this);\n this.props[handler](maybeNode);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = React.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return /*#__PURE__*/React.createElement(TransitionGroup, props, inProp ? React.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : React.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(React.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: PropTypes.bool.isRequired,\n children: function children(props, propName) {\n if (React.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nexport default ReplaceTransition;","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\n\nvar _leaveRenders, _enterRenders;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { ENTERED, ENTERING, EXITING } from './Transition';\nimport TransitionGroupContext from './TransitionGroupContext';\n\nfunction areChildrenDifferent(oldChildren, newChildren) {\n if (oldChildren === newChildren) return false;\n\n if (React.isValidElement(oldChildren) && React.isValidElement(newChildren) && oldChildren.key != null && oldChildren.key === newChildren.key) {\n return false;\n }\n\n return true;\n}\n/**\n * Enum of modes for SwitchTransition component\n * @enum { string }\n */\n\n\nexport var modes = {\n out: 'out-in',\n in: 'in-out'\n};\n\nvar callHook = function callHook(element, name, cb) {\n return function () {\n var _element$props;\n\n element.props[name] && (_element$props = element.props)[name].apply(_element$props, arguments);\n cb();\n };\n};\n\nvar leaveRenders = (_leaveRenders = {}, _leaveRenders[modes.out] = function (_ref) {\n var current = _ref.current,\n changeState = _ref.changeState;\n return React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERING, null);\n })\n });\n}, _leaveRenders[modes.in] = function (_ref2) {\n var current = _ref2.current,\n changeState = _ref2.changeState,\n children = _ref2.children;\n return [current, React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERING);\n })\n })];\n}, _leaveRenders);\nvar enterRenders = (_enterRenders = {}, _enterRenders[modes.out] = function (_ref3) {\n var children = _ref3.children,\n changeState = _ref3.changeState;\n return React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n });\n}, _enterRenders[modes.in] = function (_ref4) {\n var current = _ref4.current,\n children = _ref4.children,\n changeState = _ref4.changeState;\n return [React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n }), React.cloneElement(children, {\n in: true\n })];\n}, _enterRenders);\n/**\n * A transition component inspired by the [vue transition modes](https://vuejs.org/v2/guide/transitions.html#Transition-Modes).\n * You can use it when you want to control the render between state transitions.\n * Based on the selected mode and the child's key which is the `Transition` or `CSSTransition` component, the `SwitchTransition` makes a consistent transition between them.\n *\n * If the `out-in` mode is selected, the `SwitchTransition` waits until the old child leaves and then inserts a new child.\n * If the `in-out` mode is selected, the `SwitchTransition` inserts a new child first, waits for the new child to enter and then removes the old child.\n *\n * **Note**: If you want the animation to happen simultaneously\n * (that is, to have the old child removed and a new child inserted **at the same time**),\n * you should use\n * [`TransitionGroup`](https://reactcommunity.org/react-transition-group/transition-group)\n * instead.\n *\n * ```jsx\n * function App() {\n * const [state, setState] = useState(false);\n * return (\n * \n * node.addEventListener(\"transitionend\", done, false)}\n * classNames='fade'\n * >\n * \n * \n * \n * );\n * }\n * ```\n *\n * ```css\n * .fade-enter{\n * opacity: 0;\n * }\n * .fade-exit{\n * opacity: 1;\n * }\n * .fade-enter-active{\n * opacity: 1;\n * }\n * .fade-exit-active{\n * opacity: 0;\n * }\n * .fade-enter-active,\n * .fade-exit-active{\n * transition: opacity 500ms;\n * }\n * ```\n */\n\nvar SwitchTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(SwitchTransition, _React$Component);\n\n function SwitchTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n status: ENTERED,\n current: null\n };\n _this.appeared = false;\n\n _this.changeState = function (status, current) {\n if (current === void 0) {\n current = _this.state.current;\n }\n\n _this.setState({\n status: status,\n current: current\n });\n };\n\n return _this;\n }\n\n var _proto = SwitchTransition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n };\n\n SwitchTransition.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (props.children == null) {\n return {\n current: null\n };\n }\n\n if (state.status === ENTERING && props.mode === modes.in) {\n return {\n status: ENTERING\n };\n }\n\n if (state.current && areChildrenDifferent(state.current, props.children)) {\n return {\n status: EXITING\n };\n }\n\n return {\n current: React.cloneElement(props.children, {\n in: true\n })\n };\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n mode = _this$props.mode,\n _this$state = this.state,\n status = _this$state.status,\n current = _this$state.current;\n var data = {\n children: children,\n current: current,\n changeState: this.changeState,\n status: status\n };\n var component;\n\n switch (status) {\n case ENTERING:\n component = enterRenders[mode](data);\n break;\n\n case EXITING:\n component = leaveRenders[mode](data);\n break;\n\n case ENTERED:\n component = current;\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: {\n isMounting: !this.appeared\n }\n }, component);\n };\n\n return SwitchTransition;\n}(React.Component);\n\nSwitchTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Transition modes.\n * `out-in`: Current element transitions out first, then when complete, the new element transitions in.\n * `in-out`: New element transitions in first, then when complete, the current element transitions out.\n *\n * @type {'out-in'|'in-out'}\n */\n mode: PropTypes.oneOf([modes.in, modes.out]),\n\n /**\n * Any `Transition` or `CSSTransition` component.\n */\n children: PropTypes.oneOfType([PropTypes.element.isRequired])\n} : {};\nSwitchTransition.defaultProps = {\n mode: modes.out\n};\nexport default SwitchTransition;","/** @license React v17.0.2\n * react-jsx-runtime.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';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n children: _propTypes[\"default\"].node,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change existing className with a new className */\n cssModule: _propTypes[\"default\"].object,\n /** Render accordions edge-to-edge with their parent container */\n flush: _propTypes[\"default\"].bool,\n innerRef: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n /** The current active key that corresponds to the currently expanded card */\n open: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].array, _propTypes[\"default\"].string]).isRequired,\n /** Set a custom element for this component */\n tag: _utils.tagPropType,\n /** Function that's triggered on clicking `AccordionHeader` */\n toggle: _propTypes[\"default\"].func.isRequired\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction Accordion(props) {\n var flush = props.flush,\n open = props.open,\n toggle = props.toggle,\n className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n innerRef = props.innerRef,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'accordion', {\n 'accordion-flush': flush\n }), cssModule);\n var accordionContext = (0, _react.useMemo)(function () {\n return {\n open: open,\n toggle: toggle\n };\n });\n return /*#__PURE__*/_react[\"default\"].createElement(_AccordionContext.AccordionContext.Provider, {\n value: accordionContext\n }, /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes,\n ref: innerRef\n })));\n}\nAccordion.propTypes = propTypes;\nAccordion.defaultProps = defaultProps;\nvar _default = Accordion;\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _Collapse = _interopRequireDefault(require(\"./Collapse\"));\nvar _AccordionContext = require(\"./AccordionContext\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\", \"innerRef\", \"children\", \"accordionId\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Unique key used to control item's collapse/expand */\n accordionId: _propTypes[\"default\"].string.isRequired,\n /** To add custom class */\n className: _propTypes[\"default\"].string,\n children: _propTypes[\"default\"].node,\n /** Change existing base class name with a new class name */\n cssModule: _propTypes[\"default\"].object,\n /** Pass ref to the component */\n innerRef: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction AccordionBody(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n innerRef = props.innerRef,\n children = props.children,\n accordionId = props.accordionId,\n attributes = _objectWithoutProperties(props, _excluded);\n var _useContext = (0, _react.useContext)(_AccordionContext.AccordionContext),\n open = _useContext.open;\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'accordion-collapse'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(_Collapse[\"default\"], _extends({}, attributes, {\n className: classes,\n ref: innerRef,\n isOpen: Array.isArray(open) ? open.includes(accordionId) : open === accordionId\n }), /*#__PURE__*/_react[\"default\"].createElement(Tag, {\n className: \"accordion-body\"\n }, children));\n}\nAccordionBody.propTypes = propTypes;\nAccordionBody.defaultProps = defaultProps;\nvar _default = AccordionBody;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AccordionContext = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n/**\n * AccordionContext\n * {\n * toggle: PropTypes.func.isRequired,\n * openId: PropTypes.string,\n * }\n */\nvar AccordionContext = /*#__PURE__*/_react[\"default\"].createContext({});\nexports.AccordionContext = AccordionContext;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _AccordionContext = require(\"./AccordionContext\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\", \"innerRef\", \"children\", \"targetId\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n children: _propTypes[\"default\"].node,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change existing base class name with a new class name */\n cssModule: _propTypes[\"default\"].object,\n innerRef: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n /** Set a custom element for this component */\n tag: _utils.tagPropType,\n /** Unique key used to control item's collapse/expand */\n targetId: _propTypes[\"default\"].string.isRequired\n};\nvar defaultProps = {\n tag: 'h2'\n};\nfunction AccordionHeader(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n innerRef = props.innerRef,\n children = props.children,\n targetId = props.targetId,\n attributes = _objectWithoutProperties(props, _excluded);\n var _useContext = (0, _react.useContext)(_AccordionContext.AccordionContext),\n open = _useContext.open,\n toggle = _useContext.toggle;\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'accordion-header'), cssModule);\n var buttonClasses = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])('accordion-button', {\n collapsed: !(Array.isArray(open) ? open.includes(targetId) : open === targetId)\n }), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes,\n ref: innerRef\n }), /*#__PURE__*/_react[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: buttonClasses,\n onClick: function onClick() {\n return toggle(targetId);\n }\n }, children));\n}\nAccordionHeader.propTypes = propTypes;\nAccordionHeader.defaultProps = defaultProps;\nvar _default = AccordionHeader;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\", \"innerRef\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n children: _propTypes[\"default\"].node,\n /** To add custom class */\n className: _propTypes[\"default\"].string,\n /** Change existing base class name with a new class name */\n cssModule: _propTypes[\"default\"].object,\n innerRef: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction AccordionItem(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n innerRef = props.innerRef,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'accordion-item'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes,\n ref: innerRef\n }));\n}\nAccordionItem.propTypes = propTypes;\nAccordionItem.defaultProps = defaultProps;\nvar _default = AccordionItem;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _Fade = _interopRequireDefault(require(\"./Fade\"));\nvar _excluded = [\"className\", \"closeClassName\", \"closeAriaLabel\", \"cssModule\", \"tag\", \"color\", \"isOpen\", \"toggle\", \"children\", \"transition\", \"fade\", \"innerRef\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nvar propTypes = {\n /** Pass children so this component can wrap the child elements */\n children: _propTypes[\"default\"].node,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Add custom class for close button */\n closeClassName: _propTypes[\"default\"].string,\n /** Aria label for close button */\n closeAriaLabel: _propTypes[\"default\"].string,\n /** Change color of alert */\n color: _propTypes[\"default\"].string,\n /** Change existing className with a new className */\n cssModule: _propTypes[\"default\"].object,\n /** Toggle fade animation */\n fade: _propTypes[\"default\"].bool,\n innerRef: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n /** Control visibility state of Alert */\n isOpen: _propTypes[\"default\"].bool,\n /** Set a custom element for this component */\n tag: _utils.tagPropType,\n /** Function to toggle visibility */\n toggle: _propTypes[\"default\"].func,\n /** Props to be passed to `Fade` to modify transition */\n transition: _propTypes[\"default\"].shape(_Fade[\"default\"].propTypes)\n};\nvar defaultProps = {\n color: 'success',\n isOpen: true,\n tag: 'div',\n closeAriaLabel: 'Close',\n fade: true,\n transition: _objectSpread(_objectSpread({}, _Fade[\"default\"].defaultProps), {}, {\n unmountOnExit: true\n })\n};\nfunction Alert(props) {\n var className = props.className,\n closeClassName = props.closeClassName,\n closeAriaLabel = props.closeAriaLabel,\n cssModule = props.cssModule,\n Tag = props.tag,\n color = props.color,\n isOpen = props.isOpen,\n toggle = props.toggle,\n children = props.children,\n transition = props.transition,\n fade = props.fade,\n innerRef = props.innerRef,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'alert', \"alert-\".concat(color), {\n 'alert-dismissible': toggle\n }), cssModule);\n var closeClasses = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])('btn-close', closeClassName), cssModule);\n var alertTransition = _objectSpread(_objectSpread(_objectSpread({}, _Fade[\"default\"].defaultProps), transition), {}, {\n baseClass: fade ? transition.baseClass : '',\n timeout: fade ? transition.timeout : 0\n });\n return /*#__PURE__*/_react[\"default\"].createElement(_Fade[\"default\"], _extends({}, attributes, alertTransition, {\n tag: Tag,\n className: classes,\n \"in\": isOpen,\n role: \"alert\",\n innerRef: innerRef\n }), toggle ? /*#__PURE__*/_react[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: closeClasses,\n \"aria-label\": closeAriaLabel,\n onClick: toggle\n }) : null, children);\n}\nAlert.propTypes = propTypes;\nAlert.defaultProps = defaultProps;\nvar _default = Alert;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"color\", \"innerRef\", \"pill\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Pass children so this component can wrap the child elements */\n children: _propTypes[\"default\"].node,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change background color of Badge */\n color: _propTypes[\"default\"].string,\n /** Change existing className with a new className */\n cssModule: _propTypes[\"default\"].object,\n innerRef: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].func, _propTypes[\"default\"].string]),\n /** Add rounded corners to the Badge */\n pill: _propTypes[\"default\"].bool,\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n color: 'secondary',\n pill: false,\n tag: 'span'\n};\nfunction Badge(props) {\n var className = props.className,\n cssModule = props.cssModule,\n color = props.color,\n innerRef = props.innerRef,\n pill = props.pill,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'badge', 'bg-' + color, pill ? 'rounded-pill' : false), cssModule);\n if (attributes.href && Tag === 'span') {\n Tag = 'a';\n }\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes,\n ref: innerRef\n }));\n}\nBadge.propTypes = propTypes;\nBadge.defaultProps = defaultProps;\nvar _default = Badge;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"listClassName\", \"cssModule\", \"children\", \"tag\", \"listTag\", \"aria-label\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Aria label */\n 'aria-label': _propTypes[\"default\"].string,\n /** Pass children so this component can wrap them */\n children: _propTypes[\"default\"].node,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change existing className with a new className */\n cssModule: _propTypes[\"default\"].object,\n /** Add custom class to list tag */\n listClassName: _propTypes[\"default\"].string,\n /** Set a custom element for list tag */\n listTag: _utils.tagPropType,\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'nav',\n listTag: 'ol',\n 'aria-label': 'breadcrumb'\n};\nfunction Breadcrumb(props) {\n var className = props.className,\n listClassName = props.listClassName,\n cssModule = props.cssModule,\n children = props.children,\n Tag = props.tag,\n ListTag = props.listTag,\n label = props['aria-label'],\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className), cssModule);\n var listClasses = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])('breadcrumb', listClassName), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes,\n \"aria-label\": label\n }), /*#__PURE__*/_react[\"default\"].createElement(ListTag, {\n className: listClasses\n }, children));\n}\nBreadcrumb.propTypes = propTypes;\nBreadcrumb.defaultProps = defaultProps;\nvar _default = Breadcrumb;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"active\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Adds a visual \"active\" state to a Breadcrumb Item */\n active: _propTypes[\"default\"].bool,\n /** Add custom class to the element */\n className: _propTypes[\"default\"].string,\n /** Change existing className with a new className */\n cssModule: _propTypes[\"default\"].object,\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'li'\n};\nfunction BreadcrumbItem(props) {\n var className = props.className,\n cssModule = props.cssModule,\n active = props.active,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, active ? 'active' : false, 'breadcrumb-item'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes,\n \"aria-current\": active ? 'page' : undefined\n }));\n}\nBreadcrumbItem.propTypes = propTypes;\nBreadcrumbItem.defaultProps = defaultProps;\nvar _default = BreadcrumbItem;\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _CloseButton = _interopRequireDefault(require(\"./CloseButton\"));\nvar _excluded = [\"active\", \"aria-label\", \"block\", \"className\", \"close\", \"cssModule\", \"color\", \"outline\", \"size\", \"tag\", \"innerRef\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Manually set the visual state of the button to active */\n active: _propTypes[\"default\"].bool,\n /** Aria label */\n 'aria-label': _propTypes[\"default\"].string,\n block: _propTypes[\"default\"].bool,\n /** Pass children so this component can wrap them */\n children: _propTypes[\"default\"].node,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change existing className with a new className */\n cssModule: _propTypes[\"default\"].object,\n /** Use the button as a close button */\n close: _propTypes[\"default\"].bool,\n /** Change color of Button to one of the available colors */\n color: _propTypes[\"default\"].string,\n /** Disables the button */\n disabled: _propTypes[\"default\"].bool,\n innerRef: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].func, _propTypes[\"default\"].string]),\n /** Function to be triggered on click */\n onClick: _propTypes[\"default\"].func,\n /** Adds outline to the button */\n outline: _propTypes[\"default\"].bool,\n /** Make the button bigger or smaller */\n size: _propTypes[\"default\"].string,\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n color: 'secondary',\n tag: 'button'\n};\nfunction Button(props) {\n var onClick = (0, _react.useCallback)(function (e) {\n if (props.disabled) {\n e.preventDefault();\n return;\n }\n if (props.onClick) {\n return props.onClick(e);\n }\n }, [props.onClick, props.disabled]);\n var active = props.active,\n ariaLabel = props['aria-label'],\n block = props.block,\n className = props.className,\n close = props.close,\n cssModule = props.cssModule,\n color = props.color,\n outline = props.outline,\n size = props.size,\n Tag = props.tag,\n innerRef = props.innerRef,\n attributes = _objectWithoutProperties(props, _excluded);\n if (close) {\n return /*#__PURE__*/_react[\"default\"].createElement(_CloseButton[\"default\"], attributes);\n }\n var btnOutlineColor = \"btn\".concat(outline ? '-outline' : '', \"-\").concat(color);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'btn', btnOutlineColor, size ? \"btn-\".concat(size) : false, block ? 'd-block w-100' : false, {\n active: active,\n disabled: props.disabled\n }), cssModule);\n if (attributes.href && Tag === 'button') {\n Tag = 'a';\n }\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({\n type: Tag === 'button' && attributes.onClick ? 'button' : undefined\n }, attributes, {\n className: classes,\n ref: innerRef,\n onClick: onClick,\n \"aria-label\": ariaLabel\n }));\n}\nButton.propTypes = propTypes;\nButton.defaultProps = defaultProps;\nvar _default = Button;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Dropdown = _interopRequireDefault(require(\"./Dropdown\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nvar propTypes = {\n children: _propTypes[\"default\"].node\n};\nfunction ButtonDropdown(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(_Dropdown[\"default\"], _extends({\n group: true\n }, props));\n}\nButtonDropdown.propTypes = propTypes;\nvar _default = ButtonDropdown;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"size\", \"vertical\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Aria label */\n 'aria-label': _propTypes[\"default\"].string,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change underlying component's CSS base class name */\n cssModule: _propTypes[\"default\"].object,\n /** In order for assistive technologies (such as screen readers) to convey that a series of buttons is grouped, an appropriate role attribute needs to be provided. For button groups, this would be role=\"group\", while toolbars should have a role=\"toolbar\". */\n role: _propTypes[\"default\"].string,\n /** Make the button bigger or smaller */\n size: _propTypes[\"default\"].string,\n /** Set a custom element for this component */\n tag: _utils.tagPropType,\n /** Make button group vertical */\n vertical: _propTypes[\"default\"].bool\n};\nvar defaultProps = {\n tag: 'div',\n role: 'group'\n};\nfunction ButtonGroup(props) {\n var className = props.className,\n cssModule = props.cssModule,\n size = props.size,\n vertical = props.vertical,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, size ? 'btn-group-' + size : false, vertical ? 'btn-group-vertical' : 'btn-group'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nButtonGroup.propTypes = propTypes;\nButtonGroup.defaultProps = defaultProps;\nvar _default = ButtonGroup;\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _Button = _interopRequireDefault(require(\"./Button\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nvar propTypes = {\n onClick: _propTypes[\"default\"].func,\n onBlur: _propTypes[\"default\"].func,\n onFocus: _propTypes[\"default\"].func,\n defaultValue: _propTypes[\"default\"].bool,\n className: _propTypes[\"default\"].string,\n cssModule: _propTypes[\"default\"].object\n};\nvar defaultProps = {\n defaultValue: false\n};\nfunction ButtonToggle(props) {\n var _useState = (0, _react.useState)(props.defaultValue),\n _useState2 = _slicedToArray(_useState, 2),\n toggled = _useState2[0],\n setToggled = _useState2[1];\n var _useState3 = (0, _react.useState)(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focus = _useState4[0],\n setFocus = _useState4[1];\n var onBlur = (0, _react.useCallback)(function (e) {\n if (props.onBlur) {\n props.onBlur(e);\n }\n setFocus(false);\n }, [props.onBlur]);\n var onFocus = (0, _react.useCallback)(function (e) {\n if (props.onFocus) {\n props.onFocus(e);\n }\n setFocus(true);\n }, [props.onFocus]);\n var onClick = (0, _react.useCallback)(function (e) {\n if (props.onClick) {\n props.onClick(e);\n }\n setToggled(!toggled);\n }, [props.onClick]);\n var className = props.className,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, {\n focus: focus\n }), props.cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(_Button[\"default\"], _extends({\n active: toggled,\n onBlur: onBlur,\n onFocus: onFocus,\n onClick: onClick,\n className: classes\n }, attributes));\n}\nButtonToggle.propTypes = propTypes;\nButtonToggle.defaultProps = defaultProps;\nvar _default = ButtonToggle;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Aria label */\n 'aria-label': _propTypes[\"default\"].string,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change existing className with a new className */\n cssModule: _propTypes[\"default\"].object,\n /** In order for assistive technologies (such as screen readers) to convey that a series of buttons is grouped, an appropriate role attribute needs to be provided. For button groups, this would be role=\"group\", while toolbars should have a role=\"toolbar\". */\n role: _propTypes[\"default\"].string,\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'div',\n role: 'toolbar'\n};\nfunction ButtonToolbar(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'btn-toolbar'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nButtonToolbar.propTypes = propTypes;\nButtonToolbar.defaultProps = defaultProps;\nvar _default = ButtonToolbar;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"color\", \"body\", \"inverse\", \"outline\", \"tag\", \"innerRef\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Toggles card padding using `.card-body` */\n body: _propTypes[\"default\"].bool,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change background color of component */\n color: _propTypes[\"default\"].string,\n /** Change underlying component's CSS base class name */\n cssModule: _propTypes[\"default\"].object,\n innerRef: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n /** Inverts the color */\n inverse: _propTypes[\"default\"].bool,\n /** Changes the card to have only outline */\n outline: _propTypes[\"default\"].bool,\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction Card(props) {\n var className = props.className,\n cssModule = props.cssModule,\n color = props.color,\n body = props.body,\n inverse = props.inverse,\n outline = props.outline,\n Tag = props.tag,\n innerRef = props.innerRef,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card', inverse ? 'text-white' : false, body ? 'card-body' : false, color ? \"\".concat(outline ? 'border' : 'bg', \"-\").concat(color) : false), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes,\n ref: innerRef\n }));\n}\nCard.propTypes = propTypes;\nCard.defaultProps = defaultProps;\nvar _default = Card;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"innerRef\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change underlying component's CSS base class name */\n cssModule: _propTypes[\"default\"].object,\n innerRef: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction CardBody(props) {\n var className = props.className,\n cssModule = props.cssModule,\n innerRef = props.innerRef,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card-body'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes,\n ref: innerRef\n }));\n}\nCardBody.propTypes = propTypes;\nCardBody.defaultProps = defaultProps;\nvar _default = CardBody;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n tag: _utils.tagPropType,\n className: _propTypes[\"default\"].string,\n cssModule: _propTypes[\"default\"].object\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction CardColumns(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card-columns'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nCardColumns.propTypes = propTypes;\nCardColumns.defaultProps = defaultProps;\nvar _default = CardColumns;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n tag: _utils.tagPropType,\n className: _propTypes[\"default\"].string,\n cssModule: _propTypes[\"default\"].object\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction CardDeck(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card-deck'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nCardDeck.propTypes = propTypes;\nCardDeck.defaultProps = defaultProps;\nvar _default = CardDeck;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change underlying component's CSS base class name */\n cssModule: _propTypes[\"default\"].object,\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction CardFooter(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card-footer'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nCardFooter.propTypes = propTypes;\nCardFooter.defaultProps = defaultProps;\nvar _default = CardFooter;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n tag: _utils.tagPropType,\n className: _propTypes[\"default\"].string,\n cssModule: _propTypes[\"default\"].object\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction CardGroup(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card-group'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nCardGroup.propTypes = propTypes;\nCardGroup.defaultProps = defaultProps;\nvar _default = CardGroup;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change underlying component's CSS base class name */\n cssModule: _propTypes[\"default\"].object,\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction CardHeader(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card-header'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nCardHeader.propTypes = propTypes;\nCardHeader.defaultProps = defaultProps;\nvar _default = CardHeader;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"top\", \"bottom\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Add `bottom` prop if image is at bottom of card */\n bottom: _propTypes[\"default\"].bool,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change existing className with a new className */\n cssModule: _propTypes[\"default\"].object,\n /** Set a custom element for this component */\n tag: _utils.tagPropType,\n /** Add `top` prop if image is at top of card */\n top: _propTypes[\"default\"].bool\n};\nvar defaultProps = {\n tag: 'img'\n};\nfunction CardImg(props) {\n var className = props.className,\n cssModule = props.cssModule,\n top = props.top,\n bottom = props.bottom,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var cardImgClassName = 'card-img';\n if (top) {\n cardImgClassName = 'card-img-top';\n }\n if (bottom) {\n cardImgClassName = 'card-img-bottom';\n }\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, cardImgClassName), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nCardImg.propTypes = propTypes;\nCardImg.defaultProps = defaultProps;\nvar _default = CardImg;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n tag: _utils.tagPropType,\n className: _propTypes[\"default\"].string,\n cssModule: _propTypes[\"default\"].object\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction CardImgOverlay(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card-img-overlay'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nCardImgOverlay.propTypes = propTypes;\nCardImgOverlay.defaultProps = defaultProps;\nvar _default = CardImgOverlay;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\", \"innerRef\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n tag: _utils.tagPropType,\n innerRef: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].func, _propTypes[\"default\"].string]),\n className: _propTypes[\"default\"].string,\n cssModule: _propTypes[\"default\"].object\n};\nvar defaultProps = {\n tag: 'a'\n};\nfunction CardLink(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n innerRef = props.innerRef,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card-link'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n ref: innerRef,\n className: classes\n }));\n}\nCardLink.propTypes = propTypes;\nCardLink.defaultProps = defaultProps;\nvar _default = CardLink;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change underlying component's CSS base class name */\n cssModule: _propTypes[\"default\"].object,\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction CardSubtitle(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card-subtitle'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nCardSubtitle.propTypes = propTypes;\nCardSubtitle.defaultProps = defaultProps;\nvar _default = CardSubtitle;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change underlying component's CSS base class name */\n cssModule: _propTypes[\"default\"].object,\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'p'\n};\nfunction CardText(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card-text'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nCardText.propTypes = propTypes;\nCardText.defaultProps = defaultProps;\nvar _default = CardText;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar propTypes = {\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change underlying component's CSS base class name */\n cssModule: _propTypes[\"default\"].object,\n /** Set a custom element for this component */\n tag: _utils.tagPropType\n};\nvar defaultProps = {\n tag: 'div'\n};\nfunction CardTitle(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutProperties(props, _excluded);\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'card-title'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n}\nCardTitle.propTypes = propTypes;\nCardTitle.defaultProps = defaultProps;\nvar _default = CardTitle;\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _CarouselItem = _interopRequireDefault(require(\"./CarouselItem\"));\nvar _CarouselContext = require(\"./CarouselContext\");\nvar _utils = require(\"./utils\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nvar SWIPE_THRESHOLD = 40;\nvar propTypes = {\n /** the current active slide of the carousel */\n activeIndex: _propTypes[\"default\"].number,\n /** a function which should advance the carousel to the next slide (via activeIndex) */\n next: _propTypes[\"default\"].func.isRequired,\n /** a function which should advance the carousel to the previous slide (via activeIndex) */\n previous: _propTypes[\"default\"].func.isRequired,\n /** controls if the left and right arrow keys should control the carousel */\n keyboard: _propTypes[\"default\"].bool,\n /** If set to \"hover\", pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on\n * mouseleave. If set to false, hovering over the carousel won't pause it.\n */\n pause: _propTypes[\"default\"].oneOf(['hover', false]),\n /** Autoplays the carousel after the user manually cycles the first item. If \"carousel\", autoplays the carousel on load. */\n ride: _propTypes[\"default\"].oneOf(['carousel']),\n /** the interval at which the carousel automatically cycles */\n interval: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].number, _propTypes[\"default\"].string, _propTypes[\"default\"].bool]),\n children: _propTypes[\"default\"].array,\n /** called when the mouse enters the Carousel */\n mouseEnter: _propTypes[\"default\"].func,\n /** called when the mouse exits the Carousel */\n mouseLeave: _propTypes[\"default\"].func,\n /** controls whether the slide animation on the Carousel works or not */\n slide: _propTypes[\"default\"].bool,\n /** make the controls, indicators and captions dark on the Carousel */\n dark: _propTypes[\"default\"].bool,\n fade: _propTypes[\"default\"].bool,\n /** Change underlying component's CSS base class name */\n cssModule: _propTypes[\"default\"].object,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Enable touch support */\n enableTouch: _propTypes[\"default\"].bool\n};\nvar propsToOmit = Object.keys(propTypes);\nvar defaultProps = {\n interval: 5000,\n pause: 'hover',\n keyboard: true,\n slide: true,\n enableTouch: true,\n fade: false\n};\nvar Carousel = /*#__PURE__*/function (_React$Component) {\n _inherits(Carousel, _React$Component);\n var _super = _createSuper(Carousel);\n function Carousel(props) {\n var _this;\n _classCallCheck(this, Carousel);\n _this = _super.call(this, props);\n _this.handleKeyPress = _this.handleKeyPress.bind(_assertThisInitialized(_this));\n _this.renderItems = _this.renderItems.bind(_assertThisInitialized(_this));\n _this.hoverStart = _this.hoverStart.bind(_assertThisInitialized(_this));\n _this.hoverEnd = _this.hoverEnd.bind(_assertThisInitialized(_this));\n _this.handleTouchStart = _this.handleTouchStart.bind(_assertThisInitialized(_this));\n _this.handleTouchEnd = _this.handleTouchEnd.bind(_assertThisInitialized(_this));\n _this.touchStartX = 0;\n _this.touchStartY = 0;\n _this.state = {\n activeIndex: _this.props.activeIndex,\n direction: 'end',\n indicatorClicked: false\n };\n return _this;\n }\n _createClass(Carousel, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // Set up the cycle\n if (this.props.ride === 'carousel') {\n this.setInterval();\n }\n\n // TODO: move this to the specific carousel like bootstrap. Currently it will trigger ALL carousels on the page.\n document.addEventListener('keyup', this.handleKeyPress);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (prevState.activeIndex === this.state.activeIndex) return;\n this.setInterval();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearInterval();\n document.removeEventListener('keyup', this.handleKeyPress);\n }\n }, {\n key: \"handleKeyPress\",\n value: function handleKeyPress(evt) {\n if (this.props.keyboard) {\n if (evt.keyCode === 37) {\n this.props.previous();\n } else if (evt.keyCode === 39) {\n this.props.next();\n }\n }\n }\n }, {\n key: \"handleTouchStart\",\n value: function handleTouchStart(e) {\n if (!this.props.enableTouch) {\n return;\n }\n this.touchStartX = e.changedTouches[0].screenX;\n this.touchStartY = e.changedTouches[0].screenY;\n }\n }, {\n key: \"handleTouchEnd\",\n value: function handleTouchEnd(e) {\n if (!this.props.enableTouch) {\n return;\n }\n var currentX = e.changedTouches[0].screenX;\n var currentY = e.changedTouches[0].screenY;\n var diffX = Math.abs(this.touchStartX - currentX);\n var diffY = Math.abs(this.touchStartY - currentY);\n\n // Don't swipe if Y-movement is bigger than X-movement\n if (diffX < diffY) {\n return;\n }\n if (diffX < SWIPE_THRESHOLD) {\n return;\n }\n if (currentX < this.touchStartX) {\n this.props.next();\n } else {\n this.props.previous();\n }\n }\n }, {\n key: \"getContextValue\",\n value: function getContextValue() {\n return {\n direction: this.state.direction\n };\n }\n }, {\n key: \"setInterval\",\n value: function (_setInterval) {\n function setInterval() {\n return _setInterval.apply(this, arguments);\n }\n setInterval.toString = function () {\n return _setInterval.toString();\n };\n return setInterval;\n }(function () {\n var _this2 = this;\n // make sure not to have multiple intervals going...\n this.clearInterval();\n if (this.props.interval) {\n this.cycleInterval = setInterval(function () {\n _this2.props.next();\n }, parseInt(this.props.interval, 10));\n }\n })\n }, {\n key: \"clearInterval\",\n value: function (_clearInterval) {\n function clearInterval() {\n return _clearInterval.apply(this, arguments);\n }\n clearInterval.toString = function () {\n return _clearInterval.toString();\n };\n return clearInterval;\n }(function () {\n clearInterval(this.cycleInterval);\n })\n }, {\n key: \"hoverStart\",\n value: function hoverStart() {\n if (this.props.pause === 'hover') {\n this.clearInterval();\n }\n if (this.props.mouseEnter) {\n var _this$props;\n (_this$props = this.props).mouseEnter.apply(_this$props, arguments);\n }\n }\n }, {\n key: \"hoverEnd\",\n value: function hoverEnd() {\n if (this.props.pause === 'hover') {\n this.setInterval();\n }\n if (this.props.mouseLeave) {\n var _this$props2;\n (_this$props2 = this.props).mouseLeave.apply(_this$props2, arguments);\n }\n }\n }, {\n key: \"renderItems\",\n value: function renderItems(carouselItems, className) {\n var _this3 = this;\n var slide = this.props.slide;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: className\n }, carouselItems.map(function (item, index) {\n var isIn = index === _this3.state.activeIndex;\n return /*#__PURE__*/_react[\"default\"].cloneElement(item, {\n \"in\": isIn,\n slide: slide\n });\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n var _this$props3 = this.props,\n cssModule = _this$props3.cssModule,\n slide = _this$props3.slide,\n className = _this$props3.className,\n dark = _this$props3.dark,\n fade = _this$props3.fade;\n var attributes = (0, _utils.omit)(this.props, propsToOmit);\n var outerClasses = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'carousel', fade && 'carousel-fade', slide && 'slide', dark && 'carousel-dark'), cssModule);\n var innerClasses = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])('carousel-inner'), cssModule);\n\n // filter out booleans, null, or undefined\n var children = this.props.children.filter(function (child) {\n return child !== null && child !== undefined && typeof child !== 'boolean';\n });\n var slidesOnly = children.every(function (child) {\n return child.type === _CarouselItem[\"default\"];\n });\n\n // Rendering only slides\n if (slidesOnly) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({}, attributes, {\n className: outerClasses,\n onMouseEnter: this.hoverStart,\n onMouseLeave: this.hoverEnd\n }), /*#__PURE__*/_react[\"default\"].createElement(_CarouselContext.CarouselContext.Provider, {\n value: this.getContextValue()\n }, this.renderItems(children, innerClasses)));\n }\n\n // Rendering slides and controls\n if (children[0] instanceof Array) {\n var _carouselItems = children[0];\n var _controlLeft = children[1];\n var _controlRight = children[2];\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({}, attributes, {\n className: outerClasses,\n onMouseEnter: this.hoverStart,\n onMouseLeave: this.hoverEnd\n }), /*#__PURE__*/_react[\"default\"].createElement(_CarouselContext.CarouselContext.Provider, {\n value: this.getContextValue()\n }, this.renderItems(_carouselItems, innerClasses), _controlLeft, _controlRight));\n }\n\n // Rendering indicators, slides and controls\n var indicators = children[0];\n var wrappedOnClick = function wrappedOnClick(e) {\n if (typeof indicators.props.onClickHandler === 'function') {\n _this4.setState({\n indicatorClicked: true\n }, function () {\n return indicators.props.onClickHandler(e);\n });\n }\n };\n var wrappedIndicators = /*#__PURE__*/_react[\"default\"].cloneElement(indicators, {\n onClickHandler: wrappedOnClick\n });\n var carouselItems = children[1];\n var controlLeft = children[2];\n var controlRight = children[3];\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({}, attributes, {\n className: outerClasses,\n onMouseEnter: this.hoverStart,\n onMouseLeave: this.hoverEnd,\n onTouchStart: this.handleTouchStart,\n onTouchEnd: this.handleTouchEnd\n }), /*#__PURE__*/_react[\"default\"].createElement(_CarouselContext.CarouselContext.Provider, {\n value: this.getContextValue()\n }, wrappedIndicators, this.renderItems(carouselItems, innerClasses), controlLeft, controlRight));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var newState = null;\n var activeIndex = prevState.activeIndex,\n direction = prevState.direction,\n indicatorClicked = prevState.indicatorClicked;\n if (nextProps.activeIndex !== activeIndex) {\n // Calculate the direction to turn\n if (nextProps.activeIndex === activeIndex + 1) {\n direction = 'end';\n } else if (nextProps.activeIndex === activeIndex - 1) {\n direction = 'start';\n } else if (nextProps.activeIndex < activeIndex) {\n direction = indicatorClicked ? 'start' : 'end';\n } else if (nextProps.activeIndex !== activeIndex) {\n direction = indicatorClicked ? 'end' : 'start';\n }\n newState = {\n activeIndex: nextProps.activeIndex,\n direction: direction,\n indicatorClicked: false\n };\n }\n return newState;\n }\n }]);\n return Carousel;\n}(_react[\"default\"].Component);\nCarousel.propTypes = propTypes;\nCarousel.defaultProps = defaultProps;\nvar _default = Carousel;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction CarouselCaption(props) {\n var captionHeader = props.captionHeader,\n captionText = props.captionText,\n cssModule = props.cssModule,\n className = props.className;\n var classes = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, 'carousel-caption', 'd-none', 'd-md-block'), cssModule);\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: classes\n }, /*#__PURE__*/_react[\"default\"].createElement(\"h3\", null, captionHeader), /*#__PURE__*/_react[\"default\"].createElement(\"p\", null, captionText));\n}\nCarouselCaption.propTypes = {\n /** Heading for the caption */\n captionHeader: _propTypes[\"default\"].node,\n /** Text for caption */\n captionText: _propTypes[\"default\"].node.isRequired,\n /** Add custom class */\n className: _propTypes[\"default\"].string,\n /** Change underlying component's CSS base class name */\n cssModule: _propTypes[\"default\"].object\n};\nvar _default = CarouselCaption;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CarouselContext = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n/**\n * CarouselContext\n * {\n * direction: PropTypes.oneOf(['start', 'end']).isRequired,\n * }\n */\nvar CarouselContext = /*#__PURE__*/_react[\"default\"].createContext({});\nexports.CarouselContext = CarouselContext;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _utils = require(\"./utils\");\nvar _excluded = [\"direction\", \"onClickHandler\", \"cssModule\", \"directionText\", \"className\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction CarouselControl(props) {\n var direction = props.direction,\n onClickHandler = props.onClickHandler,\n cssModule = props.cssModule,\n directionText = props.directionText,\n className = props.className,\n attributes = _objectWithoutProperties(props, _excluded);\n var anchorClasses = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(className, \"carousel-control-\".concat(direction)), cssModule);\n var iconClasses = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])(\"carousel-control-\".concat(direction, \"-icon\")), cssModule);\n var screenReaderClasses = (0, _utils.mapToCssModules)((0, _classnames[\"default\"])('visually-hidden'), cssModule);\n return (\n /*#__PURE__*/\n // We need to disable this linting rule to use an `` instead of\n // `\r\n }\r\n \r\n {hasError &&\r\n {this.props.errorMessage}\r\n }\r\n \r\n {/*\r\n this._textFieldClicked()}\r\n required={this.props.required}\r\n iconProps={{ iconName: \"Search\" }}\r\n className=\"pointer\"\r\n errorMessage={this.props.errorMessage}\r\n helpText={this.props.helpText}\r\n />\r\n */}\r\n\r\n {this.state.showSearchWindow &&\r\n \r\n\r\n }>\r\n {this.GetTitulo()}\r\n \r\n\r\n \r\n\r\n {this._renderSearchForm()}\r\n\r\n {empty &&

{I18n.Strings.noResults}

}\r\n\r\n {!empty &&
\r\n\r\n\r\n {searchResults != null && searchResults.items.length == 0 && \r\n

{I18n.Strings.noResults}

\r\n
}\r\n\r\n {searchResults != null && searchResults.items.length != 0 && \r\n \r\n \r\n \r\n {this._showCheckboxes() && }\r\n {columns.map((col, index) => {\r\n return \r\n })}\r\n\r\n {!this._showCheckboxes() && }\r\n\r\n \r\n \r\n \r\n {searchResults.items.map((item, index) => {\r\n return \r\n {this._showCheckboxes() && }\r\n {columns.map((col, index) => {\r\n return ;\r\n })}\r\n\r\n {!this._showCheckboxes() && }\r\n\r\n \r\n })}\r\n \r\n
\r\n {\r\n var checked = evt.target.checked;\r\n var newState = this._cloneStateForSetState();\r\n newState.allChecked = checked;\r\n if (checked) {\r\n newState.checkedElements = searchResults.items.map((item) => item.id);\r\n }\r\n else {\r\n newState.checkedElements = [];\r\n }\r\n this.setState(newState);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, }}\r\n id={\"allChecked\"}\r\n checked={this.state.allChecked || false}\r\n />\r\n \r\n {\r\n this.setState(\r\n { searchParams: this._getSearchForColumnClicked(col.fieldName) },\r\n () => this._performSearch()\r\n );\r\n }}>\r\n {col.title}\r\n {this.renderSortIcon(col.fieldName)}\r\n \r\n
\r\n {\r\n var checked = evt.target.checked;\r\n var newState = this._cloneStateForSetState();\r\n\r\n if (checked) {\r\n var itemId = newState.checkedElements.find(x => x === item.id);\r\n if (itemId == null) {\r\n newState.checkedElements.push(item.id);\r\n }\r\n }\r\n else {\r\n newState.checkedElements = newState.checkedElements.filter(x => {\r\n return x != item.id;\r\n })\r\n }\r\n this.setState(newState);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, }}\r\n id={\"checkbox_\" + index}\r\n checked={this.state.checkedElements.find(x => x === item.id) != null}\r\n />\r\n \r\n {col.renderField == null && item[col.FieldName]}\r\n {col.renderField != null && {col.renderField(item)}}\r\n \r\n \r\n
\r\n\r\n
}\r\n\r\n\r\n this._changePage(pNum)}\r\n onPageSizeChange={(newSize) => this._changePageSize(newSize)}\r\n />\r\n
\r\n\r\n\r\n }\r\n
\r\n \r\n\r\n \r\n
\r\n }\r\n \r\n );\r\n }\r\n\r\n private itemSelected(item: TResultItem, checkedElements: number[]) {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchResults = null;\r\n newState.showSearchWindow = false;\r\n newState.allChecked = false;\r\n newState.checkedElements = checkedElements;\r\n newState.searchParams = this.GetInitialSearchParams(this.props.searchParams);\r\n if (this._showCheckboxes()) {\r\n this.setState(newState,\r\n () => {\r\n if (this.props.onSelected) {\r\n this.props.onSelected(null, null, null, checkedElements);\r\n }\r\n });\r\n }\r\n else {\r\n this.setState(newState,\r\n () => {\r\n var selectedId: number;\r\n var selectedName: string;\r\n\r\n if (item == null) {\r\n selectedId = null;\r\n selectedName = \"\";\r\n }\r\n else {\r\n selectedId = this.props.getIdFromItem ? this.props.getIdFromItem(item) : item.id;\r\n if (this.props.getName2FromItem) {\r\n selectedName = this.props.getNameFromItem(item) + ' ' + this.props.getName2FromItem(item) || \"\";\r\n }\r\n else {\r\n selectedName = this.props.getNameFromItem(item) || \"\";\r\n }\r\n }\r\n\r\n if (this.props.onSelected) {\r\n this.props.onSelected(selectedId, selectedName, item);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /*\r\n private textSelected(text: string) {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchResults = null;\r\n newState.showSearchWindow = false;\r\n newState.searchParams = this.GetInitialSearchParams(this.props.searchParams);\r\n this.setState(newState,\r\n () => {\r\n\r\n if (this.props.onTextSelected) {\r\n this.props.onTextSelected(text);\r\n }\r\n });\r\n\r\n }\r\n */\r\n\r\n public shouldComponentUpdate(nextProps: TPickerProps) {\r\n return true;\r\n }\r\n\r\n\r\n private _renderSearchForm(): JSX.Element {\r\n\r\n return (\r\n
\r\n
this._searchOnEnter(evt)}>\r\n \r\n \r\n {this.RenderSearchForm()}\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n {this._showCheckboxes() && this.state.checkedElements.length > 0 && < Button onClick={() => this.itemSelected(null, this.state.checkedElements)} >\r\n {I18n.Strings.select}\r\n }\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n\r\n\r\n protected _searchOnEnter(evt: React.FormEvent): boolean {\r\n\r\n evt.preventDefault();\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.currentPage = 0;\r\n this.setState(newState, () => {\r\n this._performSearch();\r\n });\r\n\r\n return false;\r\n }\r\n\r\n private _changePage(pageNum: number) {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.currentPage = pageNum;\r\n this.setState(newState, () => {\r\n this._performSearch();\r\n });\r\n }\r\n\r\n private _changePageSize(newSize: number) {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.rowsPerPage = newSize;\r\n newState.searchParams.currentPage = 0;\r\n this.setState(newState,\r\n () => this._performSearch()\r\n );\r\n\r\n }\r\n\r\n private renderSortIcon(columnName: string) {\r\n if (columnName == this.state.searchParams.orderByColumn) {\r\n return this.state.searchParams.orderMode == SortDirection.Asc ? : ;\r\n }\r\n }\r\n\r\n /**\r\n * Realiza la busqueda usando el SearchModel y hace el binding de los datos\r\n */\r\n protected _performSearch() {\r\n\r\n\r\n this._createApiService().search(this.state.searchParams)\r\n .then((data) => {\r\n var newState = this._cloneStateForSetState();\r\n newState.showSearchWindow = true;\r\n newState.searchResults = data;\r\n this.setState(newState);\r\n })\r\n .catch((reason) => {\r\n AlertsService.showError(reason);\r\n });\r\n }\r\n\r\n /**\r\n * Se le llama cuando el usuario hace click en la caja de texto y se abre el modal de busqueda\r\n */\r\n private _textFieldClicked() {\r\n\r\n if (this.props.disabled) return;\r\n\r\n var newState = this._cloneStateForSetState();\r\n newState.showSearchWindow = true;\r\n newState.searchParams.currentPage = 0;\r\n this.setState(newState, () => {\r\n this._performSearch();\r\n });\r\n }\r\n\r\n /**\r\n * Cierra el modal\r\n */\r\n private _closeModal() {\r\n this.setState({ showSearchWindow: false } as IGenericPickerState);\r\n }\r\n\r\n\r\n protected _getSearchForColumnClicked(fieldName: string): TSearchModel {\r\n\r\n var newSearch = { ... this.state.searchParams };\r\n\r\n if (newSearch.orderByColumn != fieldName) {\r\n newSearch.orderMode = SortDirection.Asc;\r\n newSearch.orderByColumn = fieldName;\r\n }\r\n else {\r\n newSearch.orderMode = newSearch.orderMode == SortDirection.Asc ? SortDirection.Desc : SortDirection.Asc;\r\n }\r\n\r\n return newSearch;\r\n\r\n }\r\n}\r\n","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { I18n } from \"../utils/I18n\";\r\n\r\n\r\nimport { ColegioUsuariosService } from \"./ColegioUsuariosService\";\r\n\r\nimport { GenericPicker, GenericPickerProps, IGenericPickerState } from \"../utils/base/GenericPickerBase\";\r\nimport { ColegioUsuarioListItem, ColegioUsuarioListItemPaginatedList, ColegioUsuariosSearch } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { Col, FormGroup, Input, Label, Row } from \"reactstrap\";\r\n\r\nclass ColegioUsuariosPickerProps extends GenericPickerProps {\r\n\r\n public errorMessage?: string;\r\n public profesorId?: number;\r\n public claseMateriaId?: number;\r\n}\r\n\r\n\r\nexport class ColegioUsuariosPicker extends\r\n GenericPicker\r\n{\r\n\r\n protected GetTitulo(): string {\r\n return `Seleccionar ${this.props.label}`;\r\n }\r\n\r\n public componentWillReceiveProps(props: ColegioUsuariosPickerProps) {\r\n var newState = this._cloneStateForSetState();\r\n this.setState(newState);\r\n }\r\n\r\n\r\n protected GetInitialSearchParams(): ColegioUsuariosSearch {\r\n const searchParams = {\r\n ... {} as ColegioUsuariosSearch,\r\n profesorId: this.props.profesorId,\r\n claseMateriaId: this.props.claseMateriaId,\r\n rowsPerPage: 10\r\n } as ColegioUsuariosSearch;\r\n\r\n return searchParams;\r\n }\r\n\r\n protected _createState(): IGenericPickerState {\r\n const state = super._createState();\r\n return state;\r\n }\r\n\r\n protected _createApiService(): IServiceForIndex {\r\n return new ColegioUsuariosService();\r\n }\r\n\r\n protected RenderSearchForm(): JSX.Element {\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n autoComplete=\"off\"\r\n required={false}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombre)}\r\n id={\"usuariosPicker\" + nameof(this.state.searchParams.nombre)}\r\n value={this.state.searchParams.nombre || \"\"}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.apellidos = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n autoComplete=\"off\"\r\n required={false}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.apellidos)}\r\n id={\"usuariosPicker\" + nameof(this.state.searchParams.apellidos)}\r\n value={this.state.searchParams.apellidos || \"\"}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.login = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n autoComplete=\"off\"\r\n required={false}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.login)}\r\n id={\"usuariosPicker\" + nameof(this.state.searchParams.login)}\r\n value={this.state.searchParams.login || \"\"}\r\n />\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n protected _getColumns(): TableColumn[] {\r\n const columns: TableColumn[] = [];\r\n\r\n var sample: ColegioUsuarioListItem;\r\n\r\n columns.push({\r\n fieldName: nameof(sample.nombre),\r\n title: I18n.Strings.colegioUsuarios.nombre,\r\n renderField: (item) => item.nombre\r\n });\r\n\r\n columns.push({\r\n fieldName: nameof(sample.apellidos),\r\n title: I18n.Strings.colegioUsuarios.apellidos,\r\n renderField: (item) => item.apellidos\r\n });\r\n\r\n columns.push({\r\n fieldName: nameof(sample.login),\r\n title: I18n.Strings.colegioUsuarios.login,\r\n renderField: (item) => item.login\r\n });\r\n\r\n columns.push({\r\n fieldName: nameof(sample.tipoUsuario),\r\n title: I18n.Strings.colegioUsuarios.tipoUsuario,\r\n renderField: (item) => I18n.Strings.getEnumText(`TipoUsuario.${item.tipoUsuario}`)\r\n });\r\n\r\n return columns;\r\n }\r\n}","import * as React from \"react\";\r\nimport { Col, Row, FormFeedback } from \"reactstrap\";\r\n\r\n\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ComponentBase } from \"../utils/base/ComponentBase\";\r\n\r\nexport interface IDateSelectorProps {\r\n value: Date;\r\n className?: string;\r\n onChange: (value: Date) => void;\r\n id?: string;\r\n\r\n yearsBack?: number;\r\n yearsFront?: number;\r\n disabled?: boolean;\r\n}\r\n\r\n\r\n\r\nexport interface IDateSelectorState {\r\n day: number;\r\n month: number;\r\n year: number;\r\n showAlert: boolean;\r\n}\r\n\r\n\r\nexport abstract class CustomDatePicker extends ComponentBase\r\n{\r\n\r\n private days: number[];\r\n private months: number[];\r\n private years: number[];\r\n\r\n public constructor(props: IDateSelectorProps) {\r\n super(props);\r\n\r\n\r\n this.days = [];\r\n for (let i = 1; i <= 31; i++) {\r\n this.days.push(i);\r\n }\r\n\r\n this.months = [];\r\n for (let i = 0; i < 12; i++) {\r\n this.months.push(i);\r\n }\r\n\r\n var today = new Date();\r\n var yearLatest = today.getFullYear() + (props.yearsFront == null ? 2 : props.yearsFront);\r\n var yearFirst = today.getFullYear() + (-(props.yearsBack == null ? 55 : props.yearsBack));\r\n\r\n this.years = [];\r\n\r\n for (let i = yearLatest; i > yearFirst; i--) {\r\n this.years.push(i);\r\n }\r\n\r\n this.state = {\r\n day: props.value == null ? null : props.value.getDate(),\r\n month: props.value == null ? null : props.value.getMonth(),\r\n year: props.value == null ? null : props.value.getFullYear(),\r\n showAlert: false\r\n }\r\n }\r\n\r\n\r\n public render(): JSX.Element {\r\n\r\n var monthName = this.state.month == null ? I18n.Strings.datepicker.month : I18n.Strings.datepicker.monthNames[this.state.month]\r\n\r\n return
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {this.state.showAlert && {I18n.Strings.validationErrors.invalidDate}}\r\n \r\n \r\n
;\r\n }\r\n\r\n public setState(state: IDateSelectorState) {\r\n let fechaCorrecta = false;\r\n if (state.day != null && state.month != null && state.year != null && state.day != -1 && state.month != -1 && state.year != -1) {\r\n\r\n var date = new Date(state.year, state.month, state.day);\r\n\r\n if (state.month != date.getMonth()) {\r\n state.showAlert = true;\r\n\r\n\r\n } else {\r\n state.showAlert = false;\r\n fechaCorrecta = true;\r\n }\r\n }\r\n\r\n super.setState(state, () => {\r\n if (fechaCorrecta) {\r\n date.setHours(12);\r\n this.props.onChange(date);\r\n }\r\n else {\r\n this.props.onChange(null);\r\n }\r\n })\r\n }\r\n\r\n}","import * as React from \"react\";\r\nimport {\r\n Card, CardHeader, CardText, CardBody\r\n} from 'reactstrap';\r\n\r\nclass CardProps {\r\n public numberValue: number;\r\n public headerText: string;\r\n public className?: string;\r\n public icono?: JSX.Element;\r\n}\r\n\r\nexport class NumericCardBox extends React.Component {\r\n\r\n public render(): JSX.Element {\r\n\r\n return (\r\n 0 ? \"card-ok\" : \"card-ko\"}>\r\n \r\n \r\n {this.props.numberValue.toString()}\r\n {this.props.icono != null &&\r\n \r\n {this.props.icono}\r\n }\r\n \r\n \r\n {this.props.headerText}\r\n \r\n );\r\n }\r\n}","\r\nimport { ClaseMateriaEditModel, LicenciasContenidosListItemPaginatedList, ClaseMateriaSearch, ClaseMateriaListItemPaginatedList, ModelValidationResult } from \"../../models/dataModels\";\r\nimport { ApiFetcher } from \"../../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../../utils/base/BaseServices\";\r\n\r\nexport class ClaseMateriaService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n search(searchData: ClaseMateriaSearch): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/claseMateria/search\", searchData);\r\n\r\n return prom;\r\n }\r\n\r\n getClaseMateriaLicencias(claseMateriaID: number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/claseMateria/${claseMateriaID}/licencias`);\r\n\r\n return prom;\r\n }\r\n\r\n delete(id: number): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n validate(model: ClaseMateriaEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n create(model: ClaseMateriaEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n update(id: string | number, model: ClaseMateriaEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n exportExcel(search: ClaseMateriaSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ClaseMateriaListItem, ClaseMateriaSearch, SortDirection } from \"../../models/dataModels\";\r\nimport { DropDownBase, GenericSelectItem, IDropDownProps } from \"../../utils/base/DropDownBase\";\r\n\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { ClaseMateriaService } from \"./ClaseMateriaService\";\r\n\r\ninterface ClaseMateriaDropDownProps extends IDropDownProps {\r\n claseId?: number;\r\n profesorId?: number;\r\n}\r\n\r\nexport class ClaseMateriaDropDown extends DropDownBase {\r\n\r\n protected GetItems(): Promise {\r\n\r\n var item = {} as ClaseMateriaListItem;\r\n\r\n var searchModel = {\r\n colegioId: ClientContext.Current.colegioId,\r\n claseId: this.props.claseId,\r\n \r\n noTotalCount: true,\r\n currentPage: 0,\r\n rowsPerPage: -1,\r\n orderByColumn: nameof(item.nombre),\r\n orderMode: SortDirection.Asc,\r\n bypassAutomaticSort: false,\r\n currentPageRows: -1\r\n } as ClaseMateriaSearch;\r\n\r\n var claseMateriaService = new ClaseMateriaService();\r\n var dataProm = claseMateriaService.search(searchModel);\r\n\r\n var resultProm = dataProm.then(data => {\r\n return data.items.map((item, index) => {\r\n return {\r\n id: item.id,\r\n name: `${item.nombre} - ${item.clase}`,\r\n data: item\r\n }\r\n });\r\n });\r\n\r\n return Promise.resolve(resultProm);\r\n }\r\n\r\n protected shouldAddEmptyOption() {\r\n return true;\r\n }\r\n};","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { TipoEstadistica, EstadisticasAccesoGraphSearch, EstadisticasAccesoGraphSearchResult, TipoUsuario, TipoGrafico } from \"../models/dataModels\";\r\nimport { AccesosSistemaService } from \"./AccesosSistemaService\";\r\nimport { Col, FormGroup, Input, Label, Row, Button, FormFeedback } from \"reactstrap\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport { GraphIcon, ExcelIcon } from \"../utils/Icons\";\r\nimport { AccesosSistemaGraph } from \"./AccesosSistemaGraph\";\r\nimport { TipoUsuarioDropDown } from \"../helpers/EnumDropDown\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { ClasesDropDown } from \"../clases/profesor/ClasesDropDown\";\r\nimport { ColegioUsuariosPicker } from \"../colegioUsuarios/Picker\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { cloneDeep } from \"lodash-es\";\r\nimport { CustomDatePicker } from \"../helpers/CustomDatePicker\";\r\nimport { NumericCardBox } from \"../helpers/NumericCardBox\";\r\nimport { ClaseMateriaDropDown } from \"../cursoEscolar/materia/ClaseMateriaDropDown\";\r\n\r\ninterface AccesosProps {\r\n tipo: TipoGrafico;\r\n usuarioId?: number;\r\n profesorId?: number;\r\n}\r\n\r\ninterface AccesosState {\r\n loading: boolean;\r\n model: EstadisticasAccesoGraphSearchResult,\r\n fechaDesde: Date;\r\n fechaHasta: Date;\r\n validationResult: ModelValidation;\r\n usuarioId: number;\r\n profesorId: number;\r\n tipoUsuario: TipoUsuario;\r\n claseId: number[];\r\n clase: string;\r\n\r\n claseMateriaId: number;\r\n claseMateria: string;\r\n\r\n usuario: string;\r\n}\r\n\r\nexport class AccesosSistema extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n var start = new Date();\r\n start.setMonth(start.getMonth() - 1);\r\n var end = new Date();\r\n\r\n this.state = {\r\n loading: true,\r\n fechaDesde: start,\r\n fechaHasta: end,\r\n validationResult: new ModelValidation(),\r\n model: null,\r\n usuarioId: this.props.usuarioId,\r\n profesorId: this.props.profesorId,\r\n tipoUsuario: this.props.tipo == TipoGrafico.Profesor ? TipoUsuario.Alumno : null,\r\n\r\n claseId: [],\r\n clase: null,\r\n\r\n claseMateriaId: null,\r\n claseMateria : null,\r\n\r\n usuario: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this._loadGraphData();\r\n }\r\n\r\n protected getSearchData(): EstadisticasAccesoGraphSearch {\r\n var searchData = {\r\n busquedaGlobal: this.props.tipo == TipoGrafico.Global || this.props.tipo == TipoGrafico.Profesor,\r\n usuarioId: this.state.usuarioId,\r\n profesorId: this.state.profesorId,\r\n fechaDesde: this.state.fechaDesde,\r\n fechaHasta: this.state.fechaHasta,\r\n licenciaContenidoIds: null,\r\n tipo: TipoEstadistica.AccesoUsuario,\r\n tipoUsuario: this.state.tipoUsuario,\r\n claseId: this.state.claseId,\r\n claseMateriaId: this.state.claseMateriaId,\r\n contenidosId: [],\r\n tipoGrafico: this.props.tipo\r\n } as EstadisticasAccesoGraphSearch;\r\n\r\n return searchData;\r\n }\r\n\r\n protected _exportExcel(): void {\r\n var service = new AccesosSistemaService();\r\n\r\n var searchData = this.getSearchData();\r\n service.exportExcel(searchData)\r\n .then(ret => {\r\n this.setState({ loading: false });\r\n });\r\n }\r\n\r\n protected _loadGraphData(): void {\r\n var service = new AccesosSistemaService();\r\n\r\n var searchData = this.getSearchData();\r\n service.accesosGraphSearch(searchData)\r\n .then(ret => {\r\n this.setState({ loading: false, model: ret });\r\n });\r\n }\r\n\r\n protected _errorMessage(fieldName: string): JSX.Element {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n protected _cloneStateForSetState(): AccesosState {\r\n return cloneDeep(this.state) as AccesosState;\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if (this.state.fechaDesde == null) {\r\n validation.addError(nameof(this.state.fechaDesde), I18n.Strings.validationErrors.valueRequired(I18n.Strings.estadisticas.fechaDesde));\r\n }\r\n\r\n if (this.state.fechaHasta == null) {\r\n validation.addError(nameof(this.state.fechaHasta), I18n.Strings.validationErrors.valueRequired(I18n.Strings.estadisticas.fechaHasta));\r\n }\r\n\r\n if (this.state.fechaDesde != null && this.state.fechaHasta != null && this.state.fechaDesde > this.state.fechaHasta) {\r\n validation.addError(nameof(this.state.fechaHasta), I18n.Strings.validationErrors.dateGreaterThan(I18n.Strings.estadisticas.fechaDesde, I18n.Strings.estadisticas.fechaHasta));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected _validateState(): Promise {\r\n\r\n var validationProm = Promise.resolve(this._validateModelLocal())\r\n .then(localValidationResult => {\r\n return localValidationResult;\r\n });\r\n\r\n return validationProm;\r\n }\r\n\r\n protected _validateAndSubmit(): void {\r\n this._validateState()\r\n .then(validationResultTemp => {\r\n\r\n if (validationResultTemp == null) {\r\n alert(\"error validation\");\r\n return false;\r\n }\r\n var validationResult = new ModelValidation();\r\n validationResult.load(validationResultTemp);\r\n\r\n if (validationResult.isOk) {\r\n console.info(\"La validación es correcta\");\r\n this.setState({ loading: true });\r\n this._loadGraphData();\r\n }\r\n else {\r\n console.log(\"Validación no correcta\");\r\n console.warn(validationResult);\r\n this.setState({ validationResult: validationResult });\r\n }\r\n });\r\n }\r\n\r\n protected _renderTitulo(): JSX.Element {\r\n\r\n if (this.props.tipo == TipoGrafico.Global) {\r\n return;\r\n }\r\n\r\n if (this.props.tipo == TipoGrafico.Usuario) {\r\n return;\r\n }\r\n }\r\n\r\n protected _renderBotones(): JSX.Element {\r\n return \r\n {(this.props.tipo == TipoGrafico.Global || this.props.tipo == TipoGrafico.Profesor) &&
}\r\n {\r\n this._validateAndSubmit();\r\n }} >\r\n \r\n {I18n.Strings.estadisticas.grafico}\r\n \r\n {\r\n this._exportExcel();\r\n }} >\r\n \r\n {I18n.Strings.export}\r\n \r\n
\r\n }\r\n\r\n protected _renderCamposBusqueda(): JSX.Element {\r\n\r\n if (this.state.model == null) {\r\n return;\r\n }\r\n\r\n if (this.props.tipo == TipoGrafico.Global) {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 ? this.state.claseId[0] : null}\r\n text={this.state.clase}\r\n seleccionClases={true}\r\n onChange={(id, nombre) => {\r\n var grupos = [];\r\n if (nombre != null) {\r\n grupos.push(id);\r\n }\r\n\r\n var state = this._cloneStateForSetState();\r\n state.claseId = grupos;\r\n state.clase = nombre;\r\n\r\n this.setState(state, () => this._validateAndSubmit());\r\n }}\r\n />\r\n \r\n \r\n\r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.tipoUsuario = value as TipoUsuario;\r\n }\r\n else {\r\n newState.tipoUsuario = null;\r\n }\r\n this.setState(newState, () => this._validateAndSubmit());\r\n }}\r\n />\r\n \r\n \r\n\r\n item.id}\r\n getNameFromItem={(item) => item.nombre}\r\n getName2FromItem={(item) => item.apellidos}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.usuarioId))}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.usuarioId = usuarioId;\r\n state.usuario = usuario;\r\n this.setState(state, () => this._validateAndSubmit());\r\n }}\r\n />\r\n\r\n \r\n\r\n \r\n {this._renderBotones()}\r\n \r\n \r\n \r\n }\r\n\r\n if (this.props.tipo == TipoGrafico.Profesor) {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 ? this.state.claseId[0] : null}\r\n selectedItemText={this.state.clase}\r\n profesorId={this.props.profesorId}\r\n onChanged={(claseId, clase, item) => {\r\n var clases = [];\r\n if (clase != null) {\r\n clases.push(claseId);\r\n }\r\n\r\n var state = this._cloneStateForSetState();\r\n state.claseId = clases;\r\n state.clase = clase;\r\n\r\n state.claseMateria = null;\r\n state.claseMateriaId = null;\r\n\r\n state.usuarioId = null;\r\n state.usuario = \"\";\r\n\r\n this.setState(state, () => this._validateAndSubmit());\r\n }}\r\n />\r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n \r\n state.claseMateriaId = claseMateriaId;\r\n state.claseMateria = claseMateria;\r\n\r\n state.usuario = null;\r\n state.usuarioId = null;\r\n\r\n this.setState(state, () => this._validateAndSubmit());\r\n }}\r\n />\r\n \r\n\r\n \r\n item.id}\r\n getNameFromItem={(item) => item.nombre}\r\n getName2FromItem={(item) => item.apellidos}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.usuarioId))}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.usuarioId = usuarioId;\r\n state.usuario = usuario;\r\n this.setState(state, () => this._validateAndSubmit());\r\n }}\r\n />\r\n \r\n\r\n \r\n {this._renderBotones()}\r\n \r\n \r\n \r\n }\r\n\r\n if (this.props.tipo == TipoGrafico.Usuario) {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ fechaDesde: val })\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.fechaDesde))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ fechaHasta: val })\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.fechaHasta))}\r\n \r\n \r\n \r\n {this._renderBotones()}\r\n \r\n \r\n }\r\n }\r\n\r\n protected _renderGrafica(): JSX.Element {\r\n if (this.state.model == null) {\r\n return;\r\n }\r\n\r\n if (this.props.tipo == TipoGrafico.Global || this.props.tipo == TipoGrafico.Usuario || this.props.tipo == TipoGrafico.Profesor) {\r\n return \r\n \r\n \r\n \r\n \r\n }\r\n }\r\n\r\n render() {\r\n return
\r\n {this.state.loading && }\r\n\r\n {this._renderTitulo()}\r\n\r\n {this._renderCamposBusqueda()}\r\n\r\n {this._renderGrafica()}\r\n
\r\n }\r\n};","import * as React from \"react\";\r\n\r\nimport { BarChart, Bar, LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { StackedGraphBar } from \"../models/dataModels\"; \r\n\r\n\r\ninterface AccesosGraphProps {\r\n data: any[];\r\n bars: StackedGraphBar[];\r\n}\r\n\r\nexport class AccesosContenidoGraph extends React.Component {\r\n formatXAxis = (tickItem) => {\r\n return I18n.Strings.formatDate(new Date(tickItem));\r\n }\r\n render() {\r\n return
\r\n \r\n \r\n \r\n \r\n \r\n \r\n t} />\r\n {this.props.bars != null && this.props.bars.map((bar, index) => {\r\n return \r\n })}\r\n \r\n \r\n
;\r\n }\r\n};","\r\nimport {\r\n ContenidosColegioEditModel, ContenidosDigitalesColegioListItemPaginatedList, ContenidosDigitalesColegioSearch, ModelValidationResult,\r\n ContenidosSyncResult, \r\n ExportFileResult,\r\n ContenidosColegioChangeAccesoMessage\r\n} from \"../../models/dataModels\";\r\nimport { ApiFetcher } from \"../../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../../utils/base/BaseServices\";\r\nimport { downloadFileFromBase64Array } from \"../../utils/ValuesFormatter\";\r\n\r\nexport class ContenidosColegioService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n\r\n search(searchData: ContenidosDigitalesColegioSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/contenidosColegio/search\", searchData);\r\n return prom;\r\n }\r\n\r\n delete(id: number): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n //var apiFetcher = new ApiFetcher();\r\n //var prom = apiFetcher.delete(`intranet/contenidosColegio/${id}`);\r\n //return prom;\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/contenidosColegio/${id}`);\r\n return prom;\r\n }\r\n validate(model: ContenidosColegioEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/contenidosColegio/validate`, model);\r\n return prom;\r\n }\r\n\r\n create(model: ContenidosColegioEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n //var apiFetcher = new ApiFetcher();\r\n //var prom = apiFetcher.post(`intranet/contenidosColegio/`, model);\r\n //return prom;\r\n }\r\n\r\n update(id: string | number, model: ContenidosColegioEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/contenidosColegio/${id}`, model);\r\n return prom;\r\n }\r\n\r\n syncContenidosColegio(campannaId: number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/contenidos/syncContenidosColegio/${campannaId}`, null);\r\n return prom;\r\n }\r\n\r\n exportExcel(searchModel: ContenidosDigitalesColegioSearch): Promise {\r\n\r\n var url = \"intranet/contenidosColegio/exportExcel\";\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var promise = apiFetcher.post(url, searchModel)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return promise;\r\n }\r\n\r\n cambiarAcceso(model: ContenidosColegioChangeAccesoMessage): Promise {\r\n\r\n var url = \"intranet/contenidosColegio/cambiarAcceso\";\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var promise = apiFetcher.post(url, model); \r\n return promise;\r\n }\r\n}","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { I18n } from \"../../utils/I18n\";\r\n\r\n\r\nimport { ContenidosColegioService } from \"./ContenidosColegioService\";\r\n\r\nimport { GenericPicker, GenericPickerProps, IGenericPickerState } from \"../../utils/base/GenericPickerBase\";\r\nimport { TipoUsuarioContenido, ContenidosDigitalesColegioListItemPaginatedList, ContenidosDigitalesColegioListItem, ContenidosDigitalesColegioSearch, Editorial } from \"../../models/dataModels\";\r\nimport { IServiceForIndex } from \"../../utils/base/BaseServices\";\r\nimport { TableColumn } from \"../../utils/base/IndexPageBase\";\r\nimport { FormGroup, Input, Label, Row, Col } from \"reactstrap\";\r\nimport { EditorialDropDown } from \"../../helpers/EnumDropDown\";\r\nimport { NivelEducativoDropDown } from \"../../cursoEscolar/NivelEducativoDropDown\";\r\n\r\ninterface ContenidosPickerProps extends GenericPickerProps {\r\n\r\n errorMessage?: string;\r\n cursoEscolarId?: number;\r\n nivelEducativoId: number;\r\n claseId?: number;\r\n excluirLicenciasUsuarioId?: number;\r\n tipoUsuario?: TipoUsuarioContenido;\r\n mostrarSoloColegio: boolean;\r\n mostrarNiveles: boolean;\r\n showCheckboxes?: boolean;\r\n usuarioColegioId?: number;\r\n}\r\n\r\nexport interface ContenidosDigitalesColegioSearchEx extends ContenidosDigitalesColegioSearch {\r\n nivelEducativo: string;\r\n clase: string;\r\n}\r\n\r\nexport class ContenidosPicker extends\r\n GenericPicker\r\n{\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n }\r\n\r\n protected GetTitulo(): string {\r\n return `Seleccionar contenidos`;\r\n }\r\n\r\n protected GetSearchText(): string {\r\n return null;\r\n }\r\n \r\n\r\n\r\n protected GetInitialSearchParams(): ContenidosDigitalesColegioSearchEx {\r\n const searchParams = {\r\n ... {} as ContenidosDigitalesColegioSearch,\r\n nivelEducativoId: this.props.nivelEducativoId,\r\n claseId: this.props.claseId,\r\n excluirLicenciasUsuarioId: this.props.excluirLicenciasUsuarioId,\r\n tipoUsuario: this.props.tipoUsuario,\r\n cursoEscolarId: this.props.cursoEscolarId,\r\n usuarioColegioId: this.props.usuarioColegioId,\r\n rowsPerPage: 10,\r\n mostrarNivelesEducativos: this.props.mostrarNiveles,\r\n showOnlySchoolContents: this.props.mostrarSoloColegio,\r\n editorial: (this.props.searchParams || {}).editorial\r\n } as ContenidosDigitalesColegioSearchEx;\r\n\r\n \r\n\r\n return searchParams;\r\n }\r\n\r\n protected _showCheckboxes(): boolean {\r\n return this.props.showCheckboxes;\r\n }\r\n\r\n protected _createState(): IGenericPickerState {\r\n const state = super._createState();\r\n return state;\r\n }\r\n\r\n protected _createApiService(): IServiceForIndex {\r\n return new ContenidosColegioService();\r\n }\r\n\r\n protected RenderSearchForm(): JSX.Element {\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\" \r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombre)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.nombre)}\r\n value={this.state.searchParams.nombre || \"\"}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.editorial = value == '' ? null : value as Editorial;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n {(this.props.nivelEducativoId != null || this.props.claseId == null) && \r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.nivelEducativoId = id;\r\n newState.searchParams.nivelEducativo = nombre;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n }\r\n {this.props.claseId != null && \r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.claseId = id;\r\n newState.searchParams.clase = nombre;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n }\r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.isbn = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.isbn)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.isbn)}\r\n value={this.state.searchParams.isbn || \"\"}\r\n />\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n protected _getColumns(): TableColumn[] {\r\n\r\n const columns: TableColumn[] = [];\r\n\r\n var sample: ContenidosDigitalesColegioListItem;\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.isbn),\r\n title: I18n.Strings.contenidos.isbn,\r\n renderField: (item) => item.isbn\r\n });\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.nombre),\r\n title: I18n.Strings.contenidos.nombre,\r\n renderField: (item) => item.nombre\r\n });\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.editorial),\r\n title: I18n.Strings.contenidos.editorial,\r\n renderField: (item) => {\r\n if (item.editorial == null) {\r\n return \"-\";\r\n }\r\n return I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n }\r\n });\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.nivelesEducativos),\r\n title: I18n.Strings.contenidos.nivelesEducativos,\r\n renderField: (item) => item.nivelesEducativos\r\n });\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.tipoUsuario),\r\n title: I18n.Strings.contenidos.tipoUsuario,\r\n renderField: (item) => item.tipoUsuario\r\n });\r\n\r\n return columns;\r\n }\r\n}","\r\nimport {\r\n ExportFileResult, GraphSearch,\r\n EstadisticasContenidoGraphExcelExport, EstadisticasContenidoGraphSearch, EstadisticasContenidoGraphSearchResult\r\n} from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport * as Utils from \"../utils/ValuesFormatter\";\r\n\r\nexport class AccesosContenidoService\r\n{\r\n accesosContenidosGraphSearch(searchData: EstadisticasContenidoGraphSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n\r\n var prom = apiFetcher.post(\"intranet/colegio/usuarios/estadisticasContenidosGraphSearch\", searchData);\r\n return prom;\r\n }\r\n\r\n exportExcel(searchData: EstadisticasContenidoGraphExcelExport): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n\r\n var prom = apiFetcher.post(\"intranet/colegio/usuarios/estadisticasContenidoExportExcel\", searchData)\r\n .then((result) => {\r\n Utils.downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return prom;\r\n }\r\n}","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport {\r\n TipoEstadistica, EstadisticasAccesoGraphSearchResult, StackedGraphBar, LicenciasContenidosListItem,\r\n TipoUsuario, TipoGrafico, EstadisticasContenidoGraphSearch, EstadisticasContenidoGraphSearchResult,\r\n} from \"../models/dataModels\";\r\nimport { Col, FormGroup, Input, Label, Row, Button, FormFeedback } from \"reactstrap\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport { GraphIcon, ExcelIcon } from \"../utils/Icons\"; \r\nimport { AccesosContenidoGraph } from \"./AccesosContenidoGraph\";\r\nimport { TipoUsuarioDropDown } from \"../helpers/EnumDropDown\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { ColegioUsuariosPicker } from \"../colegioUsuarios/Picker\";\r\nimport { ContenidosPicker } from \"../contenidos/colegio/Picker\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { cloneDeep } from \"lodash-es\";\r\nimport { CustomDatePicker } from \"../helpers/CustomDatePicker\";\r\nimport { NumericCardBox } from \"../helpers/NumericCardBox\";\r\nimport { ClasesDropDown } from \"../clases/profesor/ClasesDropDown\";\r\nimport { ClaseMateriaDropDown } from \"../cursoEscolar/materia/ClaseMateriaDropDown\";\r\nimport { AccesosContenidoService } from \"./AccesosContenidoService\";\r\n\r\ninterface AccesosProps {\r\n tipo: TipoGrafico;\r\n usuarioId?: number;\r\n profesorId?: number;\r\n licenciaContenidoId?: number;\r\n emptyText?: string;\r\n}\r\n\r\ninterface AccesosState {\r\n loading: boolean;\r\n graphItems: any[],\r\n graphBars: StackedGraphBar[],\r\n model: EstadisticasContenidoGraphSearchResult,\r\n fechaDesde: Date;\r\n fechaHasta: Date;\r\n validationResult: ModelValidation;\r\n\r\n usuarioId: number;\r\n profesorId: number;\r\n tipoUsuario: TipoUsuario;\r\n\r\n claseId: number[];\r\n clase: string;\r\n\r\n claseMateriaId: number;\r\n claseMateria: string;\r\n\r\n usuario: string;\r\n contenidosId: number[];\r\n contenido: string;\r\n fechaUltimoAcceso: Date;\r\n licencias: LicenciasContenidosListItem[];\r\n licenciaContenidosIds: number[];\r\n\r\n matriculaId: number;\r\n matricula: string;\r\n}\r\n\r\nexport class AccesosContenido extends React.Component {\r\n\r\n readonly rgbColors = ['#8884d8', '#82ca9d', '#800000', '#008080', '#808000', '#191970', '#F5F5DC', '#778899', '#FF1493', '#AFEEEE'];\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n var start = new Date();\r\n start.setMonth(start.getMonth() - 1);\r\n var end = new Date();\r\n\r\n var licenciasContenidosIds = [];\r\n if (this.props.licenciaContenidoId != null) {\r\n licenciasContenidosIds.push(this.props.licenciaContenidoId);\r\n }\r\n\r\n this.state = {\r\n loading: true,\r\n graphItems: [],\r\n graphBars: [],\r\n fechaDesde: start,\r\n fechaHasta: end,\r\n validationResult: new ModelValidation(),\r\n model: null,\r\n usuarioId: this.props.usuarioId,\r\n profesorId: this.props.profesorId,\r\n tipoUsuario: null,\r\n claseId: [],\r\n clase: null,\r\n\r\n claseMateriaId: null,\r\n claseMateria: null,\r\n\r\n usuario: null,\r\n contenidosId: [],\r\n contenido: this.props.emptyText ?? \"0 contenidos seleccionados\",\r\n fechaUltimoAcceso: null,\r\n licencias: [],\r\n licenciaContenidosIds: licenciasContenidosIds,\r\n matriculaId: null,\r\n matricula: null\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this._loadGraphData();\r\n }\r\n\r\n protected _exportExcel(): void {\r\n var service = new AccesosContenidoService();\r\n\r\n var searchData = this.getSearchData();\r\n service.exportExcel(searchData)\r\n .then(ret => {\r\n this.setState({ loading: false });\r\n });\r\n }\r\n\r\n protected getSearchData(): EstadisticasContenidoGraphSearch {\r\n var searchData = {\r\n busquedaGlobal: this.props.tipo == TipoGrafico.Global || this.props.tipo == TipoGrafico.Profesor,\r\n usuarioId: this.state.usuarioId,\r\n profesorId: this.state.profesorId,\r\n fechaDesde: this.state.fechaDesde,\r\n fechaHasta: this.state.fechaHasta,\r\n claseMateriaId: this.state.claseMateriaId,\r\n licenciaContenidoIds: this.state.licenciaContenidosIds,\r\n tipo: TipoEstadistica.AccesoContenido,\r\n tipoUsuario: this.state.tipoUsuario,\r\n claseId: this.state.claseId,\r\n contenidosId: this.state.contenidosId,\r\n tipoGrafico: this.props.tipo\r\n } as EstadisticasContenidoGraphSearch;\r\n\r\n return searchData;\r\n }\r\n\r\n protected _loadGraphData(): void {\r\n var service = new AccesosContenidoService();\r\n\r\n var searchData = this.getSearchData();\r\n service.accesosContenidosGraphSearch(searchData)\r\n .then(ret => {\r\n this.ProcessGraphData(ret);\r\n });\r\n }\r\n\r\n protected ProcessGraphData(ret: EstadisticasContenidoGraphSearchResult): void {\r\n var contenidos = ret.contenidos;\r\n\r\n var graphItems = [];\r\n for (const [key, value] of Object.entries(ret.items)) {\r\n var item = {\r\n dia: key\r\n };\r\n if (value != null && contenidos != null) {\r\n value.forEach(listItem => {\r\n var contenido = contenidos[listItem.contenidoId];\r\n item[contenido] = listItem.numAccesos\r\n });\r\n }\r\n else {\r\n item['Accesos'] = 0;\r\n }\r\n\r\n graphItems.push(item);\r\n }\r\n var graphBars = [] as StackedGraphBar[];\r\n if (contenidos != null) {\r\n var cont = 0;\r\n for (const [key, value] of Object.entries(contenidos)) {\r\n graphBars.push({\r\n name: value,\r\n rgbColor: this.rgbColors[cont]\r\n } as StackedGraphBar);\r\n cont++;\r\n };\r\n }\r\n this.setState({ loading: false, model: ret, graphItems: graphItems, graphBars: graphBars, fechaUltimoAcceso: ret.fechaUltimoAcceso });\r\n }\r\n\r\n protected _errorMessage(fieldName: string): JSX.Element {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n protected _cloneStateForSetState(): AccesosState {\r\n return cloneDeep(this.state) as AccesosState;\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if (this.state.fechaDesde == null) {\r\n validation.addError(nameof(this.state.fechaDesde), I18n.Strings.validationErrors.valueRequired(I18n.Strings.estadisticas.fechaDesde));\r\n }\r\n\r\n if (this.state.fechaHasta == null) {\r\n validation.addError(nameof(this.state.fechaHasta), I18n.Strings.validationErrors.valueRequired(I18n.Strings.estadisticas.fechaHasta));\r\n }\r\n\r\n if (this.state.fechaDesde != null && this.state.fechaHasta != null && this.state.fechaDesde > this.state.fechaHasta) {\r\n validation.addError(nameof(this.state.fechaHasta), I18n.Strings.validationErrors.dateGreaterThan(I18n.Strings.estadisticas.fechaDesde, I18n.Strings.estadisticas.fechaHasta));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected _validateState(): Promise {\r\n\r\n var validationProm = Promise.resolve(this._validateModelLocal())\r\n .then(localValidationResult => {\r\n return localValidationResult;\r\n });\r\n\r\n return validationProm;\r\n }\r\n\r\n protected _validateAndSubmit(): void {\r\n this._validateState()\r\n .then(validationResultTemp => {\r\n\r\n if (validationResultTemp == null) {\r\n alert(\"error validation\");\r\n return false;\r\n }\r\n var validationResult = new ModelValidation();\r\n validationResult.load(validationResultTemp);\r\n\r\n if (validationResult.isOk) {\r\n console.info(\"La validación es correcta\");\r\n this.setState({ loading: true });\r\n this._loadGraphData();\r\n }\r\n else {\r\n console.log(\"Validación no correcta\");\r\n console.warn(validationResult);\r\n this.setState({ validationResult: validationResult });\r\n }\r\n });\r\n }\r\n\r\n\r\n protected _renderTitulo(): JSX.Element {\r\n\r\n if (this.props.tipo == TipoGrafico.Global) {\r\n return;\r\n }\r\n\r\n if (this.props.tipo == TipoGrafico.Usuario) {\r\n return;\r\n }\r\n }\r\n\r\n protected _renderBotones(): JSX.Element {\r\n return \r\n {this.props.tipo != TipoGrafico.Licencia &&
}\r\n {\r\n this._validateAndSubmit();\r\n }} >\r\n \r\n {I18n.Strings.estadisticas.grafico}\r\n \r\n {\r\n this._exportExcel();\r\n }} >\r\n \r\n {I18n.Strings.export}\r\n \r\n
\r\n }\r\n\r\n protected _renderCamposBusqueda(): JSX.Element {\r\n\r\n if (this.state.model == null) {\r\n return;\r\n }\r\n\r\n if (this.props.tipo == TipoGrafico.Global) {\r\n return this._camposBusquedaEstadisticasGlobal();\r\n }\r\n\r\n if (this.props.tipo == TipoGrafico.Profesor) {\r\n return this._camposBusquedaEstadisticasProfesor();\r\n }\r\n\r\n if (this.props.tipo == TipoGrafico.Usuario) {\r\n return this._camposBusquedaEstadisticasUsuario();\r\n }\r\n\r\n if (this.props.tipo == TipoGrafico.Licencia) {\r\n return this._camposBusquedaEstadisticasLicencia();\r\n }\r\n }\r\n\r\n private _camposBusquedaEstadisticasGlobal(): JSX.Element {\r\n var modelo = this.state.model;\r\n\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.tipoUsuario = value as TipoUsuario;\r\n }\r\n else {\r\n newState.tipoUsuario = null;\r\n }\r\n this.setState(newState, () => this._validateAndSubmit());\r\n }}\r\n />\r\n \r\n \r\n\r\n item.id}\r\n getNameFromItem={(item) => item.nombre}\r\n getName2FromItem={(item) => item.apellidos}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.usuarioId))}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.usuarioId = usuarioId;\r\n state.usuario = usuario;\r\n this.setState(state, () => this._validateAndSubmit());\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n 0 ? this.state.claseId[0] : null}\r\n text={this.state.clase}\r\n seleccionClases={true}\r\n onChange={(id, nombre) => {\r\n var clases = [];\r\n if (nombre != null) {\r\n clases.push(id);\r\n }\r\n\r\n var state = this._cloneStateForSetState();\r\n state.claseId = clases;\r\n state.clase = nombre;\r\n\r\n this.setState(state, () => this._validateAndSubmit());\r\n }}\r\n />\r\n \r\n \r\n \r\n 0 ? this.state.contenidosId[0] : null}\r\n itemName={this.state.contenido}\r\n getIdFromItem={(item) => item.id}\r\n showCheckboxes={true}\r\n mostrarNiveles={true}\r\n mostrarSoloColegio={true}\r\n key={\"contPicker\"}\r\n nivelEducativoId={null}\r\n getNameFromItem={(item) => {\r\n var enumName = I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n return `${enumName} - ${item.nombre}`;\r\n }}\r\n cursoEscolarId={ClientContext.Current.cursoEscolarActivoId}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.contenidosId))}\r\n checkedElements={this.state.contenidosId}\r\n onSelected={(contenidoId, contenido, item, checkedElements) => {\r\n var state = this._cloneStateForSetState();\r\n state.contenidosId = checkedElements;\r\n if (checkedElements.length == 0) {\r\n state.contenido = this.props.emptyText ?? \"0 contenidos seleccionados\"\r\n }\r\n else {\r\n state.contenido = `${checkedElements.length} contenidos seleccionados`;\r\n }\r\n\r\n this.setState(state, () => {\r\n this._validateAndSubmit();\r\n });\r\n }}\r\n />\r\n \r\n \r\n {this._renderBotones()}\r\n \r\n \r\n ;\r\n }\r\n\r\n private _camposBusquedaEstadisticasProfesor(): JSX.Element {\r\n var modelo = this.state.model;\r\n\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 ? this.state.claseId[0] : 0}\r\n selectedItemText={this.state.clase}\r\n profesorId={this.props.profesorId}\r\n onChanged={(claseId, clase, item) => {\r\n var clases = [];\r\n var state = this._cloneStateForSetState();\r\n\r\n if (clase != null) {\r\n clases.push(claseId);\r\n }\r\n\r\n state.claseMateriaId = null;\r\n state.claseMateria = null;\r\n\r\n state.claseId = clases;\r\n state.clase = clase;\r\n\r\n this.setState(state, () => this._validateAndSubmit());\r\n }}\r\n />\r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.claseMateriaId = claseMateriaId;\r\n state.claseMateria = claseMateria;\r\n\r\n state.usuario = null;\r\n state.usuarioId = null;\r\n\r\n this.setState(state, () => this._validateAndSubmit());\r\n }}\r\n />\r\n \r\n \r\n item.id}\r\n getNameFromItem={(item) => item.nombre}\r\n getName2FromItem={(item) => item.apellidos}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.usuarioId))}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.usuarioId = usuarioId;\r\n state.usuario = usuario;\r\n this.setState(state, () => this._validateAndSubmit());\r\n }}\r\n />\r\n \r\n \r\n 0 ? this.state.contenidosId[0] : null}\r\n itemName={this.state.contenido}\r\n getIdFromItem={(item) => item.id}\r\n showCheckboxes={true}\r\n mostrarNiveles={true}\r\n mostrarSoloColegio={true}\r\n key={\"contPicker\"}\r\n nivelEducativoId={null}\r\n getNameFromItem={(item) => {\r\n var enumName = I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n return `${enumName} - ${item.nombre}`;\r\n }}\r\n cursoEscolarId={ClientContext.Current.cursoEscolarActivoId}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.contenidosId))}\r\n checkedElements={this.state.contenidosId}\r\n onSelected={(contenidoId, contenido, item, checkedElements) => {\r\n var state = this._cloneStateForSetState();\r\n state.contenidosId = checkedElements;\r\n if (checkedElements.length == 0) {\r\n state.contenido = this.props.emptyText ?? \"0 contenidos seleccionados\"\r\n }\r\n else {\r\n state.contenido = `${checkedElements.length} contenidos seleccionados`;\r\n }\r\n\r\n this.setState(state, () => {\r\n this._validateAndSubmit();\r\n });\r\n }}\r\n />\r\n \r\n \r\n {this._renderBotones()}\r\n \r\n \r\n ;\r\n }\r\n\r\n protected _camposBusquedaEstadisticasUsuario(): JSX.Element {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ fechaDesde: val })\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.fechaDesde))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ fechaHasta: val })\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.fechaHasta))}\r\n \r\n \r\n \r\n 0 ? this.state.contenidosId[0] : null}\r\n itemName={this.state.contenido}\r\n getIdFromItem={(item) => item.id}\r\n showCheckboxes={true}\r\n mostrarNiveles={true}\r\n mostrarSoloColegio={true}\r\n key={\"contPicker\"}\r\n nivelEducativoId={null}\r\n getNameFromItem={(item) => {\r\n var enumName = I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n return `${enumName} - ${item.nombre}`;\r\n }}\r\n cursoEscolarId={ClientContext.Current.cursoEscolarActivoId}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.contenidosId))}\r\n checkedElements={this.state.contenidosId}\r\n onSelected={(contenidoId, contenido, item, checkedElements) => {\r\n var state = this._cloneStateForSetState();\r\n state.contenidosId = checkedElements;\r\n if (checkedElements.length == 0) {\r\n state.contenido = this.props.emptyText ?? \"0 contenidos seleccionados\"\r\n }\r\n else {\r\n state.contenido = `${checkedElements.length} contenidos seleccionados`;\r\n }\r\n //state.licenciaContenidosIds = this.state.licencias.filter(function (el) {\r\n // return (checkedElements.find(x => x === el.contenidoId) != null)\r\n //}).map(a => a.id);\r\n this.setState(state, () => {\r\n this._validateAndSubmit();\r\n });\r\n }}\r\n />\r\n \r\n \r\n {this._renderBotones()}\r\n \r\n \r\n ;\r\n }\r\n\r\n protected _camposBusquedaEstadisticasLicencia(): JSX.Element {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ fechaDesde: val })\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.fechaDesde))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ fechaHasta: val })\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.fechaHasta))}\r\n \r\n \r\n \r\n {this._renderBotones()}\r\n \r\n \r\n ;\r\n }\r\n\r\n protected _renderGrafica(): JSX.Element {\r\n if (this.state.model == null) {\r\n return;\r\n }\r\n\r\n return \r\n \r\n \r\n \r\n \r\n }\r\n\r\n render() {\r\n return
\r\n {this.state.loading && }\r\n\r\n {this._renderTitulo()}\r\n\r\n {this._renderCamposBusqueda()}\r\n\r\n {this._renderGrafica()}\r\n
\r\n }\r\n};","import { link } from \"node:fs/promises\";\r\nimport * as React from \"react\";\r\nimport { withRouter } from \"react-router\";\r\nimport { Breadcrumb, BreadcrumbItem } from \"reactstrap\";\r\nimport { ComponentBase } from \"./ComponentBase\";\r\n\r\n\r\ninterface BreadCrumbState {\r\n linkItems: LinkItem[],\r\n};\r\n\r\nclass BreadCrumbComp extends ComponentBase {\r\n\r\n \r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n linkItems: []\r\n };\r\n\r\n NavigationHelper.SetAddItemHandler((items: LinkItem[]) => this.breadCrumbSetItems(items));\r\n NavigationHelper.SetClearItemsHandler(() => this.breadCrumClearItems());\r\n }\r\n\r\n breadCrumbSetItems(items: LinkItem[]) {\r\n var state = this._cloneStateForSetState();\r\n state.linkItems = [];\r\n items.forEach((item, index) => {\r\n state.linkItems.push(item);\r\n })\r\n this.setState(state);\r\n }\r\n\r\n breadCrumClearItems() {\r\n this.setState({\r\n linkItems:[]\r\n });\r\n }\r\n\r\n\r\n\r\n public render(): JSX.Element {\r\n\r\n if (this.state.linkItems.length == 0) return ;\r\n\r\n return \r\n this.props.history.push(\"/\")}\r\n tag=\"a\"\r\n >\r\n Home\r\n \r\n {this.state.linkItems.map((item, index) => {\r\n\r\n var isLastItem = index == this.state.linkItems.length - 1;\r\n\r\n return {\r\n if (isLastItem) return null;\r\n\r\n if ((item.link || []).length !== 0) {\r\n this.props.history.push(item.link)\r\n }\r\n }}\r\n tag={isLastItem ? \"span\": \"a\"}\r\n >\r\n {item.text}\r\n \r\n })}\r\n ;\r\n\r\n }\r\n\r\n\r\n}\r\n\r\nexport const SHubBreadcrumb = withRouter(BreadCrumbComp)\r\n\r\n/**\r\n* Cada uno de los items extras a añadir tras el \"breadcrumb\" estándar\r\n*/\r\nexport class LinkItem {\r\n public text: string;\r\n public link: string;\r\n}\r\n\r\nexport class NavigationHelper {\r\n\r\n constructor() {\r\n this._items = [];\r\n }\r\n\r\n private _items: LinkItem[];\r\n\r\n private static SetItems: (links: LinkItem[]) => void;\r\n\r\n private static ClearItems: () => void;\r\n\r\n\r\n public static SetAddItemHandler(fnAddItem: (links: LinkItem[]) => void) {\r\n this.SetItems = fnAddItem;\r\n }\r\n\r\n\r\n public static setBreadcrumbItems(links: LinkItem[]) {\r\n if (this.SetItems != null) {\r\n this.SetItems(links);\r\n }\r\n }\r\n\r\n\r\n public static SetClearItemsHandler(fnClearItems: () => void) {\r\n this.ClearItems = fnClearItems;\r\n }\r\n\r\n\r\n public static clearItems() {\r\n if (this.ClearItems != null) {\r\n this.ClearItems();\r\n }\r\n }\r\n\r\n}","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { TipoGrafico } from \"../../models/dataModels\";\r\nimport { Col, FormGroup, Input, Label, Row, Button, FormFeedback, TabContent, TabPane, Nav, NavItem, NavLink } from \"reactstrap\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { cloneDeep } from \"lodash-es\";\r\nimport { AccesosSistema } from \"../AccesosSistema\";\r\nimport { AccesosContenido } from \"../AccesosContenido\";\r\nimport { RouteComponentProps, withRouter } from \"react-router-dom\";\r\nimport { NavigationHelper } from \"../../utils/base/Breadcrumb\";\r\n\r\nexport enum AccesosTabs {\r\n Accesos = \"Accesos\",\r\n Contenidos = \"Contenidos\"\r\n}\r\n\r\ninterface AccesosState {\r\n activeTab?: AccesosTabs;\r\n}\r\n\r\nexport class AccesosComp extends React.Component, AccesosState> {\r\n\r\n public constructor(props: RouteComponentProps) {\r\n super(props);\r\n\r\n this.state = {\r\n activeTab: props.match.params.tab || AccesosTabs.Accesos\r\n };\r\n }\r\n\r\n protected _cloneStateForSetState(): AccesosState {\r\n return cloneDeep(this.state) as AccesosState;\r\n }\r\n\r\n render() {\r\n this.updateBreadCrumb();\r\n\r\n var a = this.state.activeTab;\r\n return \r\n
\r\n

\r\n \r\n {I18n.Strings.estadisticas.cuadroMando}\r\n \r\n

\r\n
\r\n\r\n \r\n \r\n\r\n \r\n {this.state.activeTab == AccesosTabs.Accesos &&\r\n \r\n }\r\n \r\n \r\n {this.state.activeTab == AccesosTabs.Contenidos &&\r\n \r\n }\r\n \r\n \r\n
;\r\n }\r\n\r\n protected updateBreadCrumb() {\r\n var items = [{\r\n text: I18n.Strings.estadisticas.titulo,\r\n link: RouteHelper.listEstadisticasAdmin()\r\n }];\r\n\r\n switch (this.state.activeTab) {\r\n case AccesosTabs.Accesos: {\r\n items.push({ text: I18n.Strings.colegioUsuarios.tabEstadisticasAccesos, link: RouteHelper.listEstadisticasProfesor(AccesosTabs.Accesos) });\r\n break;\r\n }\r\n case AccesosTabs.Contenidos: {\r\n items.push({ text: I18n.Strings.colegioUsuarios.tabEstadisticasContenidos, link: RouteHelper.listEstadisticasProfesor(AccesosTabs.Contenidos) });\r\n break;\r\n }\r\n }\r\n\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n};\r\n\r\nexport const Accesos = withRouter(AccesosComp)","import accepts from 'attr-accept';\n\nexport var supportMultiple = typeof document !== 'undefined' && document && document.createElement ? 'multiple' in document.createElement('input') : true;\n\nexport function getDataTransferItems(event) {\n var dataTransferItemsList = [];\n if (event.dataTransfer) {\n var dt = event.dataTransfer;\n\n if (dt.files && dt.files.length) {\n dataTransferItemsList = dt.files;\n } else if (dt.items && dt.items.length) {\n // During the drag even the dataTransfer.files is null\n // but Chrome implements some drag store, which is accesible via dataTransfer.items\n dataTransferItemsList = dt.items;\n }\n } else if (event.target && event.target.files) {\n dataTransferItemsList = event.target.files;\n }\n\n // Convert from DataTransferItemsList to the native Array\n return Array.prototype.slice.call(dataTransferItemsList);\n}\n\n// Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with\n// that MIME type will always be accepted\nexport function fileAccepted(file, accept) {\n return file.type === 'application/x-moz-file' || accepts(file, accept);\n}\n\nexport function fileMatchSize(file, maxSize, minSize) {\n return file.size <= maxSize && file.size >= minSize;\n}\n\nexport function allFilesAccepted(files, accept) {\n return files.every(function (file) {\n return fileAccepted(file, accept);\n });\n}\n\n// allow the entire document to be a drag target\nexport function onDocumentDragOver(evt) {\n evt.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return userAgent.indexOf('MSIE') !== -1 || userAgent.indexOf('Trident/') !== -1;\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf('Edge/') !== -1;\n}\n\nexport function isIeOrEdge() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n\n return isIe(userAgent) || isEdge(userAgent);\n}","export default {\n rejected: {\n borderStyle: 'solid',\n borderColor: '#c66',\n backgroundColor: '#eee'\n },\n disabled: {\n opacity: 0.5\n },\n active: {\n borderStyle: 'solid',\n borderColor: '#6c6',\n backgroundColor: '#eee'\n },\n default: {\n width: 200,\n height: 200,\n borderWidth: 2,\n borderColor: '#666',\n borderStyle: 'dashed',\n borderRadius: 5\n }\n};","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* global process */\n/* eslint prefer-template: 0 */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { supportMultiple, fileAccepted, allFilesAccepted, fileMatchSize, onDocumentDragOver, getDataTransferItems as defaultGetDataTransferItem, isIeOrEdge } from './utils';\nimport styles from './utils/styles';\n\nvar Dropzone = function (_React$Component) {\n _inherits(Dropzone, _React$Component);\n\n function Dropzone(props, context) {\n _classCallCheck(this, Dropzone);\n\n var _this = _possibleConstructorReturn(this, (Dropzone.__proto__ || Object.getPrototypeOf(Dropzone)).call(this, props, context));\n\n _this.renderChildren = function (children, isDragActive, isDragAccept, isDragReject) {\n if (typeof children === 'function') {\n return children(_extends({}, _this.state, {\n isDragActive: isDragActive,\n isDragAccept: isDragAccept,\n isDragReject: isDragReject\n }));\n }\n return children;\n };\n\n _this.composeHandlers = _this.composeHandlers.bind(_this);\n _this.onClick = _this.onClick.bind(_this);\n _this.onDocumentDrop = _this.onDocumentDrop.bind(_this);\n _this.onDragEnter = _this.onDragEnter.bind(_this);\n _this.onDragLeave = _this.onDragLeave.bind(_this);\n _this.onDragOver = _this.onDragOver.bind(_this);\n _this.onDragStart = _this.onDragStart.bind(_this);\n _this.onDrop = _this.onDrop.bind(_this);\n _this.onFileDialogCancel = _this.onFileDialogCancel.bind(_this);\n _this.onInputElementClick = _this.onInputElementClick.bind(_this);\n\n _this.setRef = _this.setRef.bind(_this);\n _this.setRefs = _this.setRefs.bind(_this);\n\n _this.isFileDialogActive = false;\n\n _this.state = {\n draggedFiles: [],\n acceptedFiles: [],\n rejectedFiles: []\n };\n return _this;\n }\n\n _createClass(Dropzone, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var preventDropOnDocument = this.props.preventDropOnDocument;\n\n this.dragTargets = [];\n\n if (preventDropOnDocument) {\n document.addEventListener('dragover', onDocumentDragOver, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n }\n if (this.fileInputEl != null) {\n this.fileInputEl.addEventListener('click', this.onInputElementClick, false);\n }\n window.addEventListener('focus', this.onFileDialogCancel, false);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n var preventDropOnDocument = this.props.preventDropOnDocument;\n\n if (preventDropOnDocument) {\n document.removeEventListener('dragover', onDocumentDragOver);\n document.removeEventListener('drop', this.onDocumentDrop);\n }\n if (this.fileInputEl != null) {\n this.fileInputEl.removeEventListener('click', this.onInputElementClick, false);\n }\n window.removeEventListener('focus', this.onFileDialogCancel, false);\n }\n }, {\n key: 'composeHandlers',\n value: function composeHandlers(handler) {\n if (this.props.disabled) {\n return null;\n }\n\n return handler;\n }\n }, {\n key: 'onDocumentDrop',\n value: function onDocumentDrop(evt) {\n if (this.node && this.node.contains(evt.target)) {\n // if we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n evt.preventDefault();\n this.dragTargets = [];\n }\n }, {\n key: 'onDragStart',\n value: function onDragStart(evt) {\n if (this.props.onDragStart) {\n this.props.onDragStart.call(this, evt);\n }\n }\n }, {\n key: 'onDragEnter',\n value: function onDragEnter(evt) {\n var _this2 = this;\n\n evt.preventDefault();\n\n // Count the dropzone and any children that are entered.\n if (this.dragTargets.indexOf(evt.target) === -1) {\n this.dragTargets.push(evt.target);\n }\n\n evt.persist();\n\n Promise.resolve(this.props.getDataTransferItems(evt)).then(function (draggedFiles) {\n _this2.setState({\n isDragActive: true, // Do not rely on files for the drag state. It doesn't work in Safari.\n draggedFiles: draggedFiles\n });\n });\n if (this.props.onDragEnter) {\n this.props.onDragEnter.call(this, evt);\n }\n }\n }, {\n key: 'onDragOver',\n value: function onDragOver(evt) {\n // eslint-disable-line class-methods-use-this\n evt.preventDefault();\n evt.stopPropagation();\n try {\n // The file dialog on Chrome allows users to drag files from the dialog onto\n // the dropzone, causing the browser the crash when the file dialog is closed.\n // A drop effect of 'none' prevents the file from being dropped\n evt.dataTransfer.dropEffect = this.isFileDialogActive ? 'none' : 'copy'; // eslint-disable-line no-param-reassign\n } catch (err) {\n // continue regardless of error\n }\n\n if (this.props.onDragOver) {\n this.props.onDragOver.call(this, evt);\n }\n return false;\n }\n }, {\n key: 'onDragLeave',\n value: function onDragLeave(evt) {\n var _this3 = this;\n\n evt.preventDefault();\n\n // Only deactivate once the dropzone and all children have been left.\n this.dragTargets = this.dragTargets.filter(function (el) {\n return el !== evt.target && _this3.node.contains(el);\n });\n if (this.dragTargets.length > 0) {\n return;\n }\n\n // Clear dragging files state\n this.setState({\n isDragActive: false,\n draggedFiles: []\n });\n\n if (this.props.onDragLeave) {\n this.props.onDragLeave.call(this, evt);\n }\n }\n }, {\n key: 'onDrop',\n value: function onDrop(evt) {\n var _this4 = this;\n\n var _props = this.props,\n onDrop = _props.onDrop,\n onDropAccepted = _props.onDropAccepted,\n onDropRejected = _props.onDropRejected,\n multiple = _props.multiple,\n disablePreview = _props.disablePreview,\n accept = _props.accept,\n getDataTransferItems = _props.getDataTransferItems;\n\n // Stop default browser behavior\n\n evt.preventDefault();\n\n // Persist event for later usage\n evt.persist();\n\n // Reset the counter along with the drag on a drop.\n this.dragTargets = [];\n this.isFileDialogActive = false;\n\n // Clear files value\n this.draggedFiles = null;\n\n // Reset drag state\n this.setState({\n isDragActive: false,\n draggedFiles: []\n });\n\n Promise.resolve(getDataTransferItems(evt)).then(function (fileList) {\n var acceptedFiles = [];\n var rejectedFiles = [];\n\n fileList.forEach(function (file) {\n if (!disablePreview) {\n try {\n file.preview = window.URL.createObjectURL(file); // eslint-disable-line no-param-reassign\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Failed to generate preview for file', file, err); // eslint-disable-line no-console\n }\n }\n }\n\n if (fileAccepted(file, accept) && fileMatchSize(file, _this4.props.maxSize, _this4.props.minSize)) {\n acceptedFiles.push(file);\n } else {\n rejectedFiles.push(file);\n }\n });\n\n if (!multiple && acceptedFiles.length > 1) {\n // if not in multi mode add any extra accepted files to rejected.\n // This will allow end users to easily ignore a multi file drop in \"single\" mode.\n rejectedFiles.push.apply(rejectedFiles, _toConsumableArray(acceptedFiles.splice(0)));\n }\n\n if (onDrop) {\n onDrop.call(_this4, acceptedFiles, rejectedFiles, evt);\n }\n\n if (rejectedFiles.length > 0 && onDropRejected) {\n onDropRejected.call(_this4, rejectedFiles, evt);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted.call(_this4, acceptedFiles, evt);\n }\n\n // Update `acceptedFiles` and `rejectedFiles` state\n // This will make children render functions receive the appropriate\n // values\n _this4.setState({ acceptedFiles: acceptedFiles, rejectedFiles: rejectedFiles });\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(evt) {\n var _props2 = this.props,\n onClick = _props2.onClick,\n disableClick = _props2.disableClick;\n\n if (!disableClick) {\n evt.stopPropagation();\n\n if (onClick) {\n onClick.call(this, evt);\n }\n\n // in IE11/Edge the file-browser dialog is blocking, ensure this is behind setTimeout\n // this is so react can handle state changes in the onClick prop above above\n // see: https://github.com/react-dropzone/react-dropzone/issues/450\n if (isIeOrEdge()) {\n setTimeout(this.open.bind(this), 0);\n } else {\n this.open();\n }\n }\n }\n }, {\n key: 'onInputElementClick',\n value: function onInputElementClick(evt) {\n evt.stopPropagation();\n if (this.props.inputProps && this.props.inputProps.onClick) {\n this.props.inputProps.onClick();\n }\n }\n }, {\n key: 'onFileDialogCancel',\n value: function onFileDialogCancel() {\n var _this5 = this;\n\n // timeout will not recognize context of this method\n var onFileDialogCancel = this.props.onFileDialogCancel;\n // execute the timeout only if the FileDialog is opened in the browser\n\n if (this.isFileDialogActive) {\n setTimeout(function () {\n if (_this5.fileInputEl != null) {\n // Returns an object as FileList\n var files = _this5.fileInputEl.files;\n\n\n if (!files.length) {\n _this5.isFileDialogActive = false;\n }\n }\n\n if (typeof onFileDialogCancel === 'function') {\n onFileDialogCancel();\n }\n }, 300);\n }\n }\n }, {\n key: 'setRef',\n value: function setRef(ref) {\n this.node = ref;\n }\n }, {\n key: 'setRefs',\n value: function setRefs(ref) {\n this.fileInputEl = ref;\n }\n /**\n * Open system file upload dialog.\n *\n * @public\n */\n\n }, {\n key: 'open',\n value: function open() {\n this.isFileDialogActive = true;\n this.fileInputEl.value = null;\n this.fileInputEl.click();\n }\n }, {\n key: 'render',\n value: function render() {\n var _props3 = this.props,\n accept = _props3.accept,\n acceptClassName = _props3.acceptClassName,\n activeClassName = _props3.activeClassName,\n children = _props3.children,\n disabled = _props3.disabled,\n disabledClassName = _props3.disabledClassName,\n inputProps = _props3.inputProps,\n multiple = _props3.multiple,\n name = _props3.name,\n rejectClassName = _props3.rejectClassName,\n rest = _objectWithoutProperties(_props3, ['accept', 'acceptClassName', 'activeClassName', 'children', 'disabled', 'disabledClassName', 'inputProps', 'multiple', 'name', 'rejectClassName']);\n\n var acceptStyle = rest.acceptStyle,\n activeStyle = rest.activeStyle,\n _rest$className = rest.className,\n className = _rest$className === undefined ? '' : _rest$className,\n disabledStyle = rest.disabledStyle,\n rejectStyle = rest.rejectStyle,\n style = rest.style,\n props = _objectWithoutProperties(rest, ['acceptStyle', 'activeStyle', 'className', 'disabledStyle', 'rejectStyle', 'style']);\n\n var _state = this.state,\n isDragActive = _state.isDragActive,\n draggedFiles = _state.draggedFiles;\n\n var filesCount = draggedFiles.length;\n var isMultipleAllowed = multiple || filesCount <= 1;\n var isDragAccept = filesCount > 0 && allFilesAccepted(draggedFiles, this.props.accept);\n var isDragReject = filesCount > 0 && (!isDragAccept || !isMultipleAllowed);\n var noStyles = !className && !style && !activeStyle && !acceptStyle && !rejectStyle && !disabledStyle;\n\n if (isDragActive && activeClassName) {\n className += ' ' + activeClassName;\n }\n if (isDragAccept && acceptClassName) {\n className += ' ' + acceptClassName;\n }\n if (isDragReject && rejectClassName) {\n className += ' ' + rejectClassName;\n }\n if (disabled && disabledClassName) {\n className += ' ' + disabledClassName;\n }\n\n if (noStyles) {\n style = styles.default;\n activeStyle = styles.active;\n acceptStyle = styles.active;\n rejectStyle = styles.rejected;\n disabledStyle = styles.disabled;\n }\n\n var appliedStyle = _extends({ position: 'relative' }, style);\n if (activeStyle && isDragActive) {\n appliedStyle = _extends({}, appliedStyle, activeStyle);\n }\n if (acceptStyle && isDragAccept) {\n appliedStyle = _extends({}, appliedStyle, acceptStyle);\n }\n if (rejectStyle && isDragReject) {\n appliedStyle = _extends({}, appliedStyle, rejectStyle);\n }\n if (disabledStyle && disabled) {\n appliedStyle = _extends({}, appliedStyle, disabledStyle);\n }\n\n var inputAttributes = {\n accept: accept,\n disabled: disabled,\n type: 'file',\n style: _extends({\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n opacity: 0.00001,\n pointerEvents: 'none'\n }, inputProps.style),\n multiple: supportMultiple && multiple,\n ref: this.setRefs,\n onChange: this.onDrop,\n autoComplete: 'off'\n };\n\n if (name && name.length) {\n inputAttributes.name = name;\n }\n\n // Destructure custom props away from props used for the div element\n /* eslint-disable no-unused-vars */\n\n var acceptedFiles = props.acceptedFiles,\n preventDropOnDocument = props.preventDropOnDocument,\n disablePreview = props.disablePreview,\n disableClick = props.disableClick,\n onDropAccepted = props.onDropAccepted,\n onDropRejected = props.onDropRejected,\n onFileDialogCancel = props.onFileDialogCancel,\n maxSize = props.maxSize,\n minSize = props.minSize,\n getDataTransferItems = props.getDataTransferItems,\n divProps = _objectWithoutProperties(props, ['acceptedFiles', 'preventDropOnDocument', 'disablePreview', 'disableClick', 'onDropAccepted', 'onDropRejected', 'onFileDialogCancel', 'maxSize', 'minSize', 'getDataTransferItems']);\n /* eslint-enable no-unused-vars */\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n /* eslint-disable jsx-a11y/click-events-have-key-events */\n\n\n return React.createElement(\n 'div',\n _extends({\n className: className,\n style: appliedStyle\n }, divProps /* expand user provided props first so event handlers are never overridden */\n , {\n onClick: this.composeHandlers(this.onClick),\n onDragStart: this.composeHandlers(this.onDragStart),\n onDragEnter: this.composeHandlers(this.onDragEnter),\n onDragOver: this.composeHandlers(this.onDragOver),\n onDragLeave: this.composeHandlers(this.onDragLeave),\n onDrop: this.composeHandlers(this.onDrop),\n ref: this.setRef,\n 'aria-disabled': disabled\n }),\n this.renderChildren(children, isDragActive, isDragAccept, isDragReject),\n React.createElement('input', _extends({}, inputProps /* expand user provided inputProps first so inputAttributes override them */\n , inputAttributes))\n );\n }\n }]);\n\n return Dropzone;\n}(React.Component);\n\nexport default Dropzone;\n\nDropzone.propTypes = {\n /**\n * Allow specific types of files. See https://github.com/okonet/attr-accept for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all.\n * See: https://github.com/react-dropzone/react-dropzone/issues/276\n */\n accept: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n\n /**\n * Contents of the dropzone\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Disallow clicking on the dropzone container to open file dialog\n */\n disableClick: PropTypes.bool,\n\n /**\n * Enable/disable the dropzone entirely\n */\n disabled: PropTypes.bool,\n\n /**\n * Enable/disable preview generation\n */\n disablePreview: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * Pass additional attributes to the `` tag\n */\n inputProps: PropTypes.object,\n\n /**\n * Allow dropping multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * `name` attribute for the input tag\n */\n name: PropTypes.string,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * className\n */\n className: PropTypes.string,\n\n /**\n * className to apply when drag is active\n */\n activeClassName: PropTypes.string,\n\n /**\n * className to apply when drop will be accepted\n */\n acceptClassName: PropTypes.string,\n\n /**\n * className to apply when drop will be rejected\n */\n rejectClassName: PropTypes.string,\n\n /**\n * className to apply when dropzone is disabled\n */\n disabledClassName: PropTypes.string,\n\n /**\n * CSS styles to apply\n */\n style: PropTypes.object,\n\n /**\n * CSS styles to apply when drag is active\n */\n activeStyle: PropTypes.object,\n\n /**\n * CSS styles to apply when drop will be accepted\n */\n acceptStyle: PropTypes.object,\n\n /**\n * CSS styles to apply when drop will be rejected\n */\n rejectStyle: PropTypes.object,\n\n /**\n * CSS styles to apply when dropzone is disabled\n */\n disabledStyle: PropTypes.object,\n\n /**\n * getDataTransferItems handler\n * @param {Event} event\n * @returns {Array} array of File objects\n */\n getDataTransferItems: PropTypes.func,\n\n /**\n * onClick callback\n * @param {Event} event\n */\n onClick: PropTypes.func,\n\n /**\n * onDrop callback\n */\n onDrop: PropTypes.func,\n\n /**\n * onDropAccepted callback\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * onDropRejected callback\n */\n onDropRejected: PropTypes.func,\n\n /**\n * onDragStart callback\n */\n onDragStart: PropTypes.func,\n\n /**\n * onDragEnter callback\n */\n onDragEnter: PropTypes.func,\n\n /**\n * onDragOver callback\n */\n onDragOver: PropTypes.func,\n\n /**\n * onDragLeave callback\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Provide a callback on clicking the cancel button of the file dialog\n */\n onFileDialogCancel: PropTypes.func\n};\n\nDropzone.defaultProps = {\n preventDropOnDocument: true,\n disabled: false,\n disablePreview: false,\n disableClick: false,\n inputProps: {},\n multiple: true,\n maxSize: Infinity,\n minSize: 0,\n getDataTransferItems: defaultGetDataTransferItem\n};","import * as React from \"react\";\r\nimport * as Dropzone from \"react-dropzone\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport * as Models from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport * as Formatter from \"../utils/ValuesFormatter\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { ComponentBase } from \"../utils/base/ComponentBase\";\r\n\r\nclass DocumentUploadProps {\r\n public onBeforeUpload?: () => boolean;\r\n public onUpload?: (result: Models.DocumentUploadResult) => void;\r\n public uploadUrl: string;\r\n public formatosAceptados?: string;\r\n public tipoCarga?: Models.TipoCarga;\r\n public multiple?: boolean;\r\n public title?: string;\r\n public manualUpload?: boolean;\r\n public style?: React.CSSProperties;\r\n public zoneStyle?: React.CSSProperties;\r\n\r\n public onDrop?: (accepted: Dropzone.FileWithPreview[], rejected: Dropzone.FileWithPreview[]) => void;\r\n\r\n public filesToUpload?: Dropzone.FileWithPreview[];\r\n}\r\n\r\nclass DocumentUploadState {\r\n public bytesUploaded: number;\r\n public totalFileSize: number;\r\n public currentFile: string;\r\n public inProgress: boolean;\r\n public filesToUpload: Dropzone.FileWithPreview[];\r\n}\r\n\r\nexport class DocumentUpload extends ComponentBase\r\n{ \r\n constructor(props: DocumentUploadProps) {\r\n super(props);\r\n\r\n this.state = this._createNewState();\r\n }\r\n\r\n\r\n public componentWillReceiveProps(newProps: DocumentUploadProps) {\r\n var state = this._cloneStateForSetState();\r\n state.filesToUpload = newProps.filesToUpload;\r\n this.setState(state);\r\n }\r\n\r\n private _createNewState(): DocumentUploadState {\r\n\r\n var state = new DocumentUploadState();\r\n state.bytesUploaded = 0;\r\n state.totalFileSize = 0;\r\n state.currentFile = \"\";\r\n state.inProgress = false;\r\n state.filesToUpload = this.props.filesToUpload;\r\n\r\n return state;\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n
\r\n {\r\n\r\n if (accepted.some(p => p.size == 0)) {\r\n alert(I18n.Strings.documentUpload.dropFolderNotSupported);\r\n return;\r\n }\r\n\r\n if (accepted.length == 0) {\r\n alert(I18n.Strings.documentUpload.dropNotSupported);\r\n return;\r\n }\r\n\r\n if (this.props.onDrop) {\r\n this.props.onDrop(accepted, rejected);\r\n }\r\n else {\r\n this._defaultOnDrop(accepted, rejected);\r\n }\r\n }}\r\n >\r\n\r\n {!this.state.inProgress && (!this.state.filesToUpload || this.state.filesToUpload.length == 0) &&\r\n

{this.props.title || I18n.Strings.documentUpload.dropHere}

\r\n }\r\n\r\n {this.state.inProgress &&\r\n
\r\n

{this.state.currentFile}

\r\n

{(this.state.bytesUploaded / 1000).toLocaleString()} / {(this.state.totalFileSize / 1000).toLocaleString()}

\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {this.props.manualUpload && this.state.filesToUpload && this.state.filesToUpload.length > 0 &&\r\n
\r\n

\r\n {this.state.filesToUpload.map((item) => {\r\n return item.name + \" \";\r\n })}\r\n

\r\n
\r\n }\r\n\r\n \r\n
\r\n\r\n );\r\n }\r\n\r\n private _defaultOnDrop(accepted: Dropzone.FileWithPreview[], rejected: Dropzone.FileWithPreview[]) {\r\n\r\n var state = this._cloneStateForSetState();\r\n if (this.props.manualUpload && state.filesToUpload != null) {\r\n accepted.forEach(file => state.filesToUpload.push(file));\r\n }\r\n else {\r\n state.filesToUpload = accepted;\r\n }\r\n\r\n this.setState(state, () => {\r\n if (!this.props.manualUpload) {\r\n\r\n this._uploadFiles(this.state.filesToUpload)\r\n .then(_ => {\r\n var newState = this._createNewState();\r\n this.setState(newState);\r\n })\r\n .catch(reason => {\r\n alert(Formatter.logAndExtractInfoFromException(reason));\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n private _uploadFiles(filesToUpload: Dropzone.FileWithPreview[]): Promise {\r\n\r\n if (this.props.onBeforeUpload) {\r\n this.props.onBeforeUpload()\r\n }\r\n\r\n var promises = [] as Promise[];\r\n\r\n const promiseSerial = funcs =>\r\n funcs.reduce((promise, func) =>\r\n promise\r\n .then(result => func().then(Array.prototype.concat.bind(result))),\r\n Promise.resolve([]))\r\n\r\n const funcs = filesToUpload.map((file) => () => this._processFileQueue(file));\r\n\r\n\r\n return promiseSerial(funcs);\r\n }\r\n\r\n public uploadQueuedFiles(callback: (isOk: boolean) => void) {\r\n\r\n if (this.state.filesToUpload && this.state.filesToUpload.length > 0) {\r\n\r\n var promises = [] as Promise[];\r\n\r\n const promiseSerial = funcs =>\r\n funcs.reduce((promise, func) =>\r\n promise.then(result => func().then(Array.prototype.concat.bind(result))),\r\n Promise.resolve([]))\r\n\r\n const funcs = this.state.filesToUpload.map((file) => () => this._processFileQueue(file));\r\n\r\n promiseSerial(funcs)\r\n .then(_ => {\r\n if (callback) {\r\n callback(true);\r\n }\r\n })\r\n .catch(_ => {\r\n if (callback) {\r\n callback(false);\r\n }\r\n });\r\n\r\n }\r\n else {\r\n if (callback) {\r\n callback(true);\r\n }\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Procesa los ficheros secuencialmente\r\n * @param fileToProcess\r\n * @param accepted\r\n */\r\n private _processFileQueue(fileToUpload: Dropzone.FileWithPreview): Promise {\r\n\r\n var prom = this._uploadFile(fileToUpload)\r\n .then((uploadResult) => {\r\n if (uploadResult == null) {\r\n alert(\"Ha sucedido un error subiendo el fichero\");\r\n }\r\n\r\n const newState = this._cloneStateForSetState();\r\n newState.inProgress = false;\r\n newState.currentFile = null;\r\n newState.totalFileSize = 0;\r\n this.setState(newState, () => {\r\n if (this.props.onUpload && uploadResult != null) {\r\n this.props.onUpload(uploadResult);\r\n }\r\n });\r\n return uploadResult;\r\n })\r\n .catch(reason => {\r\n const newState = this._cloneStateForSetState();\r\n newState.inProgress = false;\r\n newState.currentFile = null;\r\n newState.totalFileSize = 0;\r\n this.setState(newState, () => {\r\n AlertsService.showError(reason);\r\n });\r\n\r\n return null;\r\n });\r\n return prom;\r\n }\r\n\r\n /**\r\n * Sube un fichero\r\n * @param file\r\n * @param chunkSize\r\n */\r\n private _uploadFile(file: Dropzone.FileWithPreview): Promise {\r\n\r\n var newState = this._cloneStateForSetState();\r\n newState.totalFileSize = 0;\r\n newState.currentFile = file.name;\r\n newState.totalFileSize = file.size;\r\n newState.bytesUploaded = 0;\r\n newState.inProgress = true;\r\n this.setState(newState);\r\n\r\n let dataToPost = new FormData();\r\n\r\n dataToPost.append(file.name, file);\r\n if (this.props.tipoCarga != null) {\r\n dataToPost.append(\"TipoCarga\", Models.TipoCarga[this.props.tipoCarga]);\r\n }\r\n\r\n var fetcher = new ApiFetcher();\r\n\r\n var promise = fetcher.post(this.props.uploadUrl, dataToPost)\r\n .catch((reason) => {\r\n var errDesc = Formatter.logAndExtractInfoFromException(reason);\r\n console.error(errDesc);\r\n alert(errDesc);\r\n\r\n var state = this._createNewState();\r\n this.setState(state);\r\n return null;\r\n });\r\n\r\n return promise;\r\n\r\n }\r\n\r\n\r\n\r\n}","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import baseIsEqual from './_baseIsEqual.js';\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nexport default isEqual;\n","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { AliasEditorialEditModel, Editorial } from \"../models/dataModels\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { AliasEditorialService } from \"./AliasEditorialesService\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { Col, FormGroup, Input, Label, Nav, NavItem, NavLink, Row, TabContent, TabPane } from \"reactstrap\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\n\r\n\r\nimport { EditorialDropDown } from \"../helpers/EnumDropDown\";\r\n\r\nimport { Location as HistoryLocation } from \"history\";\r\nimport { NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { AliasEditorialesContenidos } from \"./AliasEditorialesContenidos\";\r\n\r\nexport enum AliasEditorialEditTabs {\r\n Datos = \"Datos\",\r\n Usos = \"Usos\"\r\n}\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n\r\n protected updateBreadCrumb(model: AliasEditorialEditModel) {\r\n NavigationHelper.setBreadcrumbItems([\r\n {\r\n text: I18n.Strings.aliasEditorial.title,\r\n link: RouteHelper.listAliasEditoriales()\r\n },\r\n {\r\n text: model.alias,\r\n link: \"\"\r\n }\r\n ]);\r\n }\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nuevo\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: AliasEditorialEditModel): string {\r\n return `Editar ${editModel.alias}`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new AliasEditorialService();\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n\r\n if (this.state.editModel.id == 0) {\r\n return this._showForm();\r\n }\r\n\r\n return \r\n \r\n\r\n \r\n \r\n {this._showForm()}\r\n \r\n \r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n protected _showForm() : JSX.Element {\r\n return \r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.alias = evt.target.value;\r\n this.setState(newState);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.alias)}\r\n value={this.state.editModel.alias}\r\n id={\"alias\" + nameof(this.state.editModel.alias)}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.alias))}\r\n \r\n \r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.editorial = value;\r\n this.setState(newState);\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.editorial))}\r\n \r\n ;\r\n }\r\n\r\n protected _skipExitPrompt(location: HistoryLocation): boolean {\r\n if (location.pathname == RouteHelper.editAliasEditorial(this.state.editModel.id, AliasEditorialEditTabs.Datos)) {\r\n return true;\r\n }\r\n return super._skipExitPrompt(location);\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editAliasEditorial(id, AliasEditorialEditTabs.Datos);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listAliasEditoriales();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0,\r\n editorial: Editorial.None,\r\n alias: \"\",\r\n } as AliasEditorialEditModel;\r\n\r\n return Promise.resolve(model);\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.editModel.editorial || 0) == null) {\r\n validation.addError(nameof(this.state.editModel.editorial), I18n.Strings.validationErrors.valueRequired(I18n.Strings.aliasEditorial.editorial));\r\n }\r\n\r\n if ((this.state.editModel.alias || \"\").length === 0) {\r\n validation.addError(nameof(this.state.editModel.alias), I18n.Strings.validationErrors.valueRequired(I18n.Strings.aliasEditorial.alias));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n}\r\n\r\nexport const Edit = withRouter(EditComp)","import * as React from \"react\";\r\nimport { ModelValidationResult } from \"../../models/dataModels\";\r\nimport { ComponentBase } from \"./ComponentBase\";\r\nimport { GenericEditState } from \"./GenericEditState\";\r\nimport { IServiceForEdit } from \"./BaseServices\";\r\nimport { Button, Col, FormFeedback, Row } from \"reactstrap\";\r\nimport { I18n } from \"../I18n\";\r\nimport { Loading } from \"./../Loading\";\r\nimport { ModelValidation } from \"./ModelValidation\";\r\n\r\nimport { Prompt, RouteComponentProps } from \"react-router\";\r\nimport { cloneDeep, isEqual } from \"lodash-es\";\r\nimport { CancelIcon, SaveIcon } from \"../Icons\";\r\nimport { AlertsService } from \"../AlertsService\";\r\nimport { Location } from 'history';\r\n\r\n\r\n\r\ninterface EditProps extends RouteComponentProps {\r\n viewMode?: boolean;\r\n goBackToListAfterSaving?: boolean;\r\n}\r\n\r\nexport abstract class EditPageBase\r\n extends ComponentBase, GenericEditState>\r\n{\r\n\r\n protected abstract _setPageTitleForNew(): string;\r\n\r\n protected abstract _setPageTitleForExisting(editModel: EditModel): string;\r\n\r\n protected abstract _createApiService(): IServiceForEdit;\r\n\r\n protected abstract _generateForm(): JSX.Element;\r\n\r\n protected abstract _getEditUrl(id: number): string;\r\n\r\n protected abstract _getListUrl(): string;\r\n\r\n protected abstract _validateModelLocal(): ModelValidation;\r\n\r\n protected _extraButtons(): JSX.Element {\r\n return null;\r\n }\r\n\r\n /**\r\n * Crea el estado \"inicial\" para un nuevo elemento\r\n */\r\n protected abstract _createStateForNew(): Promise>;\r\n\r\n protected updateBreadCrumb(model: EditModel, initialMount?: boolean) { }\r\n\r\n constructor(props: EditProps & RouteComponentProps) {\r\n super(props);\r\n\r\n this.state = {\r\n ...this._createInitialState(props) as GenericEditState,\r\n showLoading: true,\r\n activeTab: props.match.params.tab\r\n };\r\n }\r\n\r\n protected _createInitialState(props): GenericEditState {\r\n return {} as GenericEditState;\r\n }\r\n\r\n\r\n public componentDidMount() {\r\n this._loadStateFromServer(this.props.match.params.id, (data) => this.updateBreadCrumb(data, true));\r\n }\r\n\r\n protected _loadStateFromServer(id?: number, callback?: (data: EditModel) => void) {\r\n\r\n if (id && id !== 0 && !isNaN(parseInt(id.toString()))) {\r\n\r\n const state = this._cloneStateForSetState();\r\n state.showLoading = true;\r\n state.activeTab = this.props.match.params.tab;\r\n\r\n this.setState(state, () => {\r\n var service = this._createApiService();\r\n service.getById(id)\r\n .then((data) => {\r\n \r\n this._applyDataFromServerInState(data, null, () => {\r\n if (callback != null) {\r\n callback(data);\r\n }\r\n });\r\n })\r\n .catch((reason) => {\r\n \r\n this.setState({ showLoading: false }, () => AlertsService.showError(reason))\r\n });\r\n });\r\n }\r\n else {\r\n this._createStateForNew()\r\n .then((state: GenericEditState) => {\r\n state.headerTitle = this._setPageTitleForNew();\r\n state.showLoading = false;\r\n state.validationResult.reset();\r\n state.originalEditModel = cloneDeep(state.editModel);\r\n this.setState(state, () => {\r\n if (callback != null) {\r\n callback(state.editModel);\r\n }\r\n });\r\n })\r\n .catch((reason) => this.setState({ showLoading: false }, () => AlertsService.showError(reason)));\r\n\r\n }\r\n }\r\n\r\n static getDerivedStateFromProps(props: EditProps & RouteComponentProps, state: GenericEditState) {\r\n\r\n if (state != null && props.match.params.tab != null && props.match.params.tab != state.activeTab) {\r\n var newState = {\r\n activeTab: props.match.params.tab\r\n };\r\n return newState;\r\n }\r\n return null;\r\n }\r\n\r\n protected _applyDataFromServerInState(data: EditModel, userNotificationText?: string, callback?: () => void) {\r\n const newState = this._cloneStateForSetState();\r\n newState.editModel = data;\r\n newState.originalEditModel = cloneDeep(data);\r\n newState.showLoading = false;\r\n newState.headerTitle = this._setPageTitleForExisting(data);\r\n newState.validationResult = new ModelValidation();\r\n this.setState(newState, () => {\r\n if ((userNotificationText || \"\").length != 0) {\r\n AlertsService.showAlertMessage(userNotificationText, () => {\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n else {\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n public render(): JSX.Element {\r\n\r\n if (!this.state) {\r\n return ;\r\n }\r\n\r\n if (!this.state || !this.state.editModel) {\r\n return ;\r\n }\r\n\r\n // Actualizo el rastro de migas...\r\n this.updateBreadCrumb(this.state.editModel);\r\n\r\n return (\r\n
\r\n

\r\n\r\n {this.state.showLoading && }\r\n\r\n {\r\n\r\n if (this._skipExitPrompt(location)) {\r\n return true;\r\n }\r\n\r\n return \"Perderá los cambios realizados, ¿está seguro?\";\r\n }}\r\n />\r\n\r\n {this._generateForm()}\r\n\r\n {this._paintBottomButtons()}\r\n
\r\n );\r\n\r\n }\r\n\r\n protected _editModelIsEqual(model: EditModel, oldModel: EditModel): boolean {\r\n return isEqual(model, oldModel);\r\n }\r\n\r\n protected _skipExitPrompt(location: Location) {\r\n return false;\r\n }\r\n\r\n protected _paintBottomButtons(): JSX.Element {\r\n return \r\n \r\n\r\n {!this.props.viewMode &&\r\n \r\n }\r\n\r\n {this._extraButtons()}\r\n \r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n protected _validateAndSubmit(): void {\r\n // Validamos...\r\n this._validateState()\r\n .then(validationResultTemp => {\r\n\r\n if (validationResultTemp == null) {\r\n AlertsService.showErrorMessage(\"error validation\");\r\n return false;\r\n }\r\n var validationResult = new ModelValidation();\r\n validationResult.load(validationResultTemp);\r\n\r\n if (validationResult.isOk) {\r\n console.info(\"La validación es correcta\");\r\n\r\n var state = this._cloneStateForSetState();\r\n state.showLoading = true;\r\n state.validationResult = validationResult;\r\n this.setState(state, () => {\r\n\r\n var isNew = (this.state.editModel as any).id == 0;\r\n\r\n this._saveStateInServer()\r\n .then((data) => {\r\n if (isNew) {\r\n this._actionWhenNewIsCreated(data);\r\n }\r\n else {\r\n this._actionWhenIsUpdated(data);\r\n }\r\n\r\n AlertsService.showSuccessMessage(I18n.Strings.savedOk);\r\n return;\r\n })\r\n .catch((reason) => this.setState({ showLoading: false }, () => AlertsService.showError(reason)));\r\n });\r\n }\r\n else {\r\n console.log(\"Validación no correcta\");\r\n console.warn(validationResult);\r\n this._processValidationError(validationResult);\r\n }\r\n })\r\n .catch((reason) => this.setState({ showLoading: false }, () => AlertsService.showError(reason)));\r\n }\r\n\r\n protected _validateState(): Promise {\r\n\r\n var validationProm = Promise.resolve(this._validateModelLocal())\r\n .then(localValidationResult => {\r\n if (localValidationResult.isOk) {\r\n var service = this._createApiService();\r\n\r\n // Si en local ha ido bien, probamos en remoto, si no, no lo intentamos\r\n return service.validate(this.state.editModel)\r\n .then(serverValResult => {\r\n var validation = new ModelValidation();\r\n validation.load(serverValResult);\r\n return validation;\r\n });\r\n }\r\n else {\r\n return localValidationResult;\r\n }\r\n })\r\n .catch((reason) => {\r\n AlertsService.showError(reason);\r\n return reason;\r\n });\r\n\r\n return validationProm;\r\n }\r\n\r\n\r\n protected _actionWhenNewIsCreated(data: any): void {\r\n this._actionWhenIsUpdated(data);\r\n }\r\n\r\n protected _actionWhenIsUpdated(data: any): void {\r\n if (this.props.goBackToListAfterSaving) {\r\n this.setState({ originalEditModel: cloneDeep(this.state.editModel) },\r\n () => {\r\n this.props.history.push(this._getListUrl());\r\n AlertsService.showSuccessMessage(I18n.Strings.success);\r\n });\r\n }\r\n else if (data != null && data !== \"\") {\r\n // Cambio la ruta a la edición (como es el mismo componente no hace nada)\r\n\r\n this._applyDataFromServerInState(data, I18n.Strings.success,\r\n () => {\r\n this.props.history.push(this._getEditUrl(data.id));\r\n });\r\n }\r\n else {\r\n this.setState({ showLoading: false }, () => AlertsService.showSuccessMessage(I18n.Strings.success));\r\n }\r\n }\r\n\r\n protected _onBackButtonClicked() {\r\n\r\n this.props.history.push(this._getListUrl());\r\n }\r\n\r\n /**\r\n * Se llama en local para validar el modelo de edicion antes de mandarlo al servidor para su validación\r\n */\r\n\r\n\r\n\r\n protected _saveStateInServer(): Promise {\r\n\r\n var apiService = this._createApiService();\r\n var itemId = (this.state.editModel as any).id;\r\n if (itemId === 0) {\r\n let promise = apiService.create(this.state.editModel);\r\n return promise;\r\n }\r\n else {\r\n let promise = apiService.update(itemId, this.state.editModel);\r\n return promise;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param validation Muestra el error de validacion\r\n */\r\n protected _processValidationError(validation: ModelValidation): void {\r\n var newState = this._cloneStateForSetState();\r\n newState.validationResult = validation;\r\n this.setState(newState);\r\n }\r\n\r\n\r\n protected _errorMessage(fieldName: string): JSX.Element {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n protected _errorClass(fieldName: string): string {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return \"is-invalid\";\r\n }\r\n return null;\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","/*\r\n * La clase de estado base para los formularios de busqueda\r\n */\r\n\r\nimport { ModelValidation } from \"./ModelValidation\";\r\n\r\nexport class GenericEditState\r\n{\r\n constructor() {\r\n this.validationResult = new ModelValidation();\r\n }\r\n\r\n /**\r\n * El titulo de la pagina\r\n */\r\n public headerTitle?: string;\r\n\r\n\r\n /**\r\n * El modelo de edicion\r\n */\r\n public editModel: TEditModel;\r\n public originalEditModel: TEditModel;\r\n\r\n /**\r\n * El modelo con los resultados de las validaciones\r\n */\r\n public validationResult: ModelValidation;\r\n\r\n public showLoading?: boolean;\r\n\r\n /**\r\n * En las pantallas con tabs, el tab activo\r\n */\r\n public activeTab?: any;\r\n\r\n /**\r\n * En las pantallas donde se permite borrar cosas... si se muestra la confirmación o no.\r\n * Si es null no se muestra, si no, pues se muestra con el texto que contenga\r\n */\r\n public showDeleteConfirmation?: string | boolean;\r\n}","import { AccesoDirectoEditModel, AccesoDirectoSearch, ModelValidationResult, AccesoDirectoListItemPaginatedList } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\n\r\nexport class AccesoDirectoService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n \r\n\r\n search(searchData: AccesoDirectoSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/colegio/accesosDirectos/search\", searchData);\r\n return prom;\r\n }\r\n\r\n delete(id: number) : Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.delete(`intranet/colegio/accesosDirectos/${id}`);\r\n return prom;\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/colegio/accesosDirectos/${id}`);\r\n return prom;\r\n }\r\n validate(model: AccesoDirectoEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/colegio/accesosDirectos/validate`, model);\r\n return prom;\r\n }\r\n\r\n create(model: AccesoDirectoEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/colegio/accesosDirectos/`, model);\r\n return prom;\r\n }\r\n\r\n update(id: string | number, model: AccesoDirectoEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/colegio/accesosDirectos/${id}`, model);\r\n return prom;\r\n }\r\n\r\n exportExcel(search: AccesoDirectoSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n}","import * as React from \"react\";\r\nimport { withRouter } from \"react-router\";\r\nimport { Col, FormGroup, Input, Label, Row } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { DocumentUpload } from \"../helpers/DocumentUpload\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { AccesoDirectoEditModel } from \"../models/dataModels\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { validateUrl } from \"../utils/ValuesFormatter\";\r\nimport { AccesoDirectoService } from \"./AccesoDirectoService\";\r\n\r\n\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nuevo acceso directo\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: AccesoDirectoEditModel): string {\r\n return `Editar acceso directo`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new AccesoDirectoService();\r\n }\r\n\r\n protected updateBreadCrumb(model: AccesoDirectoEditModel) {\r\n var items = [{\r\n text: I18n.Strings.accesosDirectos.title,\r\n link: RouteHelper.listAccesosDirectos()\r\n }];\r\n if (model.id == 0) {\r\n items.push({\r\n text: I18n.Strings.addNew,\r\n link: \"\"\r\n });\r\n }\r\n else {\r\n items.push({\r\n text: `${model.titulo}`,\r\n link: RouteHelper.editAccesoDirecto(model.id)\r\n });\r\n }\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.titulo = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={255}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.titulo))}\r\n name={nameof(this.state.editModel.titulo)}\r\n id={nameof(this.state.editModel.titulo)}\r\n value={this.state.editModel.titulo || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.titulo))}\r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n\r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.urlEnlace = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"url\"\r\n placeholder=\"https://www.direccion.com/\"\r\n pattern=\"https?://.+\"\r\n required={true}\r\n maxLength={255}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.urlEnlace))}\r\n name={nameof(this.state.editModel.urlEnlace)}\r\n id={nameof(this.state.editModel.urlEnlace)}\r\n value={this.state.editModel.urlEnlace || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.urlEnlace))}\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.abrirEnNuevaVentana = evt.target.checked;\r\n this.setState(newState);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, marginLeft: 10 }}\r\n id={nameof(this.state.editModel.abrirEnNuevaVentana)}\r\n checked={this.state.editModel.abrirEnNuevaVentana}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n {this.state.editModel.caratula != null &&
\r\n\r\n
\r\n }\r\n
\r\n {this.state.editModel.id > 0 &&
\r\n {\r\n this._updateStateValue(data.documentUrl, nameof.full(this.state.editModel.caratula, 2));\r\n }}\r\n />\r\n
}\r\n
\r\n \r\n\r\n
\r\n
;\r\n }\r\n\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editAccesoDirecto(id);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listAccesosDirectos();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0,\r\n colegioId: ClientContext.Current.colegioId,\r\n titulo: \"\",\r\n urlEnlace: \"\",\r\n abrirEnNuevaVentana: true\r\n } as AccesoDirectoEditModel;\r\n\r\n return Promise.resolve(model);\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.editModel.titulo || \"\").length == 0) {\r\n validation.addError(nameof(this.state.editModel.titulo), I18n.Strings.validationErrors.valueRequired(I18n.Strings.accesosDirectos.titulo));\r\n }\r\n\r\n if ((this.state.editModel.urlEnlace || \"\").length == 0) {\r\n validation.addError(nameof(this.state.editModel.urlEnlace), I18n.Strings.validationErrors.valueRequired(I18n.Strings.accesosDirectos.urlEnlace));\r\n }\r\n else if (!validateUrl(this.state.editModel.urlEnlace)){\r\n validation.addError(nameof(this.state.editModel.urlEnlace), I18n.Strings.validationErrors.formatNotValid(I18n.Strings.accesosDirectos.urlEnlace));\r\n }\r\n\r\n\r\n return validation;\r\n }\r\n}\r\n\r\nexport const Edit = withRouter(EditComp)","import * as React from \"react\";\r\nimport {\r\n ButtonDropdown, DropdownToggle, DropdownMenu, Button, DropdownItem\r\n} from 'reactstrap';\r\n\r\nclass ButtonDropDownProps {\r\n public botones: JSX.Element[];\r\n}\r\n\r\nclass ButtonDropDownState {\r\n public dropdownOpen: boolean;\r\n}\r\n\r\nexport class DropDownButton extends React.Component {\r\n\r\n public constructor(props: ButtonDropDownProps) {\r\n super(props);\r\n\r\n this.state = {\r\n dropdownOpen: false\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n var botones = this.props.botones;\r\n\r\n if (botones == null || botones.length == 0) {\r\n return null;\r\n }\r\n\r\n if (botones.length == 1) {\r\n return botones[0];\r\n }\r\n else if (botones.length > 1) {\r\n return {\r\n this.setState({ dropdownOpen: !this.state.dropdownOpen });\r\n }}>\r\n \r\n Acciones\r\n \r\n \r\n {botones.map((button, index) => {\r\n \r\n if (button.props.divider) {\r\n //(button as any).key = index;\r\n return button;\r\n }\r\n else {\r\n return \r\n {button.props.children}\r\n \r\n }\r\n\r\n })}\r\n \r\n \r\n }\r\n }\r\n}","import * as React from \"react\";\r\n\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button } from \"reactstrap\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { DeleteIcon } from \"../utils/Icons\";\r\n\r\nclass DeleteConfirmationProps {\r\n onConfirm: () => void;\r\n onCancelDelete: () => void;\r\n deleteConfirmBody?: string | null;\r\n}\r\n\r\nexport class DeleteModal extends React.Component {\r\n\r\n\r\n\r\n public render(): JSX.Element {\r\n\r\n var closeButton = ;\r\n\r\n\r\n return \r\n \r\n {I18n.Strings.deleteConfirmTitle}\r\n \r\n \r\n

{this.props.deleteConfirmBody != null ? this.props.deleteConfirmBody : I18n.Strings.deleteConfirmBody}

\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
;\r\n }\r\n}\r\n\r\n\r\n","import * as React from \"react\";\r\nimport { Link, RouteComponentProps } from \"react-router-dom\";\r\nimport { Alert, Button, Col, Input, Row } from \"reactstrap\";\r\nimport { DropDownButton } from \"../../helpers/DropDownButton\";\r\nimport { SearchModelBase, SortDirection, TipoUsuario } from \"../../models/dataModels\";\r\nimport { AlertsService } from \"../AlertsService\";\r\nimport { ClientContext } from '../ClientContext';\r\nimport { DeleteModal } from \"../DeleteModal\";\r\nimport { I18n } from \"../I18n\";\r\nimport { AddNewIcon, DeleteIcon, DownIcon, EditIcon, ExcelIcon, SearchIcon, UpIcon } from \"../Icons\";\r\nimport { Loading } from \"../Loading\";\r\nimport { IEntity, Pager, PaginatedListBase } from \"../Pager\";\r\nimport { SimpleSearchState } from \"../PaginatedSearchState\";\r\nimport { IServiceForIndex } from \"./BaseServices\";\r\nimport { NavigationHelper } from \"./Breadcrumb\";\r\nimport { ComponentBase } from \"./ComponentBase\";\r\n\r\n\r\ninterface IndexProps {\r\n isEmbedded?: boolean;\r\n renderResultsDiv?: boolean;\r\n searchModel?: TSearchModel;\r\n showTitle?: boolean;\r\n isViewMode?: boolean;\r\n hideDeleteButton?: boolean;\r\n hideToolbar?: boolean;\r\n hideGridButtons?: boolean;\r\n onReadData?: (TSearchResult) => void;\r\n}\r\n\r\nexport interface TableColumn {\r\n title: string;\r\n fieldName: string,\r\n colMdWidth?: number,\r\n renderField?: (row: ItemType) => JSX.Element | string\r\n}\r\n\r\nexport abstract class IndexPageBase\r\n extends ComponentBase & RouteComponentProps, SimpleSearchState>\r\n{\r\n\r\n protected hideGridButtonsOverride(item: TResultItem) {\r\n return this.props.hideDeleteButton;\r\n }\r\n\r\n /**\r\n * El nombre de la clave de cache para guardar el estado inicial de la pantalla\r\n */\r\n protected _cacheKeyName: string = window.location.pathname;\r\n\r\n public constructor(props: IndexProps & RouteComponentProps) {\r\n super(props);\r\n\r\n var searchParams = {\r\n rowsPerPage: 10,\r\n orderMode: SortDirection.Asc,\r\n ...this._getInitialSearchParams(),\r\n };\r\n\r\n if (!this.props.isEmbedded && ClientContext.globalCache[this._cacheKeyName]) {\r\n var cachedSearchParams = ClientContext.globalCache[this._cacheKeyName];\r\n\r\n searchParams = cachedSearchParams;\r\n }\r\n\r\n this.state = {\r\n searchParams: searchParams,\r\n showLoadingIcon: true, \r\n searchResults: null,\r\n checkedElements: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this._performSearch();\r\n if (!this.props.isEmbedded) {\r\n NavigationHelper.setBreadcrumbItems([\r\n {\r\n text: this._getPageTitle(),\r\n link: \".\"\r\n }\r\n ]);\r\n }\r\n }\r\n\r\n\r\n\r\n /**\r\n * Obtiene el modelo de busqueda inicial\r\n * @returns\r\n */\r\n protected _getInitialSearchParams(): TSearchModel {\r\n\r\n return (this.props.searchModel || {}) as TSearchModel;\r\n }\r\n\r\n /**\r\n * Obtiene el servicio del API \r\n */\r\n protected abstract _getApiService(): IServiceForIndex;\r\n\r\n /**\r\n * Obtiene las columnas de la tabla a pintar \r\n */\r\n protected abstract _getTableColumns(): TableColumn[];\r\n\r\n /**\r\n * El titulo de la cabcera de la p�gina\r\n */\r\n protected abstract _getPageTitle(): string;\r\n\r\n /**\r\n * La descripci�n de la p�gina\r\n */\r\n protected abstract _getPageDescription(): string;\r\n\r\n /** \r\n * Si se habilita o no la exportaci�n de excel\r\n * @returns\r\n */\r\n protected _enableExcelExport(): boolean {\r\n return false;\r\n }\r\n\r\n protected _toolbarLeftExtraContents(): JSX.Element[] {\r\n var results = [];\r\n return results;\r\n }\r\n\r\n protected _renderExtraContent(): JSX.Element {\r\n return \r\n }\r\n\r\n protected _toolbarRightContents(): JSX.Element[] {\r\n var results = [];\r\n\r\n if (this._enableExcelExport()) {\r\n results.push(\r\n this._exportExcel(this.state.searchParams)}\r\n >\r\n \r\n {I18n.Strings.export}\r\n \r\n );\r\n }\r\n\r\n return results;\r\n }\r\n\r\n /**\r\n * Si se muestran o no los checkboxes en las filas\r\n * @returns\r\n */\r\n protected _showCheckboxes(): boolean {\r\n return false;\r\n }\r\n\r\n /**\r\n * Realiza las busquedas (invocando al metodo search del servicio)\r\n */\r\n protected _performSearch() {\r\n\r\n this.setState({ showLoadingIcon: true },\r\n () => {\r\n var service = this._getApiService();\r\n service.search(this.state.searchParams)\r\n .then(data => {\r\n\r\n if (!this.props.isEmbedded && this._cacheKeyName) {\r\n ClientContext.globalCache[this._cacheKeyName] = this.state.searchParams;\r\n }\r\n\r\n this.setState({\r\n searchResults: data,\r\n showLoadingIcon: false,\r\n showDeleteConfirmation: null,\r\n checkedElements: [],\r\n allChecked: false\r\n }, () => {\r\n if (this.props.onReadData != null) {\r\n this.props.onReadData(data);\r\n }\r\n })\r\n })\r\n .catch(error => this._showError(error));\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n /**\r\n * Muestra un mensaje de error\r\n * @param error: El mensaje de error a mostrar o la excepci�n que se ha capturado\r\n */\r\n protected _showError(error: any) {\r\n this.setState(\r\n {\r\n showDeleteConfirmation: null,\r\n showLoadingIcon: false\r\n },\r\n () => AlertsService.showError(error)\r\n );\r\n }\r\n\r\n private renderSortIcon(columnName: string) {\r\n if (columnName === this.state.searchParams.orderByColumn) {\r\n return this.state.searchParams.orderMode === SortDirection.Asc ? : ;\r\n }\r\n }\r\n\r\n /**\r\n * Obtiene la url a la que va a enviarse el usuario cuando quiere editar un item\r\n * @param item El item que se va editar\r\n */\r\n protected abstract _getEditionItemUrl(item: TResultItem): string;\r\n\r\n /**\r\n * Obtiene la URL a la que se va reenviar al usuario cuando se quiera crear un elemento nuevo\r\n */\r\n protected abstract _getNewItemUrl(): string;\r\n\r\n\r\n public render() {\r\n\r\n var columns = this._getTableColumns();\r\n var searchResults = this.state.searchResults as any as PaginatedListBase;\r\n var buttons = this._toolbarRightContents();\r\n\r\n return
\r\n {this.state.showLoadingIcon && }\r\n\r\n {this.state.showDeleteConfirmation != null &&\r\n this.setState({ showDeleteConfirmation: null })}\r\n onConfirm={() => this._performDelete(this.state.showDeleteConfirmation)}\r\n />\r\n }\r\n\r\n \r\n\r\n {this._renderExtraContent()}\r\n\r\n {(!this.props.isEmbedded || this.props.showTitle) &&\r\n
\r\n

{this._getPageTitle()}

\r\n

{this._getPageDescription()}

\r\n
\r\n }\r\n {!this.props.isEmbedded &&\r\n
\r\n
{\r\n evt.preventDefault();\r\n return false;\r\n }}\r\n className=\"form-buscar\">\r\n \r\n\r\n {this._renderSearchForm()}\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n {this._showToolbar() &&\r\n
\r\n \r\n \r\n {/* Botones de la barra a la izquierda */}\r\n {!this.props.isViewMode && this._canAddItems() &&\r\n \r\n \r\n {I18n.Strings.addNew}\r\n \r\n }\r\n {this._toolbarLeftExtraContents()}\r\n \r\n \r\n {/* Botones de la barra a la derecha */}\r\n {buttons.length > 0 && \r\n\r\n {buttons.length == 1 && buttons[0]}\r\n\r\n {buttons.length > 1 &&\r\n \r\n }\r\n }\r\n\r\n \r\n \r\n
\r\n }\r\n {this.state.allChecked && searchResults != null && searchResults.totalCount > this.state.searchParams.rowsPerPage &&\r\n \r\n \r\n {I18n.Strings.grid.allCheckedWarning}\r\n \r\n \r\n }\r\n\r\n \r\n \r\n {searchResults != null && searchResults.items.length === 0 && \r\n

{I18n.Strings.noResults}

\r\n
}\r\n {searchResults != null && searchResults.items.length !== 0 && \r\n {!this.props.renderResultsDiv && this.renderSearchResultsTable(columns, searchResults)}\r\n {this.props.renderResultsDiv && this.renderSearchResultsDivs(columns, searchResults)}\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.currentPage = pNum;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n onPageSizeChange={(newSize) => {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.rowsPerPage = newSize;\r\n state.searchParams.currentPage = 0;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n }\r\n \r\n
\r\n
\r\n
\r\n }\r\n\r\n\r\n protected _showToolbar(): boolean {\r\n return !this.props.hideToolbar;\r\n }\r\n\r\n\r\n protected _canAddItems(): boolean {\r\n return true;\r\n }\r\n\r\n protected renderSearchResultsTable(columns: TableColumn[], searchResults: PaginatedListBase) {\r\n return \r\n \r\n \r\n {this._showCheckboxes() && }\r\n {columns.map((col, index) => {\r\n return \r\n })}\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {searchResults.items.map((item, index) => {\r\n return {\r\n var url = this._getEditionItemUrl(item);\r\n if (url != null) {\r\n this.props.history.push(url);\r\n }\r\n }}\r\n >\r\n {this._showCheckboxes() && }\r\n {columns.map((col, index) => {\r\n return ;\r\n })}\r\n {!this.hideGridButtonsOverride(item) &&\r\n \r\n \r\n \r\n \r\n }\r\n {this.hideGridButtonsOverride(item) &&\r\n \r\n \r\n \r\n \r\n }\r\n \r\n })}\r\n \r\n
\r\n {\r\n var checked = evt.target.checked;\r\n var newState = this._cloneStateForSetState();\r\n newState.allChecked = checked;\r\n if (checked) {\r\n newState.checkedElements = searchResults.items.map((item) => item.id);\r\n }\r\n else {\r\n newState.checkedElements = [];\r\n }\r\n this.setState(newState);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, }}\r\n id={\"allChecked\"}\r\n checked={this.state.allChecked || false}\r\n />\r\n \r\n {\r\n this.setState(\r\n { searchParams: this._getSearchForColumnClicked(col.fieldName) },\r\n () => this._performSearch()\r\n );\r\n }}>\r\n {col.title}\r\n {this.renderSortIcon(col.fieldName)}\r\n \r\n
\r\n {\r\n var checked = evt.target.checked;\r\n var newState = this._cloneStateForSetState();\r\n\r\n if (checked) {\r\n var itemId = newState.checkedElements.find(x => x === item.id);\r\n if (itemId == null) {\r\n newState.checkedElements.push(item.id);\r\n }\r\n }\r\n else {\r\n newState.checkedElements = newState.checkedElements.filter(x => {\r\n return x != item.id;\r\n })\r\n }\r\n this.setState(newState);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, }}\r\n id={\"checkbox_\" + index}\r\n checked={this.state.checkedElements.find(x => x === item.id) != null}\r\n />\r\n \r\n {col.renderField == null && item[col.FieldName]}\r\n {col.renderField != null && {col.renderField(item)}}\r\n \r\n {this.editButtonOverride(item)}\r\n \r\n {this.deleteButtonOverride(item)}\r\n
\r\n }\r\n\r\n protected editButtonOverride(item: TResultItem): JSX.Element {\r\n var url = this._getEditionItemUrl(item);\r\n if (url == null) return;\r\n\r\n return \r\n {this.props.isViewMode && }\r\n {!this.props.isViewMode && }\r\n ;\r\n }\r\n\r\n protected deleteButtonOverride(item: TResultItem): JSX.Element {\r\n\r\n if (!this.props.hideDeleteButton && !this.props.isViewMode && (!item.protegidoBorrado || ClientContext.Current.tipoUsuario === TipoUsuario.AdminGlobal)) {\r\n return
this.setState({ showDeleteConfirmation: item.id })}>\r\n \r\n ;\r\n }\r\n return null;\r\n }\r\n\r\n\r\n /**\r\n * Calcula la clase que hay que poner en cada fila de la tabla \r\n * @param item El item que se va a pintar\r\n */\r\n protected _calculateRowClass(item: TResultItem): string {\r\n return \"\";\r\n }\r\n\r\n /**\r\n * Calcula la clase que hay que poner en cada fila de la tabla \r\n * @param item El item que se va a pintar\r\n */\r\n protected _calculateCellClass(item: TResultItem, fieldName: string): string {\r\n return null;\r\n }\r\n\r\n protected renderSearchResultsDivs(columns: TableColumn[], searchResults: PaginatedListBase) {\r\n return \r\n
\r\n {columns.map((col, index) => {\r\n return
\r\n {col.title}\r\n
\r\n })}\r\n
\r\n {searchResults.items.map((item, index1) => {\r\n\r\n return
\r\n {columns.map((col, index2) => {\r\n return
\r\n {col.renderField == null && item[col.FieldName]}\r\n {col.renderField != null && {col.renderField(item)}}\r\n
;\r\n })}\r\n\r\n {!this.hideGridButtonsOverride(item) &&\r\n
\r\n \r\n {this.props.isViewMode && }\r\n {!this.props.isViewMode && }\r\n \r\n {!this.props.isViewMode && this.setState({ showDeleteConfirmation: item.id })} className=\"btn-delete\">\r\n \r\n }\r\n
\r\n }\r\n
\r\n })}\r\n
\r\n }\r\n\r\n protected abstract _renderSearchForm(): React.ReactNode;\r\n\r\n protected _getSearchForColumnClicked(fieldName: string): TSearchModel {\r\n\r\n var newSearch = { ...this.state.searchParams };\r\n\r\n if (newSearch.orderByColumn !== fieldName) {\r\n newSearch.orderMode = SortDirection.Asc;\r\n newSearch.orderByColumn = fieldName;\r\n }\r\n else {\r\n newSearch.orderMode = newSearch.orderMode === SortDirection.Asc ? SortDirection.Desc : SortDirection.Asc;\r\n }\r\n\r\n return newSearch;\r\n\r\n }\r\n\r\n protected _performDelete(id: number) {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.showLoadingIcon = true;\r\n state.searchParams.currentPage = 0;\r\n\r\n this.setState(state, () => {\r\n var service = this._getApiService();\r\n service.delete(id)\r\n .then(() => {\r\n this._performSearch();\r\n })\r\n .catch((error) => {\r\n this._showError(error);\r\n });\r\n });\r\n }\r\n\r\n protected _exportExcel(searchParams: TSearchModel) {\r\n\r\n this.setState({ showLoadingIcon: true },\r\n () => {\r\n try {\r\n var service = this._getApiService();\r\n service.exportExcel(searchParams)\r\n .then(() => this.setState({ showLoadingIcon: false }))\r\n .catch((reason) => this._showError(reason));\r\n } catch (error) {\r\n this._showError(error);\r\n }\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Col } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { AccesoDirectoListItem, AccesoDirectoListItemPaginatedList, AccesoDirectoSearch } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { AccesoDirectoService } from \"./AccesoDirectoService\";\r\n\r\n\r\n\r\nclass IndexComp extends IndexPageBase\r\n{\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new AccesoDirectoService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].titulo),\r\n title: I18n.Strings.matriculas.nombreClase,\r\n renderField: (item) => item.titulo\r\n }\r\n ];\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.accesosDirectos.title;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.accesosDirectos.description;\r\n }\r\n\r\n \r\n protected _getEditionItemUrl(item: AccesoDirectoListItem): string {\r\n return RouteHelper.editAccesoDirecto(item.id);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createAccesoDirecto();\r\n }\r\n\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Button, Col, Row } from \"reactstrap\";\r\nimport { ExportFileResult } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { ExcelIcon } from \"../utils/Icons\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport { downloadFileFromBase64Array, logAndExtractInfoFromException } from \"../utils/ValuesFormatter\";\r\n\r\n\r\ninterface ReportsIndexCompState {\r\n showLoading: boolean;\r\n}\r\n\r\n\r\nclass ReportsIndexComp extends React.Component {\r\n\r\n public constructor(props: any) {\r\n\r\n super(props);\r\n this.state = {\r\n showLoading: false\r\n }\r\n }\r\n\r\n\r\n public render(): JSX.Element {\r\n\r\n var cursoEscolarActivo = ClientContext.getCursoEscolarActivo();\r\n\r\n return \r\n {this.state.showLoading && }\r\n

\r\n Informes - {cursoEscolarActivo.nombre}\r\n

\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n

\r\n Listado de accesos a contenidos\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n

\r\n Muestra, para todos los colegios, los accesos que han hecho los usuarios a los contenidos.\r\n

\r\n
\r\n \r\n \r\n {\r\n this.setState({ showLoading: true },\r\n () => {\r\n this._downloadAccesosContenidos(cursoEscolarActivo.campannaId) \r\n .catch(error => {\r\n window.alert(logAndExtractInfoFromException(error))\r\n })\r\n .finally(() => {\r\n this.setState({ showLoading: false });\r\n });\r\n }\r\n );\r\n }}\r\n >\r\n \r\n Descargar\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n

\r\n Listado de pedidos global\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n

\r\n Muestra todos los pedidos que se han realizado en todos los colegios.\r\n

\r\n \r\n \r\n {\r\n this.setState({ showLoading: true },\r\n () => {\r\n this._downloadAccesosPedidos(cursoEscolarActivo.campannaId)\r\n .catch(error => {\r\n window.alert(logAndExtractInfoFromException(error))\r\n })\r\n .finally(() => {\r\n this.setState({ showLoading: false });\r\n });\r\n\r\n }\r\n );\r\n }}\r\n >\r\n \r\n Descargar\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n

\r\n Listado de licencias global\r\n

\r\n \r\n
\r\n \r\n \r\n

\r\n Muestra todas las licencias de usuarios existentes en todos los colegios.\r\n

\r\n \r\n \r\n {\r\n this.setState({ showLoading: true },\r\n () => {\r\n this._downloadLicencias(cursoEscolarActivo.campannaId)\r\n .catch(error => {\r\n window.alert(logAndExtractInfoFromException(error))\r\n })\r\n .finally(() => {\r\n this.setState({ showLoading: false });\r\n });\r\n\r\n }\r\n );\r\n }}\r\n >\r\n \r\n Descargar\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
;\r\n }\r\n\r\n private _downloadAccesosPedidos(campannaId: number) {\r\n\r\n var url = `intranet/informes/downloadPedidos/${campannaId}`;\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(url)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return prom;\r\n }\r\n\r\n private _downloadAccesosContenidos(cursoEscolarId: number) {\r\n\r\n var url = `intranet/informes/downloadAccesosContenidos/${cursoEscolarId}`;\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(url)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return prom;\r\n }\r\n\r\n private _downloadLicencias(campannaId: number) {\r\n\r\n var url = `intranet/informes/downloadLicencias/${campannaId}`;\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(url)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return prom;\r\n }\r\n}\r\n\r\n\r\n\r\nexport const ReportsIndex = withRouter(ReportsIndexComp);\r\n","import { AliasEditorial, AliasEditorialEditModel, AliasEditorialListItemPaginatedList, AliasEditorialSearch, ModelValidationResult } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { I18n } from \"../utils/I18n\";\r\n\r\nexport class AliasEditorialService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n \r\n search(searchData: AliasEditorialSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/aliasEditoriales/search\", searchData);\r\n return prom;\r\n };\r\n\r\n \r\n\r\n delete(id: number) : Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.delete(`intranet/aliasEditoriales/${id}`);\r\n return prom;\r\n };\r\n\r\n getById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/aliasEditoriales/${id}`);\r\n return prom;\r\n };\r\n\r\n validate(model: AliasEditorialEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/aliasEditoriales/validate`, model);\r\n return prom;\r\n }\r\n\r\n create(model: AliasEditorialEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/aliasEditoriales/`, model);\r\n return prom;\r\n };\r\n\r\n update(id: string | number, model: AliasEditorialEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/aliasEditoriales/${id}`, model);\r\n return prom;\r\n };\r\n\r\n getAll(): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(\"intranet/aliasEditoriales\");\r\n\r\n prom = prom.then(p => {\r\n p.forEach(alias => {\r\n alias.alias = `${(I18n.Strings.getEnumText(\"Editorial.\" + alias.editorial) || \"N/A\")} - ${alias.alias}`;\r\n });\r\n return p.sort((a,b) => a.alias.localeCompare(b.alias));\r\n });\r\n \r\n return prom;\r\n }\r\n\r\n\r\n exportExcel(search: AliasEditorialSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n };\r\n\r\n}","import { AliasEditorialContenidosListItemPaginatedList, AliasEditorialContenidosSearch } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\n\r\n\r\nexport class AliasEditorialContenidosService\r\n implements IServiceForIndex\r\n{\r\n delete(id: string | number, real?: boolean): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n exportExcel(search: AliasEditorialContenidosSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n search(searchData: AliasEditorialContenidosSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\r\n \"intranet/aliasEditoriales/contenidos/search\", searchData);\r\n return prom;\r\n };\r\n}\r\n","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Col, FormGroup, Label } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ColegioUsuariosPicker } from \"../colegioUsuarios/Picker\";\r\nimport UserNameToolTip from \"../colegioUsuarios/UserNameToolTip\";\r\nimport { ClaseMateriaDropDown } from \"../cursoEscolar/materia/ClaseMateriaDropDown\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { AliasEditorialContenidosListItem, AliasEditorialContenidosListItemPaginatedList, AliasEditorialContenidosSearch } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { AliasEditorialContenidosService } from \"./AliasEditorialContenidosService\";\r\n\r\n\r\nclass AliasEditorialesContenidosComp extends IndexPageBase\r\n{\r\n protected _renderSearchForm(): React.ReactNode {\r\n if (this.props.isEmbedded) {\r\n return null;\r\n }\r\n return \r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new AliasEditorialContenidosService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].colegio),\r\n title: I18n.Strings.aliasEditorial.colegio,\r\n renderField: (item) => item.colegio\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nivelEducativo),\r\n title: I18n.Strings.aliasEditorial.nivelEducativo,\r\n renderField: (item) => item.nivelEducativo\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].contenido),\r\n title: I18n.Strings.aliasEditorial.contenido,\r\n renderField: (item) => item.contenido,\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].tipoContenido),\r\n title: I18n.Strings.aliasEditorial.tipoContenido,\r\n renderField: (item) => I18n.Strings.getEnumText(`TipoContenido.${item.tipoContenido}`),\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].isbn),\r\n title: I18n.Strings.aliasEditorial.isbn,\r\n renderField: (item) => item.isbn,\r\n },\r\n \r\n \r\n ];\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return null;\r\n }\r\n protected _getPageDescription(): string {\r\n return null;\r\n }\r\n\r\n \r\n protected _getEditionItemUrl(item: AliasEditorialContenidosListItem): string {\r\n return null;\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return null;\r\n }\r\n\r\n}\r\n\r\nexport const AliasEditorialesContenidos = withRouter(AliasEditorialesContenidosComp);","import React from \"react\";\r\nimport { RouteComponentProps } from \"react-router-dom\";\r\nimport { Nav, NavItem, NavLink, TabContent, TabPane } from \"reactstrap\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { ComponentBase } from \"../utils/base/ComponentBase\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { LicenciasUsuarios } from \"./LicenciasUsuarios\";\r\nimport { Listing } from \"./Listing\";\r\nimport { Usuarios } from \"./Usuarios\";\r\n\r\n\r\nexport enum CargaFicherosTabs {\r\n Listado = \"listado\",\r\n Usuarios = \"usuarios\",\r\n Licencias = \"licencias\",\r\n}\r\n\r\ninterface CargaFicherosState {\r\n activeTab: CargaFicherosTabs;\r\n}\r\n\r\nexport class Index extends ComponentBase {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n activeTab: props.match.params.tab || CargaFicherosTabs.Listado\r\n };\r\n }\r\n\r\n // TODO: Esto creo que ya esá obsoleto ver como lo hacemos con lo de los usuarios\r\n static getDerivedStateFromProps(props: RouteComponentProps, state: CargaFicherosState) {\r\n\r\n if (state != null && props.match.params.tab != null && props.match.params.tab != state.activeTab) {\r\n var newState = {\r\n activeTab: props.match.params.tab\r\n };\r\n return newState;\r\n }\r\n return null;\r\n }\r\n\r\n protected updateBreadCrumb() {\r\n var items = [{\r\n text: I18n.Strings.cargaFicheros.cargaFicheros,\r\n link: RouteHelper.cargaFicheros()\r\n }];\r\n\r\n switch (this.state.activeTab) {\r\n case CargaFicherosTabs.Usuarios: {\r\n items.push({ text: I18n.Strings.cargaFicheros.tabListado, link: RouteHelper.cargaFicheros(CargaFicherosTabs.Listado) });\r\n break;\r\n }\r\n case CargaFicherosTabs.Usuarios: {\r\n items.push({ text: I18n.Strings.cargaFicheros.tabUsuarios, link: RouteHelper.cargaFicheros(CargaFicherosTabs.Usuarios) });\r\n break;\r\n }\r\n case CargaFicherosTabs.Licencias: {\r\n items.push({ text: I18n.Strings.cargaFicheros.tabLicencias, link: RouteHelper.cargaFicheros(CargaFicherosTabs.Licencias) });\r\n break;\r\n }\r\n }\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n activeTab: this.props.match.params.tab\r\n }, () => this.updateBreadCrumb());\r\n }\r\n\r\n render() {\r\n\r\n this.updateBreadCrumb();\r\n\r\n return \r\n
\r\n

\r\n {I18n.Strings.cargaFicheros.cargaFicheros}\r\n

\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {this.state.activeTab == CargaFicherosTabs.Usuarios &&\r\n \r\n }\r\n \r\n\r\n \r\n {this.state.activeTab == CargaFicherosTabs.Licencias &&\r\n \r\n }\r\n \r\n \r\n ;\r\n };\r\n}","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Row, Col, FormGroup, Label, Input, Button } from \"reactstrap\";\r\n\r\nimport { AliasEditorialService } from \"./AliasEditorialesService\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { Editorial, AliasEditorialListItem, AliasEditorialListItemPaginatedList, AliasEditorialSearch, YesNo } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { YesNoDropDown } from \"../helpers/EnumDropDown\";\r\nimport { AliasEditorialEditTabs } from \"./Edit\";\r\n\r\n\r\nexport class IndexComp extends IndexPageBase\r\n{\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.alias = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.aliasEditorial.alias + \"...\"}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.alias)}\r\n id={nameof(this.state.searchParams.alias)}\r\n value={this.state.searchParams.alias || \"\"}\r\n />\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.pendientes = evt.target.checked;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, marginRight: 10 }}\r\n name={nameof(this.state.searchParams.pendientes)}\r\n id={nameof(this.state.searchParams.pendientes)}\r\n checked={this.state.searchParams.pendientes || false}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.enUso = value == YesNo.Yes.toString() ? true : value == YesNo.No.toString() ? false : null;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n \r\n\r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new AliasEditorialService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].alias),\r\n title: I18n.Strings.aliasEditorial.alias,\r\n renderField: (item) => item.alias\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].editorial),\r\n title: I18n.Strings.aliasEditorial.editorial,\r\n renderField: (item) => I18n.Strings.getEnumText(`Editorial.${item.editorial}`),\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].numContenidos),\r\n title: I18n.Strings.aliasEditorial.numContenidos,\r\n renderField: (item) => I18n.Strings.formatNumber(item.numContenidos)\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].numUsos),\r\n title: I18n.Strings.aliasEditorial.numUsos,\r\n renderField: (item) => I18n.Strings.formatNumber(item.numUsos)\r\n },\r\n ];\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.aliasEditorial.title;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.aliasEditorial.description;\r\n }\r\n\r\n\r\n protected _getEditionItemUrl(item: AliasEditorialListItem): string {\r\n\r\n\r\n return RouteHelper.editAliasEditorial(item.id, AliasEditorialEditTabs.Datos);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createAliasEditorial();\r\n }\r\n\r\n protected _calculateCellClass(item: AliasEditorialListItem) {\r\n return item.editorial == Editorial.None ? \"text-danger\" : \"\";\r\n }\r\n\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import {\r\n ExportFileResult, CargaEditModel, CargaPersistResult,\r\n CargaListItemPaginatedList,\r\n ResultadosCargaUsuariosExcelExport, ResultadosCargaLicenciasExcelExport, ExcelTemplateGetMessage, CargasSearch, CargaGetDetailResult\r\n} from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { downloadFileFromBase64Array } from \"../utils/ValuesFormatter\";\r\n\r\nexport class CargaFicherosService implements IServiceForIndex {\r\n\r\n delete(id: string | number, real?: boolean): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n exportExcel(search: CargasSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n\r\n search(searchData: CargasSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/cargaFichero/search\", searchData);\r\n prom.then(res => {\r\n res.items.forEach(item => {\r\n item.fecha = new Date(item.fecha);\r\n });\r\n });\r\n return prom;\r\n }\r\n\r\n getTemplate(model: ExcelTemplateGetMessage): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/cargaFichero/plantilla`, model)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return prom;\r\n }\r\n\r\n descargarResultadosCargaUsuarios(model: ResultadosCargaUsuariosExcelExport): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/cargaFichero/descargarResultadosCargaUsuarios`, model)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return prom;\r\n }\r\n\r\n descargarResultadosCargaLicencias(model: ResultadosCargaLicenciasExcelExport): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/cargaFichero/descargarResultadosCargaLicencias`, model)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return prom;\r\n }\r\n\r\n cargarExcel(model: CargaEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/cargaFichero/cargarExcel`, model);\r\n return prom;\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/cargaFichero/${id}`)\r\n .then((result) => {\r\n result.fecha = new Date(result.fecha);\r\n return result;\r\n });\r\n return prom;\r\n }\r\n\r\n /*\r\n getMyEditModel(): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/miPerfilProfesor/getMyEditModel`);\r\n return prom;\r\n }\r\n\r\n validate(model: MiPerfilProfesorEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfilProfesor/validate`, model);\r\n return prom;\r\n }\r\n\r\n update(model: MiPerfilProfesorEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/miPerfilProfesor/update`, model);\r\n return prom;\r\n }*/\r\n}","import React from \"react\";\r\nimport { Button, Col, Label, Row } from \"reactstrap\";\r\nimport { DocumentUpload } from \"../helpers/DocumentUpload\";\r\nimport { NumericCardBox } from \"../helpers/NumericCardBox\";\r\nimport { CargaEditModel, EstadoCargaItem, ExcelTemplateGetMessage, LicenciaContenidosEditModel, ResultadosCargaLicenciasExcelExport, TipoCarga } from \"../models/dataModels\";\r\nimport { ComponentBase } from \"../utils/base/ComponentBase\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { CancelIcon, DownloadIcon, FileIcon } from \"../utils/Icons\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport { CargaFicherosService } from \"./CargaFicherosService\";\r\n\r\n\r\ninterface LicenciasUsuariosState {\r\n showLoading: boolean;\r\n editModel: LicenciaContenidosEditModel;\r\n numItemsRead: number;\r\n fileUrl: string;\r\n cargaId?: number | null;\r\n numRowsOk?: number | null;\r\n numRowsError?: number | null;\r\n numRowsDuplicated?: number | null;\r\n ficheroSeleccionado: boolean;\r\n}\r\n\r\nexport class LicenciasUsuarios extends ComponentBase {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n editModel: null,\r\n showLoading: false,\r\n numItemsRead: 0,\r\n fileUrl: null,\r\n ficheroSeleccionado: false,\r\n };\r\n }\r\n\r\n protected _getTemplate() {\r\n\r\n this.setState({ showLoading: true },\r\n () => {\r\n var service = new CargaFicherosService();\r\n var model = {\r\n tipoCarga: TipoCarga.Licencia\r\n } as ExcelTemplateGetMessage;\r\n service.getTemplate(model)\r\n .then(() => this.setState({ showLoading: false }))\r\n });\r\n }\r\n\r\n protected _uploadFile() {\r\n this.setState({ showLoading: true },\r\n () => {\r\n var service = new CargaFicherosService();\r\n var model = {\r\n fileUrl: this.state.fileUrl,\r\n tipoCarga: TipoCarga.Licencia\r\n } as CargaEditModel;\r\n service.cargarExcel(model)\r\n .then((data) => {\r\n var state = this._cloneStateForSetState();\r\n state.showLoading = false;\r\n state.numRowsOk = data.numRowsOk;\r\n state.numRowsError = data.numRowsError;\r\n state.numRowsDuplicated = data.numRowsDuplicated;\r\n state.cargaId = data.cargaId;\r\n state.editModel = null;\r\n\r\n this.setState(state);\r\n });\r\n });\r\n }\r\n\r\n protected _downloadResultsExcel(estado: EstadoCargaItem) {\r\n this.setState({ showLoading: true },\r\n () => {\r\n var service = new CargaFicherosService();\r\n var msg = {\r\n cargaId: this.state.cargaId,\r\n estadoCarga: estado,\r\n tipoCarga: TipoCarga.Licencia\r\n } as ResultadosCargaLicenciasExcelExport;\r\n\r\n service.descargarResultadosCargaLicencias(msg)\r\n .then(() => this.setState({ showLoading: false }))\r\n });\r\n }\r\n\r\n protected _renderResult(): JSX.Element {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (this.state.numRowsOk > 0) {\r\n this._downloadResultsExcel(EstadoCargaItem.Correcto);\r\n }\r\n }}\r\n >\r\n 0 ? : null}\r\n numberValue={this.state.numRowsOk}\r\n headerText={I18n.Strings.cargaFicheros.numRowsOk} />\r\n \r\n {\r\n if (this.state.numRowsDuplicated > 0) {\r\n this._downloadResultsExcel(EstadoCargaItem.Duplicado);\r\n }\r\n }}\r\n >\r\n 0 ? : null}\r\n numberValue={this.state.numRowsDuplicated}\r\n headerText={I18n.Strings.cargaFicheros.numRowsDuplicated} />\r\n \r\n {\r\n if (this.state.numRowsError > 0) {\r\n this._downloadResultsExcel(EstadoCargaItem.Erroneo);\r\n }\r\n }}\r\n >\r\n 0 ? : null}\r\n numberValue={this.state.numRowsError}\r\n headerText={I18n.Strings.cargaFicheros.numRowsError} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n protected _renderPreviewItem(): JSX.Element {\r\n if (this.state.editModel == null) {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n else {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {I18n.Strings.colegioUsuarios.login}\r\n \r\n \r\n {I18n.Strings.colegioUsuarios.grupoClase}\r\n \r\n \r\n {I18n.Strings.contenidos.isbn}\r\n \r\n \r\n {I18n.Strings.licenciasContenido.tipoAcceso}\r\n \r\n \r\n {I18n.Strings.licenciasContenido.credenciales}\r\n \r\n \r\n \r\n \r\n {this.state.editModel.usuario}\r\n \r\n \r\n {this.state.editModel.clase}\r\n \r\n \r\n {this.state.editModel.isbn}\r\n \r\n \r\n {this.state.editModel.tipoAcceso}\r\n \r\n \r\n {this.state.editModel.credenciales}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n }\r\n\r\n render() {\r\n return \r\n {this.state.showLoading && }\r\n

Carga de ficheros de licencias de usuario

\r\n \r\n \r\n \r\n \r\n
\r\n {!this.state.ficheroSeleccionado && this.state.cargaId == null && \r\n \r\n {\r\n if (data != null) {\r\n var state = this._cloneStateForSetState();\r\n if (data.previewItem != null) {\r\n var item = data.previewItem as LicenciaContenidosEditModel;\r\n state.editModel = item;\r\n }\r\n state.ficheroSeleccionado = true;\r\n state.numItemsRead = data.numItemsRead;\r\n state.fileUrl = data.documentUrl;\r\n this.setState(state);\r\n }\r\n }}\r\n />\r\n }\r\n {this.state.ficheroSeleccionado && this.state.cargaId == null && \r\n {this._renderPreviewItem()}\r\n }\r\n {this.state.ficheroSeleccionado && this.state.cargaId != null && \r\n {this._renderResult()}\r\n }\r\n
\r\n
\r\n
\r\n };\r\n}","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Col } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { CargaListItem, CargaListItemPaginatedList, CargasSearch } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { CargaFicherosService } from \"./CargaFicherosService\";\r\n\r\n\r\n\r\n\r\n\r\nclass IndexComp extends IndexPageBase\r\n{\r\n\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n \r\n\r\n \r\n\r\n\r\n ;\r\n }\r\n\r\n \r\n protected _getApiService(): IServiceForIndex {\r\n return new CargaFicherosService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n\r\n\r\n\r\n var columns = [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].fecha),\r\n title: I18n.Strings.cargaFicheros.fecha,\r\n renderField: (item: CargaListItem) => I18n.Strings.formatDate(item.fecha),\r\n colMdWidth: 2,\r\n \r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].usuario),\r\n title: I18n.Strings.colegioUsuarios.login,\r\n renderField: (item: CargaListItem) => item.usuario,\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].fecha),\r\n title: I18n.Strings.cargaFicheros.tipoCarga,\r\n renderField: (item: CargaListItem) => {\r\n return I18n.Strings.getEnumText(`TipoCarga.${item.tipoCarga}`)\r\n },\r\n },\r\n ];\r\n\r\n return columns;\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return null;\r\n }\r\n protected _getPageDescription(): string {\r\n return null;\r\n }\r\n\r\n protected _getEditionItemUrl(item: CargaListItem): string {\r\n return RouteHelper.detailCargaFicheros(item.id);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return null;\r\n }\r\n\r\n\r\n}\r\nexport const Listing = withRouter(IndexComp);","import React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { ComponentBase } from \"../utils/base/ComponentBase\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { ColegioUsuarioEditModel, CargaEditModel, ResultadosCargaUsuariosExcelExport, EstadoCargaItem, ExcelTemplateGetMessage, TipoCarga} from \"../models/dataModels\";\r\nimport { CargaFicherosService } from \"./CargaFicherosService\";\r\nimport { Col, FormGroup, Input, Label, Row, FormFeedback, Button, Nav, NavItem, NavLink, TabContent, TabPane } from \"reactstrap\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { DocumentUpload } from \"../helpers/DocumentUpload\";\r\nimport { CancelIcon, DownloadIcon, FileIcon } from \"../utils/Icons\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { NumericCardBox } from \"../helpers/NumericCardBox\";\r\nimport { Loading } from \"../utils/Loading\";\r\n\r\ninterface UsuariosState {\r\n showLoading: boolean;\r\n\r\n // TODO MBERNAL: ¿Esto para que es, no pega ni con cola?\r\n editModel: ColegioUsuarioEditModel;\r\n\r\n numItemsRead: number;\r\n fileUrl: string;\r\n actualizarSiExiste: boolean;\r\n noCrearLicencias: boolean;\r\n cargaId?: number | null;\r\n numRowsOk?: number | null;\r\n numRowsError?: number | null;\r\n numRowsDuplicated?: number | null;\r\n ficheroSeleccionado: boolean;\r\n}\r\n\r\nexport class Usuarios extends ComponentBase {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n editModel: null,\r\n showLoading: false,\r\n numItemsRead: 0,\r\n fileUrl: null,\r\n ficheroSeleccionado: false,\r\n actualizarSiExiste: false,\r\n noCrearLicencias: false\r\n };\r\n }\r\n\r\n protected _getTemplate() {\r\n\r\n this.setState({ showLoading: true },\r\n () => {\r\n var service = new CargaFicherosService();\r\n var model = {\r\n tipoCarga: TipoCarga.Usuario\r\n } as ExcelTemplateGetMessage;\r\n service.getTemplate(model)\r\n .then(() => this.setState({ showLoading: false }))\r\n });\r\n }\r\n\r\n protected _uploadFile() {\r\n this.setState({ showLoading: true },\r\n () => {\r\n var service = new CargaFicherosService();\r\n\r\n var model = {\r\n fileUrl: this.state.fileUrl,\r\n tipoCarga: TipoCarga.Usuario,\r\n actualizarSiExiste: this.state.actualizarSiExiste,\r\n noCrearLicencias: this.state.noCrearLicencias\r\n } as CargaEditModel;\r\n\r\n service.cargarExcel(model)\r\n .then((data) => {\r\n var state = this._cloneStateForSetState();\r\n state.showLoading = false;\r\n state.numRowsOk = data.numRowsOk;\r\n state.numRowsError = data.numRowsError;\r\n state.numRowsDuplicated = data.numRowsDuplicated;\r\n state.cargaId = data.cargaId;\r\n state.editModel = null;\r\n\r\n this.setState(state);\r\n });\r\n });\r\n }\r\n\r\n protected _downloadResultsExcel(estado: EstadoCargaItem) {\r\n this.setState({ showLoading: true },\r\n () => {\r\n var service = new CargaFicherosService();\r\n var msg = {\r\n cargaId: this.state.cargaId,\r\n estadoCarga: estado,\r\n tipoCarga: TipoCarga.Usuario\r\n } as ResultadosCargaUsuariosExcelExport;\r\n service.descargarResultadosCargaUsuarios(msg)\r\n .then(() => this.setState({ showLoading: false }))\r\n });\r\n }\r\n\r\n protected _renderResult(): JSX.Element {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (this.state.numRowsOk > 0) {\r\n this._downloadResultsExcel(EstadoCargaItem.Correcto);\r\n }\r\n }}\r\n >\r\n 0 ? : null}\r\n numberValue={this.state.numRowsOk}\r\n headerText={I18n.Strings.cargaFicheros.numRowsOk} />\r\n \r\n {\r\n if (this.state.numRowsDuplicated > 0) {\r\n this._downloadResultsExcel(EstadoCargaItem.Duplicado);\r\n }\r\n }}\r\n >\r\n 0 ? : null}\r\n numberValue={this.state.numRowsDuplicated}\r\n headerText={I18n.Strings.cargaFicheros.numRowsDuplicated} />\r\n \r\n {\r\n if (this.state.numRowsError > 0) {\r\n this._downloadResultsExcel(EstadoCargaItem.Erroneo);\r\n }\r\n }}\r\n >\r\n 0 ? : null}\r\n numberValue={this.state.numRowsError}\r\n headerText={I18n.Strings.cargaFicheros.numRowsError} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n protected _renderPreviewItem(): JSX.Element {\r\n\r\n if (this.state.editModel == null) {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n else {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {I18n.Strings.colegioUsuarios.nombre}\r\n \r\n \r\n {I18n.Strings.colegioUsuarios.apellidos}\r\n \r\n \r\n {I18n.Strings.colegioUsuarios.login}\r\n \r\n \r\n {I18n.Strings.colegioUsuarios.tipoUsuario}\r\n \r\n \r\n {I18n.Strings.colegioUsuarios.grupoClase}\r\n \r\n \r\n \r\n \r\n {this.state.editModel.nombre}\r\n \r\n \r\n {this.state.editModel.apellidos}\r\n \r\n \r\n {this.state.editModel.login}\r\n \r\n \r\n {this.state.editModel.tipoUsuario}\r\n \r\n \r\n {this.state.editModel.claseActual}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n }\r\n\r\n render() {\r\n return \r\n {this.state.showLoading && }\r\n\r\n

Carga de ficheros de usuarios

\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.actualizarSiExiste = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, marginRight: 10 }}\r\n name={nameof(this.state.actualizarSiExiste)}\r\n id={nameof(this.state.actualizarSiExiste)}\r\n checked={this.state.actualizarSiExiste || false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.noCrearLicencias = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, marginRight: 10 }}\r\n name={nameof(this.state.noCrearLicencias)}\r\n id={nameof(this.state.noCrearLicencias)}\r\n checked={this.state.noCrearLicencias || false}\r\n />\r\n \r\n \r\n \r\n\r\n
\r\n {!this.state.ficheroSeleccionado && this.state.cargaId == null && \r\n \r\n {\r\n if (data != null) {\r\n var state = this._cloneStateForSetState();\r\n if (data.previewItem != null) {\r\n var item = data.previewItem as ColegioUsuarioEditModel;\r\n state.editModel = item;\r\n }\r\n state.ficheroSeleccionado = true;\r\n state.numItemsRead = data.numItemsRead;\r\n state.fileUrl = data.documentUrl;\r\n this.setState(state);\r\n }\r\n }}\r\n />\r\n }\r\n {this.state.ficheroSeleccionado && this.state.cargaId == null && \r\n {this._renderPreviewItem()}\r\n }\r\n {this.state.ficheroSeleccionado && this.state.cargaId != null && \r\n {this._renderResult()}\r\n }\r\n
\r\n
\r\n
\r\n };\r\n}","import * as React from \"react\";\r\nimport { Alert, Button, Col, FormFeedback, FormGroup, Input, Label, Nav, NavItem, NavLink, Row, TabContent, TabPane } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport LicenciaEnlace from \"../../home/LicenciaEnlace\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { MisMatriculasService } from \"../../miPerfil/profesor/matriculas/MisMatriculasService\";\r\nimport { AlumnoListItemPaginatedList, AlumnosDeClaseSearch, MateriaProfesorEditModel, MatriculaEditModel, TipoUsuario } from \"../../models/dataModels\";\r\nimport { AlertsService } from \"../../utils/AlertsService\";\r\nimport { LinkItem, NavigationHelper } from \"../../utils/base/Breadcrumb\";\r\nimport { ComponentBase } from \"../../utils/base/ComponentBase\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { CancelIcon, SaveIcon } from \"../../utils/Icons\";\r\nimport { Loading } from \"../../utils/Loading\";\r\nimport { MisClasesService } from \"../MisClasesService\";\r\nimport { Alumnos } from \"./Alumnos\";\r\nimport { Contenidos } from \"./Contenidos\";\r\n\r\n\r\n\r\nexport enum MiClaseEditTabs {\r\n Datos = \"datos\",\r\n Alumnos = \"alumnos\",\r\n OtrosAlumnos = \"otros\",\r\n Contenidos = \"contenidos\"\r\n}\r\n\r\ninterface ClaseState {\r\n activeTab?: MiClaseEditTabs;\r\n loading: boolean;\r\n matriculaProfe: MatriculaEditModel;\r\n validationResult: ModelValidation;\r\n\r\n numAlumnosClase: number;\r\n numAlumnosOtrasClases: number;\r\n}\r\n\r\nexport class Edit extends ComponentBase {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n var misClasesSrv = new MisClasesService();\r\n if (!misClasesSrv.puedeAccederAMisClasesProfe()) {\r\n window.location.href = \"/\";\r\n return;\r\n }\r\n\r\n this.state = {\r\n activeTab: this.props.match.params.tab,\r\n loading: true,\r\n matriculaProfe: null,\r\n validationResult: new ModelValidation(),\r\n numAlumnosClase: null,\r\n numAlumnosOtrasClases: null\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n\r\n var srv = new MisMatriculasService();\r\n srv.getById(this.props.match.params.id)\r\n .then((result) => {\r\n this.setState({\r\n matriculaProfe: result,\r\n loading: false\r\n }, () => this.updateBreadCrumb());\r\n })\r\n .catch(error => this.setState({ matriculaProfe: null, loading: false }, () => AlertsService.showError(error)));\r\n }\r\n\r\n private _paintMainForm(): JSX.Element {\r\n return \r\n {this.state.loading && }\r\n {this.state.matriculaProfe != null && \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var item = this.state.matriculaProfe;\r\n item.materia = evt.target.value;\r\n\r\n this.setState({ matriculaProfe: item });\r\n }}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.matriculaProfe.materia))}\r\n name={nameof(this.state.matriculaProfe.materia)}\r\n id={\"clase\" + nameof(this.state.matriculaProfe.materia)}\r\n value={this.state.matriculaProfe.materia || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.matriculaProfe.materia))}\r\n \r\n \r\n
\r\n {this.state.matriculaProfe.licenciaContenidos != null && this.state.matriculaProfe.licenciaContenidos.map((contenido, index) => {\r\n //return \r\n return ;\r\n })}\r\n
\r\n
\r\n
}\r\n
\r\n }\r\n\r\n public render(): JSX.Element {\r\n\r\n\r\n return \r\n
\r\n

Detalle de la clase

\r\n
\r\n {this.state.matriculaProfe != null && \r\n \r\n\r\n \r\n \r\n {this._paintMainForm()}\r\n \r\n\r\n \r\n {this.state.activeTab == MiClaseEditTabs.Contenidos &&\r\n \r\n }\r\n \r\n\r\n \r\n {\r\n this.setState({ numAlumnosClase: resultado.totalCount })\r\n }}\r\n searchModel={{ ...{} as AlumnosDeClaseSearch, claseMateriaId: this.state.matriculaProfe.claseMateriaId }}\r\n />\r\n \r\n\r\n \r\n {I18n.Strings.misClases.alumnosOtrasClasesText}\r\n {\r\n this.setState({ numAlumnosOtrasClases: resultado.totalCount })\r\n }}\r\n searchModel={{ ...{} as AlumnosDeClaseSearch, repetidor: true, claseMateriaId: this.state.matriculaProfe.claseMateriaId }}\r\n />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
;\r\n\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.matriculaProfe.materia || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.matriculaProfe.materia), I18n.Strings.validationErrors.valueRequired(I18n.Strings.grupoContenido.materia));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected _validateState(): Promise {\r\n\r\n var validationProm = Promise.resolve(this._validateModelLocal())\r\n .then(localValidationResult => {\r\n return localValidationResult;\r\n });\r\n\r\n return validationProm;\r\n }\r\n\r\n\r\n protected _errorMessage(fieldName: string): JSX.Element {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n protected _errorClass(fieldName: string): string {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return \"is-invalid\";\r\n }\r\n return null;\r\n }\r\n\r\n protected _validateAndSubmit(): void {\r\n this._validateState()\r\n .then(validationResultTemp => {\r\n\r\n if (validationResultTemp == null) {\r\n alert(\"error validation\");\r\n return false;\r\n }\r\n var validationResult = new ModelValidation();\r\n validationResult.load(validationResultTemp);\r\n\r\n if (validationResult.isOk) {\r\n console.info(\"La validación es correcta\");\r\n this.setState({ loading: true });\r\n\r\n var model = {\r\n materia: this.state.matriculaProfe.materia,\r\n claseMateriaId: this.state.matriculaProfe.claseMateriaId\r\n } as MateriaProfesorEditModel;\r\n\r\n var srv = new MisMatriculasService();\r\n srv.updateMateria(model).then((result) => {\r\n this.setState({\r\n validationResult: new ModelValidation(),\r\n loading: false\r\n });\r\n });\r\n\r\n }\r\n else {\r\n console.log(\"Validación no correcta\");\r\n console.warn(validationResult);\r\n this.setState({ validationResult: validationResult, activeTab: MiClaseEditTabs.Datos });\r\n }\r\n });\r\n }\r\n\r\n\r\n private updateBreadCrumb() {\r\n var items = [\r\n {\r\n text: I18n.Strings.menu.misClases,\r\n link: RouteHelper.listMisClasesProfesor()\r\n },\r\n {\r\n text: `${this.state.matriculaProfe.clase} - ${this.state.matriculaProfe.materia}`,\r\n link: \"\"\r\n },\r\n\r\n ] as LinkItem[];\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n}","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Button, Col, FormGroup, Input, InputGroup, Label, Row } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { CargaGetDetailResult, EstadoCargaItem, ResultadosCargaLicenciasExcelExport, ResultadosCargaUsuariosExcelExport, TipoCarga } from \"../models/dataModels\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { LinkItem, NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { DownloadIcon } from \"../utils/Icons\";\r\nimport { CargaFicherosService } from \"./CargaFicherosService\";\r\n\r\n\r\n\r\nexport class DetailComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nueva carga\";\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: CargaGetDetailResult): string {\r\n return `Detalle de carga de registros`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return null;\r\n }\r\n\r\n protected _loadStateFromServer(id?: number, callback?: (data: CargaGetDetailResult) => void) {\r\n\r\n if (id && id !== 0 && !isNaN(parseInt(id.toString()))) {\r\n\r\n const state = new GenericEditState();\r\n state.showLoading = true;\r\n state.activeTab = this.props.match.params.tab;\r\n\r\n this.setState(state, () => {\r\n var service = new CargaFicherosService();\r\n service.getById(id)\r\n .then((data) => {\r\n this._applyDataFromServerInState(data, null, () => {\r\n if (callback != null) {\r\n callback(data);\r\n }\r\n });\r\n })\r\n .catch((reason) => this.setState({ showLoading: false }, () => AlertsService.showError(reason)));\r\n });\r\n }\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n return \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {this.state.editModel.correctos != 0 &&\r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {this.state.editModel.duplicados != 0 &&\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n {this.state.editModel.erroneos != 0 &&\r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n ;\r\n }\r\n\r\n protected _downloadResultsExcel(estado: EstadoCargaItem) {\r\n if (this.state.editModel.tipoCarga == TipoCarga.Licencia) {\r\n this.setState({ showLoading: true },\r\n () => {\r\n var service = new CargaFicherosService();\r\n var msg = {\r\n cargaId: this.state.editModel.id,\r\n estadoCarga: estado,\r\n tipoCarga: this.state.editModel.tipoCarga\r\n } as ResultadosCargaLicenciasExcelExport;\r\n\r\n service.descargarResultadosCargaLicencias(msg)\r\n .then(() => this.setState({ showLoading: false }))\r\n });\r\n }\r\n else if (this.state.editModel.tipoCarga == TipoCarga.Usuario){\r\n this.setState({ showLoading: true },\r\n () => {\r\n var service = new CargaFicherosService();\r\n var msg = {\r\n cargaId: this.state.editModel.id,\r\n estadoCarga: estado,\r\n tipoCarga: this.state.editModel.tipoCarga\r\n } as ResultadosCargaUsuariosExcelExport;\r\n\r\n service.descargarResultadosCargaUsuarios(msg)\r\n .then(() => this.setState({ showLoading: false }))\r\n });\r\n }\r\n }\r\n\r\n protected _extraButtons(): JSX.Element {\r\n\r\n return \r\n \r\n Descargar fichero\r\n \r\n ;\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.detailCargaFicheros(id);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.cargaFicheros();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n return null;\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n return validation;\r\n }\r\n\r\n\r\n protected updateBreadCrumb(model: CargaGetDetailResult, isInitialMount?: boolean) {\r\n\r\n if (!isInitialMount) return;\r\n\r\n var items = [] as LinkItem[];\r\n\r\n items.push({\r\n text: \"Carga de ficheros\",\r\n link: RouteHelper.cargaFicheros()\r\n });\r\n\r\n items.push({\r\n text: I18n.Strings.getEnumText(`TipoCarga.${model.tipoCarga}`) + \" - \" + I18n.Strings.formatDate(model.fecha), \r\n link: null\r\n });\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n\r\n}\r\n\r\nexport const Detail = withRouter(DetailComp)","import {\r\n MatriculaProfesorEditModel, MatriculaProfesorListItemPaginatedList, MatriculasProfesorSearch, ModelValidationResult,\r\n MateriaProfesorPersistResult, MateriaProfesorEditModel\r\n} from \"../../../models/dataModels\";\r\nimport { ApiFetcher } from \"../../../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../../../utils/base/BaseServices\";\r\n\r\nexport class MisMatriculasService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n \r\n \r\n\r\n search(searchData: MatriculasProfesorSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/miPerfil/searchClasses\", searchData);\r\n return prom;\r\n }\r\n\r\n delete(id: number) : Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.delete(`intranet/miPerfil/deleteClass/${id}`);\r\n return prom;\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/miPerfil/editClass/${id}`);\r\n return prom;\r\n }\r\n validate(model: MatriculaProfesorEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfil/validateClass`, model);\r\n return prom;\r\n }\r\n\r\n create(model: MatriculaProfesorEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfil/createClass`, model);\r\n return prom;\r\n }\r\n\r\n update(id: string | number, model: MatriculaProfesorEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/miPerfil/updateClass/${id}`, model);\r\n return prom;\r\n }\r\n\r\n exportExcel(search: MatriculasProfesorSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n updateMateria(model: MateriaProfesorEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfil/updateMateria`, model);\r\n return prom;\r\n }\r\n}","import {\r\n AlumnosDeClaseSearch, AlumnoListItem, AlumnoListItemPaginatedList, ModelValidationResult, ColegioUsuarioEditModel\r\n} from \"../../models/dataModels\";\r\nimport { ApiFetcher } from \"../../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../../utils/base/BaseServices\";\r\n\r\nexport class AlumnosService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n \r\n search(searchData: AlumnosDeClaseSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/miPerfil/searchStudents\", searchData);\r\n prom.then(res => {\r\n res.items.forEach(item => {\r\n item.fechaUltimoAcceso = item.fechaUltimoAcceso == null ? null : new Date(item.fechaUltimoAcceso);\r\n });\r\n });\r\n return prom;\r\n }\r\n\r\n delete(id: number) : Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n validate(model: ColegioUsuarioEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n create(model: ColegioUsuarioEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n update(id: string | number, model: ColegioUsuarioEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n exportExcel(search: AlumnosDeClaseSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { AlumnoListItem, AlumnoListItemPaginatedList, AlumnosDeClaseSearch } from \"../../models/dataModels\";\r\nimport { IServiceForIndex } from \"../../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../../utils/base/IndexPageBase\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { AlumnosService } from \"./AlumnosService\";\r\n\r\n\r\n\r\ninterface AlumnosDeClaseSearchEx extends AlumnosDeClaseSearch {\r\n nivelEducativo?: string;\r\n clase?: string;\r\n}\r\n\r\nclass AlumnosComp extends IndexPageBase\r\n{\r\n protected _getInitialSearchParams(): AlumnosDeClaseSearch {\r\n var search = {\r\n claseMateriaId: this.props.searchModel?.claseMateriaId,\r\n repetidor: this.props.searchModel?.repetidor,\r\n } as AlumnosDeClaseSearch;\r\n\r\n return search;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new AlumnosService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nombre),\r\n title: I18n.Strings.colegioUsuarios.nombre,\r\n renderField: (item) => item.nombre + ' ' + item.apellidos,\r\n colMdWidth: 7\r\n },\r\n \r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].haAccedido),\r\n title: I18n.Strings.colegioUsuarios.activo,\r\n renderField: (item) => item.haAccedido ? \"Sí\" : \"No\",\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].fechaUltimoAcceso),\r\n title: I18n.Strings.colegioUsuarios.fechaUltimoAcceso,\r\n renderField: (item) => I18n.Strings.formatLastAccessDate(item.fechaUltimoAcceso),\r\n colMdWidth: 3\r\n }\r\n ];\r\n }\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return null;\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.grupoClase.misClasesProfesorTitulo;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.grupoClase.misClasesProfesorTexto;\r\n }\r\n\r\n \r\n protected _getEditionItemUrl(item: AlumnoListItem): string {\r\n return RouteHelper.editMiClaseProfesor(item.id);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return null;\r\n }\r\n\r\n}\r\n\r\nexport const Alumnos = withRouter(AlumnosComp);","import * as React from \"react\";\r\nimport { RouteComponentProps, withRouter } from \"react-router-dom\";\r\nimport { Alert } from \"reactstrap\";\r\nimport { Actividad, CalificacionInfo, ClaseMateriaGetCalificacionesResult, GetEstructuraContenidosClaseMateriaResult, Unidad, UsuarioInfo } from \"../../models/dataModels\";\r\nimport { AlertsService } from \"../../utils/AlertsService\";\r\nimport { ApiFetcher } from \"../../utils/ApiFetcher\";\r\nimport { ComponentBase } from \"../../utils/base/ComponentBase\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { Loading } from \"../../utils/Loading\";\r\n\r\n\r\n\r\ninterface ContenidosProps {\r\n claseMateriaId: number;\r\n}\r\n\r\ninterface ContenidosState {\r\n loading: boolean;\r\n contenidos: GetEstructuraContenidosClaseMateriaResult;\r\n usuarios: UsuarioInfo[];\r\n calificaciones: CalificacionInfo[];\r\n anchoUnidad: number;\r\n anchoUsuarios: number;\r\n}\r\n\r\nclass ContenidosComp extends ComponentBase, ContenidosState>\r\n{\r\n public constructor(props: ContenidosProps & RouteComponentProps) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n contenidos: null,\r\n usuarios: [],\r\n calificaciones: [],\r\n anchoUnidad: 100,\r\n anchoUsuarios: 0\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n var service = new ContenidosService();\r\n var contentsProm = service.ObtenerEstructuraContenidos(this.props.claseMateriaId);\r\n var calificacionesProm = service.ObtenerCalificaciones(this.props.claseMateriaId);\r\n\r\n Promise.all([contentsProm, calificacionesProm])\r\n .then(([contenidos, calificaciones]) => {\r\n var anchoUnidad = 25;\r\n if (calificaciones.usuarios.length < 10) {\r\n anchoUnidad = 40\r\n } else \r\n if (calificaciones.usuarios.length > 15) {\r\n anchoUnidad = 15;\r\n }\r\n var anchoUsuario = (100 - anchoUnidad) / calificaciones.usuarios.length;\r\n\r\n this.setState({\r\n loading: false,\r\n contenidos: contenidos,\r\n usuarios: calificaciones.usuarios,\r\n calificaciones: calificaciones.calificaciones,\r\n anchoUnidad: anchoUnidad,\r\n anchoUsuarios: anchoUsuario\r\n });\r\n }).catch(error => this.setState({ loading: false }, () => AlertsService.showError(error)));\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (this.state.loading) {\r\n return ;\r\n }\r\n if (this.state.contenidos == null) {\r\n return
No he encontrado nada
;\r\n }\r\n var contenidos = this.state.contenidos.contenidos || [];\r\n if (contenidos.length == 0) {\r\n return
La materia no tiene contenidos asociados
;\r\n }\r\n\r\n return \r\n {contenidos.map((contenido, index) => {\r\n return \r\n

{contenido.nombre}

\r\n {contenido.libros.length == 0 && {I18n.Strings.misClases.noHayActividades}}\r\n {contenido.libros.map((libro, indexLibro) => {\r\n return \r\n {contenido.libros.length != 1 && {libro.titulo}}\r\n \r\n \r\n \r\n \r\n {this.state.usuarios.map((usuario, idxUsuario) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n \r\n {this.state.usuarios.map((usuario, idxUsuario) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {this._pintarUnidades(libro.unidades, this.state.usuarios.length)}\r\n \r\n
Unidad/actividad\r\n
{usuario.nombre}
\r\n
\r\n
;\r\n })}\r\n
;\r\n })}\r\n\r\n
;\r\n }\r\n\r\n private _pintarUnidades(unidades: Unidad[], numAlumnos: number): React.ReactNode {\r\n\r\n var unidadesOrdenadas = unidades.sort((u1, u2) => u1.orden >= u2.orden ? 1 : -1);\r\n\r\n return \r\n {unidadesOrdenadas.map((unidad, indexUnidad) => {\r\n return \r\n \r\n\r\n {unidad.nombre}\r\n \r\n \r\n {this._pintarActividades(unidad.actividades, numAlumnos)}\r\n \r\n })}\r\n ;\r\n }\r\n\r\n private _pintarActividades(actividades: Actividad[], numAlumnos: number): JSX.Element {\r\n\r\n var actividadesOrdenadas = actividades.sort((a1, a2) => a1.orden >= a2.orden ? 1 : -1);\r\n return \r\n {actividadesOrdenadas.map((actividad, indexAct) => {\r\n return \r\n \r\n {actividad.nombre}\r\n {this._pintarResultados(actividad, numAlumnos)}\r\n \r\n })}\r\n ;\r\n }\r\n\r\n private _pintarResultados(actividad: Actividad, numAlumnos: number): JSX.Element {\r\n var resultados = [] as JSX.Element[];\r\n\r\n {\r\n this.state.usuarios.forEach((usuario, idxUsuario) => {\r\n var resultado = null as number;\r\n\r\n var resItem = this.state.calificaciones.find((c) => c.actividadId == actividad.id && c.usuarioId == usuario.id);\r\n if (resItem) {\r\n resultado = resItem.calificacion;\r\n }\r\n\r\n resultados.push(\r\n \r\n {this._pintarResultado(resultado, resItem)}\r\n \r\n );\r\n })\r\n }\r\n\r\n return {resultados};\r\n }\r\n\r\n private _pintarResultado(resultado: number, resItem: CalificacionInfo): JSX.Element {\r\n if (resultado == null) {\r\n return -;\r\n }\r\n else {\r\n if (resItem.urlResultados == '') {\r\n return {resultado.toLocaleString()};\r\n }\r\n else {\r\n return \r\n {resultado.toLocaleString()}\r\n \r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nclass ContenidosService {\r\n\r\n public ObtenerEstructuraContenidos(claseMateriaId: number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var estructuraProm = apiFetcher.getByUrl(`intranet/grupoclase/${claseMateriaId}/estructura-contenidos`);\r\n\r\n return estructuraProm;\r\n }\r\n\r\n public ObtenerCalificaciones(claseMateriaId: number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var estructuraProm = apiFetcher.getByUrl(`intranet/grupoclase/${claseMateriaId}/calificaciones`);\r\n\r\n return estructuraProm;\r\n }\r\n}\r\n\r\nexport const Contenidos = withRouter(ContenidosComp);","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Row, Col, FormGroup, Label, Input, Button } from \"reactstrap\";\r\n\r\nimport { MisMatriculasService } from \"../../miPerfil/profesor/matriculas/MisMatriculasService\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { MatriculaProfesorListItem, MatriculaProfesorListItemPaginatedList, MatriculasProfesorSearch, TipoUsuario } from \"../../models/dataModels\";\r\nimport { IServiceForIndex } from \"../../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../../utils/base/IndexPageBase\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { ClasesDropDown } from \"./ClasesDropDown\";\r\nimport { MisClasesService } from \"../MisClasesService\";\r\n\r\ninterface MatriculasProfesorSearchSearchEx extends MatriculasProfesorSearch {\r\n nivelEducativo?: string;\r\n clase?: string;\r\n}\r\n\r\nclass MisClasesComp extends IndexPageBase\r\n{\r\n private _misClasesSrv: MisClasesService;\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n this._misClasesSrv = new MisClasesService();\r\n\r\n if (!this._misClasesSrv.puedeAccederAMisClasesProfe()) {\r\n window.location.href = \"/\";\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n if (this._misClasesSrv.puedeAccederAMisClasesProfe()) {\r\n super.componentDidMount();\r\n }\r\n }\r\n\r\n protected _getInitialSearchParams(): MatriculasProfesorSearch {\r\n\r\n var search = {\r\n colegioId: ClientContext.Current.cursoEscolarActivoId,\r\n usuarioId: ClientContext.Current.usuarioId\r\n } as MatriculasProfesorSearch;\r\n\r\n return search;\r\n }\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n if (this.props.isEmbedded) {\r\n return null;\r\n }\r\n return \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.searchParams.claseId = claseId;\r\n state.searchParams.clase = clase;\r\n\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new MisMatriculasService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].cursoEscolar),\r\n title: I18n.Strings.colegioUsuarios.cursoEscolar,\r\n renderField: (item) => item.cursoEscolar,\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].clase),\r\n title: I18n.Strings.grupoClase.grupoClase,\r\n renderField: (item) => item.clase,\r\n colMdWidth: 3\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].materia),\r\n title: I18n.Strings.grupoContenido.materia,\r\n renderField: (item) => item.materia,\r\n colMdWidth: 3\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].numAlumnos),\r\n title: I18n.Strings.grupoContenido.numAlumnos,\r\n renderField: (item) => I18n.Strings.formatNumber(item.numAlumnos),\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: null,\r\n title: null,\r\n renderField: (item) => null,\r\n colMdWidth: 1\r\n }\r\n ];\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.grupoClase.misClasesProfesorTitulo;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.grupoClase.misClasesProfesorTexto;\r\n }\r\n\r\n\r\n protected _getEditionItemUrl(item: MatriculaProfesorListItem): string {\r\n return RouteHelper.editMiClaseProfesor(item.id);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return null;\r\n }\r\n\r\n}\r\n\r\nexport const MisClases = withRouter(MisClasesComp);","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import nameof from \"ts-nameof.macro\";\r\nimport { MatriculaEditModel, MatriculaListItem, MatriculaListItemPaginatedList, MatriculasSearch, ModelValidationResult } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\n\r\n\r\nexport class MatriculasService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n\r\n getByClaseMateriaId(claseMateriaId: number, cursoEscolarId: number): Promise {\r\n\r\n var item = {} as MatriculaListItem;\r\n var serchData = {\r\n claseMateriaId: claseMateriaId,\r\n cursoEscolarId:cursoEscolarId,\r\n rowsPerPage: -1,\r\n noTotalCount: true,\r\n orderByColumn: nameof(item.usuario)\r\n } as MatriculasSearch;\r\n\r\n var result = this.search(serchData)\r\n .then(res => {\r\n return res.items\r\n });\r\n\r\n return result;\r\n }\r\n\r\n search(searchData: MatriculasSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/colegio/matriculas/search\", searchData);\r\n\r\n prom.then(res => {\r\n\r\n res.items.forEach((val) => {\r\n val.fecha = new Date(val.fecha);\r\n });\r\n\r\n return res;\r\n });\r\n\r\n return prom;\r\n }\r\n\r\n delete(id: number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.delete(`intranet/colegio/matriculas/${id}`);\r\n return prom;\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/colegio/matriculas/${id}`);\r\n prom = prom.then(model => {\r\n model.fecha = new Date(model.fecha);\r\n return model;\r\n });\r\n return prom;\r\n }\r\n validate(model: MatriculaEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/colegio/matriculas/validate`, model);\r\n return prom;\r\n }\r\n\r\n create(model: MatriculaEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/colegio/matriculas/`, model);\r\n return prom;\r\n }\r\n\r\n update(id: string | number, model: MatriculaEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/colegio/matriculas/${id}`, model);\r\n return prom;\r\n }\r\n\r\n exportExcel(search: MatriculasSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n}","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\nimport { ColegioUsuarioEditModel, MatriculaListItem, MatriculasSearch, TipoUsuario } from \"../models/dataModels\";\r\nimport { ColegioUsuariosService } from \"./ColegioUsuariosService\";\r\nimport { MatriculasService } from \"../matriculas/MatriculasService\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport { Button, Col, FormGroup, Label, Modal, ModalBody, ModalFooter, ModalHeader, Row } from \"reactstrap\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { UsuarioEditTabs } from \"./Edit\";\r\nimport { EditIcon } from \"../utils/Icons\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\n\r\ninterface UserNameToolTipProps {\r\n userId: number;\r\n userName: string;\r\n}\r\n\r\nfunction UserNameToolTip(props: UserNameToolTipProps) {\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [user, setUser] = React.useState(null);\r\n const [matriculas, setMatriculas] = React.useState(null);\r\n const [isSending, setIsSending] = React.useState(false)\r\n\r\n const sendRequest = React.useCallback(async () => {\r\n if (isSending) return\r\n\r\n setIsSending(true);\r\n\r\n if ((props.userId || 0) !== 0) {\r\n setIsLoading(true);\r\n var srv = new ColegioUsuariosService();\r\n srv.getById(props.userId)\r\n .then((user) => {\r\n setUser(user);\r\n searchMatriculas(user);\r\n })\r\n .catch((error) => console.log(error));\r\n }\r\n\r\n }, [isSending])\r\n\r\n function searchMatriculas(user: ColegioUsuarioEditModel) {\r\n\r\n if (user.tipoUsuario == TipoUsuario.Alumno) {\r\n var search = {\r\n usuarioId: user.id,\r\n cursoEscolarId: ClientContext.Current.cursoEscolarActivoId\r\n } as MatriculasSearch;\r\n\r\n var srvMatriculas = new MatriculasService();\r\n srvMatriculas.search(search)\r\n .then((matriculas) => {\r\n setMatriculas(matriculas.items);\r\n setIsSending(false);\r\n setIsLoading(false);\r\n })\r\n .catch((error) => console.log(error));\r\n }\r\n else {\r\n setIsSending(false);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n function resetData() {\r\n setUser(null);\r\n setMatriculas(null);\r\n }\r\n\r\n if (ClientContext.Current.tipoUsuario == TipoUsuario.Alumno) {\r\n return (\r\n {props.userName}\r\n );\r\n }\r\n\r\n return (\r\n \r\n {isLoading && }\r\n {!isLoading && \r\n {props.userName}\r\n }\r\n {!isLoading && user != null && {\r\n resetData();\r\n }} >\r\n resetData()} />}\r\n >\r\n {user.nombre} {user.apellidos} - {user.login }\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{user.claseActual || \"-\"}
\r\n \r\n \r\n
\r\n {!isLoading && matriculas != null && matriculas.length > 0 && \r\n \r\n \r\n {I18n.Strings.colegioUsuarios.tabMatriculas}:\r\n \r\n \r\n
\r\n {matriculas.map((matricula, index) => {\r\n return \r\n \r\n {matricula.clase}\r\n \r\n \r\n {matricula.materia}\r\n \r\n \r\n })}\r\n
\r\n
}\r\n
\r\n \r\n \r\n {I18n.Strings.edit}\r\n \r\n {\r\n resetData();\r\n }}>\r\n {I18n.Strings.cancel}\r\n \r\n \r\n
}\r\n
\r\n );\r\n}\r\n\r\nexport default UserNameToolTip;","import { stat } from \"fs/promises\";\r\nimport * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Button, Col, DropdownItem, FormGroup, Input, Label, Nav, NavItem, NavLink, Row, TabContent, TabPane } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { AccesosContenido } from \"../accesos/AccesosContenido\";\r\nimport { ColegioUsuariosService } from \"../colegioUsuarios/ColegioUsuariosService\";\r\nimport { ContenidosService } from \"../contenidos/maestros/ContenidosService\";\r\nimport { ContenidosPicker as ContenidosDigitalesPicker, ContenidosDigitalesColegioSearchEx } from \"../contenidos/colegio/Picker\";\r\n\r\nimport { ContenidosPicker as ContenidosPapelPicker, ContenidosPapelColegioSearchEx } from \"../contenidos/colegioPapel/Picker\";\r\n\r\nimport { CustomDatePicker } from \"../helpers/CustomDatePicker\";\r\nimport { DropDownButton } from \"../helpers/DropDownButton\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { ImpersonationService } from \"../login/Impersonate\";\r\nimport { MatriculasUsuarioDropDown } from \"../matriculas/MatriculasUsuarioDropDown\";\r\nimport { MatriculasPicker } from \"../matriculas/Picker\";\r\nimport { OrigenLicencia, MatriculaListItem, TipoAcceso, TipoContenido, TipoGrafico, TipoUsuario, Editorial, TipoUsuarioContenido, YesNo, EstadoLicencia } from \"../models/dataModels\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { LinkItem, NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { DownloadIcon, UserIcon, ViewIcon } from \"../utils/Icons\";\r\nimport { CredencialesEdit } from \"./CredencialesEdit\";\r\nimport { LicenciaContenidosEditModelEx, LicenciasColegioService } from \"./LicenciasColegioService\";\r\nimport { TipoAccesoDropDown } from \"./TipoAccesoDropDown\";\r\nimport { logAndExtractInfoFromException } from \"../utils/ValuesFormatter\";\r\nimport { YesNoDropDown } from \"../helpers/EnumDropDown\";\r\n\r\n\r\n\r\nexport enum LicenciaContenidosEditTabs {\r\n Datos = \"datos\",\r\n EstadisticaContenidos = \"estadisticas\",\r\n Burlington = \"burlington\"\r\n}\r\n\r\n\r\n\r\n/*\r\nclass UserPasswordObj {\r\n User: string;\r\n Password: string;\r\n}\r\n*/\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nueva asignación de licencia\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: LicenciaContenidosEditModelEx): string {\r\n return `Editar asignación de licencia`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new LicenciasColegioService() as any as IServiceForEdit;\r\n }\r\n\r\n private _deboMostrarCredenciales(): boolean {\r\n\r\n if (!this.state.editModel.boolContenidoDigital) {\r\n return false;\r\n }\r\n\r\n var mostrarCredenciales = this.state.editModel.tipoContenido == TipoContenido.Virtual\r\n || this.state.editModel.tipoContenido == TipoContenido.Licencia\r\n || this.state.editModel.editorial == Editorial.Milton\r\n || this.state.editModel.editorial == Editorial.Ramatics\r\n || this.state.editModel.editorial == Editorial.Planeta;\r\n\r\n if (mostrarCredenciales &&\r\n (this.state.editModel.editorial == Editorial.Burlington && this.state.editModel.tipoUsuario == TipoUsuarioContenido.Profesor)) {\r\n return false;\r\n }\r\n\r\n return mostrarCredenciales;\r\n }\r\n\r\n\r\n private _paintMainForm(): JSX.Element {\r\n\r\n var puedeEditarNumPedido = (this.state.editModel.id == 0 || this.state.editModel.origen != OrigenLicencia.Tienda)\r\n || ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal;\r\n\r\n\r\n return \r\n\r\n \r\n {this.state.editModel.id > 0 && \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n {this.state.editModel.pedidoJsonUrl != null &&\r\n \r\n \r\n \r\n }\r\n {this.state.editModel.id != 0 && (this.state.editModel.numPedido || \"\").length != 0 &&\r\n \r\n \r\n \r\n }\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.numPedido = evt.target.value;\r\n this.setState(state);\r\n }}\r\n disabled={!puedeEditarNumPedido}\r\n className={\"form-control \"}\r\n name={nameof(this.state.editModel.numPedido)}\r\n id={\"licencias\" + nameof(this.state.editModel.numPedido)}\r\n value={this.state.editModel.numPedido || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {!puedeEditarNumPedido && }\r\n {puedeEditarNumPedido && {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.fechaPedido = val == null ? null : new Date(val);\r\n if (state.editModel.fechaPedido != null) {\r\n state.editModel.fechaPedido.setHours(12);\r\n }\r\n this.setState(state);\r\n }}\r\n />}\r\n \r\n \r\n \r\n {this.props.match.params.usuarioId != null && \r\n \r\n\r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.editModel.matriculaId = matriculaId;\r\n state.editModel.matricula = matricula;\r\n\r\n if (item.data != null) {\r\n var dataItem = item.data as MatriculaListItem;\r\n state.editModel.tipoUsuario = dataItem.rol;\r\n state.editModel.nivelEducativoId = dataItem.nivelEducativoId;\r\n }\r\n else {\r\n state.editModel.nivelEducativoId = null;\r\n state.editModel.tipoUsuario = null;\r\n }\r\n\r\n this.setState(state);\r\n }}\r\n />\r\n }\r\n\r\n {this.props.match.params.usuarioId == null &&\r\n \r\n {I18n.Strings.licenciasContenido.matricula}\r\n {ClientContext.Current.tipoUsuario == TipoUsuario.AdminColegio || ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal &&\r\n \r\n {this.state.editModel.id != 0 && this.state.editModel.matriculaId != 0 &&\r\n \r\n \r\n \r\n }\r\n {this.state.editModel.id != 0 && this.state.editModel.usuarioId != 0 &&\r\n \r\n \r\n }\r\n \r\n }\r\n }\r\n required={true}\r\n\r\n disabled={!puedeEditarNumPedido}\r\n itemId={this.state.editModel.matriculaId}\r\n itemName={this.state.editModel.matricula}\r\n getIdFromItem={(item) => item.id}\r\n getNameFromItem={(item) => `${item.usuario} - ${item.clase}- ${item.materia}`}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.editModel.matriculaId))}\r\n onSelected={(matriculaId, matricula, item) => {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.editModel.matriculaId = matriculaId;\r\n state.editModel.matricula = matricula;\r\n state.editModel.usuarioId = item.usuarioId;\r\n state.editModel.usuario = item.usuario;\r\n state.editModel.nivelEducativoId = item.nivelEducativoId;\r\n this.setState(state);\r\n }}\r\n />\r\n }\r\n\r\n \r\n\r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n\r\n newState.editModel.boolContenidoDigital = value == YesNo.Yes.toString() ? true : value == YesNo.No.toString() ? false : null;\r\n\r\n newState.editModel.contenidoId = null;\r\n newState.editModel.contenidoId = null;\r\n newState.editModel.productoTiendaId = null;\r\n newState.editModel.credenciales = null;\r\n\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n\r\n \r\n {this.state.editModel.boolContenidoDigital &&\r\n \r\n {I18n.Strings.licenciasContenido.contenido}\r\n {this.state.editModel.isbn != null && <> ({this.state.editModel.isbn})}\r\n {(ClientContext.Current.tipoUsuario == TipoUsuario.AdminColegio || ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal) &&\r\n \r\n {this.state.editModel.id != 0 && this.state.editModel.contenidoId != 0 &&\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n }\r\n itemId={this.state.editModel.contenidoId}\r\n itemName={this.state.editModel.contenido}\r\n getIdFromItem={(item) => item.id}\r\n disabled={this.state.editModel.id != 0}\r\n mostrarNiveles={true}\r\n mostrarSoloColegio={true}\r\n key={this.state.editModel.nivelEducativoId || \"contPicker\"}\r\n nivelEducativoId={this.state.editModel.nivelEducativoId}\r\n searchParams={{\r\n ...{} as ContenidosDigitalesColegioSearchEx,\r\n nivelEducativoId: this.state.editModel.nivelEducativoId,\r\n claseId: this.state.editModel.claseId,\r\n }}\r\n getNameFromItem={(item) => {\r\n var enumName = I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n return `${enumName} - ${item.nombre}`;\r\n }}\r\n cursoEscolarId={ClientContext.Current.cursoEscolarActivoId}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.editModel.contenidoId))}\r\n onSelected={(contenidoId, contenido, item) => {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.editModel.contenidoId = contenidoId;\r\n state.editModel.contenido = contenido;\r\n state.editModel.editorial = item == null ? null : item.editorial;\r\n state.editModel.tipoContenido = item.tipoContenido;\r\n state.editModel.tipoAcceso = item.tipoAccesoPorDefecto.length == 1 ? item.tipoAccesoPorDefecto[0] : null;\r\n this.setState(state);\r\n }}\r\n />\r\n }\r\n\r\n {!this.state.editModel.boolContenidoDigital &&\r\n item.id}\r\n disabled={this.state.editModel.id != 0}\r\n mostrarNiveles={true}\r\n mostrarSoloColegio={true}\r\n key={this.state.editModel.nivelEducativoId || \"contPicker\"}\r\n nivelEducativoId={this.state.editModel.nivelEducativoId}\r\n searchParams={{\r\n ...{} as ContenidosPapelColegioSearchEx,\r\n nivelEducativoId: this.state.editModel.nivelEducativoId,\r\n claseId: this.state.editModel.claseId,\r\n }}\r\n getNameFromItem={(item) => {\r\n var enumName = I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n return `${enumName} - ${item.nombre}`;\r\n }}\r\n cursoEscolarId={ClientContext.Current.cursoEscolarActivoId}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.editModel.productoTiendaId))}\r\n onSelected={(productoTiendaId, productoTienda, item) => {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.editModel.productoTiendaId = productoTiendaId;\r\n state.editModel.contenido = productoTienda;\r\n state.editModel.editorial = item == null ? null : item.editorial;\r\n state.editModel.tipoContenido = null;\r\n state.editModel.tipoAcceso = null;\r\n this.setState(state);\r\n }}\r\n />\r\n }\r\n \r\n\r\n {this._deboMostrarCredenciales() && <>\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (tipoLicencia != '' && tipoLicencia != null) {\r\n newState.editModel.tipoAcceso = tipoLicencia as TipoAcceso;\r\n }\r\n else {\r\n newState.editModel.tipoAcceso = null;\r\n }\r\n newState.editModel.credenciales = \"\";\r\n this.setState(newState);\r\n }}\r\n value={this.state.editModel.tipoAcceso}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.tipoAcceso))}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.credenciales = value;\r\n this.setState(state);\r\n }}\r\n name={nameof(this.state.editModel.credenciales)}\r\n value={this.state.editModel.credenciales || \"\"}\r\n\r\n formValidation={this.state.validationResult}\r\n required={true}\r\n tipoAcceso={this.state.editModel.tipoAcceso}\r\n editorial={this.state.editModel.editorial}\r\n />\r\n \r\n \r\n }\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.asignacionLicenciaManual = evt.target.checked;\r\n newState.editModel.tipoAccesoManual = null;\r\n newState.editModel.mensajeAccesoManual = null;\r\n this.setState(newState);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, marginLeft: 10 }}\r\n id={\"licencias\" + nameof(this.state.editModel.asignacionLicenciaManual)}\r\n checked={this.state.editModel.asignacionLicenciaManual}\r\n />\r\n \r\n \r\n \r\n

{I18n.Strings.licenciasContenido.asignacionLicenciaManualExplicacion}

\r\n\r\n\r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.tipoAccesoManual = value as TipoAcceso;\r\n this.setState(newState);\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.tipoAccesoManual))}\r\n \r\n\r\n\r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.mensajeAccesoManual = evt.target.value;\r\n this.setState(newState);\r\n\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.mensajeAccesoManual))}\r\n \r\n \r\n
\r\n
;\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n if ((this.state.editModel.id || 0) == 0) {\r\n return this._paintMainForm();\r\n }\r\n\r\n return \r\n \r\n\r\n \r\n \r\n {this._paintMainForm()}\r\n \r\n\r\n \r\n {this.state.activeTab == LicenciaContenidosEditTabs.EstadisticaContenidos &&\r\n \r\n

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n\r\n {this.state.editModel.id != 0 && this.state.editModel.editorial == Editorial.Burlington &&\r\n \r\n {this._paintTabBurlington()}\r\n \r\n }\r\n\r\n
\r\n
;\r\n\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editLicenciasColegio(id, this.props.match.params.usuarioId, this.props.match.params.contenidoId, LicenciaContenidosEditTabs.Datos);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listLicenciasColegio(this.props.match.params.usuarioId, this.props.match.params.contenidoId);\r\n }\r\n\r\n private _paintTabBurlington(): JSX.Element {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.editModel.logsBurlington.map((item, index) => {\r\n return \r\n \r\n \r\n \r\n \r\n ;\r\n })}\r\n \r\n
FechaAccionResponseRequest
{I18n.Strings.formatDateTime(item.date)}{I18n.Strings.getEnumText(`TipoAccionBurlington.${item.tipoAccionBurlington}`)}
\") }}>
\") }}>
\r\n
\r\n \r\n
\r\n
;\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0,\r\n origen: OrigenLicencia.Administrador,\r\n cursoEscolarId: ClientContext.Current.cursoEscolarActivoId\r\n\r\n } as LicenciaContenidosEditModelEx;\r\n\r\n\r\n if (this.props.match.params.usuarioId != null) {\r\n let colegioUsuariosSrv = new ColegioUsuariosService();\r\n let promData = colegioUsuariosSrv.getBasicById(this.props.match.params.usuarioId);\r\n\r\n let modelWithDataProm = promData.then(data => {\r\n model.editModel.usuario = data.nombre;\r\n model.editModel.usuarioId = data.id;\r\n return model;\r\n });\r\n\r\n return modelWithDataProm;\r\n }\r\n if (this.props.match.params.contenidoId != null) {\r\n let contenidosSrv = new ContenidosService();\r\n let promData = contenidosSrv.getBasicById(this.props.match.params.contenidoId);\r\n\r\n let modelWithDataProm = promData.then(data => {\r\n model.editModel.contenido = data.nombre;\r\n model.editModel.contenidoId = data.id;\r\n return model;\r\n });\r\n\r\n return modelWithDataProm;\r\n }\r\n else {\r\n\r\n return Promise.resolve(model);\r\n }\r\n\r\n }\r\n\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n\r\n\r\n // TODO: MBERNAL esto está duplicado en el editor de crendenciales, quizas debamos meter un ref+metodo publico y hacer alli la validación\r\n var credencialesConUsuarioYPassword = (this.state.editModel.editorial == Editorial.Santillana && this.state.editModel.tipoAcceso == TipoAcceso.Custom)\r\n || (this.state.editModel.editorial == Editorial.Milton)\r\n || (this.state.editModel.editorial == Editorial.Planeta);\r\n\r\n let validation = new ModelValidation();\r\n\r\n\r\n if (this.state.editModel.boolContenidoDigital == null) {\r\n validation.addError(nameof(this.state.editModel.boolContenidoDigital), I18n.Strings.validationErrors.valueRequired(\"\"));\r\n }\r\n\r\n if (this.state.editModel.boolContenidoDigital && this.state.editModel.contenidoId == null) {\r\n validation.addError(nameof(this.state.editModel.contenidoId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.licenciasContenido.contenido));\r\n }\r\n\r\n if (!this.state.editModel.boolContenidoDigital && this.state.editModel.productoTiendaId == null) {\r\n validation.addError(nameof(this.state.editModel.productoTiendaId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.licenciasContenido.contenido));\r\n }\r\n\r\n if (this.state.editModel.matriculaId == null) {\r\n validation.addError(nameof(this.state.editModel.matriculaId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.licenciasContenido.matricula));\r\n }\r\n\r\n if (!this._deboMostrarCredenciales()) {\r\n this.state.editModel.credenciales = null;\r\n }\r\n else {\r\n /*\r\n // TODO: MBERNAL esto está duplicado en el editor de crendenciales, quizas debamos meter un ref+metodo publico y hacer alli la validación\r\n if (credencialesConUsuarioYPassword) {\r\n\r\n var userPassword = JSON.parse(this.state.editModel.credenciales) as UserPasswordObj;\r\n\r\n if (userPassword != null && ((userPassword.User || \"\").trim().length == 0 || (userPassword.Password || \"\").trim().length == 0)) {\r\n validation.addError(nameof(this.state.editModel.credenciales), I18n.Strings.validationErrors.valueRequired(I18n.Strings.licenciasContenido.credenciales));\r\n }\r\n }\r\n else {\r\n \r\n if ((this.state.editModel.credenciales || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.credenciales), I18n.Strings.validationErrors.valueRequired(I18n.Strings.licenciasContenido.credenciales));\r\n }\r\n \r\n }\r\n */\r\n }\r\n\r\n if (this.state.editModel.boolContenidoDigital) {\r\n if (this.state.editModel.tipoAcceso == null || this.state.editModel.tipoAcceso == TipoAcceso.SinConfigurar) {\r\n validation.addError(nameof(this.state.editModel.tipoAcceso), I18n.Strings.validationErrors.valueRequired(I18n.Strings.licenciasContenido.tipoAcceso));\r\n }\r\n }\r\n\r\n if (this.state.editModel.asignacionLicenciaManual) {\r\n if (this.state.editModel.tipoAccesoManual == null || this.state.editModel.tipoAccesoManual == TipoAcceso.SinConfigurar) {\r\n validation.addError(nameof(this.state.editModel.tipoAccesoManual), I18n.Strings.validationErrors.valueRequired(I18n.Strings.licenciasContenido.tipoAccesoManual));\r\n }\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected _extraButtons(): JSX.Element {\r\n\r\n if (this.state.editModel.id == 0 || this.state.editModel.usuarioId == 0 ||\r\n (ClientContext.Current.tipoUsuario != TipoUsuario.AdminGlobal && ClientContext.Current.tipoUsuario != TipoUsuario.AdminColegio)) {\r\n return <>;\r\n }\r\n\r\n var botones = [] as JSX.Element[];\r\n botones.push( {\r\n var impService = new ImpersonationService();\r\n impService.impersonate(this.state.editModel.usuarioId);\r\n }}>\r\n {I18n.Strings.emularUsuario.emularUsuario}\r\n );\r\n\r\n if (this.state.editModel.id != 0) {\r\n botones.push();\r\n botones.push( {\r\n if (window.confirm(I18n.Strings.licenciasContenido.borrarCredencialesWarning)) {\r\n this.setState({ showLoading: true }, () => {\r\n\r\n var licenciaService = new LicenciasColegioService();\r\n var prom = licenciaService.borrarCredenciales(this.state.editModel.id);\r\n\r\n prom\r\n .then((res) => {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.credenciales = \"\";\r\n newState.showLoading = false;\r\n this.setState(newState);\r\n })\r\n .catch(err => {\r\n this.setState({ showLoading: false }, () => AlertsService.showError(err));\r\n });\r\n\r\n });\r\n }\r\n }\r\n }>\r\n {I18n.Strings.licenciasContenido.borrarCredenciales}\r\n );\r\n }\r\n\r\n\r\n\r\n if (this.state.editModel.id != 0 && this.state.editModel.editorial == Editorial.Burlington) {\r\n if (ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal) {\r\n\r\n botones.push();\r\n botones.push( {\r\n\r\n if (this.state.editModel.estado == EstadoLicencia.BurlingtonDeletedUser) {\r\n if (!window.confirm(\"El usuario fue desactivado, para re-activarlo hay que notificar a Soporte Burlington\")) {\r\n return;\r\n }\r\n }\r\n\r\n this.setState({ showLoading: true }, () => {\r\n\r\n var licenciasService = new LicenciasColegioService();\r\n var prom = licenciasService.syncBurlington(this.state.editModel.id);\r\n prom.then(resp => {\r\n this.setState({ showLoading: false },\r\n () => {\r\n AlertsService.showAlertMessage(`Request:${resp.request}

Response${resp.response}`);\r\n });\r\n\r\n })\r\n .catch(err => {\r\n this.setState({ showLoading: false },\r\n () => AlertsService.showError(err));\r\n });\r\n });\r\n }}\r\n >\r\n Sincronizar con Burlington\r\n );\r\n\r\n\r\n\r\n botones.push( {\r\n var email = window.prompt(\"Email del usuario a borrar en burlington?\");\r\n if ((email || \"\").length != 0) {\r\n var licenciasService = new LicenciasColegioService();\r\n var prom = licenciasService.deleteBurlington(email);\r\n prom.then(resp => {\r\n AlertsService.showAlertMessage(`Request:${resp.request}

Response${resp.response}`);\r\n })\r\n .catch(err => AlertsService.showError(err));\r\n\r\n }\r\n }}\r\n >\r\n Borrar usuario en Burlington\r\n );\r\n\r\n\r\n botones.push();\r\n botones.push( {\r\n var continuar = window.confirm(\"Va a sincronizar todos los alumnos del colegio, ¿está seguro?\");\r\n if (continuar) {\r\n var licenciasService = new LicenciasColegioService();\r\n var prom = licenciasService.syncColegioBurlington();\r\n prom.then(resp => {\r\n AlertsService.showAlertMessage(`Request:${resp.request}

Response${resp.response}`);\r\n })\r\n .catch(err => AlertsService.showError(err));\r\n\r\n }\r\n }}\r\n >\r\n Sincronizar todo los alumnos en burlington\r\n );\r\n }\r\n }\r\n \r\n\r\n return \r\n }\r\n\r\n protected updateBreadCrumb(model: LicenciaContenidosEditModelEx, isInitialMount?: boolean) {\r\n\r\n if (!isInitialMount) return;\r\n\r\n var items = [] as LinkItem[];\r\n if (this.props.match.params.usuarioId) {\r\n items.push({\r\n text: I18n.Strings.colegioUsuarios.title,\r\n link: RouteHelper.listUsuariosColegio()\r\n });\r\n\r\n items.push({\r\n text: model.usuario,\r\n link: RouteHelper.editUsuarioColegio(this.props.match.params.usuarioId)\r\n });\r\n }\r\n else if (this.props.match.params.contenidoId) {\r\n\r\n items.push({\r\n text: I18n.Strings.contenidos.contenidosColegioTitle,\r\n link: RouteHelper.listContenidosColegio()\r\n });\r\n\r\n items.push({\r\n text: model.contenido,\r\n link: RouteHelper.editContenidosColegio(this.props.match.params.contenidoId)\r\n });\r\n }\r\n\r\n items.push({\r\n text: I18n.Strings.licenciasContenido.entityPluralName,\r\n link: RouteHelper.listLicenciasColegio(this.props.match.params.usuarioId, this.props.match.params.contenidoId)\r\n });\r\n\r\n if (model.id == 0) {\r\n items.push({\r\n text: I18n.Strings.addNew,\r\n link: \"\"\r\n });\r\n }\r\n else {\r\n items.push({\r\n text: `${model.id}`,\r\n link: RouteHelper.editLicenciasColegio(model.id,\r\n this.props.match.params.usuarioId,\r\n this.props.match.params.contenidoId,\r\n LicenciaContenidosEditTabs.Datos)\r\n });\r\n }\r\n\r\n switch (this.state.activeTab) {\r\n case LicenciaContenidosEditTabs.Datos: {\r\n items.push({\r\n text: I18n.Strings.licenciasContenido.tabDatos,\r\n link: RouteHelper.editLicenciasColegio(this.state.editModel.id,\r\n this.props.match.params.usuarioId,\r\n this.props.match.params.contenidoId,\r\n LicenciaContenidosEditTabs.Datos)\r\n });\r\n break;\r\n }\r\n case LicenciaContenidosEditTabs.EstadisticaContenidos: {\r\n items.push({\r\n text: I18n.Strings.colegioUsuarios.tabEstadisticasContenidos,\r\n link: RouteHelper.editLicenciasColegio(this.state.editModel.id,\r\n this.props.match.params.usuarioId,\r\n this.props.match.params.contenidoId,\r\n LicenciaContenidosEditTabs.EstadisticaContenidos)\r\n });\r\n break;\r\n }\r\n }\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n\r\n}\r\n\r\nexport const Edit = withRouter(EditComp)","import * as React from \"react\";\r\nimport { DropDownBase, GenericSelectItem, IDropDownProps } from \"../utils/base/DropDownBase\";\r\n\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\n\r\nexport class CursoEscolarDropDown extends DropDownBase {\r\n\r\n\r\n protected GetItems(): Promise {\r\n\r\n var items = ClientContext.Current.cursosEscolares.map((cp, index) => {\r\n return {\r\n id: cp.id,\r\n name: cp.nombre,\r\n } as GenericSelectItem;\r\n });\r\n\r\n return Promise.resolve(items);\r\n }\r\n\r\n protected shouldAddEmptyOption() {\r\n return true;\r\n }\r\n};","\r\nimport { ContenidosEditModel, ContenidosDigitalesListItemPaginatedList, ContenidosSearch, ModelValidationResult, ContenidosSyncResult, BasicData, ExportFileResult, SyncContenidoModel } from \"../../models/dataModels\";\r\nimport { ApiFetcher } from \"../../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../../utils/base/BaseServices\";\r\nimport { downloadFileFromBase64Array } from \"../../utils/ValuesFormatter\";\r\n\r\nexport class ContenidosService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n\r\n search(searchData: ContenidosSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/contenidos/search\", searchData);\r\n return prom;\r\n }\r\n\r\n delete(id: number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.delete(`intranet/contenidos/${id}`);\r\n return prom;\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/contenidos/${id}`);\r\n return prom;\r\n }\r\n validate(model: ContenidosEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/contenidos/validate`, model);\r\n return prom;\r\n }\r\n\r\n create(model: ContenidosEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/contenidos/`, model);\r\n return prom;\r\n }\r\n\r\n update(id: string | number, model: ContenidosEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/contenidos/${id}`, model);\r\n return prom;\r\n }\r\n\r\n getBasicById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/contenidos/${id}/basic`);\r\n return prom;\r\n }\r\n\r\n queueContenidosSync(campanaId: number, isbns: string[]): Promise {\r\n \r\n var model = {\r\n campannaId: campanaId, \r\n contenidoIsbns: isbns\r\n } as SyncContenidoModel;\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/contenidos/syncContenidosColegio/${campanaId}`, model);\r\n return prom;\r\n }\r\n\r\n\r\n syncEstructura(contenidoId: number): Promise {\r\n \r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/contenidos/${contenidoId}/syncEstructura`, null);\r\n return prom;\r\n }\r\n\r\n exportExcel(searchModel: ContenidosSearch): Promise {\r\n\r\n var url = \"intranet/contenidos/exportExcel\";\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var promise = apiFetcher.post(url, searchModel)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return promise;\r\n }\r\n}","\r\nimport {\r\n ContenidosColegioEditModel, ModelValidationResult, \r\n ExportFileResult,\r\n ContenidosPapelColegioSearch,\r\n ContenidosPapelColegioListItemPaginatedList\r\n} from \"../../models/dataModels\";\r\nimport { ApiFetcher } from \"../../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../../utils/base/BaseServices\";\r\nimport { downloadFileFromBase64Array } from \"../../utils/ValuesFormatter\";\r\n\r\nexport class ContenidosPapelColegioService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n\r\n search(searchData: ContenidosPapelColegioSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/contenidosPapelColegio/search\", searchData);\r\n return prom;\r\n }\r\n\r\n delete(id: number): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n //var apiFetcher = new ApiFetcher();\r\n //var prom = apiFetcher.delete(`intranet/contenidosPapelColegio/${id}`);\r\n //return prom;\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n //var apiFetcher = new ApiFetcher();\r\n //var prom = apiFetcher.getByUrl(`intranet/contenidosPapelColegio/${id}`);\r\n //return prom;\r\n }\r\n validate(model: ContenidosColegioEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n //var apiFetcher = new ApiFetcher();\r\n //var prom = apiFetcher.post(`intranet/contenidosPapelColegio/validate`, model);\r\n //return prom;\r\n }\r\n\r\n create(model: ContenidosColegioEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n //var apiFetcher = new ApiFetcher();\r\n //var prom = apiFetcher.post(`intranet/contenidosPapelColegio/`, model);\r\n //return prom;\r\n }\r\n\r\n update(id: string | number, model: ContenidosColegioEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n //var apiFetcher = new ApiFetcher();\r\n //var prom = apiFetcher.put(`intranet/contenidosPapelColegio/${id}`, model);\r\n //return prom;\r\n }\r\n\r\n exportExcel(searchModel: ContenidosPapelColegioSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n\r\n var url = \"intranet/contenidosPapelColegio/exportExcel\";\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var promise = apiFetcher.post(url, searchModel)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return promise;\r\n }\r\n\r\n}","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { I18n } from \"../../utils/I18n\";\r\n\r\n\r\nimport { ContenidosPapelColegioService } from \"./ContenidosPapelColegioService\";\r\n\r\nimport { GenericPicker, GenericPickerProps, IGenericPickerState } from \"../../utils/base/GenericPickerBase\";\r\nimport { TipoUsuarioContenido, ContenidosDigitalesColegioListItemPaginatedList, ContenidosDigitalesColegioListItem, ContenidosDigitalesColegioSearch, Editorial, ContenidosPapelColegioSearch, ContenidosPapelColegioListItem, ContenidosPapelColegioListItemPaginatedList } from \"../../models/dataModels\";\r\nimport { IServiceForIndex } from \"../../utils/base/BaseServices\";\r\nimport { TableColumn } from \"../../utils/base/IndexPageBase\";\r\nimport { FormGroup, Input, Label, Row, Col } from \"reactstrap\";\r\nimport { EditorialDropDown } from \"../../helpers/EnumDropDown\";\r\nimport { NivelEducativoDropDown } from \"../../cursoEscolar/NivelEducativoDropDown\";\r\n\r\ninterface ContenidosPickerProps extends GenericPickerProps {\r\n\r\n errorMessage?: string;\r\n cursoEscolarId?: number;\r\n nivelEducativoId: number;\r\n claseId?: number;\r\n //excluirLicenciasUsuarioId?: number;\r\n //tipoUsuario?: TipoUsuarioContenido;\r\n mostrarSoloColegio: boolean;\r\n mostrarNiveles: boolean;\r\n //showCheckboxes?: boolean;\r\n usuarioColegioId?: number;\r\n}\r\n\r\nexport interface ContenidosPapelColegioSearchEx extends ContenidosPapelColegioSearch {\r\n nivelEducativo: string;\r\n clase: string;\r\n}\r\n\r\nexport class ContenidosPicker extends\r\n GenericPicker\r\n{\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n }\r\n\r\n protected GetTitulo(): string {\r\n return `Seleccionar contenidos papel`;\r\n }\r\n\r\n protected GetSearchText(): string {\r\n return null;\r\n }\r\n \r\n\r\n\r\n protected GetInitialSearchParams(): ContenidosPapelColegioSearchEx {\r\n const searchParams = {\r\n ... {} as ContenidosPapelColegioSearch,\r\n nivelEducativoId: this.props.nivelEducativoId,\r\n nivelEducativo: null,\r\n claseId: this.props.claseId,\r\n clase: null,\r\n //excluirLicenciasUsuarioId: this.props.excluirLicenciasUsuarioId,\r\n cursoEscolarId: this.props.cursoEscolarId,\r\n usuarioColegioId: this.props.usuarioColegioId,\r\n rowsPerPage: 10,\r\n mostrarNivelesEducativos: this.props.mostrarNiveles,\r\n showOnlySchoolContents: this.props.mostrarSoloColegio\r\n } as ContenidosPapelColegioSearchEx;\r\n\r\n return searchParams;\r\n }\r\n /*\r\n protected _showCheckboxes(): boolean {\r\n return this.props.showCheckboxes;\r\n }\r\n */\r\n\r\n protected _createState(): IGenericPickerState {\r\n const state = super._createState();\r\n return state;\r\n }\r\n\r\n protected _createApiService(): IServiceForIndex {\r\n return new ContenidosPapelColegioService();\r\n }\r\n\r\n protected RenderSearchForm(): JSX.Element {\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\" \r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombre)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.nombre)}\r\n value={this.state.searchParams.nombre || \"\"}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.editorial = value == '' ? null : value as Editorial;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n {(this.props.nivelEducativoId != null || this.props.claseId == null) && \r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.nivelEducativoId = id;\r\n newState.searchParams.nivelEducativo = nombre;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n }\r\n {this.props.claseId != null && \r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.claseId = id;\r\n newState.searchParams.clase = nombre;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n }\r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.sku = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.sku)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.sku)}\r\n value={this.state.searchParams.sku || \"\"}\r\n />\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n protected _getColumns(): TableColumn[] {\r\n\r\n const columns: TableColumn[] = [];\r\n\r\n var sample: ContenidosPapelColegioListItem;\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.sku),\r\n title: I18n.Strings.contenidos.isbn,\r\n renderField: (item) => item.sku\r\n });\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.nombre),\r\n title: I18n.Strings.contenidos.nombre,\r\n renderField: (item) => item.nombre\r\n });\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.editorial),\r\n title: I18n.Strings.contenidos.editorial,\r\n renderField: (item) => {\r\n return I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n }\r\n });\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.nivelesEducativos),\r\n title: I18n.Strings.contenidos.nivelesEducativos,\r\n renderField: (item) => item.nivelesEducativos\r\n });\r\n\r\n \r\n\r\n return columns;\r\n }\r\n}","import React from \"react\";\r\nimport { RouteComponentProps, withRouter } from \"react-router-dom\";\r\nimport { Button, Col, Modal, ModalBody, ModalFooter, ModalHeader, Row } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ColegioUsuariosPicker } from \"../colegioUsuarios/Picker\";\r\n\r\nimport { AuthService } from '../services/AuthService';\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { ComponentBase } from \"../utils/base/ComponentBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\n\r\ninterface ImpersonateProps extends RouteComponentProps {\r\n onClose: () => void;\r\n}\r\n\r\ninterface ImpersonateState {\r\n userIdToImpersonate: number;\r\n userName: string;\r\n\r\n}\r\n\r\nclass ImpersonateComp extends ComponentBase {\r\n\r\n public authService: AuthService;\r\n\r\n constructor(props: ImpersonateProps) {\r\n super(props);\r\n\r\n this.state = {\r\n userIdToImpersonate: 0,\r\n userName: null,\r\n }\r\n }\r\n\r\n render() {\r\n return \r\n this.props.onClose()} >\r\n this.props.onClose()} />}\r\n >\r\n {I18n.Strings.emularUsuario.emularUsuario}\r\n \r\n {!ClientContext.Current.estoyImpersonado &&\r\n \r\n \r\n item.id}\r\n getNameFromItem={(item) => item.nombre}\r\n getName2FromItem={(item) => item.apellidos}\r\n errorMessage={null}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.userIdToImpersonate = usuarioId;\r\n state.userName = usuario;\r\n this.setState(state);\r\n }}\r\n />\r\n\r\n \r\n \r\n {\r\n var impService = new ImpersonationService();\r\n impService.impersonate(this.state.userIdToImpersonate);\r\n }}>\r\n {I18n.Strings.emularUsuario.emularUsuario}\r\n \r\n \r\n \r\n }\r\n\r\n {ClientContext.Current.estoyImpersonado &&\r\n \r\n \r\n

{I18n.Strings.emularUsuario.yaEstaEmulando}

\r\n
\r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n\r\n
\r\n }\r\n\r\n\r\n}\r\n\r\nexport class ImpersonationService {\r\n\r\n public impersonate(usuarioId: number) {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfil/impersonate/${usuarioId}`, null);\r\n\r\n prom.then(p => {\r\n window.location.href = \"/\"\r\n });\r\n\r\n }\r\n\r\n public deimpersonate() {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfil/deimpersonate`, null);\r\n\r\n prom.then(p => {\r\n window.location.href = \"/\"\r\n });\r\n\r\n }\r\n}\r\n\r\nexport const Impersonate = withRouter(ImpersonateComp);","import nameof from \"ts-nameof.macro\";\r\nimport { MatriculaListItem, SortDirection } from \"../models/dataModels\";\r\nimport { DropDownBase, GenericSelectItem, IDropDownProps } from \"../utils/base/DropDownBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { MatriculasService } from \"./MatriculasService\";\r\n\r\n\r\ninterface MatriculasUsuarioDropDownProps extends IDropDownProps {\r\n usuarioId?: number;\r\n claseId?: number;\r\n cursoEscolarId: number;\r\n}\r\n\r\nexport class MatriculasUsuarioDropDown extends DropDownBase {\r\n\r\n\r\n\r\n protected GetItems(): Promise {\r\n\r\n var item = {} as MatriculaListItem;\r\n\r\n var pertenenciaGruposSrv = new MatriculasService();\r\n var dataProm = pertenenciaGruposSrv.search({\r\n colegioId: ClientContext.Current.colegioId,\r\n claseId: this.props.claseId,\r\n claseMateriaId: null,\r\n cursoEscolarId: this.props.cursoEscolarId,\r\n usuarioId: this.props.usuarioId,\r\n noTotalCount: true,\r\n currentPage: 0,\r\n rowsPerPage: -1,\r\n orderByColumn: this.props.usuarioId != null ? nameof(item.clase) : nameof(item.usuario),\r\n orderMode: SortDirection.Asc,\r\n bypassAutomaticSort: false,\r\n currentPageRows: -1\r\n });\r\n\r\n var resultProm = dataProm.then(data => {\r\n \r\n var items = data.items.map((item, index) => {\r\n return {\r\n id: item.id,\r\n name: `${item.usuario} - ${item.clase} - ${item.materia}`,\r\n data: item\r\n }\r\n });\r\n\r\n return items.sort((a, b) => a.name.localeCompare(b.name));\r\n });\r\n\r\n return Promise.resolve(resultProm);\r\n }\r\n\r\n protected shouldAddEmptyOption() {\r\n return true;\r\n }\r\n};","import * as React from \"react\";\r\nimport { Col, FormGroup, Label, Row } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ColegioUsuariosPicker } from \"../colegioUsuarios/Picker\";\r\nimport UserNameToolTip from \"../colegioUsuarios/UserNameToolTip\";\r\nimport { ClaseMateriaDropDown } from \"../cursoEscolar/materia/ClaseMateriaDropDown\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { MatriculaListItem, MatriculaListItemPaginatedList, MatriculasSearch } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { GenericPicker, GenericPickerProps, IGenericPickerState } from \"../utils/base/GenericPickerBase\";\r\nimport { TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { MatriculasService } from \"./MatriculasService\";\r\n\r\n\r\ninterface MatriculasSearchEx extends MatriculasSearch {\r\n usuario: string;\r\n grupo: string;\r\n materia: string;\r\n}\r\n\r\nclass ColegioUsuariosPickerProps extends GenericPickerProps {\r\n\r\n public errorMessage?: string;\r\n}\r\n\r\n\r\nexport class MatriculasPicker extends\r\n GenericPicker\r\n{\r\n protected GetTitulo(): string {\r\n \r\n return `Seleccionar matrícula`;\r\n }\r\n \r\n public componentWillReceiveProps(props: ColegioUsuariosPickerProps) {\r\n var newState = this._cloneStateForSetState();\r\n this.setState(newState);\r\n }\r\n\r\n protected GetInitialSearchParams(): MatriculasSearchEx {\r\n const searchParams = {\r\n ...{} as MatriculasSearchEx, \r\n cursoEscolarId: ClientContext.Current.cursoEscolarActivoId,\r\n rowsPerPage: 10\r\n } as MatriculasSearchEx;\r\n\r\n return searchParams;\r\n }\r\n\r\n protected _createState(): IGenericPickerState {\r\n const state = super._createState();\r\n return state;\r\n }\r\n\r\n protected _createApiService(): IServiceForIndex {\r\n return new MatriculasService();\r\n }\r\n\r\n protected RenderSearchForm(): JSX.Element {\r\n return (\r\n \r\n \r\n item.id}\r\n getNameFromItem={(item) => item.nombre}\r\n\r\n errorMessage={null}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.usuarioId = usuarioId;\r\n newState.searchParams.usuario = usuario;\r\n\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {\r\n\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.claseId = id;\r\n newState.searchParams.grupo = nombre;\r\n\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.claseMateriaId = materiaId;\r\n state.searchParams.materia = materia;\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n );\r\n }\r\n\r\n protected _getColumns(): TableColumn[] {\r\n const columns: TableColumn[] = [];\r\n\r\n var sample: MatriculaListItem;\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.clase),\r\n title: I18n.Strings.matriculas.nombreClase,\r\n renderField: (item) => item.clase\r\n });\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.materia),\r\n title: I18n.Strings.matriculas.nombreMateria,\r\n renderField: (item) => item.materia\r\n });\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.usuario),\r\n title: I18n.Strings.matriculas.nombreUsuario,\r\n renderField: (item) => ,\r\n });\r\n\r\n columns.push(\r\n {\r\n fieldName: nameof(sample.rol),\r\n title: I18n.Strings.matriculas.rol,\r\n renderField: (item) => item.rol\r\n });\r\n\r\n return columns;\r\n }\r\n}","import React from 'react'; // we need this to make JSX compile\r\nimport { FormFeedback, FormGroup, Input, Label } from 'reactstrap';\r\nimport { ModelValidation } from './base/ModelValidation';\r\nimport { I18n } from './I18n';\r\n\r\n\r\ninterface UserPasswordProps {\r\n value: string;\r\n required: boolean;\r\n disabled?: boolean;\r\n name: string;\r\n formValidation: ModelValidation;\r\n onChange: (json: string, user: string, pwd: string) => void;\r\n}\r\n\r\nexport class UserPasswordClass {\r\n User: string;\r\n Password: string;\r\n}\r\n\r\nexport const UserPassword = function (props: UserPasswordProps) {\r\n\r\n var valueObj = {\r\n User: \"\",\r\n Password :\"\"\r\n } as UserPasswordClass;\r\n\r\n try {\r\n valueObj = JSON.parse(props.value) as UserPasswordClass;\r\n } catch { }\r\n \r\n var hasError = (props.formValidation.getError(props.name) || \"\").length !== 0;\r\n\r\n var errorUsuario = hasError && valueObj != null && (valueObj.User || \"\").length === 0;\r\n var errorPassword = hasError && valueObj != null && (valueObj.Password || \"\").length === 0;\r\n\r\n return \r\n \r\n \r\n {\r\n valueObj.User = evt.target.value;\r\n props.onChange(JSON.stringify(valueObj), valueObj.User, valueObj.Password);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n disabled={props.disabled || false}\r\n maxLength={100}\r\n className={\"form-control \" + (errorUsuario ? \"is-invalid\" : \"\")}\r\n name={\"userPassUser\"}\r\n id={\"userPassUser\"}\r\n value={valueObj.User || \"\"}\r\n />\r\n\r\n {errorUsuario && \r\n {I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegiocredenciales.user)}\r\n }\r\n\r\n \r\n\r\n \r\n \r\n {\r\n valueObj.Password = evt.target.value;\r\n props.onChange(JSON.stringify(valueObj), valueObj.User, valueObj.Password);\r\n }}\r\n type=\"text\"\r\n disabled={props.disabled || false}\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + (errorPassword ? \"is-invalid\" : \"\")}\r\n name={\"passPassUser\"}\r\n id={\"passPassUser\"}\r\n value={valueObj.Password || \"\"}\r\n />\r\n\r\n {errorPassword && \r\n {I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegiocredenciales.pwd)}\r\n }\r\n\r\n \r\n ;\r\n}\r\n","import React from 'react'; // we need this to make JSX compile\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { FormFeedback, Input, Label } from 'reactstrap';\r\nimport { Editorial, TipoAcceso } from '../models/dataModels';\r\n\r\nimport { ModelValidation } from '../utils/base/ModelValidation';\r\nimport { UserPassword } from '../utils/UserPassword';\r\nimport { I18n } from '../utils/I18n';\r\n\r\n\r\ninterface CredencialesEditProps {\r\n\r\n editorial: Editorial,\r\n tipoAcceso: TipoAcceso,\r\n\r\n value: string;\r\n name: string;\r\n required: boolean;\r\n disabled?: boolean;\r\n formValidation: ModelValidation;\r\n onChange: (json: string, user: string, pwd: string) => void;\r\n}\r\n\r\nexport const CredencialesEdit = function (props: CredencialesEditProps) {\r\n\r\n if ((props.editorial == Editorial.Santillana && (props.tipoAcceso == TipoAcceso.Custom || props.tipoAcceso == TipoAcceso.SantillanaAV4))\r\n || props.editorial == Editorial.Milton || props.editorial == Editorial.Planeta) {\r\n return {\r\n props.onChange(json, user, password);\r\n }}\r\n name={props.name}\r\n value={props.value || \"\"}\r\n formValidation={props.formValidation}\r\n required={props.required}\r\n disabled={props.disabled || false}\r\n />;\r\n }\r\n\r\n return \r\n \r\n\r\n {\r\n props.onChange(evt.target.value, null, null);\r\n }}\r\n type=\"textarea\"\r\n required={props.required}\r\n className={\"form-control \" + _errorClass(props.name)}\r\n name={props.name}\r\n id={\"licencias\" + props.name}\r\n disabled={props.disabled || false}\r\n value={props.value || \"\"}\r\n />\r\n\r\n {props.formValidation.getError(props.name) &&\r\n {props.formValidation.getError(props.name)}\r\n }\r\n ;\r\n\r\n function _errorClass(fieldName: string): string {\r\n var error = props.formValidation.getError(fieldName);\r\n if (error) {\r\n return \"is-invalid\";\r\n }\r\n return null;\r\n }\r\n}\r\n\r\n","\r\nimport { LicenciaContenidosEditModel, LicenciasContenidosListItemPaginatedList, LicenciasContenidosSearch, ModelValidationResult, GetTiposLicenciaResponse, ExportFileResult, BurlingtonOperationResult, LicenciasContenidoDeleteMultipleModel } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { downloadFileFromBase64Array } from \"../utils/ValuesFormatter\";\r\n\r\nexport class LicenciasColegioService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n \r\n\r\n search(searchData: LicenciasContenidosSearch): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/colegio/licencias-contenido/search\", searchData);\r\n prom.then(res => {\r\n res.items.forEach(item => {\r\n item.fechaPedido = item.fechaPedido == null ? null : new Date(item.fechaPedido);\r\n item.fechaUltimoAcceso = item.fechaUltimoAcceso == null ? null : new Date(item.fechaUltimoAcceso);\r\n });\r\n });\r\n return prom;\r\n }\r\n\r\n delete(id: number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.delete(`intranet/colegio/licencias-contenido/${id}`);\r\n return prom;\r\n }\r\n\r\n\r\n deleteMultiple(ids: number[]): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/colegio/licencias-contenido/deleteMultiple`, {\r\n idsToDelete: ids\r\n });\r\n return prom;\r\n }\r\n\r\n borrarCredenciales(id: number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/colegio/licencias-contenido/${id}/limpiarCredenciales`, null);\r\n return prom;\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/colegio/licencias-contenido/${id}`)\r\n .then(item => {\r\n this.processEditModel(item);\r\n return item;\r\n });\r\n return prom;\r\n }\r\n\r\n validate(model: LicenciaContenidosEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/colegio/licencias-contenido/validate`, model);\r\n return prom;\r\n }\r\n\r\n create(model: LicenciaContenidosEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/colegio/licencias-contenido/`, model)\r\n .then(item => {\r\n this.processEditModel(item);\r\n return item;\r\n });\r\n return prom;\r\n }\r\n\r\n update(id: string | number, model: LicenciaContenidosEditModelEx): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/colegio/licencias-contenido/${id}`, model)\r\n .then(item => {\r\n this.processEditModel(item);\r\n return item;\r\n });\r\n return prom;\r\n }\r\n\r\n processEditModel(model: LicenciaContenidosEditModelEx) {\r\n model.fechaPedido = model.fechaPedido == null ? null : new Date(model.fechaPedido.toString());\r\n model.fechaUltimoAcceso = model.fechaUltimoAcceso == null ? null : new Date(model.fechaUltimoAcceso);\r\n model.created = model.created == null ? null : new Date(model.created);\r\n model.modified = model.modified == null ? null : new Date(model.modified);\r\n model.configuradoProveedor = model.configuradoProveedor == null ? null : new Date(model.configuradoProveedor);\r\n if (model.logsBurlington != null) {\r\n model.logsBurlington.forEach((item, index) => {\r\n item.date = item.date == null ? null : new Date(item.date);\r\n });\r\n }\r\n \r\n model.boolContenidoDigital = model.contenidoId != null;\r\n }\r\n\r\n getTiposLicencias(editorial: string): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/utils/getTiposLicencias/${editorial}`);\r\n return prom;\r\n }\r\n\r\n exportExcel(search: LicenciasContenidosSearch): Promise {\r\n var url = \"intranet/colegio/licencias-contenido/exportExcel\";\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var promise = apiFetcher.post(url, search)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return promise;\r\n }\r\n\r\n syncBurlington(licenciaContenidoId: number): Promise {\r\n\r\n var url = `intranet/colegio/licencias-contenido/syncBurlington/${licenciaContenidoId}`;\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var promise = apiFetcher.post(url, null)\r\n .then((result) => {\r\n \r\n return result;\r\n });\r\n return promise;\r\n }\r\n\r\n deleteBurlington(email: string): Promise {\r\n\r\n var url = `intranet/colegio/licencias-contenido/deleteBurlington/${encodeURIComponent(email)}`;\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var promise = apiFetcher.post(url, null)\r\n .then((result) => {\r\n\r\n return result;\r\n });\r\n return promise;\r\n }\r\n\r\n syncColegioBurlington(): Promise {\r\n\r\n var url = `intranet/colegio/licencias-contenido/syncColegioBurlington`;\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var promise = apiFetcher.post(url, null)\r\n .then((result) => {\r\n\r\n return result;\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n}\r\n\r\n\r\nexport interface LicenciaContenidosEditModelEx extends LicenciaContenidosEditModel {\r\n\r\n nivelEducativoId?: number;\r\n\r\n boolContenidoDigital: boolean;\r\n}","import * as React from \"react\";\r\nimport { Input } from \"reactstrap\";\r\n\r\nimport { CursoEscolarEditModel, CursoEscolarListItem, Editorial, GetTiposLicenciaResponse, TipoAcceso } from \"../models/dataModels\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { LicenciasColegioService } from \"./LicenciasColegioService\";\r\nimport { ComponentBase } from \"../utils/base/ComponentBase\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { I18n } from \"../utils/I18n\";\r\n\r\ninterface TipoAccesoDropDownProps {\r\n id: string;\r\n editorial: Editorial;\r\n value?: TipoAcceso;\r\n emptyText?: string;\r\n className?: string;\r\n disabled?: boolean;\r\n onChange: (tipoAcceso: string) => void;\r\n required?: boolean;\r\n}\r\n\r\ninterface TipoAccesoDropDownState {\r\n loading: boolean;\r\n editorial: Editorial;\r\n options: TipoAcceso[];\r\n}\r\n\r\n\r\n\r\nexport class TipoAccesoDropDown extends ComponentBase {\r\n\r\n constructor(props: TipoAccesoDropDownProps) {\r\n\r\n super(props);\r\n\r\n var initialState = {\r\n loading: true,\r\n editorial: this.props.editorial,\r\n options: []\r\n };\r\n\r\n\r\n if (props.id != null) {\r\n initialState.loading = false;\r\n initialState.options.push(this.props.value as TipoAcceso);\r\n }\r\n\r\n this.state = initialState;\r\n }\r\n\r\n componentDidMount() {\r\n this.loadTiposLicencias(this.props.editorial, false);\r\n }\r\n\r\n componentDidUpdate(prevProps: TipoAccesoDropDownProps) {\r\n if (prevProps.editorial !== this.props.editorial) {\r\n this.loadTiposLicencias(this.props.editorial, true);\r\n }\r\n }\r\n\r\n loadTiposLicencias(editorial: Editorial, refresh: boolean) {\r\n\r\n if (editorial != null) {\r\n\r\n var service = new LicenciasColegioService();\r\n\r\n service.getTiposLicencias(editorial)\r\n .then((data) => {\r\n\r\n var tiposAcceso = data.tiposAcceso;\r\n if ((this.props.value || \"\").length != 0 && tiposAcceso.indexOf(this.props.value) == -1) {\r\n \r\n tiposAcceso.push(this.props.value);\r\n }\r\n\r\n this.setState({\r\n options: tiposAcceso,\r\n loading: false,\r\n }, () => {\r\n if (refresh) {\r\n this.props.onChange(data.tiposAcceso.length == 1 ? data.tiposAcceso[0] : null);\r\n }\r\n });\r\n })\r\n .catch((error) => AlertsService.showError(error));\r\n }\r\n else {\r\n this.setState({ loading: false });\r\n }\r\n\r\n }\r\n\r\n render() {\r\n\r\n if (this.state.loading) {\r\n return ...;\r\n }\r\n\r\n var options = [] as JSX.Element[];\r\n var initialValue = this.props.value;\r\n\r\n if (this.state.options != null) {\r\n this.state.options.forEach((tipoAcceso) => {\r\n if (tipoAcceso != null) {\r\n options.push();\r\n }\r\n });\r\n }\r\n\r\n return {\r\n\r\n let select = evt.target as any as HTMLSelectElement;\r\n let option = select.options[select.selectedIndex];\r\n \r\n let value = option.value;\r\n if ((value || \"\").length === 0) {\r\n this.props.onChange(null);\r\n }\r\n else {\r\n this.props.onChange(option.value);\r\n }\r\n }}\r\n >\r\n {this.props.emptyText == null && }\r\n {options.length != 0 && options}\r\n {options.length == 0 && this.props.value &&\r\n \r\n }\r\n ;\r\n }\r\n}","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { ColegioUsuarioEditModel, TipoUsuario, EstadoUsuario, Origen, MatriculasSearch, EntradaAuditoriaSearch } from \"../models/dataModels\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { ColegioUsuariosService } from \"./ColegioUsuariosService\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { Alert, Col, FormGroup, Input, Label, Nav, NavItem, NavLink, Row, TabContent, TabPane, Button, DropdownItem, FormFeedback } from \"reactstrap\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { DocumentUpload } from \"../helpers/DocumentUpload\";\r\nimport { TipoUsuarioDropDown } from \"../helpers/EnumDropDown\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { CheckIcon, DeleteIcon } from \"../utils/Icons\";\r\nimport { DeleteModal } from \"../utils/DeleteModal\";\r\n\r\nimport { Index as LicenciasColegioIndex, LicenciasContenidosSearchEx } from \"../licenciasColegio/Index\";\r\nimport { Index as MatriculasIndex } from \"../matriculas/Index\";\r\nimport { TabEstadisticasAccesos } from \"./TabEstadisticasAccesos\";\r\nimport { TabEstadisiticasContenidos } from \"./TabEstadisticasContenidos\";\r\nimport { Location as HistoryLocation } from \"history\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { ImpersonationService } from \"../login/Impersonate\";\r\nimport { DropDownButton } from \"../helpers/DropDownButton\";\r\nimport { EntradaAuditoriaSearchEx, Index as AuditoriaIndex } from \"../auditoria/Index\";\r\n\r\nexport enum UsuarioEditTabs {\r\n Datos = \"datos\",\r\n Licencias = \"licencias\",\r\n Matriculas = \"matriculas\",\r\n EstadisticasAccesos = \"estadisticas-accesos\",\r\n EstadisticasContenidos = \"estadisticas-contenidos\",\r\n Auditoria = \"auditoria\"\r\n}\r\n\r\ninterface ColegioUsuarioEditModelEx extends ColegioUsuarioEditModel {\r\n borradoFisico?: boolean;\r\n}\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nuevo usuario\";\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: ColegioUsuarioEditModel): string {\r\n return `Editar ${editModel.nombre} ${editModel.apellidos}`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new ColegioUsuariosService() as any as IServiceForEdit;\r\n }\r\n\r\n protected _skipExitPrompt(location: HistoryLocation): boolean {\r\n\r\n if (location.pathname == RouteHelper.editUsuarioColegio(this.state.editModel.id, UsuarioEditTabs.Datos) ||\r\n location.pathname == RouteHelper.editUsuarioColegio(this.state.editModel.id, UsuarioEditTabs.Licencias) ||\r\n location.pathname == RouteHelper.editUsuarioColegio(this.state.editModel.id, UsuarioEditTabs.Matriculas) ||\r\n location.pathname == RouteHelper.editUsuarioColegio(this.state.editModel.id, UsuarioEditTabs.EstadisticasAccesos) ||\r\n location.pathname == RouteHelper.editUsuarioColegio(this.state.editModel.id, UsuarioEditTabs.EstadisticasContenidos) ||\r\n location.pathname == RouteHelper.editUsuarioColegio(this.state.editModel.id)) {\r\n return true;\r\n }\r\n return super._skipExitPrompt(location);\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n\r\n if ((this.state.editModel.id || 0) == 0 || this.state.editModel.borrado) {\r\n return this._paintMainForm();\r\n }\r\n\r\n return \r\n \r\n\r\n \r\n \r\n {this._paintMainForm()}\r\n \r\n\r\n\r\n\r\n \r\n\r\n {this.state.activeTab == UsuarioEditTabs.Matriculas &&\r\n \r\n }\r\n \r\n\r\n \r\n {this.state.activeTab == UsuarioEditTabs.Licencias &&\r\n \r\n }\r\n \r\n\r\n \r\n {this.state.activeTab == UsuarioEditTabs.EstadisticasAccesos &&\r\n \r\n }\r\n \r\n\r\n \r\n {this.state.activeTab == UsuarioEditTabs.EstadisticasContenidos &&\r\n \r\n }\r\n \r\n\r\n \r\n {this.state.activeTab == UsuarioEditTabs.Auditoria &&\r\n \r\n }\r\n \r\n\r\n \r\n ;\r\n }\r\n\r\n protected _renderDeleteModal(): JSX.Element {\r\n if (this.state.showDeleteConfirmation != null) {\r\n return this.setState({ showDeleteConfirmation: null })}\r\n onConfirm={() => {\r\n let borradoFisico = this.state.editModel.borradoFisico;\r\n\r\n var newState = this._cloneStateForSetState();\r\n newState.showLoading = true;\r\n\r\n // Para que no salte lo que si quiero salvar los cambios\r\n delete newState.editModel.borradoFisico;\r\n\r\n this.setState(newState, () => {\r\n var service = new ColegioUsuariosService();\r\n\r\n var prom = borradoFisico\r\n ? service.deleteFisico(this.state.editModel.id)\r\n : service.delete(this.state.editModel.id);\r\n\r\n prom.then(() => {\r\n this.props.history.push(this._getListUrl());\r\n })\r\n .catch((error) => {\r\n this.setState({ showLoading: false }, () => {\r\n AlertsService.showError(error);\r\n })\r\n });\r\n })\r\n }}\r\n />\r\n }\r\n }\r\n\r\n private _paintMainForm(): JSX.Element {\r\n return \r\n {this._renderDeleteModal()}\r\n \r\n \r\n {this.state.editModel.borrado && \r\n \r\n \r\n {I18n.Strings.colegioUsuarios.usuarioEstaBorrado}\r\n \r\n \r\n {\r\n this.setState({ showLoading: true }, () => {\r\n var service = new ColegioUsuariosService();\r\n var ids = [];\r\n ids.push(this.state.editModel.id);\r\n service.undelete(ids)\r\n .then((ret) => {\r\n var state = this._cloneStateForSetState();\r\n state.showLoading = false;\r\n state.editModel.borrado = false;\r\n this.setState(state);\r\n });\r\n })\r\n }}>\r\n \r\n {I18n.Strings.colegioUsuarios.recuperar}\r\n \r\n \r\n \r\n }\r\n \r\n {this.state.editModel.id > 0 && \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.nombre))}\r\n name={nameof(this.state.editModel.nombre)}\r\n id={\"usuarios\" + nameof(this.state.editModel.nombre)}\r\n value={this.state.editModel.nombre || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.nombre))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.apellidos = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.apellidos))}\r\n name={nameof(this.state.editModel.apellidos)}\r\n id={\"usuarios\" + nameof(this.state.editModel.apellidos)}\r\n value={this.state.editModel.apellidos || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.apellidos))}\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.editModel.tipoUsuario = value as TipoUsuario;\r\n }\r\n else {\r\n newState.editModel.tipoUsuario = null;\r\n }\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseActualId = id;\r\n state.editModel.claseActual = nombre;\r\n this.setState(state);\r\n }}\r\n />\r\n\r\n {this._errorMessage(nameof(this.state.editModel.claseActualId))}\r\n \r\n \r\n\r\n {/*\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.login = evt.target.value;\r\n this.setState(state);\r\n }}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.login))}\r\n name={nameof(this.state.editModel.login)}\r\n id={\"usuarios\" + nameof(this.state.editModel.login)}\r\n value={this.state.editModel.login || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.login))}\r\n \r\n \r\n {this.state.editModel.allowCustomLogin && \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.password = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={20}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.password)}\r\n id={\"usuarios\" + nameof(this.state.editModel.password)}\r\n value={this.state.editModel.password || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.password))}\r\n {(this.state.editModel.passwordError || \"\").trim().length > 0 && {this.state.editModel.passwordError}}\r\n \r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.editModel.foto != null &&
\r\n\r\n
\r\n }\r\n
\r\n {this.state.editModel.id > 0 && !this.state.editModel.borrado &&
\r\n {\r\n this._updateStateValue(data.documentUrl, nameof.full(this.state.editModel.foto, 2));\r\n }}\r\n />\r\n
}\r\n
\r\n \r\n
\r\n
;\r\n }\r\n\r\n protected _getBotones(): JSX.Element[] {\r\n var botones = [];\r\n /*\r\n if (!this.state.editModel.borrado && this.state.editModel.estado == EstadoUsuario.PendienteValidacion) {\r\n\r\n \r\n botones.push(\r\n {\r\n this.setState({ showLoading: true }, () => {\r\n var service = new ColegioUsuariosService();\r\n var ids = [];\r\n ids.push(this.state.editModel.id);\r\n service.activate(ids)\r\n .then((ret) => {\r\n var state = this._cloneStateForSetState();\r\n state.showLoading = false;\r\n state.editModel.estado = EstadoUsuario.Activo;\r\n this.setState(state);\r\n });\r\n })\r\n }}>\r\n \r\n {I18n.Strings.validate}\r\n \r\n );\r\n }\r\n */\r\n\r\n if (this.state.editModel.id != 0 && (\r\n ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal || ClientContext.Current.tipoUsuario == TipoUsuario.AdminColegio\r\n )) {\r\n botones.push(\r\n {\r\n var impService = new ImpersonationService();\r\n impService.impersonate(this.state.editModel.id);\r\n }}>\r\n {I18n.Strings.emularUsuario.emularUsuario}\r\n \r\n );\r\n }\r\n\r\n //if (this.state.editModel.id != 0 && !this.state.editModel.borrado && this.state.editModel.estado == EstadoUsuario.PendienteValidacion) {\r\n\r\n botones.push();\r\n\r\n botones.push(\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.showDeleteConfirmation = true;\r\n newState.editModel.borradoFisico = false;\r\n this.setState(newState);\r\n }}>\r\n\r\n \r\n {I18n.Strings.delete}\r\n \r\n );\r\n //}\r\n\r\n\r\n if (this.state.editModel.id != 0 && ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal) {\r\n\r\n botones.push();\r\n\r\n botones.push(\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.showDeleteConfirmation = true;\r\n newState.editModel.borradoFisico = true;\r\n this.setState(newState);\r\n }}>\r\n \r\n {I18n.Strings.deleteFisico}\r\n \r\n );\r\n\r\n\r\n }\r\n\r\n return botones;\r\n }\r\n\r\n protected _extraButtons(): JSX.Element {\r\n var botones = this._getBotones();\r\n\r\n return \r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editUsuarioColegio(id);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listUsuariosColegio();\r\n }\r\n\r\n protected async _createStateForNew(): Promise> {\r\n const service = new ColegioUsuariosService();\r\n const model = new GenericEditState();\r\n model.activeTab = UsuarioEditTabs.Datos;\r\n\r\n try {\r\n const data = await service.new();\r\n model.editModel = data;\r\n } catch (error) {\r\n\r\n model.editModel = {\r\n id: 0,\r\n nombre: \"\",\r\n login: \"\",\r\n estado: EstadoUsuario.Nuevo,\r\n origen: Origen.Administrador,\r\n allowCustomLogin: true\r\n } as ColegioUsuarioEditModel;\r\n }\r\n\r\n return model;\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.editModel.nombre || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.nombre), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.nombre));\r\n }\r\n\r\n if ((this.state.editModel.apellidos || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.apellidos), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.apellidos));\r\n }\r\n\r\n if ((this.state.editModel.login || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.login), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.login));\r\n }\r\n\r\n if (this.state.editModel.tipoUsuario == null) {\r\n validation.addError(nameof(this.state.editModel.tipoUsuario), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.tipoUsuario));\r\n }\r\n else if (this.state.editModel.tipoUsuario == TipoUsuario.Alumno && (this.state.editModel.claseActualId || 0) == 0) {\r\n validation.addError(nameof(this.state.editModel.claseActualId), I18n.Strings.colegioUsuarios.errorNivelRequired)\r\n }\r\n\r\n if ((this.state.editModel.password || \"\").trim().length > 0 && (this.state.editModel.password || \"\").trim().length < 8) {\r\n validation.addError(nameof(this.state.editModel.password), I18n.Strings.validationErrors.stringLengthGreaterThan(I18n.Strings.colegioUsuarios.password, 8));\r\n }\r\n return validation;\r\n }\r\n\r\n protected updateBreadCrumb(model: ColegioUsuarioEditModel) {\r\n var items = [{\r\n text: I18n.Strings.colegioUsuarios.title,\r\n link: RouteHelper.listUsuariosColegio()\r\n }];\r\n if (model.id == 0) {\r\n items.push({\r\n text: I18n.Strings.addNew,\r\n link: \"\"\r\n });\r\n }\r\n else {\r\n items.push({\r\n text: `${model.nombre} ${model.apellidos}`,\r\n link: RouteHelper.editUsuarioColegio(model.id)\r\n });\r\n\r\n switch (this.state.activeTab) {\r\n case UsuarioEditTabs.Datos: {\r\n items.push({ text: I18n.Strings.colegioUsuarios.tabDatos, link: RouteHelper.editUsuarioColegio(this.state.editModel.id, UsuarioEditTabs.Datos) });\r\n break;\r\n }\r\n case UsuarioEditTabs.Licencias: {\r\n items.push({ text: I18n.Strings.licenciasContenido.entityPluralName, link: RouteHelper.editUsuarioColegio(this.state.editModel.id, UsuarioEditTabs.Licencias) });\r\n break;\r\n }\r\n case UsuarioEditTabs.Matriculas: {\r\n items.push({ text: I18n.Strings.colegioUsuarios.tabMatriculas, link: RouteHelper.editUsuarioColegio(this.state.editModel.id, UsuarioEditTabs.Matriculas) });\r\n break;\r\n }\r\n case UsuarioEditTabs.EstadisticasAccesos: {\r\n items.push({ text: I18n.Strings.colegioUsuarios.tabEstadisticasAccesos, link: RouteHelper.editUsuarioColegio(this.state.editModel.id, UsuarioEditTabs.EstadisticasAccesos) });\r\n break;\r\n }\r\n case UsuarioEditTabs.EstadisticasContenidos: {\r\n items.push({ text: I18n.Strings.colegioUsuarios.tabEstadisticasContenidos, link: RouteHelper.editUsuarioColegio(this.state.editModel.id, UsuarioEditTabs.EstadisticasContenidos) });\r\n break;\r\n }\r\n }\r\n }\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n}\r\n\r\nexport const Edit = withRouter(EditComp)","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Button, Col, FormGroup, Input, Label } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport UserNameToolTip from \"../colegioUsuarios/UserNameToolTip\";\r\nimport { CursoEscolarDropDown } from \"../cursoEscolar/CursoEscolarDropDown\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { EditorialDropDown, FormatoContenidoDropDown, OrigenLicenciaDropDown, TipoUsuarioContenidoDropDown, TodosTipoAccesoDropDown, YesNoDropDown } from \"../helpers/EnumDropDown\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { CursoEscolarListItem, Editorial, FormatoContenido, LicenciasContenidosListItem, LicenciasContenidosListItemPaginatedList, LicenciasContenidosSearch, OrigenLicencia, TipoAcceso, TipoUsuario, TipoUsuarioContenido, YesNo } from \"../models/dataModels\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { DeleteModal } from \"../utils/DeleteModal\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { DeleteIcon } from \"../utils/Icons\";\r\nimport { LicenciaContenidosEditTabs } from \"./Edit\";\r\nimport { LicenciasColegioService } from \"./LicenciasColegioService\";\r\nimport { TipoAccesoDropDown } from \"./TipoAccesoDropDown\";\r\n\r\n\r\n\r\n\r\nexport interface LicenciasContenidosSearchEx extends LicenciasContenidosSearch {\r\n cursoEscolar: string;\r\n nivelEducativo: string;\r\n showBulkDeleteConfirmation: boolean;\r\n}\r\n\r\nclass IndexComp extends IndexPageBase\r\n{\r\n\r\n\r\n protected _getInitialSearchParams(): LicenciasContenidosSearchEx {\r\n\r\n var cursoEscolarActivo = ClientContext.Current.cursosEscolares.find(c => c.id == ClientContext.Current.cursoEscolarActivoId);\r\n\r\n return {\r\n ...{ contenidoId: this.props.searchModel?.contenidoId } as LicenciasContenidosSearchEx,\r\n usuarioId: this.props.searchModel?.usuarioId,\r\n cursoEscolar: cursoEscolarActivo.nombre,\r\n cursoEscolarId: cursoEscolarActivo.id,\r\n matriculaId: this.props.searchModel?.matriculaId,\r\n orderByColumn: nameof(this.state.searchResults.items[0].contenido)\r\n }\r\n }\r\n\r\n protected _canAddItems(): boolean {\r\n return ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal;\r\n }\r\n\r\n\r\n protected _showCheckboxes(): boolean {\r\n return true;\r\n }\r\n\r\n protected _toolbarRightContents(): JSX.Element[] {\r\n\r\n var contents = super._toolbarRightContents();\r\n\r\n if (ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal && (this.state.checkedElements || []).length !== 0) {\r\n contents.push( {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.showBulkDeleteConfirmation = true;\r\n this.setState(newState);\r\n }}>\r\n \r\n {I18n.Strings.delete}\r\n );\r\n }\r\n\r\n return contents\r\n }\r\n\r\n protected _performDeleteMultiple(ids: number[]) {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.showLoadingIcon = true;\r\n state.searchParams.currentPage = 0;\r\n\r\n this.setState(state, () => {\r\n var service = new LicenciasColegioService();\r\n\r\n service.deleteMultiple(ids)\r\n .then(() => {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.showBulkDeleteConfirmation = false;\r\n this.setState(newState, () => {\r\n this._performSearch();\r\n });\r\n \r\n })\r\n .catch((error) => {\r\n this._showError(I18n.logAndExtractInfoFromException(error));\r\n });\r\n });\r\n }\r\n\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n\r\n {this.state.searchParams.showBulkDeleteConfirmation &&\r\n {\r\n var newstate = this._cloneStateForSetState();\r\n newstate.searchParams.showBulkDeleteConfirmation = false;\r\n this.setState(newstate);\r\n }}\r\n onConfirm={() => this._performDeleteMultiple(this.state.checkedElements)}\r\n />\r\n }\r\n\r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.editorial = value == \"\" ? null : value as Editorial;\r\n newState.searchParams.currentPage = 0;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n\r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.cursoEscolarId = id;\r\n state.searchParams.cursoEscolar = nombre;\r\n state.searchParams.currentPage = 0;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nivelEducativoId = id;\r\n state.searchParams.nivelEducativo = nombre;\r\n state.searchParams.currentPage = 0;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.contenidoNombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.contenidoNombre)}\r\n id={nameof(this.state.searchParams.contenidoNombre)}\r\n value={this.state.searchParams.contenidoNombre || \"\"}\r\n />\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.usuarioNombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.usuarioNombre)}\r\n id={nameof(this.state.searchParams.usuarioNombre)}\r\n value={this.state.searchParams.usuarioNombre || \"\"}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.credenciales = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.credenciales)}\r\n id={nameof(this.state.searchParams.credenciales)}\r\n value={this.state.searchParams.credenciales || \"\"}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.origen = value == \"\" ? null : value as OrigenLicencia;\r\n newState.searchParams.currentPage = 0;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.numPedido = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.numPedido)}\r\n id={nameof(this.state.searchParams.numPedido)}\r\n value={this.state.searchParams.numPedido || \"\"}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.rol = value == \"\" ? null : value as TipoUsuarioContenido;\r\n newState.searchParams.currentPage = 0;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.formatoContenido = value == \"\" ? null : value as FormatoContenido;\r\n newState.searchParams.currentPage = 0;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n\r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.tieneCredenciales = value == YesNo.Yes.toString() ? true : value == YesNo.No.toString() ? false : null;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n \r\n\r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.tipoAcceso = value == \"\" ? null : value as TipoAcceso;\r\n newState.searchParams.currentPage = 0;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n \r\n\r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.asignacionLicenciaManual = value == YesNo.Yes.toString() ? true : value == YesNo.No.toString() ? false : null;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n \r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new LicenciasColegioService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n\r\n var columnas: TableColumn[];\r\n\r\n var item = {} as LicenciasContenidosListItem;\r\n // TODO MBERNAL: Quitar este engendro de IF y mostrar ocultar campos en funcion de los props por los que filtramos\r\n\r\n // si se muestra en pestaña de detalle de un alumno\r\n if (this.props.searchModel != null && this.props.searchModel.usuarioId != null) {\r\n columnas = [\r\n {\r\n fieldName: nameof(item.isbn),\r\n title: I18n.Strings.licenciasContenido.isbn,\r\n renderField: (item: LicenciasContenidosListItem) => item.isbn,\r\n colMdWidth: 4\r\n },\r\n {\r\n fieldName: nameof(item.contenido),\r\n title: I18n.Strings.licenciasContenido.contenido,\r\n renderField: (item: LicenciasContenidosListItem) => {\r\n var titulo = item.contenido;\r\n\r\n if ((item.contenidoId || 0) == 0) {\r\n titulo += \" (Papel)\";\r\n }\r\n return titulo\r\n },\r\n colMdWidth: 4\r\n },\r\n {\r\n fieldName: nameof(item.clase),\r\n title: I18n.Strings.licenciasContenido.grupoClase,\r\n renderField: (item: LicenciasContenidosListItem) => item.clase,\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: nameof(item.claseMateria),\r\n title: I18n.Strings.licenciasContenido.claseMateria,\r\n renderField: (item: LicenciasContenidosListItem) => item.claseMateria,\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: nameof(item.subgrupo),\r\n title: I18n.Strings.matriculas.subgrupo,\r\n renderField: (item: LicenciasContenidosListItem) => item.subgrupo,\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: nameof(item.usuario),\r\n title: I18n.Strings.licenciasContenido.usuario,\r\n renderField: (item: LicenciasContenidosListItem) => item.usuario,\r\n colMdWidth: 4\r\n },\r\n {\r\n fieldName: nameof(item.credenciales),\r\n title: I18n.Strings.licenciasContenido.credenciales,\r\n renderField: (item: LicenciasContenidosListItem) => {\r\n if ((item.contenidoId || 0) == 0) {\r\n return \"Papel\";\r\n }\r\n\r\n return item.credenciales;\r\n },\r\n colMdWidth: 3\r\n },\r\n {\r\n fieldName: nameof(item.fechaPedido),\r\n title: I18n.Strings.licenciasContenido.fechaPedido,\r\n renderField: (item: LicenciasContenidosListItem) => I18n.Strings.formatDate(item.fechaPedido),\r\n colMdWidth: 3\r\n },\r\n {\r\n fieldName: nameof(item.editorial),\r\n title: I18n.Strings.licenciasContenido.editorial,\r\n renderField: (item: LicenciasContenidosListItem) => {\r\n return I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n },\r\n colMdWidth: 2\r\n }\r\n ];\r\n }\r\n // si se muestra en listado de licencias\r\n else {\r\n columnas = [\r\n {\r\n fieldName: nameof(item.isbn),\r\n title: I18n.Strings.licenciasContenido.isbn,\r\n renderField: (item: LicenciasContenidosListItem) => item.isbn,\r\n colMdWidth: 4\r\n },\r\n {\r\n fieldName: nameof(item.contenido),\r\n title: I18n.Strings.licenciasContenido.contenido,\r\n renderField: (item: LicenciasContenidosListItem) => {\r\n var titulo = item.contenido;\r\n\r\n if ((item.contenidoId || 0) == 0) {\r\n titulo += \" (Papel)\";\r\n }\r\n return titulo\r\n },\r\n colMdWidth: 3\r\n },\r\n {\r\n fieldName: nameof(item.editorial),\r\n title: I18n.Strings.licenciasContenido.editorial,\r\n renderField: (item: LicenciasContenidosListItem) => {\r\n var editorial = I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n if (item.contenidoId == null) {\r\n return editorial;\r\n }\r\n var tipoAcceso = item.contenidoId == null ? \"papel\" : I18n.Strings.getEnumText(`TipoAcceso.${item.tipoAcceso}`);\r\n return `${editorial} - ${tipoAcceso}`;\r\n },\r\n colMdWidth: 2\r\n },\r\n /*\r\n {\r\n fieldName: nameof(item.nivelEducativo),\r\n title: I18n.Strings.licenciasContenido.nivelEducativo,\r\n renderField: (item: LicenciasContenidosListItem) => item.nivelEducativo,\r\n colMdWidth: 2\r\n },\r\n */\r\n {\r\n fieldName: nameof(item.clase),\r\n title: I18n.Strings.licenciasContenido.grupoClase,\r\n renderField: (item: LicenciasContenidosListItem) => item.clase,\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: nameof(item.claseMateria),\r\n title: I18n.Strings.licenciasContenido.claseMateria,\r\n renderField: (item: LicenciasContenidosListItem) => item.claseMateria,\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: nameof(item.subgrupo),\r\n title: I18n.Strings.matriculas.subgrupo,\r\n renderField: (item: LicenciasContenidosListItem) => item.subgrupo,\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: nameof(item.credenciales),\r\n title: I18n.Strings.licenciasContenido.credenciales,\r\n renderField: (item: LicenciasContenidosListItem) => {\r\n\r\n if ((item.contenidoId || 0) == 0) {\r\n return \"Papel\";\r\n }\r\n return I18n.Strings.formatBool((item.credenciales || \"\").length != 0);\r\n },\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: nameof(item.usuario),\r\n title: I18n.Strings.licenciasContenido.usuario,\r\n renderField: (item: LicenciasContenidosListItem) => ,\r\n colMdWidth: 3\r\n },\r\n {\r\n fieldName: nameof(item.fechaUltimoAcceso),\r\n title: I18n.Strings.licenciasContenido.fechaUltimoAcceso,\r\n renderField: (item: LicenciasContenidosListItem) => {\r\n if ((item.contenidoId || 0) == 0) {\r\n return \"Papel\";\r\n }\r\n return I18n.Strings.formatLastAccessDate(item.fechaUltimoAcceso);\r\n },\r\n colMdWidth: 2\r\n },\r\n\r\n ];\r\n }\r\n\r\n if (this.props.searchModel?.usuarioId != null) {\r\n columnas = columnas.filter(p => p.fieldName != nameof(item.usuario));\r\n }\r\n\r\n if (this.props.searchModel?.contenidoId != null) {\r\n columnas = columnas.filter(p => p.fieldName != nameof(item.contenido)\r\n && p.fieldName != nameof(item.editorial)\r\n );\r\n }\r\n\r\n if (this.props.searchModel?.matriculaId != null) {\r\n columnas = columnas.filter(p => p.fieldName != nameof(item.cursoEscolar)\r\n && p.fieldName != nameof(item.clase)\r\n && p.fieldName != nameof(item.nivelEducativo)\r\n && p.fieldName != nameof(item.claseMateria)\r\n && p.fieldName != nameof(item.usuario)\r\n );\r\n }\r\n\r\n\r\n if (this.props.searchModel?.claseMateriaId != null) {\r\n columnas = columnas.filter(p => p.fieldName != nameof(item.claseMateria)\r\n && p.fieldName != nameof(item.clase)\r\n );\r\n }\r\n\r\n return columnas;\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.licenciasContenido.entityPluralName;\r\n }\r\n\r\n\r\n\r\n protected _getPageDescription(): string {\r\n return \"Aquí ves las licencias digitales + cont en papel de los usuarios\";\r\n }\r\n\r\n protected hideGridButtonsOverride(item: LicenciasContenidosListItem) {\r\n if (item == null) return true;\r\n\r\n return (item.contenidoId || 0) == 0;\r\n }\r\n\r\n protected _getEditionItemUrl(item: LicenciasContenidosListItem): string {\r\n\r\n return RouteHelper.editLicenciasColegio(item.id,\r\n this.props.searchModel?.usuarioId,\r\n this.props.searchModel?.contenidoId,\r\n LicenciaContenidosEditTabs.Datos);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n if (ClientContext.Current.tipoUsuario != TipoUsuario.AdminGlobal) {\r\n return null;\r\n }\r\n return RouteHelper.createLicenciasColegio(this.props.searchModel?.usuarioId, this.props.searchModel?.contenidoId);\r\n }\r\n\r\n protected _enableExcelExport(): boolean {\r\n return true;\r\n }\r\n\r\n\r\n protected _calculateCellClass(item: LicenciasContenidosListItem) {\r\n return item.tieneError ? \"text-danger\" : \"\";\r\n }\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Col, FormGroup, Label } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ColegioUsuariosPicker } from \"../colegioUsuarios/Picker\";\r\nimport UserNameToolTip from \"../colegioUsuarios/UserNameToolTip\";\r\nimport { ClaseMateriaDropDown } from \"../cursoEscolar/materia/ClaseMateriaDropDown\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { MatriculaListItem, MatriculaListItemPaginatedList, MatriculasSearch, TipoUsuario } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { MatriculasService } from \"./MatriculasService\";\r\n\r\n\r\n\r\n\r\ninterface MatriculasSearchEx extends MatriculasSearch {\r\n usuario?: string;\r\n clase?: string;\r\n materia?: string;\r\n}\r\n\r\nclass IndexComp extends IndexPageBase\r\n{\r\n protected _renderSearchForm(): React.ReactNode {\r\n if (this.props.isEmbedded) {\r\n return null;\r\n }\r\n return \r\n \r\n item.id}\r\n getNameFromItem={(item) => `${item.nombre} ${item.apellidos}`}\r\n\r\n errorMessage={null}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.usuarioId = usuarioId;\r\n state.searchParams.usuario = usuario;\r\n\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.claseId = id;\r\n state.searchParams.clase = nombre;\r\n state.searchParams.materia = null;\r\n state.searchParams.claseMateriaId = null;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.claseMateriaId = materiaId;\r\n state.searchParams.materia = materia;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new MatriculasService();\r\n }\r\n\r\n\r\n protected _getInitialSearchParams(): MatriculasSearch {\r\n\r\n let model = super._getInitialSearchParams();\r\n\r\n if (model.cursoEscolarId == null) {\r\n model.cursoEscolarId = ClientContext.Current.cursoEscolarActivoId;\r\n }\r\n\r\n if (this.props.searchModel?.usuarioId != null) {\r\n model.orderByColumn = nameof(this.state.searchResults.items[0].materia);\r\n }\r\n\r\n return model;\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n \r\n let columns = [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].etapa),\r\n title: I18n.Strings.etapa.etapa,\r\n renderField: (item) => item.etapa\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].clase),\r\n title: I18n.Strings.matriculas.nombreClase,\r\n renderField: (item) => item.clase\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].materia),\r\n title: I18n.Strings.matriculas.nombreMateria,\r\n renderField: (item) => item.materia\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].subgrupo),\r\n title: I18n.Strings.matriculas.subgrupo,\r\n renderField: (item) => item.subgrupo\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].usuario),\r\n title: I18n.Strings.matriculas.nombreUsuario,\r\n renderField: (item) => ,\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].rol),\r\n title: I18n.Strings.matriculas.rol,\r\n renderField: (item) => item.rol\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].fecha),\r\n title: I18n.Strings.matriculas.fecha,\r\n renderField: (item) => I18n.Strings.formatDate(item.fecha)\r\n }\r\n ] as TableColumn[];\r\n\r\n if ((this.props.searchModel?.usuarioId || 0) != 0) {\r\n columns = columns.filter(c => c.fieldName != nameof(this.state.searchResults.items[0].usuario));\r\n }\r\n\r\n return columns;\r\n }\r\n\r\n \r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.matriculas.title;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.matriculas.description;\r\n }\r\n\r\n protected _canAddItems(): boolean {\r\n return ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal;\r\n }\r\n\r\n protected _getEditionItemUrl(item: MatriculaListItem): string {\r\n return RouteHelper.editMatricula(item.id, this.props.searchModel?.usuarioId);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createMatricula(this.props.searchModel?.usuarioId);\r\n }\r\n\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import * as React from \"react\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport { AccesosSistema } from \"../accesos/AccesosSistema\";\r\nimport { TipoGrafico } from \"../models/dataModels\";\r\nimport { I18n } from \"../utils/I18n\";\r\n\r\n\r\n\r\ninterface EstadisticasState {\r\n\r\n}\r\n\r\ninterface EstadisticasProps {\r\n usuarioId: number;\r\n}\r\n\r\nexport class TabEstadisticasAccesos extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n //this.state = {\r\n // loading: true\r\n //};\r\n }\r\n\r\n render() {\r\n\r\n return
\r\n

{I18n.Strings.estadisticas.accesosSistema}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n}","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { TipoGrafico } from \"../models/dataModels\";\r\nimport { LicenciasColegioService } from \"../licenciasColegio/LicenciasColegioService\"\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport { AccesosContenido } from \"../accesos/AccesosContenido\";\r\nimport { Row, Col } from \"reactstrap\";\r\n\r\ninterface EstadisticasProps {\r\n usuarioId: number;\r\n}\r\n\r\nexport class TabEstadisiticasContenidos extends React.Component {\r\n\r\n render() {\r\n\r\n return
\r\n

{I18n.Strings.estadisticas.accesosLibros}

\r\n \r\n \r\n \r\n \r\n \r\n
;\r\n }\r\n}","import nameof from \"ts-nameof.macro\";\r\nimport { EntradaAuditoriaListItemPaginatedList, EntradaAuditoriaSearch, MatriculaEditModel, MatriculaListItem, MatriculaListItemPaginatedList, MatriculasSearch, ModelValidationResult } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\n\r\n\r\nexport class AuditoriasService\r\n implements IServiceForIndex\r\n{\r\n\r\n \r\n\r\n search(searchData: EntradaAuditoriaSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/entradasAuditoria/search\", searchData);\r\n\r\n prom.then(res => {\r\n\r\n res.items.forEach((val) => {\r\n val.fecha = new Date(val.fecha);\r\n });\r\n\r\n return res;\r\n });\r\n\r\n return prom;\r\n }\r\n\r\n delete(id: number): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n exportExcel(search: EntradaAuditoriaSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n}","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Col, FormGroup, Label } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ColegioUsuariosPicker } from \"../colegioUsuarios/Picker\";\r\nimport UserNameToolTip from \"../colegioUsuarios/UserNameToolTip\";\r\nimport { ClaseMateriaDropDown } from \"../cursoEscolar/materia/ClaseMateriaDropDown\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { EntradaAuditoriaListItem, EntradaAuditoriaListItemPaginatedList, EntradaAuditoriaSearch, MatriculaListItem, MatriculaListItemPaginatedList, MatriculasSearch, SortDirection, TipoAuditoria } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { AuditoriasService } from \"./AuditoriaService\";\r\n\r\n\r\n\r\n\r\nexport interface EntradaAuditoriaSearchEx extends EntradaAuditoriaSearch {\r\n usuarioDatos: string;\r\n}\r\n\r\nclass IndexComp extends IndexPageBase\r\n{\r\n protected _getInitialSearchParams(): EntradaAuditoriaSearchEx {\r\n var params = super._getInitialSearchParams();\r\n\r\n params.orderMode = SortDirection.Desc;\r\n return params;\r\n }\r\n\r\n protected hideGridButtonsOverride() {\r\n return true;\r\n }\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n if (this.props.isEmbedded) {\r\n return null;\r\n }\r\n return \r\n \r\n item.id}\r\n getNameFromItem={(item) => `${item.nombre} ${item.apellidos}`}\r\n\r\n errorMessage={null}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.usuarioDatosId = usuarioId;\r\n state.searchParams.usuarioDatos = usuario;\r\n\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new AuditoriasService() as IServiceForIndex;\r\n }\r\n\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n \r\n let columns = [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].fecha),\r\n title: I18n.Strings.entradasAuditoria.fecha, \r\n renderField: (item) => {\r\n return I18n.Strings.formatDateTime(item.fecha);\r\n }\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].tipoAuditoria),\r\n title: I18n.Strings.entradasAuditoria.tipoAuditoria,\r\n renderField: (item) => {\r\n return I18n.Strings.getEnumText(`TipoAuditoria.${TipoAuditoria[item.tipoAuditoria]}`)\r\n }\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].descripcion),\r\n title: I18n.Strings.entradasAuditoria.descripcion,\r\n renderField: (item) => item.descripcion,\r\n },\r\n ,\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].usuarioDatos),\r\n title: I18n.Strings.entradasAuditoria.usuarioDatos,\r\n renderField: (item) => item.usuarioDatos,\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].usuarioAccion),\r\n title: I18n.Strings.entradasAuditoria.usuarioAccion,\r\n renderField: (item) => item.usuarioAccion,\r\n }\r\n ] as TableColumn[];\r\n\r\n if ((this.props.searchModel?.usuarioDatosId || 0) != 0) {\r\n columns = columns.filter(c => c.fieldName != nameof(this.state.searchResults.items[0].usuarioDatos));\r\n }\r\n\r\n return columns;\r\n }\r\n\r\n \r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.matriculas.title;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.matriculas.description;\r\n }\r\n\r\n\r\n protected _getEditionItemUrl(item: EntradaAuditoriaListItem): string {\r\n return null;\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return null;\r\n }\r\n\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Col, FormGroup, Input, Label, Nav, NavItem, NavLink, Row, TabContent, TabPane } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { AliasEditorialEditTabs } from \"../../aliasEditoriales/Edit\";\r\nimport { EditorialDropDown, YesNoDropDown } from \"../../helpers/EnumDropDown\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { Index as LicenciasColegioIndex, LicenciasContenidosSearchEx } from \"../../licenciasColegio/Index\";\r\nimport { TipoAccesoDropDown } from \"../../licenciasColegio/TipoAccesoDropDown\";\r\nimport { ContenidosColegioEditModel, Editorial, NivelContenidosSearch, TipoAcceso, YesNo } from \"../../models/dataModels\";\r\nimport { Index as NivelesContenidosIndex } from \"../../nivelesContenidos/Index\";\r\nimport { IServiceForEdit } from \"../../utils/base/BaseServices\";\r\nimport { NavigationHelper } from \"../../utils/base/Breadcrumb\";\r\nimport { EditPageBase } from \"../../utils/base/EditPageBase\";\r\nimport { GenericEditState } from \"../../utils/base/GenericEditState\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { EditIcon } from \"../../utils/Icons\";\r\nimport { ContenidosColegioService } from \"./ContenidosColegioService\";\r\n\r\nexport enum ContenidoColegioEditTabs {\r\n Datos = \"datos\",\r\n Licencias = \"licencias-colegio\",\r\n Niveles = \"niveles\",\r\n}\r\n\r\nexport class EditContenidoColegioComp extends EditPageBase {\r\n\r\n\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nuevo\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: ContenidosColegioEditModel): string {\r\n return `Editar ${editModel.nombre}`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new ContenidosColegioService() as any as IServiceForEdit;\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n\r\n if ((this.state.editModel.id || 0) == 0) {\r\n return this._paintMainForm();\r\n }\r\n\r\n return \r\n \r\n \r\n \r\n {this._paintMainForm()}\r\n \r\n\r\n \r\n {this.state.activeTab == ContenidoColegioEditTabs.Licencias &&\r\n \r\n }\r\n \r\n\r\n \r\n {this.state.activeTab == ContenidoColegioEditTabs.Niveles &&\r\n \r\n }\r\n \r\n\r\n\r\n \r\n \r\n }\r\n\r\n private _paintMainForm(): JSX.Element {\r\n\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n disabled={true}\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.nombre))}\r\n name={nameof(this.state.editModel.nombre)}\r\n id={\"contenidos\" + nameof(this.state.editModel.nombre)}\r\n value={this.state.editModel.nombre || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.nombre))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.isbn = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n disabled={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.isbn))}\r\n name={nameof(this.state.editModel.isbn)}\r\n id={\"contenidos\" + nameof(this.state.editModel.isbn)}\r\n value={this.state.editModel.isbn || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.isbn))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.descripcion = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"textarea\"\r\n required={true}\r\n disabled={true}\r\n maxLength={500}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.descripcion))}\r\n name={nameof(this.state.editModel.descripcion)}\r\n id={\"contenidos\" + nameof(this.state.editModel.descripcion)}\r\n value={this.state.editModel.descripcion || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.descripcion))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {`${I18n.Strings.contenidos.editorial} - (${this.state.editModel.aliasEditorial})`} \r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.editorial = value;\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.editModel.tipoAccesoPorDefecto = value as TipoAcceso;\r\n }\r\n else {\r\n newState.editModel.tipoAccesoPorDefecto = null;\r\n }\r\n this.setState(newState);\r\n }}\r\n\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.tipoAccesoPorDefecto))}\r\n\r\n \r\n \r\n\r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.mostrarAccesoDirecto = value == YesNo.Yes.toString() ? true : value == YesNo.No.toString() ? false : null;\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.mensajeAcceso = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"textarea\"\r\n required={this.state.editModel.tipoAccesoPorDefecto == TipoAcceso.NoAccedeMuestraMensaje}\r\n disabled={this.state.editModel.tipoAccesoPorDefecto != TipoAcceso.NoAccedeMuestraMensaje}\r\n maxLength={500}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.mensajeAcceso))}\r\n name={nameof(this.state.editModel.mensajeAcceso)}\r\n id={nameof(this.state.editModel.mensajeAcceso)}\r\n value={this.state.editModel.mensajeAcceso || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.mensajeAcceso))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.editModel.caratula != null &&
\r\n\r\n
\r\n }\r\n
\r\n
\r\n \r\n
\r\n
;\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editContenidosColegio(id, ContenidoColegioEditTabs.Datos);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listContenidosColegio();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n ...{} as ContenidosColegioEditModel,\r\n id: 0,\r\n } as ContenidosColegioEditModel;\r\n\r\n return Promise.resolve(model);\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n\r\n if ((this.state.editModel.nombre || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.nombre), I18n.Strings.validationErrors.valueRequired(I18n.Strings.contenidos.nombre));\r\n }\r\n\r\n if ((this.state.editModel.descripcion || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.descripcion), I18n.Strings.validationErrors.valueRequired(I18n.Strings.contenidos.descripcion));\r\n }\r\n\r\n if ((this.state.editModel.editorial || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.editorial), I18n.Strings.validationErrors.valueRequired(I18n.Strings.contenidos.editorial));\r\n }\r\n\r\n if ((this.state.editModel.tipoAccesoPorDefecto || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.tipoAccesoPorDefecto), I18n.Strings.validationErrors.valueRequired(I18n.Strings.nivelesContenidos.tipoAccesoPorDefecto));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected updateBreadCrumb(model: ContenidosColegioEditModel) {\r\n var items = [{\r\n text: I18n.Strings.contenidos.contenidosColegioTitle,\r\n link: RouteHelper.listContenidosColegio()\r\n }];\r\n if (model.id == 0) {\r\n items.push({\r\n text: I18n.Strings.addNew,\r\n link: \"\"\r\n });\r\n }\r\n else {\r\n items.push({\r\n text: `${model.nombre}`,\r\n link: RouteHelper.editContenidosColegio(model.id)\r\n });\r\n\r\n switch (this.state.activeTab) {\r\n case ContenidoColegioEditTabs.Datos: {\r\n items.push({ text: I18n.Strings.contenidos.tabDatos, link: RouteHelper.editContenidosColegio(this.state.editModel.id, ContenidoColegioEditTabs.Datos) });\r\n break;\r\n }\r\n case ContenidoColegioEditTabs.Licencias: {\r\n items.push({ text: I18n.Strings.licenciasContenido.entityPluralName, link: RouteHelper.editContenidosColegio(this.state.editModel.id, ContenidoColegioEditTabs.Licencias) });\r\n break;\r\n }\r\n case ContenidoColegioEditTabs.Niveles: {\r\n items.push({ text: I18n.Strings.contenidos.tabNiveles, link: RouteHelper.editContenidosColegio(this.state.editModel.id, ContenidoColegioEditTabs.Niveles) });\r\n break;\r\n }\r\n\r\n }\r\n }\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n}\r\n\r\nexport const EditContenidoColegio = withRouter(EditContenidoColegioComp)","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Row, Col, FormGroup, Label, Input, Button, Modal, ModalFooter, ModalBody, ModalHeader, FormFeedback, ButtonDropdown } from \"reactstrap\";\r\n\r\nimport { ColegioUsuariosService } from \"./ColegioUsuariosService\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ColegioUsuarioListItem, ColegioUsuarioListItemPaginatedList, ColegioUsuariosSearch, EstadoUsuario, TipoUsuario } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { TipoUsuarioDropDown, EstadoUsuarioDropDown } from \"../helpers/EnumDropDown\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { CheckIcon, DeleteIcon, JoinUsersIcon } from \"../utils/Icons\";\r\nimport { DeleteModal } from \"../utils/DeleteModal\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport UserNameToolTip from \"./UserNameToolTip\";\r\nimport { ColegioUsuariosPicker } from \"./Picker\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { stack } from \"d3-shape\";\r\nimport { scaleBand } from \"d3-scale\";\r\n\r\n\r\nexport interface ColegioUsuariosSearchEx extends ColegioUsuariosSearch {\r\n clase: string;\r\n disableState: boolean;\r\n showModalClase?: boolean;\r\n showModalUnirUsuarios?: boolean;\r\n claseNuevaId: number;\r\n usuarioEliminarId: number;\r\n usuarioEliminar: string;\r\n usuarioDestinoId: number;\r\n usuarioDestino: string;\r\n validationResult: ModelValidation;\r\n}\r\n\r\nclass IndexComp extends IndexPageBase\r\n{\r\n protected _getInitialSearchParams() {\r\n\r\n var searchModel = super._getInitialSearchParams();\r\n searchModel.showModalClase = false;\r\n searchModel.showModalUnirUsuarios = false;\r\n searchModel.soloAlumnosMatriculados = true;\r\n searchModel.orderByColumn = nameof(this.state.searchResults.items[0].nombre);\r\n searchModel.cursoEscolarId = ClientContext.Current.cursoEscolarActivoId;\r\n searchModel.validationResult = new ModelValidation();\r\n return searchModel;\r\n }\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.colegioUsuarios.nombre + \"...\"}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombre)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.nombre)}\r\n value={this.state.searchParams.nombre || \"\"}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.apellidos = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.colegioUsuarios.apellidos + \"...\"}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.apellidos)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.apellidos)}\r\n value={this.state.searchParams.apellidos || \"\"}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.login = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.colegioUsuarios.login + \"...\"}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.login)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.login)}\r\n value={this.state.searchParams.login || \"\"}\r\n />\r\n\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.searchParams.tipoUsuario = value as TipoUsuario;\r\n }\r\n else {\r\n newState.searchParams.tipoUsuario = null;\r\n }\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n \r\n {/*\r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.searchParams.estado = value as EstadoUsuario;\r\n }\r\n else {\r\n newState.searchParams.estado = null;\r\n }\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n \r\n */}\r\n \r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.claseId = id;\r\n state.searchParams.clase = nombre;\r\n state.searchParams.claseNuevaId = id;\r\n\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.repetidor = evt.target.checked;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, marginLeft: 10 }}\r\n id={\"usuarios\" + nameof(this.state.searchParams.repetidor)}\r\n checked={this.state.searchParams.repetidor}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var checked = evt.target.checked;\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.soloAlumnosMatriculados = checked;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, marginLeft: 10 }}\r\n id={nameof(this.state.searchParams.soloAlumnosMatriculados)}\r\n checked={this.state.searchParams.soloAlumnosMatriculados}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var checked = evt.target.checked;\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.borrado = checked;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, marginLeft: 10 }}\r\n id={\"usuarios\" + nameof(this.state.searchParams.borrado)}\r\n checked={this.state.searchParams.borrado}\r\n />\r\n\r\n \r\n \r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new ColegioUsuariosService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n\r\n\r\n\r\n var columns = [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nombreCompleto),\r\n title: I18n.Strings.colegioUsuarios.nombre,\r\n renderField: (item) => ,\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].tipoUsuario),\r\n title: I18n.Strings.colegioUsuarios.tipoUsuario,\r\n renderField: (item) => I18n.Strings.getEnumText(\"TipoUsuario.\" + item.tipoUsuario)\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].cursoEscolar),\r\n title: I18n.Strings.colegioUsuarios.cursoEscolar,\r\n renderField: (item) => item.cursoEscolar\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].clase),\r\n title: I18n.Strings.colegioUsuarios.grupoClase,\r\n renderField: (item) => item.clase\r\n },\r\n /*{\r\n fieldName: nameof(this.state.searchResults.items[0].estado),\r\n title: I18n.Strings.colegioUsuarios.estado,\r\n renderField: (item) => I18n.Strings.getEnumText(\"EstadoUsuario.\" + item.estado)\r\n },*/\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].fechaUltimoAcceso),\r\n title: I18n.Strings.colegioUsuarios.fechaUltimoAcceso,\r\n renderField: (item) => I18n.Strings.formatLastAccessDate(item.fechaUltimoAcceso)\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].created),\r\n title: I18n.Strings.colegioUsuarios.fechaCreacion,\r\n renderField: (item) => I18n.Strings.formatDate(item.created) || \"\"\r\n }\r\n ];\r\n\r\n if (this.props.searchModel?.claseId != null) {\r\n columns = columns.filter(c =>\r\n c.fieldName != nameof(this.state.searchResults.items[0].clase)\r\n && c.fieldName != nameof(this.state.searchResults.items[0].cursoEscolar)\r\n );\r\n }\r\n\r\n if (this.props.searchModel?.tipoUsuario != null) {\r\n columns = columns.filter(c => c.fieldName != nameof(this.state.searchResults.items[0].tipoUsuario));\r\n }\r\n\r\n return columns;\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.colegioUsuarios.title;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.colegioUsuarios.description;\r\n }\r\n\r\n \r\n\r\n private getIdUsuariosAlumnosChecked() {\r\n var checkedElements = this.state.checkedElements;\r\n if (this.state.searchResults != null && this.state.searchResults.items != null) {\r\n var alumnosChecked = this.state.searchResults.items.filter(function (el) {\r\n return el.tipoUsuario == TipoUsuario.Alumno && checkedElements.find(x => x === el.id) != null\r\n });\r\n }\r\n\r\n return alumnosChecked;\r\n }\r\n\r\n protected _renderExtraContent(): JSX.Element {\r\n \r\n\r\n if (this.state.searchParams.showModalClase) {\r\n return this._renderModalCambiarClase();\r\n }\r\n\r\n if (this.state.searchParams.showModalUnirUsuarios) {\r\n return this._renderModalUnirUsuarios();\r\n }\r\n }\r\n\r\n protected _renderModalUnirUsuarios(): JSX.Element {\r\n\r\n return {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.searchParams.showModalUnirUsuarios = !state.searchParams.showModalUnirUsuarios;\r\n state.showLoadingIcon = false;\r\n this.setState(state);\r\n }}\r\n >\r\n {\r\n {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.searchParams.showModalUnirUsuarios = false;\r\n state.showLoadingIcon = false;\r\n this.setState(state);\r\n }} />}>\r\n {I18n.Strings.unirUsuarios.titulo}\r\n \r\n }\r\n \r\n \r\n \r\n item.id}\r\n getNameFromItem={(item) => item.nombre + ' ' + item.apellidos}\r\n errorMessage={this.state.searchParams.validationResult.getError(nameof(this.state.searchParams.usuarioEliminarId))}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.usuarioEliminarId = usuarioId;\r\n state.searchParams.usuarioEliminar = usuario;\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n item.id}\r\n getNameFromItem={(item) => item.nombre + ' ' + item.apellidos}\r\n errorMessage={this.state.searchParams.validationResult.getError(nameof(this.state.searchParams.usuarioDestinoId))}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.usuarioDestinoId = usuarioId;\r\n state.searchParams.usuarioDestino = usuario;\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n protected _renderModalCambiarClase(): JSX.Element {\r\n var alumnosChecked = this.getIdUsuariosAlumnosChecked();\r\n\r\n return {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.searchParams.showModalClase = !state.searchParams.showModalClase;\r\n this.setState(state);\r\n }}\r\n >\r\n {\r\n {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.searchParams.showModalClase = false;\r\n this.setState(state);\r\n }} />}>\r\n {I18n.Strings.colegioUsuarios.elegirClaseNueva}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.claseNuevaId = id;\r\n state.searchParams.clase = nombre;\r\n this.setState(state);\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.searchParams.claseNuevaId))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n protected _errorMessage(fieldName: string): JSX.Element {\r\n var error = this.state.searchParams.validationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n protected _toolbarRightContents(): JSX.Element[] {\r\n\r\n var contents = super._toolbarRightContents();\r\n\r\n if (ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal || ClientContext.Current.tipoUsuario == TipoUsuario.AdminColegio) {\r\n contents.push( {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.searchParams.showModalUnirUsuarios = !state.searchParams.showModalUnirUsuarios;\r\n state.searchParams.validationResult = new ModelValidation();\r\n state.searchParams.usuarioDestinoId = null;\r\n state.searchParams.usuarioDestino = '';\r\n state.searchParams.usuarioEliminarId = null;\r\n state.searchParams.usuarioEliminar = '';\r\n this.setState(state);\r\n }}>\r\n \r\n {I18n.Strings.unirUsuarios.titulo}\r\n );\r\n }\r\n\r\n var alumnosChecked = this.getIdUsuariosAlumnosChecked();\r\n\r\n if (alumnosChecked != null && alumnosChecked.length > 0) {\r\n contents.push( {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.searchParams.showModalClase = !state.searchParams.showModalClase;\r\n state.searchParams.validationResult = new ModelValidation();\r\n state.searchParams.claseNuevaId = null;\r\n\r\n this.setState(state);\r\n }}>\r\n \r\n {I18n.Strings.formatBotonCambiarClase(alumnosChecked.length)}\r\n );\r\n }\r\n\r\n return contents;\r\n\r\n }\r\n\r\n \r\n\r\n protected _showCheckboxes(): boolean {\r\n return true;\r\n }\r\n\r\n protected _getEditionItemUrl(item: ColegioUsuarioListItem): string {\r\n return RouteHelper.editUsuarioColegio(item.id);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createUsuariosColegio();\r\n }\r\n\r\n protected _enableExcelExport() {\r\n return true;\r\n }\r\n\r\n}\r\nexport const Index = withRouter(IndexComp);","import { NivelContenidosEditModel, NivelContenidosListItemPaginatedList, NivelContenidosDeleteResult, NivelContenidosSearch, ModelValidationResult } from \"../models/dataModels\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\n\r\nexport class NivelContenidosService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n \r\n search(searchData: NivelContenidosSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/colegio/nivelesContenidos/search\", searchData);\r\n return prom;\r\n }\r\n\r\n delete(id: number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.delete(`intranet/colegio/nivelesContenidos/${id}`);\r\n prom.then(ret => {\r\n\r\n var msg = ret as NivelContenidosDeleteResult;\r\n if (msg.errorMsg != '') {\r\n AlertsService.showErrorMessage(msg.errorMsg);\r\n }\r\n });\r\n return prom;\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/colegio/nivelesContenidos/${id}`);\r\n return prom;\r\n }\r\n validate(model: NivelContenidosEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/colegio/nivelesContenidos/validate`, model);\r\n return prom;\r\n }\r\n\r\n create(model: NivelContenidosEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/colegio/nivelesContenidos/`, model);\r\n return prom;\r\n }\r\n\r\n update(id: string | number, model: NivelContenidosEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/colegio/nivelesContenidos/${id}`, model);\r\n return prom;\r\n }\r\n\r\n exportExcel(search: NivelContenidosSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n}\r\n\r\n","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Col, FormGroup, Label } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ContenidosPicker } from \"../contenidos/colegio/Picker\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { NivelContenidosListItem, NivelContenidosListItemPaginatedList, NivelContenidosSearch } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { toCamelCase } from \"../utils/ValuesFormatter\";\r\nimport { NivelContenidosService } from \"./NivelesContenidosService\";\r\n\r\n\r\n\r\n\r\ninterface NivelContenidosSearchEx extends NivelContenidosSearch {\r\n cursoEscolar?: string;\r\n nivel?: string;\r\n contenido?: string;\r\n}\r\n\r\nexport class IndexComp extends IndexPageBase\r\n{\r\n\r\n protected _getInitialSearchParams(): NivelContenidosSearchEx {\r\n\r\n var search = {\r\n cursoEscolarId: ClientContext.getCursoEscolarActivo().id,\r\n contenidoId: this.props.searchModel?.contenidoId,\r\n } as NivelContenidosSearchEx;\r\n\r\n return search;\r\n }\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n \r\n \r\n \r\n\r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nivelId = id;\r\n state.searchParams.nivel = nombre;\r\n\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n item.id}\r\n getNameFromItem={(item) => {\r\n var enumName = I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n return `${enumName} - ${item.nombre}`;\r\n }}\r\n mostrarNiveles={true}\r\n mostrarSoloColegio={true}\r\n\r\n errorMessage={null}\r\n onSelected={(contenidoId, contenido, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.contenidoId = contenidoId;\r\n state.searchParams.contenido = contenido;\r\n\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n\r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new NivelContenidosService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].etapa),\r\n title: I18n.Strings.etapa.etapa,\r\n renderField: (item) => item.etapa\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nivelEducativo),\r\n title: I18n.Strings.nivelesContenidos.nivel,\r\n renderField: (item) => item.nivelEducativo\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].contenido),\r\n title: I18n.Strings.nivelesContenidos.contenido,\r\n renderField: (item) => item.contenido\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].tipoAccesoPorDefecto),\r\n title: I18n.Strings.nivelesContenidos.tipoAccesoPorDefecto,\r\n renderField: (item) => {\r\n return I18n.Strings.getEnumText(`TipoAcceso.${item.tipoAccesoPorDefecto}`);\r\n }\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].numLicencias),\r\n title: toCamelCase(I18n.Strings.licenciasContenido.entityPluralName),\r\n renderField:(item)=> I18n.Strings.formatNumber(item.numLicencias, 0)\r\n },\r\n ];\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.nivelesContenidos.title;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.nivelesContenidos.description;\r\n }\r\n\r\n\r\n protected _getEditionItemUrl(item: NivelContenidosListItem): string {\r\n\r\n \r\n return RouteHelper.editNivelContenido(item.id, this.props.searchModel?.contenidoId);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createNivelesContenido(this.props.searchModel?.contenidoId);\r\n }\r\n\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Button, Col, FormGroup, Input, Label, Nav, NavItem, NavLink, Row, TabContent, TabPane } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { DocumentUpload } from \"../../helpers/DocumentUpload\";\r\nimport { EditorialDropDown, TipoUsuarioContenidoDropDown } from \"../../helpers/EnumDropDown\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { ContenidosEditModel, Editorial, TipoUsuario, TipoUsuarioContenido } from \"../../models/dataModels\";\r\nimport { AlertsService } from \"../../utils/AlertsService\";\r\nimport { IServiceForEdit } from \"../../utils/base/BaseServices\";\r\nimport { EditPageBase } from \"../../utils/base/EditPageBase\";\r\nimport { GenericEditState } from \"../../utils/base/GenericEditState\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { isEqual as _isEqual } from \"lodash-es\";\r\nimport { ContenidosService } from \"./ContenidosService\";\r\nimport { Location as HistoryLocation } from \"history\";\r\nimport { NavigationHelper } from \"../../utils/base/Breadcrumb\";\r\nimport { AliasEditorialDown } from \"../../aliasEditoriales/AliasEditorialesDropDown\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\n\r\n\r\nexport enum ContenidoEditTabs {\r\n Datos = \"datos\",\r\n Estructura = \"estructura\",\r\n}\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nuevo\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: ContenidosEditModel): string {\r\n return `Editar ${editModel.nombre}`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new ContenidosService() as any as IServiceForEdit;\r\n }\r\n\r\n protected _skipExitPrompt(location: HistoryLocation): boolean {\r\n\r\n if (location.pathname == RouteHelper.editContenidos(this.state.editModel.id, ContenidoEditTabs.Datos) ||\r\n location.pathname == RouteHelper.editContenidos(this.state.editModel.id, ContenidoEditTabs.Estructura)) {\r\n return true;\r\n }\r\n return super._skipExitPrompt(location);\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n\r\n if (this.state.editModel.id === 0) {\r\n return this._paintMainForm();\r\n }\r\n\r\n return \r\n \r\n \r\n \r\n {this._paintMainForm()}\r\n \r\n \r\n {this._paintEstructura()}\r\n \r\n \r\n\r\n ;\r\n }\r\n\r\n private _paintEstructura(): JSX.Element {\r\n\r\n if ((this.state.editModel.estructura || []).length == 0) {\r\n return \r\n

{I18n.Strings.contenidos.noHayEstructura}

\r\n \r\n
;\r\n }\r\n\r\n return
\r\n
    \r\n {this.state.editModel.estructura.map((libro, idxLibro) => {\r\n return
  • \r\n {libro.titulo}\r\n
      \r\n {libro.unidades.sort((a, b) => a.orden > b.orden ? 1 : -1).map((unidad, idxUnidad) => {\r\n return
    • \r\n {unidad.nombre}\r\n
        \r\n {(unidad.actividades || []).sort((a, b) => a.orden > b.orden ? 1 : -1).map((actividad, idxActividad) => {\r\n return
      • \r\n {actividad.nombre}\r\n
      • ;\r\n })}\r\n
      \r\n
    • \r\n })}\r\n
    \r\n
  • \r\n })}\r\n
\r\n
;\r\n }\r\n\r\n private _paintMainForm(): JSX.Element {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.nombre))}\r\n name={nameof(this.state.editModel.nombre)}\r\n disabled={this.state.editModel.id != 0}\r\n id={\"contenidos\" + nameof(this.state.editModel.nombre)}\r\n value={this.state.editModel.nombre || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.nombre))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.isbn = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={80}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.isbn))}\r\n name={nameof(this.state.editModel.isbn)}\r\n disabled={this.state.editModel.id != 0}\r\n id={\"contenidos\" + nameof(this.state.editModel.isbn)}\r\n value={this.state.editModel.isbn || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.isbn))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.isbnAlternativo = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={80}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.isbnAlternativo))}\r\n name={nameof(this.state.editModel.isbnAlternativo)}\r\n disabled={ !(ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal && this.state.editModel.id != 0)}\r\n id={\"contenidos\" + nameof(this.state.editModel.isbnAlternativo)}\r\n value={this.state.editModel.isbnAlternativo || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.isbnAlternativo))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.descripcion = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"textarea\"\r\n required={true}\r\n maxLength={500}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.descripcion))}\r\n name={nameof(this.state.editModel.descripcion)}\r\n disabled={this.state.editModel.id != 0}\r\n id={\"contenidos\" + nameof(this.state.editModel.descripcion)}\r\n value={this.state.editModel.descripcion || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.descripcion))}\r\n \r\n \r\n\r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.aliasEditorial = text;\r\n newState.editModel.aliasEditorialId = value;\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.tipoUsuario = value;\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.sincronizar = evt.target.checked;\r\n this.setState(newState);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.sincronizar))}\r\n id={nameof(this.state.editModel.sincronizar)}\r\n checked={this.state.editModel.sincronizar || false}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.identificadorTienda = evt.target.value;\r\n this.setState(newState);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={50}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.identificadorTienda))}\r\n id={nameof(this.state.editModel.identificadorTienda)}\r\n value={this.state.editModel.identificadorTienda || \"\"}\r\n />\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.editModel.identificadorEditorial = evt.target.value;\r\n this.setState(newState);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={50}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.identificadorEditorial))}\r\n id={nameof(this.state.editModel.identificadorEditorial)}\r\n value={this.state.editModel.identificadorEditorial || \"\"}\r\n />\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.editModel.caratula != null &&
\r\n\r\n
\r\n }\r\n
\r\n {this.state.editModel.id > 0 &&
\r\n {\r\n this._updateStateValue(data.documentUrl, nameof.full(this.state.editModel.caratula, 2));\r\n }}\r\n />\r\n
}\r\n
\r\n \r\n
\r\n
;\r\n }\r\n\r\n protected _editModelIsEqual(model: ContenidosEditModel, oldModel: ContenidosEditModel) {\r\n\r\n var editPart = { ...model };\r\n editPart.estructura = null;\r\n\r\n var oldEditPart = { ...oldModel };\r\n oldEditPart.estructura = null;\r\n\r\n return _isEqual(editPart, oldEditPart);\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editContenidos(id, ContenidoEditTabs.Datos);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listContenidos();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0,\r\n\r\n } as ContenidosEditModel;\r\n\r\n return Promise.resolve(model);\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.editModel.nombre || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.nombre), I18n.Strings.validationErrors.valueRequired(I18n.Strings.contenidos.nombre));\r\n }\r\n\r\n if ((this.state.editModel.descripcion || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.descripcion), I18n.Strings.validationErrors.valueRequired(I18n.Strings.contenidos.descripcion));\r\n }\r\n\r\n if ((this.state.editModel.aliasEditorialId || 0) == 0) {\r\n validation.addError(nameof(this.state.editModel.aliasEditorialId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.contenidos.editorial));\r\n }\r\n\r\n if ((this.state.editModel.tipoUsuario || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.tipoUsuario), I18n.Strings.validationErrors.valueRequired(I18n.Strings.contenidos.tipoUsuario));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected updateBreadCrumb(model: ContenidosEditModel) {\r\n var items = [{\r\n text: I18n.Strings.contenidos.contenidosMaestrosTitle,\r\n link: RouteHelper.listContenidos()\r\n }];\r\n if (model.id == 0) {\r\n items.push({\r\n text: I18n.Strings.addNew,\r\n link: \"\"\r\n });\r\n }\r\n else {\r\n items.push({\r\n text: `${model.nombre}`,\r\n link: RouteHelper.editContenidosColegio(model.id)\r\n });\r\n\r\n switch (this.state.activeTab) {\r\n case ContenidoEditTabs.Datos: {\r\n items.push({ text: I18n.Strings.contenidos.tabDatos, link: RouteHelper.editContenidos(this.state.editModel.id, ContenidoEditTabs.Datos) });\r\n break;\r\n }\r\n case ContenidoEditTabs.Estructura: {\r\n items.push({ text: I18n.Strings.contenidos.tabEstructura, link: RouteHelper.editContenidos(this.state.editModel.id, ContenidoEditTabs.Estructura) });\r\n break;\r\n }\r\n }\r\n }\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n}\r\n\r\nexport const Edit = withRouter(EditComp)\r\n","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Row, Col, FormGroup, Label, Input, Button, ModalHeader, Modal, ModalBody, ModalFooter, FormFeedback } from \"reactstrap\";\r\n\r\nimport { ContenidosColegioService } from \"./ContenidosColegioService\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { Editorial, ContenidosDigitalesColegioListItem, ContenidosDigitalesColegioListItemPaginatedList, TipoUsuario, TipoAcceso, YesNo, ContenidosDigitalesColegioSearch } from \"../../models/dataModels\";\r\nimport { IServiceForIndex } from \"../../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../../utils/base/IndexPageBase\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { EditorialDropDown, TodosTipoAccesoDropDown, YesNoDropDown } from \"../../helpers/EnumDropDown\";\r\nimport { SyncIcon, SaveIcon, CheckIcon, ViewIcon } from \"../../utils/Icons\";\r\nimport { AlertsService } from \"../../utils/AlertsService\";\r\nimport { CursoEscolarDropDown } from \"../../cursoEscolar/CursoEscolarDropDown\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { NivelEducativoDropDown } from \"../../cursoEscolar/NivelEducativoDropDown\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\n\r\n\r\ninterface ContenidosSearchEx extends ContenidosDigitalesColegioSearch {\r\n cursoEscolar: string;\r\n nivelEducativo: string;\r\n \r\n cambiarTipoAccesoMostrarModal: boolean;\r\n cambiarTipoAccesoValidationResult: ModelValidation;\r\n cambiarTipoAccesoMostrarAccesoDirecto: boolean;\r\n cambiarTipoAccesoTipoAccesoPorDefecto: TipoAcceso;\r\n cambiarTipoAccesoMensajeAcceso: string;\r\n\r\n\r\n}\r\n\r\nexport class IndexContenidoColegio extends IndexPageBase\r\n{\r\n _getInitialSearchParams(): ContenidosSearchEx {\r\n\r\n\r\n var cursoEscolar = ClientContext.getCursoEscolarActivo();\r\n\r\n var searchParams = {\r\n mostrarNivelesEducativos: true,\r\n showOnlySchoolContents: true,\r\n cursoEscolarId: cursoEscolar.id,\r\n cursoEscolar: cursoEscolar.nombre,\r\n showAccessData: true,\r\n cambiarTipoAccesoValidationResult: new ModelValidation()\r\n } as ContenidosSearchEx;\r\n\r\n return searchParams;\r\n }\r\n\r\n protected _showCheckboxes(): boolean {\r\n return true;\r\n }\r\n\r\n private getIdContenidosChecked() {\r\n var checkedElements = this.state.checkedElements;\r\n if (this.state.searchResults != null && this.state.searchResults.items != null) {\r\n var contenidosChecked = this.state.searchResults.items.filter(function (el) {\r\n return checkedElements.find(x => x === el.id) != null\r\n });\r\n }\r\n\r\n return contenidosChecked;\r\n }\r\n\r\n\r\n protected _renderModalCambiarTipoAcceso(): JSX.Element {\r\n var contenidosChecked = this.getIdContenidosChecked();\r\n\r\n\r\n return {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.searchParams.cambiarTipoAccesoMostrarModal = !state.searchParams.cambiarTipoAccesoMostrarModal;\r\n this.setState(state);\r\n }}\r\n >\r\n {\r\n {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.searchParams.cambiarTipoAccesoMostrarModal = false;\r\n this.setState(state);\r\n }} />}>\r\n {I18n.Strings.contenidos.cambiarTipoAcceso}\r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.cambiarTipoAccesoTipoAccesoPorDefecto = value;\r\n this.setState(newState);\r\n }}\r\n\r\n />\r\n {this._errorMessageCambiarTipoAcceso(nameof(this.state.searchParams.cambiarTipoAccesoTipoAccesoPorDefecto))}\r\n \r\n\r\n\r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.cambiarTipoAccesoMostrarAccesoDirecto = value == YesNo.Yes.toString() ? true : value == YesNo.No.toString() ? false : null;\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.cambiarTipoAccesoMensajeAcceso = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"textarea\"\r\n required={this.state.searchParams.cambiarTipoAccesoTipoAccesoPorDefecto == TipoAcceso.NoAccedeMuestraMensaje}\r\n disabled={this.state.searchParams.cambiarTipoAccesoTipoAccesoPorDefecto != TipoAcceso.NoAccedeMuestraMensaje}\r\n maxLength={500}\r\n name={nameof(this.state.searchParams.cambiarTipoAccesoMensajeAcceso)}\r\n id={nameof(this.state.searchParams.cambiarTipoAccesoMensajeAcceso)}\r\n value={this.state.searchParams.cambiarTipoAccesoMensajeAcceso || \"\"}\r\n />\r\n {this._errorMessageCambiarTipoAcceso(nameof(this.state.searchParams.cambiarTipoAccesoMensajeAcceso))}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n protected _errorMessageCambiarTipoAcceso(fieldName: string): JSX.Element {\r\n var error = this.state.searchParams.cambiarTipoAccesoValidationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n {this._renderModalCambiarTipoAcceso()}\r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombre)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.nombre)}\r\n value={this.state.searchParams.nombre || \"\"}\r\n />\r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.editorial = value == '' ? null : value as Editorial;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n {/*\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.isbn = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.isbn)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.isbn)}\r\n value={this.state.searchParams.isbn || \"\"}\r\n />\r\n\r\n \r\n \r\n */}\r\n \r\n\r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.cursoEscolarId = id;\r\n state.searchParams.cursoEscolar = nombre;\r\n state.searchParams.nivelEducativo = null;\r\n state.searchParams.nivelEducativoId = null;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nivelEducativoId = id;\r\n state.searchParams.nivelEducativo = nombre;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n \r\n ;\r\n }\r\n\r\n protected _toolbarRightContents(): JSX.Element[] {\r\n\r\n var contents = super._toolbarRightContents();\r\n\r\n \r\n\r\n var contenidosChecked = this.getIdContenidosChecked();\r\n\r\n if (contenidosChecked != null && contenidosChecked.length > 0) {\r\n contents.push( {\r\n var state = this._cloneStateForSetState();\r\n\r\n var primerSeleccionado = this.getIdContenidosChecked()[0];\r\n if (primerSeleccionado && (primerSeleccionado.tipoAccesoPorDefecto || []).length != 0) {\r\n state.searchParams.cambiarTipoAccesoTipoAccesoPorDefecto = primerSeleccionado.tipoAccesoPorDefecto[0]\r\n }\r\n else {\r\n state.searchParams.cambiarTipoAccesoTipoAccesoPorDefecto = null;\r\n }\r\n\r\n\r\n\r\n if (primerSeleccionado && (primerSeleccionado.mostrarAccesoDirecto || []).length != 0) {\r\n state.searchParams.cambiarTipoAccesoMostrarAccesoDirecto = primerSeleccionado.mostrarAccesoDirecto[0]\r\n }\r\n else {\r\n state.searchParams.cambiarTipoAccesoMostrarAccesoDirecto = null;\r\n }\r\n\r\n state.searchParams.cambiarTipoAccesoMostrarModal = true;\r\n\r\n\r\n state.searchParams.cambiarTipoAccesoValidationResult = new ModelValidation();\r\n //state.searchParams.claseNuevaId = null;\r\n\r\n this.setState(state);\r\n }}>\r\n \r\n {I18n.Strings.contenidos.cambiarTipoAccesoNum(contenidosChecked.length)}\r\n );\r\n }\r\n\r\n\r\n return contents;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new ContenidosColegioService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].isbn),\r\n title: I18n.Strings.contenidos.isbn,\r\n renderField: (item) => item.isbn,\r\n\r\n },\r\n\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nombre),\r\n title: I18n.Strings.contenidos.nombre,\r\n renderField: (item) => item.nombre\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].editorial),\r\n title: I18n.Strings.contenidos.editorial,\r\n renderField: (item) => {\r\n return I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n }\r\n },\r\n\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].cursoEscolar),\r\n title: I18n.Strings.contenidos.cursoEscolar,\r\n renderField: (item) => item.cursoEscolar\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nivelesEducativos),\r\n title: I18n.Strings.contenidos.nivelesEducativos,\r\n renderField: (item) => item.nivelesEducativos\r\n }, \r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].mostrarAccesoDirectoStr),\r\n title: I18n.Strings.nivelesContenidos.mostrarAccesoDirecto,\r\n renderField: (item) => {\r\n if (item.mostrarAccesoDirecto.length == 1) {\r\n return I18n.Strings.formatBool(item.mostrarAccesoDirecto[0]);\r\n }\r\n else {\r\n return \"ERROR\";\r\n }\r\n }\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].tipoAccesoPorDefectoStr),\r\n title: I18n.Strings.nivelesContenidos.tipoAccesoPorDefecto,\r\n renderField: (item) => {\r\n return item.tipoAccesoPorDefecto.map((val) => I18n.Strings.getEnumText(`TipoAcceso.${val}`)).join(\", \");\r\n }\r\n }\r\n ];\r\n }\r\n\r\n protected hideGridButtonsOverride() {\r\n return false;\r\n }\r\n\r\n protected editButtonOverride(item: ContenidosDigitalesColegioListItem) {\r\n return \r\n \r\n \r\n }\r\n protected deleteButtonOverride(item) {\r\n return null;\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.contenidos.contenidosColegioTitle;\r\n }\r\n protected _getPageDescription(): string {\r\n return \"Listado de contenidos digitales del colegio\";\r\n }\r\n\r\n protected _getEditionItemUrl(item: ContenidosDigitalesColegioListItem): string {\r\n return RouteHelper.editContenidosColegio(item.id);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createNivelesContenido();\r\n }\r\n\r\n protected _enableExcelExport(): boolean {\r\n return true;\r\n }\r\n\r\n protected _calculateCellClass(item: ContenidosDigitalesColegioListItem) {\r\n return (item.editorial || Editorial.None) == Editorial.None ? \"text-danger\" : \"\";\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Col, FormGroup, Label, Input } from \"reactstrap\";\r\n\r\nimport { ContenidosPapelColegioService } from \"./ContenidosPapelColegioService\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { Editorial, ContenidosPapelColegioSearch, ContenidosPapelColegioListItem, ContenidosPapelColegioListItemPaginatedList } from \"../../models/dataModels\";\r\nimport { IServiceForIndex } from \"../../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../../utils/base/IndexPageBase\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { EditorialDropDown} from \"../../helpers/EnumDropDown\";\r\nimport { ViewIcon } from \"../../utils/Icons\";\r\nimport { CursoEscolarDropDown } from \"../../cursoEscolar/CursoEscolarDropDown\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { NivelEducativoDropDown } from \"../../cursoEscolar/NivelEducativoDropDown\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\n\r\n\r\ninterface ContenidosPapelSearchEx extends ContenidosPapelColegioSearch {\r\n cursoEscolar: string;\r\n nivelEducativo: string;\r\n \r\n}\r\n\r\nexport class IndexContenidoPapelColegio extends IndexPageBase\r\n{\r\n _getInitialSearchParams(): ContenidosPapelSearchEx {\r\n\r\n\r\n var cursoEscolar = ClientContext.getCursoEscolarActivo();\r\n\r\n var searchParams = {\r\n ... {} as ContenidosPapelColegioSearch,\r\n nivelEducativo: null,\r\n showOnlySchoolContents: true, \r\n cursoEscolarId: cursoEscolar.id,\r\n cursoEscolar: cursoEscolar.nombre,\r\n showAccessData: true,\r\n cambiarTipoAccesoValidationResult: new ModelValidation()\r\n } as ContenidosPapelSearchEx;\r\n\r\n return searchParams;\r\n }\r\n\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombre)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.nombre)}\r\n value={this.state.searchParams.nombre || \"\"}\r\n />\r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.editorial = value == '' ? null : value as Editorial;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n {/*\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.isbn = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.isbn)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.isbn)}\r\n value={this.state.searchParams.isbn || \"\"}\r\n />\r\n\r\n \r\n \r\n */}\r\n \r\n\r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.cursoEscolarId = id;\r\n state.searchParams.cursoEscolar = nombre;\r\n state.searchParams.nivelEducativo = null;\r\n state.searchParams.nivelEducativoId = null;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nivelEducativoId = id;\r\n state.searchParams.nivelEducativo = nombre;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n \r\n ;\r\n }\r\n\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new ContenidosPapelColegioService();\r\n }\r\n\r\n protected _showToolbar() {\r\n return false;\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].sku),\r\n title: I18n.Strings.pedidos.sku,\r\n renderField: (item) => item.sku,\r\n\r\n },\r\n\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nombre),\r\n title: I18n.Strings.contenidos.nombre,\r\n renderField: (item) => item.nombre\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].editorial),\r\n title: I18n.Strings.contenidos.editorial,\r\n renderField: (item) => {\r\n return I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n }\r\n },\r\n\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].cursoEscolar),\r\n title: I18n.Strings.contenidos.cursoEscolar,\r\n renderField: (item) => item.cursoEscolar\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nivelesEducativos),\r\n title: I18n.Strings.contenidos.nivelesEducativos,\r\n renderField: (item) => item.nivelesEducativos\r\n },\r\n \r\n ];\r\n }\r\n\r\n protected hideGridButtonsOverride() {\r\n return false;\r\n }\r\n\r\n protected editButtonOverride(item: ContenidosPapelColegioListItem) {\r\n return;\r\n return \r\n \r\n \r\n }\r\n protected deleteButtonOverride(item) {\r\n return null;\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.contenidosPapel.contenidosPapelColegioTitle;\r\n }\r\n protected _getPageDescription(): string {\r\n return \"Listado de contenidos en papel del colegio\";\r\n }\r\n\r\n protected _getEditionItemUrl(item: ContenidosPapelColegioListItem): string {\r\n return null; RouteHelper.editContenidosPapelColegio(item.id);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createNivelesContenido();\r\n }\r\n\r\n protected _enableExcelExport(): boolean {\r\n return true;\r\n }\r\n\r\n}\r\n","import * as React from \"react\";\r\nimport { Input } from \"reactstrap\";\r\nimport { DropDownBase, GenericSelectItem, IDropDownProps } from \"../utils/base/DropDownBase\";\r\nimport { AliasEditorialService } from \"./AliasEditorialesService\";\r\n\r\n\r\nexport class AliasEditorialDown extends DropDownBase {\r\n\r\n\r\n\r\n protected GetItems(): Promise {\r\n var service = new AliasEditorialService();\r\n var itemsProm = service.getAll()\r\n .then((items) => {\r\n return items.map(alias => {\r\n return {\r\n id: alias.id,\r\n name: alias.alias,\r\n } as GenericSelectItem;\r\n });\r\n\r\n });\r\n\r\n return itemsProm;\r\n }\r\n\r\n \r\n protected shouldAddEmptyOption() {\r\n return true;\r\n }\r\n};","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport { ClaseMateriaContenidosEditModel, GrupoClaseEditModel, ClaseMateriaEditModel, Origen, TipoUsuarioContenido, TipoUsuario, ColegioUsuariosSearch } from \"../../models/dataModels\";\r\nimport { GenericEditState } from \"../../utils/base/GenericEditState\";\r\nimport { EditPageBase } from \"../../utils/base/EditPageBase\";\r\nimport { IServiceForEdit } from \"../../utils/base/BaseServices\";\r\nimport { GrupoClaseService } from \"./GrupoClaseService\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { Alert, Button, Col, FormGroup, Input, Label, Nav, NavItem, NavLink, Row, TabContent, TabPane } from \"reactstrap\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\nimport { CustomDatePicker } from \"../../helpers/CustomDatePicker\";\r\nimport { AddNewIcon, DeleteIcon, EditIcon } from \"../../utils/Icons\";\r\nimport { NivelContenidoDropDown } from \"../../nivelesContenidos/NivelContenidoDropDown\";\r\nimport { NivelProductoTiendaDropDown } from \"../../nivelesContenidos/NivelProductoTiendaDropDown\";\r\nimport { EditorialDropDown, TipoUsuarioContenidoDropDown } from \"../../helpers/EnumDropDown\";\r\nimport { DeleteModal } from \"../../utils/DeleteModal\";\r\nimport { LinkItem, NavigationHelper } from \"../../utils/base/Breadcrumb\";\r\nimport { Index as Alumnos, ColegioUsuariosSearchEx } from \"../../colegioUsuarios/Index\";\r\nimport { Licencias } from \"./Licencias\";\r\nimport { Matriculas } from \"./Matriculas\";\r\n\r\nexport enum GrupoClaseEditTabs {\r\n Datos = \"Datos\",\r\n Alumnos = \"Alumnos\"\r\n}\r\n\r\ninterface GrupoClaseEditModelEx extends GrupoClaseEditModel {\r\n\r\n //cursoEscolarId?: number;\r\n indexMateriaBorrar?: number;\r\n claseMateriaContenidosABorrarIndex?: number;\r\n claseMateriaProductoTiendaABorrarIndex?: number;\r\n}\r\n\r\nexport class ClaseEditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nuevo\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: GrupoClaseEditModel): string {\r\n return `Editar ${editModel.nombre}`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new GrupoClaseService();\r\n }\r\n\r\n protected updateBreadCrumb(model: GrupoClaseEditModel) {\r\n\r\n var items = [\r\n {\r\n text: I18n.Strings.cursoEscolar.title,\r\n link: RouteHelper.listCursosEscolares()\r\n },\r\n {\r\n text: model.cursoEscolar,\r\n link: RouteHelper.editCursoEscolar(model.cursoEscolarId)\r\n },\r\n {\r\n text: model.id == 0 ? I18n.Strings.addNew : `${model.nombre}`,\r\n link: \"\"\r\n }\r\n ] as LinkItem[];\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n if ((this.state.editModel.id || 0) == 0) {\r\n return this._paintMainForm();\r\n }\r\n\r\n return \r\n \r\n\r\n \r\n \r\n {this._paintMainForm()}\r\n \r\n \r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n private _paintMainForm(): JSX.Element {\r\n return \r\n {this.state.showDeleteConfirmation != null &&\r\n this.setState({ showDeleteConfirmation: null })}\r\n deleteConfirmBody={(typeof this.state.showDeleteConfirmation == \"boolean\") ? null : this.state.showDeleteConfirmation}\r\n onConfirm={() => {\r\n var state = this._cloneStateForSetState();\r\n state.showDeleteConfirmation = null;\r\n if (this.state.editModel.indexMateriaBorrar != null) {\r\n if (this.state.editModel.claseMateriaContenidosABorrarIndex != null) {\r\n state.editModel.materias[this.state.editModel.indexMateriaBorrar].claseMateriaContenidos.splice(this.state.editModel.claseMateriaContenidosABorrarIndex, 1);\r\n }\r\n else {\r\n state.editModel.materias.splice(this.state.editModel.indexMateriaBorrar, 1);\r\n }\r\n\r\n state.editModel.indexMateriaBorrar = null;\r\n state.editModel.claseMateriaContenidosABorrarIndex = null;\r\n }\r\n\r\n this.setState(state);\r\n }}\r\n />\r\n }\r\n \r\n {this.state.editModel.id > 0 && \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n disabled={this.state.editModel.nombre.indexOf('General') > 0}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.nombre))}\r\n name={nameof(this.state.editModel.nombre)}\r\n id={\"usuarios\" + nameof(this.state.editModel.nombre)}\r\n value={this.state.editModel.nombre}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.nombre))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.identificadorTienda = evt.target.value;\r\n this.setState(state);\r\n }}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.identificadorTienda))}\r\n name={nameof(this.state.editModel.identificadorTienda)}\r\n id={\"clase\" + nameof(this.state.editModel.identificadorTienda)}\r\n value={this.state.editModel.identificadorTienda}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.identificadorTienda))}\r\n \r\n \r\n }\r\n \r\n {this._renderMaterias()}\r\n ;\r\n }\r\n\r\n private _renderMaterias(): JSX.Element {\r\n return \r\n\r\n {this.state.editModel.materias != null && this.state.editModel.materias.length > 0 &&\r\n \r\n \r\n

{I18n.Strings.grupoClase.materias}

\r\n \r\n \r\n\r\n \r\n
\r\n }\r\n {this.state.editModel.materias != null && this.state.editModel.materias.map((claseMateria, indexMateria) => {\r\n return
\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var materia = state.editModel.materias[indexMateria];\r\n materia.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.grupoClase.nombre}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(\"materia\" + indexMateria)}\r\n name={\"materia\" + indexMateria}\r\n id={\"materia\" + indexMateria}\r\n value={claseMateria.nombre || \"\"}\r\n />\r\n {this._errorMessage(\"materia\" + indexMateria)}\r\n \r\n \r\n \r\n \r\n \r\n {this._errorMessage(\"borrado\" + indexMateria)}\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.showDeleteConfirmation = I18n.Strings.grupoClase.deleteGrupoConfirmText(claseMateria.nombre);\r\n state.editModel.indexMateriaBorrar = indexMateria;\r\n\r\n this.setState(state);\r\n }}>\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {claseMateria.claseMateriaContenidos != null && claseMateria.claseMateriaContenidos.length > 0 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {claseMateria.claseMateriaContenidos.map((claseMateriaContenido, indexClaseMateriaContenido) => {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var nivel = state.editModel.materias[indexMateria].claseMateriaContenidos[indexClaseMateriaContenido];\r\n nivel.nivelContenidoId = id;\r\n //materia.contenido = name;\r\n this.setState(state);\r\n }}\r\n />\r\n {this._errorMessage(\"contenido\" + indexMateria + indexClaseMateriaContenido)}\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var nivel = state.editModel.materias[indexMateria].claseMateriaContenidos[indexClaseMateriaContenido];\r\n nivel.tipoUsuario = value != \"\" ? value as TipoUsuarioContenido : null;\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.showDeleteConfirmation = true;\r\n state.editModel.indexMateriaBorrar = indexMateria;\r\n state.editModel.claseMateriaContenidosABorrarIndex = indexClaseMateriaContenido;\r\n\r\n this.setState(state);\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n })}\r\n\r\n \r\n }\r\n {/* Papel*/ }\r\n {claseMateria.claseMateriaProductosTienda != null && claseMateria.claseMateriaProductosTienda.length > 0 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {claseMateria.claseMateriaProductosTienda.map((claseMateriaProductoTienda, indexClaseMateriaProductoTienda) => {\r\n return \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var nivel = state.editModel.materias[indexMateria].claseMateriaProductosTienda[indexClaseMateriaProductoTienda];\r\n nivel.nivelProductoTiendaId = id;\r\n //materia.contenido = name;\r\n this.setState(state);\r\n }}\r\n />\r\n {this._errorMessage(\"contenido\" + indexMateria + indexClaseMateriaProductoTienda)}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.showDeleteConfirmation = true;\r\n state.editModel.indexMateriaBorrar = indexMateria;\r\n state.editModel.claseMateriaProductoTiendaABorrarIndex = indexClaseMateriaProductoTienda;\r\n\r\n this.setState(state);\r\n }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n })}\r\n\r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n })}\r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n if (state.editModel.materias == null) {\r\n state.editModel.materias = [];\r\n }\r\n state.editModel.materias.push({\r\n nombre: '',\r\n origen: Origen.Administrador,\r\n id: 0,\r\n claseMateriaContenidos: [],\r\n } as ClaseMateriaEditModel);\r\n this.setState(state);\r\n }}>\r\n \r\n {I18n.Strings.grupoContenido.addMateria}\r\n \r\n \r\n \r\n {this.state.validationResult != null && !this.state.validationResult.isOk && \r\n \r\n \r\n \r\n \r\n {I18n.Strings.validationErrors.thereAreErrors}\r\n \r\n \r\n \r\n \r\n }\r\n
;\r\n }\r\n\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editGrupoClase(id, this.props.match.params.cursoEscolarId);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.editCursoEscolar(this.props.match.params.cursoEscolarId);\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0\r\n } as GrupoClaseEditModel;\r\n\r\n return Promise.resolve(model);\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.editModel.nombre || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.nombre), I18n.Strings.validationErrors.valueRequired(I18n.Strings.grupoClase.nombre));\r\n }\r\n\r\n if (this.state.editModel.materias != null) {\r\n this.state.editModel.materias.map((materia, index) => {\r\n if ((materia.nombre || \"\").trim().length == 0) {\r\n validation.addError(\"materia\" + index, I18n.Strings.validationErrors.valueRequired(I18n.Strings.grupoContenido.nombre));\r\n }\r\n else {\r\n var countfiltered = this.state.editModel.materias.filter(function (element) {\r\n return element.nombre == materia.nombre;\r\n }).length;\r\n if (countfiltered > 1) {\r\n validation.addError(\"materia\" + index, I18n.Strings.validationErrors.valueDuplicated(I18n.Strings.grupoContenido.nombre));\r\n }\r\n }\r\n\r\n if (materia.claseMateriaContenidos != null) {\r\n materia.claseMateriaContenidos.map((nivel, index2) => {\r\n if ((nivel.nivelContenidoId == null)) {\r\n validation.addError(\"contenido\" + index + index2, I18n.Strings.validationErrors.valueRequired(I18n.Strings.grupoContenido.contenido));\r\n }\r\n if ((nivel.tipoUsuario == null)) {\r\n validation.addError(\"tipo\" + index + index2, I18n.Strings.validationErrors.valueRequired(I18n.Strings.contenidos.tipoUsuario));\r\n }\r\n })\r\n }\r\n });\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n}\r\n\r\nexport const Edit = withRouter(ClaseEditComp)","import * as React from \"react\";\r\nimport { DropDownBase, GenericSelectItem, IDropDownProps } from \"../utils/base/DropDownBase\";\r\n\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { CursoEscolarService } from \"./CursoEscolarService\";\r\n\r\nexport class CampannaDropDown extends DropDownBase {\r\n\r\n\r\n protected GetItems(): Promise {\r\n\r\n var cursoEscolarSrv = new CursoEscolarService();\r\n\r\n var campannas = cursoEscolarSrv.getCampannas().then(campanas => {\r\n return campanas.map((c) => {\r\n return {\r\n id: c.anno,\r\n name: c.anno.toString(),\r\n } as GenericSelectItem;\r\n })\r\n\r\n });\r\n\r\n return campannas;\r\n }\r\n\r\n protected shouldAddEmptyOption() {\r\n return true;\r\n }\r\n};\r\n","import * as React from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Row, Col, Input, Label } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { CampannaDropDown } from \"../cursoEscolar/CampannaDropDown\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { toCamelCase } from \"./ValuesFormatter\";\r\n\r\nexport interface SeleccionCampannaProps {\r\n campannaId: number;\r\n campanna: string;\r\n mostrarIsbns: boolean;\r\n mainText: string;\r\n\r\n toggleDialogoImportacion: () => void;\r\n campannaSelected: (campannaId, campanna, contenidosSku) => void;\r\n}\r\n\r\nexport interface SeleccionCampannaState {\r\n campannaId: number;\r\n campanna: string;\r\n\r\n contenidosSku: string;\r\n}\r\n\r\nexport class SeleccionCampannaModal extends React.Component {\r\n\r\n\r\n public constructor(props: SeleccionCampannaProps) {\r\n super(props);\r\n\r\n this.state = {\r\n campannaId: props.campannaId,\r\n campanna: props.campanna,\r\n contenidosSku: null\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n return this.props.toggleDialogoImportacion()}>\r\n this.props.toggleDialogoImportacion()}>\r\n {I18n.Strings.sync}\r\n \r\n \r\n

\r\n {this.props.mainText.length == 0\r\n ? \"Va a realizar la sincronización de los maestros de contenidos con Magento, seleccione a que ejercicio corresponde la sincronización.\"\r\n : this.props.mainText} \r\n

\r\n \r\n \r\n {\r\n this.setState({ campanna: nombre, campannaId: id });\r\n }}\r\n />\r\n \r\n \r\n {this.props.mostrarIsbns &&\r\n \r\n \r\n \r\n {\r\n\r\n this.setState({\r\n contenidosSku: evt.currentTarget.value\r\n });\r\n }}\r\n type=\"textarea\"\r\n maxLength={250}\r\n className={\"form-control\"}\r\n name={nameof(this.state.contenidosSku)}\r\n id={\"contenidos\" + nameof(this.state.contenidosSku)}\r\n value={this.state.contenidosSku || \"\"}\r\n />\r\n \r\n \r\n }\r\n
\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n
;\r\n }\r\n}\r\n","import { stat } from \"node:fs/promises\";\r\nimport * as React from \"react\";\r\nimport { Button, Col, FormGroup, Input, Label, Modal, ModalBody, ModalFooter, ModalHeader, Row } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { CampannaDropDown } from \"../../cursoEscolar/CampannaDropDown\";\r\nimport { EditorialDropDown } from \"../../helpers/EnumDropDown\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { ContenidosDigitalesListItem, ContenidosDigitalesListItemPaginatedList, ContenidosSearch, Editorial } from \"../../models/dataModels\";\r\nimport { AlertsService } from \"../../utils/AlertsService\";\r\nimport { IServiceForIndex } from \"../../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../../utils/base/IndexPageBase\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { SyncIcon } from \"../../utils/Icons\";\r\nimport { SeleccionCampannaModal } from \"../../utils/SeleccionCampannaModal\";\r\nimport { logAndExtractInfoFromException, toCamelCase } from \"../../utils/ValuesFormatter\";\r\nimport { ContenidosService } from \"./ContenidosService\";\r\nimport { ContenidoEditTabs } from \"./Edit\";\r\n\r\n\r\ninterface ContenidosSearchEx extends ContenidosSearch {\r\n cursoEscolar: string;\r\n campannaToSyncId: number;\r\n campannaToSync: string;\r\n\r\n mostrarDialogoImportacion: boolean;\r\n}\r\n\r\nexport class Index extends IndexPageBase\r\n{\r\n\r\n\r\n _getInitialSearchParams(): ContenidosSearchEx {\r\n\r\n let datosCursoEscolar = ClientContext.Current.cursosEscolares.find(ce => ce.id == ClientContext.Current.cursoEscolarActivoId);\r\n\r\n return {\r\n ...{} as any,\r\n mostrarDialogoImportacion: false,\r\n campannaToSyncId: datosCursoEscolar.campannaId,\r\n campannaToSync: datosCursoEscolar.campanna,\r\n showPopupSync: false\r\n } as ContenidosSearchEx;\r\n }\r\n\r\n private _toggleDialogoImportacion() {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.mostrarDialogoImportacion = !state.searchParams.mostrarDialogoImportacion;\r\n this.setState(state);\r\n }\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n {this.state.searchParams.mostrarDialogoImportacion &&\r\n {\r\n\r\n var newState = this._cloneStateForSetState();\r\n newState.showLoadingIcon = true;\r\n newState.searchParams.campannaToSync = campanna;\r\n newState.searchParams.campannaToSyncId = campannaId;\r\n newState.searchParams.mostrarDialogoImportacion = false;\r\n this.setState(newState, () => {\r\n \r\n var service = new ContenidosService();\r\n\r\n var isbns = (isbnsJuntos || \"\").split(/[,\\t;\\n]+/).map(isbn => isbn.trim()).filter(i => i.length != 0);\r\n var prom = service.queueContenidosSync(\r\n newState.searchParams.campannaToSyncId,\r\n isbns);\r\n prom.then(ret => {\r\n this.setState({ showLoadingIcon: false },\r\n () =>\r\n AlertsService.showSuccessMessage(I18n.Strings.notificaciones.procesoEnCola)\r\n );\r\n }).catch(err => {\r\n this.setState({ showLoadingIcon: false },\r\n () => {\r\n AlertsService.showErrorMessage(logAndExtractInfoFromException(err));\r\n })\r\n });\r\n });\r\n }}\r\n toggleDialogoImportacion={() => this._toggleDialogoImportacion()}\r\n />\r\n }\r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombre)}\r\n id={\"contenidos\" + nameof(this.state.searchParams.nombre)}\r\n value={this.state.searchParams.nombre || \"\"}\r\n />\r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.editorial = value == '' ? null : value as Editorial;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.identificadorTienda = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.colegio.identificadorTienda}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.identificadorTienda)}\r\n id={\"contenidos\" + nameof(this.state.searchParams.identificadorTienda)}\r\n value={this.state.searchParams.identificadorTienda || \"\"}\r\n />\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.sinImagenYEnUso = evt.target.checked;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, marginRight: 10 }}\r\n name={nameof(this.state.searchParams.sinImagenYEnUso)}\r\n id={nameof(this.state.searchParams.sinImagenYEnUso)}\r\n checked={this.state.searchParams.sinImagenYEnUso || false}\r\n />\r\n \r\n \r\n\r\n \r\n {/*\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.isbn = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.isbn)}\r\n id={\"contenidos\" + nameof(this.state.searchParams.isbn)}\r\n value={this.state.searchParams.isbn || \"\"}\r\n />\r\n\r\n \r\n \r\n */}\r\n ;\r\n }\r\n\r\n protected _toolbarRightContents(): JSX.Element[] {\r\n\r\n var items = super._toolbarRightContents();\r\n items.push(\r\n \r\n );\r\n\r\n return items;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new ContenidosService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nombre),\r\n title: I18n.Strings.contenidos.nombre,\r\n renderField: (item) => item.nombre\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].editorial),\r\n title: I18n.Strings.contenidos.editorial,\r\n renderField: (item) => {\r\n return I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n }\r\n\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].isbn),\r\n title: I18n.Strings.contenidos.isbn,\r\n renderField: (item) => item.isbn\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].tipoContenido),\r\n title: I18n.Strings.contenidos.tipoContenido,\r\n renderField: (item) => I18n.Strings.getEnumText(`TipoContenido.${item.tipoContenido}`)\r\n },\r\n ];\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return \"Maestro de contenidos\"\r\n }\r\n protected _getPageDescription(): string {\r\n return \"Puede ver y mantener todos los contenidos disponibles en la plataforma\";\r\n }\r\n\r\n protected _getEditionItemUrl(item: ContenidosDigitalesListItem): string {\r\n return RouteHelper.editContenidos(item.id, ContenidoEditTabs.Datos);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createContenidos();\r\n }\r\n\r\n protected _enableExcelExport(): boolean {\r\n return true;\r\n }\r\n\r\n protected _calculateCellClass(item: ContenidosDigitalesListItem) {\r\n return (item.editorial || Editorial.None) == Editorial.None ? \"text-danger\" : \"\";\r\n }\r\n\r\n\r\n}\r\n","import { ColegioCredencialesEditorialesEditModel, ColegioCredencialesEditorialesListItemPaginatedList, ColegioCredencialesEditorialesSearch, InfoConexion, ModelValidationResult } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\n\r\nexport class ColegioCredencialesEditorialesService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n \r\n private apiFetcher: ApiFetcher;\r\n constructor() {\r\n this.apiFetcher = new ApiFetcher();\r\n }\r\n\r\n search(searchData: ColegioCredencialesEditorialesSearch): Promise {\r\n var prom = this.apiFetcher.post(\"intranet/colegio/credenciales/search\", searchData);\r\n return prom;\r\n }\r\n\r\n delete(id: number) : Promise {\r\n var prom = this.apiFetcher.delete(`intranet/colegio/credenciales/${id}`);\r\n return prom;\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n var prom = this.apiFetcher.getByUrl(`intranet/colegio/credenciales/${id}`);\r\n return prom;\r\n }\r\n validate(model: ColegioCredencialesEditorialesEditModel): Promise {\r\n var prom = this.apiFetcher.post(`intranet/colegio/credenciales/validate`, model);\r\n return prom;\r\n }\r\n\r\n create(model: ColegioCredencialesEditorialesEditModel): Promise {\r\n var prom = this.apiFetcher.post(`intranet/colegio/credenciales/`, model);\r\n return prom;\r\n }\r\n\r\n update(id: string | number, model: ColegioCredencialesEditorialesEditModel): Promise {\r\n var prom = this.apiFetcher.put(`intranet/colegio/credenciales/${id}`, model);\r\n return prom;\r\n }\r\n\r\n getLti13ConfigCentro(): Promise {\r\n var prom = this.apiFetcher.getByUrl(`lti13/infoConexion`);\r\n return prom;\r\n }\r\n\r\n exportExcel(search: ColegioCredencialesEditorialesSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n generateDefaultCredentials() {\r\n var prom = this.apiFetcher.post(`intranet/colegio/credenciales/generateDefaultCredentials`, null);\r\n return prom;\r\n }\r\n}","import React from 'react'; // we need this to make JSX compile\r\nimport { Col, FormFeedback, FormGroup, Input, Label } from 'reactstrap';\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\n\r\ninterface UserPasswordIdCentroProps {\r\n value: string;\r\n required: boolean;\r\n\r\n formValidation: ModelValidation;\r\n onChange: (json: string, user: string, pwd: string, idCentro: string) => void;\r\n}\r\n\r\nexport const UserPasswordIdCentro = function (props: UserPasswordIdCentroProps) {\r\n\r\n class UserPassword {\r\n User: string;\r\n Password: string;\r\n IdCentro: string;\r\n }\r\n \r\n var valueObj = {} as UserPassword;\r\n\r\n try {\r\n valueObj = JSON.parse(props.value) as UserPassword;\r\n } catch {\r\n // No hacemos nada\r\n }\r\n if (valueObj == null) {\r\n valueObj = {\r\n User: \"\",\r\n Password: \"\",\r\n IdCentro: \"\"\r\n } as UserPassword\r\n }\r\n\r\n const composeVal = function () {\r\n var value = {\r\n User: null,\r\n Password: null,\r\n IdCentro: null\r\n };\r\n\r\n return JSON.stringify(value);\r\n }\r\n\r\n\r\n const userpass_user = \"userPassUser\"\r\n const userpass_pass = \"passPassUser\"\r\n const userpass_center = \"centerPassUser\"\r\n\r\n\r\n var errorUsuario = props.formValidation.getError(userpass_user) || \"\";\r\n var errorPassword = props.formValidation.getError(userpass_pass) || \"\";\r\n var errorIdCentro = props.formValidation.getError(userpass_center) || \"\";\r\n\r\n\r\n return \r\n \r\n \r\n \r\n {\r\n valueObj.User = evt.target.value;\r\n props.onChange(JSON.stringify(valueObj), valueObj.User, valueObj.Password, valueObj.IdCentro);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + (errorUsuario.length == 0 ? \"\" : \"is-invalid\")}\r\n name={userpass_user}\r\n id={userpass_user}\r\n value={valueObj.User || \"\"}\r\n />\r\n\r\n {(errorUsuario || \"\").length != 0 && \r\n {errorUsuario}\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n valueObj.IdCentro = evt.target.value;\r\n props.onChange(JSON.stringify(valueObj), valueObj.User, valueObj.Password, valueObj.IdCentro);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + (errorIdCentro.length == 0 ? \"\" : \"is-invalid\")}\r\n name={userpass_center}\r\n id={userpass_center}\r\n value={valueObj.IdCentro || \"\"}\r\n />\r\n\r\n {(errorIdCentro || \"\").length != 0 && \r\n {errorIdCentro}\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n valueObj.Password = evt.target.value;\r\n props.onChange(JSON.stringify(valueObj), valueObj.User, valueObj.Password, valueObj.IdCentro);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + (errorPassword.length == 0 ? \"\" : \"is-invalid\")}\r\n name={userpass_pass}\r\n id={userpass_pass}\r\n value={valueObj.Password || \"\"}\r\n />\r\n\r\n {(errorPassword || \"\").length != 0 && \r\n {errorPassword}\r\n }\r\n\r\n \r\n \r\n\r\n \r\n ;\r\n}\r\n","import { debug } from 'node:console';\r\nimport React, { useEffect, useState } from 'react'; // we need this to make JSX compile\r\nimport { Col, FormFeedback, FormGroup, Input, Label } from 'reactstrap';\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\n\r\ninterface Lti11ConfigCentroProps {\r\n value: string;\r\n required: boolean;\r\n\r\n formValidation: ModelValidation;\r\n onChange: (json: string) => void;\r\n}\r\n\r\nexport const Lti11ConfigCentro = function (props: Lti11ConfigCentroProps) {\r\n\r\n class LtiCreds {\r\n Url: string;\r\n ConsumerKey: string;\r\n SharedSecret: string;\r\n MostrarCredencialAlAcceder: boolean;\r\n }\r\n\r\n var [creds, setCreds] = useState({} as LtiCreds);\r\n\r\n useEffect(() => {\r\n try {\r\n var valueObj = JSON.parse(props.value) as LtiCreds;\r\n setCreds(valueObj);\r\n } catch { }\r\n }, []);\r\n\r\n useEffect(() => {\r\n props.onChange(JSON.stringify(creds));\r\n }, [creds]);\r\n\r\n \r\n\r\n const url_creds = \"urlCreds\"\r\n const consumerKey_creds = \"consumerKeyCreds\"\r\n const sharedSecret_creds = \"sharedSecretCreds\"\r\n\r\n var errorUrl = props.formValidation.getError(url_creds) || \"\";\r\n var errorConsumerKey = props.formValidation.getError(consumerKey_creds) || \"\";\r\n var errorSharedSecret = props.formValidation.getError(sharedSecret_creds) || \"\";\r\n\r\n\r\n return \r\n \r\n \r\n \r\n {\r\n setCreds({...creds, Url: evt.target.value});\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + (errorUrl.length == 0 ? \"\" : \"is-invalid\")}\r\n name={\"url\"}\r\n id={\"url\"}\r\n value={creds.Url || \"\"}\r\n />\r\n\r\n {(errorUrl || \"\").length != 0 && \r\n {errorUrl}\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setCreds({ ...creds, ConsumerKey: evt.target.value });\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + (errorConsumerKey.length == 0 ? \"\" : \"is-invalid\")}\r\n name={\"consumerKey\"}\r\n id={\"consumerKey\"}\r\n value={creds.ConsumerKey || \"\"}\r\n />\r\n\r\n {(errorConsumerKey || \"\").length != 0 && \r\n {errorConsumerKey}\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setCreds({ ...creds, SharedSecret: evt.target.value });\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + (errorSharedSecret.length == 0 ? \"\" : \"is-invalid\")}\r\n name={\"sharedSecret\"}\r\n id={\"sharedSecret\"}\r\n value={creds.SharedSecret || \"\"}\r\n />\r\n\r\n {(errorSharedSecret || \"\").length != 0 && \r\n {errorSharedSecret}\r\n }\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n setCreds({ ...creds, MostrarCredencialAlAcceder: evt.target.checked });\r\n }}\r\n type=\"checkbox\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={errorSharedSecret}\r\n id={errorSharedSecret}\r\n checked={creds.MostrarCredencialAlAcceder || true}\r\n />\r\n\r\n \r\n \r\n\r\n\r\n ;\r\n}\r\n","import React, { useEffect, useState } from 'react'; // we need this to make JSX compile\r\nimport { Button, Col, FormFeedback, FormGroup, Input, Label, Modal, ModalBody, ModalFooter, ModalHeader, Row } from 'reactstrap';\r\nimport { InfoConexion } from '../models/dataModels';\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { I18n } from '../utils/I18n';\r\nimport { ColegioCredencialesEditorialesService } from './ColegioCredencialesEditorialesService';\r\n\r\ninterface Lti13ConfigCentroProps {\r\n value: string;\r\n required: boolean;\r\n\r\n formValidation: ModelValidation;\r\n onChange: (json: string) => void;\r\n}\r\n\r\nclass Lti13Creds {\r\n LoginUrl: string;\r\n LaunchUrl: string;\r\n DeepLinkingUrl: string;\r\n MostrarCredencialAlAcceder: boolean;\r\n}\r\nexport const Lti13ConfigCentro = function (props: Lti13ConfigCentroProps) {\r\n\r\n var [creds, setCreds] = useState({} as Lti13Creds);\r\n var [showInfo, setShowInfo] = useState(null);\r\n\r\n useEffect(() => {\r\n try {\r\n var valueObj = JSON.parse(props.value) as Lti13Creds;\r\n setCreds(valueObj);\r\n } catch { }\r\n }, []);\r\n\r\n\r\n useEffect(() => {\r\n props.onChange(JSON.stringify(creds));\r\n }, [creds]);\r\n\r\n\r\n const url_creds = \"loginUrlCreds\"\r\n const consumerKey_creds = \"consumerKeyCreds\"\r\n const sharedSecret_creds = \"sharedSecretCreds\"\r\n\r\n var errorUrl = props.formValidation.getError(url_creds) || \"\";\r\n var errorConsumerKey = props.formValidation.getError(consumerKey_creds) || \"\";\r\n var errorSharedSecret = props.formValidation.getError(sharedSecret_creds) || \"\";\r\n\r\n\r\n return \r\n \r\n \r\n \r\n {\r\n setCreds({ ...creds, LoginUrl: evt.currentTarget.value });\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + (errorUrl.length == 0 ? \"\" : \"is-invalid\")}\r\n name={\"url\"}\r\n id={\"url\"}\r\n value={creds.LoginUrl || \"\"}\r\n />\r\n\r\n {(errorUrl || \"\").length != 0 && \r\n {errorUrl}\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setCreds({ ...creds, LaunchUrl: evt.currentTarget.value });\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + (errorConsumerKey.length == 0 ? \"\" : \"is-invalid\")}\r\n name={\"launchUrl\"}\r\n id={\"launchUrl\"}\r\n value={creds.LaunchUrl || \"\"}\r\n />\r\n\r\n {(errorConsumerKey || \"\").length != 0 && \r\n {errorConsumerKey}\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setCreds({ ...creds, DeepLinkingUrl: evt.currentTarget.value });\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + (errorSharedSecret.length == 0 ? \"\" : \"is-invalid\")}\r\n name={\"deepLinking\"}\r\n id={\"deepLinking\"}\r\n value={creds.DeepLinkingUrl || \"\"}\r\n />\r\n\r\n {(errorSharedSecret || \"\").length != 0 && \r\n {errorSharedSecret}\r\n }\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n setCreds({ ...creds, MostrarCredencialAlAcceder: evt.currentTarget.checked });\r\n }}\r\n type=\"checkbox\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={errorSharedSecret}\r\n id={errorSharedSecret}\r\n checked={creds.MostrarCredencialAlAcceder || false}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n {showInfo && setShowInfo(null)}\r\n >\r\n\r\n setShowInfo(null)} />}>\r\n Info conexión LTI 1.3\r\n \r\n\r\n \r\n \r\n \r\n Platform: Scholarum Hub
\r\n Client ID: {showInfo.clientId}
\r\n Deployment ID: {showInfo.clientId}
\r\n Issuer: {showInfo.issuer}
\r\n Authorization URL: {showInfo.authorizationUrl}
\r\n Token URL: {showInfo.accessTokenUrl}
\r\n JWK Set Url: {showInfo.jwkSetUrl}
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n }\r\n
;\r\n}\r\n","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport { Editorial, ColegioCredencialesEditorialesEditModel, ModelValidationResult, TipoAcceso, TipoUsuario, ContenidosDigitalesColegioSearch } from \"../models/dataModels\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { ColegioCredencialesEditorialesService } from \"./ColegioCredencialesEditorialesService\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { Col, FormGroup, Input, Label, Row } from \"reactstrap\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { EditorialDropDown } from \"../helpers/EnumDropDown\";\r\nimport { UserPasswordIdCentro } from \"./UserPasswordIdCentro\";\r\nimport { TipoAccesoDropDown } from \"../licenciasColegio/TipoAccesoDropDown\";\r\nimport { stat } from \"node:fs/promises\";\r\nimport { Lti11ConfigCentro } from \"./Lti11ConfigCentro\";\r\nimport { Lti13ConfigCentro } from \"./Lti13ConfigCentro\";\r\nimport { ContenidosDigitalesColegioSearchEx, ContenidosPicker } from \"../contenidos/colegio/Picker\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { ViewIcon } from \"../utils/Icons\";\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nuevo\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: ColegioCredencialesEditorialesEditModel): string {\r\n return `Editar ${editModel.nombre}`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new ColegioCredencialesEditorialesService();\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n return \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.nombre))}\r\n name={nameof(this.state.editModel.nombre)}\r\n id={\"credenciales\" + nameof(this.state.editModel.nombre)}\r\n value={this.state.editModel.nombre || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.nombre))}\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.editModel.editorial = value as Editorial;\r\n }\r\n else {\r\n newState.editModel.editorial = null;\r\n }\r\n\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.editModel.tipoLicencia = value as TipoAcceso;\r\n }\r\n else {\r\n newState.editModel.tipoLicencia = null;\r\n }\r\n this.setState(newState);\r\n }}\r\n\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.tipoLicencia))}\r\n\r\n \r\n \r\n \r\n \r\n

Acceso a los contenidos

\r\n \r\n
\r\n \r\n {this.state.editModel.tipoLicencia == TipoAcceso.Lti11 &&\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.datos = value;\r\n this.setState(state);\r\n }}\r\n />\r\n }\r\n {this.state.editModel.tipoLicencia == TipoAcceso.Lti13 &&\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.datos = value;\r\n this.setState(state);\r\n }}\r\n />\r\n }\r\n {this.state.editModel.tipoLicencia != TipoAcceso.Lti11 && this.state.editModel.tipoLicencia != TipoAcceso.Lti13 &&\r\n <>\r\n\r\n {this.state.editModel.editorial != Editorial.Burlington &&\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.datos = value;\r\n this.setState(state);\r\n }}\r\n />\r\n }\r\n {this.state.editModel.editorial == Editorial.Burlington &&\r\n

Burlington: credenciales son propias del hub, para utilizarlo simplemente debe guardar este registro

\r\n }\r\n }\r\n
\r\n\r\n {(this.state.editModel.tipoLicencia == TipoAcceso.NoAccedeMuestraMensaje ||\r\n this.state.editModel.tipoLicencia == TipoAcceso.NoAccedeNoMuestraCredenciales ||\r\n this.state.editModel.tipoLicencia == TipoAcceso.NoAccedeSiMuestraCredenciales ||\r\n this.state.editModel.tipoLicencia == TipoAcceso.SantillanaAV4\r\n ) &&\r\n\r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.urlAcceso = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={250}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.urlAcceso))}\r\n name={nameof(this.state.editModel.urlAcceso)}\r\n id={\"urlAcceso\" + nameof(this.state.editModel.urlAcceso)}\r\n value={this.state.editModel.urlAcceso || \"\"}\r\n />\r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n {I18n.Strings.licenciasContenido.contenido}\r\n {this.state.editModel.contenidoIsbn != null && <> ({this.state.editModel.contenidoIsbn})}\r\n {(ClientContext.Current.tipoUsuario == TipoUsuario.AdminColegio || ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal) &&\r\n \r\n {this.state.editModel.id != 0 && this.state.editModel.contenidoId != 0 &&\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n }\r\n itemId={this.state.editModel.contenidoId}\r\n itemName={this.state.editModel.contenidoNombre}\r\n getIdFromItem={(item) => item.id}\r\n disabled={false}\r\n mostrarNiveles={true}\r\n mostrarSoloColegio={true}\r\n key={\"contPicker\"}\r\n nivelEducativoId={null}\r\n searchParams={{\r\n ...{} as ContenidosDigitalesColegioSearchEx,\r\n nivelEducativoId: null,\r\n claseId: null,\r\n editorial: this.state.editModel.editorial\r\n }}\r\n getNameFromItem={(item) => {\r\n return item.nombre;\r\n }}\r\n cursoEscolarId={ClientContext.Current.cursoEscolarActivoId}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.editModel.contenidoId))}\r\n onSelected={(contenidoId, contenido, item) => {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.editModel.contenidoId = contenidoId;\r\n state.editModel.contenidoNombre = contenido;\r\n state.editModel.contenidoIsbn = item == null ? null : item.isbn;\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n

Mantenimiento

\r\n \r\n
\r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.deshabilitarAcceso = evt.target.checked;\r\n if (!state.editModel.deshabilitarAcceso) {\r\n state.editModel.mensajeDeshabilitarAcceso = \"\";\r\n }\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, marginRight: 10 }}\r\n name={nameof(this.state.editModel.deshabilitarAcceso)}\r\n id={nameof(this.state.editModel.deshabilitarAcceso)}\r\n checked={this.state.editModel.deshabilitarAcceso || false}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.mensajeDeshabilitarAcceso = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"textarea\"\r\n required={this.state.editModel.deshabilitarAcceso}\r\n disabled={!this.state.editModel.deshabilitarAcceso}\r\n maxLength={500}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.mensajeDeshabilitarAcceso))}\r\n name={nameof(this.state.editModel.mensajeDeshabilitarAcceso)}\r\n id={nameof(this.state.editModel.mensajeDeshabilitarAcceso)}\r\n value={this.state.editModel.mensajeDeshabilitarAcceso || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.mensajeDeshabilitarAcceso))}\r\n \r\n \r\n\r\n \r\n
;\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editCredenciales(id);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listCredencialesColegio();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0,\r\n nombre: \"\",\r\n editorial: null,\r\n datos: \"\"\r\n } as ColegioCredencialesEditorialesEditModel;\r\n\r\n return Promise.resolve(model);\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.editModel.nombre || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.nombre), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegiocredenciales.nombre));\r\n }\r\n\r\n if (this.state.editModel.editorial == null) {\r\n validation.addError(nameof(this.state.editModel.editorial), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegiocredenciales.editorial));\r\n }\r\n\r\n if (this.state.editModel.deshabilitarAcceso) {\r\n if ((this.state.editModel.mensajeDeshabilitarAcceso || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.mensajeDeshabilitarAcceso), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegiocredenciales.mensajeDeshabilitarAcceso));\r\n }\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n}\r\n\r\nexport const Edit = withRouter(EditComp)","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Row, Col, FormGroup, Label, Input, Button } from \"reactstrap\";\r\n\r\nimport { ColegioCredencialesEditorialesService } from \"./ColegioCredencialesEditorialesService\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { Editorial, ColegioCredencialesEditorialesListItem, ColegioCredencialesEditorialesListItemPaginatedList, ColegioCredencialesEditorialesSearch } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { EditorialDropDown } from \"../helpers/EnumDropDown\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { AddNewIcon } from \"../utils/Icons\";\r\n\r\n\r\nexport class IndexComp extends IndexPageBase\r\n{\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.colegioUsuarios.nombre + \"...\"}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombre)}\r\n id={\"credenciales\" + nameof(this.state.searchParams.nombre)}\r\n value={this.state.searchParams.nombre || \"\"}\r\n />\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.searchParams.editorial = value as Editorial;\r\n }\r\n else {\r\n newState.searchParams.editorial = null;\r\n }\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n\r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new ColegioCredencialesEditorialesService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nombre),\r\n title: I18n.Strings.colegiocredenciales.nombre,\r\n renderField: (item) => item.nombre\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].editorial),\r\n title: I18n.Strings.colegiocredenciales.editorial,\r\n renderField: (item) => {\r\n return I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n }\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].contenidoIsbn),\r\n title: I18n.Strings.contenidos.isbn,\r\n renderField: (item) => {\r\n return item.contenidoIsbn ?? \"-\";\r\n }\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].contenidoNombre),\r\n title: I18n.Strings.contenidos.contenidosColegioTitle,\r\n renderField: (item) => {\r\n return item.contenidoNombre ?? \"-\";\r\n }\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].tipoLicencia),\r\n title: I18n.Strings.colegiocredenciales.tipoLicencia,\r\n renderField: (item) => {\r\n return I18n.Strings.getEnumText(`TipoAcceso.${item.tipoLicencia}`);\r\n }\r\n }\r\n ];\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return \"Credenciales del colegio\"\r\n }\r\n protected _getPageDescription(): string {\r\n return \"Aqui ves las credenciales de las editoriales del colegio\";\r\n }\r\n\r\n\r\n protected _getEditionItemUrl(item: ColegioCredencialesEditorialesListItem): string {\r\n return RouteHelper.editCredenciales(item.id);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createCredenciales();\r\n }\r\n\r\n protected _toolbarRightContents(): JSX.Element[] {\r\n var elements = super._toolbarRightContents();\r\n\r\n elements.push( this.generateDefaultCredentials()}\r\n >\r\n \r\n {I18n.Strings.colegiocredenciales.createDefault}\r\n );\r\n\r\n return elements;\r\n }\r\n\r\n /**\r\n * Genera las credenciales por defecto de las editoriales, en caso de que no existan\r\n */\r\n private generateDefaultCredentials() {\r\n var service = new ColegioCredencialesEditorialesService();\r\n var prom = service.generateDefaultCredentials();\r\n prom.then(p => this._performSearch())\r\n .catch(error => this._showError(error));\r\n }\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","\r\nimport { GrupoClaseEditModel, LicenciaContenido, CursoEscolarEditModel, CursoEscolarListItemPaginatedList, CursoEscolarSearch, ModelValidationResult } from \"../../models/dataModels\";\r\nimport { ApiFetcher } from \"../../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../../utils/base/BaseServices\";\r\n\r\nexport class GrupoClaseService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n \r\n\r\n search(searchData: any): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n delete(id: number) : Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/grupoclase/${id}`);\r\n return prom;\r\n }\r\n validate(model: GrupoClaseEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/grupoclase/validate`, model);\r\n return prom;\r\n }\r\n\r\n create(model: GrupoClaseEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n update(id: string | number, model: GrupoClaseEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/grupoclase/${id}`, model); \r\n return prom;\r\n }\r\n\r\n exportExcel(search: CursoEscolarSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { NivelContenidosListItem, SortDirection } from \"../models/dataModels\";\r\nimport { DropDownBase, GenericSelectItem, IDropDownProps } from \"../utils/base/DropDownBase\";\r\n\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { NivelContenidosService } from \"./NivelesContenidosService\";\r\n\r\nexport interface NivelContenidoDropDownDropDownProps extends IDropDownProps {\r\n claseId: number;\r\n cursoEscolarId: number;\r\n}\r\n\r\nexport class NivelContenidoDropDown extends DropDownBase {\r\n\r\n\r\n\r\n protected GetItems(): Promise {\r\n\r\n var item = {} as NivelContenidosListItem;\r\n\r\n var nivelContenidoSrv = new NivelContenidosService();\r\n var dataProm = nivelContenidoSrv.search({\r\n colegioId: ClientContext.Current.colegioId,\r\n claseId: this.props.claseId,\r\n cursoEscolarId: this.props.cursoEscolarId,\r\n contenidoId: null,\r\n nivelId: null,\r\n noTotalCount: true,\r\n currentPage: 0,\r\n rowsPerPage: -1,\r\n orderByColumn: nameof(item.contenido),\r\n orderMode: SortDirection.Asc,\r\n bypassAutomaticSort: false,\r\n currentPageRows: -1\r\n });\r\n\r\n var resultProm = dataProm.then(data => {\r\n return data.items.map((item, index) => {\r\n return {\r\n id: item.id,\r\n name: `${item.isbn} - ${item.contenido}`,\r\n data: item\r\n }\r\n });\r\n });\r\n\r\n return Promise.resolve(resultProm);\r\n }\r\n\r\n protected shouldAddEmptyOption() {\r\n return true;\r\n }\r\n};\r\n\r\n\r\n;\r\n","import { NivelProductosTiendaSearch, NivelProductosTiendasListItemPaginatedList } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\n\r\n\r\nexport class NivelProductosTiendaService {\r\n\r\n search(searchData: NivelProductosTiendaSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/colegio/nivelesProductosTiendas/search\", searchData);\r\n return prom;\r\n }\r\n}\r\n","import nameof from \"ts-nameof.macro\";\r\nimport { NivelProductosTiendasListItem, SortDirection } from \"../models/dataModels\";\r\nimport { DropDownBase, GenericSelectItem } from \"../utils/base/DropDownBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { NivelContenidoDropDownDropDownProps } from \"./NivelContenidoDropDown\";\r\nimport { NivelProductosTiendaService } from \"./NivelProductosTiendaService\";\r\n\r\n\r\n\r\nexport class NivelProductoTiendaDropDown extends DropDownBase {\r\n\r\n\r\n\r\n protected GetItems(): Promise {\r\n\r\n var item = {} as NivelProductosTiendasListItem;\r\n\r\n var nivelContenidoSrv = new NivelProductosTiendaService();\r\n var dataProm = nivelContenidoSrv.search({\r\n colegioId: ClientContext.Current.colegioId,\r\n claseId: this.props.claseId,\r\n cursoEscolarId: this.props.cursoEscolarId,\r\n productoTiendaId: null,\r\n nivelId: null,\r\n noTotalCount: true,\r\n currentPage: 0,\r\n rowsPerPage: -1,\r\n orderByColumn: nameof(item.productoTiendaSku),\r\n orderMode: SortDirection.Asc,\r\n bypassAutomaticSort: false,\r\n currentPageRows: -1\r\n });\r\n\r\n var resultProm = dataProm.then(data => {\r\n return data.items.map((item, index) => {\r\n return {\r\n id: item.id,\r\n name: `${item.productoTiendaSku} - ${item.productoTienda}`,\r\n data: item\r\n };\r\n });\r\n });\r\n\r\n return Promise.resolve(resultProm);\r\n }\r\n\r\n protected shouldAddEmptyOption() {\r\n return true;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport {\r\n Card, CardHeader, CardText, CardBody, Modal, ModalHeader, ModalFooter, Button, ModalBody, Row, Col\r\n} from 'reactstrap';\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { EditIcon, ViewIcon } from \"../../utils/Icons\";\r\nimport { cloneDeep, set } from \"lodash-es\";\r\nimport { ClaseMateriaService } from \"../materia/ClaseMateriaService\";\r\nimport { Loading } from \"../../utils/Loading\";\r\nimport { LicenciasContenidosListItemPaginatedList, LicenciasContenidosListItem } from \"../../models/dataModels\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { UsuarioEditTabs } from \"../../colegioUsuarios/Edit\";\r\n\r\nclass LicenciasState {\r\n public loading: boolean;\r\n public showModal: boolean;\r\n public items: LicenciasContenidosListItem[];\r\n}\r\n\r\nclass LicenciasProps {\r\n public numLicencias: number;\r\n public claseMateriaId: number;\r\n public claseId: number;\r\n}\r\n\r\nexport class Licencias extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n showModal: false,\r\n items: null,\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n\r\n return (\r\n
\r\n {this.state.loading && }\r\n {this.renderPopUp()}\r\n {I18n.Strings.cursoEscolar.numeroLicencias(this.props.numLicencias)}\r\n {\r\n this.showModal();\r\n }}>\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n protected showModal() {\r\n var state = this._cloneStateForSetState();\r\n state.loading = true;\r\n state.showModal = true;\r\n this.setState(state, () => {\r\n var service = new ClaseMateriaService();\r\n service.getClaseMateriaLicencias(this.props.claseMateriaId)\r\n .then(ret => {\r\n this.setState({ loading: false, items: ret.items });\r\n });\r\n });\r\n }\r\n\r\n protected renderPopUp(): JSX.Element {\r\n return { this.setState({ showModal: !this.state.showModal }) }}\r\n >\r\n {\r\n this.setState({ showModal: false })} />}>\r\n {I18n.Strings.cursoEscolar.numeroLicencias(this.props.numLicencias)}\r\n \r\n }\r\n \r\n {(this.state.items || []).length == 0 && \r\n

No hay licencias

\r\n
}\r\n\r\n {(this.state.items || []).length != 0 && \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.items.map((item, index) => {\r\n return \r\n \r\n \r\n \r\n ;\r\n })}\r\n \r\n
UsuarioCredenciales
\r\n \r\n \r\n \r\n \r\n {item.usuario}\r\n \r\n {item.credenciales}\r\n
\r\n \r\n
}\r\n
\r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n protected _cloneStateForSetState(): LicenciasState {\r\n return cloneDeep(this.state) as LicenciasState;\r\n }\r\n}","import * as React from \"react\";\r\nimport {\r\n Card, CardHeader, CardText, CardBody, Modal, ModalHeader, ModalFooter, Button, ModalBody, Row, Col\r\n} from 'reactstrap';\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { EditIcon, ViewIcon } from \"../../utils/Icons\";\r\nimport { cloneDeep, set } from \"lodash-es\";\r\nimport { ClaseMateriaService } from \"../materia/ClaseMateriaService\";\r\nimport { Loading } from \"../../utils/Loading\";\r\nimport { MatriculaListItemPaginatedList, MatriculaListItem } from \"../../models/dataModels\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { UsuarioEditTabs } from \"../../colegioUsuarios/Edit\";\r\nimport { MatriculasService } from \"../../matriculas/MatriculasService\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\n\r\nclass MatriculasState {\r\n public loading: boolean;\r\n public showModal: boolean;\r\n public items: MatriculaListItem[];\r\n}\r\n\r\nclass MatriculasProps {\r\n public numMatriculas: number;\r\n public claseMateriaId: number;\r\n public claseId: number;\r\n}\r\n\r\nexport class Matriculas extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n showModal: false,\r\n items: null,\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n\r\n return (\r\n
\r\n {this.state.loading && }\r\n {this.renderPopUp()}\r\n {I18n.Strings.cursoEscolar.numeroMatriculas(this.props.numMatriculas)}\r\n {\r\n this.showModal();\r\n }}>\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n protected showModal() {\r\n var state = this._cloneStateForSetState();\r\n state.loading = true;\r\n state.showModal = true;\r\n this.setState(state, () => {\r\n var service = new MatriculasService();\r\n service.getByClaseMateriaId(this.props.claseMateriaId, ClientContext.Current.cursoEscolarActivoId)\r\n .then(ret => {\r\n this.setState({ loading: false, items: ret });\r\n });\r\n });\r\n }\r\n\r\n protected renderPopUp(): JSX.Element {\r\n return { this.setState({ showModal: !this.state.showModal }) }}\r\n >\r\n {\r\n this.setState({ showModal: false })} />}>\r\n {I18n.Strings.cursoEscolar.numeroMatriculas(this.props.numMatriculas)}\r\n \r\n }\r\n \r\n {(this.state.items || []).length == 0 && \r\n

No hay Matriculas

\r\n
}\r\n\r\n {(this.state.items || []).length != 0 && \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.items.map((item, index) => {\r\n return \r\n \r\n \r\n \r\n ;\r\n })}\r\n \r\n
UsuarioRol
\r\n \r\n \r\n \r\n \r\n {item.usuario}\r\n \r\n {item.rol}\r\n
\r\n \r\n
}\r\n
\r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n protected _cloneStateForSetState(): MatriculasState {\r\n return cloneDeep(this.state) as MatriculasState;\r\n }\r\n}","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { LicenciaContenidosEditModel, OrigenLicencia, TipoAcceso, TipoUsuarioContenido } from \"../../models/dataModels\";\r\nimport { GenericEditState } from \"../../utils/base/GenericEditState\";\r\nimport { EditPageBase } from \"../../utils/base/EditPageBase\";\r\nimport { IServiceForEdit } from \"../../utils/base/BaseServices\";\r\nimport { LicenciasColegioService } from \"../LicenciasColegioService\";\r\nimport { TipoAccesoDropDown } from \"../TipoAccesoDropDown\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { Col, FormGroup, Input, Label, Row } from \"reactstrap\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { ClaseMateriaDropDown } from \"../../cursoEscolar/materia/ClaseMateriaDropDown\";\r\nimport { ContenidosPicker } from \"../../contenidos/colegio/Picker\";\r\nimport { MiPerfilService } from \"../../miPerfil/MiPerfilService\";\r\nimport { ClasesDropDown } from \"../../clases/profesor/ClasesDropDown\";\r\nimport { NavigationHelper } from \"../../utils/base/Breadcrumb\";\r\n\r\nexport enum LicenciaUsuarioEditTabs {\r\n Datos = \"Datos\",\r\n Accesos = \"Accesos\",\r\n}\r\n\r\ninterface LicenciaContenidosEditModelEx extends LicenciaContenidosEditModel {\r\n}\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nueva asignación de licencia de alumno\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: LicenciaContenidosEditModelEx): string {\r\n return `Ver asignación de licencia de alumno`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new LicenciasColegioService() as any as IServiceForEdit;\r\n }\r\n\r\n private _paintMainForm(): JSX.Element {\r\n\r\n return \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.numPedido = evt.target.value;\r\n this.setState(state);\r\n }}\r\n disabled={this.props.viewMode}\r\n className={\"form-control \"}\r\n name={nameof(this.state.editModel.numPedido)}\r\n id={\"licencias\" + nameof(this.state.editModel.numPedido)}\r\n value={this.state.editModel.numPedido || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseId = claseId;\r\n state.editModel.clase = clase;\r\n state.editModel.claseMateria = null;\r\n state.editModel.claseMateriaId = null;\r\n state.editModel.editorial = null;\r\n this.setState(state);\r\n }}\r\n />\r\n\r\n {this._errorMessage(nameof(this.state.editModel.claseId))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseMateriaId = materiaId;\r\n state.editModel.claseMateria = materia;\r\n //state.editModel.editorial = item == null || item.data == null ? null : (item.data as ClaseMateriaListItem).editorial;\r\n\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n item.id}\r\n getNameFromItem={(item) => {\r\n var enumName = I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n return `${enumName} - ${item.nombre}`;\r\n }}\r\n cursoEscolarId={ClientContext.Current.cursoEscolarActivoId}\r\n nivelEducativoId={null}\r\n claseId={this.state.editModel.claseId}\r\n excluirLicenciasUsuarioId={this.state.editModel.usuarioId}\r\n tipoUsuario={TipoUsuarioContenido.Alumno}\r\n mostrarNiveles={true}\r\n mostrarSoloColegio={false}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.editModel.contenidoId))}\r\n onSelected={(contenidoId, contenido, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.contenidoId = contenidoId;\r\n state.editModel.contenido = contenido;\r\n state.editModel.editorial = item == null ? null : item.editorial;\r\n\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {this.state.editModel.tipoAcceso != TipoAcceso.NoAccedeNoMuestraCredenciales &&\r\n \r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (tipoLicencia != '' && tipoLicencia != null) {\r\n newState.editModel.tipoAcceso = tipoLicencia as TipoAcceso;\r\n }\r\n else {\r\n newState.editModel.tipoAcceso = null;\r\n }\r\n newState.editModel.credenciales = \"\";\r\n this.setState(newState);\r\n }}\r\n value={this.state.editModel.tipoAcceso}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.tipoAcceso))}\r\n \r\n \r\n {/*\r\n \r\n\r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.credenciales = value;\r\n this.setState(state);\r\n }}\r\n name={nameof(this.state.editModel.credenciales)}\r\n value={this.state.editModel.credenciales || \"\"}\r\n key={this.state.editModel.editorial + \" \" + this.state.editModel.tipoAcceso}\r\n formValidation={this.state.validationResult}\r\n required={true}\r\n disabled={this.props.viewMode}\r\n tipoAcceso={this.state.editModel.tipoAcceso}\r\n editorial={this.state.editModel.editorial}\r\n />\r\n\r\n \r\n \r\n */}\r\n\r\n\r\n \r\n }\r\n ;\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n return this._paintMainForm();\r\n\r\n }\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.detailMyLicenses(id);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listMyLicenses();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0,\r\n origen: OrigenLicencia.Administrador,\r\n tipoUsuario: TipoUsuarioContenido.Alumno,\r\n usuarioId: ClientContext.Current.usuarioId\r\n } as LicenciaContenidosEditModel;\r\n\r\n var srv = new MiPerfilService();\r\n let promData = srv.getMyEditModel();\r\n let modelWithDataProm = promData.then(data => {\r\n model.editModel.claseId = data.claseActualId;\r\n return model;\r\n });\r\n\r\n return modelWithDataProm;\r\n }\r\n\r\n\r\n\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if (this.state.editModel.claseId == null) {\r\n validation.addError(nameof(this.state.editModel.claseId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.grupoClase.grupoClase));\r\n }\r\n\r\n if (this.state.editModel.claseMateriaId == null) {\r\n validation.addError(nameof(this.state.editModel.claseMateriaId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.grupoContenido.materia));\r\n }\r\n\r\n if ((this.state.editModel.credenciales || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.credenciales), I18n.Strings.validationErrors.valueRequired(I18n.Strings.licenciasContenido.credenciales));\r\n }\r\n\r\n if (this.state.editModel.tipoAcceso == null) {\r\n validation.addError(nameof(this.state.editModel.tipoAcceso), I18n.Strings.validationErrors.valueRequired(I18n.Strings.licenciasContenido.tipoAcceso));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected updateBreadCrumb(model: LicenciaContenidosEditModel) {\r\n var items = [{\r\n text: I18n.Strings.misLicencias.title,\r\n link: RouteHelper.listMyLicenses()\r\n }];\r\n if (model.id == 0) {\r\n items.push({\r\n text: I18n.Strings.addNew,\r\n link: \"\"\r\n });\r\n }\r\n else {\r\n items.push({\r\n text: I18n.Strings.misLicencias.edit,\r\n link: \"\"\r\n });\r\n }\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n\r\n}\r\n\r\nexport const Edit = withRouter(EditComp)","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport { CursoEscolarEditModel, EtapaEditModel, GrupoClaseEditModel, ModelValidationResult, NivelEducativoEditModel, TipoUsuario } from \"../models/dataModels\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { CursoEscolarService } from \"./CursoEscolarService\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { Button, Col, FormGroup, Input, Label, Row, UncontrolledTooltip } from \"reactstrap\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { CustomDatePicker } from \"../helpers/CustomDatePicker\";\r\nimport { AddNewIcon, DeleteIcon, EditIcon } from \"../utils/Icons\";\r\nimport { DeleteModal } from \"../utils/DeleteModal\";\r\nimport { LinkItem, NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { CampannaDropDown } from \"./CampannaDropDown\";\r\nimport { toCamelCase } from \"../utils/ValuesFormatter\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\n\r\ninterface CursoEscolarEditModelEx extends CursoEscolarEditModel {\r\n\r\n indexEtapaBorrar?: number;\r\n indexNivelBorrar?: number;\r\n indexClaseBorrar?: number;\r\n}\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nuevo\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: CursoEscolarEditModel): string {\r\n return `Editar ${editModel.nombre}`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new CursoEscolarService();\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n return \r\n {this.state.showDeleteConfirmation != null &&\r\n this.setState({ showDeleteConfirmation: null })}\r\n deleteConfirmBody={(typeof this.state.showDeleteConfirmation == \"boolean\") ? null : this.state.showDeleteConfirmation}\r\n onConfirm={() => {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.showDeleteConfirmation = null;\r\n if (this.state.editModel.indexEtapaBorrar != null) {\r\n if (this.state.editModel.indexNivelBorrar != null) {\r\n if (this.state.editModel.indexClaseBorrar != null) {\r\n state.editModel.etapas[this.state.editModel.indexEtapaBorrar].niveles[this.state.editModel.indexNivelBorrar].clases.splice(this.state.editModel.indexClaseBorrar, 1);\r\n }\r\n else {\r\n state.editModel.etapas[this.state.editModel.indexEtapaBorrar].niveles.splice(this.state.editModel.indexNivelBorrar, 1);\r\n }\r\n }\r\n else {\r\n state.editModel.etapas.splice(this.state.editModel.indexEtapaBorrar, 1);\r\n }\r\n\r\n state.editModel.indexEtapaBorrar = null;\r\n state.editModel.indexNivelBorrar = null;\r\n state.editModel.indexClaseBorrar = null;\r\n }\r\n this.setState(state);\r\n }}\r\n />\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.nombre))}\r\n name={nameof(this.state.editModel.nombre)}\r\n id={\"cursos\" + nameof(this.state.editModel.nombre)}\r\n value={this.state.editModel.nombre || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.nombre))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.fechaInicio = val == null ? null : new Date(val);\r\n if (state.editModel.fechaInicio != null) {\r\n state.editModel.fechaInicio.setHours(12);\r\n }\r\n this.setState(state);\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.fechaInicio))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.fechaFin = val == null ? null : new Date(val);\r\n if (state.editModel.fechaFin != null) {\r\n state.editModel.fechaFin.setHours(12);\r\n }\r\n this.setState(state);\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.fechaFin))}\r\n \r\n \r\n {ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal && \r\n \r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.editModel.campanna = nombre;\r\n state.editModel.campannaId = id;\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.fechaInicioCampagna = val == null ? null : new Date(val);\r\n if (state.editModel.fechaInicioCampagna != null) {\r\n state.editModel.fechaInicioCampagna.setHours(12);\r\n }\r\n this.setState(state);\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.fechaInicioCampagna))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.fechaFinCampagna = val == null ? null : new Date(val);\r\n if (state.editModel.fechaFinCampagna != null) {\r\n state.editModel.fechaFinCampagna.setHours(12);\r\n }\r\n this.setState(state);\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.fechaFinCampagna))}\r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.activo = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.activo)}\r\n id={\"cursos\" + nameof(this.state.editModel.nombre)}\r\n checked={this.state.editModel.activo || false}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.activo))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.visibleAlumnos = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.visibleAlumnos)}\r\n id={\"cursos\" + nameof(this.state.editModel.visibleAlumnos)}\r\n checked={this.state.editModel.visibleAlumnos || false}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.visibleAlumnos))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.contenidoAccesibleAlumnos = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.contenidoAccesibleAlumnos)}\r\n id={\"cursos\" + nameof(this.state.editModel.contenidoAccesibleAlumnos)}\r\n checked={this.state.editModel.contenidoAccesibleAlumnos || false}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.contenidoAccesibleAlumnos))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.syncroPorDefecto = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.syncroPorDefecto)}\r\n id={\"cursos\" + nameof(this.state.editModel.syncroPorDefecto)}\r\n checked={this.state.editModel.syncroPorDefecto || false}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.syncroPorDefecto))}\r\n \r\n \r\n \r\n {this.renderEtapas()}\r\n ;\r\n }\r\n\r\n protected renderEtapas(): JSX.Element {\r\n return \r\n {this.state.editModel.etapas != null && this.state.editModel.etapas.map((etapa, indexEtapa) => {\r\n return
\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var etapa = state.editModel.etapas[indexEtapa];\r\n etapa.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.etapa.nombre}\r\n type=\"text\"\r\n required={true}\r\n maxLength={255}\r\n className={\"form-control \" + this._errorClass(nameof(etapa.nombre) + indexEtapa)}\r\n name={nameof(etapa.nombre) + indexEtapa}\r\n id={\"etapa\" + indexEtapa}\r\n value={etapa.nombre || \"\"}\r\n />\r\n {this._errorMessage(nameof(etapa.nombre) + indexEtapa)}\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var etapa = state.editModel.etapas[indexEtapa];\r\n etapa.identificadorTienda = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.etapa.identificadorTienda}\r\n type=\"text\"\r\n required={false}\r\n maxLength={255}\r\n className={\"form-control \" + this._errorClass(nameof(etapa.identificadorTienda))}\r\n name={nameof(etapa.identificadorTienda) + indexEtapa}\r\n id={\"identificadorTienda\" + indexEtapa}\r\n value={etapa.identificadorTienda || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var etapa = state.editModel.etapas[indexEtapa];\r\n etapa.sincronizar = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, display: 'inline-block', marginRight: '5px' }}\r\n className={\"form-control \" + this._errorClass(nameof(etapa.identificadorTienda))}\r\n name={nameof(etapa.sincronizar) + indexEtapa}\r\n id={\"sincronizar\" + indexEtapa}\r\n checked={etapa.sincronizar || false}\r\n />\r\n \r\n {I18n.Strings.etapa.sincronizar}\r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var etapa = state.editModel.etapas[indexEtapa];\r\n etapa.omitirNotificacionLicencias = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, display: 'inline-block', marginRight: '5px' }}\r\n className={\"form-control \" + this._errorClass(nameof(etapa.omitirNotificacionLicencias))}\r\n name={nameof(etapa.omitirNotificacionCredenciales) + indexEtapa}\r\n id={\"omitirNotificacionLicencias\" + indexEtapa}\r\n checked={etapa.omitirNotificacionLicencias || false}\r\n />\r\n \r\n {I18n.Strings.etapa.omitirNotificacionLicencias}\r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var etapa = state.editModel.etapas[indexEtapa];\r\n etapa.omitirNotificacionCredenciales = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, display: 'inline-block' }}\r\n className={\"form-control \" + this._errorClass(nameof(etapa.identificadorTienda))}\r\n name={nameof(etapa.omitirNotificacionCredenciales) + indexEtapa}\r\n id={\"omitirNotificacionCredenciales\" + indexEtapa}\r\n checked={etapa.omitirNotificacionCredenciales || false}\r\n />\r\n \r\n {I18n.Strings.etapa.omitirNotificacionCredenciales}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.showDeleteConfirmation = I18n.Strings.etapa.deleteEtapaConfirmText(etapa.nombre);\r\n state.editModel.indexEtapaBorrar = indexEtapa;\r\n\r\n this.setState(state);\r\n }}>\r\n \r\n \r\n \r\n {I18n.Strings.etapa.deleteEtapa(etapa.nombre)}\r\n \r\n \r\n \r\n \r\n {this.renderNiveles(indexEtapa)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n })}\r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n if (state.editModel.etapas == null) {\r\n state.editModel.etapas = [];\r\n }\r\n state.editModel.etapas.push({\r\n nombre: '',\r\n orden: 1,\r\n id: 0,\r\n cursoEscolarId: this.state.editModel.id,\r\n niveles: []\r\n } as EtapaEditModel);\r\n this.setState(state);\r\n }}>\r\n \r\n {I18n.Strings.etapa.addEtapa}\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n protected renderNiveles(etapaIndex: number): JSX.Element {\r\n return \r\n {this.state.editModel.etapas[etapaIndex].niveles != null\r\n && this.state.editModel.etapas[etapaIndex].niveles.map((nivel, nivelIndex) => {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var nivel = state.editModel.etapas[etapaIndex].niveles[nivelIndex];\r\n nivel.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.cursoEscolar.nombre}\r\n type=\"text\"\r\n required={true}\r\n maxLength={255}\r\n className={\"form-control \" + this._errorClass(nameof(nivel.nombre) + etapaIndex + nivelIndex)}\r\n name={nameof(nivel.nombre) + etapaIndex + nivelIndex}\r\n id={\"nivel\" + etapaIndex + nivelIndex}\r\n value={nivel.nombre || \"\"}\r\n />\r\n {this._errorMessage(nameof(nivel.nombre) + etapaIndex + nivelIndex)}\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var nivel = state.editModel.etapas[etapaIndex].niveles[nivelIndex];\r\n nivel.identificadorTienda = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.etapa.identificadorTienda}\r\n type=\"text\"\r\n required={false}\r\n maxLength={255}\r\n className={\"form-control \" + this._errorClass(nameof(nivel.identificadorTienda))}\r\n name={nameof(nivel.identificadorTienda) + etapaIndex + nivelIndex}\r\n id={\"identificadorTienda\" + etapaIndex + nivelIndex}\r\n value={nivel.identificadorTienda || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var nivel = state.editModel.etapas[etapaIndex].niveles[nivelIndex];\r\n nivel.sincronizar = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, display: 'inline-block', marginRight: '5px' }}\r\n className={\"form-control \" + this._errorClass(nameof(nivel.identificadorTienda))}\r\n name={nameof(nivel.sincronizar) + etapaIndex + nivelIndex}\r\n id={\"sincronizar\" + etapaIndex + nivelIndex}\r\n checked={nivel.sincronizar || false}\r\n />\r\n \r\n {I18n.Strings.etapa.sincronizar}\r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var nivel = state.editModel.etapas[etapaIndex].niveles[nivelIndex];\r\n nivel.omitirNotificacionLicencias = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, display: 'inline-block', marginRight: '5px' }}\r\n className={\"form-control \" + this._errorClass(nameof(nivel.omitirNotificacionLicencias))}\r\n name={nameof(nivel.omitirNotificacionLicencias) + etapaIndex + nivelIndex}\r\n id={\"omitirNotificacionLicencias\" + etapaIndex + nivelIndex}\r\n checked={nivel.omitirNotificacionLicencias || false}\r\n />\r\n \r\n {I18n.Strings.nivelEducativo.omitirNotificacionLicencias}\r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var nivel = state.editModel.etapas[etapaIndex].niveles[nivelIndex];\r\n nivel.omitirNotificacionCredenciales = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, display: 'inline-block' }}\r\n className={\"form-control \" + this._errorClass(nameof(nivel.omitirNotificacionCredenciales))}\r\n name={nameof(nivel.omitirNotificacionCredenciales) + etapaIndex + nivelIndex}\r\n id={\"omitirNotificacionCredenciales\" + etapaIndex + nivelIndex}\r\n checked={nivel.omitirNotificacionCredenciales || false}\r\n />\r\n \r\n {I18n.Strings.nivelEducativo.omitirNotificacionCredenciales}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.showDeleteConfirmation = I18n.Strings.nivelEducativo.deleteNivelConfirmText(nivel.nombre);\r\n state.editModel.indexEtapaBorrar = etapaIndex;\r\n state.editModel.indexNivelBorrar = nivelIndex;\r\n\r\n this.setState(state);\r\n }}>\r\n \r\n \r\n \r\n {I18n.Strings.nivelEducativo.deleteNivel(nivel.nombre)}\r\n \r\n \r\n \r\n {nivel.id > 0 && \r\n \r\n {I18n.Strings.cursoEscolar.numeroContenidosDigitales(nivel.numContenidosDigitales)}
\r\n {I18n.Strings.cursoEscolar.numeroContenidosPapel(nivel.numContenidosPapel)}\r\n
\r\n }\r\n
\r\n {this.renderClases(etapaIndex, nivelIndex)}\r\n\r\n
\r\n })}\r\n
\r\n }\r\n\r\n protected renderClases(etapaIndex: number, cursoIndex: number): JSX.Element {\r\n return \r\n {this.state.editModel.etapas[etapaIndex].niveles[cursoIndex].clases != null && this.state.editModel.etapas[etapaIndex].niveles[cursoIndex].clases.map((grupo, claseIndex) => {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var grupo = state.editModel.etapas[etapaIndex].niveles[cursoIndex].clases[claseIndex];\r\n grupo.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.grupoClase.nombre}\r\n type=\"text\"\r\n required={true}\r\n disabled={grupo.nombre.indexOf('General') > 0 && claseIndex == 0}\r\n maxLength={255}\r\n className={\"form-control \" + this._errorClass(\"grupo\" + etapaIndex + cursoIndex + claseIndex)}\r\n name={\"grupo\" + etapaIndex + cursoIndex + claseIndex}\r\n id={\"grupo\" + etapaIndex + cursoIndex + claseIndex}\r\n value={grupo.nombre || \"\"}\r\n />\r\n {this._errorMessage(\"grupo\" + etapaIndex + cursoIndex + claseIndex)}\r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/* {*/}\r\n {/* var state = this._cloneStateForSetState();*/}\r\n {/* var grupo = state.editModel.etapas[etapaIndex].niveles[cursoIndex].clases[claseIndex];*/}\r\n {/* grupo.identificadorTienda = evt.target.value;*/}\r\n {/* this.setState(state);*/}\r\n {/* }}*/}\r\n {/* placeholder={I18n.Strings.etapa.identificadorTienda}*/}\r\n {/* type=\"text\"*/}\r\n {/* required={false}*/}\r\n {/* maxLength={255}*/}\r\n {/* className={\"form-control \" + this._errorClass(nameof(grupo.identificadorTienda))}*/}\r\n {/* name={\"identificadorTienda\" + etapaIndex + cursoIndex + claseIndex}*/}\r\n {/* id={\"identificadorTienda\" + etapaIndex + cursoIndex + claseIndex}*/}\r\n {/* value={grupo.identificadorTienda || \"\"}*/}\r\n {/* />*/}\r\n {/* {this._errorMessage(\"identificadorTienda\" + etapaIndex + cursoIndex + claseIndex)}*/}\r\n {/* */}\r\n {/**/}\r\n {/**/}\r\n {/* */}\r\n {/* {*/}\r\n {/* var state = this._cloneStateForSetState();*/}\r\n {/* var grupo = state.editModel.etapas[etapaIndex].niveles[cursoIndex].clases[claseIndex];*/}\r\n {/* grupo.sincronizar = evt.target.checked;*/}\r\n {/* this.setState(state);*/}\r\n {/* }}*/}\r\n {/* type=\"checkbox\"*/}\r\n {/* title={I18n.Strings.etapa.sincronizar}*/}\r\n {/* style={{ padding: 0 }}*/}\r\n {/* className={\"form-control \" + this._errorClass(nameof(grupo.identificadorTienda))}*/}\r\n {/* name={\"identificadorTienda\" + etapaIndex + cursoIndex + claseIndex}*/}\r\n {/* id={\"identificadorTienda\" + etapaIndex + cursoIndex + claseIndex}*/}\r\n {/* checked={grupo.sincronizar || false}*/}\r\n {/* />*/}\r\n {/* {this._errorMessage(\"identificadorTienda\" + etapaIndex + cursoIndex + claseIndex)}*/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n {grupo.id > 0 && \r\n {\r\n this.props.history.push(RouteHelper.editGrupoClase(grupo.id, this.state.editModel.id));\r\n }}>\r\n \r\n \r\n \r\n {I18n.Strings.edit}\r\n \r\n }\r\n {(grupo.nombre.indexOf('General') < 0) && \r\n {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.showDeleteConfirmation = I18n.Strings.grupoClase.deleteGrupoConfirmText(grupo.nombre);\r\n state.editModel.indexEtapaBorrar = etapaIndex;\r\n state.editModel.indexNivelBorrar = cursoIndex;\r\n state.editModel.indexClaseBorrar = claseIndex;\r\n\r\n this.setState(state);\r\n }}>\r\n \r\n \r\n \r\n {I18n.Strings.grupoClase.deleteGrupo(grupo.nombre)}\r\n \r\n }\r\n \r\n \r\n {grupo.id > 0 && \r\n \r\n {I18n.Strings.cursoEscolar.numeroMaterias(grupo.numMaterias)} - {I18n.Strings.cursoEscolar.numeroMatriculas(grupo.numMatriculas)}\r\n \r\n }\r\n \r\n\r\n \r\n })}\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n var nivel = state.editModel.etapas[etapaIndex].niveles[cursoIndex];\r\n if (nivel.clases == null) {\r\n nivel.clases = [];\r\n }\r\n nivel.clases.push({\r\n nombre: '',\r\n orden: 1,\r\n id: 0,\r\n } as GrupoClaseEditModel);\r\n this.setState(state);\r\n }}>\r\n \r\n {I18n.Strings.grupoClase.addGrupo}\r\n \r\n \r\n \r\n \r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editCursoEscolar(id);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listCursosEscolares();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0,\r\n nombre: \"\",\r\n activo: false,\r\n visibleAlumnos: false,\r\n fechaInicio: null,\r\n fechaInicioCampagna: null,\r\n fechaFinCampagna: null\r\n } as CursoEscolarEditModel;\r\n\r\n return Promise.resolve(model);\r\n }\r\n\r\n private _checkDuplicated(list: any[], name: string, validation: ModelValidation, fieldName: string, errorText: string): ModelValidation {\r\n var countfiltered = list.filter(function (element) {\r\n return element.nombre == name;\r\n }).length;\r\n\r\n if (countfiltered > 1) {\r\n validation.addError(fieldName, errorText);\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.editModel.nombre || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.nombre), I18n.Strings.validationErrors.valueRequired(I18n.Strings.cursoEscolar.nombre));\r\n }\r\n\r\n if (this.state.editModel.fechaInicio == null) {\r\n validation.addError(nameof(this.state.editModel.fechaInicio), I18n.Strings.validationErrors.valueRequired(I18n.Strings.cursoEscolar.fechaInicio));\r\n }\r\n\r\n if (this.state.editModel.fechaFin == null) {\r\n validation.addError(nameof(this.state.editModel.fechaFin), I18n.Strings.validationErrors.valueRequired(I18n.Strings.cursoEscolar.fechaFin));\r\n }\r\n\r\n if (ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal) {\r\n if (this.state.editModel.fechaInicioCampagna == null) {\r\n validation.addError(nameof(this.state.editModel.fechaInicioCampagna), I18n.Strings.validationErrors.valueRequired(I18n.Strings.cursoEscolar.fechaInicioCampagna));\r\n }\r\n\r\n if (this.state.editModel.fechaFinCampagna == null) {\r\n validation.addError(nameof(this.state.editModel.fechaFinCampagna), I18n.Strings.validationErrors.valueRequired(I18n.Strings.cursoEscolar.fechaFinCampagna));\r\n }\r\n\r\n if (this.state.editModel.fechaInicioCampagna != null && this.state.editModel.fechaFinCampagna != null && this.state.editModel.fechaInicioCampagna > this.state.editModel.fechaFinCampagna) {\r\n validation.addError(nameof(this.state.editModel.fechaFinCampagna), I18n.Strings.validationErrors.dateGreaterThan(I18n.Strings.cursoEscolar.fechaInicioCampagna, I18n.Strings.cursoEscolar.fechaFinCampagna));\r\n }\r\n }\r\n\r\n if (this.state.editModel.etapas != null) {\r\n this.state.editModel.etapas.map((etapa, index1) => {\r\n if ((etapa.nombre || \"\").trim().length == 0) {\r\n validation.addError(nameof(etapa.nombre) + index1, I18n.Strings.validationErrors.valueRequired(I18n.Strings.nivelEducativo.nombre));\r\n }\r\n else {\r\n validation = this._checkDuplicated(this.state.editModel.etapas, etapa.nombre, validation, nameof(etapa.nombre) + index1, I18n.Strings.validationErrors.valueDuplicated(I18n.Strings.grupoContenido.nombre));\r\n }\r\n\r\n if (etapa.niveles != null) {\r\n etapa.niveles.map((nivel, index2) => {\r\n if ((nivel.nombre || \"\").trim().length == 0) {\r\n validation.addError(nameof(nivel.nombre) + index1 + \"\" + index2, I18n.Strings.validationErrors.valueRequired(I18n.Strings.nivelEducativo.nombre));\r\n }\r\n else {\r\n validation = this._checkDuplicated(etapa.niveles, nivel.nombre, validation, nameof(nivel.nombre) + index1 + \"\" + index2, I18n.Strings.validationErrors.valueDuplicated(I18n.Strings.grupoContenido.nombre));\r\n }\r\n\r\n if (nivel.clases != null) {\r\n nivel.clases.map((grupo, index3) => {\r\n if ((grupo.nombre || \"\").trim().length == 0) {\r\n validation.addError(\"grupo\" + index1 + \"\" + index2 + \"\" + index3, I18n.Strings.validationErrors.valueRequired(I18n.Strings.grupoClase.nombre));\r\n }\r\n else {\r\n validation = this._checkDuplicated(nivel.clases, grupo.nombre, validation, \"grupo\" + + index1 + \"\" + index2 + \"\" + index3, I18n.Strings.validationErrors.valueDuplicated(I18n.Strings.grupoContenido.nombre));\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (!validation.isOk) {\r\n AlertsService.showAlertMessage(\"Hay errores de validación. Revise el formulario.\");\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected updateBreadCrumb(model: CursoEscolarEditModel) {\r\n var items = [\r\n {\r\n text: I18n.Strings.cursoEscolar.title,\r\n link: RouteHelper.listCursosEscolares()\r\n },\r\n {\r\n text: this.state.editModel.id == 0 ? I18n.Strings.addNew : this.state.editModel.nombre,\r\n link: \"\"\r\n },\r\n\r\n ] as LinkItem[];\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n}\r\n\r\nexport const Edit = withRouter(EditComp)","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Row, Col, FormGroup, Label, Input, Button } from \"reactstrap\";\r\nimport { YesNoDropDown } from \"../helpers/EnumDropDown\";\r\nimport { CursoEscolarService } from \"./CursoEscolarService\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { CursoEscolarListItem, CursoEscolarListItemPaginatedList, CursoEscolarSearch, YesNo } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\n\r\n\r\n\r\nclass IndexComp extends IndexPageBase\r\n{\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.cursoEscolar.nombre + \"...\"}\r\n type=\"text\"\r\n required={false}\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombre)}\r\n id={\"cursos\" + nameof(this.state.searchParams.nombre)}\r\n value={this.state.searchParams.nombre || \"\"}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.activo = value == YesNo.Yes.toString() ? true : value == YesNo.No.toString() ? false : null;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.visibleAlumnos = value == YesNo.Yes.toString() ? true : value == YesNo.No.toString() ? false : null;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n \r\n \r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new CursoEscolarService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nombre),\r\n title: I18n.Strings.cursoEscolar.nombre,\r\n renderField: (item) => item.nombre\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].activo),\r\n title: I18n.Strings.cursoEscolar.activo,\r\n renderField: (item) => I18n.Strings.formatBool(item.activo)\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].visibleAlumnos),\r\n title: I18n.Strings.cursoEscolar.visibleAlumnos,\r\n renderField: (item) => I18n.Strings.formatBool(item.visibleAlumnos)\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].contenidoAccesibleAlumnos),\r\n title: I18n.Strings.cursoEscolar.contenidoAccesibleAlumnos,\r\n renderField: (item) => I18n.Strings.formatBool(item.contenidoAccesibleAlumnos)\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].syncroPorDefecto),\r\n title: I18n.Strings.cursoEscolar.syncroPorDefecto,\r\n renderField: (item) => I18n.Strings.formatBool(item.syncroPorDefecto)\r\n }\r\n ];\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.cursoEscolar.title;\r\n }\r\n protected _getPageDescription(): string {\r\n return \"Aqui ves los cursos escolares del colegio\";\r\n }\r\n\r\n \r\n protected _getEditionItemUrl(item: CursoEscolarListItem): string {\r\n return RouteHelper.editCursoEscolar(item.id);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createCursoEscolar();\r\n }\r\n\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import React from \"react\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { GetLicenciasContenidosResponse, LicenciaContenidosItem } from \"../models/dataModels\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport LicenciaEnlace from \"./LicenciaEnlace\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\n\r\n\r\n\r\ninterface MisLicenciasState {\r\n loading: boolean;\r\n items: LicenciaContenidosItem[];\r\n}\r\n\r\nexport class MisLicenciasHome extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.readLicenses();\r\n }\r\n\r\n render() {\r\n\r\n return \r\n\r\n
\r\n {this.state.loading && }\r\n\r\n {this.state.items.length == 0 && \r\n El usuario no tiene licencias activas.\r\n }\r\n\r\n {this.state.items.length != 0 && \r\n
\r\n {this.state.items.map((item, index) => {\r\n return ;\r\n })}\r\n
\r\n
}\r\n
\r\n\r\n
\r\n }\r\n\r\n\r\n private readLicenses() {\r\n if (ClientContext.Current.cursoEscolarActivoId == null) {\r\n return;\r\n }\r\n\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/licencias/mias/${ClientContext.Current.cursoEscolarActivoId}`);\r\n prom.then((result: GetLicenciasContenidosResponse) => {\r\n this.setState({\r\n items: result.contenidos,\r\n loading: false\r\n });\r\n })\r\n .catch((error) => this.setState({}, () => AlertsService.showError(error)));\r\n\r\n }\r\n\r\n}","import React from \"react\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\n\r\nimport { GetLicenciasContenidosResponse, LicenciaContenidosItem } from \"../models/dataModels\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { Collapse } from \"reactstrap\";\r\nimport { DownIcon, UpIcon } from \"../utils/Icons\";\r\nimport { I18n } from \"../utils/I18n\";\r\n\r\ninterface ContenidoState {\r\n loading: boolean;\r\n items: LicenciaContenidosItem[];\r\n toggle: boolean;\r\n}\r\n\r\nexport class ComprasPosibles extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n toggle: true,\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.readComprasPosibles();\r\n }\r\n\r\n render() {\r\n\r\n return \r\n\r\n
{\r\n this.setState({ toggle: !this.state.toggle });\r\n }}>\r\n

Licencias de mi curso no compradas  \r\n {this.state.toggle && }\r\n {!this.state.toggle && }\r\n

\r\n
\r\n\r\n {this.state.loading && }\r\n\r\n {!this.state.loading && \r\n\r\n
\r\n\r\n {this.state.items.length == 0 && \r\n No hay licencias pendientes asociadas al curso del usuario.\r\n }\r\n\r\n {this.state.items.length != 0 && \r\n
\r\n {this.state.items.map((item, index) => {\r\n return
\r\n
\r\n
\r\n {(item.caratula || \"\").length !== 0 &&\r\n
\r\n {item.nombre}\r\n
\r\n }\r\n
\r\n
\r\n
\r\n {item.nombre}\r\n
\r\n
\r\n {I18n.Strings.getEnumText(`Editorial.${item.editorial}`)}\r\n
\r\n {item.clase}\r\n
\r\n {/* */}\r\n
\r\n
\r\n
;\r\n })}\r\n\r\n
\r\n
}\r\n
\r\n
\r\n }\r\n\r\n\r\n
\r\n }\r\n\r\n\r\n private readComprasPosibles() {\r\n if (ClientContext.Current.cursoEscolarActivoId == null) {\r\n return;\r\n }\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(\r\n `intranet/licencias/comprasPosibles/${ClientContext.Current.cursoEscolarActivoId}`\r\n );\r\n\r\n prom.then((result: GetLicenciasContenidosResponse) => {\r\n this.setState({\r\n items: result.contenidos,\r\n loading: false\r\n });\r\n })\r\n .catch((error) => this.setState({}, () => AlertsService.showError(error)));\r\n\r\n }\r\n\r\n}","import { MiPerfilEditModel, ModelValidationResult } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\n\r\nexport class MiPerfilService {\r\n getMyEditModel(): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/miPerfil/getMyEditModel`);\r\n return prom;\r\n }\r\n\r\n validate(model: MiPerfilEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfil/validate`, model);\r\n return prom;\r\n }\r\n\r\n update(model: MiPerfilEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/miPerfil/update`, model);\r\n return prom;\r\n }\r\n}","import * as React from \"react\";\r\n\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Row, Col, FormGroup, Label, FormFeedback } from \"reactstrap\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { MiPerfilEditModel } from \"../../models/dataModels\";\r\nimport { SaveIcon } from \"../../utils/Icons\";\r\nimport { NivelEducativoDropDown } from \"../../cursoEscolar/NivelEducativoDropDown\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\nimport { Loading } from \"../../utils/Loading\";\r\nimport { cloneDeep } from \"lodash-es\";\r\nimport { MiPerfilService } from \"../MiPerfilService\";\r\nimport { ClasesPosiblesDropDown } from \"../../clases/alumno/ClasesPosiblesDropDown\";\r\n\r\ninterface SetClaseActualState {\r\n loading: boolean;\r\n validationResult: ModelValidation;\r\n editModel: MiPerfilEditModel;\r\n}\r\n\r\ninterface SetClaseActualProps {\r\n onSaved: (claseId: number) => void;\r\n}\r\n\r\nexport class SetClaseActualModal extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n validationResult: new ModelValidation(),\r\n editModel: null\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n var service = new MiPerfilService();\r\n service.getMyEditModel()\r\n .then(myData => {\r\n myData.claseActualId = null;\r\n this.setState({\r\n loading: false,\r\n editModel: myData,\r\n });\r\n });\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n if (this.state.editModel.claseActualId == null) {\r\n validation.addError(\"grupoClase\", I18n.Strings.validationErrors.valueRequired(I18n.Strings.matriculas.nombreClase));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected _validateState(): Promise {\r\n\r\n var validationProm = Promise.resolve(this._validateModelLocal())\r\n .then(localValidationResult => {\r\n return localValidationResult;\r\n });\r\n\r\n return validationProm;\r\n }\r\n\r\n protected _validateAndSubmit(): void {\r\n this._validateState()\r\n .then(validationResultTemp => {\r\n\r\n if (validationResultTemp == null) {\r\n alert(\"error validation\");\r\n return false;\r\n }\r\n var validationResult = new ModelValidation();\r\n validationResult.load(validationResultTemp);\r\n\r\n if (validationResult.isOk) {\r\n console.info(\"La validación es correcta\");\r\n this.setState({ loading: true });\r\n this._saveData();\r\n }\r\n else {\r\n console.log(\"Validación no correcta\");\r\n console.warn(validationResult);\r\n this.setState({ validationResult: validationResult });\r\n }\r\n });\r\n }\r\n\r\n protected _saveData(): void {\r\n var srv = new MiPerfilService();\r\n\r\n srv.update(this.state.editModel).then(ret => {\r\n this.setState({ loading: false }, () => {\r\n this.props.onSaved(ret.claseActualId);\r\n });\r\n });\r\n }\r\n\r\n protected _cloneStateForSetState(): SetClaseActualState {\r\n return cloneDeep(this.state) as SetClaseActualState;\r\n }\r\n\r\n protected _errorMessage(fieldName: string): JSX.Element {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n return \r\n {this.state.editModel != null && \r\n \r\n {I18n.Strings.setClaseActual.titulo}\r\n \r\n \r\n \r\n \r\n {I18n.Strings.setClaseActual.texto}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseActualId = id;\r\n state.editModel.claseActual = nombre;\r\n this.setState(state);\r\n }}\r\n />\r\n {this._errorMessage(\"grupoClase\")}\r\n \r\n \r\n \r\n \r\n \r\n {!this.state.loading && }\r\n {this.state.loading && }\r\n \r\n }\r\n ;\r\n }\r\n};","import React from \"react\";\r\nimport { AccesoDirectoHomeItem } from \"../models/dataModels\";\r\n\r\n\r\ninterface AccesoDirectoEnlaceProps {\r\n accesoDirecto: AccesoDirectoHomeItem;\r\n}\r\n\r\n\r\nexport default class AccesoDirectoEnlace extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render() {\r\n\r\n return \r\n {this.props.accesoDirecto.titulo}\r\n ;\r\n }\r\n\r\n}","import React from \"react\";\r\nimport { AccesoDirectoHomeItem } from \"../models/dataModels\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport AccesoDirectoEnlace from \"./AccesoDirectoEnlace\";\r\n\r\n\r\n\r\ninterface AccesosDirectosState {\r\n items: AccesoDirectoHomeItem[];\r\n}\r\n\r\nexport class AccesosDirectosHome extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n items: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.readAccesosDirectos();\r\n }\r\n\r\n render() {\r\n if ((this.state.items || []).length == 0) {\r\n return null;\r\n }\r\n\r\n return \r\n {this.state.items.map((item, index) => {\r\n return
\r\n \r\n
;\r\n })}\r\n\r\n
\r\n }\r\n\r\n\r\n private readAccesosDirectos() {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/colegio/accesosDirectos`);\r\n\r\n prom.then((accesosDirectos: AccesoDirectoHomeItem[]) => {\r\n this.setState({ items: accesosDirectos });\r\n })\r\n .catch((error: Error) => () => AlertsService.showError(error));\r\n\r\n }\r\n\r\n}","import { cloneDeep, differenceWith, isEqual } from \"lodash-es\";\r\nimport * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Button, Card, CardBody, Col, Collapse, Modal, ModalBody, ModalFooter, ModalHeader, Row, UncontrolledCollapse } from \"reactstrap\";\r\nimport { AliasEditorialEditTabs } from \"../aliasEditoriales/Edit\";\r\nimport { ContenidoEditTabs } from \"../contenidos/maestros/Edit\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { LicenciaContenidosEditTabs } from \"../licenciasColegio/Edit\";\r\nimport {\r\n ColegioDiagnosticoResult,\r\n EstadoNotificacion, NotificacionListItem, NotificacionMarcarLeidaModel, TipoAcceso, TipoUsuario, TipoUsuarioContenido\r\n} from \"../models/dataModels\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { CancelIcon, CheckCircleIcon, CheckIcon, RefreshIcon, SearchIcon, SpinnerIcon } from \"../utils/Icons\";\r\nimport { Loading } from \"../utils/Loading\";\r\n\r\n\r\ninterface NotificationIconProps {\r\n\r\n};\r\n\r\ninterface DiagnosticoState {\r\n\r\n showModal: boolean;\r\n diagnostico: ColegioDiagnosticoResult,\r\n loading: boolean;\r\n}\r\n\r\n\r\n/**\r\n * Pinta el paginador de los listados\r\n */\r\nexport class DiagnosticoComp extends React.Component {\r\n\r\n public constructor(props: NotificationIconProps) {\r\n\r\n super(props);\r\n\r\n\r\n this.state = {\r\n loading: false,\r\n showModal: false,\r\n diagnostico: null\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n\r\n }\r\n\r\n private runDiagnostics() {\r\n\r\n this.setState({ loading: true }, () => {\r\n // Realizo la lectura de las notificaciones\r\n var service = new DiagnosticoService();\r\n\r\n service.RunDiagnostics()\r\n .then(diagResult => {\r\n this.setState({\r\n loading: false,\r\n showModal: true,\r\n diagnostico: diagResult\r\n });\r\n })\r\n .catch(error => this.setState({ loading: false }, () => AlertsService.showError(error)));\r\n });\r\n }\r\n\r\n\r\n\r\n protected _cloneStateForSetState(): DiagnosticoState {\r\n return cloneDeep(this.state) as DiagnosticoState;\r\n }\r\n\r\n\r\n public render(): JSX.Element {\r\n\r\n\r\n return \r\n {this.state.loading && }\r\n
\r\n \r\n
\r\n\r\n {this.state.showModal && this.state.diagnostico != null &&\r\n { this.setState({ showModal: !this.state.showModal }); }}\r\n >\r\n this.setState({ showModal: false })} />}>\r\n {I18n.Strings.diagnostico.title}\r\n\r\n \r\n \r\n\r\n
\r\n

{I18n.Strings.diagnostico.alertasColegio}

\r\n {this._pintarProblemasCursoEscolar()}\r\n {this._pintarMateriasNombreMal()}\r\n {this._pintarEditorialesSinCredenciales()}\r\n\r\n {this._pintarLicenciasSinCredenciales()}\r\n\r\n {this._pintarMatriculasSinLicencias()}\r\n {ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal &&\r\n \r\n

{I18n.Strings.diagnostico.alertasPlataforma}

\r\n {this._pintarAliasEditorialSinCompletar()}\r\n {this._pintarContenidosSinEditorial()}\r\n
\r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n }\r\n\r\n
;\r\n }\r\n\r\n private _pintarProblemasCursoEscolar(): JSX.Element {\r\n\r\n var diagnostico = this.state.diagnostico.cursosEscolaresDiag;\r\n\r\n var showError = (isKO: boolean, msg: string) => {\r\n if (!isKO) return null;\r\n\r\n return \r\n \r\n \r\n {msg}\r\n \r\n ;\r\n };\r\n\r\n return \r\n {showError(diagnostico.multiplesActivos, I18n.Strings.diagnostico.cursoEscolarMasDeUnActivo)}\r\n {showError(diagnostico.noHayActivos, I18n.Strings.diagnostico.cursoEscolarNoHayActivo)}\r\n {showError(diagnostico.activosSinAccesoAlumnos, I18n.Strings.diagnostico.cursoEscolarActivoSinAlumnos)}\r\n ;\r\n }\r\n\r\n private _pintarMatriculasSinLicencias(): JSX.Element {\r\n\r\n return this._pintarBloque(\"aliasMatriculasSinLicencias\",\r\n I18n.Strings.diagnostico.aliasEditorialOK,\r\n this.state.diagnostico.matriculasSinLicencia,\r\n (items) => I18n.Strings.diagnostico.matriculasSinLicenciasKO(items.length),\r\n (item) => \r\n {item.usuario} ({I18n.Strings.getEnumText(`TipoUsuarioContenido.${item.rol}`) }) - {item.nivelEducativo} - {item.claseMateria}\r\n \r\n );\r\n }\r\n\r\n private _pintarAliasEditorialSinCompletar(): JSX.Element {\r\n\r\n return this._pintarBloque(\"aliasEditorialSinCompletar\",\r\n I18n.Strings.diagnostico.aliasEditorialOK,\r\n this.state.diagnostico.aliasEditorialesSinCompletar,\r\n (items) => I18n.Strings.diagnostico.aliasEditorialKO(items.length),\r\n (item) => \r\n {item.alias}\r\n \r\n );\r\n }\r\n\r\n private _pintarContenidosSinEditorial(): JSX.Element {\r\n\r\n return this._pintarBloque(\"contenidosSinEditorial\",\r\n I18n.Strings.diagnostico.contenidosEditorialOK,\r\n this.state.diagnostico.contenidosSinEditorial,\r\n (items) => I18n.Strings.diagnostico.contenidosEditorialKO(items.length),\r\n (item) => \r\n {item.nombre}\r\n \r\n );\r\n }\r\n\r\n private _pintarMateriasNombreMal(): JSX.Element {\r\n\r\n return this._pintarBloque(\"clasesMateriasNombreMal\",\r\n I18n.Strings.diagnostico.materiasNombreOK,\r\n this.state.diagnostico.clasesMateriasNombreMal,\r\n (items) => I18n.Strings.diagnostico.materiasNombreKO(items.length),\r\n (item) => \r\n {item.clase} - {item.claseMateria}\r\n \r\n );\r\n }\r\n\r\n private _pintarLicenciasSinCredenciales(): JSX.Element {\r\n\r\n return this._pintarBloque(\"licenciasSinCredenciales\",\r\n I18n.Strings.diagnostico.licenciasSinCredencialesOK,\r\n this.state.diagnostico.licenciasSinConfigurar,\r\n (items) => I18n.Strings.diagnostico.licenciasSinCredencialesKO(items.length),\r\n (item) => \r\n {item.usuario} ({I18n.Strings.getEnumText(`TipoUsuarioContenido.${item.rol}`)}) - {item.contenido}\r\n \r\n );\r\n }\r\n\r\n private _pintarEditorialesSinCredenciales(): JSX.Element {\r\n\r\n return this._pintarBloque(\"editorialesSinCredenciales\",\r\n I18n.Strings.diagnostico.credencialesEditorialesOK,\r\n this.state.diagnostico.editorialesSinCredenciales,\r\n (items) => I18n.Strings.diagnostico.credencialesEditorialesKO(items.length),\r\n (item) => {\r\n var titulo = I18n.Strings.getEnumText(`Editorial.${item.editorial}`) + \" - \" + I18n.Strings.getEnumText(`TipoAcceso.${item.tipoAcceso}`);\r\n if (item.id == null) {\r\n\r\n return \r\n {titulo}\r\n ;\r\n }\r\n else {\r\n return \r\n {titulo}\r\n ;\r\n\r\n }\r\n }\r\n );\r\n }\r\n\r\n private _pintarBloque(\r\n id: string,\r\n textoOK: string,\r\n items: TItem[],\r\n fnPintaItemsHeader: (items: TItem[]) => string,\r\n fnPintaItem: (item: TItem) => JSX.Element): JSX.Element {\r\n\r\n if ((items || []).length == 0) {\r\n return \r\n \r\n \r\n {textoOK}\r\n \r\n ;\r\n }\r\n return \r\n \r\n \r\n \r\n {fnPintaItemsHeader(items)}\r\n \r\n \r\n \r\n \r\n
    \r\n {items.map((cm, key) => {\r\n return
  • {fnPintaItem(cm)}
  • ;\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
;\r\n\r\n }\r\n\r\n};\r\nexport const Diagnostico = withRouter(DiagnosticoComp)\r\n\r\nclass DiagnosticoService {\r\n\r\n public RunDiagnostics(): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(\"intranet/utils/diagnostico\");\r\n return prom;\r\n }\r\n}","import React from \"react\";\r\n\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { MisLicenciasHome } from \"./MisLicenciasHome\";\r\nimport { ComprasPosibles } from \"./ComprasPosibles\";\r\nimport { Alert, Button, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport { ClaseListItem, SortDirection, TipoUsuario } from \"../models/dataModels\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { SetClaseActualModal } from \"../miPerfil/alumno/SetClaseActualModal\";\r\nimport { MisClasesService } from \"../clases/MisClasesService\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { AccesosDirectosHome } from \"./AccesosDIrectosHome\";\r\nimport { Diagnostico } from \"./Diagnosticos\";\r\nimport { NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { ImpersonationService } from \"../login/Impersonate\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { AuthService } from \"../services/AuthService\";\r\nimport { Cipher } from \"crypto\";\r\n\r\ninterface HomeState {\r\n loading: boolean;\r\n showSetClaseModal: boolean;\r\n}\r\n\r\nexport default class Home extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: false,\r\n showSetClaseModal: false\r\n };\r\n\r\n NavigationHelper.clearItems();\r\n\r\n }\r\n\r\n componentDidMount() {\r\n\r\n if (!ClientContext.Current.estoyImpersonado &&\r\n ClientContext.Current.tipoUsuario == TipoUsuario.Alumno &&\r\n ClientContext.Current.estoyClaseGeneral &&\r\n ClientContext.Current.cursoEscolarActivoId != null) {\r\n\r\n var item = {} as ClaseListItem;\r\n\r\n var misClasesService = new MisClasesService();\r\n var prom = misClasesService.search({\r\n colegioId: ClientContext.Current.colegioId,\r\n profesorId: null,\r\n alumnoId: ClientContext.Current.usuarioId,\r\n posibles: true,\r\n nivelEducativoId: null,\r\n noTotalCount: true,\r\n currentPage: 0,\r\n rowsPerPage: -1,\r\n orderByColumn: nameof(item.clase),\r\n orderMode: SortDirection.Asc,\r\n bypassAutomaticSort: false,\r\n currentPageRows: -1\r\n });\r\n\r\n prom\r\n .then(clasesRes => {\r\n this.setState({\r\n loading: false,\r\n showSetClaseModal: clasesRes.items.length == 0 || clasesRes.items.some((el) => el.clase.indexOf('General') < 0)\r\n });\r\n })\r\n .catch((error) => this.setState({ loading: false }, () => AlertsService.showError(error)));\r\n }\r\n }\r\n\r\n render(): JSX.Element {\r\n \r\n var usuarioActual = ClientContext.Current;\r\n\r\n if (usuarioActual.cursoEscolarActivoId == null) {\r\n\r\n let closeModal = () => {\r\n if (usuarioActual.estoyImpersonado) {\r\n var impersonationService = new ImpersonationService();\r\n impersonationService.impersonate(0);\r\n }\r\n else {\r\n let authService = new AuthService();\r\n authService.logout();\r\n }\r\n }\r\n\r\n return \r\n \r\n closeModal()} />}\r\n >\r\n {I18n.Strings.home.noHayCursoEscolarActivoTitle}\r\n \r\n \r\n

{I18n.Strings.home.noHayCursoEscolarActivoBody}

\r\n
\r\n \r\n \r\n \r\n
\r\n
;\r\n }\r\n\r\n var modalErrorNombreApellidos = <>;\r\n if (\r\n (usuarioActual.nombre == null || usuarioActual.nombre.indexOf(\"@\") >= 0)\r\n ||\r\n ((usuarioActual.apellidos || \"\").length == 0)\r\n ) {\r\n\r\n var perfilUrl = null;\r\n switch (usuarioActual.tipoUsuario) {\r\n case TipoUsuario.Alumno:\r\n perfilUrl = RouteHelper.myProfileStudent();\r\n break;\r\n case TipoUsuario.Profesor:\r\n perfilUrl = RouteHelper.myProfileTeacher();\r\n break;\r\n case TipoUsuario.AdminColegio:\r\n case TipoUsuario.AdminGlobal:\r\n perfilUrl = RouteHelper.myProfileAdmin();\r\n break;\r\n }\r\n\r\n if (perfilUrl != null) {\r\n\r\n modalErrorNombreApellidos = \r\n \r\n Datos del usuario incompletos o erroneos\r\n \r\n \r\n

\r\n Parece que su nombre o apellidos no están correctamente especificados, por favor corríjalos en su perfil.\r\n

\r\n
\r\n \r\n \r\n Ir a mi perfil\r\n \r\n \r\n
;\r\n }\r\n }\r\n\r\n return \r\n
\r\n \r\n

\r\n \r\n {I18n.Strings.home.saludo(usuarioActual.nombre)}\r\n \r\n

\r\n

\r\n {I18n.Strings.home.subtituloPrincipal(usuarioActual.nombreColegio)}\r\n

\r\n\r\n\r\n
\r\n\r\n {modalErrorNombreApellidos}\r\n\r\n {\r\n this.state.showSetClaseModal &&\r\n {\r\n ClientContext.Current.claseActualId = claseId;\r\n ClientContext.Current.estoyClaseGeneral = false;\r\n this.setState({ showSetClaseModal: false });\r\n }}\r\n />\r\n }\r\n\r\n {(usuarioActual.tipoUsuario || TipoUsuario.None) == TipoUsuario.None &&\r\n \r\n {I18n.Strings.home.errorUsuarioSinTipo}\r\n \r\n }\r\n\r\n {usuarioActual.tipoUsuario == TipoUsuario.Alumno && usuarioActual.claseActualId == null &&\r\n \r\n
\r\n
\r\n }\r\n\r\n {(usuarioActual.tipoUsuario == TipoUsuario.AdminGlobal || usuarioActual.tipoUsuario == TipoUsuario.AdminColegio) && }\r\n\r\n \r\n\r\n {usuarioActual.tipoUsuario == TipoUsuario.Alumno && }\r\n\r\n
\r\n }\r\n\r\n\r\n}","import React from \"react\";\r\n\r\n\r\n\r\nexport default class NotFound extends React.Component {\r\n\r\n render(): JSX.Element {\r\n\r\n\r\n\r\n return \r\n\r\n

\r\n \r\n Oops - Esta página no existe!\r\n \r\n

\r\n\r\n
\r\n }\r\n\r\n\r\n}","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Editorial, LicenciaContenidosEditModel, ModelValidationResult, OrigenLicencia, ClaseMateriaListItem, TipoGrafico, TipoAcceso, TipoUsuario, TipoUsuarioContenido } from \"../../models/dataModels\";\r\nimport { GenericEditState } from \"../../utils/base/GenericEditState\";\r\nimport { EditPageBase } from \"../../utils/base/EditPageBase\";\r\nimport { IServiceForEdit } from \"../../utils/base/BaseServices\";\r\nimport { LicenciasColegioService } from \"../LicenciasColegioService\";\r\nimport { TipoAccesoDropDown } from \"../TipoAccesoDropDown\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { Col, FormGroup, Input, Label, Nav, NavItem, NavLink, Row, TabContent, TabPane } from \"reactstrap\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { ClaseMateriaDropDown } from \"../../cursoEscolar/materia/ClaseMateriaDropDown\";\r\nimport { AccesosContenido } from \"../../accesos/AccesosContenido\";\r\nimport { ContenidosPicker } from \"../../contenidos/colegio/Picker\";\r\nimport { CredencialesEdit } from \"../CredencialesEdit\";\r\nimport { NivelEducativoDropDown } from \"../../cursoEscolar/NivelEducativoDropDown\";\r\nimport { NavigationHelper } from \"../../utils/base/Breadcrumb\";\r\n\r\nexport enum LicenciaUsuarioEditTabs {\r\n Datos = \"Datos\",\r\n Accesos = \"Accesos\",\r\n}\r\n\r\ninterface LicenciaContenidosEditModelEx extends LicenciaContenidosEditModel {\r\n}\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nueva asignación de licencia de profesor\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: LicenciaContenidosEditModelEx): string {\r\n return `Ver asignación de licencia de profesor`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new LicenciasColegioService() as any as IServiceForEdit;\r\n }\r\n\r\n private _paintMainForm(): JSX.Element {\r\n\r\n return \r\n \r\n \r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseId = id;\r\n state.editModel.clase = nombre;\r\n state.editModel.claseMateria = null;\r\n state.editModel.claseMateriaId = null;\r\n state.editModel.editorial = null;\r\n state.editModel.contenidoId = null;\r\n state.editModel.contenido = null;\r\n\r\n this.setState(state);\r\n }}\r\n />\r\n {/* {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseId = claseId;\r\n state.editModel.clase = clase;\r\n state.editModel.claseMateria = null;\r\n state.editModel.claseMateriaId = null;\r\n state.editModel.editorial = null;\r\n this.setState(state);\r\n }}\r\n />\r\n\r\n {this._errorMessage(nameof(this.state.editModel.claseId))}*/}\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseMateriaId = materiaId;\r\n state.editModel.claseMateria = materia;\r\n //state.editModel.editorial = item == null || item.data == null ? null : (item.data as ClaseMateriaListItem).editorial;\r\n\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n item.id}\r\n getNameFromItem={(item) => {\r\n var enumName = I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n return `${enumName} - ${item.nombre}`;\r\n }}\r\n cursoEscolarId={ClientContext.Current.cursoEscolarActivoId}\r\n nivelEducativoId={null}\r\n claseId={this.state.editModel.claseId}\r\n excluirLicenciasUsuarioId={this.state.editModel.usuarioId}\r\n mostrarNiveles={true}\r\n mostrarSoloColegio={false}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.editModel.contenidoId))}\r\n onSelected={(contenidoId, contenido, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.contenidoId = contenidoId;\r\n state.editModel.contenido = contenido;\r\n state.editModel.editorial = item == null ? null : item.editorial;\r\n\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (tipoLicencia != '' && tipoLicencia != null) {\r\n newState.editModel.tipoAcceso = tipoLicencia as TipoAcceso;\r\n }\r\n else {\r\n newState.editModel.tipoAcceso = null;\r\n }\r\n newState.editModel.credenciales = \"\";\r\n this.setState(newState);\r\n }}\r\n value={this.state.editModel.tipoAcceso}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.tipoAcceso))}\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.credenciales = value;\r\n this.setState(state);\r\n }}\r\n disabled={this.props.viewMode}\r\n name={nameof(this.state.editModel.credenciales)}\r\n value={this.state.editModel.credenciales || \"\"}\r\n key={this.state.editModel.editorial + \" \" + this.state.editModel.tipoAcceso}\r\n formValidation={this.state.validationResult}\r\n required={true}\r\n tipoAcceso={this.state.editModel.tipoAcceso}\r\n editorial={this.state.editModel.editorial}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n if ((this.state.editModel.id || 0) == 0) {\r\n return this._paintMainForm();\r\n }\r\n\r\n return \r\n \r\n\r\n \r\n \r\n {this._paintMainForm()}\r\n \r\n\r\n \r\n {this.state.activeTab == LicenciaUsuarioEditTabs.Accesos &&\r\n \r\n

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n\r\n
\r\n
;\r\n\r\n }\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.detailMyLicenses(id);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listMyLicenses();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0,\r\n origen: OrigenLicencia.Administrador,\r\n tipoUsuario: TipoUsuarioContenido.Profesor,\r\n usuarioId: ClientContext.Current.usuarioId\r\n } as LicenciaContenidosEditModel;\r\n\r\n return Promise.resolve(model);\r\n }\r\n\r\n\r\n\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if (this.state.editModel.claseId == null) {\r\n validation.addError(nameof(this.state.editModel.claseId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.grupoClase.grupoClase));\r\n }\r\n\r\n if (this.state.editModel.claseMateriaId == null) {\r\n validation.addError(nameof(this.state.editModel.claseMateriaId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.grupoContenido.materia));\r\n }\r\n\r\n if ((this.state.editModel.credenciales || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.credenciales), I18n.Strings.validationErrors.valueRequired(I18n.Strings.licenciasContenido.credenciales));\r\n }\r\n\r\n if (this.state.editModel.tipoAcceso == null) {\r\n validation.addError(nameof(this.state.editModel.tipoAcceso), I18n.Strings.validationErrors.valueRequired(I18n.Strings.licenciasContenido.tipoAcceso));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected updateBreadCrumb(model: LicenciaContenidosEditModel) {\r\n var items = [{\r\n text: I18n.Strings.misLicencias.title,\r\n link: RouteHelper.listMyLicenses()\r\n }];\r\n if (model.id == 0) {\r\n items.push({\r\n text: I18n.Strings.addNew,\r\n link: \"\"\r\n });\r\n }\r\n else {\r\n items.push({\r\n text: I18n.Strings.misLicencias.edit,\r\n link: \"\"\r\n });\r\n }\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n\r\n}\r\n\r\nexport const Edit = withRouter(EditComp)","import React from \"react\";\r\nimport { Col, FormGroup, Input, Label } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { CursoEscolarDropDown } from \"../cursoEscolar/CursoEscolarDropDown\";\r\nimport { EditorialDropDown } from \"../helpers/EnumDropDown\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { CursoEscolarListItem, Editorial, LicenciasContenidosListItem, LicenciasContenidosListItemPaginatedList, LicenciasContenidosSearch, TipoUsuario } from \"../models/dataModels\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { LicenciasColegioService } from \"./LicenciasColegioService\";\r\n\r\n\r\n\r\nexport interface MisLicenciasSearchEx extends LicenciasContenidosSearch {\r\n cursoEscolar: string;\r\n}\r\n\r\nexport class MisLicencias extends IndexPageBase\r\n{\r\n\r\n protected _getInitialSearchParams(): MisLicenciasSearchEx {\r\n\r\n var cursoEscolarActivo = ClientContext.Current.cursosEscolares.find(c => c.id == ClientContext.Current.cursoEscolarActivoId);\r\n\r\n return {\r\n ...{} as MisLicenciasSearchEx,\r\n usuarioId: ClientContext.Current.usuarioId,\r\n cursoEscolar: cursoEscolarActivo.nombre,\r\n cursoEscolarId: cursoEscolarActivo.id,\r\n orderByColumn: nameof(this.state.searchResults.items[0].contenido)\r\n }\r\n }\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n\r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.editorial = value == \"\" ? null : value as Editorial;\r\n this.setState(newState);\r\n }}\r\n />\r\n\r\n \r\n\r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.cursoEscolarId = id;\r\n state.searchParams.cursoEscolar = nombre;\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.contenidoNombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.contenidoNombre)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.contenidoNombre)}\r\n value={this.state.searchParams.contenidoNombre || \"\"}\r\n />\r\n\r\n \r\n \r\n\r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new LicenciasColegioService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n\r\n var columnas = [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].cursoEscolar),\r\n title: I18n.Strings.licenciasContenido.cursoEscolar,\r\n renderField: (item: LicenciasContenidosListItem) => item.cursoEscolar,\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].contenido),\r\n title: I18n.Strings.licenciasContenido.contenido,\r\n renderField: (item: LicenciasContenidosListItem) => {\r\n var titulo = item.contenido;\r\n\r\n if ((item.contenidoId || 0) == 0) {\r\n titulo += \" (Papel)\";\r\n }\r\n\r\n return titulo;\r\n },\r\n colMdWidth: ClientContext.Current.tipoUsuario == TipoUsuario.Alumno ? 4 : 3\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].clase),\r\n title: I18n.Strings.licenciasContenido.grupoClase,\r\n renderField: (item: LicenciasContenidosListItem) => item.clase,\r\n colMdWidth: 3\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].credenciales),\r\n title: I18n.Strings.licenciasContenido.credenciales,\r\n renderField: (item: LicenciasContenidosListItem) => item.credenciales,\r\n colMdWidth: 2\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].editorial),\r\n title: I18n.Strings.licenciasContenido.editorial,\r\n renderField: (item: LicenciasContenidosListItem) => {\r\n\r\n return I18n.Strings.getEnumText(`Editorial.${item.editorial}`);\r\n },\r\n colMdWidth: 2\r\n }\r\n\r\n ];\r\n\r\n if (ClientContext.Current.tipoUsuario == TipoUsuario.Alumno) {\r\n columnas = columnas.filter(col => col.fieldName != nameof(this.state.searchResults.items[0].credenciales));\r\n }\r\n\r\n return columnas;\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return \"Mis licencias\"\r\n }\r\n protected _getPageDescription(): string {\r\n return \"Aquí puedes ver todas las licencias que tienes para tu curso.\";\r\n }\r\n\r\n protected hideGridButtonsOverride(item: LicenciasContenidosListItem) {\r\n if (item == null) return true;\r\n\r\n return (item.contenidoId || 0) == 0;\r\n }\r\n\r\n protected _getEditionItemUrl(item: LicenciasContenidosListItem): string {\r\n\r\n\r\n if (item.contenidoId == null) {\r\n //AlertsService.showAlertMessage(\"El contenido es en formato papel, acción no disponible\");\r\n return null;\r\n }\r\n\r\n return RouteHelper.detailMyLicenses(item.id);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createMyLicenses();\r\n }\r\n}","import React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { ComponentBase } from \"../../utils/base/ComponentBase\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\nimport { MiColegioEditModel, TipoUsuario } from \"../../models/dataModels\";\r\nimport { MiPerfilColegioService } from \"./MiPerfilColegioService\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter, TabContent, TabPane, NavItem, Nav, NavLink, Col, FormGroup, Input, Label, Row, FormFeedback, Button } from \"reactstrap\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { DocumentUpload } from \"../../helpers/DocumentUpload\";\r\nimport { SyncIcon, SaveIcon } from \"../../utils/Icons\";\r\nimport { AlertsService } from \"../../utils/AlertsService\";\r\nimport { Loading } from \"../../utils/Loading\";\r\nimport { Index as CursosEscolares } from \"../../cursoEscolar/Index\";\r\nimport { Index as Credenciales } from \"../../credenciales/Index\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { CustomDatePicker } from \"../../helpers/CustomDatePicker\";\r\n\r\nimport { NavigationHelper } from \"../../utils/base/Breadcrumb\";\r\nimport { DropDownButton } from \"../../helpers/DropDownButton\";\r\nimport { ComunidadesAutonomasDropDown } from \"../../comunidadesAutonomas/ComunidadesAutonomasDropDown\";\r\nimport { SeleccionCampannaModal } from \"../../utils/SeleccionCampannaModal\";\r\nimport { YesNoCancelModal } from \"../../utils/YesNoCancelModal\";\r\n\r\n\r\ninterface MyProfileState {\r\n showLoading: boolean;\r\n editModel: MiColegioEditModel;\r\n validationResult: ModelValidation;\r\n searchValidationResult: ModelValidation;\r\n activeTab: ColegioEditTabs;\r\n showPedidosMagentoPopUp: boolean;\r\n\r\n // La fecha desde la que se hara la sincronización\r\n syncFechaDesde: Date;\r\n\r\n pedidosNumPedidos: string;\r\n pedidosIsbns: string;\r\n pedidosSoloTienda: boolean;\r\n\r\n tipoSyncPedidos: TipoSyncPedidos;\r\n\r\n campannaToSyncId: number;\r\n campannaToSync: string;\r\n\r\n mostrarDialogoImportacionEstructura: boolean;\r\n\r\n tipoSyncOdoo: TipoSyncOdoo;\r\n mostrarDialogoSyncCompletaOdoo: boolean;\r\n}\r\n\r\nenum TipoSyncPedidos {\r\n PorFecha,\r\n PorNumPedidos,\r\n PorIsbn\r\n}\r\n\r\nexport enum ColegioEditTabs {\r\n Datos = \"datos\",\r\n CursoEscolar = \"curso-escolar\",\r\n Credenciales = \"credenciales\",\r\n}\r\n\r\nenum TipoSyncOdoo {\r\n Maestros = 1,\r\n MaestrosYProds = 2,\r\n Pedidos = 3\r\n}\r\n\r\nexport class EditComp extends ComponentBase {\r\n\r\n\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n let datosCursoEscolar = ClientContext.Current.cursosEscolares.find(ce => ce.id == ClientContext.Current.cursoEscolarActivoId);\r\n\r\n var start = new Date();\r\n start.setDate(start.getDate() - 1);\r\n\r\n this.state = {\r\n editModel: null,\r\n showLoading: true,\r\n validationResult: new ModelValidation(),\r\n searchValidationResult: new ModelValidation(),\r\n activeTab: ColegioEditTabs.Datos,\r\n showPedidosMagentoPopUp: false,\r\n syncFechaDesde: start,\r\n pedidosNumPedidos: '',\r\n pedidosIsbns: '',\r\n pedidosSoloTienda: false,\r\n tipoSyncPedidos: TipoSyncPedidos.PorFecha,\r\n mostrarDialogoImportacionEstructura: false,\r\n campannaToSyncId: datosCursoEscolar.campannaId,\r\n campannaToSync: datosCursoEscolar.campanna,\r\n \r\n tipoSyncOdoo: null,\r\n mostrarDialogoSyncCompletaOdoo: false\r\n };\r\n\r\n\r\n }\r\n\r\n protected updateBreadCrumb(model: MiColegioEditModel) {\r\n var items = [{\r\n text: I18n.Strings.schoolProfile,\r\n link: RouteHelper.myProfileSchool(ColegioEditTabs.Datos)\r\n }];\r\n\r\n switch (this.state.activeTab) {\r\n case ColegioEditTabs.Datos: {\r\n items.push({ text: I18n.Strings.colegio.tabDatos, link: RouteHelper.myProfileSchool(ColegioEditTabs.Datos) });\r\n break;\r\n }\r\n case ColegioEditTabs.Credenciales: {\r\n items.push({ text: I18n.Strings.colegio.tabCredenciales, link: RouteHelper.myProfileSchool(ColegioEditTabs.Credenciales) });\r\n break;\r\n }\r\n case ColegioEditTabs.CursoEscolar: {\r\n items.push({ text: I18n.Strings.colegio.tabCursoEscolar, link: RouteHelper.myProfileSchool(ColegioEditTabs.CursoEscolar) });\r\n break;\r\n }\r\n }\r\n NavigationHelper.setBreadcrumbItems(items);\r\n }\r\n\r\n componentDidMount() {\r\n var service = new MiPerfilColegioService();\r\n service.getMyEditModel()\r\n .then(myData => {\r\n this.setState({\r\n showLoading: false,\r\n editModel: myData,\r\n activeTab: this.props.match.params.tab\r\n }, () => this.updateBreadCrumb(this.state.editModel));\r\n\r\n })\r\n .catch((err) => {\r\n this.setState({ showLoading: false }, () => AlertsService.showError(err))\r\n });\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.editModel.nombre || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.nombre), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.nombre));\r\n }\r\n\r\n if (this.state.editModel.comunidadAutonomaId == null) {\r\n validation.addError(nameof(this.state.editModel.comunidadAutonomaId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegio.comunidadAutonoma));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected _validateState(): Promise {\r\n\r\n var validationProm = Promise.resolve(this._validateModelLocal())\r\n .then(localValidationResult => {\r\n if (localValidationResult.isOk) {\r\n var service = new MiPerfilColegioService();\r\n\r\n // Si en local ha ido bien, probamos en remoto, si no, no lo intentamos\r\n return service.validate(this.state.editModel)\r\n .then(serverValResult => {\r\n var validation = new ModelValidation();\r\n validation.load(serverValResult);\r\n return validation;\r\n });\r\n }\r\n else {\r\n return localValidationResult;\r\n }\r\n })\r\n .catch((reason) => {\r\n AlertsService.showError(reason);\r\n return reason;\r\n });\r\n\r\n return validationProm;\r\n }\r\n\r\n protected _validateAndSubmit(): void {\r\n this._validateState()\r\n .then(validationResultTemp => {\r\n\r\n if (validationResultTemp == null) {\r\n alert(\"error validation\");\r\n return false;\r\n }\r\n var validationResult = new ModelValidation();\r\n validationResult.load(validationResultTemp);\r\n\r\n if (validationResult.isOk) {\r\n console.info(\"La validación es correcta\");\r\n\r\n var state = this._cloneStateForSetState();\r\n state.showLoading = true;\r\n state.validationResult = validationResult;\r\n this.setState(state, () => {\r\n var service = new MiPerfilColegioService();\r\n service.update(this.state.editModel)\r\n .then((data) => {\r\n this.setState({\r\n showLoading: false,\r\n }, () => {\r\n ClientContext.Current.nombreColegio = this.state.editModel.nombre;\r\n if (data.error !== null) {\r\n AlertsService.showErrorMessage(data.error);\r\n }\r\n else {\r\n AlertsService.showSuccessMessage(I18n.Strings.savedOk);\r\n }\r\n\r\n });\r\n\r\n return;\r\n })\r\n .catch((reason) => AlertsService.showError(reason));\r\n });\r\n }\r\n else {\r\n console.log(\"Validación no correcta\");\r\n console.warn(validationResult);\r\n this._processValidationError(validationResult);\r\n }\r\n })\r\n .catch((reason) => AlertsService.showError(reason));\r\n }\r\n\r\n\r\n protected _processValidationError(validation: ModelValidation): void {\r\n var newState = this._cloneStateForSetState();\r\n newState.validationResult = validation;\r\n this.setState(newState);\r\n }\r\n\r\n protected _errorMessage(fieldName: string): JSX.Element {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n protected _searchErrorMessage(fieldName: string): JSX.Element {\r\n var error = this.state.searchValidationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n protected _errorClass(fieldName: string): string {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return \"is-invalid\";\r\n }\r\n return null;\r\n }\r\n\r\n protected SyncOdoo() {\r\n\r\n var service = new MiPerfilColegioService();\r\n var promSync = this.state.tipoSyncOdoo == TipoSyncOdoo.Pedidos\r\n ? service.syncOdooPedidos(this.state.syncFechaDesde)\r\n : service.syncOdooMasterData(this.state.tipoSyncOdoo == TipoSyncOdoo.MaestrosYProds, this.state.syncFechaDesde);\r\n\r\n promSync.then(ret => {\r\n this.setState({ showLoading: false, mostrarDialogoSyncCompletaOdoo: false }, () => {\r\n AlertsService.showSuccessMessage(I18n.Strings.notificaciones.procesoEnCola);\r\n });\r\n })\r\n .catch((err) => this.setState(\r\n { showLoading: false, mostrarDialogoSyncCompletaOdoo: false },\r\n () => AlertsService.showError(err))\r\n );\r\n }\r\n\r\n protected renderPedidosMagentoPopUp(): JSX.Element {\r\n var closeButton = ;\r\n\r\n return this.state.showPedidosMagentoPopUp && \r\n \r\n {I18n.Strings.pedidos.sync}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ tipoSyncPedidos: TipoSyncPedidos.PorFecha, pedidosNumPedidos: null, pedidosIsbns: null })\r\n }}\r\n />\r\n \r\n {\r\n this.setState({ syncFechaDesde: val })\r\n }}\r\n />\r\n {this._searchErrorMessage(nameof(this.state.syncFechaDesde))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ tipoSyncPedidos: TipoSyncPedidos.PorNumPedidos, pedidosIsbns: null })\r\n }}\r\n />\r\n \r\n {\r\n this.setState({ pedidosNumPedidos: evt.target.value })\r\n }}\r\n type=\"textarea\"\r\n required={true}\r\n readOnly={this.state.tipoSyncPedidos != TipoSyncPedidos.PorNumPedidos}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.pedidosNumPedidos))}\r\n name={nameof(this.state.pedidosNumPedidos)}\r\n id={\"usuarios\" + nameof(this.state.pedidosNumPedidos)}\r\n value={this.state.pedidosNumPedidos || \"\"}\r\n onSelect={(evt) => {\r\n this.setState({ tipoSyncPedidos: TipoSyncPedidos.PorNumPedidos, pedidosIsbns: null });\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.pedidosNumPedidos))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ tipoSyncPedidos: TipoSyncPedidos.PorIsbn, pedidosNumPedidos: null })\r\n }}\r\n />\r\n \r\n {\r\n this.setState({ pedidosIsbns: evt.target.value })\r\n }}\r\n type=\"textarea\"\r\n required={true}\r\n readOnly={this.state.tipoSyncPedidos != TipoSyncPedidos.PorIsbn}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.pedidosIsbns))}\r\n name={nameof(this.state.pedidosIsbns)}\r\n id={\"usuarios\" + nameof(this.state.pedidosIsbns)}\r\n value={this.state.pedidosIsbns || \"\"}\r\n onSelect={(evt) => {\r\n this.setState({ tipoSyncPedidos: TipoSyncPedidos.PorIsbn, pedidosNumPedidos: null });\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.pedidosIsbns))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.pedidosSoloTienda = evt.target.checked;\r\n this.setState(newState);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0, marginLeft: 10 }}\r\n id={nameof(this.state.pedidosSoloTienda)}\r\n checked={this.state.pedidosSoloTienda}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n }\r\n\r\n\r\n protected renderSincronizacionOdooPopUp(): JSX.Element {\r\n\r\n var closeButton = ;\r\n\r\n return this.state.mostrarDialogoSyncCompletaOdoo && \r\n \r\n {this.state.tipoSyncOdoo == TipoSyncOdoo.Maestros && <>Sincr. maestros de Odoo}\r\n {this.state.tipoSyncOdoo == TipoSyncOdoo.MaestrosYProds && <>Sincr. maestros y prods. de Odoo}\r\n {this.state.tipoSyncOdoo == TipoSyncOdoo.Pedidos && <>Sincr. pedidos de Odoo}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var fechaActual = new Date();\r\n fechaActual.setDate(fechaActual.getDate() - 7);\r\n this.setState({\r\n syncFechaDesde: fechaActual\r\n })\r\n }}\r\n />\r\n \r\n {\r\n this.setState({ syncFechaDesde: val })\r\n }}\r\n />\r\n {this._searchErrorMessage(nameof(this.state.syncFechaDesde))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ syncFechaDesde: null })\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n }\r\n\r\n\r\n protected _validarSyncPedidosMagentoForm(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if (this.state.syncFechaDesde == null) {\r\n validation.addError(nameof(this.state.syncFechaDesde), I18n.Strings.validationErrors.valueRequired(I18n.Strings.estadisticas.fechaDesde));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n private _toggleDialogoImportacion() {\r\n var state = this._cloneStateForSetState();\r\n state.mostrarDialogoImportacionEstructura = !state.mostrarDialogoImportacionEstructura;\r\n this.setState(state);\r\n }\r\n\r\n render() {\r\n var botones = this._getBotones();\r\n\r\n return \r\n\r\n\r\n\r\n {this.state.mostrarDialogoImportacionEstructura &&\r\n {\r\n\r\n var newState = this._cloneStateForSetState();\r\n newState.showLoading = true;\r\n newState.campannaToSyncId = campannaId;\r\n newState.campannaToSync = campanna;\r\n newState.mostrarDialogoImportacionEstructura = false;\r\n this.setState(newState, () => {\r\n var service = new MiPerfilColegioService();\r\n\r\n let prom = service.syncEstructuraColegio(newState.campannaToSyncId, false);\r\n prom.then(ret => {\r\n this.setState({ showLoading: false }, () => {\r\n AlertsService.showSuccessMessage(I18n.Strings.notificaciones.procesoEnCola);\r\n });\r\n });\r\n\r\n });\r\n }}\r\n toggleDialogoImportacion={() => this._toggleDialogoImportacion()}\r\n />\r\n }\r\n\r\n
\r\n

\r\n Perfil del colegio\r\n

\r\n
\r\n {this.renderPedidosMagentoPopUp()}\r\n {this.renderSincronizacionOdooPopUp()}\r\n \r\n \r\n \r\n {this._paintMainForm()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
;\r\n };\r\n\r\n protected _getBotones(): JSX.Element[] {\r\n var botones = [];\r\n\r\n botones.push();\r\n\r\n botones.push();\r\n\r\n if (ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal) {\r\n\r\n botones.push();\r\n\r\n\r\n botones.push();\r\n\r\n botones.push();\r\n\r\n botones.push();\r\n\r\n botones.push();\r\n\r\n botones.push();\r\n\r\n botones.push();\r\n\r\n botones.push();\r\n }\r\n\r\n return botones;\r\n }\r\n\r\n private _paintMainForm(): JSX.Element {\r\n return \r\n {this.state.showLoading && }\r\n {this.state.editModel != null && \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.nombre))}\r\n name={nameof(this.state.editModel.nombre)}\r\n id={\"usuarios\" + nameof(this.state.editModel.nombre)}\r\n value={this.state.editModel.nombre || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.nombre))}\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.comunidadAutonomaId = comunidadId;\r\n state.editModel.comunidadAutonoma = comunidadNombre;\r\n this.setState(state);\r\n }}\r\n id={nameof(this.state.editModel.comunidadAutonomaId)}\r\n selectedItemValue={this.state.editModel.comunidadAutonomaId || 0}\r\n selectedItemText={this.state.editModel.comunidadAutonoma || \"\"}\r\n emptyText=\"\"\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.comunidadAutonomaId))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.codMinisterio = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={50}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.codMinisterio))}\r\n name={nameof(this.state.editModel.codMinisterio)}\r\n id={\"usuarios\" + nameof(this.state.editModel.codMinisterio)}\r\n value={this.state.editModel.codMinisterio || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.codMinisterio))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.identificadorTienda = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n readOnly={true}\r\n maxLength={255}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.identificadorTienda))}\r\n name={nameof(this.state.editModel.identificadorTienda)}\r\n id={\"identificadorTienda\"}\r\n value={this.state.editModel.identificadorTienda || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.identificadorCategoriaTienda = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n readOnly={true}\r\n maxLength={255}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.identificadorCategoriaTienda))}\r\n name={nameof(this.state.editModel.identificadorCategoriaTienda)}\r\n id={\"identificadorCategoriaTienda\"}\r\n value={this.state.editModel.identificadorCategoriaTienda || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.sincronizar = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.identificadorTienda))}\r\n name={nameof(this.state.editModel.sincronizar)}\r\n id={nameof(this.state.editModel.sincronizar)}\r\n checked={this.state.editModel.sincronizar || false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.sincronizarLicencias = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.sincronizarLicencias))}\r\n name={nameof(this.state.editModel.sincronizarLicencias)}\r\n id={nameof(this.state.editModel.sincronizarLicencias)}\r\n checked={this.state.editModel.sincronizarLicencias || false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nombreColegioPedidosTienda = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={150}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.nombreColegioPedidosTienda))}\r\n name={nameof(this.state.editModel.nombreColegioPedidosTienda)}\r\n id={\"nombreColegioPedidosTienda\"}\r\n value={this.state.editModel.nombreColegioPedidosTienda || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.dominiosAutorizados = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={500}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.dominiosAutorizados))}\r\n name={nameof(this.state.editModel.dominiosAutorizados)}\r\n id={\"dominiosAutorizados\"}\r\n value={this.state.editModel.dominiosAutorizados || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.allowGoogleLogin = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.allowGoogleLogin))}\r\n name={nameof(this.state.editModel.allowGoogleLogin)}\r\n id={\"allowGoogleLogin\"}\r\n checked={this.state.editModel.allowGoogleLogin || false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.allowMicrosoftLogin = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.allowMicrosoftLogin))}\r\n name={nameof(this.state.editModel.allowMicrosoftLogin)}\r\n id={\"allowMicrosoftLogin\"}\r\n checked={this.state.editModel.allowMicrosoftLogin || false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.allowCustomLogin = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.allowCustomLogin))}\r\n name={nameof(this.state.editModel.allowCustomLogin)}\r\n id={\"allowCustomLogin\"}\r\n checked={this.state.editModel.allowCustomLogin || false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.comunicarAsignacionLicencias = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.comunicarAsignacionLicencias))}\r\n name={nameof(this.state.editModel.comunicarAsignacionLicencias)}\r\n id={\"comunicarAsignacionLicencias\"}\r\n checked={this.state.editModel.comunicarAsignacionLicencias || false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.comunicarCredencialesLicenciasAlAsignar = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.comunicarCredencialesLicenciasAlAsignar))}\r\n name={nameof(this.state.editModel.comunicarCredencialesLicenciasAlAsignar)}\r\n id={\"comunicarCredencialesLicenciasAlAsignar\"}\r\n checked={this.state.editModel.comunicarCredencialesLicenciasAlAsignar || false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.emailColegio = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.emailColegio))}\r\n name={nameof(this.state.editModel.emailColegio)}\r\n id={\"usuarios\" + nameof(this.state.editModel.emailColegio)}\r\n value={this.state.editModel.emailColegio || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.emailColegio))}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.editModel.foto != null &&
\r\n\r\n
\r\n }\r\n
\r\n {this.state.editModel.id > 0 &&
\r\n {\r\n this._updateStateValue(data.documentUrl, nameof.full(this.state.editModel.foto, 2));\r\n ClientContext.Current.logoColegioUrl = this.state.editModel.foto;\r\n }}\r\n />\r\n
}\r\n
\r\n \r\n
}\r\n
;\r\n }\r\n}\r\n\r\nexport const Edit = withRouter(EditComp)","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { RouteComponentProps } from \"react-router\";\r\n\r\ninterface SectionProps {\r\n userContext: ClientContext,\r\n children: any;\r\n}\r\n\r\n\r\nexport const AuthenticatedSection = withRouter((props: SectionProps & RouteComponentProps) => {\r\n if (props.userContext != null) {\r\n return {props.children};\r\n }\r\n\r\n return null;\r\n});\r\n\r\n//export const AuthenticatedSection(props) = withRouter(AuthenticatedSectionFn)(props);\r\n\r\n\r\nexport const UnAuthenticatedSection = withRouter((props: SectionProps & RouteComponentProps) => {\r\n\r\n if (props.userContext == null) {\r\n return {props.children};\r\n }\r\n\r\n return ;\r\n})\r\n//export const UnAuthenticatedSection = withRouter(UnAuthenticatedSectionFn);","import React from \"react\";\r\n\r\nimport { Row, Col } from \"reactstrap\";\r\n\r\nimport { withRouter, RouteComponentProps } from \"react-router-dom\";\r\n\r\nimport { AuthService } from '../services/AuthService';\r\n\r\ninterface LoginProps extends RouteComponentProps {\r\n\r\n}\r\ninterface LoginState {\r\n\r\n}\r\n\r\nclass LoginComp extends React.Component {\r\n\r\n public authService: AuthService;\r\n private shouldCancel: boolean;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.authService = new AuthService();\r\n this.state = { user: {}, api: {} };\r\n this.shouldCancel = false;\r\n }\r\n\r\n public componentDidMount() {\r\n this.getUser();\r\n }\r\n\r\n public login = () => {\r\n this.authService.login();\r\n };\r\n\r\n\r\n public componentWillUnmount() {\r\n this.shouldCancel = true;\r\n }\r\n\r\n public renewToken = () => {\r\n this.authService\r\n .renewToken()\r\n .then(user => { \r\n this.getUser();\r\n });\r\n };\r\n\r\n public logout = () => {\r\n this.authService.logout();\r\n };\r\n\r\n public getUser = () => {\r\n this.authService.getUser().then(user => {\r\n\r\n if (!this.shouldCancel) {\r\n this.setState({ user });\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n return \r\n\r\n

Esto es el login!

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n }\r\n\r\n\r\n\r\n private continueAfterSuccessfulLogin() {\r\n this.props.history.push(\"/home\");\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport const Login = withRouter(LoginComp);\r\n","import React from \"react\";\r\n\r\nimport { Row, Col } from \"reactstrap\";\r\nimport { withRouter, RouteComponentProps } from \"react-router-dom\";\r\nimport { debug } from \"console\";\r\n\r\n\r\ninterface LoginProps extends RouteComponentProps {\r\n\r\n}\r\ninterface LoginState {\r\n\r\n}\r\n\r\nclass LoginUserErrorComp extends React.Component {\r\n\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {};\r\n }\r\n\r\n render() {\r\n return \r\n
\r\n

Error de acceso

\r\n

Parece que ha habido un error cuando trataba de entrar con el usuario:

\r\n
\r\n
\r\n\r\n }\r\n}\r\n\r\nexport const LoginUserError = withRouter(LoginUserErrorComp);\r\n","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { MatriculaEditModel, TipoUsuario, TipoUsuarioContenido } from \"../models/dataModels\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { MatriculasService } from \"./MatriculasService\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { Col, FormGroup, Input, Label, Row } from \"reactstrap\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { ClaseMateriaDropDown } from \"../cursoEscolar/materia/ClaseMateriaDropDown\";\r\nimport { ColegioUsuariosPicker } from \"../colegioUsuarios/Picker\";\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { TipoUsuarioContenidoDropDown } from \"../helpers/EnumDropDown\";\r\nimport { ColegioUsuariosService } from \"../colegioUsuarios/ColegioUsuariosService\";\r\nimport { Index as LicenciasIndex, LicenciasContenidosSearchEx } from \"../licenciasColegio/Index\";\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nueva matrícula\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: MatriculaEditModel): string {\r\n return `Editar matrícula`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new MatriculasService();\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n return \r\n \r\n \r\n\r\n item.id}\r\n getNameFromItem={(item) => item.nombre}\r\n\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.editModel.usuarioId))}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.usuarioId = usuarioId;\r\n state.editModel.usuario = usuario;\r\n this.setState(state);\r\n }}\r\n />\r\n\r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.editModel.rol = value as TipoUsuarioContenido;\r\n }\r\n else {\r\n newState.editModel.rol = null;\r\n }\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseId = id;\r\n state.editModel.clase = nombre;\r\n state.editModel.materia = null;\r\n state.editModel.claseMateriaId = null;\r\n this.setState(state);\r\n }}\r\n />\r\n\r\n {this._errorMessage(nameof(this.state.editModel.claseId))}\r\n \r\n \r\n\r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseMateriaId = materiaId;\r\n state.editModel.materia = materia;\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.subgrupo = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.subgrupo))}\r\n name={nameof(this.state.editModel.subgrupo)}\r\n id={\"usuarios\" + nameof(this.state.editModel.subgrupo)}\r\n value={this.state.editModel.subgrupo || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.subgrupo))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n {this.state.editModel.id != 0 &&\r\n \r\n \r\n \r\n

Licencias

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n\r\n
;\r\n }\r\n\r\n private GetClaseMateriaDropDownText(editModel: MatriculaEditModel): string {\r\n if ((editModel.claseMateriaId || 0) == 0) {\r\n return \"\";\r\n }\r\n return editModel.materia;\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editMatricula(id, this.props.match.params.usuarioId);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listMatriculas(this.props.match.params.usuarioId);\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0,\r\n colegioId: 0,\r\n clase: \"\",\r\n claseId: null,\r\n rol: null,\r\n usuario: \"\",\r\n usuarioId: null\r\n } as MatriculaEditModel;\r\n\r\n if (this.props.match.params.usuarioId != null) {\r\n var colegioUsuariosSrv = new ColegioUsuariosService();\r\n var promData = colegioUsuariosSrv.getBasicById(this.props.match.params.usuarioId);\r\n\r\n var modelWithDataProm = promData.then(data => {\r\n model.editModel.usuario = data.nombre;\r\n model.editModel.usuarioId = data.id;\r\n \r\n model.editModel.claseId = data.claseActualId;\r\n model.editModel.clase = data.claseActual;\r\n\r\n switch (data.tipoUsuario) {\r\n case TipoUsuario.Alumno:\r\n model.editModel.rol = TipoUsuarioContenido.Alumno;\r\n break;\r\n case TipoUsuario.Profesor:\r\n model.editModel.rol = TipoUsuarioContenido.Profesor;\r\n break;\r\n }\r\n\r\n return model;\r\n });\r\n\r\n return modelWithDataProm;\r\n }\r\n else {\r\n\r\n return Promise.resolve(model);\r\n }\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if (this.state.editModel.usuarioId == null) {\r\n validation.addError(nameof(this.state.editModel.usuarioId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.matriculas.nombreUsuario));\r\n }\r\n\r\n if (this.state.editModel.claseId == null) {\r\n validation.addError(nameof(this.state.editModel.claseId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.matriculas.nombreClase));\r\n }\r\n\r\n if (this.state.editModel.claseMateriaId == null) {\r\n validation.addError(nameof(this.state.editModel.claseMateriaId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.matriculas.nombreMateria));\r\n }\r\n\r\n if (this.state.editModel.rol == null) {\r\n validation.addError(nameof(this.state.editModel.rol), I18n.Strings.validationErrors.valueRequired(I18n.Strings.matriculas.rol));\r\n }\r\n\r\n return validation;\r\n }\r\n}\r\n\r\nexport const Edit = withRouter(EditComp);","import React from \"react\";\r\nimport { Button, Col, FormFeedback, FormGroup, Input, Label, Row } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { DocumentUpload } from \"../../helpers/DocumentUpload\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { MiPerfilEditModel } from \"../../models/dataModels\";\r\nimport { AlertsService } from \"../../utils/AlertsService\";\r\nimport { NavigationHelper } from \"../../utils/base/Breadcrumb\";\r\nimport { ComponentBase } from \"../../utils/base/ComponentBase\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { SaveIcon } from \"../../utils/Icons\";\r\nimport { MiPerfilService } from \"../MiPerfilService\";\r\n\r\n\r\ninterface MyProfileState {\r\n showLoading: boolean;\r\n editModel: MiPerfilEditModel;\r\n validationResult: ModelValidation;\r\n}\r\n\r\nexport class Edit extends ComponentBase {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n editModel: null,\r\n showLoading: true,\r\n validationResult: new ModelValidation(),\r\n };\r\n\r\n NavigationHelper.setBreadcrumbItems([\r\n {\r\n text: I18n.Strings.myProfile,\r\n link: \"\"\r\n }\r\n ]);\r\n \r\n }\r\n\r\n componentDidMount() {\r\n var service = new MiPerfilService();\r\n service.getMyEditModel()\r\n .then(myData => {\r\n this.setState({\r\n showLoading: false,\r\n editModel: myData,\r\n });\r\n });\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.editModel.nombre || \"\").trim().length === 0) {\r\n validation.addError(nameof(this.state.editModel.nombre), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.nombre));\r\n }\r\n\r\n if ((this.state.editModel.apellidos || \"\").trim().length === 0) {\r\n validation.addError(nameof(this.state.editModel.apellidos), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.apellidos));\r\n }\r\n\r\n if ((this.state.editModel.password || \"\").trim().length > 0) {\r\n if ((this.state.editModel.password || \"\").trim().length < 8) {\r\n validation.addError(nameof(this.state.editModel.password), I18n.Strings.validationErrors.stringLengthGreaterThan(I18n.Strings.colegioUsuarios.password, 8));\r\n }\r\n if ((this.state.editModel.passwordConfirmar || \"\").trim().length === 0) {\r\n validation.addError(nameof(this.state.editModel.passwordConfirmar), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.passwordConfirmar));\r\n }\r\n if ((this.state.editModel.passwordConfirmar || \"\").trim().length > 0 && this.state.editModel.passwordConfirmar != this.state.editModel.password) {\r\n validation.addError(nameof(this.state.editModel.passwordConfirmar), I18n.Strings.validationErrors.valuesDontMatch(I18n.Strings.colegioUsuarios.password, I18n.Strings.colegioUsuarios.passwordConfirmar));\r\n }\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected _validateState(): Promise {\r\n\r\n var validationProm = Promise.resolve(this._validateModelLocal())\r\n .then(localValidationResult => {\r\n if (localValidationResult.isOk) {\r\n var service = new MiPerfilService();\r\n\r\n // Si en local ha ido bien, probamos en remoto, si no, no lo intentamos\r\n return service.validate(this.state.editModel)\r\n .then(serverValResult => {\r\n var validation = new ModelValidation();\r\n validation.load(serverValResult);\r\n return validation;\r\n });\r\n }\r\n else {\r\n return localValidationResult;\r\n }\r\n })\r\n .catch((reason) => {\r\n AlertsService.showError(reason);\r\n return reason;\r\n });\r\n\r\n return validationProm;\r\n }\r\n\r\n protected _validateAndSubmit(): void {\r\n this._validateState()\r\n .then(validationResultTemp => {\r\n\r\n if (validationResultTemp == null) {\r\n alert(\"error validation\");\r\n return false;\r\n }\r\n var validationResult = new ModelValidation();\r\n validationResult.load(validationResultTemp);\r\n\r\n if (validationResult.isOk) {\r\n console.info(\"La validación es correcta\");\r\n\r\n var state = this._cloneStateForSetState();\r\n state.showLoading = true;\r\n state.validationResult = validationResult;\r\n this.setState(state, () => {\r\n var service = new MiPerfilService();\r\n service.update(this.state.editModel)\r\n .then((data) => {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.password = null;\r\n state.editModel.passwordConfirmar = null;\r\n state.editModel.passwordError = data.passwordError;\r\n state.showLoading = false;\r\n this.setState(state);\r\n\r\n ClientContext.Current.nombre = this.state.editModel.nombre;\r\n ClientContext.Current.apellidos = this.state.editModel.apellidos;\r\n AlertsService.showSuccessMessage(I18n.Strings.savedOk);\r\n\r\n return;\r\n })\r\n .catch((reason) => AlertsService.showError(reason));\r\n });\r\n }\r\n else {\r\n console.log(\"Validación no correcta\");\r\n console.warn(validationResult);\r\n this._processValidationError(validationResult);\r\n }\r\n })\r\n .catch((reason) => AlertsService.showError(reason));\r\n }\r\n\r\n\r\n protected _processValidationError(validation: ModelValidation): void {\r\n var newState = this._cloneStateForSetState();\r\n newState.validationResult = validation;\r\n this.setState(newState);\r\n }\r\n\r\n protected _errorMessage(fieldName: string): JSX.Element {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n protected _errorClass(fieldName: string): string {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return \"is-invalid\";\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n return \r\n

Mi Perfil

\r\n {this.state.editModel != null && \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.nombre))}\r\n name={nameof(this.state.editModel.nombre)}\r\n id={\"usuarios\" + nameof(this.state.editModel.nombre)}\r\n value={this.state.editModel.nombre || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.nombre))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.apellidos = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.apellidos))}\r\n name={nameof(this.state.editModel.apellidos)}\r\n id={\"usuarios\" + nameof(this.state.editModel.apellidos)}\r\n value={this.state.editModel.apellidos || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.apellidos))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this._errorMessage(nameof(this.state.editModel.login))}\r\n \r\n \r\n \r\n {this.state.editModel.allowCustomLogin && \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.password = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={20}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.password)}\r\n id={\"usuarios\" + nameof(this.state.editModel.password)}\r\n value={this.state.editModel.password || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.password))}\r\n {(this.state.editModel.passwordError || \"\").trim().length > 0 && {this.state.editModel.passwordError}}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.passwordConfirmar = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={20}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.passwordConfirmar)}\r\n id={\"usuarios\" + nameof(this.state.editModel.passwordConfirmar)}\r\n value={this.state.editModel.passwordConfirmar || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.passwordConfirmar))}\r\n \r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n {`${this.state.editModel.nombre}\r\n {this.state.editModel.foto != null &&
}\r\n
\r\n {this.state.editModel.id > 0 &&
\r\n {\r\n this._updateStateValue(data.documentUrl, nameof.full(this.state.editModel.foto, 2));\r\n ClientContext.Current.imagenPerfilUrl = this.state.editModel.foto;\r\n }}\r\n />\r\n
}\r\n
\r\n \r\n
}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n };\r\n}","import React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { ComponentBase } from \"../../utils/base/ComponentBase\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\nimport { MiPerfilEditModel } from \"../../models/dataModels\";\r\nimport { MiPerfilService } from \"../MiPerfilService\";\r\nimport { Col, FormGroup, Input, Label, Row, FormFeedback, Button } from \"reactstrap\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { DocumentUpload } from \"../../helpers/DocumentUpload\";\r\nimport { CancelIcon, SaveIcon } from \"../../utils/Icons\";\r\nimport { AlertsService } from \"../../utils/AlertsService\";\r\nimport { NivelEducativoDropDown } from \"../../cursoEscolar/NivelEducativoDropDown\";\r\nimport { NavigationHelper } from \"../../utils/base/Breadcrumb\";\r\n\r\ninterface MyProfileState {\r\n showLoading: boolean;\r\n editModel: MiPerfilEditModel;\r\n validationResult: ModelValidation;\r\n}\r\n\r\nexport class Edit extends ComponentBase {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n editModel: null,\r\n showLoading: true,\r\n validationResult: new ModelValidation(),\r\n };\r\n NavigationHelper.setBreadcrumbItems([\r\n {\r\n text: I18n.Strings.myProfile,\r\n link: \"\"\r\n }\r\n ]);\r\n }\r\n\r\n componentDidMount() {\r\n var service = new MiPerfilService();\r\n service.getMyEditModel()\r\n .then(myData => {\r\n this.setState({\r\n showLoading: false,\r\n editModel: myData,\r\n });\r\n });\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.editModel.nombre || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.nombre), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.nombre));\r\n }\r\n else if ((this.state.editModel.nombre || \"\").trim().indexOf(\"@\") >= 0) {\r\n validation.addError(nameof(this.state.editModel.nombre), \"El nombre no es correcto\");\r\n }\r\n\r\n if ((this.state.editModel.apellidos || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.apellidos), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.apellidos));\r\n }\r\n\r\n if (this.state.editModel.claseActualId == null) {\r\n validation.addError(nameof(this.state.editModel.claseActualId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.grupoClase));\r\n }\r\n\r\n if ((this.state.editModel.password || \"\").trim().length > 0) {\r\n if ((this.state.editModel.password || \"\").trim().length < 8) {\r\n validation.addError(nameof(this.state.editModel.password), I18n.Strings.validationErrors.stringLengthGreaterThan(I18n.Strings.colegioUsuarios.password, 8));\r\n }\r\n if ((this.state.editModel.passwordConfirmar || \"\").trim().length === 0) {\r\n validation.addError(nameof(this.state.editModel.passwordConfirmar), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.passwordConfirmar));\r\n }\r\n if ((this.state.editModel.passwordConfirmar || \"\").trim().length > 0 && this.state.editModel.passwordConfirmar != this.state.editModel.password) {\r\n validation.addError(nameof(this.state.editModel.passwordConfirmar), I18n.Strings.validationErrors.valuesDontMatch(I18n.Strings.colegioUsuarios.password, I18n.Strings.colegioUsuarios.passwordConfirmar));\r\n }\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected _validateState(): Promise {\r\n\r\n var validationProm = Promise.resolve(this._validateModelLocal())\r\n .then(localValidationResult => {\r\n if (localValidationResult.isOk) {\r\n var service = new MiPerfilService();\r\n\r\n // Si en local ha ido bien, probamos en remoto, si no, no lo intentamos\r\n return service.validate(this.state.editModel)\r\n .then(serverValResult => {\r\n var validation = new ModelValidation();\r\n validation.load(serverValResult);\r\n return validation;\r\n });\r\n }\r\n else {\r\n return localValidationResult;\r\n }\r\n })\r\n .catch((reason) => {\r\n AlertsService.showError(reason);\r\n return reason;\r\n });\r\n\r\n return validationProm;\r\n }\r\n\r\n protected _validateAndSubmit(): void {\r\n this._validateState()\r\n .then(validationResultTemp => {\r\n\r\n if (validationResultTemp == null) {\r\n alert(\"error validation\");\r\n return false;\r\n }\r\n var validationResult = new ModelValidation();\r\n validationResult.load(validationResultTemp);\r\n\r\n if (validationResult.isOk) {\r\n console.info(\"La validación es correcta\");\r\n\r\n var state = this._cloneStateForSetState();\r\n state.showLoading = true;\r\n state.validationResult = validationResult;\r\n this.setState(state, () => {\r\n var service = new MiPerfilService();\r\n service.update(this.state.editModel)\r\n .then((data) => {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.editModel.password = null;\r\n state.editModel.passwordConfirmar = null;\r\n state.editModel.passwordError = data.passwordError;\r\n state.showLoading = false;\r\n this.setState(state);\r\n\r\n ClientContext.Current.nombre = this.state.editModel.nombre;\r\n ClientContext.Current.apellidos = this.state.editModel.apellidos;\r\n ClientContext.Current.claseActual = this.state.editModel.claseActual;\r\n ClientContext.Current.claseActualId = this.state.editModel.claseActualId;\r\n AlertsService.showSuccessMessage(I18n.Strings.savedOk);\r\n\r\n return;\r\n })\r\n .catch((reason) => AlertsService.showError(reason));\r\n });\r\n }\r\n else {\r\n console.log(\"Validación no correcta\");\r\n console.warn(validationResult);\r\n this._processValidationError(validationResult);\r\n }\r\n })\r\n .catch((reason) => AlertsService.showError(reason));\r\n }\r\n\r\n \r\n protected _processValidationError(validation: ModelValidation): void {\r\n var newState = this._cloneStateForSetState();\r\n newState.validationResult = validation;\r\n this.setState(newState);\r\n }\r\n\r\n protected _errorMessage(fieldName: string): JSX.Element {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n protected _errorClass(fieldName: string): string {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return \"is-invalid\";\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n return \r\n

Mi Perfil

\r\n {this.state.editModel != null && \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.nombre))}\r\n name={nameof(this.state.editModel.nombre)}\r\n id={\"usuarios\" + nameof(this.state.editModel.nombre)}\r\n value={this.state.editModel.nombre || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.nombre))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.apellidos = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.apellidos))}\r\n name={nameof(this.state.editModel.apellidos)}\r\n id={\"usuarios\" + nameof(this.state.editModel.apellidos)}\r\n value={this.state.editModel.apellidos || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.apellidos))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this._errorMessage(nameof(this.state.editModel.login))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseActualId = id;\r\n state.editModel.claseActual = nombre;\r\n this.setState(state);\r\n }}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.claseActualId))}\r\n \r\n \r\n \r\n {this.state.editModel.allowCustomLogin && \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.password = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={20}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.password)}\r\n id={\"usuarios\" + nameof(this.state.editModel.password)}\r\n value={this.state.editModel.password || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.password))}\r\n {(this.state.editModel.passwordError || \"\").trim().length > 0 && {this.state.editModel.passwordError}}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.passwordConfirmar = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={20}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.passwordConfirmar)}\r\n id={\"usuarios\" + nameof(this.state.editModel.passwordConfirmar)}\r\n value={this.state.editModel.passwordConfirmar || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.passwordConfirmar))}\r\n \r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.editModel.foto != null &&
\r\n\r\n
\r\n }\r\n
\r\n {this.state.editModel.id > 0 &&
\r\n {\r\n this._updateStateValue(data.documentUrl, nameof.full(this.state.editModel.foto, 2));\r\n ClientContext.Current.imagenPerfilUrl = this.state.editModel.foto;\r\n }}\r\n />\r\n
}\r\n
\r\n \r\n
}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n };\r\n}","import { MiColegioEditModel, ModelValidationResult, SyncPedidosRequest, OdooSyncMasterDataMessage, OdooSyncPedidosMessage } from \"../../models/dataModels\";\r\nimport { ApiFetcher } from \"../../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../../utils/base/BaseServices\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\n\r\nexport class MiPerfilColegioService {\r\n getMyEditModel(): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/miPerfilColegio/getMyEditModel`);\r\n return prom;\r\n }\r\n\r\n validate(model: MiColegioEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfilColegio/validate`, model);\r\n return prom;\r\n }\r\n\r\n update(model: MiColegioEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/miPerfilColegio/update`, model);\r\n return prom;\r\n }\r\n\r\n syncEstructuraColegio(campannaId: number, todosColegios: boolean): Promise {\r\n\r\n var url = `intranet/miPerfilColegio/syncEstructura/${campannaId}`;\r\n if (todosColegios) {\r\n url += \"?todosColegios=true\"\r\n }\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(url, null);\r\n ClientContext.Current.recargarNiveles = true;\r\n return prom;\r\n }\r\n\r\n syncPedidosColegio(fechaDesde: Date, numPedidos: string, pedidosIsbns: string, soloPedidosTienda: boolean): Promise {\r\n var model = {\r\n fechaDesde: fechaDesde,\r\n numPedidos: numPedidos,\r\n isbns: pedidosIsbns,\r\n soloPedidosTienda: soloPedidosTienda\r\n } as SyncPedidosRequest;\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfilColegio/syncPedidos`, model);\r\n return prom;\r\n }\r\n\r\n syncPedidosEstructuraForAllCenters(): Promise {\r\n var model = {};\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfilColegio/syncPedidosEstructuraForAllCenters`, model);\r\n return prom;\r\n }\r\n\r\n syncOdooMasterData(sincronizarProductos: boolean, sincronizarDesde: Date): Promise {\r\n\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfilColegio/syncOdooMasterData`,\r\n {\r\n sincronizarProductos: sincronizarProductos,\r\n sincronizarDesde: sincronizarDesde\r\n } as OdooSyncMasterDataMessage\r\n );\r\n return prom;\r\n\r\n }\r\n\r\n syncOdooPedidos(sincronizarDesde: Date): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/miPerfilColegio/syncOdooPedidos`, {\r\n sincronizarDesde: sincronizarDesde\r\n } as OdooSyncPedidosMessage);\r\n return prom;\r\n }\r\n\r\n getServerIp(): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/utils/getServerIp`);\r\n return prom;\r\n }\r\n\r\n fixCredenciales(): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/utils/fixCredenciales`, null);\r\n return prom;\r\n }\r\n\r\n crearUsuarios(): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/utils/CrearUsuariosPedidos`, null);\r\n return prom;\r\n }\r\n\r\n fixClasesPorDefecto(): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/utils/fixClasesPorDefecto`, null);\r\n return prom;\r\n }\r\n}","\r\nimport { ComunidadAutonomaListItem } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\n\r\nexport class ComunidadAutonomaService\r\n{ \r\n getAll(): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(\"intranet/comunidades\");\r\n return prom;\r\n }\r\n}","import * as React from \"react\";\r\nimport { Input } from \"reactstrap\";\r\nimport { DropDownBase, GenericSelectItem, IDropDownProps } from \"../utils/base/DropDownBase\";\r\nimport { ComunidadAutonomaService } from \"./ComunidadAutonomaService\";\r\n\r\n\r\nexport class ComunidadesAutonomasDropDown extends DropDownBase {\r\n\r\n \r\n\r\n protected GetItems(): Promise {\r\n var service = new ComunidadAutonomaService();\r\n var itemsProm = service.getAll()\r\n .then((items) => {\r\n return items.map(center => {\r\n return {\r\n id: center.id,\r\n name: center.nombre,\r\n } as GenericSelectItem;\r\n });\r\n \r\n });\r\n\r\n return itemsProm;\r\n }\r\n\r\n protected shouldAddEmptyOption() {\r\n return true;\r\n }\r\n};","import React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ClientContext } from \"../../utils/ClientContext\";\r\nimport { ComponentBase } from \"../../utils/base/ComponentBase\";\r\nimport { ModelValidation } from \"../../utils/base/ModelValidation\";\r\nimport { MiPerfilEditModel, MatriculasSearch } from \"../../models/dataModels\";\r\nimport { MiPerfilService } from \"../MiPerfilService\";\r\nimport { Col, FormGroup, Input, Label, Row, FormFeedback, Button, Nav, NavItem, NavLink, TabContent, TabPane } from \"reactstrap\";\r\nimport { I18n } from \"../../utils/I18n\";\r\nimport { DocumentUpload } from \"../../helpers/DocumentUpload\";\r\nimport { CancelIcon, SaveIcon } from \"../../utils/Icons\";\r\nimport { AlertsService } from \"../../utils/AlertsService\";\r\nimport { NivelEducativoDropDown } from \"../../cursoEscolar/NivelEducativoDropDown\";\r\nimport { RouteHelper } from \"../../IntranetRouter\";\r\nimport { Index as MisClases } from \"./matriculas/Index\";\r\nimport { NavigationHelper } from \"../../utils/base/Breadcrumb\";\r\n\r\nexport enum ProfesorEditTabs {\r\n Datos = \"datos\",\r\n MisClases = \"matriculas\",\r\n}\r\n\r\ninterface MyProfileState {\r\n showLoading: boolean;\r\n editModel: MiPerfilEditModel;\r\n validationResult: ModelValidation;\r\n activeTab: ProfesorEditTabs;\r\n}\r\n\r\nexport class Edit extends ComponentBase {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n editModel: null,\r\n showLoading: true,\r\n validationResult: new ModelValidation(),\r\n activeTab: ProfesorEditTabs.Datos\r\n };\r\n\r\n NavigationHelper.setBreadcrumbItems([\r\n {\r\n text: I18n.Strings.myProfile,\r\n link: \"\"\r\n }\r\n ]);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n var service = new MiPerfilService();\r\n service.getMyEditModel()\r\n .then(myData => {\r\n this.setState({\r\n showLoading: false,\r\n editModel: myData,\r\n activeTab: this.props.match.params.tab\r\n });\r\n });\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if ((this.state.editModel.nombre || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.nombre), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.nombre));\r\n }\r\n\r\n if ((this.state.editModel.apellidos || \"\").trim().length == 0) {\r\n validation.addError(nameof(this.state.editModel.apellidos), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.apellidos));\r\n }\r\n\r\n if ((this.state.editModel.password || \"\").trim().length > 0) {\r\n if ((this.state.editModel.password || \"\").trim().length < 8) {\r\n validation.addError(nameof(this.state.editModel.password), I18n.Strings.validationErrors.stringLengthGreaterThan(I18n.Strings.colegioUsuarios.password, 8));\r\n }\r\n if ((this.state.editModel.passwordConfirmar || \"\").trim().length === 0) {\r\n validation.addError(nameof(this.state.editModel.passwordConfirmar), I18n.Strings.validationErrors.valueRequired(I18n.Strings.colegioUsuarios.passwordConfirmar));\r\n }\r\n if ((this.state.editModel.passwordConfirmar || \"\").trim().length > 0 && this.state.editModel.passwordConfirmar != this.state.editModel.password) {\r\n validation.addError(nameof(this.state.editModel.passwordConfirmar), I18n.Strings.validationErrors.valuesDontMatch(I18n.Strings.colegioUsuarios.password, I18n.Strings.colegioUsuarios.passwordConfirmar));\r\n }\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n protected _validateState(): Promise {\r\n\r\n var validationProm = Promise.resolve(this._validateModelLocal())\r\n .then(localValidationResult => {\r\n if (localValidationResult.isOk) {\r\n var service = new MiPerfilService();\r\n\r\n // Si en local ha ido bien, probamos en remoto, si no, no lo intentamos\r\n return service.validate(this.state.editModel)\r\n .then(serverValResult => {\r\n var validation = new ModelValidation();\r\n validation.load(serverValResult);\r\n return validation;\r\n });\r\n }\r\n else {\r\n return localValidationResult;\r\n }\r\n })\r\n .catch((reason) => {\r\n AlertsService.showError(reason);\r\n return reason;\r\n });\r\n\r\n return validationProm;\r\n }\r\n\r\n protected _validateAndSubmit(): void {\r\n this._validateState()\r\n .then(validationResultTemp => {\r\n\r\n if (validationResultTemp == null) {\r\n alert(\"error validation\");\r\n return false;\r\n }\r\n var validationResult = new ModelValidation();\r\n validationResult.load(validationResultTemp);\r\n\r\n if (validationResult.isOk) {\r\n console.info(\"La validación es correcta\");\r\n\r\n var state = this._cloneStateForSetState();\r\n state.showLoading = true;\r\n state.validationResult = validationResult;\r\n this.setState(state, () => {\r\n var service = new MiPerfilService();\r\n service.update(this.state.editModel)\r\n .then((data) => {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.password = null;\r\n state.editModel.passwordConfirmar = null;\r\n state.editModel.passwordError = data.passwordError;\r\n state.showLoading = false;\r\n this.setState(state);\r\n\r\n ClientContext.Current.nombre = this.state.editModel.nombre;\r\n AlertsService.showSuccessMessage(I18n.Strings.savedOk);\r\n\r\n return;\r\n })\r\n .catch((reason) => AlertsService.showError(reason));\r\n });\r\n }\r\n else {\r\n console.log(\"Validación no correcta\");\r\n console.warn(validationResult);\r\n this._processValidationError(validationResult);\r\n }\r\n })\r\n .catch((reason) => AlertsService.showError(reason));\r\n }\r\n\r\n\r\n protected _processValidationError(validation: ModelValidation): void {\r\n var newState = this._cloneStateForSetState();\r\n newState.validationResult = validation;\r\n this.setState(newState);\r\n }\r\n\r\n protected _errorMessage(fieldName: string): JSX.Element {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return {error};\r\n }\r\n return null;\r\n }\r\n\r\n protected _errorClass(fieldName: string): string {\r\n var error = this.state.validationResult.getError(fieldName);\r\n if (error) {\r\n return \"is-invalid\";\r\n }\r\n return null;\r\n }\r\n\r\n private _paintMainForm(): JSX.Element {\r\n return \r\n {this.state.editModel != null && \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.nombre))}\r\n name={nameof(this.state.editModel.nombre)}\r\n id={\"usuarios\" + nameof(this.state.editModel.nombre)}\r\n value={this.state.editModel.nombre || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.nombre))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.apellidos = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={true}\r\n maxLength={100}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.apellidos))}\r\n name={nameof(this.state.editModel.apellidos)}\r\n id={\"usuarios\" + nameof(this.state.editModel.apellidos)}\r\n value={this.state.editModel.apellidos || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.apellidos))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this._errorMessage(nameof(this.state.editModel.login))}\r\n \r\n \r\n \r\n {this.state.editModel.allowCustomLogin && \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.password = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={20}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.password)}\r\n id={\"usuarios\" + nameof(this.state.editModel.password)}\r\n value={this.state.editModel.password || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.password))}\r\n {(this.state.editModel.passwordError || \"\").trim().length > 0 && {this.state.editModel.passwordError}}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.passwordConfirmar = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"text\"\r\n required={false}\r\n maxLength={20}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.passwordConfirmar)}\r\n id={\"usuarios\" + nameof(this.state.editModel.passwordConfirmar)}\r\n value={this.state.editModel.passwordConfirmar || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.passwordConfirmar))}\r\n \r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.editModel.foto != null &&
\r\n\r\n
\r\n }\r\n
\r\n {this.state.editModel.id > 0 &&
\r\n {\r\n this._updateStateValue(data.documentUrl, nameof.full(this.state.editModel.foto, 2));\r\n ClientContext.Current.imagenPerfilUrl = this.state.editModel.foto;\r\n }}\r\n />\r\n
}\r\n
\r\n \r\n
}\r\n
\r\n }\r\n\r\n render() {\r\n if (this.state.editModel == null) {\r\n return null;\r\n }\r\n\r\n return \r\n

Mi Perfil

\r\n \r\n\r\n \r\n \r\n {this._paintMainForm()}\r\n \r\n\r\n \r\n\r\n {this.state.activeTab == ProfesorEditTabs.MisClases &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
;\r\n };\r\n}","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Row, Col, FormGroup, Label, Input, Button } from \"reactstrap\";\r\n\r\nimport { MisMatriculasService } from \"./MisMatriculasService\";\r\nimport { I18n } from \"../../../utils/I18n\";\r\nimport { MatriculaProfesorListItem, MatriculaProfesorListItemPaginatedList, MatriculasProfesorSearch } from \"../../../models/dataModels\";\r\nimport { IServiceForIndex } from \"../../../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../../../utils/base/IndexPageBase\";\r\nimport { RouteHelper } from \"../../../IntranetRouter\";\r\n\r\nimport { ColegioUsuariosPicker } from \"../../../colegioUsuarios/Picker\";\r\nimport { NivelEducativoDropDown } from \"../../../cursoEscolar/NivelEducativoDropDown\";\r\nimport { ClientContext } from \"../../../utils/ClientContext\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { ClaseMateriaDropDown } from \"../../../cursoEscolar/materia/ClaseMateriaDropDown\";\r\n\r\ninterface MatriculaProfesorSearchEx extends MatriculasProfesorSearch {\r\n usuario?: string;\r\n clase?: string;\r\n materia?: string;\r\n}\r\n\r\nclass IndexComp extends IndexPageBase\r\n{\r\n protected _renderSearchForm(): React.ReactNode {\r\n if (this.props.isEmbedded) {\r\n return null;\r\n }\r\n return \r\n \r\n item.id}\r\n getNameFromItem={(item) => `${item.nombre} ${item.apellidos}`}\r\n\r\n errorMessage={null}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.usuarioId = usuarioId;\r\n state.searchParams.usuario = usuario;\r\n\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.claseId = id;\r\n state.searchParams.clase = nombre;\r\n state.searchParams.materia = null;\r\n state.searchParams.claseMateriaId = null;\r\n\r\n this.setState(state);\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.claseMateriaId = materiaId;\r\n state.searchParams.materia = materia;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new MisMatriculasService();\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].clase),\r\n title: I18n.Strings.matriculas.nombreClase,\r\n renderField: (item) => item.clase\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].materia),\r\n title: I18n.Strings.matriculas.nombreMateria,\r\n renderField: (item) => item.materia\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].usuario),\r\n title: I18n.Strings.matriculas.nombreUsuario,\r\n renderField: (item) => item.usuario\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].rol),\r\n title: I18n.Strings.matriculas.rol,\r\n renderField: (item) => item.rol\r\n },\r\n ];\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.matriculas.title;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.matriculas.description;\r\n }\r\n\r\n \r\n protected _getEditionItemUrl(item: MatriculaProfesorListItem): string {\r\n return RouteHelper.editMiMatriculaProfesor(item.id, this.props.searchModel.usuarioId);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return RouteHelper.createMiMatriculaProfesor(this.props.searchModel.usuarioId);\r\n }\r\n\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { MatriculaEditModel, TipoUsuarioContenido } from \"../../../models/dataModels\";\r\nimport { GenericEditState } from \"../../../utils/base/GenericEditState\";\r\nimport { EditPageBase } from \"../../../utils/base/EditPageBase\";\r\nimport { IServiceForEdit } from \"../../../utils/base/BaseServices\";\r\nimport { MisMatriculasService } from \"./MisMatriculasService\";\r\nimport { RouteHelper } from \"../../../IntranetRouter\";\r\nimport { Col, FormGroup, Input, Label, Row } from \"reactstrap\";\r\nimport { I18n } from \"../../../utils/I18n\";\r\nimport { ModelValidation } from \"../../../utils/base/ModelValidation\";\r\n\r\nimport { NivelEducativoDropDown } from \"../../../cursoEscolar/NivelEducativoDropDown\";\r\nimport { ClaseMateriaDropDown } from \"../../../cursoEscolar/materia/ClaseMateriaDropDown\";\r\nimport { ClientContext } from \"../../../utils/ClientContext\";\r\n\r\nimport { ColegioUsuariosService } from \"../../../colegioUsuarios/ColegioUsuariosService\";\r\nimport { TipoUsuarioContenidoDropDown } from \"../../../helpers/EnumDropDown\";\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nueva matrícula\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: MatriculaEditModel): string {\r\n return `Editar matrícula`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new MisMatriculasService();\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* item.id}\r\n getNameFromItem={(item) => item.nombre}\r\n disabled={true}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.editModel.usuarioId))}\r\n onSelected={(usuarioId, usuario, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.usuarioId = usuarioId;\r\n state.editModel.usuario = usuario;\r\n this.setState(state);\r\n }}\r\n /> */}\r\n\r\n \r\n \r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseId = id;\r\n state.editModel.clase = nombre;\r\n state.editModel.materia = null;\r\n state.editModel.claseMateriaId = null;\r\n this.setState(state);\r\n }}\r\n />\r\n\r\n {this._errorMessage(nameof(this.state.editModel.claseId))}\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.claseMateriaId = materiaId;\r\n state.editModel.materia = materia;\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.editModel.rol = value as TipoUsuarioContenido;\r\n }\r\n else {\r\n newState.editModel.rol = null;\r\n }\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n \r\n ;\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editMiMatriculaProfesor(id, this.props.match.params.usuarioId);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listMisMatriculas();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0,\r\n colegioId: 0,\r\n clase: \"\",\r\n claseId: null,\r\n rol: TipoUsuarioContenido.Profesor,\r\n usuario: \"\",\r\n usuarioId: null\r\n } as MatriculaEditModel;\r\n\r\n if (this.props.match.params.usuarioId != null) {\r\n var colegioUsuariosSrv = new ColegioUsuariosService();\r\n var promData = colegioUsuariosSrv.getBasicById(this.props.match.params.usuarioId);\r\n\r\n var modelWithDataProm = promData.then(data => {\r\n model.editModel.usuario = data.nombre;\r\n model.editModel.usuarioId = data.id;\r\n return model;\r\n });\r\n\r\n return modelWithDataProm;\r\n }\r\n else {\r\n\r\n return Promise.resolve(model);\r\n }\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if (this.state.editModel.usuarioId == null) {\r\n validation.addError(nameof(this.state.editModel.usuarioId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.matriculas.nombreUsuario));\r\n }\r\n\r\n if (this.state.editModel.claseId == null) {\r\n validation.addError(nameof(this.state.editModel.claseId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.matriculas.nombreClase));\r\n }\r\n\r\n if (this.state.editModel.claseMateriaId == null) {\r\n validation.addError(nameof(this.state.editModel.claseMateriaId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.matriculas.nombreMateria));\r\n }\r\n\r\n if (this.state.editModel.rol == null) {\r\n validation.addError(nameof(this.state.editModel.rol), I18n.Strings.validationErrors.valueRequired(I18n.Strings.matriculas.rol));\r\n }\r\n\r\n return validation;\r\n }\r\n}\r\n\r\nexport const Edit = withRouter(EditComp)","import * as React from \"react\";\r\n\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { NivelContenidosEditModel, TipoAcceso } from \"../models/dataModels\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { NivelContenidosService } from \"./NivelesContenidosService\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { Col, FormGroup, Input, Label, Row } from \"reactstrap\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\n\r\nimport { NivelEducativoDropDown } from \"../cursoEscolar/NivelEducativoDropDown\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { TipoAccesoDropDownAll } from \"../helpers/EnumDropDown\";\r\nimport { ContenidosPicker } from \"../contenidos/colegio/Picker\";\r\nimport { ContenidosService } from \"../contenidos/maestros/ContenidosService\";\r\n\r\nimport { Location as HistoryLocation } from \"history\";\r\n\r\nexport class NivelContenidoEditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"Nuevo\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: NivelContenidosEditModel): string {\r\n return `Editar ${editModel.nivelEducativo}`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new NivelContenidosService();\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n return \r\n \r\n \r\n\r\n item.id}\r\n getNameFromItem={(item) => {\r\n return `${item.nombre}`;\r\n }}\r\n cursoEscolarId={ClientContext.Current.cursoEscolarActivoId}\r\n nivelEducativoId={null}\r\n mostrarNiveles={true}\r\n mostrarSoloColegio={false}\r\n errorMessage={this.state.validationResult.getError(nameof(this.state.editModel.contenidoId))}\r\n onSelected={(contenidoId, contenido, item) => {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.contenidoId = contenidoId;\r\n state.editModel.contenido = contenido;\r\n\r\n this.setState(state);\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.nivelEducativoId = id;\r\n state.editModel.nivelEducativo = nombre;\r\n this.setState(state);\r\n }}\r\n />\r\n\r\n {this._errorMessage(nameof(this.state.editModel.nivelEducativoId))}\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.editModel.tipoAccesoPorDefecto = value as TipoAcceso;\r\n }\r\n else {\r\n newState.editModel.tipoAccesoPorDefecto = null;\r\n }\r\n\r\n if (newState.editModel.tipoAccesoPorDefecto != TipoAcceso.NoAccedeMuestraMensaje) {\r\n newState.editModel.mensajeAcceso = \"\";\r\n }\r\n\r\n this.setState(newState);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.mostrarAccesoDirecto = evt.target.checked;\r\n this.setState(state);\r\n }}\r\n type=\"checkbox\"\r\n style={{ padding: 0 }}\r\n className={\"form-control\"}\r\n name={nameof(this.state.editModel.mostrarAccesoDirecto)}\r\n id={\"nivelEducativo\" + nameof(this.state.editModel.mostrarAccesoDirecto)}\r\n checked={this.state.editModel.mostrarAccesoDirecto || false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.mensajeAcceso = evt.target.value;\r\n this.setState(state);\r\n }}\r\n type=\"textarea\"\r\n required={this.state.editModel.tipoAccesoPorDefecto == TipoAcceso.NoAccedeMuestraMensaje}\r\n disabled={this.state.editModel.tipoAccesoPorDefecto != TipoAcceso.NoAccedeMuestraMensaje}\r\n maxLength={500}\r\n className={\"form-control \" + this._errorClass(nameof(this.state.editModel.mensajeAcceso))}\r\n name={nameof(this.state.editModel.mensajeAcceso)}\r\n id={nameof(this.state.editModel.mensajeAcceso)}\r\n value={this.state.editModel.mensajeAcceso || \"\"}\r\n />\r\n {this._errorMessage(nameof(this.state.editModel.mensajeAcceso))}\r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n protected _skipExitPrompt(location: HistoryLocation): boolean {\r\n if (location.pathname == RouteHelper.editUsuarioColegio(this.state.editModel.id)) {\r\n return true;\r\n }\r\n return super._skipExitPrompt(location);\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.editNivelContenido(id, this.props.match.params.contenidoId);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listNivelesContenidos(this.props.match.params.contenidoId);\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n var model = new GenericEditState();\r\n model.editModel = {\r\n id: 0,\r\n colegioId: 0,\r\n contenido: \"\",\r\n contenidoId: null,\r\n nivelEducativo: \"\",\r\n nivelEducativoId: null,\r\n mostrarAccesoDirecto: true\r\n } as NivelContenidosEditModel;\r\n\r\n if (this.props.match.params.contenidoId != null) {\r\n let contenidosSrv = new ContenidosService();\r\n let promData = contenidosSrv.getBasicById(this.props.match.params.contenidoId);\r\n\r\n let modelWithDataProm = promData.then(data => {\r\n model.editModel.contenido = data.nombre;\r\n model.editModel.contenidoId = data.id;\r\n return model;\r\n });\r\n\r\n return modelWithDataProm;\r\n }\r\n\r\n return Promise.resolve(model);\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n if (this.state.editModel.nivelEducativoId == null) {\r\n validation.addError(nameof(this.state.editModel.nivelEducativoId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.nivelesContenidos.nivel));\r\n }\r\n\r\n if (this.state.editModel.contenidoId == null) {\r\n validation.addError(nameof(this.state.editModel.contenidoId), I18n.Strings.validationErrors.valueRequired(I18n.Strings.nivelesContenidos.contenido));\r\n }\r\n\r\n return validation;\r\n }\r\n\r\n}\r\n\r\nexport const Edit = withRouter(NivelContenidoEditComp)","\r\nimport { NotificacionesSearch, NotificacionListItemPaginatedList, NotificacionMarcarLeidaModel, NotificacionEditModel, ModelValidationResult } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\n\r\nexport class NotificationService \r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n \r\n myNotifications(): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(\"intranet/notificaciones/my\");\r\n prom.then(result => {\r\n result.items.forEach(item => {\r\n item.fecha = item.fecha == null ? null : new Date(item.fecha);\r\n });\r\n });\r\n return prom;\r\n }\r\n\r\n\r\n search(searchData: NotificacionesSearch): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/notificaciones/search\", searchData);\r\n prom.then(res => {\r\n res.items.forEach(item => {\r\n item.fecha = item.fecha == null ? null : new Date(item.fecha);\r\n });\r\n });\r\n return prom;\r\n }\r\n\r\n marcarComoLeidos(model: NotificacionMarcarLeidaModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/notificaciones/marcarLeida\", model);\r\n prom.then(res => {\r\n res.items.forEach(item => {\r\n item.fecha = item.fecha == null ? null : new Date(item.fecha);\r\n });\r\n });\r\n return prom;\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/notificaciones/${id}`);\r\n prom.then(res => {\r\n res.fecha = res.fecha == null ? null : new Date(res.fecha);\r\n });\r\n return prom;\r\n }\r\n\r\n update(id: string | number, model: NotificacionEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.put(`intranet/notificaciones/${id}`, model);\r\n prom.then(res => {\r\n res.fecha = res.fecha == null ? null : new Date(res.fecha);\r\n });\r\n return prom;\r\n }\r\n\r\n create(model: NotificacionEditModel): Promise {\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(`intranet/notificaciones/`, model);\r\n return prom;\r\n }\r\n\r\n validate(model: NotificacionEditModel): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n delete(id: number): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n exportExcel(search: NotificacionesSearch): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}","\r\nimport { ColegioListItem, CursoEscolarEditModel, CursoEscolarListItemPaginatedList, CursoEscolarSearch, ModelValidationResult } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\n\r\nexport class ColegioService\r\n{\r\n \r\n\r\n getAll(): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(\"intranet/colegios\");\r\n return prom;\r\n }\r\n\r\n\r\n}","import * as React from \"react\";\r\nimport { Input } from \"reactstrap\";\r\nimport { DropDownBase, GenericSelectItem, IDropDownProps } from \"../utils/base/DropDownBase\";\r\nimport { ColegioService } from \"./ColegioService\";\r\n\r\n\r\nexport class ColegiosDropDown extends DropDownBase {\r\n\r\n \r\n\r\n protected GetItems(): Promise {\r\n var service = new ColegioService();\r\n var itemsProm = service.getAll()\r\n .then((items) => {\r\n return items.map(center => {\r\n return {\r\n id: center.id,\r\n name: center.nombre,\r\n } as GenericSelectItem;\r\n });\r\n \r\n });\r\n\r\n return itemsProm;\r\n }\r\n\r\n protected shouldAddEmptyOption() {\r\n return true;\r\n }\r\n};","import * as React from \"react\";\r\nimport nameof from \"ts-nameof.macro\";\r\n\r\nimport { Row, Col, FormGroup, Label, Input, Button } from \"reactstrap\";\r\n\r\nimport { NotificationService } from \"./NotificationService\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { NotificacionListItem, NotificacionListItemPaginatedList, NotificacionesSearch, EstadoNotificacion, NotificacionMarcarLeidaModel, SortDirection, TipoUsuario } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { CancelIcon, CheckCircleIcon, CheckIcon, SpinnerIcon } from \"../utils/Icons\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { EstadoNotificacionDropDown } from \"../helpers/EnumDropDown\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { ColegiosDropDown } from \"../colegios/ColegiosDropDown\";\r\n\r\ninterface NotificacionesSearchEx extends NotificacionesSearch {\r\n cursoEscolar?: string;\r\n nivel?: string;\r\n contenido?: string;\r\n colegio?: string;\r\n}\r\n\r\nexport class IndexComp extends IndexPageBase\r\n{\r\n\r\n protected _showCheckboxes() {\r\n return true;\r\n }\r\n\r\n protected _getInitialSearchParams(): NotificacionesSearchEx {\r\n\r\n var search = {\r\n incluirOk: true,\r\n orderByColumn: 'fecha',\r\n orderMode: SortDirection.Desc\r\n } as NotificacionesSearchEx;\r\n\r\n return search;\r\n }\r\n\r\n protected _toolbarRightContents() {\r\n var contents = super._toolbarRightContents();\r\n\r\n contents.push(\r\n {\r\n this.marcarComoLeidos(\r\n this.state.checkedElements\r\n );\r\n }}\r\n >\r\n {I18n.Strings.notificaciones.marcarSeleccionadosComoLeidos}\r\n \r\n );\r\n\r\n return contents;\r\n }\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n return \r\n {ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal && \r\n \r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.colegioId = colegioId;\r\n state.searchParams.colegio = colegioNombre;\r\n this.setState(state, () => this._performSearch()); \r\n }}\r\n id={nameof(this.state.searchParams.colegioId)}\r\n selectedItemValue={this.state.searchParams.colegioId || 0}\r\n selectedItemText={this.state.searchParams.colegio || \"\"}\r\n emptyText={I18n.Strings.notificaciones.colegio + \"...\"}\r\n />\r\n \r\n }\r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.searchParams.estado = value as EstadoNotificacion;\r\n }\r\n else {\r\n newState.searchParams.estado = null;\r\n }\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n\r\n\r\n \r\n \r\n ;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new NotificationService();\r\n }\r\n\r\n private GetEstado(item: NotificacionListItem): JSX.Element {\r\n if (item.estado == EstadoNotificacion.EnProceso || item.estado == EstadoNotificacion.EnProcesoConErrores) {\r\n return \r\n }\r\n\r\n if (item.estado == EstadoNotificacion.AcabadaOk) {\r\n return \r\n }\r\n\r\n if (item.estado == EstadoNotificacion.AcabadaError) {\r\n return \r\n }\r\n }\r\n\r\n private GetCheckButton(item: NotificacionListItem): JSX.Element {\r\n if (item.pendiente) {\r\n return { this.marcarComoLeidos([item.id]) }}>\r\n \r\n \r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n return [\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].fecha),\r\n title: I18n.Strings.notificaciones.fecha,\r\n renderField: (item) => I18n.Strings.formatDateTime(item.fecha)\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].colegio),\r\n title: I18n.Strings.notificaciones.colegio,\r\n renderField: (item) => item.colegio\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].texto),\r\n title: I18n.Strings.notificaciones.texto,\r\n renderField: (item) => item.pendiente ? {item.texto} : {item.texto}\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].tipoNotificacion),\r\n title: I18n.Strings.notificaciones.estado,\r\n renderField: (item) => this.GetEstado(item)\r\n },\r\n\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].id),\r\n title: \"\",\r\n renderField: (item) => this.GetCheckButton(item)\r\n }\r\n ];\r\n }\r\n\r\n private marcarComoLeidos(ids: number[]) {\r\n var service = new NotificationService();\r\n\r\n var data = {\r\n ids: ids\r\n } as NotificacionMarcarLeidaModel;\r\n this.setState({ showLoadingIcon: true }, () => {\r\n\r\n service.marcarComoLeidos(data)\r\n .then(notificaciones => {\r\n this._performSearch();\r\n })\r\n .catch(err => this.setState({ showLoadingIcon: false }, () => AlertsService.showError(err)));\r\n\r\n })\r\n }\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.notificaciones.titulo;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.notificaciones.descripcion;\r\n }\r\n\r\n protected _getEditionItemUrl(item: NotificacionListItem): string {\r\n return RouteHelper.viewNotificacion(item.id);\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return \"\";\r\n }\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Button, Col, FormGroup, Input, Label, Row } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { NotificacionEditModel, NotificacionItemEditModel, TipoNotificacionItem } from \"../models/dataModels\";\r\nimport { NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { CancelIcon } from \"../utils/Icons\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport { NotificationService } from \"./NotificationService\";\r\nimport { cloneDeep } from \"lodash-es\";\r\n\r\n\r\ninterface NotificacionState {\r\n loading: boolean;\r\n editModel: NotificacionEditModel;\r\n validationResult: ModelValidation;\r\n tipoLinea: TipoNotificacionItem;\r\n texto: string;\r\n}\r\n\r\nexport class ViewComp extends React.Component {\r\n\r\n public constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: true,\r\n validationResult: new ModelValidation(),\r\n editModel: null,\r\n tipoLinea: null,\r\n texto: null\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this._loadData();\r\n }\r\n\r\n protected _loadData(): void {\r\n var service = new NotificationService();\r\n\r\n service.getById(this.props.match.params.id)\r\n .then(ret => {\r\n this.setState({ loading: false, editModel: ret });\r\n });\r\n }\r\n\r\n protected _cloneStateForSetState(): NotificacionState {\r\n return cloneDeep(this.state) as NotificacionState;\r\n }\r\n\r\n render() {\r\n NavigationHelper.setBreadcrumbItems([{\r\n link: RouteHelper.listNotificaciones(),\r\n text: I18n.Strings.notificaciones.titulo\r\n },\r\n {\r\n link: null,\r\n text: I18n.Strings.notificaciones.notificacion\r\n }]);\r\n\r\n return \r\n {this.state.loading && }\r\n

{I18n.Strings.notificaciones.notificacion}

\r\n {this.state.editModel != null && \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {\r\n if (evt.target.value != '') {\r\n var newState = this._cloneStateForSetState();\r\n var value = evt.target.value;\r\n if (value == \"-1\") {\r\n newState.tipoLinea = null;\r\n }\r\n else {\r\n newState.tipoLinea = (evt.target.value) as TipoNotificacionItem;\r\n }\r\n\r\n this.setState(newState);\r\n }\r\n }}\r\n className=\"form-select\"\r\n >\r\n \r\n {this.state.editModel.items.map((item) => item.tipoItem).filter((name, index, currentVal) => currentVal.indexOf(name) === index)\r\n .map((item, index) => {\r\n return \r\n {item.toString()}\r\n \r\n })\r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.texto = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.notificaciones.texto + \"...\"}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.texto)}\r\n id={\"notificacion\" + nameof(this.state.texto)}\r\n value={this.state.texto || \"\"}\r\n />\r\n \r\n\r\n \r\n {this.state.editModel.items != null && \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.editModel.items.map((item, index) => {\r\n if ((this.state.tipoLinea == undefined || item.tipoItem.toString() == this.state.tipoLinea) &&\r\n (this.state.texto == undefined || item.texto.includes(this.state.texto))) {\r\n return \r\n \r\n \r\n ;\r\n }\r\n\r\n })}\r\n \r\n
TipoDescripción
\r\n {item.tipoItem}\r\n \r\n {item.texto}\r\n
\r\n \r\n
\r\n }\r\n
}\r\n \r\n \r\n {\r\n this.props.history.push(RouteHelper.listNotificaciones());\r\n }} >\r\n \r\n {I18n.Strings.cancel}\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n private _calculateCellClass(item: NotificacionItemEditModel): string {\r\n return item.tipoItem == TipoNotificacionItem.Error\r\n ? \"text-danger\"\r\n : (item.tipoItem == TipoNotificacionItem.Warning\r\n ? \"text-warning\"\r\n : \"text-info\");\r\n }\r\n}\r\nexport const View = withRouter(ViewComp)","import React from \"react\";\r\nimport { RouteComponentProps, withRouter } from \"react-router-dom\";\r\nimport { Button, Col, Row } from \"reactstrap\";\r\n\r\nimport { AuthService } from '../services/AuthService';\r\n\r\ninterface LoginProps extends RouteComponentProps {\r\n className?: string;\r\n}\r\n\r\nclass LogoffComp extends React.Component {\r\n\r\n public authService: AuthService;\r\n private shouldCancel: boolean;\r\n\r\n constructor(props: LoginProps) {\r\n super(props);\r\n\r\n this.authService = new AuthService();\r\n this.state = { user: {}, api: {} };\r\n this.shouldCancel = false;\r\n }\r\n\r\n public componentDidMount() {\r\n this.getUser();\r\n }\r\n\r\n public componentWillUnmount() {\r\n this.shouldCancel = true;\r\n }\r\n\r\n public logout = () => {\r\n this.authService.logout();\r\n };\r\n\r\n public getUser = () => {\r\n this.authService.getUser().then(user => {\r\n\r\n if (!this.shouldCancel) {\r\n this.setState({ user });\r\n }\r\n });\r\n\r\n };\r\n render() {\r\n return \r\n \r\n Cerrar sesión\r\n \r\n \r\n }\r\n\r\n onLogoffError(err: any): void {\r\n console.error(err);\r\n }\r\n\r\n private onLogoffSuccess() {\r\n this.props.history.push(\"/\");\r\n }\r\n}\r\n\r\nexport const Logoff = withRouter(LogoffComp);","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nexport default baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nexport default baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nexport default strictIndexOf;\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIsNaN from './_baseIsNaN.js';\nimport strictIndexOf from './_strictIndexOf.js';\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nexport default baseIndexOf;\n","import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nexport default arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nexport default arrayIncludesWith;\n","import SetCache from './_SetCache.js';\nimport arrayIncludes from './_arrayIncludes.js';\nimport arrayIncludesWith from './_arrayIncludesWith.js';\nimport arrayMap from './_arrayMap.js';\nimport baseUnary from './_baseUnary.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nexport default baseDifference;\n","import Symbol from './_Symbol.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nexport default isFlattenable;\n","import arrayPush from './_arrayPush.js';\nimport isFlattenable from './_isFlattenable.js';\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nexport default baseFlatten;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an 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 an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nexport default last;\n","import baseDifference from './_baseDifference.js';\nimport baseFlatten from './_baseFlatten.js';\nimport baseRest from './_baseRest.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport last from './last.js';\n\n/**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\nvar differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n});\n\nexport default differenceWith;\n","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n","import { cloneDeep, differenceWith } from \"lodash-es\";\r\nimport * as React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Button, Col, Modal, ModalBody, ModalHeader, Row } from \"reactstrap\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport {\r\n EstadoNotificacion, NotificacionListItem, NotificacionMarcarLeidaModel, TipoUsuario\r\n} from \"../models/dataModels\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { CancelIcon, CheckCircleIcon, CheckIcon, SearchIcon, SpinnerIcon } from \"../utils/Icons\";\r\nimport { Loading } from \"../utils/Loading\";\r\nimport { NotificationService } from \"./NotificationService\";\r\n\r\n\r\ninterface NotificationIconProps {\r\n\r\n};\r\n\r\ninterface NotificationIconState {\r\n mustShowIcon: boolean;\r\n showModal: boolean;\r\n items: NotificacionListItem[],\r\n loading: boolean;\r\n}\r\n\r\n\r\n/**\r\n * Pinta el paginador de los listados\r\n */\r\nexport class NotificationIconComp extends React.Component {\r\n\r\n public constructor(props: NotificationIconProps) {\r\n\r\n super(props);\r\n\r\n var mustShowIcon = ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal ||\r\n ClientContext.Current.tipoUsuario == TipoUsuario.AdminColegio;\r\n\r\n this.state = {\r\n loading: false,\r\n showModal: false,\r\n mustShowIcon: mustShowIcon,\r\n items: null\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n if (this.state.mustShowIcon) {\r\n\r\n if (window.location.href.toLowerCase().indexOf(\"localhost\") < 0) {\r\n setInterval(() => this.readNotifications(), 10000);\r\n }\r\n\r\n this.readNotifications();\r\n }\r\n \r\n }\r\n\r\n private readNotifications() {\r\n\r\n // Realizo la lectura de las notificaciones\r\n var service = new NotificationService();\r\n\r\n service.myNotifications()\r\n .then(notificaciones => {\r\n this.checkNewNotifications(notificaciones.items);\r\n this.setState({\r\n items: notificaciones.items\r\n });\r\n })\r\n }\r\n\r\n private _isEqualForNotification(itemA: NotificacionListItem, itemB: NotificacionListItem) {\r\n\r\n return (itemA.id == itemB.id && itemA.estado == itemB.estado);\r\n }\r\n\r\n private checkNewNotifications(newItems: NotificacionListItem[]) {\r\n var oldItems = this.state.items;\r\n\r\n if (oldItems != null) {\r\n var nuevosResultados = differenceWith(newItems, oldItems, this._isEqualForNotification) as NotificacionListItem[];\r\n\r\n if (nuevosResultados.length > 0) {\r\n nuevosResultados\r\n .filter(f => f.usuarioId === ClientContext.Current.usuarioId)\r\n .map((result, index) => {\r\n\r\n if (result.estado == EstadoNotificacion.AcabadaError) {\r\n //throw new Error(I18n.Strings.notificaciones.haFinalizadoError);\r\n AlertsService.showError(new Error(I18n.Strings.notificaciones.haFinalizadoError),\r\n () => this.setState({ items: newItems })\r\n );\r\n }\r\n else if (result.estado == EstadoNotificacion.AcabadaOk && result.datos != null) {\r\n this.alertNewNotification(result, () => () => this.setState({ items: newItems }));\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n private alertNewNotification(notification: NotificacionListItem, onClose: () => void) {\r\n try {\r\n var valueObj = JSON.parse(notification.datos);\r\n AlertsService.showSuccessMessage(I18n.Strings.notificaciones.haFinalizadoOk(notification.colegio, valueObj.OkMsg));\r\n } catch {\r\n AlertsService.showSuccessMessage(notification.texto);\r\n }\r\n }\r\n\r\n protected _cloneStateForSetState(): NotificationIconState {\r\n return cloneDeep(this.state) as NotificationIconState;\r\n }\r\n\r\n private checkNotification(id: number) {\r\n var service = new NotificationService();\r\n\r\n var data = {\r\n ids: [id]\r\n } as NotificacionMarcarLeidaModel;\r\n\r\n service.marcarComoLeidos(data)\r\n .then(notificaciones => {\r\n this.setState({\r\n items: notificaciones.items\r\n });\r\n })\r\n .catch(error => {\r\n AlertsService.showError(error);\r\n })\r\n }\r\n\r\n protected _getAlertClass(): string {\r\n if (this.state.items != null) {\r\n var usuarioId = ClientContext.Current.usuarioId;\r\n var tienePendientes = this.state.items.some(p => p.pendiente && p.usuarioId === usuarioId);\r\n\r\n if (tienePendientes) {\r\n return \"aviso\";\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n public render(): JSX.Element {\r\n\r\n if (!this.state.mustShowIcon) { return null; }\r\n\r\n return \r\n {this.state.loading && }\r\n \r\n\r\n {this.state.showModal &&\r\n (this.state.items || []).length != 0 &&\r\n { this.setState({ showModal: !this.state.showModal }); }}>\r\n this.setState({ showModal: false })} />}>\r\n {I18n.Strings.notificaciones.titulo}\r\n \r\n \r\n
\r\n \r\n\r\n \r\n {I18n.Strings.notificaciones.fecha}\r\n \r\n {ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal &&\r\n \r\n {I18n.Strings.notificaciones.colegio}\r\n \r\n }\r\n \r\n {I18n.Strings.notificaciones.texto}\r\n \r\n\r\n \r\n \r\n\r\n {this.state.items.map((notif, index) => {\r\n return \r\n \r\n {I18n.Strings.formatDateTime(notif.fecha)}\r\n \r\n\r\n {ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal && \r\n \r\n {notif.colegio}\r\n \r\n }\r\n\r\n \r\n \r\n {(notif.estado == EstadoNotificacion.EnProceso ||\r\n notif.estado == EstadoNotificacion.EnProcesoConErrores) && }\r\n {notif.estado == EstadoNotificacion.AcabadaError && }\r\n {notif.estado == EstadoNotificacion.AcabadaOk && }\r\n \r\n\r\n\r\n {notif.texto}\r\n\r\n \r\n\r\n \r\n {\r\n notif.pendiente && { this.checkNotification(notif.id) }}>\r\n \r\n \r\n }\r\n {\r\n this.setState({ showModal: false });\r\n this.props.history.push(RouteHelper.viewNotificacion(notif.id));\r\n }}>\r\n \r\n \r\n \r\n ;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n }\r\n\r\n
;\r\n }\r\n};\r\nexport const NotificationIcon = withRouter(NotificationIconComp)\r\n\r\n","import React from 'react'; // we need this to make JSX compile\r\nimport { Link, NavLink, RouteComponentProps, withRouter } from 'react-router-dom';\r\nimport { Col, DropdownItem, DropdownMenu, DropdownToggle, Row, UncontrolledDropdown } from 'reactstrap';\r\nimport { RouteHelper } from '../IntranetRouter';\r\nimport { Impersonate } from '../login/Impersonate';\r\nimport { Logoff } from '../login/Logoff';\r\nimport { TipoUsuario } from '../models/dataModels';\r\nimport { NotificationIcon } from '../notificaciones/NotificationIcon';\r\nimport { SHubBreadcrumb } from './base/Breadcrumb';\r\nimport { ClientContext } from './ClientContext';\r\nimport { I18n } from './I18n';\r\n\r\ninterface AuthenticatedMasterState {\r\n showImpersonation: boolean;\r\n cursoEscolarActivoId: number;\r\n}\r\n\r\n\r\nclass AuthenticatedMasterComp extends React.Component, AuthenticatedMasterState> {\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n showImpersonation: false,\r\n cursoEscolarActivoId: ClientContext.Current.cursoEscolarActivoId\r\n };\r\n\r\n document.title = ClientContext.Current.nombreColegio + \" - Scholarum Hub\";\r\n }\r\n\r\n private closeSidebar = () => {\r\n var sideMenu = document.getElementById(\"sidebarMenu\");\r\n sideMenu.classList.remove('open');\r\n }\r\n\r\n private toggleSidebar = () => {\r\n var sideMenu = document.getElementById(\"sidebarMenu\");\r\n if (sideMenu.classList.contains('open')) {\r\n sideMenu.classList.remove('open');\r\n }\r\n else {\r\n sideMenu.classList.add('open');\r\n }\r\n }\r\n\r\n public render() {\r\n\r\n var usuarioActualTipo = (ClientContext.Current.tipoUsuario || 0);\r\n\r\n return \r\n\r\n {this.state.showImpersonation &&\r\n this.setState({ showImpersonation: false })} />\r\n }\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {ClientContext.Current.nombreColegio}\r\n
\r\n
\r\n

\r\n \r\n {ClientContext.Current.nombreColegio}\r\n \r\n

\r\n
\r\n {/*\r\n
\r\n Completa tu perfil\r\n 50% \r\n
\r\n */}\r\n
\r\n\r\n
\r\n
\r\n {(ClientContext.Current.tipoUsuario == TipoUsuario.AdminColegio || ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal) &&\r\n \r\n }\r\n\r\n \r\n \r\n this.closeSidebar()} className=\"pointer d-block link-dark text-decoration-none dropdown-toggle\" tag=\"a\" caret>\r\n
\r\n {ClientContext.Current.nombre}\r\n {ClientContext.Current.estoyImpersonado &&\r\n (Impersonado) \r\n }\r\n
\r\n
\r\n \r\n {usuarioActualTipo == TipoUsuario.Alumno &&\r\n \r\n \r\n {I18n.Strings.myProfile}\r\n \r\n }\r\n {usuarioActualTipo == TipoUsuario.Profesor &&\r\n \r\n \r\n {I18n.Strings.myProfile}\r\n \r\n }\r\n\r\n {(usuarioActualTipo == TipoUsuario.AdminColegio || usuarioActualTipo == TipoUsuario.AdminGlobal) &&\r\n \r\n \r\n {I18n.Strings.myProfile}\r\n \r\n \r\n }\r\n\r\n {(usuarioActualTipo == TipoUsuario.AdminColegio || usuarioActualTipo == TipoUsuario.AdminGlobal || ClientContext.Current.estoyImpersonado)\r\n &&\r\n \r\n this.setState({ showImpersonation: !this.state.showImpersonation })}\r\n >\r\n {!ClientContext.Current.estoyImpersonado && \"Emular usuario\"}\r\n {ClientContext.Current.estoyImpersonado && \"Volver a mi usuario\"}\r\n \r\n \r\n }\r\n\r\n {(usuarioActualTipo == TipoUsuario.AdminColegio || usuarioActualTipo == TipoUsuario.AdminGlobal)\r\n && \r\n \r\n \r\n Datos del colegio\r\n \r\n \r\n \r\n }\r\n\r\n {usuarioActualTipo == TipoUsuario.AdminGlobal &&\r\n \r\n \r\n\r\n \r\n \r\n Registro de errores\r\n \r\n \r\n\r\n \r\n \r\n Panel de jobs\r\n \r\n \r\n \r\n }\r\n\r\n {!ClientContext.Current.estoyImpersonado && \r\n \r\n \r\n \r\n \r\n }\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n {this.props.children}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Proyecto financiado por la Dirección General del Libro y Fomento de la Lectura. Ministerio de Cultura y Deporte\r\n
\r\n\r\n \"Ministerio\r\n\r\n \"Plan\r\n\r\n \"Financiado\r\n
\r\n
\r\n \"Fondo\r\n\r\n

\r\n SCHOLARUM DIGITAL,SL, ha sido beneficiaria del Fondo Europeo de Desarrollo Regional, cuyo objetivo es mejorar el uso y la calidad de las tecnologías de la información y de las comunicaciones y el acceso a las mismas, y gracias al que ha podido implantar las siguientes soluciones: Soluciones de comercio electrónico. Esta acción ha tenido lugar durante el año 2022. Para ello ha contado con el apoyo del programa TICCámaras de la Cámara de Madrid\r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
;\r\n }\r\n}\r\n\r\nexport const AuthenticatedMaster = withRouter(AuthenticatedMasterComp);","import nameof from \"ts-nameof.macro\";\r\nimport { ExportFileResult, MatriculaEditModel, ModelValidationResult, PedidosTiendaSearch, PedidoTiendaDetailResult, PedidoTiendaInformeCompletoMessage, PedidoTiendaListItemPaginatedList } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { downloadFileFromBase64Array } from \"../utils/ValuesFormatter\";\r\n\r\n\r\nexport class PedidosTiendaService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n\r\n\r\n search(searchData: PedidosTiendaSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/pedidos-tienda/search\", searchData);\r\n\r\n prom.then(res => {\r\n\r\n res.items.forEach((val) => {\r\n val.fechaPedido = val.fechaPedido != null ? new Date(val.fechaPedido) : null;\r\n });\r\n\r\n return res;\r\n });\r\n\r\n return prom;\r\n }\r\n\r\n delete(id: number): Promise {\r\n throw new Error(\"Not Implemented\");\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/pedidos-tienda/${id}`);\r\n prom = prom.then(model => {\r\n\r\n model.fechaPedido = model.fechaPedido == null ? null : new Date(model.fechaPedido);\r\n model.fechaDeProcesoEnJob = model.fechaDeProcesoEnJob == null ? null : new Date(model.fechaDeProcesoEnJob);\r\n return model;\r\n });\r\n return prom;\r\n }\r\n\r\n validate(model: PedidoTiendaDetailResult): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n create(model: PedidoTiendaDetailResult): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n update(id: string | number, model: PedidoTiendaDetailResult): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n exportExcel(search: PedidosTiendaSearch): Promise {\r\n var url = \"intranet/pedidos-tienda/exportExcel\";\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var promise = apiFetcher.post(url, search)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return promise;\r\n }\r\n\r\n exportExcelCompleto(search: PedidosTiendaSearch): Promise {\r\n var url = \"intranet/pedidos-tienda/exportExcelCompleto\";\r\n\r\n var modelo = { \r\n ...search\r\n } as PedidoTiendaInformeCompletoMessage;\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var promise = apiFetcher.post(url, modelo)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return promise;\r\n }\r\n\r\n}","import { debug } from \"console\";\r\nimport { stat } from \"fs\";\r\nimport * as React from \"react\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport { Button, Col, FormGroup, Input, Label } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ColegiosDropDown } from \"../colegios/ColegiosDropDown\";\r\nimport { CustomDatePicker } from \"../helpers/CustomDatePicker\";\r\nimport { EstadoPedidoScholarumDropDown, YesNoDropDown } from \"../helpers/EnumDropDown\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { LicenciaContenidosEditTabs } from \"../licenciasColegio/Edit\";\r\nimport { EstadoPedidoScholarum, PedidosTiendaSearch, PedidoTiendaListItem, PedidoTiendaListItemPaginatedList, SortDirection, TipoUsuario, YesNo } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ExcelIcon } from \"../utils/Icons\";\r\nimport { toCamelCase } from \"../utils/ValuesFormatter\";\r\nimport { PedidosTiendaService } from \"./PedidosTiendaService\";\r\n\r\n\r\ninterface PedidosTiendaSearchEx extends PedidosTiendaSearch {\r\n colegio: string;\r\n}\r\n\r\nclass IndexComp extends IndexPageBase\r\n{\r\n\r\n protected _getInitialSearchParams(): PedidosTiendaSearchEx {\r\n\r\n let model = super._getInitialSearchParams();\r\n\r\n model.fechaCompraFrom = ClientContext.getCursoEscolarActivo().fechaInicioCampagna;\r\n model.orderMode = SortDirection.Desc;\r\n model.colegioId = ClientContext.Current.colegioId;\r\n model.colegio = ClientContext.Current.nombreColegio;\r\n return model;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new PedidosTiendaService();\r\n }\r\n\r\n\r\n protected _enableExcelExport() {\r\n return true;\r\n }\r\n\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n\r\n if (this.props.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return \r\n\r\n\r\n \r\n \r\n\r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.colegioId = colegioId;\r\n state.searchParams.colegio = colegioNombre;\r\n this.setState(state);\r\n }}\r\n id={nameof(this.state.searchParams.colegioId)}\r\n selectedItemValue={this.state.searchParams.colegioId || 0}\r\n selectedItemText={this.state.searchParams.colegio || \"\"}\r\n emptyText=\"\"\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombreCliente = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.pedidos.cliente + \"...\"}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombreCliente)}\r\n id={nameof(this.state.searchParams.nombreCliente)}\r\n value={this.state.searchParams.nombreCliente || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var newSearch = { ...this.state.searchParams, nombreUsuario: evt.target.value } as PedidosTiendaSearchEx;\r\n this.setState({ searchParams: newSearch });\r\n }}\r\n placeholder={I18n.Strings.getEnumText(\"TipoUsuario.Alumno\") + \"...\"}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombreUsuario)}\r\n id={nameof(this.state.searchParams.nombreUsuario)}\r\n value={this.state.searchParams.nombreUsuario || \"\"}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n if (evt.target.value == \"\") {\r\n state.searchParams.numPedido = null;\r\n }\r\n else {\r\n state.searchParams.numPedido = parseInt(evt.target.value);\r\n }\r\n\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.pedidos.numPedido + \"...\"}\r\n type=\"number\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.numPedido)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.numPedido)}\r\n value={this.state.searchParams.numPedido || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.sku = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.pedidos.sku + \"...\"}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.sku)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.sku)}\r\n value={this.state.searchParams.sku || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n if (value != '') {\r\n newState.searchParams.estadoPedidoScholarum = value as EstadoPedidoScholarum;\r\n }\r\n else {\r\n newState.searchParams.estadoPedidoScholarum = null;\r\n }\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var newState = this._cloneStateForSetState();\r\n newState.searchParams.conDescuento = value == YesNo.Yes.toString() ? true : value == YesNo.No.toString() ? false : null;\r\n this.setState(newState, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.fechaCompraFrom = val;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.fechaCompraTo = val;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n\r\n ;\r\n }\r\n\r\n\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n\r\n let columns = [\r\n\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].externalId),\r\n title: I18n.Strings.pedidos.numPedido,\r\n renderField: (item) => item.externalId\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].nombreCliente),\r\n title: I18n.Strings.pedidos.cliente,\r\n renderField: (item) => item.nombreCliente\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].fechaPedido),\r\n title: I18n.Strings.pedidos.fechaCompra,\r\n renderField: (item) => I18n.Strings.formatDateTime(item.fechaPedido)\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].estadoPedidoScholarum),\r\n title: I18n.Strings.pedidos.estado,\r\n renderField: (item) => I18n.Strings.getEnumText(`EstadoPedidoScholarum.${item.estadoPedidoScholarum}`)\r\n },\r\n\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].descuento),\r\n title: I18n.Strings.pedidos.descuento,\r\n renderField: (item) => I18n.Strings.formatNumber(item.descuento)\r\n },\r\n {\r\n fieldName: nameof(this.state.searchResults.items[0].licencias),\r\n title: I18n.Strings.pedidos.licencias,\r\n renderField: (item) => {\r\n if ((item.licencias || \"\").length == 0) {\r\n return \"N/A\";\r\n } else {\r\n let licencias = item.licencias.split(\",\");\r\n return \r\n {licencias.map((lic, index) => {\r\n var partes = lic.split(\"#\");\r\n\r\n return
\r\n {(ClientContext.Current.tipoUsuario == TipoUsuario.VisorPedidos\r\n || ClientContext.Current.tipoUsuario == TipoUsuario.AdminInstitucion) && <>\r\n {partes[1]}\r\n }\r\n {(ClientContext.Current.tipoUsuario != TipoUsuario.VisorPedidos\r\n && ClientContext.Current.tipoUsuario != TipoUsuario.AdminInstitucion) && <>\r\n \r\n {partes[1]}\r\n \r\n }\r\n
;\r\n })}\r\n
;\r\n }\r\n I18n.Strings.formatDateTime(item.fechaPedido)\r\n }\r\n }\r\n ] as TableColumn[];\r\n\r\n\r\n if (\r\n ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal ||\r\n ClientContext.Current.tipoUsuario == TipoUsuario.AdminInstitucion ||\r\n ClientContext.Current.tipoUsuario == TipoUsuario.VisorPedidos\r\n ) {\r\n columns.unshift({\r\n fieldName: nameof(this.state.searchResults.items[0].colegio),\r\n title: toCamelCase(I18n.Strings.colegio.entityName),\r\n renderField: (item) => item.colegio\r\n });\r\n }\r\n\r\n return columns;\r\n }\r\n\r\n\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.pedidos.title;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.pedidos.description;\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return null;\r\n }\r\n\r\n protected _getEditionItemUrl(item: PedidoTiendaListItem): string {\r\n return RouteHelper.detallePedidoTienda(item.id);\r\n }\r\n\r\n\r\n protected _toolbarRightContents(): JSX.Element[] {\r\n var elems = super._toolbarRightContents();\r\n\r\n elems.push(\r\n this._exportExcelCompleto(this.state.searchParams)}\r\n >\r\n \r\n Exportación completa\r\n \r\n );\r\n\r\n return elems;\r\n }\r\n private _exportExcelCompleto(sarchModel: PedidosTiendaSearchEx): void {\r\n this.setState({ showLoadingIcon: true },\r\n () => {\r\n try {\r\n var service = new PedidosTiendaService();\r\n service.exportExcelCompleto(sarchModel)\r\n .then(() => this.setState({ showLoadingIcon: false }))\r\n .catch((reason) => this._showError(reason));\r\n } catch (error) {\r\n this._showError(error);\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import * as React from \"react\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport { Button, Col, FormGroup, Input, Label, Row } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { LicenciaContenidosEditTabs } from \"../licenciasColegio/Edit\";\r\nimport { MiPerfilColegioService } from \"../miPerfil/colegio/MiPerfilColegioService\";\r\nimport { LineaPedidoTiendaListItem, MatriculaEditModel, PedidoTiendaDetailResult, TipoProductoTienda, TipoUsuario } from \"../models/dataModels\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { SyncIcon, UserIcon } from \"../utils/Icons\";\r\nimport { toCamelCase } from \"../utils/ValuesFormatter\";\r\nimport { PedidosTiendaService } from \"./PedidosTiendaService\";\r\n\r\n\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"N/A\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: PedidoTiendaDetailResult): string {\r\n return `Ver pedido ${editModel.externalId}`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new PedidosTiendaService();\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n return \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n {this._pintarTablaLicencias(\r\n this.state.editModel.items.filter(i => i.tipoProducto == TipoProductoTienda.License || i.tipoProducto == TipoProductoTienda.Virtual),\r\n \"Compras digitales\")\r\n }\r\n\r\n {this._pintarTablaLicencias(\r\n this.state.editModel.items.filter(i => i.tipoProducto == TipoProductoTienda.Simple),\r\n \"Compras papel\")\r\n }\r\n\r\n
\r\n

Otras licencias asociadas

\r\n {this.state.editModel.licenciasExtra.length == 0 &&\r\n \r\n No hay elementos\r\n \r\n }\r\n {this.state.editModel.licenciasExtra.length != 0 &&\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.state.editModel.licenciasExtra.map((item, index) => {\r\n\r\n return \r\n \r\n \r\n \r\n \r\n ;\r\n })}\r\n \r\n
{I18n.Strings.pedidos.sku}{I18n.Strings.pedidos.producto}{I18n.Strings.pedidos.licencias}{toCamelCase(I18n.Strings.colegioUsuarios.usuarioAlumno)}
{item.isbn}{item.contenido}\r\n \r\n {item.usuario}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n\r\n
;\r\n }\r\n\r\n private _pintarTablaLicencias(items: LineaPedidoTiendaListItem[], titulo: string): JSX.Element {\r\n\r\n return <>\r\n

{titulo}

\r\n {items.length == 0 &&\r\n \r\n No hay elementos\r\n \r\n }\r\n {items.length != 0 &&\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {items.map((item, index) => {\r\n\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n })}\r\n \r\n
{I18n.Strings.pedidos.sku}{I18n.Strings.pedidos.producto}{I18n.Strings.pedidos.tipo}{I18n.Strings.pedidos.cantPedida}{I18n.Strings.pedidos.cantDevuelta}{I18n.Strings.pedidos.licencias}
{item.sku}{item.producto}{I18n.Strings.getEnumText(`TipoProductoTienda.${item.tipoProducto}`)}{item.cantidadPedida}{item.cantidadDevuelta}{this._pintarLicencias(item)}
\r\n }\r\n ;\r\n }\r\n\r\n\r\n private _pintarLicencias(item: LineaPedidoTiendaListItem): JSX.Element {\r\n if ((item.licencias || \"\").length == 0) {\r\n return N/A;\r\n }\r\n else {\r\n let licencias = item.licencias.split(\",\");\r\n return \r\n {licencias.map((lic, index) => {\r\n\r\n var partes = lic.split(\"#\");\r\n\r\n return
\r\n \r\n {partes[1]}\r\n \r\n {' '}\r\n \r\n \r\n \r\n
;\r\n })}\r\n
;\r\n }\r\n\r\n }\r\n\r\n protected _extraButtons() {\r\n\r\n if (ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal) {\r\n\r\n return ;\r\n }\r\n\r\n return <>;\r\n }\r\n\r\n protected updateBreadCrumb(model: PedidoTiendaDetailResult) {\r\n var items = [\r\n {\r\n text: I18n.Strings.pedidos.title,\r\n link: RouteHelper.listPedidosTienda()\r\n },\r\n {\r\n text: this._setPageTitleForExisting(model),\r\n link: null\r\n }\r\n ];\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.detallePedidoTienda(id);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listPedidosTienda();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n\r\n return null;\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n return validation;\r\n }\r\n}\r\n\r\nexport const Edit = withRouter(EditComp);","import nameof from \"ts-nameof.macro\";\r\nimport { ExportFileResult, ModelValidationResult, PedidoColegioListItemPaginatedList, PedidosColegioSearch, PedidoColegioDetailResult } from \"../models/dataModels\";\r\nimport { ApiFetcher } from \"../utils/ApiFetcher\";\r\nimport { IServiceForEdit, IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { downloadFileFromBase64Array } from \"../utils/ValuesFormatter\";\r\n\r\n\r\nexport class PedidosColegioService\r\n implements IServiceForIndex, IServiceForEdit\r\n{\r\n\r\n\r\n search(searchData: PedidosColegioSearch): Promise {\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.post(\"intranet/pedidos-colegio/search\", searchData);\r\n\r\n prom.then(res => {\r\n \r\n res.items.forEach((val) => {\r\n val.fechaCompromiso = val.fechaCompromiso != null ? new Date(val.fechaCompromiso) : null;\r\n val.fechaPresupuesto = val.fechaPresupuesto != null ? new Date(val.fechaPresupuesto) : null;\r\n });\r\n\r\n return res;\r\n });\r\n\r\n return prom;\r\n }\r\n\r\n delete(id: number): Promise {\r\n throw new Error(\"Not Implemented\");\r\n }\r\n\r\n getById(id: string | number): Promise {\r\n \r\n var apiFetcher = new ApiFetcher();\r\n var prom = apiFetcher.getByUrl(`intranet/pedidos-colegio/${id}`);\r\n prom = prom.then(model => {\r\n\r\n model.fechaCompromiso = model.fechaCompromiso == null ? null : new Date(model.fechaCompromiso);\r\n model.fechaPresupuesto = model.fechaPresupuesto == null ? null : new Date(model.fechaPresupuesto);\r\n return model;\r\n });\r\n return prom;\r\n }\r\n\r\n validate(model: PedidoColegioDetailResult): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n create(model: PedidoColegioDetailResult): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n update(id: string | number, model: PedidoColegioDetailResult): Promise {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n exportExcel(search: PedidosColegioSearch): Promise {\r\n var url = \"intranet/pedidos-colegio/exportExcel\";\r\n\r\n var apiFetcher = new ApiFetcher();\r\n var promise = apiFetcher.post(url, search)\r\n .then((result) => {\r\n downloadFileFromBase64Array(result.content, result.fileName, \"application/octet-stream\");\r\n return result;\r\n });\r\n return promise;\r\n }\r\n}","import { stat } from \"fs\";\r\nimport * as React from \"react\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport { Button, Col, FormGroup, Input, Label } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ColegiosDropDown } from \"../colegios/ColegiosDropDown\";\r\nimport { CustomDatePicker } from \"../helpers/CustomDatePicker\";\r\nimport { EstadoPedidoScholarumDropDown } from \"../helpers/EnumDropDown\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { LicenciaContenidosEditTabs } from \"../licenciasColegio/Edit\";\r\nimport { EstadoPedidoScholarum, PedidoColegioListItem, PedidoColegioListItemPaginatedList, PedidosColegioSearch, PedidosTiendaSearch, PedidoTiendaListItem, PedidoTiendaListItemPaginatedList, SortDirection, TipoUsuario } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ExcelIcon } from \"../utils/Icons\";\r\nimport { toCamelCase } from \"../utils/ValuesFormatter\";\r\nimport { PedidosColegioService } from \"./PedidosColegioService\";\r\n\r\n\r\ninterface PedidosColegioSearchEx extends PedidosColegioSearch {\r\n colegio: string;\r\n}\r\n\r\nclass IndexComp extends IndexPageBase\r\n{\r\n\r\n protected _getInitialSearchParams(): PedidosColegioSearchEx {\r\n\r\n\r\n let fromDate = new Date();\r\n fromDate.setDate(fromDate.getDate() - 6);\r\n\r\n let model = super._getInitialSearchParams();\r\n //model.fechaCompraFrom = fromDate;\r\n model.orderMode = SortDirection.Desc;\r\n model.colegioId = ClientContext.Current.colegioId;\r\n model.colegio = ClientContext.Current.nombreColegio;\r\n model.excluirCancelados = true;\r\n return model;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new PedidosColegioService();\r\n }\r\n\r\n\r\n protected _enableExcelExport() {\r\n return true;\r\n }\r\n\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n\r\n if (this.props.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return \r\n\r\n \r\n \r\n\r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.colegioId = colegioId;\r\n state.searchParams.colegio = colegioNombre;\r\n this.setState(state);\r\n }}\r\n id={nameof(this.state.searchParams.colegioId)}\r\n selectedItemValue={this.state.searchParams.colegioId || 0}\r\n selectedItemText={this.state.searchParams.colegio || \"\"}\r\n emptyText=\"\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.pedidosColegio.nombre + \"...\"}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombre)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.nombre)}\r\n value={this.state.searchParams.nombre || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.fechaPresupuestoFrom = val;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.fechaPresupuestoTo = val;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n\r\n let columns = [];\r\n\r\n columns.push({\r\n fieldName: nameof(this.state.searchResults.items[0].nombre),\r\n title: I18n.Strings.pedidosColegio.nombre,\r\n renderField: (item: PedidoColegioListItem) => item.nombre\r\n });\r\n\r\n if (ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal) {\r\n columns.push({\r\n fieldName: nameof(this.state.searchResults.items[0].colegio),\r\n title: toCamelCase(I18n.Strings.colegio.entityName),\r\n renderField: (item: PedidoColegioListItem) => item.colegio,\r\n\r\n });\r\n }\r\n\r\n columns.push({\r\n fieldName: nameof(this.state.searchResults.items[0].fechaPresupuesto),\r\n title: I18n.Strings.pedidosColegio.fechaPresupuesto,\r\n renderField: (item: PedidoColegioListItem) => I18n.Strings.formatDate(item.fechaPresupuesto)\r\n });\r\n\r\n columns.push({\r\n fieldName: nameof(this.state.searchResults.items[0].numItems),\r\n title: I18n.Strings.pedidosColegio.numUnidades,\r\n renderField: (item: PedidoColegioListItem) => I18n.Strings.formatNumber(item.numItems)\r\n });\r\n\r\n // TODO: Meter el numero total de unidades pedidas\r\n\r\n // TODO: Quitamos los pedidos cancelados\r\n\r\n // TODO: Filtrar las devoluciones: Tipo de Operación - devolución o Nombre PVA - DEV\r\n\r\n if (\r\n ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal ||\r\n ClientContext.Current.tipoUsuario == TipoUsuario.AdminInstitucion ||\r\n ClientContext.Current.tipoUsuario == TipoUsuario.VisorPedidos\r\n ) {\r\n columns.unshift({\r\n fieldName: nameof(this.state.searchResults.items[0].colegio),\r\n title: toCamelCase(I18n.Strings.colegio.entityName),\r\n renderField: (item) => item.colegio\r\n });\r\n }\r\n return columns;\r\n }\r\n\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.pedidosColegio.title;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.pedidosColegio.description;\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return null;\r\n }\r\n\r\n protected _getEditionItemUrl(item: PedidoColegioListItem): string {\r\n return RouteHelper.detallePedidoColegio(item.id);\r\n }\r\n\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import { stat } from \"fs\";\r\nimport * as React from \"react\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport { Button, Col, FormGroup, Input, Label, Modal, ModalBody, ModalHeader, Row } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { LicenciaContenidosEditTabs } from \"../licenciasColegio/Edit\";\r\nimport { Canal, LineaPedidoColegioListItem, PedidoColegioDetailResult } from \"../models/dataModels\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { UserIcon, ViewIcon } from \"../utils/Icons\";\r\nimport { PedidosColegioService } from \"./PedidosColegioService\";\r\n\r\n\r\ninterface PedidoColegioDetailResultEx extends PedidoColegioDetailResult {\r\n albaranShowDetails: number;\r\n}\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"N/A\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: PedidoColegioDetailResultEx): string {\r\n return `Ver pedido ${editModel.nombre}`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new PedidosColegioService() as any as IServiceForEdit;\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n return \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n {this._pintarTablaLineas(\r\n this.state.editModel.items,\r\n I18n.Strings.pedidosColegio.lineasPedido)\r\n }\r\n\r\n ;\r\n }\r\n\r\n private calculaClaseNumUnidadesEnFinal(item: LineaPedidoColegioListItem): string {\r\n\r\n if (item.numUnidadesFinalizadas == 0 && item.numUnidades != 0) {\r\n return \"text-danger\";\r\n }\r\n if (item.numUnidadesFinalizadas == item.numUnidades) {\r\n return \"text-success\";\r\n }\r\n\r\n return \"text-warning\";\r\n }\r\n\r\n private _pintarTablaLineas(items: LineaPedidoColegioListItem[], titulo: string): JSX.Element {\r\n\r\n var albaranSeleccionado = this.state.editModel.albaranShowDetails == null\r\n ? null\r\n : this.state.editModel.albaranes.find(a => a.id == this.state.editModel.albaranShowDetails);\r\n\r\n return <>\r\n

{titulo}

\r\n {items.length == 0 &&\r\n \r\n No hay elementos\r\n \r\n }\r\n {items.length != 0 &&\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {items.map((item, index) => {\r\n\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n })}\r\n \r\n
{I18n.Strings.pedidosColegio.isbn}{I18n.Strings.pedidosColegio.producto}{I18n.Strings.pedidosColegio.editorial}{I18n.Strings.pedidosColegio.numUnidades}{I18n.Strings.pedidosColegio.numUnidadesReservadas}{I18n.Strings.pedidosColegio.numUnidadesEnPrep}{I18n.Strings.pedidosColegio.numUnidadesEnFinal}
{item.referenciaInterna}{item.producto}{item.editorial}{item.numUnidades}\r\n {item.numUnidadesPendientes}{' '}\r\n {item.numUnidadesPendientes != 0 && <>\r\n ({item.numUnidadesReservadas})\r\n }\r\n\r\n {item.numUnidadesPreparacion}\r\n {item.numUnidadesFinalizadas}\r\n
\r\n }\r\n\r\n

{I18n.Strings.pedidosColegio.envios}

\r\n {(this.state.editModel.albaranes || []).length == 0 &&\r\n

No hay envíos

\r\n }\r\n {(this.state.editModel.albaranes || []).length > 0 &&\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n */ }\r\n \r\n \r\n \r\n {this.state.editModel.albaranes.map((albaran, index) => {\r\n\r\n return \r\n \r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n */ }\r\n ;\r\n\r\n })}\r\n \r\n
\r\n {I18n.Strings.pedidosColegio.nombre}\r\n \r\n {I18n.Strings.pedidosColegio.transportista}\r\n \r\n {I18n.Strings.pedidosColegio.numSeguimiento}\r\n \r\n Fecha Expedición\r\n \r\n Estado envío\r\n \r\n {I18n.Strings.pedidosColegio.estado}\r\n
\r\n \r\n {albaran.documentoOrigen}\r\n \r\n {' '}\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.albaranShowDetails = albaran.id;\r\n this.setState(state);\r\n }}\r\n />\r\n \r\n {this.state.editModel.canal != Canal.Dropshipping && <>{I18n.Strings.getEnumText(`Transportista.${albaran.transportista}`)}}\r\n {this.state.editModel.canal == Canal.Dropshipping && <> N/A}\r\n \r\n {this.state.editModel.canal == Canal.Dropshipping && <>Envío directo desde la editorial}\r\n {this.state.editModel.canal != Canal.Dropshipping &&\r\n <>\r\n {(albaran.referenciaSeguimiento || \"\").length == 0\r\n ? N/A\r\n : \r\n {albaran.referenciaSeguimiento}\r\n }\r\n \r\n }\r\n {I18n.Strings.formatDate(albaran.fechaGeneracionEtiqueta)}{I18n.Strings.getEnumText(`EstadoEnvio.${albaran.estadoEnvio}`)}{I18n.Strings.getEnumText(`EstadoAlbaran.${albaran.estado}`)}
\r\n }\r\n\r\n {albaranSeleccionado && {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.editModel.albaranShowDetails = null;\r\n this.setState(state);\r\n }}\r\n >\r\n {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.editModel.albaranShowDetails = null;\r\n this.setState(state);\r\n }} >}\r\n >\r\n Detalle de envío - {albaranSeleccionado.documentoOrigen} - {albaranSeleccionado.nombre}\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {albaranSeleccionado.lineas.map((itemA, index) => {\r\n\r\n var itemEnPedido = this.state.editModel.items.find(p => p.productoId == itemA.productoId);\r\n\r\n return \r\n \r\n \r\n \r\n \r\n ;\r\n })}\r\n \r\n
{I18n.Strings.pedidosColegio.isbn}{I18n.Strings.pedidosColegio.producto}{I18n.Strings.pedidosColegio.editorial}{I18n.Strings.pedidosColegio.numUnidades}
\r\n {itemEnPedido.referenciaInterna}\r\n \r\n {itemEnPedido.producto}\r\n \r\n {itemEnPedido.editorial}\r\n \r\n {itemA.numUnidades}\r\n
\r\n
\r\n }\r\n ;\r\n }\r\n\r\n\r\n\r\n protected updateBreadCrumb(model: PedidoColegioDetailResultEx) {\r\n var items = [\r\n {\r\n text: I18n.Strings.pedidosColegio.title,\r\n link: RouteHelper.listPedidosColegio()\r\n },\r\n {\r\n text: this._setPageTitleForExisting(model),\r\n link: null\r\n }\r\n ];\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.detallePedidoColegio(id);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listPedidosColegio();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n\r\n return null;\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n return validation;\r\n }\r\n}\r\n\r\nexport const Edit = withRouter(EditComp);","import { stat } from \"fs\";\r\nimport * as React from \"react\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport { Button, Col, FormGroup, Input, Label } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { ColegiosDropDown } from \"../colegios/ColegiosDropDown\";\r\nimport { CustomDatePicker } from \"../helpers/CustomDatePicker\";\r\nimport { EstadoPedidoScholarumDropDown } from \"../helpers/EnumDropDown\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { LicenciaContenidosEditTabs } from \"../licenciasColegio/Edit\";\r\nimport { EstadoPedidoScholarum, PedidoColegioListItem, PedidoColegioListItemPaginatedList, PedidosColegioSearch, PedidosTiendaSearch, PedidoTiendaListItem, PedidoTiendaListItemPaginatedList, SortDirection, TipoUsuario } from \"../models/dataModels\";\r\nimport { IServiceForIndex } from \"../utils/base/BaseServices\";\r\nimport { IndexPageBase, TableColumn } from \"../utils/base/IndexPageBase\";\r\nimport { ClientContext } from \"../utils/ClientContext\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { ExcelIcon } from \"../utils/Icons\";\r\nimport { toCamelCase } from \"../utils/ValuesFormatter\";\r\nimport { PedidosColegioService } from \"../pedidosColegio/PedidosColegioService\";\r\n\r\n\r\ninterface PedidosColegioSearchEx extends PedidosColegioSearch {\r\n colegio: string;\r\n}\r\n\r\nclass IndexComp extends IndexPageBase\r\n{\r\n\r\n protected _getInitialSearchParams(): PedidosColegioSearchEx {\r\n\r\n\r\n let fromDate = new Date();\r\n fromDate.setDate(fromDate.getDate() - 6);\r\n\r\n let model = super._getInitialSearchParams();\r\n //model.fechaCompraFrom = fromDate;\r\n model.orderMode = SortDirection.Desc;\r\n model.colegioId = ClientContext.Current.colegioId;\r\n model.colegio = ClientContext.Current.nombreColegio;\r\n model.soloDevoluciones = true;\r\n return model;\r\n }\r\n\r\n protected _getApiService(): IServiceForIndex {\r\n return new PedidosColegioService();\r\n }\r\n\r\n\r\n protected _enableExcelExport() {\r\n return true;\r\n }\r\n\r\n\r\n protected _renderSearchForm(): React.ReactNode {\r\n\r\n if (this.props.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return \r\n\r\n \r\n \r\n\r\n {\r\n\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.colegioId = colegioId;\r\n state.searchParams.colegio = colegioNombre;\r\n this.setState(state);\r\n }}\r\n id={nameof(this.state.searchParams.colegioId)}\r\n selectedItemValue={this.state.searchParams.colegioId || 0}\r\n selectedItemText={this.state.searchParams.colegio || \"\"}\r\n emptyText=\"\"\r\n />\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.nombre = evt.target.value;\r\n this.setState(state);\r\n }}\r\n placeholder={I18n.Strings.pedidosColegio.nombre + \"...\"}\r\n type=\"text\"\r\n maxLength={100}\r\n className={\"form-control\"}\r\n name={nameof(this.state.searchParams.nombre)}\r\n id={\"usuarios\" + nameof(this.state.searchParams.nombre)}\r\n value={this.state.searchParams.nombre || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.fechaPresupuestoFrom = val;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n var state = this._cloneStateForSetState();\r\n state.searchParams.fechaPresupuestoTo = val;\r\n this.setState(state, () => this._performSearch());\r\n }}\r\n />\r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n\r\n\r\n protected _getTableColumns(): TableColumn[] {\r\n\r\n let columns = [];\r\n\r\n columns.push({\r\n fieldName: nameof(this.state.searchResults.items[0].nombre),\r\n title: I18n.Strings.pedidosColegio.nombre,\r\n renderField: (item: PedidoColegioListItem) => item.nombre\r\n });\r\n\r\n if (ClientContext.Current.tipoUsuario == TipoUsuario.AdminGlobal) {\r\n columns.push({\r\n fieldName: nameof(this.state.searchResults.items[0].colegio),\r\n title: toCamelCase(I18n.Strings.colegio.entityName),\r\n renderField: (item: PedidoColegioListItem) => item.colegio,\r\n\r\n });\r\n }\r\n\r\n columns.push({\r\n fieldName: nameof(this.state.searchResults.items[0].fechaPresupuesto),\r\n title: I18n.Strings.pedidosColegio.fechaDevolucion,\r\n renderField: (item: PedidoColegioListItem) => I18n.Strings.formatDate(item.fechaPresupuesto)\r\n });\r\n\r\n columns.push({\r\n fieldName: nameof(this.state.searchResults.items[0].numItems),\r\n title: I18n.Strings.pedidosColegio.numUnidadesDevueltas,\r\n renderField: (item: PedidoColegioListItem) => {\r\n return I18n.Strings.formatNumber(Math.abs(item.numItems));\r\n }\r\n });\r\n\r\n // TODO: Meter el numero total de unidades pedidas\r\n\r\n // TODO: Quitamos los pedidos cancelados\r\n\r\n // TODO: Filtrar las devoluciones: Tipo de Operación - devolución o Nombre PVA - DEV\r\n\r\n return columns;\r\n }\r\n\r\n\r\n protected _getPageTitle(): string {\r\n return I18n.Strings.pedidosColegio.devolucionTitle;\r\n }\r\n protected _getPageDescription(): string {\r\n return I18n.Strings.pedidosColegio.devolucionDescription;\r\n }\r\n\r\n protected _getNewItemUrl(): string {\r\n return null;\r\n }\r\n\r\n protected _getEditionItemUrl(item: PedidoColegioListItem): string {\r\n return RouteHelper.detalleDevolucionesColegio(item.id);\r\n }\r\n\r\n}\r\n\r\nexport const Index = withRouter(IndexComp);","import { stat } from \"fs\";\r\nimport * as React from \"react\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport { Button, Col, FormGroup, Input, Label, Modal, ModalBody, ModalHeader, Row } from \"reactstrap\";\r\nimport nameof from \"ts-nameof.macro\";\r\nimport { RouteHelper } from \"../IntranetRouter\";\r\nimport { LicenciaContenidosEditTabs } from \"../licenciasColegio/Edit\";\r\nimport { LineaPedidoColegioListItem, PedidoColegioDetailResult } from \"../models/dataModels\";\r\nimport { AlertsService } from \"../utils/AlertsService\";\r\nimport { IServiceForEdit } from \"../utils/base/BaseServices\";\r\nimport { NavigationHelper } from \"../utils/base/Breadcrumb\";\r\nimport { EditPageBase } from \"../utils/base/EditPageBase\";\r\nimport { GenericEditState } from \"../utils/base/GenericEditState\";\r\nimport { ModelValidation } from \"../utils/base/ModelValidation\";\r\nimport { I18n } from \"../utils/I18n\";\r\nimport { UserIcon, ViewIcon } from \"../utils/Icons\";\r\nimport { PedidosColegioService } from \"../pedidosColegio/PedidosColegioService\";\r\n\r\n\r\ninterface PedidoColegioDetailResultEx extends PedidoColegioDetailResult {\r\n albaranShowDetails: number;\r\n}\r\n\r\nexport class EditComp extends EditPageBase {\r\n\r\n protected _setPageTitleForNew(): string {\r\n return \"N/A\"\r\n }\r\n\r\n protected _setPageTitleForExisting(editModel: PedidoColegioDetailResultEx): string {\r\n return `Ver devolución ${editModel.nombre}`;\r\n }\r\n\r\n protected _createApiService(): IServiceForEdit {\r\n return new PedidosColegioService() as any as IServiceForEdit;\r\n }\r\n\r\n protected _generateForm(): JSX.Element {\r\n return \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n {this._pintarTablaLineas(\r\n this.state.editModel.items,\r\n I18n.Strings.pedidosColegio.lineasPedido)\r\n }\r\n\r\n ;\r\n }\r\n\r\n private calculaClaseNumUnidadesEnFinal(item: LineaPedidoColegioListItem): string {\r\n\r\n if (item.numUnidadesFinalizadas == 0 && item.numUnidades != 0) {\r\n return \"text-danger\";\r\n }\r\n if (item.numUnidadesFinalizadas == item.numUnidades) {\r\n return \"text-success\";\r\n }\r\n\r\n return \"text-warning\";\r\n }\r\n\r\n private _pintarTablaLineas(items: LineaPedidoColegioListItem[], titulo: string): JSX.Element {\r\n\r\n var albaranSeleccionado = this.state.editModel.albaranShowDetails == null\r\n ? null\r\n : this.state.editModel.albaranes.find(a => a.id == this.state.editModel.albaranShowDetails);\r\n\r\n return <>\r\n

{titulo}

\r\n {items.length == 0 &&\r\n \r\n No hay elementos\r\n \r\n }\r\n {items.length != 0 &&\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {items.map((item, index) => {\r\n\r\n return \r\n \r\n \r\n \r\n \r\n ;\r\n })}\r\n \r\n
{I18n.Strings.pedidosColegio.isbn}{I18n.Strings.pedidosColegio.producto}{I18n.Strings.pedidosColegio.editorial}{I18n.Strings.pedidosColegio.numUnidades}
{item.referenciaInterna}{item.producto}{item.editorial}{item.numUnidades}
\r\n }\r\n {/*\r\n

{I18n.Strings.pedidosColegio.envios}

\r\n {(this.state.editModel.albaranes || []).length == 0 &&\r\n

No hay envíos

\r\n }\r\n {(this.state.editModel.albaranes || []).length > 0 &&\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {this.state.editModel.albaranes.map((albaran, index) => {\r\n\r\n return \r\n \r\n \r\n \r\n \r\n \r\n\r\n ;\r\n\r\n })}\r\n \r\n
\r\n {I18n.Strings.pedidosColegio.nombre}\r\n \r\n {I18n.Strings.pedidosColegio.transportista}\r\n \r\n {I18n.Strings.pedidosColegio.numSeguimiento}\r\n \r\n Fecha Expedición\r\n \r\n Estado envío\r\n
\r\n \r\n {albaran.documentoOrigen}\r\n \r\n {' '}\r\n {\r\n var state = this._cloneStateForSetState();\r\n state.editModel.albaranShowDetails = albaran.id;\r\n this.setState(state);\r\n }}\r\n />\r\n {I18n.Strings.getEnumText(`Transportista.${albaran.transportista}`)}\r\n {\r\n (albaran.referenciaSeguimiento || \"\").length == 0\r\n ? N/A\r\n : \r\n {albaran.referenciaSeguimiento}\r\n \r\n }\r\n {I18n.Strings.formatDate(albaran.fechaGeneracionEtiqueta)}{I18n.Strings.getEnumText(`EstadoEnvio.${albaran.estadoEnvio}`)}
\r\n }\r\n\r\n {albaranSeleccionado && {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.editModel.albaranShowDetails = null;\r\n this.setState(state);\r\n }}\r\n >\r\n {\r\n var state = this._cloneStateForSetState();\r\n\r\n state.editModel.albaranShowDetails = null;\r\n this.setState(state);\r\n }} >}\r\n >\r\n Detalle de envío - {albaranSeleccionado.documentoOrigen} - {albaranSeleccionado.nombre}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {albaranSeleccionado.lineas.map((itemA, index) => {\r\n\r\n var itemEnPedido = this.state.editModel.items.find(p => p.productoId == itemA.productoId);\r\n\r\n return \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n ;\r\n })}\r\n \r\n
{I18n.Strings.pedidosColegio.isbn}{I18n.Strings.pedidosColegio.producto}{I18n.Strings.pedidosColegio.editorial}{I18n.Strings.pedidosColegio.numUnidadesDevueltas}
\r\n {itemEnPedido.referenciaInterna}\r\n \r\n {itemEnPedido.producto}\r\n \r\n {itemEnPedido.editorial}\r\n \r\n {itemA.numUnidades}\r\n
\r\n
\r\n }\r\n */ }\r\n ;\r\n }\r\n\r\n\r\n\r\n protected updateBreadCrumb(model: PedidoColegioDetailResultEx) {\r\n var items = [\r\n {\r\n text: I18n.Strings.pedidosColegio.devolucionTitle,\r\n link: RouteHelper.listDevolucionesColegio()\r\n },\r\n {\r\n text: this._setPageTitleForExisting(model),\r\n link: null\r\n }\r\n ];\r\n\r\n NavigationHelper.setBreadcrumbItems(items);\r\n\r\n }\r\n\r\n protected _getEditUrl(id: number): string {\r\n return RouteHelper.detalleDevolucionesColegio(id);\r\n }\r\n\r\n protected _getListUrl(): string {\r\n return RouteHelper.listDevolucionesColegio();\r\n }\r\n\r\n protected _createStateForNew(): Promise> {\r\n\r\n\r\n return null;\r\n }\r\n\r\n protected _validateModelLocal(): ModelValidation {\r\n let validation = new ModelValidation();\r\n\r\n return validation;\r\n }\r\n}\r\n\r\nexport const Edit = withRouter(EditComp);","import React from 'react';\r\nimport {\r\n BrowserRouter,\r\n Route,\r\n Switch\r\n} from \"react-router-dom\";\r\nimport { Accesos as AccesosAdmin, AccesosTabs } from './accesos/admin/Accesos';\r\nimport { Accesos as AccesosProfesor } from './accesos/profesor/Accesos';\r\nimport { Edit as EditAccesoDirecto } from \"./accesosDirectos/Edit\";\r\nimport { Index as AccesosDirectos } from \"./accesosDirectos/Index\";\r\nimport { ReportsIndex } from './reports/ReportsIndex';\r\nimport { AliasEditorialEditTabs, Edit as EditAliasEditoriales } from \"./aliasEditoriales/Edit\";\r\nimport { Index as AliasEditoriales } from \"./aliasEditoriales/Index\";\r\nimport { CargaFicherosTabs, Index as CargaFicheros } from \"./cargaFicheros/Index\";\r\nimport { Detail as DetailCargaFicheros } from \"./cargaFicheros/Detail\";\r\nimport { Edit as EditMiClaseProfesor, MiClaseEditTabs as ViewMiClaseEditTabs } from \"./clases/profesor/Edit\";\r\nimport { MisClases as MisClasesProfesor } from \"./clases/profesor/MisClases\";\r\nimport { Edit as EditUsuariosColegio, UsuarioEditTabs } from \"./colegioUsuarios/Edit\";\r\nimport { Index as UsuariosColegio } from \"./colegioUsuarios/Index\";\r\n\r\nimport { ContenidoColegioEditTabs, EditContenidoColegio as EditContenidosColegio } from \"./contenidos/colegio/EditContenidoColegio\";\r\nimport { IndexContenidoColegio as ContenidosColegio } from \"./contenidos/colegio/IndexContenidoColegio\";\r\n\r\n\r\nimport { IndexContenidoPapelColegio as ContenidosPapelColegio } from \"./contenidos/colegioPapel/IndexContenidoPapelColegio\";\r\n\r\n\r\nimport { ContenidoEditTabs, Edit as EditContenidos } from \"./contenidos/maestros/Edit\";\r\nimport { Index as Contenidos } from \"./contenidos/maestros/Index\";\r\nimport { Edit as EditCredenciales } from \"./credenciales/Edit\";\r\nimport { Index as Credenciales } from \"./credenciales/Index\";\r\nimport { Edit as EditGrupoClase, GrupoClaseEditTabs } from \"./cursoEscolar/clase/Edit\";\r\nimport { Edit as EditCursoEscolar } from \"./cursoEscolar/Edit\";\r\nimport { Index as CursoEscolar } from \"./cursoEscolar/Index\";\r\nimport Home from './home/Home';\r\nimport NotFound from './home/NotFound';\r\nimport { Edit as EditMiLicenciaAlumno } from \"./licenciasColegio/alumno/Edit\";\r\nimport { Edit as EditLicenciasColegio, LicenciaContenidosEditTabs } from \"./licenciasColegio/Edit\";\r\nimport { Index as LicenciasColegio } from \"./licenciasColegio/Index\";\r\nimport { MisLicencias } from \"./licenciasColegio/MisLicencias\";\r\nimport { Edit as EditMiLicenciaProfesor, LicenciaUsuarioEditTabs } from \"./licenciasColegio/profesor/Edit\";\r\nimport { AuthenticatedSection, UnAuthenticatedSection } from './login/AuthSections';\r\nimport { Login } from './login/Login';\r\nimport { LoginUserError } from './login/LoginUserError';\r\nimport { Edit as EditMatricula } from \"./matriculas/Edit\";\r\nimport { Index as Matriculas } from \"./matriculas/Index\";\r\nimport { Edit as MiPerfilAdmin } from \"./miPerfil/admin/Edit\";\r\nimport { Edit as MiPerfilAlumno } from \"./miPerfil/alumno/Edit\";\r\nimport { ColegioEditTabs, Edit as MiPerfilColegio } from \"./miPerfil/colegio/Edit\";\r\nimport { Edit as MiPerfilProfesor, ProfesorEditTabs } from \"./miPerfil/profesor/Edit\";\r\nimport { Edit as EditMiMatricula } from \"./miPerfil/profesor/matriculas/Edit\";\r\nimport { Index as MisMatriculas } from \"./miPerfil/profesor/matriculas/Index\";\r\nimport { TipoUsuario } from './models/dataModels';\r\nimport { Edit as EditNivelesContenidos } from \"./nivelesContenidos/Edit\";\r\nimport { Index as NivelesContenidos } from \"./nivelesContenidos/Index\";\r\nimport { Index as Notificaciones } from \"./notificaciones/Index\";\r\nimport { View as ViewNotificacion } from \"./notificaciones/View\";\r\nimport { AuthService } from './services/AuthService';\r\nimport { AlertDisplayer, AlertsService } from './utils/AlertsService';\r\nimport { AuthenticatedMaster } from './utils/AuthenticatedMaster';\r\nimport { ClientContext } from './utils/ClientContext';\r\nimport { Loading } from './utils/Loading';\r\nimport { logAndExtractInfoFromException } from './utils/ValuesFormatter';\r\n\r\nimport { Index as PedidosTienda } from \"./pedidosTienda/Index\";\r\nimport { Edit as DetallePedidoTienda } from \"./pedidosTienda/Edit\";\r\n\r\nimport { Index as PedidosColegio } from \"./pedidosColegio/Index\";\r\nimport { Edit as DetallePedidoColegio } from \"./pedidosColegio/Edit\";\r\n\r\nimport { Index as DevolucionesColegio } from \"./devolucionesColegio/Index\";\r\nimport { Edit as DetalleDevolucionesColegio } from \"./devolucionesColegio/Edit\";\r\n\r\ninterface RouteState {\r\n context: ClientContext;\r\n loading: boolean;\r\n}\r\n\r\nexport class IntranetRouter extends React.Component {\r\n\r\n\r\n private shouldCancel: boolean;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n\r\n this.state = {\r\n context: null,\r\n loading: true\r\n };\r\n this.shouldCancel = false;\r\n }\r\n\r\n public componentDidMount() {\r\n this.readUserContext()\r\n .then(ctx => {\r\n this.setState({\r\n context: ctx,\r\n loading: false\r\n });\r\n })\r\n .catch((error: any) => {\r\n\r\n if (error.error == \"login_required\") {\r\n var authService = new AuthService();\r\n authService.login();\r\n }\r\n else {\r\n AlertsService.showError(error, () => {\r\n var authService = new AuthService();\r\n authService.logout();\r\n });\r\n }\r\n });\r\n }\r\n\r\n public componentWillUnmount() {\r\n this.shouldCancel = true;\r\n }\r\n\r\n private readUserContext = (): Promise => {\r\n\r\n var prom = ClientContext.init()\r\n .then(context => {\r\n\r\n if (!this.shouldCancel) {\r\n\r\n return context;\r\n }\r\n return null;\r\n });\r\n\r\n return prom;\r\n };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n alert(logAndExtractInfoFromException(error));\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n // También puedes registrar el error en un servicio de reporte de errores\r\n alert(logAndExtractInfoFromException(error));\r\n }\r\n\r\n public render() {\r\n if (!this.state.loading && this.state.context == null) {\r\n var authService = new AuthService();\r\n authService.login();\r\n return;\r\n }\r\n\r\n return \r\n\r\n AlertsService.setMaster(ref)} />\r\n\r\n {this.state.loading && }\r\n\r\n {!this.state.loading &&\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n } />\r\n } />\r\n } />\r\n\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n\r\n\r\n \r\n \r\n \r\n \r\n {/* */}\r\n\r\n \r\n\r\n\r\n }\r\n />\r\n }\r\n />\r\n\r\n } />\r\n } />\r\n\r\n } />\r\n } />\r\n\r\n\r\n \r\n \r\n \r\n } />\r\n } />\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n ClientContext.Current.tipoUsuario == TipoUsuario.Profesor ?\r\n :\r\n \r\n } />\r\n\r\n \r\n ClientContext.Current.tipoUsuario == TipoUsuario.Profesor ?\r\n : \r\n } />\r\n\r\n \r\n ClientContext.Current.tipoUsuario == TipoUsuario.Profesor ?\r\n : \r\n } />\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n } />\r\n \r\n\r\n } />\r\n } />\r\n\r\n\r\n } />\r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* Esto creo que ya nos va sobrando (va embebido) */}\r\n \r\n \r\n\r\n\r\n \r\n } />\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n }\r\n />\r\n\r\n } />\r\n \r\n \r\n } />\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n }\r\n ;\r\n }\r\n}\r\n\r\n\r\nexport class RouteHelper {\r\n\r\n static home(): string {\r\n return \"/\";\r\n }\r\n\r\n static loginUserError(): string {\r\n return \"/loginUserError\";\r\n }\r\n\r\n static reports(): string {\r\n return \"/reports\";\r\n }\r\n\r\n static myProfileTeacher(tab: ColegioEditTabs | string = ColegioEditTabs.Datos): string {\r\n var path = `/teacherprofile`;\r\n if (tab != null) {\r\n path += `/${tab.toString()}`;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n static myProfileAdmin(): string {\r\n return \"/adminprofile\";\r\n }\r\n\r\n static myProfileStudent(): string {\r\n return \"/profile\";\r\n }\r\n\r\n static myProfileSchool(tab: ColegioEditTabs | string = ColegioEditTabs.Datos): string {\r\n var path = `/schoolprofile`;\r\n if (tab != null) {\r\n path += `/${tab.toString()}`;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n static listMyLicenses(): string {\r\n return \"/mis-licencias\";\r\n }\r\n static detailMyLicenses(id: number | string, tab: LicenciaUsuarioEditTabs | string = null): string {\r\n var path = `/mis-licencias/${id}`;\r\n\r\n if (tab != null) {\r\n path += `/${tab.toString()}`;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n static createMyLicenses(): string {\r\n\r\n return `/mis-licencias/create`;\r\n }\r\n\r\n static listUsuariosColegio(): string {\r\n return \"/usuarios-colegio\";\r\n }\r\n\r\n static createUsuariosColegio(): string {\r\n return \"/usuarios-colegio/create\";\r\n }\r\n\r\n static editUsuarioColegio(id: number | string,\r\n tab: UsuarioEditTabs | string = ColegioEditTabs.Datos): string {\r\n var path = `/usuarios-colegio/${id}`;\r\n\r\n if (tab != null) {\r\n path += `/${tab.toString()}`;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n\r\n static listLicenciasColegio(usuarioId?: number, contenidoColegioId?: number): string {\r\n if (usuarioId != null) {\r\n\r\n return this.editUsuarioColegio(usuarioId, UsuarioEditTabs.Licencias);\r\n }\r\n else if (contenidoColegioId != null) {\r\n return this.editContenidosColegio(contenidoColegioId, ContenidoColegioEditTabs.Licencias)\r\n }\r\n return `/licencias-colegio/`\r\n }\r\n\r\n static editLicenciasColegio(id: number | string,\r\n usuarioId: number | string,\r\n contenidoId: number | string,\r\n tab: LicenciaContenidosEditTabs | string): string {\r\n\r\n if (usuarioId != null) {\r\n var path = `/usuarios-colegio/${usuarioId}/licencias-colegio/${id}/${tab.toString()}`;\r\n return path\r\n }\r\n else if (contenidoId != null) {\r\n var path = `/contenidos-colegio/${contenidoId}/licencias-colegio/${id}/${tab.toString()}`;\r\n return path;\r\n }\r\n var path = `/licencias-colegio/${id}/${tab.toString()}`;\r\n return path;\r\n }\r\n\r\n static createLicenciasColegio(usuarioId?: number | string, contenidoId?: number | string): string {\r\n\r\n if (usuarioId != null) {\r\n return `/usuarios-colegio/${usuarioId}/licencias-colegio/create`;\r\n }\r\n else if (contenidoId != null) {\r\n return `/contenidos-colegio/${contenidoId}/licencias-colegio/create`;\r\n }\r\n return `/licencias-colegio/create`;\r\n }\r\n\r\n static listEstadisticasAdmin(tab: AccesosTabs | string = AccesosTabs.Accesos): string {\r\n var path = `/estadisticas`;\r\n if (tab != null) {\r\n path += `/${tab.toString()}`;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n static listEstadisticasProfesor(usuarioId: number | string,\r\n tab: AccesosTabs | string = AccesosTabs.Accesos): string {\r\n var path = `/estadisticasProfesor/${usuarioId}`;\r\n if (tab != null) {\r\n path += `/${tab.toString()}`;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n static cargaFicheros(tab: CargaFicherosTabs | string = CargaFicherosTabs.Listado): string {\r\n var path = `/carga-ficheros`;\r\n if (tab != null) {\r\n path += `/${tab.toString()}`;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n static detailCargaFicheros(id: number | string): string {\r\n var path = `/carga-ficheros/detail/${id}`;\r\n\r\n return path;\r\n }\r\n\r\n\r\n static listCursosEscolares(): string {\r\n return \"/curso-escolar\";\r\n }\r\n\r\n static createCursoEscolar(returnUrl?: string): string {\r\n var parametro = returnUrl != null ? `?returnUrl=${encodeURIComponent(returnUrl)}` : '';\r\n return `/curso-escolar/create${parametro}`;\r\n }\r\n\r\n static editCursoEscolar(id: number | string, returnUrl?: string): string {\r\n var parametro = '';\r\n if (returnUrl != null) {\r\n parametro = `?returnUrl=${encodeURIComponent(returnUrl)}`;\r\n }\r\n return `/curso-escolar/${id}${parametro}`;\r\n }\r\n\r\n static editGrupoClase(id: number | string,\r\n cursoEscolarId?: number | string,\r\n tab: GrupoClaseEditTabs | string = GrupoClaseEditTabs.Datos): string {\r\n var path = `/clase/${id}`;\r\n\r\n if (cursoEscolarId != null) {\r\n path = `/curso-escolar/${cursoEscolarId}/clase/${id}`;\r\n }\r\n\r\n if (tab != null) {\r\n path += `/${tab.toString()}`;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n\r\n static listContenidos(): string {\r\n return \"/contenidos\";\r\n }\r\n static createContenidos(): string {\r\n return \"/contenidos/create\";\r\n }\r\n\r\n static editContenidos(id: number | string, tab: ContenidoEditTabs | string): string {\r\n var path = `/contenidos/${id}/${tab.toString()}`;\r\n\r\n return path;\r\n }\r\n\r\n static listContenidosColegio(): string {\r\n return \"/contenidos-colegio\";\r\n }\r\n\r\n static editContenidosColegio(id: number | string, tab: ContenidoColegioEditTabs | string = ContenidoColegioEditTabs.Datos): string {\r\n var path = `/contenidos-colegio/${id}`;\r\n if (tab != null) {\r\n path += `/${tab.toString()}`;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n static listContenidosPapelColegio(): string {\r\n return \"/contenidos-papel-colegio\";\r\n }\r\n\r\n static editContenidosPapelColegio(id: number | string, tab: ContenidoColegioEditTabs | string = ContenidoColegioEditTabs.Datos): string {\r\n var path = `/contenidos-papel-colegio/${id}`;\r\n if (tab != null) {\r\n path += `/${tab.toString()}`;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n static listCredencialesColegio(): string {\r\n return RouteHelper.myProfileSchool(ColegioEditTabs.Credenciales);\r\n }\r\n\r\n static createCredenciales(returnUrl?: string): string {\r\n var parametro = returnUrl != null ? `?returnUrl=${encodeURIComponent(returnUrl)}` : '';\r\n return `/schoolprofile/credenciales/create${parametro}`;\r\n }\r\n\r\n static editCredenciales(id: number | string, returnUrl?: string): string {\r\n var parametro = '';\r\n if (returnUrl != null) {\r\n parametro = `?returnUrl=${encodeURIComponent(returnUrl)}`;\r\n }\r\n return `/schoolprofile/credenciales/${id}${parametro}`;\r\n }\r\n\r\n static listMisMatriculas(): string {\r\n return RouteHelper.myProfileTeacher(ProfesorEditTabs.MisClases);\r\n }\r\n\r\n static editMiMatriculaProfesor(id: number | string, usuarioId: number | string): string {\r\n\r\n return `/usuarios-colegio/${usuarioId}/mis-matriculas/${id}`;\r\n }\r\n\r\n static createMiMatriculaProfesor(usuarioId: number): string {\r\n\r\n return `/usuarios-colegio/${usuarioId}/mis-matriculas/create`;\r\n }\r\n\r\n static listMisClasesProfesor(): string {\r\n return `/mis-clases`;\r\n }\r\n\r\n static editMiClaseProfesor(id: number | string, tab: ViewMiClaseEditTabs | string = ViewMiClaseEditTabs.Datos): string {\r\n var path = `/mis-clases/${id}`;\r\n\r\n if (tab != null) {\r\n path += `/${tab.toString()}`;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n static listMatriculas(usuarioId?: number): string {\r\n if (usuarioId != null) {\r\n\r\n return this.editUsuarioColegio(usuarioId, UsuarioEditTabs.Matriculas);\r\n }\r\n return \"/matriculas\";\r\n }\r\n\r\n static createMatricula(usuarioId?: number): string {\r\n\r\n if (usuarioId != null) {\r\n return `/usuarios-colegio/${usuarioId}/matriculas/create`;\r\n }\r\n return `/matriculas/create`;\r\n }\r\n\r\n static editMatricula(id: number | string, usuarioId?: number | string): string {\r\n\r\n if (usuarioId != null) {\r\n return `/usuarios-colegio/${usuarioId}/matriculas/${id}`;\r\n }\r\n return `/matriculas/${id}`;\r\n }\r\n\r\n static listNivelesContenidos(contenidoId?: number): string {\r\n if (contenidoId != null) {\r\n return this.editContenidosColegio(contenidoId, ContenidoColegioEditTabs.Niveles);\r\n }\r\n return \"/niveles-contenidos\";\r\n }\r\n\r\n static createNivelesContenido(contenidoId?: number): string {\r\n\r\n if (contenidoId != null) {\r\n return `/contenidos-colegio/${contenidoId}/niveles-contenidos/create`;\r\n }\r\n\r\n return `/niveles-contenidos/create`;\r\n }\r\n\r\n static editNivelContenido(id: number | string, contenidoId?: number | string): string {\r\n\r\n if (contenidoId != null) {\r\n return `/contenidos-colegio/${contenidoId}/niveles-contenidos/${id}`;\r\n }\r\n\r\n return `/niveles-contenidos/${id}`;\r\n }\r\n\r\n static listAliasEditoriales(): string {\r\n return \"/alias-editoriales\";\r\n }\r\n\r\n static createAliasEditorial(): string {\r\n return `/alias-editoriales/create`;\r\n }\r\n\r\n static editAliasEditorial(id: number | string, tab: AliasEditorialEditTabs | string): string {\r\n return `/alias-editoriales/${id}/${tab.toString()}`;\r\n }\r\n\r\n static listNotificaciones(): string {\r\n return \"/notificaciones\";\r\n }\r\n\r\n static viewNotificacion(id: number | string): string {\r\n return `/notificaciones/${id}`;\r\n }\r\n\r\n\r\n static listAccesosDirectos(): string {\r\n return \"/accesos-directos\";\r\n }\r\n\r\n static createAccesoDirecto(): string {\r\n return \"/accesos-directos/create\";\r\n }\r\n\r\n static editAccesoDirecto(id: number | string): string {\r\n return `/accesos-directos/${id}`;\r\n }\r\n\r\n static listPedidosTienda(): string {\r\n return \"/pedidos-tienda\";\r\n }\r\n\r\n static detallePedidoTienda(id: number | string): string {\r\n return `/pedidos-tienda/${id}`;\r\n }\r\n\r\n static listDevolucionesColegio(): string {\r\n return \"/devoluciones-colegio\";\r\n }\r\n\r\n static detalleDevolucionesColegio(id: number | string): string {\r\n return `/devoluciones-colegio/${id}`;\r\n }\r\n\r\n static listPedidosColegio(): string {\r\n return \"/pedidos-colegio\";\r\n }\r\n\r\n static detallePedidoColegio(id: number | string): string {\r\n return `/pedidos-colegio/${id}`;\r\n }\r\n}","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { IntranetRouter } from \"./IntranetRouter\";\r\nimport { AuthService } from './services/AuthService';\r\nimport { ApiFetcher, Config, ConfigInitializer } from './utils/ApiFetcher';\r\n\r\n// Este es el fichero de inicializacion\r\n\r\n\r\nConfigInitializer.Initialize()\r\n .then((config: Config) => {\r\n ApiFetcher.Init(config);\r\n AuthService.Init(config);\r\n \r\n var authService = new AuthService();\r\n var prom = authService.getUser();\r\n prom.then(user => {\r\n renderApp();\r\n });\r\n\r\n });\r\n\r\n\r\nfunction renderApp() {\r\n ReactDOM.render(\r\n \r\n Cargando...}> \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n );\r\n}\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\n//reportWebVitals();"],"names":["module","exports","obj","__esModule","LicenciaEnlace","props","state","loading","textToShowInError","textToShowInMessage","htmlToInject","style","this","licencia","puedeInteractuar","backgroundColor","className","messageToShow","onDismiss","setState","id","isOpen","toggle","close","onClick","evt","target","classList","contains","navigator","clipboard","writeText","textContent","then","add","setTimeout","remove","catch","err","alert","dangerouslySetInnerHTML","__html","href","accederPlataformaEditorial","src","caratula","alt","nombre","editorialNombre","length","I18n","editorial","clase","preventDefault","ApiFetcher","getByUrl","licenciaContenidoId","result","puedeAcceder","url","abrirUrl","abrirForm","mensajeUsuario","error","logAndExtractInfoFromException","window","open","AlertsService","location","scriptToInject","eval","React","AccedePlataforma","ApprovedState","Canal","CategoriaColegio","Editorial","EstadoAlbaran","EstadoCargaItem","EstadoEnvio","EstadoLicencia","EstadoNotificacion","EstadoPedido","EstadoPedidoColegio","EstadoPedidoScholarum","EstadoUsuario","FormatoContenido","InterfaceLanguage","Origen","OrigenLicencia","SortDirection","TipoAcceso","TipoAccionBurlington","TipoAuditoria","TipoCarga","TipoContenido","TipoEstadistica","TipoGrafico","TipoNotificacion","TipoNotificacionItem","TipoProductoScholarum","TipoProductoTienda","TipoUsuario","TipoUsuarioContenido","Transportista","YesNo","AuthService","userManager","settings","authority","config","stsAuthority","client_id","clientId","redirect_uri","clientRoot","silent_redirect_uri","post_logout_redirect_uri","response_type","scope","clientScope","userStore","WebStorageStateStore","store","localStorage","UserManager","Log","console","getUser","signinRedirect","signinSilent","signoutRedirect","ResultOk","ResultError","ShowMessage","master","onClose","showError","showSuccessMessage","showAlertMessage","AlertDisplayer","errorMessage","alertMessage","okMessage","ConfigInitializer","fetch","configResult","json","configSrv","subdomain","host","split","webApiUrlBase","replace","authService","apiFunction","user","access_token","response","Error","status","renewToken","renewedUser","login","request","bearer","callApi","accessToken","apiUrl","WebApiUrlBase","urlEncodeQueryParams","axios","headers","data","Object","keys","map","key","encodeURIComponent","filter","value","join","ClientContext","usuarioId","imagenPerfilUrl","apellidos","claseActualId","claseActual","estoyImpersonado","tipoUsuario","cursoEscolarActivoId","idioma","colegioId","nombreColegio","logoColegioUrl","estoyClaseGeneral","recargarNiveles","cursosEscolares","Current","find","p","cursoEscolarId","forEach","ce","fechaInicio","Date","fechaInicioCampagna","fechaFinCampagna","fotoUsuario","interfaceLanguage","isDefaultClass","fotoColegio","isImpersonated","globalCache","document","esES","ok","save","saving","edit","search","cancel","validate","changeClass","delete","deleteFisico","deleteConfirmTitle","deleteConfirmBody","success","addNew","results","clean","savedOk","sync","noResults","export","resultsPag","select","genericErrorMessage","errorNotFound","myProfile","schoolProfile","refresh","colegioUsuarios","title","description","activo","subirFoto","grupoClase","claseNueva","elegirClaseNueva","cursoEscolar","estado","repetidor","pendienteValidar","borrado","recuperar","usuarioEstaBorrado","usuarioPendiente","usuarioAlumno","fechaUltimoAcceso","fechaCreacion","fechaModificacion","tabDatos","tabMatriculas","tabMisClases","tabAlumnos","tabAuditoria","tabEstadisticasAccesos","tabEstadisticasContenidos","errorNivelRequired","accesosUltimodia","accesosUltimos7dias","accesosUltimos30dias","soloAlumnosMatriculados","password","passwordConfirmar","menu","misClases","campannas","entityName","pedidos","cliente","estadoScholarum","fechaCompra","fechaCompraFrom","fechaCompraTo","numPedido","sku","producto","cantPedida","cantDevuelta","licencias","fechaDeProcesoEnJob","tipo","numPedidos","isbns","syncEstePedido","descuento","descuentoDescrip","pedidosColegio","devolucionTitle","devolucionDescription","fechaPresupuesto","fechaCompromiso","total","isbn","fechaPresupuestoFrom","fechaPresupuestoTo","fechaCompromisoFrom","fechaCompromisoTo","precioUnidad","lineasPedido","numUnidades","numUnidadesEnPrep","numUnidadesEnFinal","envios","fecha","transportista","numSeguimiento","numUnidadesReservadas","numUnidadesDevueltas","fechaDevolucion","fechaDevolucionFrom","fechaDevolucionTo","destinatario","compannia","calle","calle2","ciudad","provincia","codPostal","pais","entradasAuditoria","tipoAuditoria","descripcion","usuarioAccion","usuarioDatos","unirUsuarios","titulo","usuarioEliminar","usuarioDestino","usuariosRepetidos","emularUsuario","yaEstaEmulando","volverAMiUsuario","home","saludo","subtituloPrincipal","nombreCentro","errorAlumnoSinNivelEducativo","direccion","errorUsuarioSinTipo","noHayCursoEscolarActivoTitle","noHayCursoEscolarActivoBody","colegiocredenciales","tipoLicencia","pwd","deshabilitarAcceso","mensajeDeshabilitarAcceso","urlAcceso","createDefault","accesosDirectos","urlEnlace","abrirEnNuevaVentana","noTieneCredenciales","noTieneContenidoAccesible","accesoLicenciaNoAccedePlataformaMuestraCredenciales","accesoLicenciaNoAccedePlataformaNoMuestraCredenciales","accesoVirtualProduct","formatAccesoLicenciaNoAccedePlataforma","credencialesEnBruto","credenciales","formatCredenciales","valueObj","User","Password","JSON","parse","diagnostico","alertasColegio","alertasPlataforma","cursoEscolarMasDeUnActivo","cursoEscolarNoHayActivo","cursoEscolarActivoSinAlumnos","contenidosEditorialOK","contenidosEditorialKO","num","materiasNombreOK","materiasNombreKO","licenciasSinCredencialesOK","licenciasSinCredencialesKO","credencialesEditorialesOK","credencialesEditorialesKO","aliasEditorialOK","aliasEditorialKO","matriculasSinLicenciasOK","matriculasSinLicenciasKO","colegio","comunidadAutonoma","tabCursoEscolar","tabCredenciales","identificadorTienda","identificadorCategoriaTienda","sincronizar","sincronizarLicencias","sincronizadoOK","dominiosAutorizados","allowGoogleLogin","allowMicrosoftLogin","allowCustomLogin","comunicarAsignacionLicencias","comunicarCredencialesLicenciasAlAsignar","emailColegio","codMinisterio","nombreColegioPedidosTienda","cargaFicheros","tabUsuarios","tabLicencias","tabListado","subirFicheroEtiqueta","subirFichero","descargarPlantilla","cargarFichero","cargarOtroFichero","numRowsTotal","numRowsOk","numRowsError","numRowsDuplicated","tipoCarga","correctos","duplicados","erroneos","visibleAlumnos","fechaFin","syncroPorDefecto","contenidoAccesibleAlumnos","numeroContenidosDigitales","numContenidos","numeroContenidosPapel","numeroMatriculas","numMatriculas","numeroMaterias","numMaterias","numeroLicencias","numLicencias","estadisticas","subTituloSistema","subTituloContenido","grafico","fechaDesde","fechaHasta","accesosSistema","accesosLibros","noHayLicencias","cuadroMando","setClaseActual","texto","etapa","addEtapa","deleteEtapa","nombreEtapa","deleteEtapaConfirmText","omitirNotificacionLicencias","omitirNotificacionCredenciales","nivelEducativo","addNivel","deleteNivel","nombreNivel","deleteNivelConfirmText","addGrupo","deleteGrupo","nombreGrupo","deleteGrupoConfirmText","misClasesProfesorTitulo","misClasesProfesorTexto","tabOtrosAlumnos","tabContenidos","materias","claseMateria","deleteClaseMateria","nombreClaseMateria","deleteClaseMateriaConfirmText","grupoContenido","materia","lista","addMateria","deleteMateria","addContenido","contenido","deleteContenido","numAlumnos","noHayActividades","alumnosOtrasClasesText","misLicencias","licenciasContenido","entityPluralName","usuario","contenidoBuscador","matricula","tipoAcceso","fechaPedido","configuradoProveedor","origen","tabEstadisticas","tabBurlington","borrarCredenciales","borrarCredencialesWarning","formato","fechaAsignacionCredenciales","asignacionCredencialesNotificada","asignacionLicenciaManual","asignacionLicenciaManualExplicacion","mensajeAccesoManual","tipoAccesoManual","contenidos","contenidosColegioTitle","contenidosMaestrosTitle","tipoContenido","tabEstructura","tabNiveles","todosSeleccionados","nivelesEducativos","clases","noHayEstructura","sincronizarEstructura","sinImagenYEnUso","identificadorEditorial","cambiarTipoAcceso","cambiarTipoAccesoNum","contenidosPapel","contenidosPapelColegioTitle","matriculas","nombreClase","nombreMateria","nombreUsuario","rol","subgrupo","nivelesContenidos","nivel","mostrarAccesoDirecto","tipoAccesoPorDefecto","accedePlataforma","documentUpload","dropHere","errorRequired","dropNotSupported","dropFolderNotSupported","aliasEditorial","alias","pendientes","enUso","numUsos","tabUsos","proveedor","notificaciones","terminado","correcto","marcarComoLeida","marcarSeleccionadosComoLeidos","editar","tipoNotificacion","verTodas","haFinalizadoError","notificacion","procesoEnCola","tipoLinea","todosTiposLineas","haFinalizadoOk","proceso","utils","getServerIp","datepicker","monthNames","month","day","year","grid","allCheckedWarning","validationErrors","thereAreErrors","mustBeANumber","rangeErrorTitle","fieldRequired","invalidDate","validationError","valueRequired","fieldName","valueDuplicated","numberFormatNotValid","formatNotValid","rangeError","minValue","maxValue","dateGreaterThan","minorField","majorField","numberGreaterThan","stringLengthGreaterThan","valuesDontMatch","fieldName1","fieldName2","decimalDigits","toLocaleString","maximumFractionDigits","formatNumber","momentValue","moment","now","diffMinutes","diff","diffHours","formatDateStatic","valorFormateado","format","enumValueFullName","enumTexts","elem","substring","lastIndexOf","toLocaleDateString","_strings","Initialize","language","content","mensaje","message","Loading","useState","show","setShow","useEffect","timer","clearTimeout","downloadFileFromBase64Array","filename","mime","elementId","blob","base64Data","contentType","sliceSize","byteCharacters","atob","bytesLength","slicesCount","Math","ceil","byteArrays","Array","sliceIndex","begin","end","min","bytes","offset","i","charCodeAt","Uint8Array","Blob","type","base64toBlob","msSaveBlob","blobURL","URL","createObjectURL","tempLink","createElement","setAttribute","innerText","download","elementToAppend","body","getElementById","parentElement","appendChild","click","removeChild","revokeObjectURL","validateUrl","_","protocol","showToUser","toCamelCase","initial","txt","charAt","toUpperCase","substr","toLowerCase","t","n","e","r","o","l","call","m","c","d","defineProperty","configurable","enumerable","get","default","prototype","hasOwnProperty","s","self","Function","__g","version","__e","a","toString","slice","Symbol","u","f","v","F","y","G","P","x","B","g","S","b","U","core","W","R","random","concat","apply","arguments","TypeError","isArray","name","some","trim","endsWith","valueOf","writable","inspectSource","String","h","w","push","propertyIsEnumerable","floor","isNaN","constructor","require","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","bind","Promise","resolve","reject","requestData","requestHeaders","isFormData","XMLHttpRequest","loadEvent","xDomain","XDomainRequest","onprogress","ontimeout","auth","username","Authorization","method","params","paramsSerializer","timeout","readyState","responseURL","indexOf","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onerror","isStandardBrowserEnv","cookies","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","val","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","abort","send","Axios","defaults","createInstance","defaultConfig","context","instance","extend","create","instanceConfig","merge","Cancel","CancelToken","isCancel","all","promises","spread","__CANCEL__","executor","resolvePromise","token","reason","throwIfRequested","source","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","unshift","fulfilled","rejected","shift","handlers","use","eject","fn","enhanceError","code","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","baseURL","transformRequest","common","adapter","transformResponse","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","isUndefined","process","getDefaultAdapter","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","stringify","maxContentLength","thisArg","args","E","input","block","charCode","str","output","idx","encode","serializedParams","parts","isDate","toISOString","relativeURL","write","expires","path","domain","secure","cookie","isNumber","toGMTString","isString","match","RegExp","decodeURIComponent","test","originURL","msie","userAgent","urlParsingNode","resolveURL","hash","hostname","port","pathname","requestURL","parsed","normalizedName","ignoreDuplicateOf","line","callback","arr","isFunction","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","hasOwn","classNames","classes","arg","argType","inner","conversions","PI","sourceUnit","targetUnit","precision","converted","pow","parseInt","round","globalScope","ONE","MAX_DIGITS","Decimal","rounding","toExpNeg","toExpPos","LN10","external","decimalError","invalidArgument","exponentOutOfRange","mathfloor","mathpow","isDecimal","BASE","MAX_SAFE_INTEGER","MAX_E","carry","k","len","xd","yd","Ctor","pr","reverse","pop","checkInt32","max","digitsToString","ws","indexOfLastWord","getZeroString","absoluteValue","abs","comparedTo","cmp","j","xdL","ydL","decimalPlaces","dp","dividedBy","div","divide","dividedToIntegerBy","idiv","equals","eq","exponent","getBase10Exponent","greaterThan","gt","greaterThanOrEqualTo","gte","isInteger","isint","isNegative","isneg","isPositive","ispos","isZero","lessThan","lt","lessThanOrEqualTo","lte","logarithm","log","base","wpr","ln","minus","sub","subtract","modulo","mod","q","times","naturalExponential","exp","naturalLogarithm","negated","neg","plus","sd","z","squareRoot","sqrt","toExponential","mul","rL","toDecimalPlaces","todp","rm","toFixed","toInteger","toint","toNumber","toPower","sign","yIsInt","yn","truncate","toPrecision","toSignificantDigits","tosd","toJSON","multiplyInteger","temp","compare","aL","bL","prod","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","denominator","sum","getLn10","zs","c0","numerator","x2","parseDecimal","rd","doRound","xdi","xe","xLTy","isExp","ps","clone","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","set","define","has","prefix","Events","EE","once","addListener","emitter","event","listener","_events","_eventsCount","clearEvent","EventEmitter","__proto__","eventNames","events","names","getOwnPropertySymbols","listeners","ee","listenerCount","emit","a1","a2","a3","a4","a5","removeListener","on","removeAllListeners","off","prefixed","HAS_WEAKSET_SUPPORT","WeakSet","sameValueZeroEqual","isPlainObject","isPromiseLike","isReactElement","$$typeof","getNewCacheFallback","values","getNewCache","createCircularEqualCreator","isEqual","comparator","_comparator","cache","isCacheableA","isCacheableB","hasA","hasB","areArraysEqual","meta","index","areMapsEqual","isValueEqual","size","aValue","aKey","bValue","bKey","OWNER","areObjectsEqual","keysA","reactElementA","reactElementB","areRegExpsEqual","global","ignoreCase","multiline","unicode","sticky","lastIndex","areSetsEqual","HAS_MAP_SUPPORT","Map","HAS_SET_SUPPORT","Set","createComparator","createIsEqual","aShape","bShape","getTime","deepEqual","shallowEqual","circularDeepEqual","circularShallowEqual","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","for","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","readFloatLE","isSlowBuffer","_isBuffer","DataView","getNative","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","entries","clear","entry","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","setCacheAdd","setCacheHas","SetCache","__data__","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","WeakMap","func","array","predicate","resIndex","baseIndexOf","baseTimes","isArguments","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","iteratee","string","object","baseForOwn","baseEach","createBaseEach","collection","isSymbol","current","computed","fromIndex","fromRight","arrayPush","isFlattenable","baseFlatten","depth","isStrict","baseFor","createBaseFor","castPath","toKey","keysFunc","symbolsFunc","getRawTag","objectToString","symToStringTag","toStringTag","other","baseFindIndex","baseIsNaN","strictIndexOf","baseGetTag","isObjectLike","baseIsEqualDeep","baseIsEqual","bitmask","customizer","stack","equalArrays","equalByTag","equalObjects","getTag","argsTag","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","matchData","noCustomizer","objValue","srcValue","COMPARE_PARTIAL_FLAG","isMasked","toSource","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","isLength","typedArrayTags","baseMatches","baseMatchesProperty","identity","property","isPrototype","nativeKeys","isArrayLike","baseIsMatch","getMatchData","matchesStrictComparable","hasIn","isKey","isStrictComparable","arrayMap","baseGet","baseIteratee","baseMap","baseSortBy","baseUnary","compareMultiple","iteratees","orders","nativeCeil","nativeMax","start","step","overRest","setToString","constant","baseSetToString","comparer","sort","symbolProto","symbolToString","baseToString","trimmedEndIndex","reTrimStart","arrayIncludes","arrayIncludesWith","cacheHas","createSet","setToArray","includes","isCommon","seen","outer","seenIndex","stringToPath","baseSlice","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","compareAscending","objCriteria","criteria","othCriteria","ordersLength","coreJsData","eachFunc","iterable","castSlice","hasUnicode","stringToArray","methodName","strSymbols","chr","trailing","findIndexFunc","baseRange","isIterateeCall","toFinite","noop","arraySome","isPartial","arrLength","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","mapToArray","symbolValueOf","tag","byteLength","byteOffset","convert","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","freeGlobal","baseGetAllKeys","getSymbols","isKeyable","baseIsNative","getValue","nativeObjectToString","isOwn","unmasked","arrayFilter","stubArray","nativeGetSymbols","symbol","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ctorString","hasFunc","reHasUnicode","nativeCreate","spreadableSymbol","isConcatSpreadable","reIsUint","reIsDeepProp","reIsPlainProp","maskSrcKey","uid","exec","IE_PROTO","assocIndexOf","splice","getMapData","memoize","overArg","freeExports","nodeType","freeModule","freeProcess","nodeUtil","types","binding","transform","otherArgs","freeSelf","root","shortOut","nativeNow","count","lastCalled","stamp","remaining","pairs","LARGE_ARRAY_SIZE","asciiToArray","unicodeToArray","memoizeCapped","rePropName","reEscapeChar","number","quote","subString","reWhitespace","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsSeq","rsSymbol","reUnicode","nativeMin","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","invokeFunc","time","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","flush","arrayEvery","baseEvery","guard","createFind","defaultValue","baseHasIn","hasPath","baseIsArguments","stubFalse","Buffer","baseIsTypedArray","nodeIsTypedArray","arrayLikeKeys","baseKeys","baseAssignValue","baseExtremum","baseGt","resolver","memoized","Cache","baseLt","baseProperty","basePropertyDeep","range","createRange","baseSome","baseOrderBy","baseRest","sortBy","debounce","INFINITY","remainder","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","baseUniq","upperFirst","createCaseFirst","monthsShortDot","monthsShort","monthsParse","monthsRegex","defineLocale","months","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","weekdays","weekdaysShort","weekdaysMin","weekdaysParseExact","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","hours","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","mm","hh","dd","ww","M","MM","yy","dayOfMonthOrdinalParse","ordinal","week","dow","doy","factory","hookCallback","hooks","setHookCallback","hasOwnProp","isObjectEmpty","res","arrLen","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","flags","parsedParts","isNowValid","_d","invalidWeekday","_strict","bigHour","isFrozen","_isValid","createInvalid","NaN","fun","momentProperties","updateInProgress","copyConfig","to","from","prop","momentPropertiesLen","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","deprecations","deprecateSimple","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","mom","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","aliases","D","dates","date","days","weekday","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","hour","ms","milliseconds","millisecond","minutes","minute","Q","quarters","quarter","seconds","second","gg","weekyears","weekyear","GG","isoweekyears","isoweekyear","weeks","isoweeks","isoweek","years","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","isoWeekday","dayOfYear","weekYear","isoWeekYear","isoWeek","getPrioritizedUnits","unitsObj","unit","priority","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","regex","strictRegex","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","absFloor","toInt","argumentForCoercion","coercedNumber","isFinite","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","set$1","isUTC","getUTCMilliseconds","getMilliseconds","getUTCSeconds","getSeconds","getUTCMinutes","getMinutes","getUTCHours","getHours","getUTCDate","getDate","getUTCDay","getDay","getUTCMonth","getMonth","getUTCFullYear","getFullYear","setUTCMilliseconds","setMilliseconds","setUTCSeconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setHours","setUTCDate","setDate","setUTCFullYear","setFullYear","stringGet","stringSet","prioritized","prioritizedLen","daysInMonth","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","isFormat","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","setUTCMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","UTC","firstWeekOffset","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","isLower","globalLocale","baseConfig","meridiemParse","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","next","loadLocale","isLocaleNameSane","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","getLocale","abbr","parentLocale","updateLocale","tmpLocale","listLocales","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","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","currentDateArray","nowValue","_useUTC","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekdayOverflow","curWeek","createLocal","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","preparse","configFromInput","prototypeMin","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","parseFloat","isValid$1","createInvalid$1","createDuration","Duration","duration","_milliseconds","_days","_data","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","separator","utcOffset","offsetFromString","chunkOffset","matcher","matches","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","direction","period","tmp","isAdding","invalid","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","properties","propertyLen","arrayTest","dataTypeTest","item","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor","keepOffset","toDate","inspect","datetime","suffix","zone","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","unix","toObject","isValid$2","parsingFlags","invalidAt","creationData","localeEras","eras","_eras","since","until","localeErasParse","eraName","narrow","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","eraYearOrdinalParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","proto","createUnix","createInZone","parseZone","preParsePostFormat","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","isDSTShifted","proto$1","get$1","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","th","assign","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","propIsEnumerable","test1","test2","fromCharCode","test3","letter","shouldUseNative","symbols","debug","info","reset","setInterval","clearInterval","Global","_testing","setXMLHttpRequest","sessionStorage","MetadataService","JsonService","_settings","_jsonService","resetSigningKeys","signingKeys","getMetadata","metadata","metadataUrl","getJson","metadataSeed","getIssuer","_getMetadataProperty","getAuthorizationEndpoint","getUserInfoEndpoint","getTokenEndpoint","getCheckSessionIframe","getEndSessionEndpoint","getRevocationEndpoint","getKeysEndpoint","getSigningKeys","_metadataUrl","UrlUtility","addQueryParam","parseUrlFragment","JoseUtil","jws","KeyUtil","X509","crypto","hextob64u","b64tohex","AllowedSigningAlgs","OidcClientSettings","iterator","client_secret","client_authentication","prompt","display","max_age","C","ui_locales","T","acr_values","resource","I","response_mode","filterProtocolClaims","N","loadUserInfo","staleStateAge","O","clockSkew","H","clockService","V","ClockService","K","userInfoJwtIssuer","J","mergeClaims","stateStore","Y","ResponseValidatorCtor","X","ResponseValidator","$","MetadataServiceCtor","Z","extraQueryParams","tt","et","extraTokenParams","rt","_authority","_metadata","_metadataSeed","_signingKeys","_client_id","_client_secret","_response_type","_scope","_redirect_uri","_post_logout_redirect_uri","_client_authentication","_prompt","_display","_max_age","_ui_locales","_acr_values","_resource","_response_mode","_filterProtocolClaims","_loadUserInfo","_staleStateAge","_clockSkew","_clockService","_userInfoJwtIssuer","_mergeClaims","_stateStore","_validator","_metadataService","_extraQueryParams","_extraTokenParams","getEpochTime","_store","_prefix","setItem","getItem","removeItem","_contentTypes","_XMLHttpRequest","_jwtHandler","onload","getResponseHeader","startsWith","postForm","SigninRequest","id_token_hint","login_hint","request_uri","request_type","skipUserInfo","isOidc","isCode","SigninState","nonce","code_verifier","code_challenge","isOAuth","State","created","_id","_created","_request_type","toStorageString","fromStorageString","clearStaleState","OidcClient","createSigninRequest","readSigninResponseState","SigninResponse","processSigninResponse","validateSigninResponse","createSignoutRequest","SignoutRequest","readSignoutResponseState","SignoutResponse","ErrorResponse","processSignoutResponse","validateSignoutResponse","validator","metadataService","TokenClient","exchangeCode","grant_type","exchangeRefreshToken","refresh_token","ReferenceError","error_description","error_uri","session_state","setPrototypeOf","_nonce","_code_verifier","hashString","_code_challenge","hexToBase64Url","_skipUserInfo","getRandomValues","msCrypto","id_token","token_type","profile","expires_at","expires_in","AccessTokenEvents","accessTokenExpiringNotificationTime","accessTokenExpiringTimer","Timer","accessTokenExpiredTimer","_accessTokenExpiringNotificationTime","_accessTokenExpiring","_accessTokenExpired","load","init","unload","addAccessTokenExpiring","addHandler","removeAccessTokenExpiring","removeHandler","addAccessTokenExpired","removeAccessTokenExpired","Event","_name","_callbacks","findIndex","raise","SessionMonitor","CheckSessionIFrame","_userManager","_CheckSessionIFrameCtor","_timer","addUserLoaded","_start","addUserUnloaded","_stop","monitorAnonymousSession","querySessionStatus","sid","_sub","_sid","_checkSessionIFrame","_checkSessionInterval","_stopCheckSessionOnError","_callback","stop","_raiseUserSessionChanged","_raiseUserSignedOut","_raiseUserSignedIn","checkSessionInterval","stopCheckSessionOnError","_url","_interval","_stopOnError","_frame_origin","_frame","visibility","position","width","height","_boundMessageEvent","_message","origin","contentWindow","_session_state","postMessage","TokenRevocationClient","_XMLHttpRequestCtor","revoke","_revoke","CordovaPopupWindow","_promise","_resolve","_reject","features","popupWindowFeatures","popupWindowTarget","startUrl","_isInAppBrowserInstalled","navigate","cordova","_error","_popup","InAppBrowser","_exitCallbackEvent","_exitCallback","_loadStartCallbackEvent","_loadStartCallback","_success","_cleanup","removeEventListener","Version","InMemoryWebStorage","CordovaPopupNavigator","CordovaIFrameNavigator","UserInfoService","_userInfoService","_joseUtil","_tokenClient","_processSigninParams","_validateTokens","_processClaims","isOpenIdConnect","getClaims","_processCode","_validateIdTokenAndAccessToken","_validateIdToken","_validateIdTokenAttributes","validateJwtAttributes","_validateAccessToken","_getSigningKeyForJwt","header","kid","_filterByAlg","alg","_getSigningKeyForJwtWithSingleRetry","parseJwt","payload","validateJwt","kty","at_hash","_getClaimsFromJwt","iss","KEYUTIL","superclass","lib","Base","mixIn","$super","WordArray","words","sigBytes","clamp","enc","Hex","Latin1","Utf8","escape","unescape","BufferedBlockAlgorithm","_nDataBytes","_append","_process","blockSize","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","x64","Word","high","low","toX32","Base64","_map","SHA256","_hash","HmacSHA256","SHA512","nt","HmacSHA512","SHA384","HmacSHA384","fromNumber","fromString","appName","am","DB","DM","DV","FV","F1","F2","fromInt","mp","invDigit","mpl","mph","um","mt2","r2","q3","dlShiftTo","mu","compareTo","revert","reduce","divRemTo","mulTo","multiplyTo","sqrTo","squareTo","ZERO","subTo","copyTo","drShiftTo","fromRadix","lShiftTo","rShiftTo","isEven","negate","toRadix","bitLength","modPowInt","multiplyUpperTo","multiplyLowerTo","dAddOffset","Ce","Te","Re","Rt","It","Dt","Ie","chunkSize","LN2","signum","intValue","dMultiply","testBit","bitwiseTo","shiftLeft","isProbablePrime","nextBytes","changeBit","addTo","modInt","millerRabin","getLowestSetBit","shiftRight","modPow","byteValue","shortValue","toByteArray","and","or","xor","andNot","not","bitCount","setBit","clearBit","flipBit","multiply","divideAndRemainder","modInverse","gcd","square","De","Le","Ne","appVersion","Ue","Be","Oe","je","Me","He","dmp1","dmq1","coeff","Ve","Ke","curve","zinv","qe","fromBigInteger","infinity","doPublic","setPublic","isPublic","isPrivate","encrypt","encryptOAEP","br","MessageDigest","Util","getCanonicalAlgName","getHashLength","Nr","hashHex","Ur","toBigInteger","getX","getY","isInfinity","twice","getInfinity","multiplyTwo","getQ","getA","getB","decodePointHex","getByteLength","getEncoded","toByteArrayUnsigned","decodeFrom","decodeFromHex","add2D","twice2D","multiply2D","isOnCurve","Sr","KJUR","asn1","ASN1Util","integerToByteHex","bigIntToMinTwosComplementsHex","getPEMStringFromHex","Mr","newObject","ASN1Object","DERBoolean","DERInteger","DERBitString","DEROctetString","DERNull","DERObjectIdentifier","DEREnumerated","DERUTF8String","DERNumericString","DERPrintableString","DERTeletexString","DERIA5String","DERUTCTime","DERGeneralizedTime","DERVisibleString","DERBMPString","DERSequence","DERSet","DERTaggedObject","explicit","jsonToASN1HEX","getEncodedHex","oidHexToInt","oidIntToHex","getLengthHexFromValue","hV","hTLV","isModified","getFreshValueHex","hL","hT","getValueHex","setByParam","tlv","DERAbstractString","getString","setString","Dr","setStringHex","hex","DERAbstractTime","localDateToUTC","formatDate","zeroPadding","Pr","setByDateValue","setByDate","DERAbstractStructured","setByASN1ObjectArray","asn1Array","appendASN1Object","setByBigInteger","setByInteger","setValueHex","bigint","int","setHexValueIncludingUnusedBits","setUnusedBitsAndHexValue","setByBinaryString","setByBooleanArray","newFalseArray","bin","setValueOidString","setValueName","x509","OID","name2oid","setValueNameOrOid","oid","withMillis","millis","sortFlag","sortflag","isExplicit","asn1Object","setASN1Object","tage","tagi","wr","Fr","Er","xr","Ar","kr","Cr","Tr","Rr","Ir","qr","Gr","Lr","Jr","Br","Or","jr","Hr","Vr","Kr","Wr","repeat","zr","Yr","Xr","$r","getLblen","getL","getVblen","getVidx","getV","getTLV","getTLVblen","getNextSiblingIdx","getChildIdx","getNthChildIdx","getIdxbyList","getIdxbyListEx","isContextTag","getTLVbyList","getTLVbyListEx","getVbyList","getVbyListEx","getInt","getOID","Qr","getOIDName","oid2name","hextooidstr","dump","ommit_long_octet","isASN1HEX","oidname","x509ExtName","checkStrictDER","isHex","utf8tob64u","b64utoutf8","isBase64","isBase64URL","isIntegerArray","isPrintable","isIA5","isMail","DIGESTINFOHEAD","sha1","sha224","sha256","sha384","sha512","md2","md5","ripemd160","DEFAULTPROVIDER","hmacmd5","hmacsha1","hmacsha224","hmacsha256","hmacsha384","hmacsha512","hmacripemd160","MD5withRSA","SHA1withRSA","SHA224withRSA","SHA256withRSA","SHA384withRSA","SHA512withRSA","RIPEMD160withRSA","MD5withECDSA","SHA1withECDSA","SHA224withECDSA","SHA256withECDSA","SHA384withECDSA","SHA512withECDSA","RIPEMD160withECDSA","SHA1withDSA","SHA224withDSA","SHA256withDSA","MD5withRSAandMGF1","SHAwithRSAandMGF1","SHA1withRSAandMGF1","SHA224withRSAandMGF1","SHA256withRSAandMGF1","SHA384withRSAandMGF1","SHA512withRSAandMGF1","RIPEMD160withRSAandMGF1","CRYPTOJSMESSAGEDIGESTNAME","MD5","SHA1","SHA224","RIPEMD160","getDigestInfoHex","getPaddedDigestInfoHex","digestString","digestHex","sha256Hex","sha512Hex","DSA","ECDSA","prov","SECURERANDOMGEN","getRandomHexOfNbytes","getRandomBigIntegerOfNbytes","getRandomHexOfNbits","getRandomBigIntegerOfNbits","getRandomBigIntegerZeroToMax","getRandomBigIntegerMinToMax","setAlgAndProvider","md","updateString","updateHex","digest","sjcl","codec","toBits","fromBits","algName","provName","HASHLENGTH","Mac","algProv","mac","pass","doFinal","doFinalString","doFinalHex","setPassword","utf8","rstr","b64","b64u","Signature","_setAlgNames","mdAlgName","pubkeyAlgName","_zeroPaddingOfSignature","Zr","getKey","prvKey","pubKey","sHashHex","ecprvhex","eccurvename","prv","hSign","signWithMessageHashPSS","pssSaltLen","signWithMessageHash","signString","signHex","verify","ecpubhex","pub","verifyWithMessageHashPSS","verifyWithMessageHash","algProvName","initParams","psssaltlen","prvkeypem","prvkeypas","Cipher","getAlgByKeyAndName","decrypt","decryptOAEP","oidhex2name","ECParameterDB","getName","getBigRandom","setNamedCurve","ecparams","getByName","prvKeyHex","pubKeyHex","curveName","setPrivateKeyHex","setPublicKeyHex","getPublicKeyXYHex","keylen","getShortNISTPCurveName","generateKeyPairHex","biRSSigToASN1Sig","fromByteArrayUnsigned","serializeSig","verifyHex","parseSigHex","verifyRaw","Bitcoin","parseSig","toByteArraySigned","parseSigCompact","readPKCS5PrvKeyHex","readPKCS8PrvKeyHex","readPKCS8PubKeyHex","readCertPubKeyHex","parseSigHexInHexRS","asn1SigToConcatSig","concatSigToASN1Sig","hexRSSigToASN1Sig","regist","AES","iv","ciphertext","proc","eproc","ivlen","TripleDES","DES","cipher","ivsalt","keyhex","ivhex","parsePKCS5PEM","getKeyAndUnusedIvByPasscodeAndIvsalt","decryptKeyB64","getDecryptedKeyHex","getEncryptedPKCS5PEMFromPrvKeyHex","parseHexOfEncryptedPKCS8","encryptionSchemeAlg","encryptionSchemeIV","pbkdf2Salt","pbkdf2Iter","getPBKDF2KeyHexFromParam","PBKDF2","keySize","iterations","_getPlainPKCS8HexFromEncryptedPKCS8PEM","getKeyFromEncryptedPKCS8PEM","getKeyFromPlainPrivatePKCS8Hex","parsePlainPrivatePKCS8Hex","algparam","algoid","keyidx","getKeyFromPlainPrivatePKCS8PEM","_getKeyFromPublicPKCS8Hex","parsePublicRawRSAKeyHex","parsePublicPKCS8Hex","xy","dq","co","qi","setPrivateEx","setPrivate","crv","getPublicKeyFromCertHex","getPublicKeyFromCertPEM","generateKeypair","generate","prvKeyObj","pubKeyObj","getPEM","SubjectPublicKeyInfo","seq","octstr","bitstr","null","getKeyFromCSRPEM","getKeyFromCSRHex","parseCSRHex","p8pubkeyhex","getKeyID","getJWKFromKey","getPosArrayOfChildrenFromHex","getHexValueArrayOfChildrenFromHex","readPrivateKeyFromPEMString","readPKCS5PubKeyHex","readCertHex","getPublicKeyHex","tn","en","rn","nn","AlgorithmIdentifier","PSSNAME2ASN1TLV","HEX2STAG","foffset","aExtInfo","getVersion","getSerialNumberHex","getSignatureAlgorithmField","getAlgorithmIdentifierName","getX500Name","getIssuerHex","getIssuerString","hex2dn","getSubject","getSubjectHex","getSubjectString","getNotBefore","getNotAfter","getPublicKeyIdx","getPublicKeyContentIdx","getPublicKey","getSignatureAlgorithmName","getSignatureValueHex","verifySignature","parseExt","critical","vidx","getExtInfo","getExtBasicConstraints","extname","cA","pathLen","getExtKeyUsage","getExtKeyUsageString","getExtKeyUsageBin","KEYUSAGE_NAME","getExtSubjectKeyIdentifier","getExtAuthorityKeyIdentifier","getGeneralNames","issuer","dn","sn","getExtExtKeyUsage","getExtExtKeyUsageName","getExtSubjectAltName","getExtIssuerAltName","getGeneralName","rfc822","dns","uri","ip","getExtSubjectAltName2","getExtCRLDistributionPoints","getDistributionPoint","dpname","getDistributionPointName","full","getExtCRLDistributionPointsURI","getExtAIAInfo","ocsp","caissuer","getExtAuthorityInfoAccess","getExtCertificatePolicies","getPolicyInformation","policyoid","getPolicyQualifierInfo","cps","unotice","getUserNotice","exptext","getDisplayText","getExtCRLNumber","getExtCRLReason","getExtOcspNonce","getExtOcspNoCheck","getExtAdobeTimeStamp","reqauth","getX500NameRule","ds","getX500NameArray","dnarraytostr","getRDN","getAttrTypeAndValue","oid2atype","readCertPEM","getParam","serial","sigalg","notbefore","notafter","subject","sbjpubkey","ext","getExtParamArray","sighex","getExtParam","extn","findExt","updateExtCDPFullURI","updateExtAIAOCSP","updateExtAIACAIssuer","getInfo","dname","doPrivate","signPSS","verifyPSS","SALT_LEN_HLEN","SALT_LEN_MAX","SALT_LEN_RECOVER","hex2rdn","hex2attrTypeValue","getPublicKeyInfoPropOfCertPEM","JWS","isSafeJSONString","parseJWS","parsedJWS","sigvalH","headB64U","payloadB64U","sigvalB64U","si","sigvalBI","headS","payloadS","readSafeJSONString","jwsalg2sigalg","headerObj","payloadObj","headerPP","payloadPP","sigHex","verifyJWT","inArray","includedArray","aud","IntDate","getNow","verifyAt","gracePeriod","nbf","iat","jti","HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","PS256","PS384","PS512","none","getEncodedSignatureValueFromJWS","getJWKthumbprint","getZulu","intDate2UTCString","toUTCString","intDate2Zulu","SecureRandom","rng_seed_time","BigInteger","RSAKey","EDSA","an","un","cn","hn","ASN1HEX","CryptoJS","b64toBA","stoBA","BAtos","BAtohex","stohex","stob64","stob64u","b64utos","b64tob64u","b64utob64","hex2b64","b64utohex","utf8tob64","b64toutf8","utf8tohex","hextoutf8","hextorstr","rstrtohex","hextob64","hextob64nl","b64nltohex","hextopem","pemtohex","hextoArrayBuffer","setUint8","ArrayBuffertohex","getUint8","zulutomsec","zulutosec","zulutodate","datetozulu","uricmptohex","hextouricmp","ipv6tohex","hextoipv6","hextoip","iptohex","encodeURIComponentAll","newline_toUnix","newline_toDos","hextoposhex","intarystrtohex","strdiffidx","xn","An","kn","Pn","TYPED_ARRAY_SUPPORT","RangeError","isEncoding","copy","readUInt16BE","Number","fromByteArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","kMaxLength","poolSize","_augment","species","fill","allocUnsafe","allocUnsafeSlow","swap16","swap32","swap64","_arr","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","x5c","_validateJwt","azp","scopes","SilentRenewService","UserManagerSettings","UserManagerEvents","_silentRenewService","automaticSilentRenew","startSilentRenew","monitorSession","_sessionMonitor","_tokenRevocationClient","_loadUser","removeUser","storeUser","useReplaceToNavigate","_signinStart","_redirectNavigator","signinRedirectCallback","_signinEnd","signinPopup","popup_redirect_uri","_signin","_popupNavigator","signinPopupCallback","_signinCallback","_useRefreshToken","includeIdTokenInSilentRenew","validateSubOnSilentRenew","current_sub","_signinSilentIframe","_validateIdTokenFromTokenRefreshToken","auth_time","_iframeNavigator","silentRequestTimeout","signinSilentCallback","signinCallback","signoutCallback","signoutRedirectCallback","signoutPopupCallback","query_status_response_type","prepare","_signoutStart","_signoutEnd","signoutPopup","popup_post_logout_redirect_uri","_signout","revokeAccessTokenOnSignout","_revokeInternal","revokeAccessToken","_revokeAccessTokenInternal","_revokeRefreshTokenInternal","stopSilentRenew","_userStore","_userStoreKey","redirectNavigator","popupNavigator","iframeNavigator","RedirectNavigator","PopupNavigator","IFrameNavigator","_popup_redirect_uri","_popup_post_logout_redirect_uri","_popupWindowFeatures","_popupWindowTarget","_silent_redirect_uri","_silentRequestTimeout","_automaticSilentRenew","_validateSubOnSilentRenew","_includeIdTokenInSilentRenew","_monitorSession","_monitorAnonymousSession","_query_status_response_type","_revokeAccessTokenOnSignout","PopupWindow","notifyOpener","_checkForPopupClosedTimer","_checkForPopupClosed","focus","closed","opener","IFrameWindow","notifyParent","_timeout","_origin","parent","_userLoaded","_userUnloaded","_silentRenewError","_userSignedIn","_userSignedOut","_userSessionChanged","removeUserLoaded","removeUserUnloaded","addSilentRenewError","removeSilentRenewError","_raiseSilentRenewError","addUserSignedIn","removeUserSignedIn","addUserSignedOut","removeUserSignedOut","addUserSessionChanged","removeUserSessionChanged","_nowFunc","expiration","_timerHandle","_expiration","_tokenExpiring","performance","getNanoSeconds","hrtime","moduleLoadTime","hr","upTime","nodeLoadTime","loadTime","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bool","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","vendors","raf","caf","last","queue","_now","cp","cancelled","handle","polyfill","requestAnimationFrame","cancelAnimationFrame","aa","ba","ca","da","ea","fa","ha","ia","ja","ka","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","oa","pa","qa","ma","na","la","removeAttribute","setAttributeNS","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","sa","ta","ua","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Reflect","construct","Qa","_render","Ra","_context","_payload","_init","Sa","Ta","nodeName","Va","_valueTracker","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","cb","ownerDocument","eb","children","Children","db","fb","selected","defaultSelected","disabled","gb","hb","ib","jb","kb","lb","mb","nb","ob","namespaceURI","innerHTML","firstChild","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","rb","sb","tb","setProperty","ub","menuitem","area","col","embed","img","keygen","link","param","track","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","ac","cc","child","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","animation","transition","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","nd","od","keyCode","pd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","stopPropagation","cancelBubble","persist","isPersistent","wd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","de","fe","ge","he","ie","le","color","email","tel","text","me","ne","oe","pe","re","se","te","ue","ve","we","ye","ze","oninput","Ae","detachEvent","attachEvent","Ee","Fe","Je","nextSibling","compareDocumentPosition","HTMLIFrameElement","contentEditable","Pe","Qe","Se","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","We","Xe","Ye","Ze","Yb","$e","af","bf","cf","df","capture","passive","Nb","ef","ff","parentWindow","gf","hf","char","ke","jf","kf","lf","mf","autoFocus","nf","of","pf","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","eg","fg","hg","ig","jg","kg","ReactCurrentBatchConfig","lg","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","eventTime","lane","Ag","Bg","Cg","Dg","Eg","Fg","Component","refs","Gg","Kg","isMounted","_reactInternals","enqueueSetState","Hg","Ig","Jg","enqueueReplaceState","enqueueForceUpdate","Lg","shouldComponentUpdate","isPureReactComponent","Mg","updater","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Pg","Qg","ref","_owner","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","mode","Vg","implementation","Wg","Xg","done","Yg","Zg","$g","ah","bh","ch","dh","eh","documentElement","tagName","fh","gh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","uh","_workInProgressVersionPrimary","vh","ReactCurrentDispatcher","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","action","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","getSnapshot","subscribe","setSnapshot","Oh","Ph","Qh","Rh","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useCallback","useContext","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useDebugValue","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","ReactCurrentOwner","fi","gi","hi","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","ri","pendingContext","Bi","Di","Ei","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onclick","createElementNS","createTextNode","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","aj","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","hj","insertBefore","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","Infinity","wj","ck","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","onCommitFiberRoot","fk","gk","ik","isReactComponent","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","_calculateChangedBits","unstable_observedBits","unmount","querySelectorAll","form","Vj","vk","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","hasElementType","hasMap","hasSet","hasArrayBuffer","equal","it","nextProps","prevState","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","ManagerReferenceNodeContext","ManagerReferenceNodeSetterContext","Manager","_ref","_React$useState","referenceNode","setReferenceNode","hasUnmounted","handleSetReferenceNode","Provider","unwrapArray","safeInvoke","_len","_key","setRef","fromEntries","acc","useIsomorphicLayoutEffect","getWindow","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","offsetWidth","offsetHeight","visualViewport","addVisualOffsets","offsetLeft","offsetTop","right","bottom","getWindowScroll","win","pageXOffset","pageYOffset","getNodeName","getDocumentElement","getWindowScrollBarX","getComputedStyle","isScrollParent","_getComputedStyle","overflowX","overflowY","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","isOffsetParentAnElement","offsetParentIsScaled","rect","isElementScaled","scroll","offsets","getNodeScroll","clientLeft","clientTop","getLayoutRect","getParentNode","assignedSlot","getScrollParent","listScrollParents","list","_element$ownerDocumen","scrollParent","isBody","updatedList","isTableElement","getTrueOffsetParent","getOffsetParent","isFirefox","currentNode","css","perspective","contain","willChange","getContainingBlock","auto","basePlacements","viewport","popper","variationPlacements","placement","placements","modifierPhases","modifiers","visited","modifier","requires","requiresIfExists","dep","depModifier","DEFAULT_OPTIONS","strategy","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","reference","orderedModifiers","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","scrollParents","contextElement","phase","orderModifiers","merged","existing","mergeByName","enabled","_ref$options","effect","cleanupFn","noopFn","forceUpdate","_state$elements","rects","_state$orderedModifie","_state$orderedModifie2","_options","onFirstUpdate","getBasePlacement","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","unsetSides","mapToStyles","_ref2","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","popperOffsets","getOppositePlacement","getOppositeVariationPlacement","rootNode","getRootNode","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","html","clientWidth","clientHeight","layoutViewport","getViewportRect","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","axis","within","mathMax","mathMin","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","referenceRect","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrow","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","_state$modifiersData$","toPaddingObject","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","querySelector","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","createPopper","_options$scroll","_options$resize","resize","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","initialStyles","margin","attribute","_skip","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","_options$allowedAutoP","allPlacements","allowedPlacements","overflows","computeAutoPlacement","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","fittingPlacement","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","EMPTY_MODIFIERS","usePopper","referenceElement","popperElement","prevOptions","optionsWithDefaults","updateStateModifier","ReactDOM","popperOptions","newOptions","popperInstanceRef","popperInstance","defaultCreatePopper","NOOP","NOOP_PROMISE","Popper","_ref$placement","_ref$strategy","_ref$modifiers","innerRef","setPopperElement","_React$useState2","setArrowElement","_usePopper","childrenProps","hide","arrowProps","Reference","refHandler","warning","Boolean","__extends","__","__rest","require$$0","require$$1","patchResizeHandler","resizeCallback","refreshMode","refreshRate","refreshOptions","throttle","isSSR","isDOMElement","HTMLDocument","createNotifier","onResize","setSize","handleWidth","handleHeight","prev","cancelHandler","resizeHandler","attachObserver","targetRef","observerOptions","getElement","observableElement","resizeObserver","observe","targetDomEl","currentElement","getRenderType","createResizeHandler","notifyResize","contentRect","skipOnMount","isValidElement","createRef","window.ResizeObserver","PureComponent","disconnect","typedChildren","WrapperTag","childProps","nativeProps","cloneElement","el","useEnhancedEffect","isarray","pathToRegexp","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","group","asterisk","partial","optional","pattern","prevText","escapeGroup","restrictBacktrack","escapeString","encodeURIComponentPretty","encodeURI","opts","pretty","segment","attachKeys","sensitive","route","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","_interopRequireDefault","_hasClass","baseVal","replaceClassName","origClass","classToRemove","newObj","desc","_interopRequireWildcard","_addClass","_removeClass","_react","_Transition","_extends","addClass","removeClass","CSSTransition","_React$Component","subClass","superClass","_this","onEnter","appearing","getClassNames","removeClasses","onEntering","activeClassName","reflowAndAddClass","onEntered","appearClassName","doneClassName","enterClassName","onExit","onExiting","onExited","isStringClassNames","_proto","_this$getClassNames6","_default","_reactDom","_TransitionGroup","ReplaceTransition","_args","handleEnter","_len2","_key2","handleLifecycle","handleEntering","_len3","_key3","handleEntered","_len4","_key4","handleExit","_len5","_key5","handleExiting","_len6","_key6","handleExited","_len7","_key7","handler","originalArgs","_child$props","_this$props","inProp","in","excluded","sourceKeys","_objectWithoutPropertiesLoose","_React$Children$toArr","first","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","_reactLifecyclesCompat","Transition","initialStatus","parentGroup","transitionGroup","appear","isMounting","enter","appearStatus","unmountOnExit","mountOnEnter","nextCallback","updateStatus","nextStatus","cancelNextCallback","getTimeouts","exit","mounting","performEnter","performExit","_this2","timeouts","enterTimeout","safeSetState","onTransitionEnd","_this3","setNextCallback","_this4","active","doesNotHaveTimeoutOrListener","addEndListener","only","_propTypes","_ChildMapping","_assertThisInitialized","TransitionGroup","firstRender","appeared","mounted","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","childFactory","_CSSTransition","_ReplaceTransition","mergeChildMappings","getProp","nextChildMapping","hasPrev","hasNext","prevChild","isLeaving","mapFn","mapper","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","classNamesShape","timeoutsShape","forceReflow","_inheritsLoose","nodeRef","maybeNode","maybeAppearing","maybeNextCallback","TransitionGroupContext","appliedClasses","_this$resolveArgument","resolveArguments","_this$resolveArgument2","_this$resolveArgument3","baseClassName","hasClass","_this$appliedClasses$","contextValue","_leaveRenders","_enterRenders","modes","callHook","_element$props","leaveRenders","changeState","enterRenders","SwitchTransition","oldChildren","newChildren","_this$state","__self","__source","jsx","jsxs","_status","_result","IsSomeRendererActing","createContext","_currentValue2","_threadCount","Consumer","createFactory","forwardRef","lazy","memo","_typeof","nodeInterop","_getRequireWildcardCache","hasPropertyDescriptor","_classnames","_utils","_AccordionContext","_excluded","cacheBabelInterop","cacheNodeInterop","_objectWithoutProperties","sourceSymbolKeys","cssModule","tagPropType","Accordion","Tag","mapToCssModules","accordionContext","AccordionContext","_Collapse","accordionId","AccordionBody","targetId","AccordionHeader","_useContext","buttonClasses","collapsed","AccordionItem","_Fade","ownKeys","enumerableOnly","sym","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","closeClassName","closeAriaLabel","fade","Alert","closeClasses","alertTransition","baseClass","role","pill","Badge","listClassName","listTag","Breadcrumb","ListTag","label","listClasses","BreadcrumbItem","_CloseButton","outline","Button","ariaLabel","btnOutlineColor","_Dropdown","ButtonDropdown","vertical","ButtonGroup","_Button","_slicedToArray","_arrayWithHoles","_s","_e","_n","_iterableToArrayLimit","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","onBlur","onFocus","ButtonToggle","_useState2","toggled","setToggled","_useState4","setFocus","ButtonToolbar","inverse","Card","CardBody","CardColumns","CardDeck","CardFooter","CardGroup","CardHeader","CardImg","cardImgClassName","CardImgOverlay","CardLink","CardSubtitle","CardText","CardTitle","_CarouselItem","_CarouselContext","_defineProperties","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","sham","Proxy","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","activeIndex","previous","keyboard","pause","ride","interval","mouseEnter","mouseLeave","slide","dark","enableTouch","propsToOmit","Carousel","_inherits","Constructor","protoProps","staticProps","_super","_classCallCheck","handleKeyPress","renderItems","hoverStart","hoverEnd","handleTouchStart","handleTouchEnd","touchStartX","touchStartY","indicatorClicked","currentX","currentY","diffX","_setInterval","cycleInterval","_clearInterval","_this$props2","carouselItems","isIn","_this$props3","omit","outerClasses","innerClasses","onMouseEnter","onMouseLeave","CarouselContext","getContextValue","_carouselItems","_controlLeft","_controlRight","indicators","wrappedIndicators","onClickHandler","controlLeft","controlRight","onTouchStart","onTouchEnd","newState","CarouselCaption","captionHeader","captionText","CarouselControl","directionText","anchorClasses","iconClasses","screenReaderClasses","cursor","tabIndex","CarouselIndicators","items","indicatorClasses","caption","_reactTransitionGroup","CarouselItem","startAnimation","isAppearing","dispatchEvent","CustomEvent","transitionProps","isActive","TransitionStatuses","directionClassName","orderClassName","itemClasses","TransitionTimeouts","variant","CloseButton","getColumnClasses","colWidths","stringOrNumberProp","columnProps","xs","sm","xl","xxl","widths","getColumnSizeClass","isXs","colWidth","colSize","modifiedAttributes","colClasses","columnProp","_classNames","colSizeInterfix","colClass","_colClass","Col","_getColumnClasses","_transitionStatusToCl","horizontal","navbar","Collapse","transitionStatusToClassHash","_Component","dimension","getNode","getDimension","otherProps","pick","TransitionPropTypeKeys","collapseClass","getTransitionClass","fluid","Container","containerClass","_reactPopper","_DropdownContext","_InputGroupContext","a11y","nav","dropup","inNavbar","setActiveFromChild","menuRole","preventDefaultKeys","keyCodes","space","up","down","Dropdown","addEvents","handleDocumentClick","handleKeyDown","removeEvents","handleMenuRef","handleToggleRef","containerRef","menuRef","toggleRef","handleProps","tab","container","getContainer","getMenu","targetIsToggle","getToggle","clickIsInMenu","clickIsInInput","isTargetMenuItem","getAttribute","isTargetMenuCtrl","getMenuCtrl","isTab","_this2$getMenuItems$","getMenuItems","_this$getMenuItems$","esc","$menuitems","_$menuitems","_$menuitems3","charPressed","onMenuRef","onToggleRef","_$menuCtrl","menuContainer","getItemType","_this5","_omit","attrs","subItemIsActive","dropdownItem","insideInputGroup","DropdownContext","onKeyDown","InputGroupContext","divider","DropdownItem","getTabIndex","getRole","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","flip","targetPropType","updateOnSelect","deprecated","directionPositionMap","DropdownMenu","position1","position2","poperPlacement","poperModifiers","combinedStyle","tagRef","getTarget","caret","DropdownToggle","baseClassActive","Fade","_props$innerRef","Form","getRef","submit","valid","tooltip","FormFeedback","validMode","row","inline","floating","FormGroup","switchProp","formCheck","FormText","bsSize","plaintext","addon","Input","checkInput","selectInput","rangeInput","formControlClass","warnOnce","InputGroup","InputGroupText","hidden","Label","htmlFor","colFormLabel","formLabel","List","numbered","ListGroup","getHorizontalClass","handleDisabledOnClick","ListGroupItem","ListGroupItemHeading","ListGroupItemText","ListInlineItem","heading","middle","Media","defaultTag","media","_Portal","FadePropTypes","backdrop","backdropClassName","backdropTransition","centered","contentClassName","fullscreen","labelledBy","modalClassName","modalTransition","onClosed","onOpened","returnFocusAfterClose","scrollable","trapFocus","unmountOnClose","wrapClassName","Modal","_element","_originalBodyPadding","getFocusableChildren","handleBackdropClick","handleBackdropMouseDown","handleEscape","handleStaticBackdropAnimation","handleTab","manageFocusAfterClose","clearBackdropAnimationTimeout","showStaticBackdropAnimation","_isMounted","_mouseDownElement","_dialog","modalIndex","openCount","focusableChildren","totalFocusable","currentFocus","getFocusedChild","focusedIndex","_backdropAnimationTimeout","focusableElements","ev","_triggeringElement","_mountContainer","getOriginalBodyPadding","originalBodyOverflow","conditionallyUpdateScrollbar","modalOpenClassName","modalOpenClassNameRegex","setScrollbarWidth","dialogBaseClass","isModalHidden","modalAttributes","onMouseDown","onKeyUp","hasTransition","Backdrop","renderModalDialog","ModalBody","ModalFooter","wrapTag","ModalHeader","closeButton","WrapTag","card","justified","pills","tabs","Nav","getVerticalClass","NavItem","NavLink","expand","fixed","light","Navbar","getExpandClass","NavbarBrand","NavbarText","NavbarToggler","offcanvasTransition","Offcanvas","_backdrop","offcanvasIndex","isOffcanvasHidden","offcanvasAttributes","OffcanvasBody","OffcanvasHeader","Pagination","PaginationItem","PaginationLink","defaultAriaLabel","defaultCaret","_Col","Placeholder","PlaceholderButton","_TooltipPopoverWrapper","Popover","popperClasses","popperClassName","innerClassName","arrowClassName","placementPrefix","trigger","PopoverBody","PopoverHeader","hideArrow","boundariesElement","DOMElement","PopperContent","setTargetNode","getTargetNode","childNodes","targetNode","_arrowClassName","_popperClassName","modifierNames","baseModifiers","extendedModifiers","popperTransition","popperPlacement","renderChildren","getContainerNode","PopperTargetHelper","popperManager","defaultNode","canUseDOM","animated","bar","barAriaLabelledBy","barAriaValueText","barClassName","barStyle","multi","striped","Progress","percent","progressClasses","progressBarProps","rowColsPropType","noGutters","Row","Spinner","_TabContext","activeTab","TabContent","TabContext","activeTabId","TabPane","tabId","getClasses","bordered","borderless","hover","responsive","responsiveTag","Table","ResponsiveTag","table","responsiveClassName","Toast","toastTransition","ToastBody","icon","tagClassName","ToastHeader","iconProp","xmlns","preserveAspectRatio","focusable","Tooltip","autohide","_PopperContent","PopperPlacements","delay","DEFAULT_DELAYS","isInDOMSubtree","subtreeRoot","isInDOMSubtrees","subtreeRoots","subTreeRoot","TooltipPopoverWrapper","_targets","currentTargetElement","addTargetEvents","removeTargetEvents","showWithDelay","hideWithDelay","onMouseOverTooltipContent","onMouseLeaveTooltipContent","onEscKeyDown","updateTarget","clearShowTimeout","clearHideTimeout","triggers","_hideTimeout","_popover","_showTimeout","getDelay","getCurrentTarget","composedPath","isBubble","addEventOnTargets","removeEventOnTargets","newTarget","onMouseOver","_Accordion","defaultOpen","stayOpen","UncontrolledAccordion","setOpen","_Alert","UncontrolledAlert","_ButtonDropdown","omitKeys","UncontrolledButtonDropdown","_Carousel","_CarouselControl","_CarouselIndicators","_CarouselCaption","controls","autoPlay","defaultActiveIndex","goToIndex","UncontrolledCarousel","animating","newIndex","slides","altText","toggler","toggleEvents","defaultToggleEvents","UncontrolledCollapse","togglers","removeEventListeners","findDOMElements","addMultipleEventListeners","UncontrolledDropdown","onToggle","_Popover","UncontrolledPopover","_Tooltip","UncontrolledTooltip","_Alert2","_Breadcrumb2","_BreadcrumbItem2","_Button2","_ButtonDropdown2","_Card2","_CardBody2","_CardHeader2","_CardText2","_Col2","_Collapse2","_DropdownItem2","_DropdownMenu2","_DropdownToggle2","_FormFeedback2","_FormGroup2","_Input2","_InputGroup2","_Label2","_Modal2","_ModalBody2","_ModalFooter2","_ModalHeader2","_Nav2","_NavItem2","_NavLink2","_Pagination2","_PaginationItem2","_PaginationLink2","_Row2","_TabContent2","_TabPane2","_UncontrolledCollapse2","_UncontrolledDropdown2","_UncontrolledTooltip2","_Container2","_Navbar2","_NavbarBrand2","_NavbarText2","_NavbarToggler2","_ButtonToggle2","_ButtonGroup2","_ButtonToolbar2","_CloseButton2","_Dropdown2","_Fade2","_Accordion2","_UncontrolledAccordion2","_AccordionHeader2","_AccordionItem2","_AccordionBody2","_Badge2","_CardGroup2","_CardDeck2","_CardColumns2","_CardLink2","_CardFooter2","_CardImg2","_CardImgOverlay2","_Carousel2","_UncontrolledCarousel2","_CarouselControl2","_CarouselItem2","_CarouselIndicators2","_CarouselCaption2","_CardSubtitle2","_CardTitle2","_PopperContent2","_PopperTargetHelper2","_Popover2","_UncontrolledPopover2","_PopoverHeader2","_PopoverBody2","_Progress2","_Tooltip2","_Table2","_ListGroup2","_Form2","_FormText2","_InputGroupText2","_Media2","_Offcanvas2","_OffcanvasBody2","_OffcanvasHeader2","_Toast2","_ToastBody2","_ToastHeader2","_ListGroupItem2","_ListGroupItemHeading2","_ListGroupItemText2","_List2","_ListInlineItem2","_UncontrolledAlert2","_UncontrolledButtonDropdown2","_Spinner2","_Placeholder2","_PlaceholderButton2","createEvent","initCustomEvent","_els","useCapture","els","isArrayOrNodeList","scrollbarWidth","getScrollbarWidth","fixedContent","bodyPadding","paddingRight","isBodyOverflowing","propType","explanation","rest","getPropertyValue","allElements","isReactRefObj","globalCssModule","pickKeys","setGlobalCssModule","scrollDiv","innerWidth","warned","selection","_postcssValueParser2","_parser","_reducer2","_stringifier2","MATCH_CALC","walk","contents","nodes","ast","parser","reducedAst","_cssUnitConverter","_cssUnitConverter2","convertAbsoluteLength","_convert","_convert2","operator","convertMathExpression","_node","op","flipValue","isValueType","reduceAddSubExpression","reduceDivisionExpression","reduceMultiplicationExpression","reduceMathExpression","calc","_reducer","prec","JisonParserError","stacktrace","exception","ex2","captureStackTrace","rv","trace","hasPartialLrUpgradeOnConflict","errorRecoveryTokenDiscardCount","symbols_","terminals_","TERROR","EOF","originalQuoteName","originalParseError","cleanupAfterParse","constructParseErrorInfo","yyMergeLocationInfo","__reentrant_call_depth","__error_infos","__error_recovery_infos","quoteName","id_str","getSymbolName","describeSymbol","terminal_descriptions_","collect_expected_token_set","do_not_describe","tokenset","state_descriptions_","productions_","rule","bp","performAction","yystate","yysp","yyvstack","lexer","goto","bt","defaultActions","bda","parseError","ExceptionClass","recoverable","sstack","vstack","sp","NO_ACTION","__lexer__","sharedState_yy","pre_parse","post_parse","pre_lex","post_lex","fastLex","assert","yyGetSharedState","dst","shallow_copy_noclobber","resultValue","invoke_post_methods","do_not_nuke_errorinfos","cleanupAfterLex","ex","expected","pei","errStr","yytext","token_id","yylineno","new_state","symbol_stack","state_stack","value_stack","stack_pointer","rec","yyrulelen","this_production","lex","yyval","_$","retval","setInput","canIUse","errSymbolDescr","showPosition","ntsymbol","JisonLexerError","ERROR","__currentRuleSet__","__decompressed","_backtrack","_input","_more","_signaled_error_token","conditionStack","yyleng","yylloc","constructLexErrorInfo","show_input_position","prettyPrintRange","pos_str","loc","yyerror","lineno_msg","lexerErrorsAreRecoverable","extra_error_attributes","last_column","first_line","first_column","last_line","rules","rule_re","conditions","spec","rule_ids","rule_regexes","rule_new_ids","__rule_regexes","__rule_count","editRemainingInput","cpsArg","slice_len","lines","ch2","unput","pre","pre_lines","more","backtrack_lexer","less","pastInput","maxSize","maxLines","upcomingInput","maxPrefix","maxPostfix","deriveLocationInfo","actual","preceding","following","context_loc","context_loc2","l0","l1","lineno_display_width","log10","ws_prefix","nonempty_line_indexes","lno","errpfx","clip_start","MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT","clip_end","intermediate_line","describeYYLLOC","display_range_too","l2","c1","c2","r1","test_match","indexed_rule","backup","match_str","match_str_len","tempMatch","_currentRules","trackPosition","topState","pendingInput","activeCondition","conditionStackDepth","condition","pushState","popState","stateStackSize","yyrulenumber","YY_START","simpleCaseActionClusters","inclusive","Parser","ValueParser","openParentheses","closeParentheses","singleQuote","doubleQuote","backslash","slash","comma","colon","star","escapePos","whitespacePos","balanced","before","after","sourceIndex","unclosed","stringifyNode","custom","buf","customResult","dot","EXP","dotted","sciPos","containsNumber","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","skipTempReset","rootRecord","rval","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","MapShim","getIndex","class_1","__entries__","ctx","isBrowser","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","childList","characterData","subtree","_b","getInstance","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","getBordersSize","positions","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","ResizeObserver","MessageChannel","unstable_forceFrameRate","port2","port1","onmessage","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","_createClass","possibleConstructorReturn","assertThisInitialized","unsupportedIterableToArray","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","definition","nmd","paths","_objectSpread2","isAbsolute","spliceOne","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","part","invariant","addLeadingSlash","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","resolvePathname","createTransitionManager","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","notifyListeners","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","globalHistory","canUseHistory","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","transitionManager","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","fromLocation","toLocation","toIndex","allKeys","delta","go","revertPop","initialLocation","createHref","checkDOMListeners","isBlocked","prevIndex","nextKeys","replaceState","goBack","goForward","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","stripHash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","locationsAreEqual$$1","allPaths","baseTag","pushHashPath","nextPaths","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextIndex","nextEntries","canGo","MAX_SIGNED_31_BIT_INT","commonjsGlobal","createEventEmitter","calculateChangedBits","contextProp","getUniqueId","oldValue","newValue","changedBits","onlyChild","createNamedContext","historyContext","Router","computeRootMatch","isExact","_pendingLocation","RouterContext","staticContext","HistoryContext","Lifecycle","onMount","onUpdate","onUnmount","Prompt","when","cacheCount","matchPath","cacheKey","pathCache","regexp","compilePath","Route","isEmptyChildren","createURL","staticHandler","Switch","computedMatch","withRouter","wrappedComponentRef","remainingProps","hoistStatics","BrowserRouter","createHistory","resolveToLocation","normalizeToLocation","forwardRefShim","LinkAnchor","isModifiedEvent","forwardedRef","Link","isDuplicateNavigation","ariaCurrent","activeStyle","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","joinClassnames","isNew","copyObject","nativeKeysIn","isProto","baseKeysIn","keysIn","isDeep","getSymbolsIn","getPrototype","arrayBuffer","dataView","cloneArrayBuffer","reFlags","typedArray","cloneDataView","cloneTypedArray","cloneRegExp","cloneSymbol","objectCreate","baseCreate","nodeIsMap","baseIsMap","nodeIsSet","baseIsSet","funcTag","cloneableTags","baseClone","isFlat","isFull","initCloneArray","copyArray","isFunc","cloneBuffer","initCloneObject","copySymbolsIn","baseAssignIn","copySymbols","baseAssign","initCloneByTag","isSet","subValue","isMap","getAllKeysIn","arrayEach","CLONE_DEEP_FLAG","AccesosSistemaService","searchData","prom","post","dia","Utils","fileName","ModelValidation","isOk","valResult","errorText","propsFijas","verticalAlign","SaveIcon","CancelIcon","cssClass","SearchIcon","ViewIcon","UserIcon","AddNewIcon","CheckIcon","CheckCircleIcon","DeleteIcon","EditIcon","SyncIcon","GraphIcon","DownIcon","UpIcon","ExcelIcon","FileIcon","DownloadIcon","JoinUsersIcon","RefreshIcon","SpinnerIcon","mathSign","isPercent","_isString","_isNumber","_isNaN","isNumOrStr","idCounter","uniqueId","getPercentValue","totalValue","getAnyElementOfObject","interpolateNumber","numberA","numberB","findEntryInArray","ary","specifiedKey","specifiedValue","_get","ResponsiveContainer","handleResize","updateDimensionsImmediate","newSize","getContainerSize","oldWidth","containerWidth","oldHeight","containerHeight","_debounce","_this$state2","aspect","minWidth","minHeight","maxHeight","calculatedWidth","calculatedHeight","ReactResizeDetector","renderChart","SVGContainerPropKeys","SVGElementPropKeys","EventKeys","filterProps","includeEvents","isSvg","inputProps","_isObject","adaptEventHandlers","newHandler","adaptEventsOfChild","originalHandler","getEventHandlerOfChild","Surface","viewBox","others","svgView","layerClass","Layer","setRafTimeout","currTime","shouldUpdate","_toArray","createAnimateManager","handleChange","shouldStop","setStyle","_style","_styles","curr","restStyles","_handleChange","PREFIX_LIST","IN_LINE_PREFIX_LIST","IN_COMPATIBLE_PROPERTY","mapObject","translateStyle","isTransition","camelName","styleVal","generatePrefixStyle","getTransitionVal","easing","ACCURACY","cubicBezierFactor","multyTime","cubicBezier","derivativeCubicBezier","newParams","configBezier","x1","y1","y2","_easing$1$split$0$spl","_easing$1$split$0$spl2","curveX","curveY","derCurveX","rangeValue","bezier","_t","evalT","derVal","isStepper","configSpring","_config$stiff","stiff","_config$damping","damping","_config$dt","dt","stepper","currX","destX","currV","newV","newX","alpha","needContinue","calStepperVals","preVals","steps","nextStepVals","_easing2","velocity","preObj","nextObj","preTime","beginTime","interKeys","timingStyle","stepperStyle","cafId","currStyle","finalStyle","Animate","_PureComponent","handleStyleChange","changeStyle","canBegin","runAnimation","shouldReAnimate","isTriggered","manager","stopJSAnimation","_newState","unSubscribe","onAnimationEnd","onAnimationStart","configUpdate","configEasing","_steps$","initialStyle","_steps$$duration","initialTime","sequence","nextItem","_nextItem$easing","nextProperties","preItem","runJSAnimation","newStyle","propsTo","runStepAnimation","_this$props4","onAnimationReStart","stateStyle","cloneContainer","_container$props","_container$props$styl","parseDurationOfSingleTransition","AnimateGroupChild","appearOptions","enterOptions","handleStyleActive","leaveOptions","parseTimeout","AnimateGroup","leave","defaultFormatter","_isArray","DefaultTooltipContent","formatter","itemStyle","itemSorter","_sortBy","finalItemStyle","paddingTop","paddingBottom","finalFormatter","formatted","_formatted","wrapperClassName","contentStyle","labelClassName","labelStyle","labelFormatter","border","whiteSpace","finalLabelStyle","hasLabel","_isNil","finalLabel","wrapperCN","labelCN","renderContent","isSsr","CLS_PREFIX","defaultUniqBy","dataKey","boxWidth","boxHeight","wrapperNode","getTranslate","tooltipDimension","viewBoxDimension","allowEscapeViewBox","coordinate","restricted","unrestricted","updateBBox","box","translateX","translateY","isAnimationActive","animationDuration","animationEasing","filterNull","finalPayload","option","_uniqBy","_isFunction","getUniqPayload","payloadUniqBy","hasPayload","outerStyle","pointerEvents","wrapperStyle","useTranslate3d","cls","cursorStyle","atan2","cos","sin","tau","draw","moveTo","arc","lineTo","closePath","tan30","tan30_2","kx","ky","sqrt3","x0","y0","epsilon","tauEpsilon","Path","_x0","_y0","_x1","_y1","quadraticCurveTo","bezierCurveTo","arcTo","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","tan","acos","t01","t21","a0","ccw","dx","dy","cw","symbolFactories","symbolCircle","symbolCross","symbolDiamond","symbolSquare","symbolStar","symbolTriangle","symbolWye","RADIAN","Symbols","sizeType","symbolFactory","_upperFirst","getSymbolFactory","circle","shapeSymbol","angle","calculateAreaSize","cx","cy","getPath","registerSymbol","SIZE","DefaultLegendContent","inactiveColor","halfSize","sixthSize","thirdSize","inactive","stroke","legendIcon","iconProps","iconSize","layout","marginRight","svgStyle","renderIcon","align","textAlign","Legend","chartWidth","hPos","vPos","chartHeight","getBBoxSnapshot","onBBoxUpdate","_box3","getDefaultPosition","point","Basis","BasisClosed","BasisOpen","LinearClosed","Linear","slope3","h0","h1","s0","s1","slope2","t0","t1","MonotoneX","MonotoneY","ReflectContext","Natural","controlPoints","Step","areaStart","_line","areaEnd","lineStart","_point","lineEnd","_x2","_x3","_x4","_y2","_y3","_y4","_t0","_x","_y","px","py","i0","i1","defined","curveLinear","defined0","pointX","pointY","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","CURVE_FACTORIES","curveBasisClosed","curveBasisOpen","curveBasis","curveLinearClosed","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","Curve","lineFunction","points","baseLine","connectNulls","curveFactory","getCurveFactory","formatPoints","formatBaseLine","areaPoints","shapeArea","shapeLine","pathRef","realPath","Cross","radianToDegree","angleInRadian","polarToCartesian","radius","getAngleOfPoint","anotherPoint","distanceBetweenPoints","reverseFormatAngleOfSetor","startAngle","endAngle","startCnt","endCnt","inRangeOfSector","sector","_getAngleOfPoint","innerRadius","outerRadius","inRange","_formatAngleOfSector","formatAngleOfSector","formatAngle","getTangentCircle","isExternal","cornerRadius","cornerIsExternal","centerRadius","theta","asin","centerAngle","lineTangencyAngle","circleTangency","lineTangency","getSectorPath","getDeltaAngle","tempEndAngle","outerStartPoint","outerEndPoint","innerStartPoint","innerEndPoint","Sector","forceCornerRadius","deltaRadius","cr","_getTangentCircle","soct","solt","sot","_getTangentCircle2","eoct","eolt","eot","outerArcAngle","_getTangentCircle3","sict","silt","sit","_getTangentCircle4","eict","eilt","eit","innerArcAngle","getSectorWithCorner","Dot","getRectanglePath","maxRadius","ySign","xSign","clockWise","newRadius","_newRadius","isInRectangle","minX","maxX","minY","maxY","Rectangle","totalLength","getTotalLength","animationBegin","isUpdateAnimationActive","currWidth","currHeight","currY","REACT_BROWSER_EVENT_MAP","mousedown","mouseup","mouseover","mousemove","mouseout","mouseenter","mouseleave","touchcancel","touchend","touchmove","touchstart","getDisplayName","Comp","findAllByType","childType","findChildByType","validateWidthHeight","_el$props","SVG_TAGS","isSvgElement","isChildrenEqual","nextChildren","prevChildren","isSingleChildEqual","nextChild","renderByOrder","renderMap","_flatten","parseChildIndex","stringCache","widthCache","SPAN_STYLE","STYLE_LIST","MEASUREMENT_SPAN_ID","getStyleString","autoCompleteStyle","getStringSize","styleString","measurementSpan","measurementSpanStyle","styleKey","BREAKING_SPACES","calculateWordWidths","breakAll","wordsWithComputedWidth","word","spaceWidth","getWordsWithoutCalculate","getWordsByLines","needCalculate","scaleToFit","wordWidths","initialWordsWithComputedWith","lineWidth","shouldLimitLines","calculate","currentLine","newLine","originalResult","trimmedResult","tempText","doesOverflow","findLongestLine","_checkOverflow2","doesPrevOverflow","doesMiddleOverflow","calculateWordsByLines","Text","textAnchor","verticalAnchor","capHeight","textProps","wordsByLines","startDy","reduceCSSCalc","transforms","prevWidth","prevScaleToFit","prevStyle","prevBreakAll","renderRadialLabel","labelProps","labelAngle","deltaAngle","startPoint","endPoint","dominantBaseline","_props$className","textBreakAll","getLabel","isPolarLabel","isPolar","positionAttrs","midAngle","_polarToCartesian","_polarToCartesian2","getAttrsOfPolarLabel","parentViewBox","verticalSign","verticalOffset","verticalEnd","verticalStart","horizontalSign","horizontalOffset","horizontalEnd","horizontalStart","_attrs2","_attrs3","sizeAttrs","getAttrsOfCartesianLabel","parseViewBox","labelViewBox","parseLabel","renderCallByParent","parentProps","checkPropsLabel","explicitChildren","implicitLabel","CartesianAxis","restProps","viewBoxOld","restPropsOld","tx","ty","orientation","tickSize","mirror","tickMargin","finalTickSize","tickCoord","tick","_this$props5","axisLine","needHeight","needWidth","ticks","_this$props6","tickLine","tickFormatter","finalTicks","getTicks","getTickTextAnchor","getTickVerticalAnchor","axisProps","customTickProps","tickLineProps","_this$getTickLineCoor","getTickLineCoord","lineCoord","tickProps","visibleTicksCount","renderTickItem","_this$props7","ticksGenerator","_this$props8","noTicksProps","renderAxisLine","renderTicks","minTickGap","getNumberIntervalTicks","getTicksStart","getTicksEnd","preserveEnd","sizeKey","unitSize","tailContent","tailSize","tailGap","isShow","gap","initRange","initInterpolator","interpolator","_createForOfIteratorHelper","allowArrayLike","normalCompletion","didErr","_e2","implicit","unknown","scale","band","bandwidth","ordinalRange","r0","paddingInner","paddingOuter","rescale","rangeRound","pointish","PLACE_HOLDER","isPlaceHolder","curry0","_curried","curryN","argsLength","restArgs","newArgs","curry","compose","firstFn","tailsFn","lastResult","newA","uninterpolateNumber","uninterpolateTruncation","rangeStep","getDigitCount","getValidInterval","validMin","validMax","getFormatStep","roughStep","allowDecimals","correctionFactor","digitCount","Arithmetic","digitCountValue","stepRatio","stepRatioScale","formatStep","getTickOfSingleValue","tickCount","absVal","middleIndex","calculateStep","tickMin","tickMax","belowCount","upCount","scaleCount","getNiceTickValues","_getValidInterval","_getValidInterval2","cormin","cormax","_values","_calculateStep","getTickValuesFixedDomain","_ref6","_getValidInterval3","_getValidInterval4","_ref7","_ref8","_getValidInterval5","_getValidInterval6","e10","e5","e2","tickIncrement","power","tickStep","step0","step1","lo","mid","ascending","ascendingComparator","numbers","valueof","ascendingBisect","bisector","bisectRight","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","rgbn","Rgb","rgba","hsla","rgbConvert","rgb_formatHex","rgb_formatRgb","Hsl","hslConvert","hsl2rgb","m1","m2","basis","v0","v1","v2","v3","t2","t3","channels","displayable","formatHsl","linear","gamma","nogamma","exponential","rgbGamma","colorRgb","rgbSpline","spline","colors","genericArray","reA","reB","bm","bs","one","zero","numberArray","normalize","bimap","interpolate","d0","d1","polymap","bisect","transformer","untransform","piecewise","interpolateValue","clamper","invert","interpolateRound","continuous","prefixExponent","formatSpecifier","specifier","FormatSpecifier","formatDecimalParts","coefficient","formatRounded","formatPrefix","prefixes","grouping","thousands","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","nan","newFormat","formatTypes","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","formatTrim","tickFormat","precisionPrefix","precisionRound","precisionFixed","linearish","nice","prestep","maxIter","transformLog","transformExp","transformLogn","transformExpn","pow10","reflect","loggish","logs","pows","log2","logp","powp","transformSymlog","log1p","transformSymexp","expm1","symlogish","symlog","transformPow","transformSqrt","transformSquare","powish","unsquare","radial","squared","quickselect","newLeft","newRight","swap","quantile","Float64Array","value0","quantileSorted","value1","invertExtent","quantiles","quantize","formatLocale","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","newInterval","floori","offseti","sunday","monday","tuesday","wednesday","thursday","friday","saturday","utcMinute","utcHour","utcDay","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcMonth","utcYear","ticker","tickIntervals","tickInterval","utcWeek","utcTicks","utcTickInterval","timeTicks","timeTickInterval","localDate","utcDate","newDate","utcFormat","pads","numberRe","percentRe","requoteRe","pad","requote","formatRe","formatLookup","parseWeekdayNumberSunday","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekNumberMonday","parseFullYear","parseYear","parseQuarter","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","formatHour12","formatDayOfYear","timeDay","timeYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","timeSunday","dISO","timeThursday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","timeMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","formatUTCDayOfMonth","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","timeMonth","timeWeek","timeHour","timeMinute","timeSecond","utcTime","utcSecond","k10","sequential","sequentialLog","sequentialSymlog","sequentialPow","sequentialSqrt","sequentialQuantile","k21","diverging","divergingLog","divergingSymlog","divergingPow","divergingSqrt","series","stackValue","stackSeries","getValueByDataKey","getDomainOfDataByKey","filterNil","flattenData","_flatMap","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","locale_shortWeekdays","shortDays","locale_months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","utcFormats","parses","parseSpecifier","newParse","utcParse","defaultLocale","getMainColorOfGraphicItem","_item$props","getLegendProps","legendData","formatedGraphicalItems","legendWidth","legendContent","legendItem","sectors","iconType","legendType","_item$props2","getWithHeight","getDomainOfErrorBars","axisType","errorBars","errorBarChild","entryValue","mainValue","errorDomain","prevErrorArr","errorValue","lowerValue","upperValue","getDomainOfItemsWithSameAxis","domains","isCategoricalAxis","getCoordinatesOfGrid","hasMin","hasMax","getTicksOfAxis","isGrid","isAll","duplicateDomain","niceTicks","scaleContent","isCategorical","categoricalDomain","combineEventHandlers","defaultHandler","parentHandler","childHandler","customizedHandler","arg1","arg2","arg3","arg4","EPS","STACK_OFFSET_MAP","positive","negative","stackOffsetNone","silhouette","wiggle","s2","sij0","s3","getStackedData","stackItems","offsetType","dataKeys","orderNone","offsetNone","oz","sz","shapeStack","stackOrderNone","getTicksOfScale","realScaleType","originalDomain","scaleType","tickValues","calculateDomainOfTicks","_domain","getCateCoordinateOfBar","bandSize","getDomainOfStackGroups","stackGroups","startIndex","endIndex","stackId","stackedData","MIN_VALUE_REG","MAX_VALUE_REG","parseSpecifiedDomain","specifiedDomain","dataDomain","allowDataOverflow","_value","getBandSizeOfAxis","isBar","bandWidth","orderedTicks","cur","parseDomainOfCategoryAxis","calculatedDomain","axisChild","_isEqual","getTooltipItem","graphicalItem","_graphicalItem$props","tooltipType","isTouch","Brush","leaveTimer","travellerDragStartHandlers","handleDrag","isTravellerMoving","handleTravellerMove","isSlideMoving","handleSlideDrag","handleTouchMove","handleDragEnd","detachDragEndListener","handleLeaveWrapper","leaveTimeOut","handleEnterSlideOrTraveller","isTextActive","handleLeaveSlideOrTraveller","handleSlideDragStart","slideMoveStartX","attachDragEndListener","startX","handleTravellerDragStart","endX","scaleValues","minIndex","getIndexInRange","maxIndex","travellerWidth","onChange","movingTravellerId","brushMoveStartX","_this$setState","prevValue","isFullGap","chartElement","compact","travellerX","traveller","travellerProps","renderTraveller","_this$props9","_this$state3","getTextOfTick","_this$props10","alwaysShowText","_this$state4","isPanoramic","onMouseMove","onTouchMove","renderBackground","renderPanorama","renderSlide","renderTravellerLayer","renderText","lineY","renderDefaultTraveller","updateId","prevData","prevUpdateId","prevTravellerWidth","prevX","scalePoint","_range","createScale","ifOverflowMatches","alwaysShow","ifOverflow","rectWithPoints","ScaleHelper","bandAware","_offset2","createLabeledScales","scales","coord","_mapValues","isInRange","_every","ReferenceDot","clipPathId","isX","isY","xAxis","yAxis","getCoordinate","dotProps","clipPath","renderDot","isFront","xAxisId","yAxisId","ReferenceLine","fixedX","fixedY","endPoints","isFixedX","isFixedY","isSegment","_props$viewBox","yCoord","xCoord","_orientation","_coord","_points","_points2","_some","getEndPoints","_endPoints","_endPoints$","_endPoints$2","lineProps","renderLine","rectWithCoords","ReferenceArea","hasX1","hasX2","hasY1","hasY2","xValue1","xValue2","yValue1","yValue2","rangeMin","rangeMax","getRect","renderRect","detectReferenceElementsDomain","axisId","specifiedTicks","dots","areas","idKey","valueKey","finalDomain","key1","key2","value2","eventCenter","setMaxListeners","SYNC_EVENT","ORIENT_MAP","originCoordinate","isFinit","defer","setImmediate","deferClear","clearImmediate","getDisplayedData","graphicalItems","dataStartIndex","dataEndIndex","itemsData","itemData","getTooltipContent","chartData","activeLabel","tooltipAxis","displayedData","allowDuplicatedCategory","getTooltipData","rangeObj","rangeData","chartX","chartY","calculateTooltipPos","orderedTooltipTicks","tooltipTicks","_ticks$length","unsortedTicks","sameDirectionCoord","diffInterval","curInRange","afterInRange","sameInterval","calculateActiveTickIndex","activePayload","activeCoordinate","_angle","_radius","getActiveCoordinate","activeTooltipIndex","getAxisMapByAxes","axes","axisIdKey","stackOffset","axisMap","duplicate","hasDuplicate","errorBarsDomain","parseErrorBarsOfAxis","hasStack","axisDomain","getAxisMap","_ref4$axisType","AxisComp","Axis","getAxisMapByItems","createDefaultState","defaultShowTooltip","brushItem","isTooltipActive","getAxisNameByLayout","numericAxisName","cateAxisName","prevLegendBBox","_ref5$xAxisMap","xAxisMap","_ref5$yAxisMap","yAxisMap","offsetH","offsetV","brushBottom","legendBox","legendProps","newOffset","appendOffsetOfLegend","ErrorBar","dataPointFormatter","svgProps","_dataPointFormatter","errorVal","lowBound","highBound","lineCoordinates","_errorVal","yMid","yMin","yMax","xMin","xMax","_scale","xMid","_xMin","_xMax","_yMin","_yMax","coordinates","Cell","valueAccessor","_last","LabelList","idProps","parseLabelList","ckeckPropsLabel","explicitChilren","implicitLabelList","Bar","isAnimationFinished","handleAnimationEnd","handleAnimationStart","animationId","prevAnimationId","curData","baseProps","renderRectangle","stepData","interpolatorX","interpolatorY","interpolatorWidth","interpolatorHeight","_interpolatorHeight","renderRectanglesStatically","renderRectanglesWithAnimation","backgroundProps","background","errorBarItems","dataPoint","needClip","renderRectangles","renderErrorBar","minPointSize","getComposedData","barPosition","xAxisTicks","yAxisTicks","findPositionOfBar","numericAxis","stackedDomain","baseValue","_ref9","getBaseValueOfBar","cells","truncateByDomain","tooltipPayload","tooltipPosition","XAxis","reversed","YAxis","BarChart","_class","_temp","chartName","GraphicalChild","_ref6$defaultTooltipE","defaultTooltipEventType","_ref6$validateTooltip","validateTooltipEventTypes","axisComponents","formatAxisMap","getFormatItems","currentState","barSize","barGap","barCategoryGap","globalMaxBarSize","maxBarSize","_getAxisNameByLayout","hasBar","hasGraphicalBarItem","sizeList","globalSize","_ref5$stackGroups","numericAxisIds","sgs","stackIds","sLen","_sgs$stackIds$j","cateAxisId","barItems","selfSize","cateId","stackList","getBarSizeList","formatedItems","childMaxBarSize","numericAxisId","axisObj","_objectSpread6","cateAxis","cateTicks","itemIndex","getStackedDataOfItem","itemIsBar","barBandSize","_ref6$sizeList","realBarGap","useFull","fullBarSize","newRes","originalSize","getBarPosition","_objectSpread7","componsedFn","childIndex","updateStateOfAxisMapsOffsetAndStackGroups","reverseStackOrder","_getAxisNameByLayout2","_items","_item$props3","childGroup","getStackGroupsByAxisId","legendBBox","ticksObj","tooltipAxisBandSize","tooltipTicksGenerator","CategoricalChartWrapper","uniqueChartId","legendInstance","deferId","clearDeferId","handleLegendBBoxUpdate","handleReceiveSyncEvent","cId","chartId","syncId","applySyncEvent","handleBrushChange","triggerSyncEvent","handleMouseEnter","mouse","getMouseInfo","triggeredAfterMouseMove","handleItemMouseEnter","activeItem","handleItemMouseLeave","handleMouseMove","handleMouseLeave","cancelThrottledTriggerAfterMouseMove","handleOuterEvent","eventName","getReactEventByType","handleClick","handleMouseDown","handleMouseUp","onMouseUp","verticalCoordinatesGenerator","horizontalCoordinatesGenerator","_ref10","axesTicksGenerator","renderCursor","tooltipEventType","getTooltipEventType","cursorComp","getCursorRectangle","_this$getCursorPoints","getCursorPoints","cursorProps","payloadIndex","renderPolarAxis","axisOption","renderXAxis","renderAxis","renderYAxis","renderGrid","_find","renderPolarGrid","radialLines","polarAngles","polarRadius","radiusAxisMap","angleAxisMap","radiusAxis","angleAxis","renderLegend","legend","renderTooltip","tooltipItem","_this$state5","renderBrush","_this$state6","renderReferenceElement","_this$state7","_element$props2","renderActivePoints","_ref11","activePoint","basePoint","isRange","_item$item$props","activeDot","renderActiveDot","renderGraphicChild","filterFormatItem","_this$state8","_item$item$props2","itemEvents","onCLick","renderCustomized","throttleDelay","_throttle","_isBoolean","eventType","calculateChartCoordinate","getOffset","_this$state9","xScale","yScale","xValue","yValue","toolTipData","_this$state10","_this$state11","_cx","_cy","innerPoint","outerPoint","_this$state12","tooltipEvents","_maxListeners","syncMethod","_this$state13","validateChartX","validateChartY","axisOptions","_this$state$offset","_ref12","_ref13","_ref14","_ref15","_this$state$xAxisMap","_this$state$xAxisMap$","_this$state$yAxisMap","_this$state$yAxisMap$","chartXY","itemDisplayName","activeBarItem","_activeBarItem","CartesianGrid","Line","Area","Radar","RadialBar","Scatter","Pie","Funnel","PolarGrid","PolarAngleAxis","PolarRadiusAxis","Customized","renderClipPath","parseEventsOfWrapper","defaultState","prevHeight","prevLayout","prevStackOffset","prevMargin","_defaultState","keepFromPrevState","updatesToState","newUpdateId","generateCategoricalChart","ids","leftMirror","rightMirror","topMirror","bottomMirror","needSpace","_axis$padding","offsetKey","_parseScale","chartType","d3Scales","parseScale","checkDomainOfScale","finalAxis","horizontalPoints","renderLineItem","verticalPoints","verticalFill","verticalPointsUpdated","colorIndex","horizontalFill","horizontalPointsUpdated","renderHorizontal","renderVertical","renderHorizontalStripes","renderVerticalStripes","lineItem","AccesosSistemaGraph","formatXAxis","tickItem","nested","baseSet","ComponentBase","cloneDeep","_cloneStateForSetState","TipoSeleccion","setToPairs","baseToPairs","createToPairs","EnumDropDownBase","keysPrev","toPairs","Elem","ElemName","defaultText","emptyText","hideEmptyOption","keyPair","showLabel","selectedIndex","onChanged","YesNoDropDown","EditorialDropDown","TipoUsuarioContenidoDropDown","TipoAccesoDropDownAll","TipoUsuarioDropDown","EstadoNotificacionDropDown","EstadoPedidoScholarumDropDown","OrigenLicenciaDropDown","FormatoContenidoDropDown","TodosTipoAccesoDropDown","CursoEscolarService","put","NivelEducativoDropDown","dicNiveles","getById","loadCursoEscolar","etapas","niveles","seleccionClases","nivelKey","nivelOption","grupo","ocultarGrupoGeneral","grupoKey","Grupo","NivelEducativo","DropDownBase","selectedItemValue","selectedItemText","_getAndPaintItems","GetItems","BindItems","shouldAddEmptyOption","_getOptions","_pintaDropDown","required","formGroupClassName","MisClasesService","ClasesDropDown","resultProm","alumnoId","posibles","profesorId","nivelEducativoId","noTotalCount","currentPage","rowsPerPage","orderByColumn","orderMode","bypassAutomaticSort","currentPageRows","_superPropBase","receiver","AccesosTabs","ColegioUsuariosService","modified","colegioUsuarioIds","claseId","usuarioEliminarId","usuarioDestinoId","Pager","maxNumPages","numberOfPages","elems","pagList","paginatedList","numPages","totalCount","resultsPerPage","firstPageToRender","lastPageToRender","_pageChanged","pageValue","pageIndex","_getClassForPager","onPageSizeChange","pageSize","pageNum","selectedPage","GenericPicker","_createState","searchParams","GetInitialSearchParams","newProps","checkedElements","showSearchWindow","canSelect","searchResults","_getColumns","hasError","_textFieldClicked","itemName","readOnly","_closeModal","GetTitulo","_renderSearchForm","_showCheckboxes","allChecked","_getSearchForColumnClicked","_performSearch","renderSortIcon","renderField","itemSelected","pNum","_changePage","_changePageSize","onSelected","selectedId","selectedName","getIdFromItem","getName2FromItem","getNameFromItem","onSubmit","_searchOnEnter","RenderSearchForm","columnName","_createApiService","newSearch","ColegioUsuariosPicker","claseMateriaId","maxLength","autoComplete","CustomDatePicker","today","yearLatest","yearsFront","yearFirst","yearsBack","showAlert","fechaCorrecta","NumericCardBox","numberValue","icono","marginLeft","headerText","ClaseMateriaService","claseMateriaID","ClaseMateriaDropDown","searchModel","AccesosSistema","validationResult","_loadGraphData","busquedaGlobal","licenciaContenidoIds","contenidosId","tipoGrafico","service","getSearchData","exportExcel","accesosGraphSearch","getError","validation","addError","_validateModelLocal","localValidationResult","_validateState","validationResultTemp","_validateAndSubmit","_exportExcel","grupos","itemId","_renderBotones","_errorMessage","_renderTitulo","_renderCamposBusqueda","_renderGrafica","AccesosContenidoGraph","bars","rgbColor","ContenidosColegioService","campannaId","ContenidosPicker","excluirLicenciasUsuarioId","usuarioColegioId","mostrarNivelesEducativos","mostrarNiveles","showOnlySchoolContents","mostrarSoloColegio","showCheckboxes","AccesosContenidoService","AccesosContenido","rgbColors","licenciasContenidosIds","graphItems","graphBars","licenciaContenidosIds","matriculaId","accesosContenidosGraphSearch","ProcessGraphData","listItem","contenidoId","numAccesos","cont","_camposBusquedaEstadisticasGlobal","_camposBusquedaEstadisticasProfesor","_camposBusquedaEstadisticasUsuario","_camposBusquedaEstadisticasLicencia","modelo","enumName","SHubBreadcrumb","BreadCrumbComp","linkItems","NavigationHelper","SetAddItemHandler","breadCrumbSetItems","SetClearItemsHandler","breadCrumClearItems","isLastItem","fnAddItem","SetItems","links","fnClearItems","ClearItems","Accesos","updateBreadCrumb","RouteHelper","listEstadisticasAdmin","Contenidos","setBreadcrumbItems","AccesosComp","listEstadisticasProfesor","supportMultiple","fileAccepted","file","accept","accepts","onDocumentDragOver","isIe","isEdge","borderStyle","borderColor","borderWidth","borderRadius","Dropzone","isDragActive","isDragAccept","isDragReject","composeHandlers","onDocumentDrop","onDragEnter","onDragLeave","onDragOver","onDragStart","onDrop","onFileDialogCancel","onInputElementClick","setRefs","isFileDialogActive","draggedFiles","acceptedFiles","rejectedFiles","preventDropOnDocument","dragTargets","fileInputEl","getDataTransferItems","dropEffect","onDropAccepted","onDropRejected","disablePreview","fileList","preview","minSize","fileMatchSize","_props2","disableClick","isIeOrEdge","files","_props3","acceptClassName","disabledClassName","rejectClassName","acceptStyle","_rest$className","disabledStyle","rejectStyle","_state","filesCount","isMultipleAllowed","allFilesAccepted","noStyles","appliedStyle","inputAttributes","divProps","dataTransferItemsList","DocumentUploadState","bytesUploaded","totalFileSize","currentFile","inProgress","filesToUpload","DocumentUpload","_createNewState","zoneStyle","formatosAceptados","accepted","_defaultOnDrop","manualUpload","_uploadFiles","Formatter","onBeforeUpload","funcs","promiseSerial","_processFileQueue","fileToUpload","_uploadFile","uploadResult","onUpload","dataToPost","append","Models","uploadUrl","errDesc","AliasEditorialEditTabs","EditPageBase","_createInitialState","showLoading","initialMount","_loadStateFromServer","_applyDataFromServerInState","_createStateForNew","headerTitle","_setPageTitleForNew","originalEditModel","editModel","userNotificationText","_setPageTitleForExisting","_editModelIsEqual","_skipExitPrompt","_generateForm","_paintBottomButtons","oldModel","viewMode","_extraButtons","_onBackButtonClicked","_saveStateInServer","_actionWhenNewIsCreated","_actionWhenIsUpdated","_processValidationError","serverValResult","goBackToListAfterSaving","_getListUrl","_getEditUrl","apiService","GenericEditState","showDeleteConfirmation","AccesoDirectoService","EditComp","listAccesosDirectos","editAccesoDirecto","_errorClass","placeholder","fontSize","_updateStateValue","documentUrl","Edit","DropDownButton","dropdownOpen","botones","DeleteModal","onCancelDelete","onConfirm","IndexPageBase","_cacheKeyName","_getInitialSearchParams","isEmbedded","showLoadingIcon","hideDeleteButton","_getPageTitle","_enableExcelExport","_getApiService","onReadData","_showError","_getTableColumns","_toolbarRightContents","_performDelete","_renderExtraContent","showTitle","_getPageDescription","_showToolbar","isViewMode","_canAddItems","_getNewItemUrl","_toolbarLeftExtraContents","renderResultsDiv","renderSearchResultsTable","renderSearchResultsDivs","hideToolbar","_calculateRowClass","onDoubleClick","_getEditionItemUrl","_calculateCellClass","hideGridButtonsOverride","editButtonOverride","deleteButtonOverride","protegidoBorrado","colMdWidth","index1","index2","IndexComp","createAccesoDirecto","Index","ReportsIndex","ReportsIndexComp","cursoEscolarActivo","_downloadAccesosContenidos","finally","_downloadAccesosPedidos","_downloadLicencias","AliasEditorialService","localeCompare","AliasEditorialContenidosService","real","AliasEditorialesContenidosComp","AliasEditorialesContenidos","CargaFicherosTabs","listAliasEditoriales","_showForm","Datos","editAliasEditorial","Usos","hideGridButtons","aliasEditorialId","createAliasEditorial","CargaFicherosService","LicenciasUsuarios","numItemsRead","fileUrl","ficheroSeleccionado","getTemplate","cargarExcel","cargaId","estadoCarga","descargarResultadosCargaLicencias","_downloadResultsExcel","_getTemplate","previewItem","_renderPreviewItem","_renderResult","detailCargaFicheros","Listing","Usuarios","actualizarSiExiste","noCrearLicencias","descargarResultadosCargaUsuarios","MiClaseEditTabs","Listado","Licencias","DetailComp","ficheroUrl","isInitialMount","Detail","MisMatriculasService","AlumnosService","AlumnosComp","haAccedido","editMiClaseProfesor","Alumnos","ContenidosComp","usuarios","calificaciones","anchoUnidad","anchoUsuarios","ContenidosService","contentsProm","ObtenerEstructuraContenidos","calificacionesProm","ObtenerCalificaciones","anchoUsuario","libros","libro","indexLibro","idxUsuario","colSpan","_pintarUnidades","unidades","unidadesOrdenadas","u1","u2","orden","unidad","indexUnidad","_pintarActividades","actividades","actividadesOrdenadas","actividad","indexAct","_pintarResultados","resultados","resultado","resItem","actividadId","calificacion","_pintarResultado","urlResultados","puedeAccederAMisClasesProfe","matriculaProfe","numAlumnosClase","numAlumnosOtrasClases","licenciaContenidos","OtrosAlumnos","_paintMainForm","listMisClasesProfesor","updateMateria","MisClases","MisClasesComp","_misClasesSrv","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","MatriculasService","serchData","LicenciaContenidosEditTabs","isLoading","setIsLoading","setUser","setMatriculas","isSending","setIsSending","sendRequest","userId","searchMatriculas","resetData","userName","editUsuarioColegio","UsuarioEditTabs","CursoEscolarDropDown","campanaId","contenidoIsbns","ContenidosPapelColegioService","ImpersonateComp","userIdToImpersonate","ImpersonationService","impersonate","deimpersonate","Impersonate","MatriculasUsuarioDropDown","MatriculasPicker","materiaId","UserPassword","formValidation","errorUsuario","errorPassword","CredencialesEdit","LicenciasColegioService","idsToDelete","processEditModel","logsBurlington","boolContenidoDigital","TipoAccesoDropDown","initialState","loadTiposLicencias","getTiposLicencias","tiposAcceso","mostrarCredenciales","puedeEditarNumPedido","pedidoJsonUrl","detallePedidoTienda","pedidoId","editMatricula","dataItem","productoTiendaId","editContenidosColegio","productoTienda","_deboMostrarCredenciales","editLicenciasColegio","EstadisticaContenidos","Burlington","_paintTabBurlington","listLicenciasColegio","tipoAccionBurlington","respuesta","replaceAll","peticion","getBasicById","syncBurlington","resp","deleteBurlington","syncColegioBurlington","listUsuariosColegio","listContenidosColegio","showBulkDeleteConfirmation","deleteMultiple","newstate","_performDeleteMultiple","contenidoNombre","usuarioNombre","formatoContenido","tieneCredenciales","columnas","createLicenciasColegio","tieneError","createMatricula","TabEstadisticasAccesos","TabEstadisiticasContenidos","AuditoriasService","usuarioDatosId","ContenidoColegioEditTabs","Matriculas","EstadisticasAccesos","EstadisticasContenidos","Auditoria","borradoFisico","_renderDeleteModal","undelete","passwordError","foto","_getBotones","new","showModalClase","showModalUnirUsuarios","claseNuevaId","nombreCompleto","alumnosChecked","_renderModalCambiarClase","_renderModalUnirUsuarios","joinUsers","errorMsg","getIdUsuariosAlumnosChecked","createUsuariosColegio","NivelContenidosService","nivelId","editNivelContenido","createNivelesContenido","ContenidoEditTabs","EditContenidoColegioComp","Niveles","mensajeAcceso","EditContenidoColegio","IndexContenidoColegio","showAccessData","cambiarTipoAccesoValidationResult","contenidosChecked","getIdContenidosChecked","cambiarTipoAccesoMostrarModal","cambiarTipoAccesoTipoAccesoPorDefecto","_errorMessageCambiarTipoAcceso","cambiarTipoAccesoMostrarAccesoDirecto","cambiarTipoAccesoMensajeAcceso","contenidoIds","cambiarAcceso","_renderModalCambiarTipoAcceso","primerSeleccionado","IndexContenidoPapelColegio","AliasEditorialDown","getAll","GrupoClaseEditTabs","editContenidos","Estructura","_paintEstructura","estructura","syncEstructura","reload","idxLibro","idxUnidad","idxActividad","isbnAlternativo","editPart","oldEditPart","listContenidos","CampannaDropDown","getCampannas","campanas","anno","SeleccionCampannaModal","campanna","contenidosSku","toggleDialogoImportacion","mainText","mostrarIsbns","campannaSelected","datosCursoEscolar","mostrarDialogoImportacion","campannaToSyncId","campannaToSync","showPopupSync","isbnsJuntos","queueContenidosSync","_toggleDialogoImportacion","createContenidos","ColegioCredencialesEditorialesService","apiFetcher","UserPasswordIdCentro","IdCentro","userpass_user","userpass_pass","userpass_center","errorIdCentro","Lti11ConfigCentro","creds","setCreds","errorUrl","errorConsumerKey","errorSharedSecret","Url","ConsumerKey","SharedSecret","MostrarCredencialAlAcceder","Lti13ConfigCentro","showInfo","setShowInfo","LoginUrl","LaunchUrl","DeepLinkingUrl","getLti13ConfigCentro","authorizationUrl","accessTokenUrl","jwkSetUrl","datos","contenidoIsbn","editCredenciales","listCredencialesColegio","createCredenciales","generateDefaultCredentials","GrupoClaseService","NivelContenidoDropDown","NivelProductosTiendaService","NivelProductoTiendaDropDown","productoTiendaSku","showModal","renderPopUp","getClaseMateriaLicencias","getByClaseMateriaId","LicenciaUsuarioEditTabs","ClaseEditComp","listCursosEscolares","editCursoEscolar","editGrupoClase","indexMateriaBorrar","claseMateriaContenidosABorrarIndex","claseMateriaContenidos","_renderMaterias","indexMateria","claseMateriaContenido","indexClaseMateriaContenido","nivelContenidoId","claseMateriaProductosTienda","claseMateriaProductoTienda","indexClaseMateriaProductoTienda","nivelProductoTiendaId","claseMateriaProductoTiendaABorrarIndex","indexEtapaBorrar","indexNivelBorrar","indexClaseBorrar","renderEtapas","indexEtapa","renderNiveles","etapaId","etapaIndex","nivelIndex","numContenidosDigitales","numContenidosPapel","renderClases","cursoIndex","claseIndex","_checkDuplicated","index3","createCursoEscolar","MisLicenciasHome","readLicenses","ComprasPosibles","readComprasPosibles","MiPerfilService","SetClaseActualModal","getMyEditModel","myData","_saveData","onSaved","AccesoDirectoEnlace","accesoDirecto","urlCaratula","AccesosDirectosHome","readAccesosDirectos","DiagnosticoComp","DiagnosticoService","RunDiagnostics","diagResult","runDiagnostics","_pintarProblemasCursoEscolar","_pintarMateriasNombreMal","_pintarEditorialesSinCredenciales","_pintarLicenciasSinCredenciales","_pintarMatriculasSinLicencias","_pintarAliasEditorialSinCompletar","_pintarContenidosSinEditorial","cursosEscolaresDiag","isKO","multiplesActivos","noHayActivos","activosSinAccesoAlumnos","_pintarBloque","matriculasSinLicencia","aliasEditorialesSinCompletar","contenidosSinEditorial","clasesMateriasNombreMal","licenciasSinConfigurar","editorialesSinCredenciales","textoOK","fnPintaItemsHeader","fnPintaItem","cm","Diagnostico","Home","showSetClaseModal","clearItems","clasesRes","usuarioActual","closeModal","logout","modalErrorNombreApellidos","perfilUrl","myProfileStudent","myProfileTeacher","myProfileAdmin","NotFound","detailMyLicenses","listMyLicenses","MisLicencias","createMyLicenses","TipoSyncPedidos","ColegioEditTabs","TipoSyncOdoo","AuthenticatedSection","userContext","UnAuthenticatedSection","Login","LoginComp","shouldCancel","api","LoginUserError","LoginUserErrorComp","GetClaseMateriaDropDownText","listMatriculas","MiPerfilColegioService","todosColegios","pedidosIsbns","soloPedidosTienda","sincronizarProductos","sincronizarDesde","ComunidadAutonomaService","ComunidadesAutonomasDropDown","ProfesorEditTabs","searchValidationResult","showPedidosMagentoPopUp","syncFechaDesde","pedidosNumPedidos","pedidosSoloTienda","tipoSyncPedidos","PorFecha","mostrarDialogoImportacionEstructura","tipoSyncOdoo","mostrarDialogoSyncCompletaOdoo","myProfileSchool","Credenciales","CursoEscolar","comunidadAutonomaId","Pedidos","syncOdooPedidos","syncOdooMasterData","MaestrosYProds","_searchErrorMessage","PorNumPedidos","onSelect","PorIsbn","_validarSyncPedidosMagentoForm","syncPedidosColegio","Maestros","fechaActual","SyncOdoo","syncEstructuraColegio","renderPedidosMagentoPopUp","renderSincronizacionOdooPopUp","syncPedidosEstructuraForAllCenters","fixCredenciales","crearUsuarios","fixClasesPorDefecto","comunidadId","comunidadNombre","editMiMatriculaProfesor","createMiMatriculaProfesor","listMisMatriculas","NivelContenidoEditComp","listNivelesContenidos","NotificationService","ColegioService","ColegiosDropDown","incluirOk","marcarComoLeidos","colegioNombre","pendiente","GetEstado","GetCheckButton","viewNotificacion","ViewComp","_loadData","listNotificaciones","tipoItem","currentVal","View","Logoff","LogoffComp","valuesLength","valuesIndex","differenceWith","isArrayLikeObject","baseDifference","NotificationIcon","mustShowIcon","readNotifications","myNotifications","checkNewNotifications","itemA","itemB","newItems","oldItems","nuevosResultados","_isEqualForNotification","alertNewNotification","notification","OkMsg","_getAlertClass","notif","checkNotification","AuthenticatedMaster","AuthenticatedMasterComp","closeSidebar","toggleSidebar","sideMenu","showImpersonation","usuarioActualTipo","nuevoCursoEscolar","curso","listPedidosTienda","listPedidosColegio","listDevolucionesColegio","reports","listContenidosPapelColegio","float","PedidosTiendaService","nombreCliente","estadoPedidoScholarum","conDescuento","externalId","lic","partes","_exportExcelCompleto","sarchModel","exportExcelCompleto","estadoPedido","descripDescuento","cupones","_pintarTablaLicencias","tipoProducto","licenciasExtra","cantidadPedida","cantidadDevuelta","_pintarLicencias","PedidosColegioService","fromDate","excluirCancelados","numItems","detallePedidoColegio","_pintarTablaLineas","numUnidadesFinalizadas","albaranSeleccionado","albaranShowDetails","albaranes","referenciaInterna","numUnidadesPendientes","numUnidadesPreparacion","calculaClaseNumUnidadesEnFinal","albaran","documentoOrigen","canal","referenciaSeguimiento","fechaGeneracionEtiqueta","estadoEnvio","compania","city","zip","countryId","lineas","itemEnPedido","productoId","soloDevoluciones","detalleDevolucionesColegio","IntranetRouter","readUserContext","errorInfo","loginUserError","UsuariosColegio","EditUsuariosColegio","EditCursoEscolar","EditGrupoClase","MiPerfilAlumno","MiPerfilProfesor","MisMatriculas","EditMiClaseProfesor","MiPerfilAdmin","MiPerfilColegio","LicenciasColegio","EditLicenciasColegio","EditContenidos","EditAliasEditoriales","EditNivelesContenidos","EditCredenciales","NivelesContenidos","AccesosAdmin","AccesosProfesor","CargaFicheros","AccesosDirectos","EditAccesoDirecto","contenidoColegioId","returnUrl","parametro","ViewMiClaseEditTabs"],"sourceRoot":""}