1 line
1.4 MiB
1 line
1.4 MiB
{"version":3,"sources":["webpack://wp.[name]/webpack/bootstrap","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/extends.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/autocomplete/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/base-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/button-group/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/button/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/checkbox-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/clipboard-button/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/color-indicator/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/color-palette/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/dashicon/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/date-time/date.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/date-time/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/date-time/time.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/disabled/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/draggable/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/drop-zone/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/drop-zone/provider.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/dropdown-menu/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/dropdown/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/external-link/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/focusable-iframe/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/font-size-picker/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-file-upload/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-toggle/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-token-field/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-token-field/suggestions-list.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-token-field/token-input.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/form-token-field/token.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/navigate-regions/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-constrained-tabbing/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-fallback-styles/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-filters/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-focus-outside/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-focus-return/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-notices/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/higher-order/with-spoken-messages/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/icon-button/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/keyboard-shortcuts/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/menu-group/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/menu-item/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/menu-items-choice/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/modal/aria-helper.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/modal/frame.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/modal/header.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/modal/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/navigable-container/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/notice/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/notice/list.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/panel/body.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/panel/color.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/panel/header.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/panel/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/panel/row.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/placeholder/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/popover/detect-outside.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/popover/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/popover/utils.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/primitives/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/primitives/svg/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/query-controls/category-select.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/query-controls/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/query-controls/terms.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/radio-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/range-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/resizable-box/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/responsive-wrapper/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/sandbox/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/scroll-lock/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/select-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/server-side-render/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/shortcut/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/slot-fill/fill.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/slot-fill/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/slot-fill/provider.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/slot-fill/slot.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/spinner/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/tab-panel/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/text-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/textarea-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/toggle-control/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/toolbar/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/toolbar/toolbar-button-container.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/toolbar/toolbar-container.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/tooltip/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/components/src/tree-select/index.js","webpack://wp.[name]/./node_modules/classnames/index.js","webpack://wp.[name]/./node_modules/clipboard/lib/clipboard-action.js","webpack://wp.[name]/./node_modules/clipboard/lib/clipboard.js","webpack://wp.[name]/./node_modules/create-react-context/lib/implementation.js","webpack://wp.[name]/./node_modules/create-react-context/lib/index.js","webpack://wp.[name]/./node_modules/delegate/src/closest.js","webpack://wp.[name]/./node_modules/delegate/src/delegate.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/index.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/util.js","webpack://wp.[name]/./node_modules/fbjs/lib/emptyFunction.js","webpack://wp.[name]/./node_modules/fbjs/lib/warning.js","webpack://wp.[name]/./node_modules/good-listener/src/is.js","webpack://wp.[name]/./node_modules/good-listener/src/listen.js","webpack://wp.[name]/./node_modules/gud/index.js","webpack://wp.[name]/./node_modules/hoist-non-react-statics/index.js","webpack://wp.[name]/./node_modules/lodash/_DataView.js","webpack://wp.[name]/./node_modules/lodash/_Hash.js","webpack://wp.[name]/./node_modules/lodash/_ListCache.js","webpack://wp.[name]/./node_modules/lodash/_Map.js","webpack://wp.[name]/./node_modules/lodash/_MapCache.js","webpack://wp.[name]/./node_modules/lodash/_Promise.js","webpack://wp.[name]/./node_modules/lodash/_Set.js","webpack://wp.[name]/./node_modules/lodash/_SetCache.js","webpack://wp.[name]/./node_modules/lodash/_Stack.js","webpack://wp.[name]/./node_modules/lodash/_Symbol.js","webpack://wp.[name]/./node_modules/lodash/_Uint8Array.js","webpack://wp.[name]/./node_modules/lodash/_WeakMap.js","webpack://wp.[name]/./node_modules/lodash/_arrayEach.js","webpack://wp.[name]/./node_modules/lodash/_arrayFilter.js","webpack://wp.[name]/./node_modules/lodash/_arrayLikeKeys.js","webpack://wp.[name]/./node_modules/lodash/_arrayMap.js","webpack://wp.[name]/./node_modules/lodash/_arrayPush.js","webpack://wp.[name]/./node_modules/lodash/_arraySome.js","webpack://wp.[name]/./node_modules/lodash/_assignValue.js","webpack://wp.[name]/./node_modules/lodash/_assocIndexOf.js","webpack://wp.[name]/./node_modules/lodash/_baseAssign.js","webpack://wp.[name]/./node_modules/lodash/_baseAssignIn.js","webpack://wp.[name]/./node_modules/lodash/_baseAssignValue.js","webpack://wp.[name]/./node_modules/lodash/_baseClone.js","webpack://wp.[name]/./node_modules/lodash/_baseCreate.js","webpack://wp.[name]/./node_modules/lodash/_baseEach.js","webpack://wp.[name]/./node_modules/lodash/_baseFor.js","webpack://wp.[name]/./node_modules/lodash/_baseForOwn.js","webpack://wp.[name]/./node_modules/lodash/_baseGet.js","webpack://wp.[name]/./node_modules/lodash/_baseGetAllKeys.js","webpack://wp.[name]/./node_modules/lodash/_baseGetTag.js","webpack://wp.[name]/./node_modules/lodash/_baseHasIn.js","webpack://wp.[name]/./node_modules/lodash/_baseIsArguments.js","webpack://wp.[name]/./node_modules/lodash/_baseIsEqual.js","webpack://wp.[name]/./node_modules/lodash/_baseIsEqualDeep.js","webpack://wp.[name]/./node_modules/lodash/_baseIsMap.js","webpack://wp.[name]/./node_modules/lodash/_baseIsMatch.js","webpack://wp.[name]/./node_modules/lodash/_baseIsNative.js","webpack://wp.[name]/./node_modules/lodash/_baseIsSet.js","webpack://wp.[name]/./node_modules/lodash/_baseIsTypedArray.js","webpack://wp.[name]/./node_modules/lodash/_baseIteratee.js","webpack://wp.[name]/./node_modules/lodash/_baseKeys.js","webpack://wp.[name]/./node_modules/lodash/_baseKeysIn.js","webpack://wp.[name]/./node_modules/lodash/_baseMap.js","webpack://wp.[name]/./node_modules/lodash/_baseMatches.js","webpack://wp.[name]/./node_modules/lodash/_baseMatchesProperty.js","webpack://wp.[name]/./node_modules/lodash/_baseProperty.js","webpack://wp.[name]/./node_modules/lodash/_basePropertyDeep.js","webpack://wp.[name]/./node_modules/lodash/_baseTimes.js","webpack://wp.[name]/./node_modules/lodash/_baseToString.js","webpack://wp.[name]/./node_modules/lodash/_baseUnary.js","webpack://wp.[name]/./node_modules/lodash/_cacheHas.js","webpack://wp.[name]/./node_modules/lodash/_castFunction.js","webpack://wp.[name]/./node_modules/lodash/_castPath.js","webpack://wp.[name]/./node_modules/lodash/_cloneArrayBuffer.js","webpack://wp.[name]/./node_modules/lodash/_cloneBuffer.js","webpack://wp.[name]/./node_modules/lodash/_cloneDataView.js","webpack://wp.[name]/./node_modules/lodash/_cloneRegExp.js","webpack://wp.[name]/./node_modules/lodash/_cloneSymbol.js","webpack://wp.[name]/./node_modules/lodash/_cloneTypedArray.js","webpack://wp.[name]/./node_modules/lodash/_copyArray.js","webpack://wp.[name]/./node_modules/lodash/_copyObject.js","webpack://wp.[name]/./node_modules/lodash/_copySymbols.js","webpack://wp.[name]/./node_modules/lodash/_copySymbolsIn.js","webpack://wp.[name]/./node_modules/lodash/_coreJsData.js","webpack://wp.[name]/./node_modules/lodash/_createBaseEach.js","webpack://wp.[name]/./node_modules/lodash/_createBaseFor.js","webpack://wp.[name]/./node_modules/lodash/_defineProperty.js","webpack://wp.[name]/./node_modules/lodash/_equalArrays.js","webpack://wp.[name]/./node_modules/lodash/_equalByTag.js","webpack://wp.[name]/./node_modules/lodash/_equalObjects.js","webpack://wp.[name]/./node_modules/lodash/_freeGlobal.js","webpack://wp.[name]/./node_modules/lodash/_getAllKeys.js","webpack://wp.[name]/./node_modules/lodash/_getAllKeysIn.js","webpack://wp.[name]/./node_modules/lodash/_getMapData.js","webpack://wp.[name]/./node_modules/lodash/_getMatchData.js","webpack://wp.[name]/./node_modules/lodash/_getNative.js","webpack://wp.[name]/./node_modules/lodash/_getPrototype.js","webpack://wp.[name]/./node_modules/lodash/_getRawTag.js","webpack://wp.[name]/./node_modules/lodash/_getSymbols.js","webpack://wp.[name]/./node_modules/lodash/_getSymbolsIn.js","webpack://wp.[name]/./node_modules/lodash/_getTag.js","webpack://wp.[name]/./node_modules/lodash/_getValue.js","webpack://wp.[name]/./node_modules/lodash/_hasPath.js","webpack://wp.[name]/./node_modules/lodash/_hashClear.js","webpack://wp.[name]/./node_modules/lodash/_hashDelete.js","webpack://wp.[name]/./node_modules/lodash/_hashGet.js","webpack://wp.[name]/./node_modules/lodash/_hashHas.js","webpack://wp.[name]/./node_modules/lodash/_hashSet.js","webpack://wp.[name]/./node_modules/lodash/_initCloneArray.js","webpack://wp.[name]/./node_modules/lodash/_initCloneByTag.js","webpack://wp.[name]/./node_modules/lodash/_initCloneObject.js","webpack://wp.[name]/./node_modules/lodash/_isIndex.js","webpack://wp.[name]/./node_modules/lodash/_isKey.js","webpack://wp.[name]/./node_modules/lodash/_isKeyable.js","webpack://wp.[name]/./node_modules/lodash/_isMasked.js","webpack://wp.[name]/./node_modules/lodash/_isPrototype.js","webpack://wp.[name]/./node_modules/lodash/_isStrictComparable.js","webpack://wp.[name]/./node_modules/lodash/_listCacheClear.js","webpack://wp.[name]/./node_modules/lodash/_listCacheDelete.js","webpack://wp.[name]/./node_modules/lodash/_listCacheGet.js","webpack://wp.[name]/./node_modules/lodash/_listCacheHas.js","webpack://wp.[name]/./node_modules/lodash/_listCacheSet.js","webpack://wp.[name]/./node_modules/lodash/_mapCacheClear.js","webpack://wp.[name]/./node_modules/lodash/_mapCacheDelete.js","webpack://wp.[name]/./node_modules/lodash/_mapCacheGet.js","webpack://wp.[name]/./node_modules/lodash/_mapCacheHas.js","webpack://wp.[name]/./node_modules/lodash/_mapCacheSet.js","webpack://wp.[name]/./node_modules/lodash/_mapToArray.js","webpack://wp.[name]/./node_modules/lodash/_matchesStrictComparable.js","webpack://wp.[name]/./node_modules/lodash/_memoizeCapped.js","webpack://wp.[name]/./node_modules/lodash/_nativeCreate.js","webpack://wp.[name]/./node_modules/lodash/_nativeKeys.js","webpack://wp.[name]/./node_modules/lodash/_nativeKeysIn.js","webpack://wp.[name]/./node_modules/lodash/_nodeUtil.js","webpack://wp.[name]/./node_modules/lodash/_objectToString.js","webpack://wp.[name]/./node_modules/lodash/_overArg.js","webpack://wp.[name]/./node_modules/lodash/_root.js","webpack://wp.[name]/./node_modules/lodash/_setCacheAdd.js","webpack://wp.[name]/./node_modules/lodash/_setCacheHas.js","webpack://wp.[name]/./node_modules/lodash/_setToArray.js","webpack://wp.[name]/./node_modules/lodash/_stackClear.js","webpack://wp.[name]/./node_modules/lodash/_stackDelete.js","webpack://wp.[name]/./node_modules/lodash/_stackGet.js","webpack://wp.[name]/./node_modules/lodash/_stackHas.js","webpack://wp.[name]/./node_modules/lodash/_stackSet.js","webpack://wp.[name]/./node_modules/lodash/_stringToPath.js","webpack://wp.[name]/./node_modules/lodash/_toKey.js","webpack://wp.[name]/./node_modules/lodash/_toSource.js","webpack://wp.[name]/./node_modules/lodash/cloneDeep.js","webpack://wp.[name]/./node_modules/lodash/debounce.js","webpack://wp.[name]/./node_modules/lodash/each.js","webpack://wp.[name]/./node_modules/lodash/eq.js","webpack://wp.[name]/./node_modules/lodash/forEach.js","webpack://wp.[name]/./node_modules/lodash/forOwn.js","webpack://wp.[name]/./node_modules/lodash/get.js","webpack://wp.[name]/./node_modules/lodash/hasIn.js","webpack://wp.[name]/./node_modules/lodash/identity.js","webpack://wp.[name]/./node_modules/lodash/isArguments.js","webpack://wp.[name]/./node_modules/lodash/isArray.js","webpack://wp.[name]/./node_modules/lodash/isArrayLike.js","webpack://wp.[name]/./node_modules/lodash/isBuffer.js","webpack://wp.[name]/./node_modules/lodash/isFunction.js","webpack://wp.[name]/./node_modules/lodash/isLength.js","webpack://wp.[name]/./node_modules/lodash/isMap.js","webpack://wp.[name]/./node_modules/lodash/isObject.js","webpack://wp.[name]/./node_modules/lodash/isObjectLike.js","webpack://wp.[name]/./node_modules/lodash/isPlainObject.js","webpack://wp.[name]/./node_modules/lodash/isSet.js","webpack://wp.[name]/./node_modules/lodash/isString.js","webpack://wp.[name]/./node_modules/lodash/isSymbol.js","webpack://wp.[name]/./node_modules/lodash/isTypedArray.js","webpack://wp.[name]/./node_modules/lodash/keys.js","webpack://wp.[name]/./node_modules/lodash/keysIn.js","webpack://wp.[name]/./node_modules/lodash/map.js","webpack://wp.[name]/./node_modules/lodash/memoize.js","webpack://wp.[name]/./node_modules/lodash/now.js","webpack://wp.[name]/./node_modules/lodash/property.js","webpack://wp.[name]/./node_modules/lodash/stubArray.js","webpack://wp.[name]/./node_modules/lodash/stubFalse.js","webpack://wp.[name]/./node_modules/lodash/throttle.js","webpack://wp.[name]/./node_modules/lodash/toNumber.js","webpack://wp.[name]/./node_modules/lodash/toString.js","webpack://wp.[name]/./node_modules/material-colors/dist/colors.es2015.js","webpack://wp.[name]/./node_modules/mousetrap/mousetrap.js","webpack://wp.[name]/./node_modules/mousetrap/plugins/global-bind/mousetrap-global-bind.js","webpack://wp.[name]/./node_modules/object-assign/index.js","webpack://wp.[name]/../../src/utils/isBrowser.js","webpack://wp.[name]/../../src/utils/debounce.js","webpack://wp.[name]/../../src/utils/isFunction.js","webpack://wp.[name]/../../src/utils/getStyleComputedProperty.js","webpack://wp.[name]/../../src/utils/getParentNode.js","webpack://wp.[name]/../../src/utils/getScrollParent.js","webpack://wp.[name]/../../src/utils/isIE.js","webpack://wp.[name]/../../src/utils/getOffsetParent.js","webpack://wp.[name]/../../src/utils/isOffsetContainer.js","webpack://wp.[name]/../../src/utils/getRoot.js","webpack://wp.[name]/../../src/utils/findCommonOffsetParent.js","webpack://wp.[name]/../../src/utils/getScroll.js","webpack://wp.[name]/../../src/utils/includeScroll.js","webpack://wp.[name]/../../src/utils/getBordersSize.js","webpack://wp.[name]/../../src/utils/getWindowSizes.js","webpack://wp.[name]/../../src/utils/getClientRect.js","webpack://wp.[name]/../../src/utils/getBoundingClientRect.js","webpack://wp.[name]/../../src/utils/getOffsetRectRelativeToArbitraryNode.js","webpack://wp.[name]/../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","webpack://wp.[name]/../../src/utils/isFixed.js","webpack://wp.[name]/../../src/utils/getFixedPositionOffsetParent.js","webpack://wp.[name]/../../src/utils/getBoundaries.js","webpack://wp.[name]/../../src/utils/computeAutoPlacement.js","webpack://wp.[name]/../../src/utils/getReferenceOffsets.js","webpack://wp.[name]/../../src/utils/getOuterSizes.js","webpack://wp.[name]/../../src/utils/getOppositePlacement.js","webpack://wp.[name]/../../src/utils/getPopperOffsets.js","webpack://wp.[name]/../../src/utils/find.js","webpack://wp.[name]/../../src/utils/findIndex.js","webpack://wp.[name]/../../src/utils/runModifiers.js","webpack://wp.[name]/../../src/methods/update.js","webpack://wp.[name]/../../src/utils/isModifierEnabled.js","webpack://wp.[name]/../../src/utils/getSupportedPropertyName.js","webpack://wp.[name]/../../src/methods/destroy.js","webpack://wp.[name]/../../src/utils/getWindow.js","webpack://wp.[name]/../../src/utils/setupEventListeners.js","webpack://wp.[name]/../../src/methods/enableEventListeners.js","webpack://wp.[name]/../../src/utils/removeEventListeners.js","webpack://wp.[name]/../../src/methods/disableEventListeners.js","webpack://wp.[name]/../../src/utils/isNumeric.js","webpack://wp.[name]/../../src/utils/setStyles.js","webpack://wp.[name]/../../src/utils/setAttributes.js","webpack://wp.[name]/../../src/modifiers/applyStyle.js","webpack://wp.[name]/../../src/utils/getRoundedOffsets.js","webpack://wp.[name]/../../src/modifiers/computeStyle.js","webpack://wp.[name]/../../src/utils/isModifierRequired.js","webpack://wp.[name]/../../src/modifiers/arrow.js","webpack://wp.[name]/../../src/utils/getOppositeVariation.js","webpack://wp.[name]/../../src/methods/placements.js","webpack://wp.[name]/../../src/utils/clockwise.js","webpack://wp.[name]/../../src/modifiers/flip.js","webpack://wp.[name]/../../src/modifiers/keepTogether.js","webpack://wp.[name]/../../src/modifiers/offset.js","webpack://wp.[name]/../../src/modifiers/preventOverflow.js","webpack://wp.[name]/../../src/modifiers/shift.js","webpack://wp.[name]/../../src/modifiers/hide.js","webpack://wp.[name]/../../src/modifiers/inner.js","webpack://wp.[name]/../../src/modifiers/index.js","webpack://wp.[name]/../../src/methods/defaults.js","webpack://wp.[name]/../../src/index.js","webpack://wp.[name]/./node_modules/prop-types/checkPropTypes.js","webpack://wp.[name]/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://wp.[name]/./node_modules/prop-types/index.js","webpack://wp.[name]/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://wp.[name]/./node_modules/re-resizable/lib/index.js","webpack://wp.[name]/./node_modules/react-click-outside/dist/index.js","webpack://wp.[name]/./node_modules/react-color/lib/components/alpha/Alpha.js","webpack://wp.[name]/./node_modules/react-color/lib/components/alpha/AlphaPointer.js","webpack://wp.[name]/./node_modules/react-color/lib/components/block/Block.js","webpack://wp.[name]/./node_modules/react-color/lib/components/block/BlockSwatches.js","webpack://wp.[name]/./node_modules/react-color/lib/components/chrome/Chrome.js","webpack://wp.[name]/./node_modules/react-color/lib/components/chrome/ChromeFields.js","webpack://wp.[name]/./node_modules/react-color/lib/components/chrome/ChromePointer.js","webpack://wp.[name]/./node_modules/react-color/lib/components/chrome/ChromePointerCircle.js","webpack://wp.[name]/./node_modules/react-color/lib/components/circle/Circle.js","webpack://wp.[name]/./node_modules/react-color/lib/components/circle/CircleSwatch.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Alpha.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Checkboard.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/ColorWrap.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/EditableInput.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Hue.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Raised.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Saturation.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/Swatch.js","webpack://wp.[name]/./node_modules/react-color/lib/components/common/index.js","webpack://wp.[name]/./node_modules/react-color/lib/components/compact/Compact.js","webpack://wp.[name]/./node_modules/react-color/lib/components/compact/CompactColor.js","webpack://wp.[name]/./node_modules/react-color/lib/components/compact/CompactFields.js","webpack://wp.[name]/./node_modules/react-color/lib/components/github/Github.js","webpack://wp.[name]/./node_modules/react-color/lib/components/github/GithubSwatch.js","webpack://wp.[name]/./node_modules/react-color/lib/components/hue/Hue.js","webpack://wp.[name]/./node_modules/react-color/lib/components/hue/HuePointer.js","webpack://wp.[name]/./node_modules/react-color/lib/components/material/Material.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/Photoshop.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/PhotoshopButton.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/PhotoshopFields.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/PhotoshopPointer.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/PhotoshopPointerCircle.js","webpack://wp.[name]/./node_modules/react-color/lib/components/photoshop/PhotoshopPreviews.js","webpack://wp.[name]/./node_modules/react-color/lib/components/sketch/Sketch.js","webpack://wp.[name]/./node_modules/react-color/lib/components/sketch/SketchFields.js","webpack://wp.[name]/./node_modules/react-color/lib/components/sketch/SketchPresetColors.js","webpack://wp.[name]/./node_modules/react-color/lib/components/slider/Slider.js","webpack://wp.[name]/./node_modules/react-color/lib/components/slider/SliderPointer.js","webpack://wp.[name]/./node_modules/react-color/lib/components/slider/SliderSwatch.js","webpack://wp.[name]/./node_modules/react-color/lib/components/slider/SliderSwatches.js","webpack://wp.[name]/./node_modules/react-color/lib/components/swatches/Swatches.js","webpack://wp.[name]/./node_modules/react-color/lib/components/swatches/SwatchesColor.js","webpack://wp.[name]/./node_modules/react-color/lib/components/swatches/SwatchesGroup.js","webpack://wp.[name]/./node_modules/react-color/lib/components/twitter/Twitter.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/alpha.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/checkboard.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/color.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/hue.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/interaction.js","webpack://wp.[name]/./node_modules/react-color/lib/helpers/saturation.js","webpack://wp.[name]/./node_modules/react-color/lib/index.js","webpack://wp.[name]/./node_modules/react-datepicker/es/index.js","webpack://wp.[name]/./node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","webpack://wp.[name]/./node_modules/react-popper/lib/esm/Manager.js","webpack://wp.[name]/./node_modules/react-popper/lib/esm/Popper.js","webpack://wp.[name]/./node_modules/react-popper/lib/esm/Reference.js","webpack://wp.[name]/./node_modules/react-popper/lib/esm/index.js","webpack://wp.[name]/./node_modules/react-popper/lib/esm/utils.js","webpack://wp.[name]/./node_modules/reactcss/lib/autoprefix.js","webpack://wp.[name]/./node_modules/reactcss/lib/components/active.js","webpack://wp.[name]/./node_modules/reactcss/lib/components/hover.js","webpack://wp.[name]/./node_modules/reactcss/lib/flattenNames.js","webpack://wp.[name]/./node_modules/reactcss/lib/index.js","webpack://wp.[name]/./node_modules/reactcss/lib/loop.js","webpack://wp.[name]/./node_modules/reactcss/lib/mergeClasses.js","webpack://wp.[name]/./node_modules/select/src/select.js","webpack://wp.[name]/./node_modules/tiny-emitter/index.js","webpack://wp.[name]/./node_modules/tinycolor2/tinycolor.js","webpack://wp.[name]/./node_modules/uuid/lib/bytesToUuid.js","webpack://wp.[name]/./node_modules/uuid/lib/rng-browser.js","webpack://wp.[name]/./node_modules/uuid/v4.js","webpack://wp.[name]/./node_modules/warning/warning.js","webpack://wp.[name]/(webpack)/buildin/global.js","webpack://wp.[name]/(webpack)/buildin/module.js","webpack://wp.[name]/external {\"this\":[\"wp\",\"a11y\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"apiFetch\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"compose\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"deprecated\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"dom\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"element\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"hooks\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"i18n\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"isShallowEqual\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"keycodes\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"richText\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"url\"]}","webpack://wp.[name]/external \"lodash\"","webpack://wp.[name]/external \"moment\"","webpack://wp.[name]/external \"React\"","webpack://wp.[name]/external \"ReactDOM\""],"names":["filterOptions","search","options","maxResults","filtered","i","length","option","keywords","label","isMatch","some","keyword","test","push","getCaretRect","range","window","getSelection","getRangeAt","getRectangleFromRange","Autocomplete","selectedIndex","suppress","undefined","open","query","filteredOptions","arguments","bindNode","bind","select","reset","resetWhenSuppressed","handleKeyDown","debouncedLoadOptions","debounce","loadOptions","state","constructor","getInitialState","node","replacement","props","record","onChange","end","start","triggerPrefix","toInsert","create","html","renderToString","insert","onReplace","getOptionCompletion","isDisabled","completion","value","action","insertCompletion","isMounted","setState","idx","debouncedSpeak","sprintf","_n","__","completer","promise","activePromise","Promise","resolve","then","optionsData","keyedOptions","map","optionData","optionIndex","key","getOptionLabel","getOptionKeywords","isOptionDisabled","announce","event","keyCode","SPACE","ctrlKey","shiftKey","altKey","metaKey","preventDefault","stopPropagation","UP","DOWN","LEFT","RIGHT","nextSelectedIndex","ESCAPE","ENTER","isListening","handler","prevProps","prevState","completers","prevRecord","prevOpen","toggleKeyEvents","isCollapsed","text","getTextContent","slice","prevText","textAfterSelection","allCompleters","find","allowContext","index","lastIndexOf","match","RegExp","wasOpen","wasSuppress","wasQuery","isDebounced","escapeRegExp","cancel","children","instanceId","selectedKey","className","isExpanded","listBoxId","activeId","classnames","Component","compose","withSpokenMessages","withInstanceId","withFocusOutside","BaseControl","id","help","ButtonGroup","classes","Button","ref","href","target","isPrimary","isLarge","isSmall","isToggled","isBusy","isDefault","isLink","isDestructive","disabled","additionalProps","tag","tagProps","type","createElement","forwardRef","CheckboxControl","heading","checked","onChangeValue","ClipboardButton","bindContainer","onCopy","getText","container","button","firstChild","clipboard","Clipboard","on","destroy","clearTimeout","onCopyTimeout","args","clearSelection","onFinishCopy","setTimeout","buttonProps","icon","ComponentToUse","IconButton","focusOnCopyEventTarget","focus","ColorIndicator","colorValue","background","ColorPalette","colors","disableCustomColors","applyOrUnset","color","customColorPickerLabel","name","style","itemClasses","isOpen","onToggle","hex","Dashicon","nextProps","size","path","iconClass","filter","Boolean","join","TIMEZONELESS_FORMAT","DatePicker","currentDate","momentDate","moment","onChangeMoment","newDate","format","DateTimePicker","is12Hour","TimePicker","hours","minutes","am","date","updateHours","updateMinutes","onChangeHours","onChangeMinutes","syncState","currentTime","selected","parseInt","isInteger","clone","formattedDate","updateAmPm","createContext","Consumer","Provider","DISABLED_ELIGIBLE_NODE_NAMES","Disabled","disable","debouncedDisable","leading","observer","MutationObserver","observe","childList","attributes","subtree","disconnect","focusable","forEach","includes","nodeName","setAttribute","hasAttribute","removeAttribute","dragImageClass","cloneWrapperClass","cloneHeightTransformationBreakpoint","clonePadding","isChromeUA","navigator","userAgent","documentHasIframes","document","getElementById","querySelectorAll","Draggable","onDragStart","onDragOver","onDrop","onDragEnd","resetDragState","isChromeAndHasIframes","noop","cloneWrapper","top","clientY","cursorTop","left","clientX","cursorLeft","elementId","transferData","element","dataTransfer","setDragImage","dragImage","classList","add","body","appendChild","removeChild","setData","JSON","stringify","elementRect","getBoundingClientRect","elementWrapper","parentNode","elementTopOffset","elementLeftOffset","cloneNode","width","height","transform","transformOrigin","child","addEventListener","removeEventListener","remove","onDraggableStart","onDraggableEnd","withSafeTimeout","DropZone","setZoneNode","isDraggingOverDocument","isDraggingOverElement","position","context","dropzones","zone","updateState","onFilesDrop","onHTMLDrop","y","x","contextTypes","DropZoneProvider","toggleDraggingOverDocument","throttle","dragOverListener","isWithinZoneBounds","hoveredDropZone","getDragEventType","dropzone","findDOMNode","types","dragEventType","detail","CustomEvent","hoveredDropZones","doesDropzoneSupportType","subZone","parentElement","contains","hoveredDropZoneIndex","indexOf","rect","right","bottom","dropzonesToUpdate","isEqual","isDraggingOverDropZone","newState","isShallowEqual","isWithinElement","files","isValidDropzone","getData","childContextTypes","DropdownMenu","menuLabel","controls","controlSets","Array","isArray","openOnArrowDown","onClose","flatMap","controlSet","indexOfSet","control","indexOfControl","onClick","isActive","title","Dropdown","toggle","close","clickOutside","refresh","popoverRef","createRef","current","renderContent","renderToggle","contentClassName","expandOnMobile","headerTitle","ExternalLink","rel","uniq","compact","split","FocusEvent","FocusableIframe","checkFocus","iframeRef","iframe","activeElement","focusEvent","bubbles","dispatchEvent","onFocus","omit","withGlobalEvents","blur","FontSizePicker","fallbackFontSize","fontSizes","withSlider","newValue","Number","currentFont","font","slug","fontSize","FormFileUpload","openFileDialog","bindInput","input","click","multiple","accept","display","FormToggle","wrapperClasses","initialState","incompleteTokenValue","inputOffsetFromEnd","selectedSuggestionIndex","selectedSuggestionScroll","FormTokenField","onKeyDown","onKeyPress","onBlur","deleteTokenBeforeInput","deleteTokenAfterInput","addCurrentToken","onContainerTouched","renderToken","onTokenClickRemove","onSuggestionHovered","onSuggestionSelected","onInputChange","bindTokensAndInput","hasFocus","tokensAndInput","inputHasValidValue","BACKSPACE","handleDeleteKey","handleLeftArrowKey","handleUpArrowKey","handleRightArrowKey","handleDownArrowKey","DELETE","tokenizeOnSpace","handleEscapeKey","charCode","handleCommaKey","deleteToken","suggestion","getMatchingSuggestions","addNewToken","separator","items","tokenValue","last","inputHasMinimumChars","trim","matchingSuggestions","hasVisibleSuggestions","addNewTokens","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","suggestions","maxSuggestions","saveTransform","Math","max","min","getIndexOfInput","moveInputToIndex","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","token","valueContainsToken","splice","apply","concat","speak","messages","added","newTokens","item","getTokenValue","removed","searchValue","startsWithMatch","containsMatch","difference","toLocaleLowerCase","each","take","components","renderInput","status","termPosition","termsCount","displayTransform","isBorderless","onMouseEnter","onMouseLeave","autoCapitalize","autoComplete","maxLength","placeholder","tokenFieldProps","tabIndex","Object","assign","renderTokensAndInput","defaultProps","freeze","identity","SuggestionsList","handleMouseDown","bindList","scrollIntoView","scrollingIntoView","list","onlyScrollIfNeeded","onHover","onSelect","e","indexOfMatch","suggestionBeforeMatch","substring","suggestionMatch","suggestionAfterMatch","computeSuggestionMatch","classeName","handleClick","handleHover","TokenInput","Token","onClickRemove","tokenClasses","transformedValue","termPositionAndCount","createHigherOrderComponent","WrappedComponent","focusNextRegion","focusRegion","focusPreviousRegion","isFocusingRegions","offset","regions","nextRegion","nextIndex","withConstrainedTabbing","focusContainRef","handleTabBehaviour","TAB","tabbables","tabbable","firstTabbable","lastTabbable","mapNodeToProps","nodeRef","fallbackStyles","grabStylesCompleted","bindRef","grabFallbackStyles","newFallbackStyles","every","wrappedComponent","ANIMATION_FRAME_PERIOD","withFilters","hookName","OriginalComponent","onHooksUpdated","applyFilters","namespace","uniqueId","throttledForceUpdate","forceUpdate","addAction","removeAction","updatedHookName","INPUT_BUTTON_TYPES","isFocusNormalizedButton","cancelBlurCheck","queueBlurCheck","normalizeButtonFocus","persist","preventBlurCheck","blurCheckTimeout","handleFocusOutside","isInteractionEnd","setIsFocusedTrue","isFocused","setIsFocusedFalse","activeElementOnMount","createNotice","createErrorNotice","removeNotice","removeAllNotices","noticeList","noticeOperations","notice","noticeToAdd","uuid","msg","content","message","tooltip","shortcut","tooltipText","showTooltip","isString","KeyboardShortcuts","bindKeyTarget","keyTarget","mousetrap","Mousetrap","shortcuts","callback","bindGlobal","eventName","bindFn","Children","count","MenuGroup","labelId","classNames","MenuItem","isSelected","role","cloneElement","MenuItemsChoice","choices","LIVE_REGION_ARIA_ROLES","Set","hiddenElements","isHidden","hideApp","unhiddenElement","elements","elementShouldBeHidden","getAttribute","tagName","has","showApp","ModalFrame","containerRef","handleClickOutside","focusFirstTabbable","focusOnMount","shouldCloseOnClickOutside","onRequestClose","handleEscapeKeyDown","shouldCloseOnEsc","contentLabel","aria","describedby","labelledby","withFocusReturn","keydown","ModalHeader","closeLabel","headingId","isDismissable","openModalCount","Modal","prepareDOM","stopEventPropagationOutsideModal","openFirstModal","closeLastModal","cleanDOM","ariaHelper","bodyOpenClassName","overlayClassName","closeButtonLabel","otherProps","createPortal","cycleValue","total","nextValue","NavigableContainer","getFocusableContext","getFocusableIndex","onlyBrowserTabstops","finder","focusables","directIndex","cycle","eventToOffset","onNavigate","stopNavigationEvents","nativeEvent","stopImmediatePropagation","NavigableMenu","orientation","rest","evt","next","previous","TabbableContainer","Notice","onRemove","isDismissible","NoticeList","notices","reverse","PanelBody","opened","initialOpen","isOpened","PanelColor","colorName","currentColorLabel","PanelHeader","Panel","header","PanelRow","Placeholder","instructions","PopoverDetectOutside","onClickOutside","FocusManaged","SLOT_NAME","Popover","getAnchorRect","updatePopoverSize","computePopoverPosition","throttledComputePopoverPosition","maybeClose","contentNode","anchorNode","popoverLeft","popoverTop","yAxis","xAxis","contentHeight","contentWidth","isMobile","popoverSize","toggleWindowEvents","focusTimeout","cancelAnimationFrame","rafHandle","requestAnimationFrame","anchor","getComputedStyle","paddingTop","paddingBottom","topPad","bottomPad","newPopoverPosition","noArrow","contentProps","visibility","maxHeight","maxWidth","getSlot","PopoverContainer","Slot","HEIGHT_OFFSET","isMobileViewport","innerWidth","computePopoverXAxisPosition","anchorRect","contentSize","chosenYAxis","anchorMidPoint","round","centerAlignment","leftAlignmentX","leftAlignment","rightAlignmentX","rightAlignment","chosenXAxis","chosenWidth","computePopoverYAxisPosition","middleAlignment","innerHeight","topAlignment","bottomAlignment","chosenHeight","yAxisPosition","xAxisPosition","G","Path","Polygon","SVG","appliedProps","AccessibleSVG","deprecated","version","alternative","plugin","CategorySelect","noOptionLabel","categoriesList","selectedCategoryId","termsTree","buildTermsTree","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","QueryControls","numberOfItems","order","orderBy","maxItems","minItems","onCategoryChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","newOrderBy","newOrder","flatTerms","termsByParent","groupBy","fillWithChildren","terms","term","RadioControl","isEmpty","RangeControl","beforeIcon","afterIcon","allowReset","initialPosition","resetValue","initialSliderValue","isFinite","ResizableBox","handleStylesOverrides","handleClassName","ResponsiveWrapper","naturalWidth","naturalHeight","imageStyle","Sandbox","trySandbox","checkMessageForResize","contentDocument","data","parse","contentWindow","source","oldWidth","oldHeight","isFrameAccessible","observeAndResizeJS","htmlDoc","documentElement","lang","__html","scripts","src","iframeDocument","write","ceil","createScrollLockComponent","htmlDocument","lockCounter","previousScrollTop","setLocked","locked","scrollingElement","scrollTop","methodName","requestLock","releaseLock","SelectControl","selectedOptions","newValues","rendererPath","block","urlQueryArgs","addQueryArgs","ServerSideRender","response","isStillMounted","fetch","apiFetch","rendered","catch","error","errorMsg","errorMessage","Shortcut","displayText","ariaLabel","isObject","occurrences","Fill","occurrence","registerFill","slot","bubblesVirtually","unregisterFill","isFunction","fillProps","createSlotFill","FillComponent","displayName","SlotComponent","SlotFillProvider","registerSlot","unregisterSlot","getFills","slots","fills","pick","forceUpdateFills","forceUpdateSlot","instance","without","resetFillOccurrence","sortBy","resetOccurrence","fill","fillKey","fillChildren","childIndex","childKey","negate","isEmptyElement","TabButton","tabId","TabPanel","tabs","initialTabName","tabKey","activeClass","selectedTab","selectedId","hint","tab","partial","String","TextControl","TextareaControl","rows","ToggleControl","describedBy","helpLabel","Toolbar","subscript","extraProps","ToolbarButtonContainer","ToolbarContainer","TOOLTIP_DELAY","Tooltip","delayedSetIsOver","isOver","disconnectDisabledAttributeObserver","observeDisabledAttribute","mutation","attributeFilter","only","isDelayed","emitToChild","currentTarget","console","createToggleIsOver","concatChildren","getSelectOptions","tree","level","treeNode","repeat","unescapeString","TreeSelect","longerTimeoutBrowsers","timeoutDuration","isBrowser","microtaskDebounce","fn","called","taskDebounce","scheduled","supportsMicroTasks","functionToCheck","getType","toString","call","getStyleComputedProperty","property","nodeType","ownerDocument","defaultView","css","getParentNode","host","getScrollParent","overflow","overflowX","overflowY","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","findCommonOffsetParent","element1","element2","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","createRange","setStart","setEnd","commonAncestorContainer","element1root","getScroll","side","upperSide","includeScroll","subtract","scrollLeft","modifier","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","getWindowSizes","getClientRect","offsets","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","isFixed","getFixedPositionOffsetParent","el","getBoundaries","popper","reference","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","sort","a","b","area","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","prototype","findIndex","prop","cur","obj","runModifiers","modifiers","ends","modifiersToRun","warn","enabled","update","isDestroyed","positionFixed","flip","originalPlacement","isCreated","onCreate","onUpdate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","willChange","disableEventListeners","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","passive","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","isNumeric","n","isNaN","setStyles","unit","setAttributes","applyStyle","arrowElement","arrowStyles","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","isVertical","isVariation","sameWidthOddness","bothOddWidth","noRound","v","horizontalToInteger","floor","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","getOppositeVariation","validPlacements","placements","clockwise","counter","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","COUNTERCLOCKWISE","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","keepTogether","toValue","str","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","reduce","index2","preventOverflow","transformProp","popperStyles","priority","escapeWithReference","shift","shiftvariation","shiftOffsets","hide","bound","inner","subtractLength","Popper","Defaults","jquery","onLoad","Utils","global","PopperUtils"],"mappings":";;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wC;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA,iC;;;;;;;;;;;;ACfA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,iDAAiD,gBAAgB;AACjE;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACNA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACdA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACbA;AAAA;AAAe;AACf;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AChBA;AAAA;AAAe;AACf;AACA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IAA0C;AAClD,QAAQ,iCAAO,CAAC,MAAQ,EAAE,wEAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AAC7C,KAAK,MAAM,YAQN;AACL,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA,CAAC,E;;;;;;;;;;;ACpOD;AACA,QAAQ,IAA0C;AAClD,QAAQ,iCAAO,CAAC,MAAQ,EAAE,iGAAoB,EAAE,+EAAc,EAAE,sFAAe,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AAC1F,KAAK,MAAM,YAQN;AACL,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,2CAA2C;AAC9D,mBAAmB,OAAO;AAC1B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC,E;;;;;;;;;;;;AC9MY;;AAEb;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,WAAW,mBAAO,CAAC,wCAAK;;AAExB;;AAEA,eAAe,mBAAO,CAAC,4DAAkB;;AAEzC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,SAAS;AACT;AACA,cAAc,IAAqC;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH,0DAA0D;;AAE1D;AACA;;AAEA;AACA;;AAEA;;AAEA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,2BAA2B,2BAA2B;AACtD;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH,qDAAqD;;;AAGrD;AACA;AACA;AACA;AACA;;AAEA;AACA,oC;;;;;;;;;;;;ACnMa;;AAEb;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,sBAAsB,mBAAO,CAAC,mFAAkB;;AAEhD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,oC;;;;;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,cAAc,mBAAO,CAAC,yDAAW;;AAEjC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AC7Ea;;AAEb,WAAW,mBAAO,CAAC,+DAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;AChIa;;AAEb,iBAAiB,mBAAO,CAAC,+FAAwB,E;;;;;;;;;;;;ACFpC;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,kGAAkG;;AAE9O;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC,Y;;;;;;;;;;;;ACtbY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+B;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,oBAAoB,mBAAO,CAAC,iEAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA,sFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;AACA,4FAA4F,eAAe;AAC3G;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yB;;;;;;;;;;;AC7DA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AChDA,SAAS,mBAAO,CAAC,oDAAM;AACvB,eAAe,mBAAO,CAAC,yDAAU;;AAEjC;AACA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AC9FA;AACa;;AAEb;;AAEA;AACA;AACA;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACjDA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;;AAEA;;;;;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AA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;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;AC1KA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,aAAa;AAC1B;AACA;;AAEA;;;;;;;;;;;;ACbA,oBAAoB,mBAAO,CAAC,iEAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;;;;;;ACfA,cAAc,mBAAO,CAAC,qDAAY;AAClC,WAAW,mBAAO,CAAC,6CAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,eAAe,mBAAO,CAAC,uDAAa;AACpC,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACvBA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,mDAAW;AAChC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACZA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3BA,YAAY,mBAAO,CAAC,iDAAU;AAC9B,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,aAAa,mBAAO,CAAC,mDAAW;AAChC,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;AACnC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClFA,aAAa,mBAAO,CAAC,mDAAW;AAChC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,YAAY,mBAAO,CAAC,iDAAU;AAC9B,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA,iBAAiB,mBAAO,CAAC,yDAAc;AACvC,eAAe,mBAAO,CAAC,uDAAa;AACpC,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9CA,aAAa,mBAAO,CAAC,mDAAW;AAChC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,eAAe,mBAAO,CAAC,qDAAY;AACnC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3DA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,0BAA0B,mBAAO,CAAC,6EAAwB;AAC1D,eAAe,mBAAO,CAAC,qDAAY;AACnC,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7BA,eAAe,mBAAO,CAAC,qDAA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClFA,aAAa,mBAAO,CAAC,mDAAW;AAChC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,SAAS,mBAAO,CAAC,yCAAM;AACvB,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/GA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACZA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;AClBA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,WAAW,mBAAO,CAAC,+CAAS;AAC5B,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,UAAU,mBAAO,CAAC,6CAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;;AAEA;;;;;;;;;;;;ACLA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;;AAEA;;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,+DAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;;;;;;AC7BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACRA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;ACjBA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,UAAU,mBAAO,CAAC,6CAAQ;AAC1B,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjCA,oBAAoB,mBAAO,CAAC,iEAAkB;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;;;;;;;;;;AC1BA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,eAAe,mBAAO,CAAC,qDAAY;AACnC,UAAU,mBAAO,CAAC,2CAAO;AACzB,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7LA,iBAAiB,mBAAO,CAAC,mDAAW;;;;;;;;;;;;ACApC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;AACpC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACxCA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnCA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,0BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,iBAAiB,mBAAO,CAAC,yDAAc;AACvC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,yDAAW,mBAAO,CAAC,+CAAS;AAC5B,gBAAgB,mBAAO,CAAC,uDAAa;;AAErC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACrCA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,cAAc,mBAAO,CAAC,mDAAW;AACjC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,uBAAuB,mBAAO,CAAC,uEAAqB;AACpD,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,eAAe,mBAAO,CAAC,uDAAa;AACpC,kBAAkB,mBAAO,CAAC,2DAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,kBAAkB,mBAAO,CAAC,2DAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/BA,eAAe,mBAAO,CAAC,uDAAa;AACpC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA,MAAM,mBAAmB;AACzB,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpDA,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACxEA,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,uBAAuB,mBAAO,CAAC,uEAAqB;AACpD,YAAY,mBAAO,CAAC,iDAAU;AAC9B,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA,MAAM,OAAO,SAAS,EAAE;AACxB,MAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,oBAAoB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACpEA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjEA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AC3BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,WAAW;AACX,YAAY;AACZ,cAAc;AACd,kBAAkB;AAClB,cAAc;AACd,YAAY;AACZ,iBAAiB;AACjB,YAAY;AACZ,YAAY;AACZ,aAAa;AACb,kBAAkB;AAClB,YAAY;AACZ,cAAc;AACd,aAAa;AACb,cAAc;AACd,kBAAkB;AAClB,aAAa;AACb,YAAY;AACZ,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,iBAAiB;AACjB,kBAAkB;AAClB;AACA;;AAEQ;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;ACpDF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,eAAe,QAAQ;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,EAAE;AAChD;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB,QAAQ;AACxB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,MAAM;AACzB,mBAAmB,aAAa;AAChC,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,uCAAuC;AAC9D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,mBAAmB,MAAM;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,MAAM;AACzB,mBAAmB,MAAM;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,sBAAsB;;AAE7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,MAAM;AACzB,mBAAmB,SAAS;AAC5B,mBAAmB,QAAQ;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,MAAM;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,SAAS;AAC5B,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,mDAAmD,kBAAkB;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,mBAAmB,SAAS;AAC5B,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,uDAAuD;AACvD;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,QAAQ,KAA6B;AACrC;AACA;;AAEA;AACA,QAAQ,IAA0C;AAClD,QAAQ,mCAAO;A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ACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,6BAA6B;AAC7B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,wFAAwF,SAAM;AACzI;AACA;;AAEA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,SAAM;AAC7I;AACA;;AAEA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,gCAAgC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;AC1iBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,CAAC,MAAM,EAIN;;;;;;;;;;;;;AC3BD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;;;ACXA;AAAA;AAAA;AAAiD;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,2DAAa;AACtB;AACA;AACA;AACA,wBAAwB,iEAAiE;AACzF;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;;AAEA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,iCAAiC;AAC1D;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,0CAA0C;AAC/D;AACA,GAAG;AACH;AACA;AACA,qBAAqB,yCAAyC;AAC9D;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,2DAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,sDAAsD,2DAAa;AACnE;AACA;AACA;AACA,OAAO;AACP;AACA,aAAa,2DAAa;AAC1B;AACA,SAAS,2DAA2D;AACpE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,aAAa,2DAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT,iCAAiC,2DAAa;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,GAAG;AACH;AACA,CAAC,CAAC,+CAAS;;AAEX;AACA,4CAA4C;AAC5C,kCAAkC;AAClC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEe,wEAAS,EAAC;;;;;;;;;;;;;ACjuBZ;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,0BAA0B,mBAAO,CAAC,gFAAyB;AAC3D,YAAY,mBAAO,CAAC,oBAAO;AAC3B,eAAe,mBAAO,CAAC,4BAAW;;AAElC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,gEAAgE;AAChE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;;AAEA;AACA,E;;;;;;;;;;;;ACrEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,oBAAoB,mBAAO,CAAC,uFAAgB;;AAE5C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,KAAK,+DAA+D;AACpE,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sD;;;;;;;;;;;;ACzEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,qCAAqC;;AAE3C,+CAA+C,uBAAuB;AACtE;;AAEA,+B;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,qBAAqB,mBAAO,CAAC,yFAAiB;;AAE9C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,uCAAuC;;AAE7C;AACA;AACA,KAAK,6DAA6D;AAClE,0CAA0C,yBAAyB;AACnE;AACA;AACA,OAAO,qBAAqB;AAC5B,wEAAwE,8BAA8B;AACtG;AACA;AACA,SAAS,sBAAsB;AAC/B;AACA;AACA;AACA;AACA;AACA,OAAO,qBAAqB;AAC5B,8DAA8D,sEAAsE;AACpI;AACA,gBAAgB,sBAAsB;AACtC;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gD;;;;;;;;;;;;ACjJa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,gDAAY;;AAE/B;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,KAAK,yBAAyB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,0CAA0C,sBAAsB;AAChE;AACA;;AAEA,gC;;;;;;;;;;;;AClEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,oBAAoB,mBAAO,CAAC,wFAAgB;;AAE5C;;AAEA,qBAAqB,mBAAO,CAAC,0FAAiB;;AAE9C;;AAEA,2BAA2B,mBAAO,CAAC,sGAAuB;;AAE1D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,6BAA6B;;AAEnC;AACA;AACA,KAAK,gEAAgE;AACrE;AACA;AACA,OAAO,2BAA2B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO,qBAAqB;AAC5B;AACA;AACA,SAAS,mDAAmD;AAC5D;AACA;AACA,WAAW,sBAAsB;AACjC;AACA;AACA,aAAa,uBAAuB;AACpC,kDAAkD,uBAAuB;AACzE,+DAA+D,uBAAuB;AACtF;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA;AACA,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iD;;;;;;;;;;;;AC3Ma;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;;AAE9e;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,wBAAwB,cAAc;AACtC,OAAO;AACP,wBAAwB,cAAc;AACtC,OAAO;AACP;AACA,0BAA0B,cAAc;AACxC,SAAS;AACT,0BAA0B,cAAc;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC,OAAO;AACP,uBAAuB,cAAc;AACrC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,WAAW,iDAAiD;AAC5D;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP;AACA;AACA,WAAW,iDAAiD;AAC5D;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP;AACA;AACA,WAAW,iDAAiD;AAC5D;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,sBAAsB;AACnC;AACA,sBAAsB,2CAA2C;AACjE;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,SAAS,+CAA+C;AACxD;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA,aAAa;AACb;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED,+B;;;;;;;;;;;;AC7Va;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,+CAA+C,uBAAuB;AACtE;;AAEA,gC;;;;;;;;;;;;AClCa;;AAEb;AACA;AACA,CAAC;AAC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;;AAEA,sBAAsB,wBAAwB;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2EAA2E;AAC3E,WAAW;AACX;AACA;;AAEA;AACA,4BAA4B,+BAA+B;AAC3D,WAAW;AACX,4BAA4B,yBAAyB;AACrD;AACA;;AAEA;AACA;AACA;AACA,2EAA2E;AAC3E,WAAW;AACX;AACA;;AAEA;AACA,4BAA4B,+BAA+B;AAC3D,WAAW;AACX,4BAA4B,yBAAyB;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mDAAmD;AAC5E,SAAS;AACT,yBAAyB,0HAA0H;AACnJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sFAAsF;AACtF,yFAAyF;AACzF;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;;AAEP;AACA;AACA,SAAS,qBAAqB;AAC9B;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW,yDAAyD;AACpE;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED,gC;;;;;;;;;;;;ACpMa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,wEA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A;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,GAAG,+BAA+B;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,0CAA0C,uFAAuF,+EAA+E,aAAa,+BAA+B,+EAA+E,uEAAuE,aAAa;AAC/Z;AACA;AACA;AACA,WAAW,qDAAqD;AAChE,gDAAgD,qDAAqD;AACrG;AACA;AACA,aAAa,wBAAwB;AACrC,uIAAuI,uBAAuB;AAC9J;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED,6B;;;;;;;;;;;;AC/Ja;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,mBAAmB,mBAAO,CAAC,wFAA2B;;AAEtD,QAAQ,mBAAO,CAAC,qEAAI;;AAEpB,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gCAAgC;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,wD;;;;;;;;;;;;ACpFa;;AAEb;AACA;AACA,CAAC;;AAED,aAAa,mBAAO,CAAC,0EAAS;;AAE9B;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,kBAAkB,mBAAO,CAAC,oFAAc;;AAExC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,qBAAqB,mBAAO,CAAC,0FAAiB;;AAE9C;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,WAAW,mBAAO,CAAC,sEAAO;;AAE1B;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,4EAAU;;AAEhC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,kBAAkB,mBAAO,CAAC,oFAAc;;AAExC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,kFAAa;;AAEtC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,4EAAU;;AAEhC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,sCAAsC,uCAAuC,gBAAgB,E;;;;;;;;;;;;AC9EhF;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,gDAAY;;AAE/B;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,oBAAoB,mBAAO,CAAC,yFAAgB;;AAE5C;;AAEA,qBAAqB,mBAAO,CAAC,2FAAiB;;AAE9C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,KAAK,wBAAwB;AAC7B;AACA;AACA,OAAO,kEAAkE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,8CAA8C,sBAAsB;AACpE;AACA,8DAA8D,6CAA6C;AAC3G;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kD;;;;;;;;;;;;AC9Ga;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,+FAA+F;;AAErG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,KAAK;AACL,0CAA0C,oBAAoB;AAC9D;AACA;;AAEA,+B;;;;;;;;;;;;AClFa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,KAAK,iDAAiD;AACtD,0CAA0C,uBAAuB;AACjE;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,gC;;;;;;;;;;;;ACpIa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,gDAAY;;AAE/B;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,oBAAoB,mBAAO,CAAC,wFAAgB;;AAE5C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,qBAAqB,0BAA0B;AAC/C;;AAEA;AACA;AACA,KAAK,8DAA8D;AACnE,0CAA0C,+BAA+B;AACzE,0CAA0C,yBAAyB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iD;;;;;;;;;;;;AC5Ja;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,GAAG,eAAe;;AAErB;AACA;AACA,KAAK,uBAAuB;AAC5B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,2D;;;;;;;;;;;;ACzDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,kBAAkB,mBAAO,CAAC,iFAAc;;AAExC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,qBAAqB,gCAAgC;AACrD;;AAEA;AACA;AACA,KAAK,6DAA6D;AAClE,0DAA0D;AAC1D;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oD;;;;;;;;;;;;ACxEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,qCAAqC;;AAE3C,+CAA+C,uBAAuB;AACtE;;AAEA,gC;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,oEAAoE;AAC3E;AACA,gBAAgB,uEAAuE;AACvF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS,gDAAgD;AACzD;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,oBAAoB,uEAAuE;AAC3F;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,oBAAoB,uEAAuE;AAC3F;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,oBAAoB,uEAAuE;AAC3F;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA,mD;;;;;;;;;;;;AClKa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,uBAAuB,mBAAO,CAAC,iGAAmB;;AAElD;;AAEA,8BAA8B,mBAAO,CAAC,+GAA0B;;AAEhE;;AAEA,wBAAwB,mBAAO,CAAC,mGAAoB;;AAEpD;;AAEA,uBAAuB,mBAAO,CAAC,iGAAmB;;AAElD;;AAEA,yBAAyB,mBAAO,CAAC,qGAAqB;;AAEtD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,SAAS,mEAAmE;AAC5E;AACA;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA,WAAW,+CAA+C;AAC1D;AACA;AACA,aAAa,2BAA2B;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,yBAAyB;AACtC;AACA;AACA,eAAe,8CAA8C;AAC7D;AACA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB,wBAAwB;AACzC,0EAA0E,0DAA0D;AACpI,0EAA0E,gDAAgD;AAC1H;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oD;;;;;;;;;;;;AC3Ma;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,iBAAiB;;AAEvB;AACA;AACA,KAAK,yCAAyC;AAC9C;AACA;AACA;;AAEA,kC;;;;;;;;;;;;ACrDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,KAAK,uBAAuB;AAC5B;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL,0CAA0C,wBAAwB;AAClE;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL,0CAA0C,wBAAwB;AAClE;AACA,cAAc,uEAAuE;AACrF;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO,6BAA6B;AACpC;AACA;AACA,SAAS,uBAAuB;AAChC;AACA;AACA;AACA;AACA,SAAS,uBAAuB;AAChC;AACA;AACA;AACA;AACA,SAAS,uBAAuB;AAChC;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;;;;;;;;AChMa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,KAAK,wBAAwB;AAC7B;AACA;AACA,OAAO,qBAAqB;AAC5B,4CAA4C,2BAA2B;AACvE;AACA;AACA;AACA,OAAO,sBAAsB;AAC7B,4CAA4C,4BAA4B;AACxE;AACA;AACA;;AAEA,yC;;;;;;;;;;;;AC1Ea;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,+BAA+B;;AAErC,+CAA+C,uBAAuB;AACtE;;AAEA,yC;;;;;;;;;;;;ACxCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA;AACA;AACA,OAAO,yBAAyB;AAChC,4CAA4C,oBAAoB;AAChE,4CAA4C,wBAAwB;AACpE;AACA;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA;AACA;;AAEA,oC;;;;;;;;;;;;ACrEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,oBAAoB,mBAAO,CAAC,wFAAgB;;AAE5C;;AAEA,0BAA0B,mBAAO,CAAC,oGAAsB;;AAExD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG,GAAG,6BAA6B;;AAEnC;AACA;AACA,KAAK,gEAAgE;AACrE;AACA;AACA,OAAO,2BAA2B;AAClC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO,mDAAmD;AAC1D;AACA;AACA,SAAS,wBAAwB;AACjC;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS,sBAAsB;AAC/B;AACA,8CAA8C,4BAA4B;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iD;;;;;;;;;;;;ACjMa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,6BAA6B;;AAEnC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,KAAK,iDAAiD;AACtD;AACA;AACA,OAAO,uBAAuB;AAC9B;AACA,gBAAgB,2CAA2C;AAC3D;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO,uBAAuB;AAC9B;AACA,gBAAgB,2CAA2C;AAC3D;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO,uBAAuB;AAC9B;AACA,gBAAgB,2CAA2C;AAC3D;AACA;AACA;AACA;AACA;AA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CA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,gDAAgD,sBAAsB;AACtE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA,mD;;;;;;;;;;;;ACrHa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,KAAK;AACL;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA,SAAS,SAAS,gCAAgC,wBAAwB;AAC1E,+CAA+C,+DAA+D;AAC9G;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;AC1Ga;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,gDAAY;;AAE/B;;AAEA,qBAAqB,mBAAO,CAAC,4FAAiB;;AAE9C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,KAAK,sBAAsB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA,gC;;;;;;;;;;;;AC3Da;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,gBAAgB,mBAAO,CAAC,sDAAU;;AAElC;;AAEA,WAAW,mBAAO,CAAC,gDAAY;;AAE/B;;AAEA,aAAa,mBAAO,CAAC,4EAAqB;;AAE1C;;AAEA,cAAc,mBAAO,CAAC,4EAAW;;AAEjC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK,+DAA+D;AACpE,0CAA0C,+BAA+B;AACzE,0CAA0C,yBAAyB;AACnE;AACA;AACA,OAAO,qBAAqB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS,qBAAqB;AAC9B;AACA;AACA;AACA,gBAAgB,sBAAsB;AACtC;AACA;AACA,OAAO;AACP,4CAA4C,sBAAsB;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kD;;;;;;;;;;;;ACtMa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACtDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACpCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,YAAY,mBAAO,CAAC,kDAAa;;AAEjC;;AAEA,iBAAiB,mBAAO,CAAC,0DAAY;;AAErC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,2BAA2B;AACnC;AACA,QAAQ,2BAA2B;AACnC,QAAQ;AACR,E;;;;;;;;;;;;ACjFa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACxDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;;;AAG9e;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,qEAAqE,aAAa;AAClF;AACA;;AAEA,+LAA+L,eAAe;AAC9M,+BAA+B,cAAc;AAC7C,OAAO;AACP,+BAA+B,eAAe;AAC9C,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,qDAAqD;AAChE,8DAA8D;AAC9D;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH,E;;;;;;;;;;;;AC5Da;;AAEb;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACrCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,0FAA0B;;AAE/C;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,aAAa,mBAAO,CAAC,0FAA0B;;AAE/C;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,8FAA4B;;AAElD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,8FAA4B;;AAElD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,eAAe,mBAAO,CAAC,kGAA8B;;AAErD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,8FAA4B;;AAElD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,WAAW,mBAAO,CAAC,kFAAsB;;AAEzC;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,gBAAgB,mBAAO,CAAC,sGAAgC;;AAExD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,0GAAkC;;AAE3D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,8FAA4B;;AAElD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,8FAA4B;;AAElD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,gBAAgB,mBAAO,CAAC,sGAAgC;;AAExD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,eAAe,mBAAO,CAAC,kGAA8B;;AAErD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,oGAA+B;;AAExD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,mC;;;;;;;;;;;;ACzIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0B;AACS;AACC;AACc;AACtB;AAC8B;;AAE1D;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;AAUA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AAQD;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;AAYA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,kCAAkC,4CAAK;AACvC;AACA,aAAa,uDAAuD;AACpE;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA,OAAO;AACP,wBAAwB,4CAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU,4CAAK,qBAAqB,6HAA6H;AACjK;AACA;;AAEA;AACA;AACA,OAAO;AACP,qBAAqB,4CAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU,4CAAK,qBAAqB,6HAA6H;AACjK;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,iDAAU;AAClC;AACA;AACA,KAAK;;AAEL,WAAW,4CAAK;AAChB;AACA,OAAO,2BAA2B;AAClC;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,YAAY,iDAAS;AACrB,YAAY,iDAAS;AACrB,0BAA0B,iDAAS;AACnC,QAAQ,iDAAS;AACjB,0BAA0B,iDAAS;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS,6CAAM;AACf;;AAEA;AACA,SAAS,6CAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,UAAU,6CAAM,8BAA8B,6CAAM;AACpD;AACA;;AAEA;;AAEA;AACA,SAAS,6CAAM;AACf;;AAEA;AACA,SAAS,6CAAM;AACf;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+CAA+C,6CAAM;AACrD;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,YAAY,6CAA6C;AACzD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;AAMA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA,uCAAuC,6CAAM;AAC7C;;;;;;;;AAQA;AACA;AACA;;AAEA;AACA,SAAS,6CAAM;AACf;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,oFAAoF;AACpF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA,oFAAoF;AACpF;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,6CAAM;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oFAAoF;AACpF;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,oFAAoF;AACpF;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,6CAAM;AACjB;AACA,KAAK;AACL,GAAG;AACH,WAAW,6CAAM;AACjB,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,6CAAM;AACjB;AACA,KAAK;AACL,GAAG;AACH,WAAW,6CAAM;AACjB,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,mDAAmD,UAAU;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC,oEAAc;;AAE/C;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,2BAA2B,cAAc;AACzC,qBAAqB,4CAAK;AAC1B;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA,kBAAkB,6CAA6C;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ,4CAAK,wBAAwB,4DAA4D;AACjG,QAAQ,4CAAK;AACb;AACA,WAAW,+DAA+D;AAC1E;AACA;AACA;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,4CAAK;AAChB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,sBAAsB,iDAAS;AAC/B,gBAAgB,iDAAS;AACzB,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,YAAY,iDAAS;AACrB,0BAA0B,iDAAS;AACnC,QAAQ,iDAAS;AACjB,0BAA0B,iDAAS;AACnC,QAAQ,iDAAS;AACjB,YAAY,iDAAS;AACrB,WAAW,iDAAS;AACpB;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,oCAAoC,4CAAK;AACzC;AACA,aAAa,wDAAwD;AACrE;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,WAAW,4CAAK;AAChB;AACA,OAAO,gDAAgD;AACvD;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,YAAY,iDAAS;AACrB,YAAY,iDAAS;AACrB,SAAS,iDAAS;AAClB,cAAc,iDAAS,SAAS,iDAAS;AACzC;;AAEA,kCAAkC,oEAAc;;AAEhD;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,eAAe,4CAAK;AACpB;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA,OAAO;AACP,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA,kBAAkB,6CAA6C;AAC/D;AACA;AACA,SAAS;AACT,QAAQ,4CAAK,wBAAwB,6DAA6D;AAClG,QAAQ,4CAAK;AACb;AACA,WAAW,iEAAiE;AAC5E;AACA;AACA;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,wDAAwD,OAAO;AAC/D,KAAK;AACL,mDAAmD,OAAO;AAC1D,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,4CAAK;AAChB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,gBAAgB,iDAAS;AACzB,UAAU,iDAAS;AACnB,cAAc,iDAAS;AACvB,SAAS,iDAAS;AAClB,YAAY,iDAAS;AACrB,2BAA2B,iDAAS;AACpC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,4BAA4B,4CAAK;AACjC;AACA,aAAa,6DAA6D;AAC1E;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,iDAAU;AAClC;AACA;AACA,KAAK;;AAEL,WAAW,4CAAK;AAChB;AACA,OAAO,2BAA2B;AAClC;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,YAAY,iDAAS;AACrB,YAAY,iDAAS;AACrB,+BAA+B,iDAAS;AACxC,QAAQ,iDAAS;AACjB,cAAc,iDAAS;AACvB;;AAEA,sCAAsC,oEAAc;;AAEpD;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB,4CAAK;AAC1B;AACA,WAAW,mCAAmC;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;;AAEA,aAAa,4CAAK;AAClB;AACA;AACA;AACA,kBAAkB,6CAA6C;AAC/D;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ,4CAAK,wBAAwB,kEAAkE;AACvG,QAAQ,4CAAK;AACb;AACA,WAAW,2EAA2E;AACtF;AACA;AACA;AACA,KAAK;AACL,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,4CAAK;AAChB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,gBAAgB,iDAAS;AACzB,cAAc,iDAAS;AACvB,UAAU,iDAAS;AACnB,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,QAAQ,iDAAS;AACjB,YAAY,iDAAS;AACrB,+BAA+B,iDAAS;AACxC;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,aAAa,iDAAU;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA,WAAW,4CAAK;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,8BAA8B,iDAAS;AACvC,OAAO,iDAAS;AAChB,gBAAgB,iD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AAS;AACpB,cAAc,iDAAS;AACvB,mBAAmB,iDAAS;AAC5B,gBAAgB,iDAAS;AACzB,gBAAgB,iDAAS;AACzB,iBAAiB,iDAAS;AAC1B,gBAAgB,iDAAS;AACzB,YAAY,iDAAS;AACrB,iBAAiB,iDAAS;AAC1B,cAAc,iDAAS;AACvB,gBAAgB,iDAAS;AACzB,mBAAmB,iDAAS;AAC5B,aAAa,iDAAS;AACtB,aAAa,iDAAS,YAAY,iDAAS,SAAS,iDAAS;AAC7D,qBAAqB,iDAAS;AAC9B;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,qBAAqB,gBAAgB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,WAAW,4CAAK;AAChB;AACA;AACA;AACA,OAAO;AACP,MAAM,4CAAK;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ,4CAAK;AACb;AACA,WAAW,6CAA6C;AACxD;AACA;AACA;AACA,MAAM,4CAAK;AACX;AACA,SAAS,sCAAsC;AAC/C,QAAQ,4CAAK;AACb;AACA,WAAW,0CAA0C;AACrD,UAAU,4CAAK;AACf;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,+BAA+B,iBAAiB;AAChD,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,UAAU,iDAAS;AACnB,gBAAgB,iDAAS;AACzB,aAAa,iDAAS;AACtB,YAAY,iDAAS;AACrB,YAAY,iDAAS;AACrB,eAAe,iDAAS;AACxB,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,gBAAgB,iDAAS;AACzB,YAAY,iDAAS;AACrB,eAAe,iDAAS;AACxB,eAAe,iDAAS;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD,SAAS,4CAAK;AACd;AACA,KAAK,uBAAuB;AAC5B,IAAI,4CAAK,gCAAgC,0CAA0C;AACnF;AACA;AACA;;AAEA;AACA,aAAa,iDAAS;AACtB,YAAY,iDAAS;AACrB,cAAc,iDAAS;AACvB;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,6BAA6B,qBAAqB;AAClD;;AAEA;AACA,6BAA6B,sBAAsB;AACnD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,4CAAK;AAC3B;AACA,WAAW,oDAAoD;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,4CAAK;AACpB;AACA,WAAW,uDAAuD;AAClE;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA,SAAS,+BAA+B;AACxC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA,SAAS,wCAAwC;AACjD;AACA,QAAQ,4CAAK;AACb;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,QAAQ,4CAAK;AACb;AACA,WAAW,2CAA2C;AACtD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA,SAAS;AACT,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ,4CAAK;AACb;AACA,WAAW,2CAA2C;AACtD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA,uBAAuB,4CAAK;AAC5B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;AACX,qEAAqE,6BAA6B,+BAA+B,6BAA6B;AAC9J,UAAU,4CAAK;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,wCAAwC;AACjE,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA,WAAW,4CAAK;AAChB;AACA;AACA,mBAAmB,iDAAU;AAC7B;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,sBAAsB,iDAAS;AAC/B,aAAa,iDAAS;AACtB,YAAY,iDAAS;AACrB,aAAa,iDAAS;AACtB,cAAc,iDAAS,YAAY,iDAAS,SAAS,iDAAS;AAC9D,gBAAgB,iDAAS;AACzB,8BAA8B,iDAAS;AACvC,gBAAgB,iDAAS;AACzB,WAAW,iDAAS;AACpB,gBAAgB,iDAAS;AACzB,cAAc,iDAAS;AACvB,eAAe,iDAAS;AACxB,oBAAoB,iDAAS;AAC7B,kBAAkB,iDAAS;AAC3B,gBAAgB,iDAAS;AACzB,gBAAgB,iDAAS;AACzB,eAAe,iDAAS;AACxB,UAAU,iDAAS;AACnB,UAAU,iDAAS;AACnB,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,eAAe,iDAAS;AACxB,kBAAkB,iDAAS;AAC3B,iBAAiB,iDAAS;AAC1B,gBAAgB,iDAAS;AACzB,4BAA4B,iDAAS;AACrC,mBAAmB,iDAAS;AAC5B,YAAY,iDAAS;AACrB,gBAAgB,iDAAS;AACzB,kBAAkB,iDAAS;AAC3B,sBAAsB,iDAAS;AAC/B,cAAc,iDAAS;AACvB,iBAAiB,iDAAS;AAC1B,gBAAgB,iDAAS;AACzB,WAAW,iDAAS;AACpB,WAAW,iDAAS;AACpB,gBAAgB,iDAAS;AACzB,eAAe,iDAAS;AACxB,cAAc,iDAAS;AACvB,iBAAiB,iDAAS;AAC1B,0BAA0B,iDAAS;AACnC,+BAA+B,iDAAS;AACxC,gBAAgB,iDAAS;AACzB,YAAY,iDAAS;AACrB,cAAc,iDAAS;AACvB,gBAAgB,iDAAS;AACzB,qBAAqB,iDAAS;AAC9B,yBAAyB,iDAAS;AAClC,mBAAmB,iDAAS;AAC5B,oBAAoB,iDAAS;AAC7B,aAAa,iDAAS;AACtB,eAAe,iDAAS;AACxB,oBAAoB,iDAAS;AAC7B,iBAAiB,iDAAS;AAC1B,cAAc,iDAAS;AACvB,aAAa,iDAAS,YAAY,iDAAS,SAAS,iDAAS;AAC7D,aAAa,iDAAS;AACtB,0BAA0B,iDAAS;AACnC,WAAW,iDAAS;AACpB,2BAA2B,iDAAS;AACpC,+BAA+B,iDAAS;AACxC,4BAA4B,iDAAS;AACrC,wBAAwB,iDAAS;AACjC,sBAAsB,iDAAS;AAC/B,qBAAqB,iDAAS;AAC9B;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA,oBAAoB,iDAAU;AAC9B,eAAe,4CAAK;AACpB,QAAQ,mDAAM;AACd;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB,4CAAK;AACtB;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA,aAAa;AACb,YAAY,4CAAK,gCAAgC,yBAAyB;AAC1E;AACA;AACA;AACA;;AAEA;AACA,eAAe,4CAAK,6CAA6C;AACjE;;AAEA,WAAW,4CAAK;AAChB,MAAM,oDAAO;AACb;AACA,MAAM,4CAAK;AACX,QAAQ,sDAAS;AACjB;AACA;AACA;AACA,iBAAiB,4CAAK;AACtB;AACA,aAAa,kDAAkD;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB;AACvB;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA,aAAa,iDAAS;AACtB,cAAc,iDAAS;AACvB,mBAAmB,iDAAS;AAC5B,mBAAmB,iDAAS;AAC5B,mBAAmB,iDAAS;AAC5B,mBAAmB,iDAAS;AAC5B,eAAe,iDAAS;AACxB,mBAAmB,iDAAS;AAC5B;;AAEA;AACA,sBAAsB,oEAAc;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA,sCAAsC;AACtC,oCAAoC;AACpC,0CAA0C;AAC1C,gDAAgD;AAChD,wCAAwC;AACxC,uDAAuD;AACvD,kDAAkD;;AAElD;AACA,gDAAgD;AAChD,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA,4BAA4B,mBAAmB;AAC/C,WAAW;AACX;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,qBAAqB;AAC3C;AACA,iCAAiC,sBAAsB;AACvD,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,oCAAoC,4BAA4B;AAChE;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,4BAA4B;AAClE;AACA,iBAAiB;AACjB;AACA;AACA,wBAAwB,qDAAqD;AAC7E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,4CAAK;AAClB;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA,sBAAsB,iDAAU,yCAAyC;;AAEzE,mDAAmD,4CAAK,yBAAyB,eAAe;AAChG;AACA;;AAEA,aAAa,4CAAK,oDAAoD;AACtE;AACA,OAAO;AACP;;AAEA;AACA;AACA,eAAe,4CAAK;AACpB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,4CAAK;AAClB;AACA;AACA,6BAA6B,4CAAK;AAClC;AACA,WAAW,iDAAiD;AAC5D;AACA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CA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,6DAAW;AACtC;AACA;;AAEA;AACA,2BAA2B,6DAAW;AACtC;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,aAAa,2DAAa;AAC1B;;AAEA;AACA,GAAG,CAAC,+CAAS;AACb;AACA;AACA;AA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AAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;AACjC,OAAO;AACP;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,+B;;;;;;;;;;;ACxCA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;AC1CA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA,WAAW,SAAS;AACpB;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;;AAEA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wCAAwC;AAC3D,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D,mBAAmB,wCAAwC;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+DAA+D,WAAW;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2DAA2D,wBAAwB;;AAEnF;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,8EAA8E,4BAA4B,gBAAgB;AAC1H,8EAA8E,2BAA2B,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,0BAA0B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA,KAAK,kBAAkB,YAAY,kBAAkB;AACrD;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,YAAY;;AAExC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,UAAU,OAAO,UAAU,OAAO,SAAS;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA,IAAI,KAA6B;AACjC;AACA;AACA;AACA,SAAS,IAA0C;AACnD,IAAI,mCAAO,aAAa,kBAAkB;AAAA,oGAAC;AAC3C;AACA;AACA,KAAK,EAEJ;;AAED,CAAC;;;;;;;;;;;;AC1qCD;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;ACjCA,UAAU,mBAAO,CAAC,yDAAW;AAC7B,kBAAkB,mBAAO,CAAC,iEAAmB;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,aAAoB;;AAElC;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;ACrBA,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,2CAA2C,EAAE,I;;;;;;;;;;;ACA1D,aAAa,oCAAoC,EAAE,I;;;;;;;;;;;ACAnD,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,sCAAsC,EAAE,I;;;;;;;;;;;ACArD,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,+CAA+C,EAAE,I;;;;;;;;;;;ACA9D,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,oCAAoC,EAAE,I;;;;;;;;;;;ACAnD,aAAa,iCAAiC,EAAE,I;;;;;;;;;;;ACAhD,aAAa,iCAAiC,EAAE,I;;;;;;;;;;;ACAhD,aAAa,gCAAgC,EAAE,I;;;;;;;;;;;ACA/C,aAAa,mCAAmC,EAAE,I","file":"components.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./node_modules/@wordpress/components/build-module/index.js\");\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","import defineProperty from \"./defineProperty\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { escapeRegExp, find, map, debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, renderToString } from '@wordpress/element';\nimport { ENTER, ESCAPE, UP, DOWN, LEFT, RIGHT, SPACE } from '@wordpress/keycodes';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport {\n\tcreate,\n\tslice,\n\tinsert,\n\tisCollapsed,\n\tgetTextContent,\n} from '@wordpress/rich-text';\nimport { getRectangleFromRange } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport withFocusOutside from '../higher-order/with-focus-outside';\nimport Button from '../button';\nimport Popover from '../popover';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\n\n/**\n * A raw completer option.\n * @typedef {*} CompleterOption\n */\n\n/**\n * @callback FnGetOptions\n *\n * @returns {(CompleterOption[]|Promise.<CompleterOption[]>)} The completer options or a promise for them.\n */\n\n/**\n * @callback FnGetOptionKeywords\n * @param {CompleterOption} option a completer option.\n *\n * @returns {string[]} list of key words to search.\n */\n\n/**\n * @callback FnIsOptionDisabled\n * @param {CompleterOption} option a completer option.\n *\n * @returns {string[]} whether or not the given option is disabled.\n */\n\n/**\n * @callback FnGetOptionLabel\n * @param {CompleterOption} option a completer option.\n *\n * @returns {(string|Array.<(string|Component)>)} list of react components to render.\n */\n\n/**\n * @callback FnAllowNode\n * @param {Node} textNode check if the completer can handle this text node.\n *\n * @returns {boolean} true if the completer can handle this text node.\n */\n\n/**\n * @callback FnAllowContext\n * @param {Range} before the range before the auto complete trigger and query.\n * @param {Range} after the range after the autocomplete trigger and query.\n *\n * @returns {boolean} true if the completer can handle these ranges.\n */\n\n/**\n * @typedef {Object} OptionCompletion\n * @property {('insert-at-caret', 'replace')} action the intended placement of the completion.\n * @property {OptionCompletionValue} value the completion value.\n */\n\n/**\n * A completion value.\n * @typedef {(String|WPElement|Object)} OptionCompletionValue\n */\n\n/**\n * @callback FnGetOptionCompletion\n * @param {CompleterOption} value the value of the completer option.\n * @param {Range} range the nodes included in the autocomplete trigger and query.\n * @param {String} query the text value of the autocomplete query.\n *\n * @returns {(OptionCompletion|OptionCompletionValue)} the completion for the given option. If an\n * \t\t\t\t\t\t\t\t\t\t\t\t\t OptionCompletionValue is returned, the\n * \t\t\t\t\t\t\t\t\t\t\t\t\t completion action defaults to `insert-at-caret`.\n */\n\n/**\n * @typedef {Object} Completer\n * @property {String} name a way to identify a completer, useful for selective overriding.\n * @property {?String} className A class to apply to the popup menu.\n * @property {String} triggerPrefix the prefix that will display the menu.\n * @property {(CompleterOption[]|FnGetOptions)} options the completer options or a function to get them.\n * @property {?FnGetOptionKeywords} getOptionKeywords get the keywords for a given option.\n * @property {?FnIsOptionDisabled} isOptionDisabled get whether or not the given option is disabled.\n * @property {FnGetOptionLabel} getOptionLabel get the label for a given option.\n * @property {?FnAllowNode} allowNode filter the allowed text nodes in the autocomplete.\n * @property {?FnAllowContext} allowContext filter the context under which the autocomplete activates.\n * @property {FnGetOptionCompletion} getOptionCompletion get the completion associated with a given option.\n */\n\nfunction filterOptions( search, options = [], maxResults = 10 ) {\n\tconst filtered = [];\n\tfor ( let i = 0; i < options.length; i++ ) {\n\t\tconst option = options[ i ];\n\n\t\t// Merge label into keywords\n\t\tlet { keywords = [] } = option;\n\t\tif ( 'string' === typeof option.label ) {\n\t\t\tkeywords = [ ...keywords, option.label ];\n\t\t}\n\n\t\tconst isMatch = keywords.some( ( keyword ) => search.test( keyword ) );\n\t\tif ( ! isMatch ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfiltered.push( option );\n\n\t\t// Abort early if max reached\n\t\tif ( filtered.length === maxResults ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn filtered;\n}\n\nfunction getCaretRect() {\n\tconst range = window.getSelection().getRangeAt( 0 );\n\n\tif ( range ) {\n\t\treturn getRectangleFromRange( range );\n\t}\n}\n\nexport class Autocomplete extends Component {\n\tstatic getInitialState() {\n\t\treturn {\n\t\t\tsearch: /./,\n\t\t\tselectedIndex: 0,\n\t\t\tsuppress: undefined,\n\t\t\topen: undefined,\n\t\t\tquery: undefined,\n\t\t\tfilteredOptions: [],\n\t\t};\n\t}\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t\tthis.select = this.select.bind( this );\n\t\tthis.reset = this.reset.bind( this );\n\t\tthis.resetWhenSuppressed = this.resetWhenSuppressed.bind( this );\n\t\tthis.handleKeyDown = this.handleKeyDown.bind( this );\n\t\tthis.debouncedLoadOptions = debounce( this.loadOptions, 250 );\n\n\t\tthis.state = this.constructor.getInitialState();\n\t}\n\n\tbindNode( node ) {\n\t\tthis.node = node;\n\t}\n\n\tinsertCompletion( replacement ) {\n\t\tconst { open, query } = this.state;\n\t\tconst { record, onChange } = this.props;\n\t\tconst end = record.start;\n\t\tconst start = end - open.triggerPrefix.length - query.length;\n\t\tconst toInsert = create( { html: renderToString( replacement ) } );\n\n\t\tonChange( insert( record, toInsert, start, end ) );\n\t}\n\n\tselect( option ) {\n\t\tconst { onReplace } = this.props;\n\t\tconst { open, query } = this.state;\n\t\tconst { getOptionCompletion } = open || {};\n\n\t\tif ( option.isDisabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( getOptionCompletion ) {\n\t\t\tconst completion = getOptionCompletion( option.value, query );\n\n\t\t\tconst { action, value } =\n\t\t\t\t( undefined === completion.action || undefined === completion.value ) ?\n\t\t\t\t\t{ action: 'insert-at-caret', value: completion } :\n\t\t\t\t\tcompletion;\n\n\t\t\tif ( 'replace' === action ) {\n\t\t\t\tonReplace( [ value ] );\n\t\t\t} else if ( 'insert-at-caret' === action ) {\n\t\t\t\tthis.insertCompletion( value );\n\t\t\t}\n\t\t}\n\n\t\t// Reset autocomplete state after insertion rather than before\n\t\t// so insertion events don't cause the completion menu to redisplay.\n\t\tthis.reset();\n\t}\n\n\treset() {\n\t\tconst isMounted = !! this.node;\n\n\t\t// Autocompletions may replace the block containing this component,\n\t\t// so we make sure it is mounted before resetting the state.\n\t\tif ( isMounted ) {\n\t\t\tthis.setState( this.constructor.getInitialState() );\n\t\t}\n\t}\n\n\tresetWhenSuppressed() {\n\t\tconst { open, suppress } = this.state;\n\t\tif ( open && suppress === open.idx ) {\n\t\t\tthis.reset();\n\t\t}\n\t}\n\n\thandleFocusOutside() {\n\t\tthis.reset();\n\t}\n\n\tannounce( filteredOptions ) {\n\t\tconst { debouncedSpeak } = this.props;\n\t\tif ( ! debouncedSpeak ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( !! filteredOptions.length ) {\n\t\t\tdebouncedSpeak( sprintf( _n(\n\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\tfilteredOptions.length\n\t\t\t), filteredOptions.length ), 'assertive' );\n\t\t} else {\n\t\t\tdebouncedSpeak( __( 'No results.' ), 'assertive' );\n\t\t}\n\t}\n\n\t/**\n\t * Load options for an autocompleter.\n\t *\n\t * @param {Completer} completer The autocompleter.\n\t * @param {string} query The query, if any.\n\t */\n\tloadOptions( completer, query ) {\n\t\tconst { options } = completer;\n\n\t\t/*\n\t\t * We support both synchronous and asynchronous retrieval of completer options\n\t\t * but internally treat all as async so we maintain a single, consistent code path.\n\t\t *\n\t\t * Because networks can be slow, and the internet is wonderfully unpredictable,\n\t\t * we don't want two promises updating the state at once. This ensures that only\n\t\t * the most recent promise will act on `optionsData`. This doesn't use the state\n\t\t * because `setState` is batched, and so there's no guarantee that setting\n\t\t * `activePromise` in the state would result in it actually being in `this.state`\n\t\t * before the promise resolves and we check to see if this is the active promise or not.\n\t\t */\n\t\tconst promise = this.activePromise = Promise.resolve(\n\t\t\ttypeof options === 'function' ? options( query ) : options\n\t\t).then( ( optionsData ) => {\n\t\t\tif ( promise !== this.activePromise ) {\n\t\t\t\t// Another promise has become active since this one was asked to resolve, so do nothing,\n\t\t\t\t// or else we might end triggering a race condition updating the state.\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst keyedOptions = optionsData.map( ( optionData, optionIndex ) => ( {\n\t\t\t\tkey: `${ completer.idx }-${ optionIndex }`,\n\t\t\t\tvalue: optionData,\n\t\t\t\tlabel: completer.getOptionLabel( optionData ),\n\t\t\t\tkeywords: completer.getOptionKeywords ? completer.getOptionKeywords( optionData ) : [],\n\t\t\t\tisDisabled: completer.isOptionDisabled ? completer.isOptionDisabled( optionData ) : false,\n\t\t\t} ) );\n\n\t\t\tconst filteredOptions = filterOptions( this.state.search, keyedOptions );\n\t\t\tconst selectedIndex = filteredOptions.length === this.state.filteredOptions.length ? this.state.selectedIndex : 0;\n\t\t\tthis.setState( {\n\t\t\t\t[ 'options_' + completer.idx ]: keyedOptions,\n\t\t\t\tfilteredOptions,\n\t\t\t\tselectedIndex,\n\t\t\t} );\n\t\t\tthis.announce( filteredOptions );\n\t\t} );\n\t}\n\n\thandleKeyDown( event ) {\n\t\tconst { open, suppress, selectedIndex, filteredOptions } = this.state;\n\t\tif ( ! open ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( suppress === open.idx ) {\n\t\t\tswitch ( event.keyCode ) {\n\t\t\t\t// cancel popup suppression on CTRL+SPACE\n\t\t\t\tcase SPACE:\n\t\t\t\t\tconst { ctrlKey, shiftKey, altKey, metaKey } = event;\n\t\t\t\t\tif ( ctrlKey && ! ( shiftKey || altKey || metaKey ) ) {\n\t\t\t\t\t\tthis.setState( { suppress: undefined } );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\t// reset on cursor movement\n\t\t\t\tcase UP:\n\t\t\t\tcase DOWN:\n\t\t\t\tcase LEFT:\n\t\t\t\tcase RIGHT:\n\t\t\t\t\tthis.reset();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif ( filteredOptions.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\t\tlet nextSelectedIndex;\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase UP:\n\t\t\t\tnextSelectedIndex = ( selectedIndex === 0 ? filteredOptions.length : selectedIndex ) - 1;\n\t\t\t\tthis.setState( { selectedIndex: nextSelectedIndex } );\n\t\t\t\tbreak;\n\n\t\t\tcase DOWN:\n\t\t\t\tnextSelectedIndex = ( selectedIndex + 1 ) % filteredOptions.length;\n\t\t\t\tthis.setState( { selectedIndex: nextSelectedIndex } );\n\t\t\t\tbreak;\n\n\t\t\tcase ESCAPE:\n\t\t\t\tthis.setState( { suppress: open.idx } );\n\t\t\t\tbreak;\n\n\t\t\tcase ENTER:\n\t\t\t\tthis.select( filteredOptions[ selectedIndex ] );\n\t\t\t\tbreak;\n\n\t\t\tcase LEFT:\n\t\t\tcase RIGHT:\n\t\t\t\tthis.reset();\n\t\t\t\treturn;\n\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\t// Any handled keycode should prevent original behavior. This relies on\n\t\t// the early return in the default case.\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t}\n\n\ttoggleKeyEvents( isListening ) {\n\t\t// This exists because we must capture ENTER key presses before RichText.\n\t\t// It seems that react fires the simulated capturing events after the\n\t\t// native browser event has already bubbled so we can't stopPropagation\n\t\t// and avoid RichText getting the event from TinyMCE, hence we must\n\t\t// register a native event handler.\n\t\tconst handler = isListening ? 'addEventListener' : 'removeEventListener';\n\t\tthis.node[ handler ]( 'keydown', this.handleKeyDown, true );\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tconst { record, completers } = this.props;\n\t\tconst { record: prevRecord } = prevProps;\n\t\tconst { open: prevOpen } = prevState;\n\n\t\tif ( ( ! this.state.open ) !== ( ! prevOpen ) ) {\n\t\t\tthis.toggleKeyEvents( ! ! this.state.open );\n\t\t}\n\n\t\tif ( isCollapsed( record ) ) {\n\t\t\tconst text = getTextContent( slice( record, 0 ) );\n\t\t\tconst prevText = getTextContent( slice( prevRecord, 0 ) );\n\n\t\t\tif ( text !== prevText ) {\n\t\t\t\tconst textAfterSelection = getTextContent( slice( record, undefined, getTextContent( record ).length ) );\n\t\t\t\tconst allCompleters = map( completers, ( completer, idx ) => ( { ...completer, idx } ) );\n\t\t\t\tconst open = find( allCompleters, ( { triggerPrefix, allowContext } ) => {\n\t\t\t\t\tconst index = text.lastIndexOf( triggerPrefix );\n\n\t\t\t\t\tif ( index === -1 ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( allowContext && ! allowContext( text.slice( 0, index ), textAfterSelection ) ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn /^\\w*$/.test( text.slice( index + triggerPrefix.length ) );\n\t\t\t\t} );\n\n\t\t\t\tif ( ! open ) {\n\t\t\t\t\tthis.reset();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst match = text.match( new RegExp( `${ open.triggerPrefix }(\\\\w*)$` ) );\n\t\t\t\tconst query = match && match[ 1 ];\n\t\t\t\tconst { open: wasOpen, suppress: wasSuppress, query: wasQuery } = this.state;\n\n\t\t\t\tif ( open && ( ! wasOpen || open.idx !== wasOpen.idx || query !== wasQuery ) ) {\n\t\t\t\t\tif ( open.isDebounced ) {\n\t\t\t\t\t\tthis.debouncedLoadOptions( open, query );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.loadOptions( open, query );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// create a regular expression to filter the options\n\t\t\t\tconst search = open ? new RegExp( '(?:\\\\b|\\\\s|^)' + escapeRegExp( query ), 'i' ) : /./;\n\t\t\t\t// filter the options we already have\n\t\t\t\tconst filteredOptions = open ? filterOptions( search, this.state[ 'options_' + open.idx ] ) : [];\n\t\t\t\t// check if we should still suppress the popover\n\t\t\t\tconst suppress = ( open && wasSuppress === open.idx ) ? wasSuppress : undefined;\n\t\t\t\t// update the state\n\t\t\t\tif ( wasOpen || open ) {\n\t\t\t\t\tthis.setState( { selectedIndex: 0, filteredOptions, suppress, search, open, query } );\n\t\t\t\t}\n\t\t\t\t// announce the count of filtered options but only if they have loaded\n\t\t\t\tif ( open && this.state[ 'options_' + open.idx ] ) {\n\t\t\t\t\tthis.announce( filteredOptions );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.toggleKeyEvents( false );\n\t\tthis.debouncedLoadOptions.cancel();\n\t}\n\n\trender() {\n\t\tconst { children, instanceId } = this.props;\n\t\tconst { open, suppress, selectedIndex, filteredOptions } = this.state;\n\t\tconst { key: selectedKey = '' } = filteredOptions[ selectedIndex ] || {};\n\t\tconst { className, idx } = open || {};\n\t\tconst isExpanded = suppress !== idx && filteredOptions.length > 0;\n\t\tconst listBoxId = isExpanded ? `components-autocomplete-listbox-${ instanceId }` : null;\n\t\tconst activeId = isExpanded ? `components-autocomplete-item-${ instanceId }-${ selectedKey }` : null;\n\n\t\t// Disable reason: Clicking the editor should reset the autocomplete when the menu is suppressed\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ this.bindNode }\n\t\t\t\tonClick={ this.resetWhenSuppressed }\n\t\t\t\tclassName=\"components-autocomplete\"\n\t\t\t>\n\t\t\t\t{ children( { isExpanded, listBoxId, activeId } ) }\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\t\tonClose={ this.reset }\n\t\t\t\t\t\tposition=\"top right\"\n\t\t\t\t\t\tclassName=\"components-autocomplete__popover\"\n\t\t\t\t\t\tgetAnchorRect={ getCaretRect }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={ listBoxId }\n\t\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\t\tclassName=\"components-autocomplete__results\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isExpanded && map( filteredOptions, ( option, index ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\t\t\tid={ `components-autocomplete-item-${ instanceId }-${ option.key }` }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\taria-selected={ index === selectedIndex }\n\t\t\t\t\t\t\t\t\tdisabled={ option.isDisabled }\n\t\t\t\t\t\t\t\t\tclassName={ classnames( 'components-autocomplete__result', className, {\n\t\t\t\t\t\t\t\t\t\t'is-selected': index === selectedIndex,\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tonClick={ () => this.select( option ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t}\n}\n\nexport default compose( [\n\twithSpokenMessages,\n\twithInstanceId,\n\twithFocusOutside, // this MUST be the innermost HOC as it calls handleFocusOutside\n] )( Autocomplete );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nfunction BaseControl( { id, label, help, className, children } ) {\n\treturn (\n\t\t<div className={ classnames( 'components-base-control', className ) }>\n\t\t\t<div className=\"components-base-control__field\">\n\t\t\t\t{ label && id && <label className=\"components-base-control__label\" htmlFor={ id }>{ label }</label> }\n\t\t\t\t{ label && ! id && <span className=\"components-base-control__label\">{ label }</span> }\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t\t{ !! help && <p id={ id + '__help' } className=\"components-base-control__help\">{ help }</p> }\n\t\t</div>\n\t);\n}\n\nexport default BaseControl;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nfunction ButtonGroup( { className, ...props } ) {\n\tconst classes = classnames( 'components-button-group', className );\n\n\treturn (\n\t\t<div { ...props } className={ classes } role=\"group\" />\n\t);\n}\n\nexport default ButtonGroup;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createElement, forwardRef } from '@wordpress/element';\n\nexport function Button( props, ref ) {\n\tconst {\n\t\thref,\n\t\ttarget,\n\t\tisPrimary,\n\t\tisLarge,\n\t\tisSmall,\n\t\tisToggled,\n\t\tisBusy,\n\t\tisDefault,\n\t\tisLink,\n\t\tisDestructive,\n\t\tclassName,\n\t\tdisabled,\n\t\t...additionalProps\n\t} = props;\n\n\tconst classes = classnames( 'components-button', className, {\n\t\t'is-button': isDefault || isPrimary || isLarge || isSmall,\n\t\t'is-default': isDefault || isLarge || isSmall,\n\t\t'is-primary': isPrimary,\n\t\t'is-large': isLarge,\n\t\t'is-small': isSmall,\n\t\t'is-toggled': isToggled,\n\t\t'is-busy': isBusy,\n\t\t'is-link': isLink,\n\t\t'is-destructive': isDestructive,\n\t} );\n\n\tconst tag = href !== undefined && ! disabled ? 'a' : 'button';\n\tconst tagProps = tag === 'a' ? { href, target } : { type: 'button', disabled };\n\n\treturn createElement( tag, {\n\t\t...tagProps,\n\t\t...additionalProps,\n\t\tclassName: classes,\n\t\tref,\n\t} );\n}\n\nexport default forwardRef( Button );\n","/**\n * External dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction CheckboxControl( { label, className, heading, checked, help, instanceId, onChange, ...props } ) {\n\tconst id = `inspector-checkbox-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.checked );\n\n\treturn (\n\t\t<BaseControl label={ heading } id={ id } help={ help } className={ className }>\n\t\t\t<input\n\t\t\t\tid={ id }\n\t\t\t\tclassName=\"components-checkbox-control__input\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tvalue=\"1\"\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\tchecked={ checked }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<label className=\"components-checkbox-control__label\" htmlFor={ id }>\n\t\t\t\t{ label }\n\t\t\t</label>\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( CheckboxControl );\n","/**\n * External dependencies\n */\nimport Clipboard from 'clipboard';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\nimport Button from '../button';\n\nclass ClipboardButton extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.onCopy = this.onCopy.bind( this );\n\t\tthis.getText = this.getText.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { container, getText, onCopy } = this;\n\t\tconst button = container.firstChild;\n\n\t\tthis.clipboard = new Clipboard( button,\t{\n\t\t\ttext: getText,\n\t\t\tcontainer,\n\t\t} );\n\n\t\tthis.clipboard.on( 'success', onCopy );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.clipboard.destroy();\n\t\tdelete this.clipboard;\n\t\tclearTimeout( this.onCopyTimeout );\n\t}\n\n\tbindContainer( container ) {\n\t\tthis.container = container;\n\t}\n\n\tonCopy( args ) {\n\t\t// Clearing selection will move focus back to the triggering button,\n\t\t// ensuring that it is not reset to the body, and further that it is\n\t\t// kept within the rendered node.\n\t\targs.clearSelection();\n\n\t\tconst { onCopy, onFinishCopy } = this.props;\n\t\tif ( onCopy ) {\n\t\t\tonCopy();\n\t\t\t// For convenience and consistency, ClipboardButton offers to call\n\t\t\t// a secondary callback with delay. This is useful to reset\n\t\t\t// consumers' state, e.g. to revert a label from \"Copied\" to\n\t\t\t// \"Copy\".\n\t\t\tif ( onFinishCopy ) {\n\t\t\t\tclearTimeout( this.onCopyTimeout );\n\t\t\t\tthis.onCopyTimeout = setTimeout( onFinishCopy, 4000 );\n\t\t\t}\n\t\t}\n\t}\n\n\tgetText() {\n\t\tlet text = this.props.text;\n\t\tif ( 'function' === typeof text ) {\n\t\t\ttext = text();\n\t\t}\n\n\t\treturn text;\n\t}\n\n\trender() {\n\t\t// Disable reason: Exclude from spread props passed to Button\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconst { className, children, onCopy, onFinishCopy, text, ...buttonProps } = this.props;\n\t\tconst { icon } = buttonProps;\n\t\tconst classes = classnames( 'components-clipboard-button', className );\n\t\tconst ComponentToUse = icon ? IconButton : Button;\n\n\t\t// Workaround for inconsistent behavior in Safari, where <textarea> is not\n\t\t// the document.activeElement at the moment when the copy event fires.\n\t\t// This causes documentHasSelection() in the copy-handler component to\n\t\t// mistakenly override the ClipboardButton, and copy a serialized string\n\t\t// of the current block instead.\n\t\tconst focusOnCopyEventTarget = ( event ) => {\n\t\t\tevent.target.focus();\n\t\t};\n\n\t\treturn (\n\t\t\t<span ref={ this.bindContainer } onCopy={ focusOnCopyEventTarget }>\n\t\t\t\t<ComponentToUse { ...buttonProps } className={ classes }>\n\t\t\t\t\t{ children }\n\t\t\t\t</ComponentToUse>\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nexport default ClipboardButton;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nconst ColorIndicator = ( { className, colorValue, ...props } ) => (\n\t<span\n\t\tclassName={ classnames( 'component-color-indicator', className ) }\n\t\tstyle={ { background: colorValue } }\n\t\t{ ...props }\n\t/>\n);\n\nexport default ColorIndicator;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { ChromePicker } from 'react-color';\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport Dropdown from '../dropdown';\nimport Tooltip from '../tooltip';\n\nexport default function ColorPalette( { colors, disableCustomColors = false, value, onChange, className } ) {\n\tfunction applyOrUnset( color ) {\n\t\treturn () => onChange( value === color ? undefined : color );\n\t}\n\tconst customColorPickerLabel = __( 'Custom color picker' );\n\tconst classes = classnames( 'components-color-palette', className );\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ map( colors, ( { color, name } ) => {\n\t\t\t\tconst style = { color: color };\n\t\t\t\tconst itemClasses = classnames( 'components-color-palette__item', { 'is-active': value === color } );\n\n\t\t\t\treturn (\n\t\t\t\t\t<div key={ color } className=\"components-color-palette__item-wrapper\">\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\ttext={ name ||\n\t\t\t\t\t\t\t\t// translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\t\t\tsprintf( __( 'Color code: %s' ), color )\n\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tclassName={ itemClasses }\n\t\t\t\t\t\t\t\tstyle={ style }\n\t\t\t\t\t\t\t\tonClick={ applyOrUnset( color ) }\n\t\t\t\t\t\t\t\taria-label={ name ?\n\t\t\t\t\t\t\t\t\t// translators: %s: The name of the color e.g: \"vivid red\".\n\t\t\t\t\t\t\t\t\tsprintf( __( 'Color: %s' ), name ) :\n\t\t\t\t\t\t\t\t\t// translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\t\t\t\tsprintf( __( 'Color code: %s' ), color ) }\n\t\t\t\t\t\t\t\taria-pressed={ value === color }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t} ) }\n\n\t\t\t{ ! disableCustomColors &&\n\t\t\t\t<Dropdown\n\t\t\t\t\tclassName=\"components-color-palette__item-wrapper components-color-palette__custom-color\"\n\t\t\t\t\tcontentClassName=\"components-color-palette__picker\"\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Tooltip text={ customColorPickerLabel }>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\tclassName=\"components-color-palette__item\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-label={ customColorPickerLabel }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"components-color-palette__custom-color-gradient\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t<ChromePicker\n\t\t\t\t\t\t\tcolor={ value }\n\t\t\t\t\t\t\tonChangeComplete={ ( color ) => onChange( color.hex ) }\n\t\t\t\t\t\t\tdisableAlpha\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t}\n\n\t\t\t<Button\n\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={ () => onChange( undefined ) }\n\t\t\t\tisSmall\n\t\t\t\tisDefault\n\t\t\t>\n\t\t\t\t{ __( 'Clear' ) }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n","/* !!!\nIF YOU ARE EDITING dashicon/index.jsx\nTHEN YOU ARE EDITING A FILE THAT GETS OUTPUT FROM THE DASHICONS REPO!\nDO NOT EDIT THAT FILE! EDIT index-header.jsx and index-footer.jsx instead\nOR if you're looking to change now SVGs get output, you'll need to edit strings in the Gruntfile :)\n!!! */\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Path, SVG } from '../primitives';\n\nexport default class Dashicon extends Component {\n\tshouldComponentUpdate( nextProps ) {\n\t\treturn (\n\t\t\tthis.props.icon !== nextProps.icon ||\n\t\t\tthis.props.size !== nextProps.size ||\n\t\t\tthis.props.className !== nextProps.className\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { icon, className, size = 20 } = this.props;\n\t\tlet path;\n\n\t\tswitch ( icon ) {\n\t\t\tcase 'admin-appearance':\n\t\t\t\tpath = 'M14.48 11.06L7.41 3.99l1.5-1.5c.5-.56 2.3-.47 3.51.32 1.21.8 1.43 1.28 2.91 2.1 1.18.64 2.45 1.26 4.45.85zm-.71.71L6.7 4.7 4.93 6.47c-.39.39-.39 1.02 0 1.41l1.06 1.06c.39.39.39 1.03 0 1.42-.6.6-1.43 1.11-2.21 1.69-.35.26-.7.53-1.01.84C1.43 14.23.4 16.08 1.4 17.07c.99 1 2.84-.03 4.18-1.36.31-.31.58-.66.85-1.02.57-.78 1.08-1.61 1.69-2.21.39-.39 1.02-.39 1.41 0l1.06 1.06c.39.39 1.02.39 1.41 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-collapse':\n\t\t\t\tpath = 'M10 2.16c4.33 0 7.84 3.51 7.84 7.84s-3.51 7.84-7.84 7.84S2.16 14.33 2.16 10 5.71 2.16 10 2.16zm2 11.72V6.12L6.18 9.97z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-comments':\n\t\t\t\tpath = 'M5 2h9c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-customizer':\n\t\t\t\tpath = 'M18.33 3.57s.27-.8-.31-1.36c-.53-.52-1.22-.24-1.22-.24-.61.3-5.76 3.47-7.67 5.57-.86.96-2.06 3.79-1.09 4.82.92.98 3.96-.17 4.79-1 2.06-2.06 5.21-7.17 5.5-7.79zM1.4 17.65c2.37-1.56 1.46-3.41 3.23-4.64.93-.65 2.22-.62 3.08.29.63.67.8 2.57-.16 3.46-1.57 1.45-4 1.55-6.15.89z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-generic':\n\t\t\t\tpath = 'M18 12h-2.18c-.17.7-.44 1.35-.81 1.93l1.54 1.54-2.1 2.1-1.54-1.54c-.58.36-1.23.63-1.91.79V19H8v-2.18c-.68-.16-1.33-.43-1.91-.79l-1.54 1.54-2.12-2.12 1.54-1.54c-.36-.58-.63-1.23-.79-1.91H1V9.03h2.17c.16-.7.44-1.35.8-1.94L2.43 5.55l2.1-2.1 1.54 1.54c.58-.37 1.24-.64 1.93-.81V2h3v2.18c.68.16 1.33.43 1.91.79l1.54-1.54 2.12 2.12-1.54 1.54c.36.59.64 1.24.8 1.94H18V12zm-8.5 1.5c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-home':\n\t\t\t\tpath = 'M16 8.5l1.53 1.53-1.06 1.06L10 4.62l-6.47 6.47-1.06-1.06L10 2.5l4 4v-2h2v4zm-6-2.46l6 5.99V18H4v-5.97zM12 17v-5H8v5h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-links':\n\t\t\t\tpath = 'M17.74 2.76c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-1.12 1.12-2.7 1.47-4.14 1.09l2.62-2.61.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-3.38 3.38c-.37-1.44-.02-3.02 1.1-4.14l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM8.59 13.43l5.34-5.34c.42-.42.42-1.1 0-1.52-.44-.43-1.13-.39-1.53 0l-5.33 5.34c-.42.42-.42 1.1 0 1.52.44.43 1.13.39 1.52 0zm-.76 2.29l4.14-4.15c.38 1.44.03 3.02-1.09 4.14l-1.52 1.53c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.53-1.52c1.12-1.12 2.7-1.47 4.14-1.1l-4.14 4.15c-.85.84-.85 2.2 0 3.05.84.84 2.2.84 3.04 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-media':\n\t\t\t\tpath = 'M13 11V4c0-.55-.45-1-1-1h-1.67L9 1H5L3.67 3H2c-.55 0-1 .45-1 1v7c0 .55.45 1 1 1h10c.55 0 1-.45 1-1zM7 4.5c1.38 0 2.5 1.12 2.5 2.5S8.38 9.5 7 9.5 4.5 8.38 4.5 7 5.62 4.5 7 4.5zM14 6h5v10.5c0 1.38-1.12 2.5-2.5 2.5S14 17.88 14 16.5s1.12-2.5 2.5-2.5c.17 0 .34.02.5.05V9h-3V6zm-4 8.05V13h2v3.5c0 1.38-1.12 2.5-2.5 2.5S7 17.88 7 16.5 8.12 14 9.5 14c.17 0 .34.02.5.05z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-multisite':\n\t\t\t\tpath = 'M14.27 6.87L10 3.14 5.73 6.87 5 6.14l5-4.38 5 4.38zM14 8.42l-4.05 3.43L6 8.38v-.74l4-3.5 4 3.5v.78zM11 9.7V8H9v1.7h2zm-1.73 4.03L5 10 .73 13.73 0 13l5-4.38L10 13zm10 0L15 10l-4.27 3.73L10 13l5-4.38L20 13zM5 11l4 3.5V18H1v-3.5zm10 0l4 3.5V18h-8v-3.5zm-9 6v-2H4v2h2zm10 0v-2h-2v2h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-network':\n\t\t\t\tpath = 'M16.95 2.58c1.96 1.95 1.96 5.12 0 7.07-1.51 1.51-3.75 1.84-5.59 1.01l-1.87 3.31-2.99.31L5 18H2l-1-2 7.95-7.69c-.92-1.87-.62-4.18.93-5.73 1.95-1.96 5.12-1.96 7.07 0zm-2.51 3.79c.74 0 1.33-.6 1.33-1.34 0-.73-.59-1.33-1.33-1.33-.73 0-1.33.6-1.33 1.33 0 .74.6 1.34 1.33 1.34z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-page':\n\t\t\t\tpath = 'M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-plugins':\n\t\t\t\tpath = 'M13.11 4.36L9.87 7.6 8 5.73l3.24-3.24c.35-.34 1.05-.2 1.56.32.52.51.66 1.21.31 1.55zm-8 1.77l.91-1.12 9.01 9.01-1.19.84c-.71.71-2.63 1.16-3.82 1.16H6.14L4.9 17.26c-.59.59-1.54.59-2.12 0-.59-.58-.59-1.53 0-2.12l1.24-1.24v-3.88c0-1.13.4-3.19 1.09-3.89zm7.26 3.97l3.24-3.24c.34-.35 1.04-.21 1.55.31.52.51.66 1.21.31 1.55l-3.24 3.25z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-post':\n\t\t\t\tpath = 'M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-settings':\n\t\t\t\tpath = 'M18 16V4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h13c.55 0 1-.45 1-1zM8 11h1c.55 0 1 .45 1 1s-.45 1-1 1H8v1.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V13H6c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V11zm5-2h-1c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V7h1c.55 0 1 .45 1 1s-.45 1-1 1h-1v5.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V9z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site-alt':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm7.5 6.48c-.274.896-.908 1.64-1.75 2.05-.45-1.69-1.658-3.074-3.27-3.75.13-.444.41-.83.79-1.09-.43-.28-1-.42-1.34.07-.53.69 0 1.61.21 2v.14c-.555-.337-.99-.84-1.24-1.44-.966-.03-1.922.208-2.76.69-.087-.565-.032-1.142.16-1.68.733.07 1.453-.23 1.92-.8.46-.52-.13-1.18-.59-1.58h.36c1.36-.01 2.702.335 3.89 1 1.36 1.005 2.194 2.57 2.27 4.26.24 0 .7-.55.91-.92.172.34.32.69.44 1.05zM9 16.84c-2.05-2.08.25-3.75-1-5.24-.92-.85-2.29-.26-3.11-1.23-.282-1.473.267-2.982 1.43-3.93.52-.44 4-1 5.42.22.83.715 1.415 1.674 1.67 2.74.46.035.918-.066 1.32-.29.41 2.98-3.15 6.74-5.73 7.73zM5.15 2.09c.786-.3 1.676-.028 2.16.66-.42.38-.94.63-1.5.72.02-.294.085-.584.19-.86l-.85-.52z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site-alt2':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm2.92 12.34c0 .35.14.63.36.66.22.03.47-.22.58-.6l.2.08c.718.384 1.07 1.22.84 2-.15.69-.743 1.198-1.45 1.24-.49-1.21-2.11.06-3.56-.22-.612-.154-1.11-.6-1.33-1.19 1.19-.11 2.85-1.73 4.36-1.97zM8 11.27c.918 0 1.695-.68 1.82-1.59.44.54.41 1.324-.07 1.83-.255.223-.594.325-.93.28-.335-.047-.635-.236-.82-.52zm3-.76c.41.39 3-.06 3.52 1.09-.95-.2-2.95.61-3.47-1.08l-.05-.01zM9.73 5.45v.27c-.65-.77-1.33-1.07-1.61-.57-.28.5 1 1.11.76 1.88-.24.77-1.27.56-1.88 1.61-.61 1.05-.49 2.42 1.24 3.67-1.192-.132-2.19-.962-2.54-2.11-.4-1.2-.09-2.26-.78-2.46C4 7.46 3 8.71 3 9.8c-1.26-1.26.05-2.86-1.2-4.18C3.5 1.998 7.644.223 11.44 1.49c-1.1 1.02-1.722 2.458-1.71 3.96z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site-alt3':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zM1.11 9.68h2.51c.04.91.167 1.814.38 2.7H1.84c-.403-.85-.65-1.764-.73-2.7zm8.57-5.4V1.19c.964.366 1.756 1.08 2.22 2 .205.347.386.708.54 1.08l-2.76.01zm3.22 1.35c.232.883.37 1.788.41 2.7H9.68v-2.7h3.22zM8.32 1.19v3.09H5.56c.154-.372.335-.733.54-1.08.462-.924 1.255-1.64 2.22-2.01zm0 4.44v2.7H4.7c.04-.912.178-1.817.41-2.7h3.21zm-4.7 2.69H1.11c.08-.936.327-1.85.73-2.7H4c-.213.886-.34 1.79-.38 2.7zM4.7 9.68h3.62v2.7H5.11c-.232-.883-.37-1.788-.41-2.7zm3.63 4v3.09c-.964-.366-1.756-1.08-2.22-2-.205-.347-.386-.708-.54-1.08l2.76-.01zm1.35 3.09v-3.04h2.76c-.154.372-.335.733-.54 1.08-.464.92-1.256 1.634-2.22 2v-.04zm0-4.44v-2.7h3.62c-.04.912-.178 1.817-.41 2.7H9.68zm4.71-2.7h2.51c-.08.936-.327 1.85-.73 2.7H14c.21-.87.337-1.757.38-2.65l.01-.05zm0-1.35c-.046-.894-.176-1.78-.39-2.65h2.16c.403.85.65 1.764.73 2.7l-2.5-.05zm1-4H13.6c-.324-.91-.793-1.76-1.39-2.52 1.244.56 2.325 1.426 3.14 2.52h.04zm-9.6-2.52c-.597.76-1.066 1.61-1.39 2.52H2.65c.815-1.094 1.896-1.96 3.14-2.52zm-3.15 12H4.4c.324.91.793 1.76 1.39 2.52-1.248-.567-2.33-1.445-3.14-2.55l-.01.03zm9.56 2.52c.597-.76 1.066-1.61 1.39-2.52h1.76c-.82 1.08-1.9 1.933-3.14 2.48l-.01.04z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm3.46 11.95c0 1.47-.8 3.3-4.06 4.7.3-4.17-2.52-3.69-3.2-5 .126-1.1.804-2.063 1.8-2.55-1.552-.266-3-.96-4.18-2 .05.47.28.904.64 1.21-.782-.295-1.458-.817-1.94-1.5.977-3.225 3.883-5.482 7.25-5.63-.84 1.38-1.5 4.13 0 5.57C7.23 7 6.26 5 5.41 5.79c-1.13 1.06.33 2.51 3.42 3.08 3.29.59 3.66 1.58 3.63 3.08zm1.34-4c-.32-1.11.62-2.23 1.69-3.14 1.356 1.955 1.67 4.45.84 6.68-.77-1.89-2.17-2.32-2.53-3.57v.03z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-tools':\n\t\t\t\tpath = 'M16.68 9.77c-1.34 1.34-3.3 1.67-4.95.99l-5.41 6.52c-.99.99-2.59.99-3.58 0s-.99-2.59 0-3.57l6.52-5.42c-.68-1.65-.35-3.61.99-4.95 1.28-1.28 3.12-1.62 4.72-1.06l-2.89 2.89 2.82 2.82 2.86-2.87c.53 1.58.18 3.39-1.08 4.65zM3.81 16.21c.4.39 1.04.39 1.43 0 .4-.4.4-1.04 0-1.43-.39-.4-1.03-.4-1.43 0-.39.39-.39 1.03 0 1.43z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-users':\n\t\t\t\tpath = 'M10 9.25c-2.27 0-2.73-3.44-2.73-3.44C7 4.02 7.82 2 9.97 2c2.16 0 2.98 2.02 2.71 3.81 0 0-.41 3.44-2.68 3.44zm0 2.57L12.72 10c2.39 0 4.52 2.33 4.52 4.53v2.49s-3.65 1.13-7.24 1.13c-3.65 0-7.24-1.13-7.24-1.13v-2.49c0-2.25 1.94-4.48 4.47-4.48z';\n\t\t\t\tbreak;\n\t\t\tcase 'album':\n\t\t\t\tpath = 'M0 18h10v-.26c1.52.4 3.17.35 4.76-.24 4.14-1.52 6.27-6.12 4.75-10.26-1.43-3.89-5.58-6-9.51-4.98V2H0v16zM9 3v14H1V3h8zm5.45 8.22c-.68 1.35-2.32 1.9-3.67 1.23-.31-.15-.57-.35-.78-.59V8.13c.8-.86 2.11-1.13 3.22-.58 1.35.68 1.9 2.32 1.23 3.67zm-2.75-.82c.22.16.53.12.7-.1.16-.22.12-.53-.1-.7s-.53-.12-.7.1c-.16.21-.12.53.1.7zm3.01 3.67c-1.17.78-2.56.99-3.83.69-.27-.06-.44-.34-.37-.61s.34-.43.62-.36l.17.04c.96.17 1.98-.01 2.86-.59.47-.32.86-.72 1.14-1.18.15-.23.45-.3.69-.16.23.15.3.46.16.69-.36.57-.84 1.08-1.44 1.48zm1.05 1.57c-1.48.99-3.21 1.32-4.84 1.06-.28-.05-.47-.32-.41-.6.05-.27.32-.45.61-.39l.22.04c1.31.15 2.68-.14 3.87-.94.71-.47 1.27-1.07 1.7-1.74.14-.24.45-.31.68-.16.24.14.31.45.16.69-.49.79-1.16 1.49-1.99 2.04z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-center':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm12 8V7H5v6h10zM3 17h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-full-width':\n\t\t\t\tpath = 'M17 13V3H3v10h14zM5 17h10v-2H5v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-left':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm9 8V7H3v6h9zm2-4h3V7h-3v2zm0 4h3v-2h-3v2zM3 17h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-none':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm10 8V7H3v6h10zM3 17h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-pull-left':\n\t\t\t\tpath = 'M9 16V4H3v12h6zm2-7h6V7h-6v2zm0 4h6v-2h-6v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-pull-right':\n\t\t\t\tpath = 'M17 16V4h-6v12h6zM9 7H3v2h6V7zm0 4H3v2h6v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-right':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm0 4h3V7H3v2zm14 4V7H8v6h9zM3 13h3v-2H3v2zm0 4h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-wide':\n\t\t\t\tpath = 'M5 5h10V3H5v2zm12 8V7H3v6h14zM5 17h10v-2H5v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'analytics':\n\t\t\t\tpath = 'M18 18V2H2v16h16zM16 5H4V4h12v1zM7 7v3h3c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3zm1 2V7c1.1 0 2 .9 2 2H8zm8-1h-4V7h4v1zm0 3h-4V9h4v2zm0 2h-4v-1h4v1zm0 3H4v-1h12v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'archive':\n\t\t\t\tpath = 'M19 4v2H1V4h18zM2 7h16v10H2V7zm11 3V9H7v1h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-down-alt':\n\t\t\t\tpath = 'M9 2h2v12l4-4 2 1-7 7-7-7 2-1 4 4V2z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-down-alt2':\n\t\t\t\tpath = 'M5 6l5 5 5-5 2 1-7 7-7-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-down':\n\t\t\t\tpath = 'M15 8l-4.03 6L7 8h8z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-left-alt':\n\t\t\t\tpath = 'M18 9v2H6l4 4-1 2-7-7 7-7 1 2-4 4h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-left-alt2':\n\t\t\t\tpath = 'M14 5l-5 5 5 5-1 2-7-7 7-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-left':\n\t\t\t\tpath = 'M13 14L7 9.97 13 6v8z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-right-alt':\n\t\t\t\tpath = 'M2 11V9h12l-4-4 1-2 7 7-7 7-1-2 4-4H2z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-right-alt2':\n\t\t\t\tpath = 'M6 15l5-5-5-5 1-2 7 7-7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-right':\n\t\t\t\tpath = 'M8 6l6 4.03L8 14V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-up-alt':\n\t\t\t\tpath = 'M11 18H9V6l-4 4-2-1 7-7 7 7-2 1-4-4v12z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-up-alt2':\n\t\t\t\tpath = 'M15 14l-5-5-5 5-2-1 7-7 7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-up':\n\t\t\t\tpath = 'M7 13l4.03-6L15 13H7z';\n\t\t\t\tbreak;\n\t\t\tcase 'art':\n\t\t\t\tpath = 'M8.55 3.06c1.01.34-1.95 2.01-.1 3.13 1.04.63 3.31-2.22 4.45-2.86.97-.54 2.67-.65 3.53 1.23 1.09 2.38.14 8.57-3.79 11.06-3.97 2.5-8.97 1.23-10.7-2.66-2.01-4.53 3.12-11.09 6.61-9.9zm1.21 6.45c.73 1.64 4.7-.5 3.79-2.8-.59-1.49-4.48 1.25-3.79 2.8z';\n\t\t\t\tbreak;\n\t\t\tcase 'awards':\n\t\t\t\tpath = 'M4.46 5.16L5 7.46l-.54 2.29 2.01 1.24L7.7 13l2.3-.54 2.3.54 1.23-2.01 2.01-1.24L15 7.46l.54-2.3-2-1.24-1.24-2.01-2.3.55-2.29-.54-1.25 2zm5.55 6.34C7.79 11.5 6 9.71 6 7.49c0-2.2 1.79-3.99 4.01-3.99 2.2 0 3.99 1.79 3.99 3.99 0 2.22-1.79 4.01-3.99 4.01zm-.02-1C8.33 10.5 7 9.16 7 7.5c0-1.65 1.33-3 2.99-3S13 5.85 13 7.5c0 1.66-1.35 3-3.01 3zm3.84 1.1l-1.28 2.24-2.08-.47L13 19.2l1.4-2.2h2.5zm-7.7.07l1.25 2.25 2.13-.51L7 19.2 5.6 17H3.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'backup':\n\t\t\t\tpath = 'M13.65 2.88c3.93 2.01 5.48 6.84 3.47 10.77s-6.83 5.48-10.77 3.47c-1.87-.96-3.2-2.56-3.86-4.4l1.64-1.03c.45 1.57 1.52 2.95 3.08 3.76 3.01 1.54 6.69.35 8.23-2.66 1.55-3.01.36-6.69-2.65-8.24C9.78 3.01 6.1 4.2 4.56 7.21l1.88.97-4.95 3.08-.39-5.82 1.78.91C4.9 2.4 9.75.89 13.65 2.88zm-4.36 7.83C9.11 10.53 9 10.28 9 10c0-.07.03-.12.04-.19h-.01L10 5l.97 4.81L14 13l-4.5-2.12.02-.02c-.08-.04-.16-.09-.23-.15z';\n\t\t\t\tbreak;\n\t\t\tcase 'block-default':\n\t\t\t\tpath = 'M15 6V4h-3v2H8V4H5v2H4c-.6 0-1 .4-1 1v8h14V7c0-.6-.4-1-1-1h-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'book-alt':\n\t\t\t\tpath = 'M5 17h13v2H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h13v14H5c-.55 0-1 .45-1 1s.45 1 1 1zm2-3.5v-11c0-.28-.22-.5-.5-.5s-.5.22-.5.5v11c0 .28.22.5.5.5s.5-.22.5-.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'book':\n\t\t\t\tpath = 'M16 3h2v16H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h9v14H5c-.55 0-1 .45-1 1s.45 1 1 1h11V3z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-activity':\n\t\t\t\tpath = 'M8 1v7h2V6c0-1.52 1.45-3 3-3v.86c.55-.52 1.26-.86 2-.86v3h1c1.1 0 2 .9 2 2s-.9 2-2 2h-1v6c0 .55-.45 1-1 1s-1-.45-1-1v-2.18c-.31.11-.65.18-1 .18v2c0 .55-.45 1-1 1s-1-.45-1-1v-2H8v2c0 .55-.45 1-1 1s-1-.45-1-1v-2c-.35 0-.69-.07-1-.18V16c0 .55-.45 1-1 1s-1-.45-1-1v-4H2v-1c0-1.66 1.34-3 3-3h2V1h1zm5 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-bbpress-logo':\n\t\t\t\tpath = 'M8.5 12.6c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.3 1.7c-.3 1 .3 1.5 1 1.5 1.2 0 1.9-1.1 2.2-2.4zm-4-6.4C3.7 7.3 3.3 8.6 3.3 10c0 1 .2 1.9.6 2.8l1-4.6c.3-1.7.4-2-.4-2zm9.3 6.4c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.4 1.7c-.2 1.1.4 1.6 1.1 1.6 1.1-.1 1.9-1.2 2.2-2.5zM10 3.3c-2 0-3.9.9-5.1 2.3.6-.1 1.4-.2 1.8-.3.2 0 .2.1.2.2 0 .2-1 4.8-1 4.8.5-.3 1.2-.7 1.8-.7.9 0 1.5.4 1.9.9l.5-2.4c.4-1.6.4-1.9-.4-1.9-.4 0-.4-.5 0-.6.6-.1 1.8-.2 2.3-.3.2 0 .2.1.2.2l-1 4.8c.5-.4 1.2-.7 1.9-.7 1.7 0 2.5 1.3 2.1 3-.3 1.7-2 3-3.8 3-1.3 0-2.1-.7-2.3-1.4-.7.8-1.7 1.3-2.8 1.4 1.1.7 2.4 1.1 3.7 1.1 3.7 0 6.7-3 6.7-6.7s-3-6.7-6.7-6.7zM10 2c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 15.5c-2.1 0-4-.8-5.3-2.2-.3-.4-.7-.8-1-1.2-.7-1.2-1.2-2.6-1.2-4.1 0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-buddypress-logo':\n\t\t\t\tpath = 'M10 0c5.52 0 10 4.48 10 10s-4.48 10-10 10S0 15.52 0 10 4.48 0 10 0zm0 .5C4.75.5.5 4.75.5 10s4.25 9.5 9.5 9.5 9.5-4.25 9.5-9.5S15.25.5 10 .5zm0 1c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5S5.3 1.5 10 1.5zm1.8 1.71c-.57 0-1.1.17-1.55.45 1.56.37 2.73 1.77 2.73 3.45 0 .69-.21 1.33-.55 1.87 1.31-.29 2.29-1.45 2.29-2.85 0-1.61-1.31-2.92-2.92-2.92zm-2.38 1c-1.61 0-2.92 1.31-2.92 2.93 0 1.61 1.31 2.92 2.92 2.92 1.62 0 2.93-1.31 2.93-2.92 0-1.62-1.31-2.93-2.93-2.93zm4.25 5.01l-.51.59c2.34.69 2.45 3.61 2.45 3.61h1.28c0-4.71-3.22-4.2-3.22-4.2zm-2.1.8l-2.12 2.09-2.12-2.09C3.12 10.24 3.89 15 3.89 15h11.08c.47-4.98-3.4-4.98-3.4-4.98z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-community':\n\t\t\t\tpath = 'M9 3c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zm4 0c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zM9 9V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 0V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 1c0-1.48-1.41-2.77-3.5-3.46V9c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5V6.01c-.17 0-.33-.01-.5-.01s-.33.01-.5.01V9c0 .83-.67 1.5-1.5 1.5S6.5 9.83 6.5 9V6.54C4.41 7.23 3 8.52 3 10c0 1.41.95 2.65 3.21 3.37 1.11.35 2.39 1.12 3.79 1.12s2.69-.78 3.79-1.13C16.04 12.65 17 11.41 17 10zm-7 5.43c1.43 0 2.74-.79 3.88-1.11 1.9-.53 2.49-1.34 3.12-2.32v3c0 2.21-3.13 4-7 4s-7-1.79-7-4v-3c.64.99 1.32 1.8 3.15 2.33 1.13.33 2.44 1.1 3.85 1.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-forums':\n\t\t\t\tpath = 'M13.5 7h-7C5.67 7 5 6.33 5 5.5S5.67 4 6.5 4h1.59C8.04 3.84 8 3.68 8 3.5 8 2.67 8.67 2 9.5 2h1c.83 0 1.5.67 1.5 1.5 0 .18-.04.34-.09.5h1.59c.83 0 1.5.67 1.5 1.5S14.33 7 13.5 7zM4 8h12c.55 0 1 .45 1 1s-.45 1-1 1H4c-.55 0-1-.45-1-1s.45-1 1-1zm1 3h10c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1s.45-1 1-1zm2 3h6c.55 0 1 .45 1 1s-.45 1-1 1h-1.09c.05.16.09.32.09.5 0 .83-.67 1.5-1.5 1.5h-1c-.83 0-1.5-.67-1.5-1.5 0-.18.04-.34.09-.5H7c-.55 0-1-.45-1-1s.45-1 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-friends':\n\t\t\t\tpath = 'M8.75 5.77C8.75 4.39 7 2 7 2S5.25 4.39 5.25 5.77 5.9 7.5 7 7.5s1.75-.35 1.75-1.73zm6 0C14.75 4.39 13 2 13 2s-1.75 2.39-1.75 3.77S11.9 7.5 13 7.5s1.75-.35 1.75-1.73zM9 17V9c0-.55-.45-1-1-1H6c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm6 0V9c0-.55-.45-1-1-1h-2c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-9-6l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2zm-6 3l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-groups':\n\t\t\t\tpath = 'M15.45 6.25c1.83.94 1.98 3.18.7 4.98-.8 1.12-2.33 1.88-3.46 1.78L10.05 18H9l-2.65-4.99c-1.13.16-2.73-.63-3.55-1.79-1.28-1.8-1.13-4.04.71-4.97.48-.24.96-.33 1.43-.31-.01.4.01.8.07 1.21.26 1.69 1.41 3.53 2.86 4.37-.19.55-.49.99-.88 1.25L9 16.58v-5.66C7.64 10.55 6.26 8.76 6 7c-.4-2.65 1-5 3.5-5s3.9 2.35 3.5 5c-.26 1.76-1.64 3.55-3 3.92v5.77l2.07-3.84c-.44-.23-.77-.71-.99-1.3 1.48-.83 2.65-2.69 2.91-4.4.06-.41.08-.82.07-1.22.46-.01.92.08 1.39.32z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-pm':\n\t\t\t\tpath = 'M10 2c3 0 8 5 8 5v11H2V7s5-5 8-5zm7 14.72l-3.73-2.92L17 11l-.43-.37-2.26 1.3.24-4.31-8.77-.52-.46 4.54-1.99-.95L3 11l3.73 2.8-3.44 2.85.4.43L10 13l6.53 4.15z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-replies':\n\t\t\t\tpath = 'M17.54 10.29c1.17 1.17 1.17 3.08 0 4.25-1.18 1.17-3.08 1.17-4.25 0l-.34-.52c0 3.66-2 4.38-2.95 4.98-.82-.6-2.95-1.28-2.95-4.98l-.34.52c-1.17 1.17-3.07 1.17-4.25 0-1.17-1.17-1.17-3.08 0-4.25 0 0 1.02-.67 2.1-1.3C3.71 7.84 3.2 6.42 3.2 4.88c0-.34.03-.67.08-1C3.53 5.66 4.47 7.22 5.8 8.3c.67-.35 1.85-.83 2.37-.92H8c-1.1 0-2-.9-2-2s.9-2 2-2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5h2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5c1.1 0 2 .9 2 2s-.9 2-2 2h-.17c.51.09 1.78.61 2.38.92 1.33-1.08 2.27-2.64 2.52-4.42.05.33.08.66.08 1 0 1.54-.51 2.96-1.36 4.11 1.08.63 2.09 1.3 2.09 1.3zM8.5 6.38c.5 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm3-2c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-2.3 5.73c-.12.11-.19.26-.19.43.02.25.23.46.49.46h1c.26 0 .47-.21.49-.46 0-.15-.07-.29-.19-.43-.08-.06-.18-.11-.3-.11h-1c-.12 0-.22.05-.3.11zM12 12.5c0-.12-.06-.28-.19-.38-.09-.07-.19-.12-.31-.12h-3c-.12 0-.22.05-.31.12-.11.1-.19.25-.19.38 0 .28.22.5.5.5h3c.28 0 .5-.22.5-.5zM8.5 15h3c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-3c-.28 0-.5.22-.5.5s.22.5.5.5zm1 2h1c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5s.22.5.5.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-topics':\n\t\t\t\tpath = 'M10.44 1.66c-.59-.58-1.54-.58-2.12 0L2.66 7.32c-.58.58-.58 1.53 0 2.12.6.6 1.56.56 2.12 0l5.66-5.66c.58-.58.59-1.53 0-2.12zm2.83 2.83c-.59-.59-1.54-.59-2.12 0l-5.66 5.66c-.59.58-.59 1.53 0 2.12.6.6 1.56.55 2.12 0l5.66-5.66c.58-.58.58-1.53 0-2.12zm1.06 6.72l4.18 4.18c.59.58.59 1.53 0 2.12s-1.54.59-2.12 0l-4.18-4.18-1.77 1.77c-.59.58-1.54.58-2.12 0-.59-.59-.59-1.54 0-2.13l5.66-5.65c.58-.59 1.53-.59 2.12 0 .58.58.58 1.53 0 2.12zM5 15c0-1.59-1.66-4-1.66-4S2 13.78 2 15s.6 2 1.34 2h.32C4.4 17 5 16.59 5 15z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-tracking':\n\t\t\t\tpath = 'M10.98 6.78L15.5 15c-1 2-3.5 3-5.5 3s-4.5-1-5.5-3L9 6.82c-.75-1.23-2.28-1.98-4.29-2.03l2.46-2.92c1.68 1.19 2.46 2.32 2.97 3.31.56-.87 1.2-1.68 2.7-2.12l1.83 2.86c-1.42-.34-2.64.08-3.69.86zM8.17 10.4l-.93 1.69c.49.11 1 .16 1.54.16 1.35 0 2.58-.36 3.55-.95l-1.01-1.82c-.87.53-1.96.86-3.15.92zm.86 5.38c1.99 0 3.73-.74 4.74-1.86l-.98-1.76c-1 1.12-2.74 1.87-4.74 1.87-.62 0-1.21-.08-1.76-.21l-.63 1.15c.94.5 2.1.81 3.37.81z';\n\t\t\t\tbreak;\n\t\t\tcase 'building':\n\t\t\t\tpath = 'M3 20h14V0H3v20zM7 3H5V1h2v2zm4 0H9V1h2v2zm4 0h-2V1h2v2zM7 6H5V4h2v2zm4 0H9V4h2v2zm4 0h-2V4h2v2zM7 9H5V7h2v2zm4 0H9V7h2v2zm4 0h-2V7h2v2zm-8 3H5v-2h2v2zm4 0H9v-2h2v2zm4 0h-2v-2h2v2zm-4 7H5v-6h6v6zm4-4h-2v-2h2v2zm0 3h-2v-2h2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'businessman':\n\t\t\t\tpath = 'M7.3 6l-.03-.19c-.04-.37-.05-.73-.03-1.08.02-.36.1-.71.25-1.04.14-.32.31-.61.52-.86s.49-.46.83-.6c.34-.15.72-.23 1.13-.23.69 0 1.26.2 1.71.59s.76.87.91 1.44.18 1.16.09 1.78l-.03.19c-.01.09-.05.25-.11.48-.05.24-.12.47-.2.69-.08.21-.19.45-.34.72-.14.27-.3.49-.47.69-.18.19-.4.34-.67.48-.27.13-.55.19-.86.19s-.59-.06-.87-.19c-.26-.13-.49-.29-.67-.5-.18-.2-.34-.42-.49-.66-.15-.25-.26-.49-.34-.73-.09-.25-.16-.47-.21-.67-.06-.21-.1-.37-.12-.5zm9.2 6.24c.41.7.5 1.41.5 2.14v2.49c0 .03-.12.08-.29.13-.18.04-.42.13-.97.27-.55.12-1.1.24-1.65.34s-1.19.19-1.95.27c-.75.08-1.46.12-2.13.12-.68 0-1.39-.04-2.14-.12-.75-.07-1.4-.17-1.98-.27-.58-.11-1.08-.23-1.56-.34-.49-.11-.8-.21-1.06-.29L3 16.87v-2.49c0-.75.07-1.46.46-2.15s.81-1.25 1.5-1.68C5.66 10.12 7.19 10 8 10l1.67 1.67L9 13v3l1.02 1.08L11 16v-3l-.68-1.33L11.97 10c.77 0 2.2.07 2.9.52.71.45 1.21 1.02 1.63 1.72z';\n\t\t\t\tbreak;\n\t\t\tcase 'button':\n\t\t\t\tpath = 'M17 5H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm1 7c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V7c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v5z';\n\t\t\t\tbreak;\n\t\t\tcase 'calendar-alt':\n\t\t\t\tpath = 'M15 4h3v15H2V4h3V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1h4V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1zM6 3v2.5c0 .14.05.26.15.36.09.09.21.14.35.14s.26-.05.35-.14c.1-.1.15-.22.15-.36V3c0-.14-.05-.26-.15-.35-.09-.1-.21-.15-.35-.15s-.26.05-.35.15c-.1.09-.15.21-.15.35zm7 0v2.5c0 .14.05.26.14.36.1.09.22.14.36.14s.26-.05.36-.14c.09-.1.14-.22.14-.36V3c0-.14-.05-.26-.14-.35-.1-.1-.22-.15-.36-.15s-.26.05-.36.15c-.09.09-.14.21-.14.35zm4 15V8H3v10h14zM7 9v2H5V9h2zm2 0h2v2H9V9zm4 2V9h2v2h-2zm-6 1v2H5v-2h2zm2 0h2v2H9v-2zm4 2v-2h2v2h-2zm-6 1v2H5v-2h2zm4 2H9v-2h2v2zm4 0h-2v-2h2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'calendar':\n\t\t\t\tpath = 'M15 4h3v14H2V4h3V3c0-.83.67-1.5 1.5-1.5S8 2.17 8 3v1h4V3c0-.83.67-1.5 1.5-1.5S15 2.17 15 3v1zM6 3v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5S6 2.72 6 3zm7 0v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5s-.5.22-.5.5zm4 14V8H3v9h14zM7 16V9H5v7h2zm4 0V9H9v7h2zm4 0V9h-2v7h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'camera':\n\t\t\t\tpath = 'M6 5V3H3v2h3zm12 10V4H9L7 6H2v9h16zm-7-8c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3z';\n\t\t\t\tbreak;\n\t\t\tcase 'carrot':\n\t\t\t\tpath = 'M2 18.43c1.51 1.36 11.64-4.67 13.14-7.21.72-1.22-.13-3.01-1.52-4.44C15.2 5.73 16.59 9 17.91 8.31c.6-.32.99-1.31.7-1.92-.52-1.08-2.25-1.08-3.42-1.21.83-.2 2.82-1.05 2.86-2.25.04-.92-1.13-1.97-2.05-1.86-1.21.14-1.65 1.88-2.06 3-.05-.71-.2-2.27-.98-2.95-1.04-.91-2.29-.05-2.32 1.05-.04 1.33 2.82 2.07 1.92 3.67C11.04 4.67 9.25 4.03 8.1 4.7c-.49.31-1.05.91-1.63 1.69.89.94 2.12 2.07 3.09 2.72.2.14.26.42.11.62-.14.21-.42.26-.62.12-.99-.67-2.2-1.78-3.1-2.71-.45.67-.91 1.43-1.34 2.23.85.86 1.93 1.83 2.79 2.41.2.14.25.42.11.62-.14.21-.42.26-.63.12-.85-.58-1.86-1.48-2.71-2.32C2.4 13.69 1.1 17.63 2 18.43z';\n\t\t\t\tbreak;\n\t\t\tcase 'cart':\n\t\t\t\tpath = 'M6 13h9c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1V4H2c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1v2h13l-4 7H6v1zm-.5 3c.83 0 1.5.67 1.5 1.5S6.33 19 5.5 19 4 18.33 4 17.5 4.67 16 5.5 16zm9 0c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'category':\n\t\t\t\tpath = 'M5 7h13v10H2V4h7l2 2H4v9h1V7z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-area':\n\t\t\t\tpath = 'M18 18l.01-12.28c.59-.35.99-.99.99-1.72 0-1.1-.9-2-2-2s-2 .9-2 2c0 .8.47 1.48 1.14 1.8l-4.13 6.58c-.33-.24-.73-.38-1.16-.38-.84 0-1.55.51-1.85 1.24l-2.14-1.53c.09-.22.14-.46.14-.71 0-1.11-.89-2-2-2-1.1 0-2 .89-2 2 0 .73.4 1.36.98 1.71L1 18h17zM17 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM5 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm5.85 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-bar':\n\t\t\t\tpath = 'M18 18V2h-4v16h4zm-6 0V7H8v11h4zm-6 0v-8H2v8h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-line':\n\t\t\t\tpath = 'M18 3.5c0 .62-.38 1.16-.92 1.38v13.11H1.99l4.22-6.73c-.13-.23-.21-.48-.21-.76C6 9.67 6.67 9 7.5 9S9 9.67 9 10.5c0 .13-.02.25-.05.37l1.44.63c.27-.3.67-.5 1.11-.5.18 0 .35.04.51.09l3.58-6.41c-.36-.27-.59-.7-.59-1.18 0-.83.67-1.5 1.5-1.5.19 0 .36.04.53.1l.05-.09v.11c.54.22.92.76.92 1.38zm-1.92 13.49V5.85l-3.29 5.89c.13.23.21.48.21.76 0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5l.01-.07-1.63-.72c-.25.18-.55.29-.88.29-.18 0-.35-.04-.51-.1l-3.2 5.09h12.29z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-pie':\n\t\t\t\tpath = 'M10 10V3c3.87 0 7 3.13 7 7h-7zM9 4v7h7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'clipboard':\n\t\t\t\tpath = 'M11.9.39l1.4 1.4c1.61.19 3.5-.74 4.61.37s.18 3 .37 4.61l1.4 1.4c.39.39.39 1.02 0 1.41l-9.19 9.2c-.4.39-1.03.39-1.42 0L1.29 11c-.39-.39-.39-1.02 0-1.42l9.2-9.19c.39-.39 1.02-.39 1.41 0zm.58 2.25l-.58.58 4.95 4.95.58-.58c-.19-.6-.2-1.22-.15-1.82.02-.31.05-.62.09-.92.12-1 .18-1.63-.17-1.98s-.98-.29-1.98-.17c-.3.04-.61.07-.92.09-.6.05-1.22.04-1.82-.15zm4.02.93c.39.39.39 1.03 0 1.42s-1.03.39-1.42 0-.39-1.03 0-1.42 1.03-.39 1.42 0zm-6.72.36l-.71.7L15.44 11l.7-.71zM8.36 5.34l-.7.71 6.36 6.36.71-.7zM6.95 6.76l-.71.7 6.37 6.37.7-.71zM5.54 8.17l-.71.71 6.36 6.36.71-.71zM4.12 9.58l-.71.71 6.37 6.37.71-.71z';\n\t\t\t\tbreak;\n\t\t\tcase 'clock':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 14c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6zm-.71-5.29c.07.05.14.1.23.15l-.02.02L14 13l-3.03-3.19L10 5l-.97 4.81h.01c0 .02-.01.05-.02.09S9 9.97 9 10c0 .28.1.52.29.71z';\n\t\t\t\tbreak;\n\t\t\tcase 'cloud-saved':\n\t\t\t\tpath = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16h10c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5zm-6.3 5.9l-3.2-3.2 1.4-1.4 1.8 1.8 3.8-3.8 1.4 1.4-5.2 5.2z';\n\t\t\t\tbreak;\n\t\t\tcase 'cloud-upload':\n\t\t\t\tpath = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16H8v-3H5l4.5-4.5L14 13h-3v3h3.5c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'cloud':\n\t\t\t\tpath = 'M14.9 9c1.8.2 3.1 1.7 3.1 3.5 0 1.9-1.6 3.5-3.5 3.5h-10C2.6 16 1 14.4 1 12.5 1 10.7 2.3 9.3 4.1 9 4 8.9 4 8.7 4 8.5 4 7.1 5.1 6 6.5 6c.3 0 .7.1.9.2C8.1 4.9 9.4 4 11 4c2.2 0 4 1.8 4 4 0 .4-.1.7-.1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'columns':\n\t\t\t\tpath = 'M3 15h6V5H3v10zm8 0h6V5h-6v10z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-back':\n\t\t\t\tpath = 'M2 10l10-6v3.6L18 4v12l-6-3.6V16z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-forward':\n\t\t\t\tpath = 'M18 10L8 16v-3.6L2 16V4l6 3.6V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-pause':\n\t\t\t\tpath = 'M5 16V4h3v12H5zm7-12h3v12h-3V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-play':\n\t\t\t\tpath = 'M5 4l10 6-10 6V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-repeat':\n\t\t\t\tpath = 'M5 7v3l-2 1.5V5h11V3l4 3.01L14 9V7H5zm10 6v-3l2-1.5V15H6v2l-4-3.01L6 11v2h9z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-skipback':\n\t\t\t\tpath = 'M11.98 7.63l6-3.6v12l-6-3.6v3.6l-8-4.8v4.8h-2v-12h2v4.8l8-4.8v3.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-skipforward':\n\t\t\t\tpath = 'M8 12.4L2 16V4l6 3.6V4l8 4.8V4h2v12h-2v-4.8L8 16v-3.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-volumeoff':\n\t\t\t\tpath = 'M2 7h4l5-4v14l-5-4H2V7z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-volumeon':\n\t\t\t\tpath = 'M2 7h4l5-4v14l-5-4H2V7zm12.69-2.46C14.82 4.59 18 5.92 18 10s-3.18 5.41-3.31 5.46c-.06.03-.13.04-.19.04-.2 0-.39-.12-.46-.31-.11-.26.02-.55.27-.65.11-.05 2.69-1.15 2.69-4.54 0-3.41-2.66-4.53-2.69-4.54-.25-.1-.38-.39-.27-.65.1-.25.39-.38.65-.27zM16 10c0 2.57-2.23 3.43-2.32 3.47-.06.02-.12.03-.18.03-.2 0-.39-.12-.47-.32-.1-.26.04-.55.29-.65.07-.02 1.68-.67 1.68-2.53s-1.61-2.51-1.68-2.53c-.25-.1-.38-.39-.29-.65.1-.25.39-.39.65-.29.09.04 2.32.9 2.32 3.47z';\n\t\t\t\tbreak;\n\t\t\tcase 'cover-image':\n\t\t\t\tpath = 'M2.2 1h15.5c.7 0 1.3.6 1.3 1.2v11.5c0 .7-.6 1.2-1.2 1.2H2.2c-.6.1-1.2-.5-1.2-1.1V2.2C1 1.6 1.6 1 2.2 1zM17 13V3H3v10h14zm-4-4s0-5 3-5v7c0 .6-.4 1-1 1H5c-.6 0-1-.4-1-1V7c2 0 3 4 3 4s1-4 3-4 3 2 3 2zM4 17h12v2H4z';\n\t\t\t\tbreak;\n\t\t\tcase 'dashboard':\n\t\t\t\tpath = 'M3.76 16h12.48c1.1-1.37 1.76-3.11 1.76-5 0-4.42-3.58-8-8-8s-8 3.58-8 8c0 1.89.66 3.63 1.76 5zM10 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 6c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5.37 5.55L12 7v6c0 1.1-.9 2-2 2s-2-.9-2-2c0-.57.24-1.08.63-1.45zM4 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm12 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5 3c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'desktop':\n\t\t\t\tpath = 'M3 2h14c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1h-5v2h2c.55 0 1 .45 1 1v1H5v-1c0-.55.45-1 1-1h2v-2H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm13 9V4H4v7h12zM5 5h9L5 9V5z';\n\t\t\t\tbreak;\n\t\t\tcase 'dismiss':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'download':\n\t\t\t\tpath = 'M14.01 4v6h2V2H4v8h2.01V4h8zm-2 2v6h3l-5 6-5-6h3V6h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'edit':\n\t\t\t\tpath = 'M13.89 3.39l2.71 2.72c.46.46.42 1.24.03 1.64l-8.01 8.02-5.56 1.16 1.16-5.58s7.6-7.63 7.99-8.03c.39-.39 1.22-.39 1.68.07zm-2.73 2.79l-5.59 5.61 1.11 1.11 5.54-5.65zm-2.97 8.23l5.58-5.6-1.07-1.08-5.59 5.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-aligncenter':\n\t\t\t\tpath = 'M14 5V3H6v2h8zm3 4V7H3v2h14zm-3 4v-2H6v2h8zm3 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-alignleft':\n\t\t\t\tpath = 'M12 5V3H3v2h9zm5 4V7H3v2h14zm-5 4v-2H3v2h9zm5 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-alignright':\n\t\t\t\tpath = 'M17 5V3H8v2h9zm0 4V7H3v2h14zm0 4v-2H8v2h9zm0 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-bold':\n\t\t\t\tpath = 'M6 4v13h4.54c1.37 0 2.46-.33 3.26-1 .8-.66 1.2-1.58 1.2-2.77 0-.84-.17-1.51-.51-2.01s-.9-.85-1.67-1.03v-.09c.57-.1 1.02-.4 1.36-.9s.51-1.13.51-1.91c0-1.14-.39-1.98-1.17-2.5C12.75 4.26 11.5 4 9.78 4H6zm2.57 5.15V6.26h1.36c.73 0 1.27.11 1.61.32.34.22.51.58.51 1.07 0 .54-.16.92-.47 1.15s-.82.35-1.51.35h-1.5zm0 2.19h1.6c1.44 0 2.16.53 2.16 1.61 0 .6-.17 1.05-.51 1.34s-.86.43-1.57.43H8.57v-3.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-break':\n\t\t\t\tpath = 'M16 4h2v9H7v3l-5-4 5-4v3h9V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-code':\n\t\t\t\tpath = 'M9 6l-4 4 4 4-1 2-6-6 6-6zm2 8l4-4-4-4 1-2 6 6-6 6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-contract':\n\t\t\t\tpath = 'M15.75 6.75L18 3v14l-2.25-3.75L17 12h-4v4l1.25-1.25L18 17H2l3.75-2.25L7 16v-4H3l1.25 1.25L2 17V3l2.25 3.75L3 8h4V4L5.75 5.25 2 3h16l-3.75 2.25L13 4v4h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-customchar':\n\t\t\t\tpath = 'M10 5.4c1.27 0 2.24.36 2.91 1.08.66.71 1 1.76 1 3.13 0 1.28-.23 2.37-.69 3.27-.47.89-1.27 1.52-2.22 2.12v2h6v-2h-3.69c.92-.64 1.62-1.34 2.12-2.34.49-1.01.74-2.13.74-3.35 0-1.78-.55-3.19-1.65-4.22S11.92 3.54 10 3.54s-3.43.53-4.52 1.57c-1.1 1.04-1.65 2.44-1.65 4.2 0 1.21.24 2.31.73 3.33.48 1.01 1.19 1.71 2.1 2.36H3v2h6v-2c-.98-.64-1.8-1.28-2.24-2.17-.45-.89-.67-1.96-.67-3.22 0-1.37.33-2.41 1-3.13C7.75 5.76 8.72 5.4 10 5.4z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-expand':\n\t\t\t\tpath = 'M7 8h6v4H7zm-5 5v4h4l-1.2-1.2L7 12l-3.8 2.2M14 17h4v-4l-1.2 1.2L13 12l2.2 3.8M14 3l1.3 1.3L13 8l3.8-2.2L18 7V3M6 3H2v4l1.2-1.2L7 8 4.7 4.3';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-help':\n\t\t\t\tpath = 'M17 10c0-3.87-3.14-7-7-7-3.87 0-7 3.13-7 7s3.13 7 7 7c3.86 0 7-3.13 7-7zm-6.3 1.48H9.14v-.43c0-.38.08-.7.24-.98s.46-.57.88-.89c.41-.29.68-.53.81-.71.14-.18.2-.39.2-.62 0-.25-.09-.44-.28-.58-.19-.13-.45-.19-.79-.19-.58 0-1.25.19-2 .57l-.64-1.28c.87-.49 1.8-.74 2.77-.74.81 0 1.45.2 1.92.58.48.39.71.91.71 1.55 0 .43-.09.8-.29 1.11-.19.32-.57.67-1.11 1.06-.38.28-.61.49-.71.63-.1.15-.15.34-.15.57v.35zm-1.47 2.74c-.18-.17-.27-.42-.27-.73 0-.33.08-.58.26-.75s.43-.25.77-.25c.32 0 .57.09.75.26s.27.42.27.74c0 .3-.09.55-.27.72-.18.18-.43.27-.75.27-.33 0-.58-.09-.76-.26z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-indent':\n\t\t\t\tpath = 'M3 5V3h9v2H3zm10-1V3h4v1h-4zm0 3h2V5l4 3.5-4 3.5v-2h-2V7zM3 8V6h9v2H3zm2 3V9h7v2H5zm-2 3v-2h9v2H3zm10 0v-1h4v1h-4zm-4 3v-2h3v2H9z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-insertmore':\n\t\t\t\tpath = 'M17 7V3H3v4h14zM6 11V9H3v2h3zm6 0V9H8v2h4zm5 0V9h-3v2h3zm0 6v-4H3v4h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-italic':\n\t\t\t\tpath = 'M14.78 6h-2.13l-2.8 9h2.12l-.62 2H4.6l.62-2h2.14l2.8-9H8.03l.62-2h6.75z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-justify':\n\t\t\t\tpath = 'M2 3h16v2H2V3zm0 4h16v2H2V7zm0 4h16v2H2v-2zm0 4h16v2H2v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-kitchensink':\n\t\t\t\tpath = 'M19 2v6H1V2h18zm-1 5V3H2v4h16zM5 4v2H3V4h2zm3 0v2H6V4h2zm3 0v2H9V4h2zm3 0v2h-2V4h2zm3 0v2h-2V4h2zm2 5v9H1V9h18zm-1 8v-7H2v7h16zM5 11v2H3v-2h2zm3 0v2H6v-2h2zm3 0v2H9v-2h2zm6 0v2h-5v-2h5zm-6 3v2H3v-2h8zm3 0v2h-2v-2h2zm3 0v2h-2v-2h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ltr':\n\t\t\t\tpath = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM14 14l5-4-5-4v8z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ol-rtl':\n\t\t\t\tpath = 'M15.025 8.75a1.048 1.048 0 0 1 .45-.1.507.507 0 0 1 .35.11.455.455 0 0 1 .13.36.803.803 0 0 1-.06.3 1.448 1.448 0 0 1-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76v-.7h-1.72v-.04l.51-.48a7.276 7.276 0 0 0 .7-.71 1.75 1.75 0 0 0 .3-.49 1.254 1.254 0 0 0 .1-.51.968.968 0 0 0-.16-.56 1.007 1.007 0 0 0-.44-.37 1.512 1.512 0 0 0-.65-.14 1.98 1.98 0 0 0-.51.06 1.9 1.9 0 0 0-.42.15 3.67 3.67 0 0 0-.48.35l.45.54a2.505 2.505 0 0 1 .45-.3zM16.695 15.29a1.29 1.29 0 0 0-.74-.3v-.02a1.203 1.203 0 0 0 .65-.37.973.973 0 0 0 .23-.65.81.81 0 0 0-.37-.71 1.72 1.72 0 0 0-1-.26 2.185 2.185 0 0 0-1.33.4l.4.6a1.79 1.79 0 0 1 .46-.23 1.18 1.18 0 0 1 .41-.07c.38 0 .58.15.58.46a.447.447 0 0 1-.22.43 1.543 1.543 0 0 1-.7.12h-.31v.66h.31a1.764 1.764 0 0 1 .75.12.433.433 0 0 1 .23.41.55.55 0 0 1-.2.47 1.084 1.084 0 0 1-.63.15 2.24 2.24 0 0 1-.57-.08 2.671 2.671 0 0 1-.52-.2v.74a2.923 2.923 0 0 0 1.18.22 1.948 1.948 0 0 0 1.22-.33 1.077 1.077 0 0 0 .43-.92.836.836 0 0 0-.26-.64zM15.005 4.17c.06-.05.16-.14.3-.28l-.02.42V7h.84V3h-.69l-1.29 1.03.4.51zM4.02 5h9v1h-9zM4.02 10h9v1h-9zM4.02 15h9v1h-9z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ol':\n\t\t\t\tpath = 'M6 7V3h-.69L4.02 4.03l.4.51.46-.37c.06-.05.16-.14.3-.28l-.02.42V7H6zm2-2h9v1H8V5zm-1.23 6.95v-.7H5.05v-.04l.51-.48c.33-.31.57-.54.7-.71.14-.17.24-.33.3-.49.07-.16.1-.33.1-.51 0-.21-.05-.4-.16-.56-.1-.16-.25-.28-.44-.37s-.41-.14-.65-.14c-.19 0-.36.02-.51.06-.15.03-.29.09-.42.15-.12.07-.29.19-.48.35l.45.54c.16-.13.31-.23.45-.3.15-.07.3-.1.45-.1.14 0 .26.03.35.11s.13.2.13.36c0 .1-.02.2-.06.3s-.1.21-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76zM8 10h9v1H8v-1zm-1.29 3.95c0-.3-.12-.54-.37-.71-.24-.17-.58-.26-1-.26-.52 0-.96.13-1.33.4l.4.6c.17-.11.32-.19.46-.23.14-.05.27-.07.41-.07.38 0 .58.15.58.46 0 .2-.07.35-.22.43s-.38.12-.7.12h-.31v.66h.31c.34 0 .59.04.75.12.15.08.23.22.23.41 0 .22-.07.37-.2.47-.14.1-.35.15-.63.15-.19 0-.38-.03-.57-.08s-.36-.12-.52-.2v.74c.34.15.74.22 1.18.22.53 0 .94-.11 1.22-.33.29-.22.43-.52.43-.92 0-.27-.09-.48-.26-.64s-.42-.26-.74-.3v-.02c.27-.06.49-.19.65-.37.15-.18.23-.39.23-.65zM8 15h9v1H8v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-outdent':\n\t\t\t\tpath = 'M7 4V3H3v1h4zm10 1V3H8v2h9zM7 7H5V5L1 8.5 5 12v-2h2V7zm10 1V6H8v2h9zm-2 3V9H8v2h7zm2 3v-2H8v2h9zM7 14v-1H3v1h4zm4 3v-2H8v2h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-paragraph':\n\t\t\t\tpath = 'M15 2H7.54c-.83 0-1.59.2-2.28.6-.7.41-1.25.96-1.65 1.65C3.2 4.94 3 5.7 3 6.52s.2 1.58.61 2.27c.4.69.95 1.24 1.65 1.64.69.41 1.45.61 2.28.61h.43V17c0 .27.1.51.29.71.2.19.44.29.71.29.28 0 .51-.1.71-.29.2-.2.3-.44.3-.71V5c0-.27.09-.51.29-.71.2-.19.44-.29.71-.29s.51.1.71.29c.19.2.29.44.29.71v12c0 .27.1.51.3.71.2.19.43.29.71.29.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71V4H15c.27 0 .5-.1.7-.3.2-.19.3-.43.3-.7s-.1-.51-.3-.71C15.5 2.1 15.27 2 15 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-paste-text':\n\t\t\t\tpath = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.44 1-1 0-.55-.45-1-1-1s-1 .45-1 1c0 .56.45 1 1 1zm5.45-1H17c.55 0 1 .45 1 1v12c0 .56-.45 1-1 1H3c-.55 0-1-.44-1-1V5c0-.55.45-1 1-1h1.55L4 4.63V7h12V4.63zM14 11V9H6v2h3v5h2v-5h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-paste-word':\n\t\t\t\tpath = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm8 12V5c0-.55-.45-1-1-1h-1.54l.54.63V7H4V4.62L4.55 4H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-3-8l-2 7h-2l-1-5-1 5H6.92L5 9h2l1 5 1-5h2l1 5 1-5h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-quote':\n\t\t\t\tpath = 'M9.49 13.22c0-.74-.2-1.38-.61-1.9-.62-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L7.88 4c-2.73 1.3-5.42 4.28-4.96 8.05C3.21 14.43 4.59 16 6.54 16c.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03zm8.05 0c0-.74-.2-1.38-.61-1.9-.63-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L15.93 4c-2.73 1.3-5.41 4.28-4.95 8.05.29 2.38 1.66 3.95 3.61 3.95.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-removeformatting':\n\t\t\t\tpath = 'M14.29 4.59l1.1 1.11c.41.4.61.94.61 1.47v2.12c0 .53-.2 1.07-.61 1.47l-6.63 6.63c-.4.41-.94.61-1.47.61s-1.07-.2-1.47-.61l-1.11-1.1-1.1-1.11c-.41-.4-.61-.94-.61-1.47v-2.12c0-.54.2-1.07.61-1.48l6.63-6.62c.4-.41.94-.61 1.47-.61s1.06.2 1.47.61zm-6.21 9.7l6.42-6.42c.39-.39.39-1.03 0-1.43L12.36 4.3c-.19-.19-.45-.29-.72-.29s-.52.1-.71.29l-6.42 6.42c-.39.4-.39 1.04 0 1.43l2.14 2.14c.38.38 1.04.38 1.43 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-rtl':\n\t\t\t\tpath = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM19 6l-5 4 5 4V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-spellcheck':\n\t\t\t\tpath = 'M15.84 2.76c.25 0 .49.04.71.11.23.07.44.16.64.25l.35-.81c-.52-.26-1.08-.39-1.69-.39-.58 0-1.09.13-1.52.37-.43.25-.76.61-.99 1.08C13.11 3.83 13 4.38 13 5c0 .99.23 1.75.7 2.28s1.15.79 2.02.79c.6 0 1.13-.09 1.6-.26v-.84c-.26.08-.51.14-.74.19-.24.05-.49.08-.74.08-.59 0-1.04-.19-1.34-.57-.32-.37-.47-.93-.47-1.66 0-.7.16-1.25.48-1.65.33-.4.77-.6 1.33-.6zM6.5 8h1.04L5.3 2H4.24L2 8h1.03l.58-1.66H5.9zM8 2v6h2.17c.67 0 1.19-.15 1.57-.46.38-.3.56-.72.56-1.26 0-.4-.1-.72-.3-.95-.19-.24-.5-.39-.93-.47v-.04c.35-.06.6-.21.78-.44.18-.24.28-.53.28-.88 0-.52-.19-.9-.56-1.14-.36-.24-.96-.36-1.79-.36H8zm.98 2.48V2.82h.85c.44 0 .77.06.97.19.21.12.31.33.31.61 0 .31-.1.53-.29.66-.18.13-.48.2-.89.2h-.95zM5.64 5.5H3.9l.54-1.56c.14-.4.25-.76.32-1.1l.15.52c.07.23.13.4.17.51zm3.34-.23h.99c.44 0 .76.08.98.23.21.15.32.38.32.69 0 .34-.11.59-.32.75s-.52.24-.93.24H8.98V5.27zM4 13l5 5 9-8-1-1-8 6-4-3z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-strikethrough':\n\t\t\t\tpath = 'M15.82 12.25c.26 0 .5-.02.74-.07.23-.05.48-.12.73-.2v.84c-.46.17-.99.26-1.58.26-.88 0-1.54-.26-2.01-.79-.39-.44-.62-1.04-.68-1.79h-.94c.12.21.18.48.18.79 0 .54-.18.95-.55 1.26-.38.3-.9.45-1.56.45H8v-2.5H6.59l.93 2.5H6.49l-.59-1.67H3.62L3.04 13H2l.93-2.5H2v-1h1.31l.93-2.49H5.3l.92 2.49H8V7h1.77c1 0 1.41.17 1.77.41.37.24.55.62.55 1.13 0 .35-.09.64-.27.87l-.08.09h1.29c.05-.4.15-.77.31-1.1.23-.46.55-.82.98-1.06.43-.25.93-.37 1.51-.37.61 0 1.17.12 1.69.38l-.35.81c-.2-.1-.42-.18-.64-.25s-.46-.11-.71-.11c-.55 0-.99.2-1.31.59-.23.29-.38.66-.44 1.11H17v1h-2.95c.06.5.2.9.44 1.19.3.37.75.56 1.33.56zM4.44 8.96l-.18.54H5.3l-.22-.61c-.04-.11-.09-.28-.17-.51-.07-.24-.12-.41-.14-.51-.08.33-.18.69-.33 1.09zm4.53-1.09V9.5h1.19c.28-.02.49-.09.64-.18.19-.13.28-.35.28-.66 0-.28-.1-.48-.3-.61-.2-.12-.53-.18-.97-.18h-.84zm-3.33 2.64v-.01H3.91v.01h1.73zm5.28.01l-.03-.02H8.97v1.68h1.04c.4 0 .71-.08.92-.23.21-.16.31-.4.31-.74 0-.31-.11-.54-.32-.69z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-table':\n\t\t\t\tpath = 'M18 17V3H2v14h16zM16 7H4V5h12v2zm-7 4H4V9h5v2zm7 0h-5V9h5v2zm-7 4H4v-2h5v2zm7 0h-5v-2h5v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-textcolor':\n\t\t\t\tpath = 'M13.23 15h1.9L11 4H9L5 15h1.88l1.07-3h4.18zm-1.53-4.54H8.51L10 5.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ul':\n\t\t\t\tpath = 'M5.5 7C4.67 7 4 6.33 4 5.5 4 4.68 4.67 4 5.5 4 6.32 4 7 4.68 7 5.5 7 6.33 6.32 7 5.5 7zM8 5h9v1H8V5zm-2.5 7c-.83 0-1.5-.67-1.5-1.5C4 9.68 4.67 9 5.5 9c.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 10h9v1H8v-1zm-2.5 7c-.83 0-1.5-.67-1.5-1.5 0-.82.67-1.5 1.5-1.5.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 15h9v1H8v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-underline':\n\t\t\t\tpath = 'M14 5h-2v5.71c0 1.99-1.12 2.98-2.45 2.98-1.32 0-2.55-1-2.55-2.96V5H5v5.87c0 1.91 1 4.54 4.48 4.54 3.49 0 4.52-2.58 4.52-4.5V5zm0 13v-2H5v2h9z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-unlink':\n\t\t\t\tpath = 'M17.74 2.26c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-.32.33-.69.58-1.08.77L13 10l1.69-1.64.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-.76.76L10 7l-.65-2.14c.19-.38.44-.75.77-1.07l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM2 4l8 6-6-8zm4-2l4 8-2-8H6zM2 6l8 4-8-2V6zm7.36 7.69L10 13l.74 2.35-1.38 1.39c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.39-1.38L7 10l-.69.64-1.52 1.53c-.85.84-.85 2.2 0 3.04.84.85 2.2.85 3.04 0zM18 16l-8-6 6 8zm-4 2l-4-8 2 8h2zm4-4l-8-4 8 2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-video':\n\t\t\t\tpath = 'M16 2h-3v1H7V2H4v15h3v-1h6v1h3V2zM6 3v1H5V3h1zm9 0v1h-1V3h1zm-2 1v5H7V4h6zM6 5v1H5V5h1zm9 0v1h-1V5h1zM6 7v1H5V7h1zm9 0v1h-1V7h1zM6 9v1H5V9h1zm9 0v1h-1V9h1zm-2 1v5H7v-5h6zm-7 1v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1z';\n\t\t\t\tbreak;\n\t\t\tcase 'ellipsis':\n\t\t\t\tpath = 'M5 10c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm12-2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-7 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'email-alt':\n\t\t\t\tpath = 'M19 14.5v-9c0-.83-.67-1.5-1.5-1.5H3.49c-.83 0-1.5.67-1.5 1.5v9c0 .83.67 1.5 1.5 1.5H17.5c.83 0 1.5-.67 1.5-1.5zm-1.31-9.11c.33.33.15.67-.03.84L13.6 9.95l3.9 4.06c.12.14.2.36.06.51-.13.16-.43.15-.56.05l-4.37-3.73-2.14 1.95-2.13-1.95-4.37 3.73c-.13.1-.43.11-.56-.05-.14-.15-.06-.37.06-.51l3.9-4.06-4.06-3.72c-.18-.17-.36-.51-.03-.84s.67-.17.95.07l6.24 5.04 6.25-5.04c.28-.24.62-.4.95-.07z';\n\t\t\t\tbreak;\n\t\t\tcase 'email-alt2':\n\t\t\t\tpath = 'M18.01 11.18V2.51c0-1.19-.9-1.81-2-1.37L4 5.91c-1.1.44-2 1.77-2 2.97v8.66c0 1.2.9 1.81 2 1.37l12.01-4.77c1.1-.44 2-1.76 2-2.96zm-1.43-7.46l-6.04 9.33-6.65-4.6c-.1-.07-.36-.32-.17-.64.21-.36.65-.21.65-.21l6.3 2.32s4.83-6.34 5.11-6.7c.13-.17.43-.34.73-.13.29.2.16.49.07.63z';\n\t\t\t\tbreak;\n\t\t\tcase 'email':\n\t\t\t\tpath = 'M3.87 4h13.25C18.37 4 19 4.59 19 5.79v8.42c0 1.19-.63 1.79-1.88 1.79H3.87c-1.25 0-1.88-.6-1.88-1.79V5.79c0-1.2.63-1.79 1.88-1.79zm6.62 8.6l6.74-5.53c.24-.2.43-.66.13-1.07-.29-.41-.82-.42-1.17-.17l-5.7 3.86L4.8 5.83c-.35-.25-.88-.24-1.17.17-.3.41-.11.87.13 1.07z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-audio':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 3H7v4c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.4 0 .7.1 1 .3V5h4v2zm4 3.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-generic':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-3 6.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-photo':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 8H3V6h7v6zm4-1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3zm-6-4V8.5L7.2 10 6 9.2 4 11h5zM4.6 8.6c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-post':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.6 9l-.4.3c-.4.4-.5 1.1-.2 1.6l-.8.8-1.1-1.1-1.3 1.3c-.2.2-1.6 1.3-1.8 1.1-.2-.2.9-1.6 1.1-1.8l1.3-1.3-1.1-1.1.8-.8c.5.3 1.2.3 1.6-.2l.3-.3c.5-.5.5-1.2.2-1.7L8 5l3 2.9-.8.8c-.5-.2-1.2-.2-1.6.3zm5.4 1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-video':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 6.5L8 9.1V11H3V6h5v1.8l2-1.3v4zm4 0L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'excerpt-view':\n\t\t\t\tpath = 'M19 18V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1h16c.55 0 1-.45 1-1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6V3h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6v-6h11z';\n\t\t\t\tbreak;\n\t\t\tcase 'exit':\n\t\t\t\tpath = 'M13 3v2h2v10h-2v2h4V3h-4zm0 8V9H5.4l4.3-4.3-1.4-1.4L1.6 10l6.7 6.7 1.4-1.4L5.4 11H13z';\n\t\t\t\tbreak;\n\t\t\tcase 'external':\n\t\t\t\tpath = 'M9 3h8v8l-2-1V6.92l-5.6 5.59-1.41-1.41L14.08 5H10zm3 12v-3l2-2v7H3V6h8L9 8H5v7h7z';\n\t\t\t\tbreak;\n\t\t\tcase 'facebook-alt':\n\t\t\t\tpath = 'M8.46 18h2.93v-7.3h2.45l.37-2.84h-2.82V6.04c0-.82.23-1.38 1.41-1.38h1.51V2.11c-.26-.03-1.15-.11-2.19-.11-2.18 0-3.66 1.33-3.66 3.76v2.1H6v2.84h2.46V18z';\n\t\t\t\tbreak;\n\t\t\tcase 'facebook':\n\t\t\t\tpath = 'M2.89 2h14.23c.49 0 .88.39.88.88v14.24c0 .48-.39.88-.88.88h-4.08v-6.2h2.08l.31-2.41h-2.39V7.85c0-.7.2-1.18 1.2-1.18h1.28V4.51c-.22-.03-.98-.09-1.86-.09-1.85 0-3.11 1.12-3.11 3.19v1.78H8.46v2.41h2.09V18H2.89c-.49 0-.89-.4-.89-.88V2.88c0-.49.4-.88.89-.88z';\n\t\t\t\tbreak;\n\t\t\tcase 'feedback':\n\t\t\t\tpath = 'M2 2h16c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm15 14V7H3v9h14zM4 8v1h3V8H4zm4 0v3h8V8H8zm-4 4v1h3v-1H4zm4 0v3h8v-3H8z';\n\t\t\t\tbreak;\n\t\t\tcase 'filter':\n\t\t\t\tpath = 'M3 4.5v-2s3.34-1 7-1 7 1 7 1v2l-5 7.03v6.97s-1.22-.09-2.25-.59S8 16.5 8 16.5v-4.97z';\n\t\t\t\tbreak;\n\t\t\tcase 'flag':\n\t\t\t\tpath = 'M5 18V3H3v15h2zm1-6V4c3-1 7 1 11 0v8c-3 1.27-8-1-11 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-aside':\n\t\t\t\tpath = 'M1 1h18v12l-6 6H1V1zm3 3v1h12V4H4zm0 4v1h12V8H4zm6 5v-1H4v1h6zm2 4l5-5h-5v5z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-audio':\n\t\t\t\tpath = 'M6.99 3.08l11.02-2c.55-.08.99.45.99 1V14.5c0 1.94-1.57 3.5-3.5 3.5S12 16.44 12 14.5c0-1.93 1.57-3.5 3.5-3.5.54 0 1.04.14 1.5.35V5.08l-9 2V16c-.24 1.7-1.74 3-3.5 3C2.57 19 1 17.44 1 15.5 1 13.57 2.57 12 4.5 12c.54 0 1.04.14 1.5.35V4.08c0-.55.44-.91.99-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-chat':\n\t\t\t\tpath = 'M11 6h-.82C9.07 6 8 7.2 8 8.16V10l-3 3v-3H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v3zm0 1h6c1.1 0 2 .9 2 2v5c0 1.1-.9 2-2 2h-2v3l-3-3h-1c-1.1 0-2-.9-2-2V9c0-1.1.9-2 2-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-gallery':\n\t\t\t\tpath = 'M16 4h1.96c.57 0 1.04.47 1.04 1.04v12.92c0 .57-.47 1.04-1.04 1.04H5.04C4.47 19 4 18.53 4 17.96V16H2.04C1.47 16 1 15.53 1 14.96V2.04C1 1.47 1.47 1 2.04 1h12.92c.57 0 1.04.47 1.04 1.04V4zM3 14h11V3H3v11zm5-8.5C8 4.67 7.33 4 6.5 4S5 4.67 5 5.5 5.67 7 6.5 7 8 6.33 8 5.5zm2 4.5s1-5 3-5v8H4V7c2 0 2 3 2 3s.33-2 2-2 2 2 2 2zm7 7V6h-1v8.96c0 .57-.47 1.04-1.04 1.04H6v1h11z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-image':\n\t\t\t\tpath = 'M2.25 1h15.5c.69 0 1.25.56 1.25 1.25v15.5c0 .69-.56 1.25-1.25 1.25H2.25C1.56 19 1 18.44 1 17.75V2.25C1 1.56 1.56 1 2.25 1zM17 17V3H3v14h14zM10 6c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm3 5s0-6 3-6v10c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V8c2 0 3 4 3 4s1-3 3-3 3 2 3 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-quote':\n\t\t\t\tpath = 'M8.54 12.74c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45L6.65 1.94C3.45 3.46.31 6.96.85 11.37 1.19 14.16 2.8 16 5.08 16c1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38zm9.43 0c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45l-1.63-2.28c-3.2 1.52-6.34 5.02-5.8 9.43.34 2.79 1.95 4.63 4.23 4.63 1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-status':\n\t\t\t\tpath = 'M10 1c7 0 9 2.91 9 6.5S17 14 10 14s-9-2.91-9-6.5S3 1 10 1zM5.5 9C6.33 9 7 8.33 7 7.5S6.33 6 5.5 6 4 6.67 4 7.5 4.67 9 5.5 9zM10 9c.83 0 1.5-.67 1.5-1.5S10.83 6 10 6s-1.5.67-1.5 1.5S9.17 9 10 9zm4.5 0c.83 0 1.5-.67 1.5-1.5S15.33 6 14.5 6 13 6.67 13 7.5 13.67 9 14.5 9zM6 14.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm-3 2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-video':\n\t\t\t\tpath = 'M2 1h16c.55 0 1 .45 1 1v16l-18-.02V2c0-.55.45-1 1-1zm4 1L4 5h1l2-3H6zm4 0H9L7 5h1zm3 0h-1l-2 3h1zm3 0h-1l-2 3h1zm1 14V6H3v10h14zM8 7l6 4-6 4V7z';\n\t\t\t\tbreak;\n\t\t\tcase 'forms':\n\t\t\t\tpath = 'M2 2h7v7H2V2zm9 0v7h7V2h-7zM5.5 4.5L7 3H4zM12 8V3h5v5h-5zM4.5 5.5L3 4v3zM8 4L6.5 5.5 8 7V4zM5.5 6.5L4 8h3zM9 18v-7H2v7h7zm9 0h-7v-7h7v7zM8 12v5H3v-5h5zm6.5 1.5L16 12h-3zM12 16l1.5-1.5L12 13v3zm3.5-1.5L17 16v-3zm-1 1L13 17h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'googleplus':\n\t\t\t\tpath = 'M6.73 10h5.4c.05.29.09.57.09.95 0 3.27-2.19 5.6-5.49 5.6-3.17 0-5.73-2.57-5.73-5.73 0-3.17 2.56-5.73 5.73-5.73 1.54 0 2.84.57 3.83 1.5l-1.55 1.5c-.43-.41-1.17-.89-2.28-.89-1.96 0-3.55 1.62-3.55 3.62 0 1.99 1.59 3.61 3.55 3.61 2.26 0 3.11-1.62 3.24-2.47H6.73V10zM19 10v1.64h-1.64v1.63h-1.63v-1.63h-1.64V10h1.64V8.36h1.63V10H19z';\n\t\t\t\tbreak;\n\t\t\tcase 'grid-view':\n\t\t\t\tpath = 'M2 1h16c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1zm7.01 7.99v-6H3v6h6.01zm8 0v-6h-6v6h6zm-8 8.01v-6H3v6h6.01zm8 0v-6h-6v6h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'groups':\n\t\t\t\tpath = 'M8.03 4.46c-.29 1.28.55 3.46 1.97 3.46 1.41 0 2.25-2.18 1.96-3.46-.22-.98-1.08-1.63-1.96-1.63-.89 0-1.74.65-1.97 1.63zm-4.13.9c-.25 1.08.47 2.93 1.67 2.93s1.92-1.85 1.67-2.93c-.19-.83-.92-1.39-1.67-1.39s-1.48.56-1.67 1.39zm8.86 0c-.25 1.08.47 2.93 1.66 2.93 1.2 0 1.92-1.85 1.67-2.93-.19-.83-.92-1.39-1.67-1.39-.74 0-1.47.56-1.66 1.39zm-.59 11.43l1.25-4.3C14.2 10 12.71 8.47 10 8.47c-2.72 0-4.21 1.53-3.44 4.02l1.26 4.3C8.05 17.51 9 18 10 18c.98 0 1.94-.49 2.17-1.21zm-6.1-7.63c-.49.67-.96 1.83-.42 3.59l1.12 3.79c-.34.2-.77.31-1.2.31-.85 0-1.65-.41-1.85-1.03l-1.07-3.65c-.65-2.11.61-3.4 2.92-3.4.27 0 .54.02.79.06-.1.1-.2.22-.29.33zm8.35-.39c2.31 0 3.58 1.29 2.92 3.4l-1.07 3.65c-.2.62-1 1.03-1.85 1.03-.43 0-.86-.11-1.2-.31l1.11-3.77c.55-1.78.08-2.94-.42-3.61-.08-.11-.18-.23-.28-.33.25-.04.51-.06.79-.06z';\n\t\t\t\tbreak;\n\t\t\tcase 'hammer':\n\t\t\t\tpath = 'M17.7 6.32l1.41 1.42-3.47 3.41-1.42-1.42.84-.82c-.32-.76-.81-1.57-1.51-2.31l-4.61 6.59-5.26 4.7c-.39.39-1.02.39-1.42 0l-1.2-1.21c-.39-.39-.39-1.02 0-1.41l10.97-9.92c-1.37-.86-3.21-1.46-5.67-1.48 2.7-.82 4.95-.93 6.58-.3 1.7.66 2.82 2.2 3.91 3.58z';\n\t\t\t\tbreak;\n\t\t\tcase 'heading':\n\t\t\t\tpath = 'M12.5 4v5.2h-5V4H5v13h2.5v-5.2h5V17H15V4';\n\t\t\t\tbreak;\n\t\t\tcase 'heart':\n\t\t\t\tpath = 'M10 17.12c3.33-1.4 5.74-3.79 7.04-6.21 1.28-2.41 1.46-4.81.32-6.25-1.03-1.29-2.37-1.78-3.73-1.74s-2.68.63-3.63 1.46c-.95-.83-2.27-1.42-3.63-1.46s-2.7.45-3.73 1.74c-1.14 1.44-.96 3.84.34 6.25 1.28 2.42 3.69 4.81 7.02 6.21z';\n\t\t\t\tbreak;\n\t\t\tcase 'hidden':\n\t\t\t\tpath = 'M17.2 3.3l.16.17c.39.39.39 1.02 0 1.41L4.55 17.7c-.39.39-1.03.39-1.41 0l-.17-.17c-.39-.39-.39-1.02 0-1.41l1.59-1.6c-1.57-1-2.76-2.3-3.56-3.93.81-1.65 2.03-2.98 3.64-3.99S8.04 5.09 10 5.09c1.2 0 2.33.21 3.4.6l2.38-2.39c.39-.39 1.03-.39 1.42 0zm-7.09 4.01c-.23.25-.34.54-.34.88 0 .31.12.58.31.81l1.8-1.79c-.13-.12-.28-.21-.45-.26-.11-.01-.28-.03-.49-.04-.33.03-.6.16-.83.4zM2.4 10.59c.69 1.23 1.71 2.25 3.05 3.05l1.28-1.28c-.51-.69-.77-1.47-.77-2.36 0-1.06.36-1.98 1.09-2.76-1.04.27-1.96.7-2.76 1.26-.8.58-1.43 1.27-1.89 2.09zm13.22-2.13l.96-.96c1.02.86 1.83 1.89 2.42 3.09-.81 1.65-2.03 2.98-3.64 3.99s-3.4 1.51-5.36 1.51c-.63 0-1.24-.07-1.83-.18l1.07-1.07c.25.02.5.05.76.05 1.63 0 3.13-.4 4.5-1.21s2.4-1.84 3.1-3.09c-.46-.82-1.09-1.51-1.89-2.09-.03-.01-.06-.03-.09-.04zm-5.58 5.58l4-4c-.01 1.1-.41 2.04-1.18 2.81-.78.78-1.72 1.18-2.82 1.19z';\n\t\t\t\tbreak;\n\t\t\tcase 'html':\n\t\t\t\tpath = 'M4 16v-2H2v2H1v-5h1v2h2v-2h1v5H4zM7 16v-4H5.6v-1h3.7v1H8v4H7zM10 16v-5h1l1.4 3.4h.1L14 11h1v5h-1v-3.1h-.1l-1.1 2.5h-.6l-1.1-2.5H11V16h-1zM19 16h-3v-5h1v4h2v1zM9.4 4.2L7.1 6.5l2.3 2.3-.6 1.2-3.5-3.5L8.8 3l.6 1.2zm1.2 4.6l2.3-2.3-2.3-2.3.6-1.2 3.5 3.5-3.5 3.5-.6-1.2z';\n\t\t\t\tbreak;\n\t\t\tcase 'id-alt':\n\t\t\t\tpath = 'M18 18H2V2h16v16zM8.05 7.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L8.95 6c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C8.23 4.1 7.95 4 7.6 4c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM16 5V4h-5v1h5zm0 2V6h-5v1h5zM7.62 8.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM16 9V8h-3v1h3zm0 2v-1h-3v1h3zm0 3v-1H4v1h12zm0 2v-1H4v1h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'id':\n\t\t\t\tpath = 'M18 16H2V4h16v12zM7.05 8.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L7.95 7c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C7.23 5.1 6.95 5 6.6 5c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM17 9V5h-5v4h5zm-10.38.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM17 11v-1h-5v1h5zm0 2v-1h-5v1h5zm0 2v-1H3v1h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-crop':\n\t\t\t\tpath = 'M19 12v3h-4v4h-3v-4H4V7H0V4h4V0h3v4h7l3-3 1 1-3 3v7h4zm-8-5H7v4zm-3 5h4V8z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-filter':\n\t\t\t\tpath = 'M14 5.87c0-2.2-1.79-4-4-4s-4 1.8-4 4c0 2.21 1.79 4 4 4s4-1.79 4-4zM3.24 10.66c-1.92 1.1-2.57 3.55-1.47 5.46 1.11 1.92 3.55 2.57 5.47 1.47 1.91-1.11 2.57-3.55 1.46-5.47-1.1-1.91-3.55-2.56-5.46-1.46zm9.52 6.93c1.92 1.1 4.36.45 5.47-1.46 1.1-1.92.45-4.36-1.47-5.47-1.91-1.1-4.36-.45-5.46 1.46-1.11 1.92-.45 4.36 1.46 5.47z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-flip-horizontal':\n\t\t\t\tpath = 'M19 3v14h-8v3H9v-3H1V3h8V0h2v3h8zm-8.5 14V3h-1v14h1zM7 6.5L3 10l4 3.5v-7zM17 10l-4-3.5v7z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-flip-vertical':\n\t\t\t\tpath = 'M20 9v2h-3v8H3v-8H0V9h3V1h14v8h3zM6.5 7h7L10 3zM17 9.5H3v1h14v-1zM13.5 13h-7l3.5 4z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-rotate-left':\n\t\t\t\tpath = 'M7 5H5.05c0-1.74.85-2.9 2.95-2.9V0C4.85 0 2.96 2.11 2.96 5H1.18L3.8 8.39zm13-4v14h-5v5H1V10h9V1h10zm-2 2h-6v7h3v3h3V3zm-5 9H3v6h10v-6z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-rotate-right':\n\t\t\t\tpath = 'M15.95 5H14l3.2 3.39L19.82 5h-1.78c0-2.89-1.89-5-5.04-5v2.1c2.1 0 2.95 1.16 2.95 2.9zM1 1h10v9h9v10H6v-5H1V1zm2 2v10h3v-3h3V3H3zm5 9v6h10v-6H8z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-rotate':\n\t\t\t\tpath = 'M10.25 1.02c5.1 0 8.75 4.04 8.75 9s-3.65 9-8.75 9c-3.2 0-6.02-1.59-7.68-3.99l2.59-1.52c1.1 1.5 2.86 2.51 4.84 2.51 3.3 0 6-2.79 6-6s-2.7-6-6-6c-1.97 0-3.72 1-4.82 2.49L7 8.02l-6 2v-7L2.89 4.6c1.69-2.17 4.36-3.58 7.36-3.58z';\n\t\t\t\tbreak;\n\t\t\tcase 'images-alt':\n\t\t\t\tpath = 'M4 15v-3H2V2h12v3h2v3h2v10H6v-3H4zm7-12c-1.1 0-2 .9-2 2h4c0-1.1-.89-2-2-2zm-7 8V6H3v5h1zm7-3h4c0-1.1-.89-2-2-2-1.1 0-2 .9-2 2zm-5 6V9H5v5h1zm9-1c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2s-2 .9-2 2c0 1.11.9 2 2 2zm2 4v-2c-5 0-5-3-10-3v5h10z';\n\t\t\t\tbreak;\n\t\t\tcase 'images-alt2':\n\t\t\t\tpath = 'M5 3h14v11h-2v2h-2v2H1V7h2V5h2V3zm13 10V4H6v9h12zm-3-4c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm1 6v-1H5V6H4v9h12zM7 6l10 6H7V6zm7 11v-1H3V8H2v9h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'index-card':\n\t\t\t\tpath = 'M1 3.17V18h18V4H8v-.83c0-.32-.12-.6-.35-.83S7.14 2 6.82 2H2.18c-.33 0-.6.11-.83.34-.24.23-.35.51-.35.83zM10 6v2H3V6h7zm7 0v10h-5V6h5zm-7 4v2H3v-2h7zm0 4v2H3v-2h7z';\n\t\t\t\tbreak;\n\t\t\tcase 'info-outline':\n\t\t\t\tpath = 'M9 15h2V9H9v6zm1-10c-.5 0-1 .5-1 1s.5 1 1 1 1-.5 1-1-.5-1-1-1zm0-4c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'info':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1 4c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1zm0 9V9H9v6h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'insert-after':\n\t\t\t\tpath = 'M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'insert-before':\n\t\t\t\tpath = 'M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z';\n\t\t\t\tbreak;\n\t\t\tcase 'insert':\n\t\t\t\tpath = 'M10 1c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7zm1-11H9v3H6v2h3v3h2v-3h3V9h-3V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'instagram':\n\t\t\t\tpath = 'M12.67 10A2.67 2.67 0 1 0 10 12.67 2.68 2.68 0 0 0 12.67 10zm1.43 0A4.1 4.1 0 1 1 10 5.9a4.09 4.09 0 0 1 4.1 4.1zm1.13-4.27a1 1 0 1 1-1-1 1 1 0 0 1 1 1zM10 3.44c-1.17 0-3.67-.1-4.72.32a2.67 2.67 0 0 0-1.52 1.52c-.42 1-.32 3.55-.32 4.72s-.1 3.67.32 4.72a2.74 2.74 0 0 0 1.52 1.52c1 .42 3.55.32 4.72.32s3.67.1 4.72-.32a2.83 2.83 0 0 0 1.52-1.52c.42-1.05.32-3.55.32-4.72s.1-3.67-.32-4.72a2.74 2.74 0 0 0-1.52-1.52c-1.05-.42-3.55-.32-4.72-.32zM18 10c0 1.1 0 2.2-.05 3.3a4.84 4.84 0 0 1-1.29 3.36A4.8 4.8 0 0 1 13.3 18H6.7a4.84 4.84 0 0 1-3.36-1.29 4.84 4.84 0 0 1-1.29-3.41C2 12.2 2 11.1 2 10V6.7a4.84 4.84 0 0 1 1.34-3.36A4.8 4.8 0 0 1 6.7 2.05C7.8 2 8.9 2 10 2h3.3a4.84 4.84 0 0 1 3.36 1.29A4.8 4.8 0 0 1 18 6.7V10z';\n\t\t\t\tbreak;\n\t\t\tcase 'laptop':\n\t\t\t\tpath = 'M3 3h14c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1zm13 2H4v8h12V5zm-3 1H5v4zm6 11v-1H1v1c0 .6.5 1 1.1 1h15.8c.6 0 1.1-.4 1.1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'layout':\n\t\t\t\tpath = 'M2 2h5v11H2V2zm6 0h5v5H8V2zm6 0h4v16h-4V2zM8 8h5v5H8V8zm-6 6h11v4H2v-4z';\n\t\t\t\tbreak;\n\t\t\tcase 'leftright':\n\t\t\t\tpath = 'M3 10.03L9 6v8zM11 6l6 4.03L11 14V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'lightbulb':\n\t\t\t\tpath = 'M10 1c3.11 0 5.63 2.52 5.63 5.62 0 1.84-2.03 4.58-2.03 4.58-.33.44-.6 1.25-.6 1.8v1c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-1c0-.55-.27-1.36-.6-1.8 0 0-2.02-2.74-2.02-4.58C4.38 3.52 6.89 1 10 1zM7 16.87V16h6v.87c0 .62-.13 1.13-.75 1.13H12c0 .62-.4 1-1.02 1h-2c-.61 0-.98-.38-.98-1h-.25c-.62 0-.75-.51-.75-1.13z';\n\t\t\t\tbreak;\n\t\t\tcase 'list-view':\n\t\t\t\tpath = 'M2 19h16c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V3h11zM4 7c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V7h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11zM4 15c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11z';\n\t\t\t\tbreak;\n\t\t\tcase 'location-alt':\n\t\t\t\tpath = 'M13 13.14l1.17-5.94c.79-.43 1.33-1.25 1.33-2.2 0-1.38-1.12-2.5-2.5-2.5S10.5 3.62 10.5 5c0 .95.54 1.77 1.33 2.2zm0-9.64c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm1.72 4.8L18 6.97v9L13.12 18 7 15.97l-5 2v-9l5-2 4.27 1.41 1.73 7.3z';\n\t\t\t\tbreak;\n\t\t\tcase 'location':\n\t\t\t\tpath = 'M10 2C6.69 2 4 4.69 4 8c0 2.02 1.17 3.71 2.53 4.89.43.37 1.18.96 1.85 1.83.74.97 1.41 2.01 1.62 2.71.21-.7.88-1.74 1.62-2.71.67-.87 1.42-1.46 1.85-1.83C14.83 11.71 16 10.02 16 8c0-3.31-2.69-6-6-6zm0 2.56c1.9 0 3.44 1.54 3.44 3.44S11.9 11.44 10 11.44 6.56 9.9 6.56 8 8.1 4.56 10 4.56z';\n\t\t\t\tbreak;\n\t\t\tcase 'lock':\n\t\t\t\tpath = 'M14 9h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h1V6c0-2.21 1.79-4 4-4s4 1.79 4 4v3zm-2 0V6c0-1.1-.9-2-2-2s-2 .9-2 2v3h4zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'marker':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-archive':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zM8 3.5v2l1.8-1zM11 5L9.2 6 11 7V5zM8 6.5v2l1.8-1zM11 8L9.2 9l1.8 1V8zM8 9.5v2l1.8-1zm3 1.5l-1.8 1 1.8 1v-2zm-1.5 6c.83 0 1.62-.72 1.5-1.63-.05-.38-.49-1.61-.49-1.61l-1.99-1.1s-.45 1.95-.52 2.71c-.07.77.67 1.63 1.5 1.63zm0-2.39c.42 0 .76.34.76.76 0 .43-.34.77-.76.77s-.76-.34-.76-.77c0-.42.34-.76.76-.76z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-audio':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm1 7.26V8.09c0-.11-.04-.21-.12-.29-.07-.08-.16-.11-.27-.1 0 0-3.97.71-4.25.78C8.07 8.54 8 8.8 8 9v3.37c-.2-.09-.42-.07-.6-.07-.38 0-.7.13-.96.39-.26.27-.4.58-.4.96 0 .37.14.69.4.95.26.27.58.4.96.4.34 0 .7-.04.96-.26.26-.23.64-.65.64-1.12V10.3l3-.6V12c-.67-.2-1.17.04-1.44.31-.26.26-.39.58-.39.95 0 .38.13.69.39.96.27.26.71.39 1.08.39.38 0 .7-.13.96-.39.26-.27.4-.58.4-.96z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-code':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zM9 13l-2-2 2-2-1-1-3 3 3 3zm3 1l3-3-3-3-1 1 2 2-2 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-default':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-document':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zM5 9v1h4V9H5zm10 3V9h-5v3h5zM5 11v1h4v-1H5zm10 3v-1H5v1h10zm-3 2v-1H5v1h7z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-interactive':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm2 8V8H6v6h3l-1 2h1l1-2 1 2h1l-1-2h3zm-6-3c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm5-2v2h-3V9h3zm0 3v1H7v-1h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-spreadsheet':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm-1 4V3H5v3h6zM8 8V7H5v1h3zm3 0V7H9v1h2zm4 0V7h-3v1h3zm-7 2V9H5v1h3zm3 0V9H9v1h2zm4 0V9h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-text':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zm0 2V9H5v1h10zm0 2v-1H5v1h10zm-4 2v-1H5v1h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-video':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm-1 8v-3c0-.27-.1-.51-.29-.71-.2-.19-.44-.29-.71-.29H7c-.27 0-.51.1-.71.29-.19.2-.29.44-.29.71v3c0 .27.1.51.29.71.2.19.44.29.71.29h3c.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71zm3 1v-5l-2 2v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'megaphone':\n\t\t\t\tpath = 'M18.15 5.94c.46 1.62.38 3.22-.02 4.48-.42 1.28-1.26 2.18-2.3 2.48-.16.06-.26.06-.4.06-.06.02-.12.02-.18.02-.06.02-.14.02-.22.02h-6.8l2.22 5.5c.02.14-.06.26-.14.34-.08.1-.24.16-.34.16H6.95c-.1 0-.26-.06-.34-.16-.08-.08-.16-.2-.14-.34l-1-5.5H4.25l-.02-.02c-.5.06-1.08-.18-1.54-.62s-.88-1.08-1.06-1.88c-.24-.8-.2-1.56-.02-2.2.18-.62.58-1.08 1.06-1.3l.02-.02 9-5.4c.1-.06.18-.1.24-.16.06-.04.14-.08.24-.12.16-.08.28-.12.5-.18 1.04-.3 2.24.1 3.22.98s1.84 2.24 2.26 3.86zm-2.58 5.98h-.02c.4-.1.74-.34 1.04-.7.58-.7.86-1.76.86-3.04 0-.64-.1-1.3-.28-1.98-.34-1.36-1.02-2.5-1.78-3.24s-1.68-1.1-2.46-.88c-.82.22-1.4.96-1.7 2-.32 1.04-.28 2.36.06 3.72.38 1.36 1 2.5 1.8 3.24.78.74 1.62 1.1 2.48.88zm-2.54-7.08c.22-.04.42-.02.62.04.38.16.76.48 1.02 1s.42 1.2.42 1.78c0 .3-.04.56-.12.8-.18.48-.44.84-.86.94-.34.1-.8-.06-1.14-.4s-.64-.86-.78-1.5c-.18-.62-.12-1.24.02-1.72s.48-.84.82-.94z';\n\t\t\t\tbreak;\n\t\t\tcase 'menu-alt':\n\t\t\t\tpath = 'M3 4h14v2H3V4zm0 5h14v2H3V9zm0 5h14v2H3v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'menu':\n\t\t\t\tpath = 'M17 7V5H3v2h14zm0 4V9H3v2h14zm0 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'microphone':\n\t\t\t\tpath = 'M12 9V3c0-1.1-.89-2-2-2-1.12 0-2 .94-2 2v6c0 1.1.9 2 2 2 1.13 0 2-.94 2-2zm4 0c0 2.97-2.16 5.43-5 5.91V17h2c.56 0 1 .45 1 1s-.44 1-1 1H7c-.55 0-1-.45-1-1s.45-1 1-1h2v-2.09C6.17 14.43 4 11.97 4 9c0-.55.45-1 1-1 .56 0 1 .45 1 1 0 2.21 1.8 4 4 4 2.21 0 4-1.79 4-4 0-.55.45-1 1-1 .56 0 1 .45 1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'migrate':\n\t\t\t\tpath = 'M4 6h6V4H2v12.01h8V14H4V6zm2 2h6V5l6 5-6 5v-3H6V8z';\n\t\t\t\tbreak;\n\t\t\tcase 'minus':\n\t\t\t\tpath = 'M4 9h12v2H4V9z';\n\t\t\t\tbreak;\n\t\t\tcase 'money':\n\t\t\t\tpath = 'M0 3h20v12h-.75c0-1.79-1.46-3.25-3.25-3.25-1.31 0-2.42.79-2.94 1.91-.25-.1-.52-.16-.81-.16-.98 0-1.8.63-2.11 1.5H0V3zm8.37 3.11c-.06.15-.1.31-.11.47s-.01.33.01.5l.02.08c.01.06.02.14.05.23.02.1.06.2.1.31.03.11.09.22.15.33.07.12.15.22.23.31s.18.17.31.23c.12.06.25.09.4.09.14 0 .27-.03.39-.09s.22-.14.3-.22c.09-.09.16-.2.22-.32.07-.12.12-.23.16-.33s.07-.2.09-.31c.03-.11.04-.18.05-.22s.01-.07.01-.09c.05-.29.03-.56-.04-.82s-.21-.48-.41-.66c-.21-.18-.47-.27-.79-.27-.19 0-.36.03-.52.1-.15.07-.28.16-.38.28-.09.11-.17.25-.24.4zm4.48 6.04v-1.14c0-.33-.1-.66-.29-.98s-.45-.59-.77-.79c-.32-.21-.66-.31-1.02-.31l-1.24.84-1.28-.82c-.37 0-.72.1-1.04.3-.31.2-.56.46-.74.77-.18.32-.27.65-.27.99v1.14l.18.05c.12.04.29.08.51.14.23.05.47.1.74.15.26.05.57.09.91.13.34.03.67.05.99.05.3 0 .63-.02.98-.05.34-.04.64-.08.89-.13.25-.04.5-.1.76-.16l.5-.12c.08-.02.14-.04.19-.06zm3.15.1c1.52 0 2.75 1.23 2.75 2.75s-1.23 2.75-2.75 2.75c-.73 0-1.38-.3-1.87-.77.23-.35.37-.78.37-1.23 0-.77-.39-1.46-.99-1.86.43-.96 1.37-1.64 2.49-1.64zm-5.5 3.5c0-.96.79-1.75 1.75-1.75s1.75.79 1.75 1.75-.79 1.75-1.75 1.75-1.75-.79-1.75-1.75z';\n\t\t\t\tbreak;\n\t\t\tcase 'move':\n\t\t\t\tpath = 'M19 10l-4 4v-3h-4v4h3l-4 4-4-4h3v-4H5v3l-4-4 4-4v3h4V5H6l4-4 4 4h-3v4h4V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'nametag':\n\t\t\t\tpath = 'M12 5V2c0-.55-.45-1-1-1H9c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-2-3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 13V7c0-1.1-.9-2-2-2h-3v.33C13 6.25 12.25 7 11.33 7H8.67C7.75 7 7 6.25 7 5.33V5H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-1-6v6H3V9h14zm-8 2c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm3 0c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm-5.96 1.21c.92.48 2.34.79 3.96.79s3.04-.31 3.96-.79c-.21 1-1.89 1.79-3.96 1.79s-3.75-.79-3.96-1.79z';\n\t\t\t\tbreak;\n\t\t\tcase 'networking':\n\t\t\t\tpath = 'M18 13h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01h-4c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2h-5v2h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01H8c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2H4v2h1c.55 0 1 .45 1 1.01v2.98C6 17.55 5.55 18 5 18H1c-.55 0-1-.45-1-1.01v-2.98C0 13.45.45 13 1 13h1v-2c0-1.1.9-2 2-2h5V7H8c-.55 0-1-.45-1-1.01V3.01C7 2.45 7.45 2 8 2h4c.55 0 1 .45 1 1.01v2.98C13 6.55 12.55 7 12 7h-1v2h5c1.1 0 2 .9 2 2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'no-alt':\n\t\t\t\tpath = 'M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z';\n\t\t\t\tbreak;\n\t\t\tcase 'no':\n\t\t\t\tpath = 'M12.12 10l3.53 3.53-2.12 2.12L10 12.12l-3.54 3.54-2.12-2.12L7.88 10 4.34 6.46l2.12-2.12L10 7.88l3.54-3.53 2.12 2.12z';\n\t\t\t\tbreak;\n\t\t\tcase 'palmtree':\n\t\t\t\tpath = 'M8.58 2.39c.32 0 .59.05.81.14 1.25.55 1.69 2.24 1.7 3.97.59-.82 2.15-2.29 3.41-2.29s2.94.73 3.53 3.55c-1.13-.65-2.42-.94-3.65-.94-1.26 0-2.45.32-3.29.89.4-.11.86-.16 1.33-.16 1.39 0 2.9.45 3.4 1.31.68 1.16.47 3.38-.76 4.14-.14-2.1-1.69-4.12-3.47-4.12-.44 0-.88.12-1.33.38C8 10.62 7 14.56 7 19H2c0-5.53 4.21-9.65 7.68-10.79-.56-.09-1.17-.15-1.82-.15C6.1 8.06 4.05 8.5 2 10c.76-2.96 2.78-4.1 4.69-4.1 1.25 0 2.45.5 3.2 1.29-.66-2.24-2.49-2.86-4.08-2.86-.8 0-1.55.16-2.05.35.91-1.29 3.31-2.29 4.82-2.29zM13 11.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5.67 1.5 1.5 1.5 1.5-.67 1.5-1.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'paperclip':\n\t\t\t\tpath = 'M17.05 2.7c1.93 1.94 1.93 5.13 0 7.07L10 16.84c-1.88 1.89-4.91 1.93-6.86.15-.06-.05-.13-.09-.19-.15-1.93-1.94-1.93-5.12 0-7.07l4.94-4.95c.91-.92 2.28-1.1 3.39-.58.3.15.59.33.83.58 1.17 1.17 1.17 3.07 0 4.24l-4.93 4.95c-.39.39-1.02.39-1.41 0s-.39-1.02 0-1.41l4.93-4.95c.39-.39.39-1.02 0-1.41-.38-.39-1.02-.39-1.4 0l-4.94 4.95c-.91.92-1.1 2.29-.57 3.4.14.3.32.59.57.84s.54.43.84.57c1.11.53 2.47.35 3.39-.57l7.05-7.07c1.16-1.17 1.16-3.08 0-4.25-.56-.55-1.28-.83-2-.86-.08.01-.16.01-.24 0-.22-.03-.43-.11-.6-.27-.39-.4-.38-1.05.02-1.45.16-.16.36-.24.56-.28.14-.02.27-.01.4.02 1.19.06 2.36.52 3.27 1.43z';\n\t\t\t\tbreak;\n\t\t\tcase 'performance':\n\t\t\t\tpath = 'M3.76 17.01h12.48C17.34 15.63 18 13.9 18 12c0-4.41-3.58-8-8-8s-8 3.59-8 8c0 1.9.66 3.63 1.76 5.01zM9 6c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zM4 8c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm4.52 3.4c.84-.83 6.51-3.5 6.51-3.5s-2.66 5.68-3.49 6.51c-.84.84-2.18.84-3.02 0-.83-.83-.83-2.18 0-3.01zM3 13c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'phone':\n\t\t\t\tpath = 'M12.06 6l-.21-.2c-.52-.54-.43-.79.08-1.3l2.72-2.75c.81-.82.96-1.21 1.73-.48l.21.2zm.53.45l4.4-4.4c.7.94 2.34 3.47 1.53 5.34-.73 1.67-1.09 1.75-2 3-1.85 2.11-4.18 4.37-6 6.07-1.26.91-1.31 1.33-3 2-1.8.71-4.4-.89-5.38-1.56l4.4-4.4 1.18 1.62c.34.46 1.2-.06 1.8-.66 1.04-1.05 3.18-3.18 4-4.07.59-.59 1.12-1.45.66-1.8zM1.57 16.5l-.21-.21c-.68-.74-.29-.9.52-1.7l2.74-2.72c.51-.49.75-.6 1.27-.11l.2.21z';\n\t\t\t\tbreak;\n\t\t\tcase 'playlist-audio':\n\t\t\t\tpath = 'M17 3V1H2v2h15zm0 4V5H2v2h15zm-7 4V9H2v2h8zm7.45-1.96l-6 1.12c-.16.02-.19.03-.29.13-.11.09-.16.22-.16.37v4.59c-.29-.13-.66-.14-.93-.14-.54 0-1 .19-1.38.57s-.56.84-.56 1.38c0 .53.18.99.56 1.37s.84.57 1.38.57c.49 0 .92-.16 1.29-.48s.59-.71.65-1.19v-4.95L17 11.27v3.48c-.29-.13-.56-.19-.83-.19-.54 0-1.11.19-1.49.57-.38.37-.57.83-.57 1.37s.19.99.57 1.37.84.57 1.38.57c.53 0 .99-.19 1.37-.57s.57-.83.57-1.37V9.6c0-.16-.05-.3-.16-.41-.11-.12-.24-.17-.39-.15zM8 15v-2H2v2h6zm-2 4v-2H2v2h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'playlist-video':\n\t\t\t\tpath = 'M17 3V1H2v2h15zm0 4V5H2v2h15zM6 11V9H2v2h4zm2-2h9c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-8c0-.55.45-1 1-1zm3 7l3.33-2L11 12v4zm-5-1v-2H2v2h4zm0 4v-2H2v2h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'plus-alt':\n\t\t\t\tpath = 'M15.8 4.2c3.2 3.21 3.2 8.39 0 11.6-3.21 3.2-8.39 3.2-11.6 0C1 12.59 1 7.41 4.2 4.2 7.41 1 12.59 1 15.8 4.2zm-4.3 11.3v-4h4v-3h-4v-4h-3v4h-4v3h4v4h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'plus-light':\n\t\t\t\tpath = 'M17 9v2h-6v6H9v-6H3V9h6V3h2v6h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'plus':\n\t\t\t\tpath = 'M17 7v3h-5v5H9v-5H4V7h5V2h3v5h5z';\n\t\t\t\tbreak;\n\t\t\tcase 'portfolio':\n\t\t\t\tpath = 'M4 5H.78c-.37 0-.74.32-.69.84l1.56 9.99S3.5 8.47 3.86 6.7c.11-.53.61-.7.98-.7H10s-.7-2.08-.77-2.31C9.11 3.25 8.89 3 8.45 3H5.14c-.36 0-.7.23-.8.64C4.25 4.04 4 5 4 5zm4.88 0h-4s.42-1 .87-1h2.13c.48 0 1 1 1 1zM2.67 16.25c-.31.47-.76.75-1.26.75h15.73c.54 0 .92-.31 1.03-.83.44-2.19 1.68-8.44 1.68-8.44.07-.5-.3-.73-.62-.73H16V5.53c0-.16-.26-.53-.66-.53h-3.76c-.52 0-.87.58-.87.58L10 7H5.59c-.32 0-.63.19-.69.5 0 0-1.59 6.7-1.72 7.33-.07.37-.22.99-.51 1.42zM15.38 7H11s.58-1 1.13-1h2.29c.71 0 .96 1 .96 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'post-status':\n\t\t\t\tpath = 'M14 6c0 1.86-1.28 3.41-3 3.86V16c0 1-2 2-2 2V9.86c-1.72-.45-3-2-3-3.86 0-2.21 1.79-4 4-4s4 1.79 4 4zM8 5c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'pressthis':\n\t\t\t\tpath = 'M14.76 1C16.55 1 18 2.46 18 4.25c0 1.78-1.45 3.24-3.24 3.24-.23 0-.47-.03-.7-.08L13 8.47V19H2V4h9.54c.13-2 1.52-3 3.22-3zm0 5.49C16 6.49 17 5.48 17 4.25 17 3.01 16 2 14.76 2s-2.24 1.01-2.24 2.25c0 .37.1.72.27 1.03L9.57 8.5c-.28.28-1.77 2.22-1.5 2.49.02.03.06.04.1.04.49 0 2.14-1.28 2.39-1.53l3.24-3.24c.29.14.61.23.96.23z';\n\t\t\t\tbreak;\n\t\t\tcase 'products':\n\t\t\t\tpath = 'M17 8h1v11H2V8h1V6c0-2.76 2.24-5 5-5 .71 0 1.39.15 2 .42.61-.27 1.29-.42 2-.42 2.76 0 5 2.24 5 5v2zM5 6v2h2V6c0-1.13.39-2.16 1.02-3H8C6.35 3 5 4.35 5 6zm10 2V6c0-1.65-1.35-3-3-3h-.02c.63.84 1.02 1.87 1.02 3v2h2zm-5-4.22C9.39 4.33 9 5.12 9 6v2h2V6c0-.88-.39-1.67-1-2.22z';\n\t\t\t\tbreak;\n\t\t\tcase 'randomize':\n\t\t\t\tpath = 'M18 6.01L14 9V7h-4l-5 8H2v-2h2l5-8h5V3zM2 5h3l1.15 2.17-1.12 1.8L4 7H2V5zm16 9.01L14 17v-2H9l-1.15-2.17 1.12-1.8L10 13h4v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'redo':\n\t\t\t\tpath = 'M8 5h5V2l6 4-6 4V7H8c-2.2 0-4 1.8-4 4s1.8 4 4 4h5v2H8c-3.3 0-6-2.7-6-6s2.7-6 6-6z';\n\t\t\t\tbreak;\n\t\t\tcase 'rest-api':\n\t\t\t\tpath = 'M3 4h2v12H3z';\n\t\t\t\tbreak;\n\t\t\tcase 'rss':\n\t\t\t\tpath = 'M14.92 18H18C18 9.32 10.82 2.25 2 2.25v3.02c7.12 0 12.92 5.71 12.92 12.73zm-5.44 0h3.08C12.56 12.27 7.82 7.6 2 7.6v3.02c2 0 3.87.77 5.29 2.16C8.7 14.17 9.48 16.03 9.48 18zm-5.35-.02c1.17 0 2.13-.93 2.13-2.09 0-1.15-.96-2.09-2.13-2.09-1.18 0-2.13.94-2.13 2.09 0 1.16.95 2.09 2.13 2.09z';\n\t\t\t\tbreak;\n\t\t\tcase 'saved':\n\t\t\t\tpath = 'M15.3 5.3l-6.8 6.8-2.8-2.8-1.4 1.4 4.2 4.2 8.2-8.2';\n\t\t\t\tbreak;\n\t\t\tcase 'schedule':\n\t\t\t\tpath = 'M2 2h16v4H2V2zm0 10V8h4v4H2zm6-2V8h4v2H8zm6 3V8h4v5h-4zm-6 5v-6h4v6H8zm-6 0v-4h4v4H2zm12 0v-3h4v3h-4z';\n\t\t\t\tbreak;\n\t\t\tcase 'screenoptions':\n\t\t\t\tpath = 'M9 9V3H3v6h6zm8 0V3h-6v6h6zm-8 8v-6H3v6h6zm8 0v-6h-6v6h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'search':\n\t\t\t\tpath = 'M12.14 4.18c1.87 1.87 2.11 4.75.72 6.89.12.1.22.21.36.31.2.16.47.36.81.59.34.24.56.39.66.47.42.31.73.57.94.78.32.32.6.65.84 1 .25.35.44.69.59 1.04.14.35.21.68.18 1-.02.32-.14.59-.36.81s-.49.34-.81.36c-.31.02-.65-.04-.99-.19-.35-.14-.7-.34-1.04-.59-.35-.24-.68-.52-1-.84-.21-.21-.47-.52-.77-.93-.1-.13-.25-.35-.47-.66-.22-.32-.4-.57-.56-.78-.16-.2-.29-.35-.44-.5-2.07 1.09-4.69.76-6.44-.98-2.14-2.15-2.14-5.64 0-7.78 2.15-2.15 5.63-2.15 7.78 0zm-1.41 6.36c1.36-1.37 1.36-3.58 0-4.95-1.37-1.37-3.59-1.37-4.95 0-1.37 1.37-1.37 3.58 0 4.95 1.36 1.37 3.58 1.37 4.95 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'share-alt':\n\t\t\t\tpath = 'M16.22 5.8c.47.69.29 1.62-.4 2.08-.69.47-1.62.29-2.08-.4-.16-.24-.35-.46-.55-.67-.21-.2-.43-.39-.67-.55s-.5-.3-.77-.41c-.27-.12-.55-.21-.84-.26-.59-.13-1.23-.13-1.82-.01-.29.06-.57.15-.84.27-.27.11-.53.25-.77.41s-.46.35-.66.55c-.21.21-.4.43-.56.67s-.3.5-.41.76c-.01.02-.01.03-.01.04-.1.24-.17.48-.23.72H1V6h2.66c.04-.07.07-.13.12-.2.27-.4.57-.77.91-1.11s.72-.65 1.11-.91c.4-.27.83-.51 1.28-.7s.93-.34 1.41-.43c.99-.21 2.03-.21 3.02 0 .48.09.96.24 1.41.43s.88.43 1.28.7c.39.26.77.57 1.11.91s.64.71.91 1.11zM12.5 10c0-1.38-1.12-2.5-2.5-2.5S7.5 8.62 7.5 10s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5zm-8.72 4.2c-.47-.69-.29-1.62.4-2.09.69-.46 1.62-.28 2.08.41.16.24.35.46.55.67.21.2.43.39.67.55s.5.3.77.41c.27.12.55.2.84.26.59.13 1.23.12 1.82 0 .29-.06.57-.14.84-.26.27-.11.53-.25.77-.41s.46-.35.66-.55c.21-.21.4-.44.56-.67.16-.25.3-.5.41-.76.01-.02.01-.03.01-.04.1-.24.17-.48.23-.72H19v3h-2.66c-.04.06-.07.13-.12.2-.27.4-.57.77-.91 1.11s-.72.65-1.11.91c-.4.27-.83.51-1.28.7s-.93.33-1.41.43c-.99.21-2.03.21-3.02 0-.48-.1-.96-.24-1.41-.43s-.88-.43-1.28-.7c-.39-.26-.77-.57-1.11-.91s-.64-.71-.91-1.11z';\n\t\t\t\tbreak;\n\t\t\tcase 'share-alt2':\n\t\t\t\tpath = 'M18 8l-5 4V9.01c-2.58.06-4.88.45-7 2.99.29-3.57 2.66-5.66 7-5.94V3zM4 14h11v-2l2-1.6V16H2V5h9.43c-1.83.32-3.31 1-4.41 2H4v7z';\n\t\t\t\tbreak;\n\t\t\tcase 'share':\n\t\t\t\tpath = 'M14.5 12c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.24.03-.46.09-.69l-4.38-2.3c-.55.61-1.33.99-2.21.99-1.66 0-3-1.34-3-3s1.34-3 3-3c.88 0 1.66.39 2.21.99l4.38-2.3c-.06-.23-.09-.45-.09-.69 0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-.88 0-1.66-.39-2.21-.99l-4.38 2.3c.06.23.09.45.09.69s-.03.46-.09.69l4.38 2.3c.55-.61 1.33-.99 2.21-.99z';\n\t\t\t\tbreak;\n\t\t\tcase 'shield-alt':\n\t\t\t\tpath = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'shield':\n\t\t\t\tpath = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2zm0 8h5s1-1 1-5c0 0-5-1-6-2v7H5c1 4 5 7 5 7v-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'shortcode':\n\t\t\t\tpath = 'M6 14H4V6h2V4H2v12h4M7.1 17h2.1l3.7-14h-2.1M14 4v2h2v8h-2v2h4V4';\n\t\t\t\tbreak;\n\t\t\tcase 'slides':\n\t\t\t\tpath = 'M5 14V6h10v8H5zm-3-1V7h2v6H2zm4-6v6h8V7H6zm10 0h2v6h-2V7zm-3 2V8H7v1h6zm0 3v-2H7v2h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'smartphone':\n\t\t\t\tpath = 'M6 2h8c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H6c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm7 12V4H7v10h6zM8 5h4l-4 5V5z';\n\t\t\t\tbreak;\n\t\t\tcase 'smiley':\n\t\t\t\tpath = 'M7 5.2c1.1 0 2 .89 2 2 0 .37-.11.71-.28 1C8.72 8.2 8 8 7 8s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.9-2 2-2zm6 0c1.11 0 2 .89 2 2 0 .37-.11.71-.28 1 0 0-.72-.2-1.72-.2s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.89-2 2-2zm-3 13.7c3.72 0 7.03-2.36 8.23-5.88l-1.32-.46C15.9 15.52 13.12 17.5 10 17.5s-5.9-1.98-6.91-4.94l-1.32.46c1.2 3.52 4.51 5.88 8.23 5.88z';\n\t\t\t\tbreak;\n\t\t\tcase 'sort':\n\t\t\t\tpath = 'M11 7H1l5 7zm-2 7h10l-5-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'sos':\n\t\t\t\tpath = 'M18 10c0-4.42-3.58-8-8-8s-8 3.58-8 8 3.58 8 8 8 8-3.58 8-8zM7.23 3.57L8.72 7.3c-.62.29-1.13.8-1.42 1.42L3.57 7.23c.71-1.64 2.02-2.95 3.66-3.66zm9.2 3.66L12.7 8.72c-.29-.62-.8-1.13-1.42-1.42l1.49-3.73c1.64.71 2.95 2.02 3.66 3.66zM10 12c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm-6.43.77l3.73-1.49c.29.62.8 1.13 1.42 1.42l-1.49 3.73c-1.64-.71-2.95-2.02-3.66-3.66zm9.2 3.66l-1.49-3.73c.62-.29 1.13-.8 1.42-1.42l3.73 1.49c-.71 1.64-2.02 2.95-3.66 3.66z';\n\t\t\t\tbreak;\n\t\t\tcase 'star-empty':\n\t\t\t\tpath = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88l-4.68 2.34.87-5.15-3.18-3.56 4.65-.58z';\n\t\t\t\tbreak;\n\t\t\tcase 'star-filled':\n\t\t\t\tpath = 'M10 1l3 6 6 .75-4.12 4.62L16 19l-6-3-6 3 1.13-6.63L1 7.75 7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'star-half':\n\t\t\t\tpath = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88V3.24z';\n\t\t\t\tbreak;\n\t\t\tcase 'sticky':\n\t\t\t\tpath = 'M5 3.61V1.04l8.99-.01-.01 2.58c-1.22.26-2.16 1.35-2.16 2.67v.5c.01 1.31.93 2.4 2.17 2.66l-.01 2.58h-3.41l-.01 2.57c0 .6-.47 4.41-1.06 4.41-.6 0-1.08-3.81-1.08-4.41v-2.56L5 12.02l.01-2.58c1.23-.25 2.15-1.35 2.15-2.66v-.5c0-1.31-.92-2.41-2.16-2.67z';\n\t\t\t\tbreak;\n\t\t\tcase 'store':\n\t\t\t\tpath = 'M1 10c.41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.51.43.54 0 1.08-.14 1.49-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.63-.46 1-1.17 1-2V7l-3-7H4L0 7v1c0 .83.37 1.54 1 2zm2 8.99h5v-5h4v5h5v-7c-.37-.05-.72-.22-1-.43-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.49.44-.55 0-1.1-.14-1.51-.44-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.5.44-.54 0-1.09-.14-1.5-.44-.63-.45-1-.73-1-1.57 0 .84-.38 1.12-1 1.57-.29.21-.63.38-1 .44v6.99z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-col-after':\n\t\t\t\tpath = 'M14.08 12.864V9.216h3.648V7.424H14.08V3.776h-1.728v3.648H8.64v1.792h3.712v3.648zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm0 5.12H1.28v3.84H6.4V6.4zm0 5.12H1.28v3.84H6.4v-3.84zM19.2 1.28H7.68v14.08H19.2V1.28z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-col-before':\n\t\t\t\tpath = 'M6.4 3.776v3.648H2.752v1.792H6.4v3.648h1.728V9.216h3.712V7.424H8.128V3.776zM0 17.92V0h20.48v17.92H0zM12.8 1.28H1.28v14.08H12.8V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.12h-5.12v3.84h5.12V6.4zm0 5.12h-5.12v3.84h5.12v-3.84z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-col-delete':\n\t\t\t\tpath = 'M6.4 9.98L7.68 8.7v-.256L6.4 7.164V9.98zm6.4-1.532l1.28-1.28V9.92L12.8 8.64v-.192zm7.68 9.472V0H0v17.92h20.48zm-1.28-2.56h-5.12v-1.024l-.256.256-1.024-1.024v1.792H7.68v-1.792l-1.024 1.024-.256-.256v1.024H1.28V1.28H6.4v2.368l.704-.704.576.576V1.216h5.12V3.52l.96-.96.32.32V1.216h5.12V15.36zm-5.76-2.112l-3.136-3.136-3.264 3.264-1.536-1.536 3.264-3.264L5.632 5.44l1.536-1.536 3.136 3.136 3.2-3.2 1.536 1.536-3.2 3.2 3.136 3.136-1.536 1.536z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-row-after':\n\t\t\t\tpath = 'M13.824 10.176h-2.88v-2.88H9.536v2.88h-2.88v1.344h2.88v2.88h1.408v-2.88h2.88zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm6.4 0H7.68v3.84h5.12V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.056H1.28v9.024H19.2V6.336z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-row-before':\n\t\t\t\tpath = 'M6.656 6.464h2.88v2.88h1.408v-2.88h2.88V5.12h-2.88V2.24H9.536v2.88h-2.88zM0 17.92V0h20.48v17.92H0zm7.68-2.56h5.12v-3.84H7.68v3.84zm-6.4 0H6.4v-3.84H1.28v3.84zM19.2 1.28H1.28v9.024H19.2V1.28zm0 10.24h-5.12v3.84h5.12v-3.84z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-row-delete':\n\t\t\t\tpath = 'M17.728 11.456L14.592 8.32l3.2-3.2-1.536-1.536-3.2 3.2L9.92 3.648 8.384 5.12l3.2 3.2-3.264 3.264 1.536 1.536 3.264-3.264 3.136 3.136 1.472-1.536zM0 17.92V0h20.48v17.92H0zm19.2-6.4h-.448l-1.28-1.28H19.2V6.4h-1.792l1.28-1.28h.512V1.28H1.28v3.84h6.208l1.28 1.28H1.28v3.84h7.424l-1.28 1.28H1.28v3.84H19.2v-3.84z';\n\t\t\t\tbreak;\n\t\t\tcase 'tablet':\n\t\t\t\tpath = 'M4 2h12c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H4c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm11 14V4H5v12h10zM6 5h6l-6 5V5z';\n\t\t\t\tbreak;\n\t\t\tcase 'tag':\n\t\t\t\tpath = 'M11 2h7v7L8 19l-7-7zm3 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'tagcloud':\n\t\t\t\tpath = 'M11 3v4H1V3h10zm8 0v4h-7V3h7zM7 8v3H1V8h6zm12 0v3H8V8h11zM9 12v2H1v-2h8zm10 0v2h-9v-2h9zM6 15v1H1v-1h5zm5 0v1H7v-1h4zm3 0v1h-2v-1h2zm5 0v1h-4v-1h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'testimonial':\n\t\t\t\tpath = 'M4 3h12c.55 0 1.02.2 1.41.59S18 4.45 18 5v7c0 .55-.2 1.02-.59 1.41S16.55 14 16 14h-1l-5 5v-5H4c-.55 0-1.02-.2-1.41-.59S2 12.55 2 12V5c0-.55.2-1.02.59-1.41S3.45 3 4 3zm11 2H4v1h11V5zm1 3H4v1h12V8zm-3 3H4v1h9v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'text':\n\t\t\t\tpath = 'M18 3v2H2V3h16zm-6 4v2H2V7h10zm6 0v2h-4V7h4zM8 11v2H2v-2h6zm10 0v2h-8v-2h8zm-4 4v2H2v-2h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'thumbs-down':\n\t\t\t\tpath = 'M7.28 18c-.15.02-.26-.02-.41-.07-.56-.19-.83-.79-.66-1.35.17-.55 1-3.04 1-3.58 0-.53-.75-1-1.35-1h-3c-.6 0-1-.4-1-1s2-7 2-7c.17-.39.55-1 1-1H14v9h-2.14c-.41.41-3.3 4.71-3.58 5.27-.21.41-.6.68-1 .73zM18 12h-2V3h2v9z';\n\t\t\t\tbreak;\n\t\t\tcase 'thumbs-up':\n\t\t\t\tpath = 'M12.72 2c.15-.02.26.02.41.07.56.19.83.79.66 1.35-.17.55-1 3.04-1 3.58 0 .53.75 1 1.35 1h3c.6 0 1 .4 1 1s-2 7-2 7c-.17.39-.55 1-1 1H6V8h2.14c.41-.41 3.3-4.71 3.58-5.27.21-.41.6-.68 1-.73zM2 8h2v9H2V8z';\n\t\t\t\tbreak;\n\t\t\tcase 'tickets-alt':\n\t\t\t\tpath = 'M20 6.38L18.99 9.2v-.01c-.52-.19-1.03-.16-1.53.08s-.85.62-1.04 1.14-.16 1.03.07 1.53c.24.5.62.84 1.15 1.03v.01l-1.01 2.82-15.06-5.38.99-2.79c.52.19 1.03.16 1.53-.08.5-.23.84-.61 1.03-1.13s.16-1.03-.08-1.53c-.23-.49-.61-.83-1.13-1.02L4.93 1zm-4.97 5.69l1.37-3.76c.12-.31.1-.65-.04-.95s-.39-.53-.7-.65L8.14 3.98c-.64-.23-1.37.12-1.6.74L5.17 8.48c-.24.65.1 1.37.74 1.6l7.52 2.74c.14.05.28.08.43.08.52 0 1-.33 1.17-.83zM7.97 4.45l7.51 2.73c.19.07.34.21.43.39.08.18.09.38.02.57l-1.37 3.76c-.13.38-.58.59-.96.45L6.09 9.61c-.39-.14-.59-.57-.45-.96l1.37-3.76c.1-.29.39-.49.7-.49.09 0 .17.02.26.05zm6.82 12.14c.35.27.75.41 1.2.41H16v3H0v-2.96c.55 0 1.03-.2 1.41-.59.39-.38.59-.86.59-1.41s-.2-1.02-.59-1.41-.86-.59-1.41-.59V10h1.05l-.28.8 2.87 1.02c-.51.16-.89.62-.89 1.18v4c0 .69.56 1.25 1.25 1.25h8c.69 0 1.25-.56 1.25-1.25v-1.75l.83.3c.12.43.36.78.71 1.04zM3.25 17v-4c0-.41.34-.75.75-.75h.83l7.92 2.83V17c0 .41-.34.75-.75.75H4c-.41 0-.75-.34-.75-.75z';\n\t\t\t\tbreak;\n\t\t\tcase 'tickets':\n\t\t\t\tpath = 'M20 5.38L18.99 8.2v-.01c-1.04-.37-2.19.18-2.57 1.22-.37 1.04.17 2.19 1.22 2.56v.01l-1.01 2.82L1.57 9.42l.99-2.79c1.04.38 2.19-.17 2.56-1.21s-.17-2.18-1.21-2.55L4.93 0zm-5.45 3.37c.74-2.08-.34-4.37-2.42-5.12-2.08-.74-4.37.35-5.11 2.42-.74 2.08.34 4.38 2.42 5.12 2.07.74 4.37-.35 5.11-2.42zm-2.56-4.74c.89.32 1.57.94 1.97 1.71-.01-.01-.02-.01-.04-.02-.33-.12-.67.09-.78.4-.1.28-.03.57.05.91.04.27.09.62-.06 1.04-.1.29-.33.58-.65 1l-.74 1.01.08-4.08.4.11c.19.04.26-.24.08-.29 0 0-.57-.15-.92-.28-.34-.12-.88-.36-.88-.36-.18-.08-.3.19-.12.27 0 0 .16.08.34.16l.01 1.63L9.2 9.18l.08-4.11c.2.06.4.11.4.11.19.04.26-.23.07-.29 0 0-.56-.15-.91-.28-.07-.02-.14-.05-.22-.08.93-.7 2.19-.94 3.37-.52zM7.4 6.19c.17-.49.44-.92.78-1.27l.04 5c-.94-.95-1.3-2.39-.82-3.73zm4.04 4.75l2.1-2.63c.37-.41.57-.77.69-1.12.05-.12.08-.24.11-.35.09.57.04 1.18-.17 1.77-.45 1.25-1.51 2.1-2.73 2.33zm-.7-3.22l.02 3.22c0 .02 0 .04.01.06-.4 0-.8-.07-1.2-.21-.33-.12-.63-.28-.9-.48zm1.24 6.08l2.1.75c.24.84 1 1.45 1.91 1.45H16v3H0v-2.96c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2V9h1.05l-.28.8 4.28 1.52C4.4 12.03 4 12.97 4 14c0 2.21 1.79 4 4 4s4-1.79 4-4c0-.07-.02-.13-.02-.2zm-6.53-2.33l1.48.53c-.14.04-.15.27.03.28 0 0 .18.02.37.03l.56 1.54-.78 2.36-1.31-3.9c.21-.01.41-.03.41-.03.19-.02.17-.31-.02-.3 0 0-.59.05-.96.05-.07 0-.15 0-.23-.01.13-.2.28-.38.45-.55zM4.4 14c0-.52.12-1.02.32-1.46l1.71 4.7C5.23 16.65 4.4 15.42 4.4 14zm4.19-1.41l1.72.62c.07.17.12.37.12.61 0 .31-.12.66-.28 1.16l-.35 1.2zM11.6 14c0 1.33-.72 2.49-1.79 3.11l1.1-3.18c.06-.17.1-.31.14-.46l.52.19c.02.11.03.22.03.34zm-4.62 3.45l1.08-3.14 1.11 3.03c.01.02.01.04.02.05-.37.13-.77.21-1.19.21-.35 0-.69-.06-1.02-.15z';\n\t\t\t\tbreak;\n\t\t\tcase 'tide':\n\t\t\t\tpath = 'M17 7.2V3H3v7.1c2.6-.5 4.5-1.5 6.4-2.6.2-.2.4-.3.6-.5v3c-1.9 1.1-4 2.2-7 2.8V17h14V9.9c-2.6.5-4.4 1.5-6.2 2.6-.3.1-.5.3-.8.4V10c2-1.1 4-2.2 7-2.8z';\n\t\t\t\tbreak;\n\t\t\tcase 'translation':\n\t\t\t\tpath = 'M11 7H9.49c-.63 0-1.25.3-1.59.7L7 5H4.13l-2.39 7h1.69l.74-2H7v4H2c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h7c1.1 0 2 .9 2 2v2zM6.51 9H4.49l1-2.93zM10 8h7c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-7c-1.1 0-2-.9-2-2v-7c0-1.1.9-2 2-2zm7.25 5v-1.08h-3.17V9.75h-1.16v2.17H9.75V13h1.28c.11.85.56 1.85 1.28 2.62-.87.36-1.89.62-2.31.62-.01.02.22.97.2 1.46.84 0 2.21-.5 3.28-1.15 1.09.65 2.48 1.15 3.34 1.15-.02-.49.2-1.44.2-1.46-.43 0-1.49-.27-2.38-.63.7-.77 1.14-1.77 1.25-2.61h1.36zm-3.81 1.93c-.5-.46-.85-1.13-1.01-1.93h2.09c-.17.8-.51 1.47-1 1.93l-.04.03s-.03-.02-.04-.03z';\n\t\t\t\tbreak;\n\t\t\tcase 'trash':\n\t\t\t\tpath = 'M12 4h3c.6 0 1 .4 1 1v1H3V5c0-.6.5-1 1-1h3c.2-1.1 1.3-2 2.5-2s2.3.9 2.5 2zM8 4h3c-.2-.6-.9-1-1.5-1S8.2 3.4 8 4zM4 7h11l-.9 10.1c0 .5-.5.9-1 .9H5.9c-.5 0-.9-.4-1-.9L4 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'twitter':\n\t\t\t\tpath = 'M18.94 4.46c-.49.73-1.11 1.38-1.83 1.9.01.15.01.31.01.47 0 4.85-3.69 10.44-10.43 10.44-2.07 0-4-.61-5.63-1.65.29.03.58.05.88.05 1.72 0 3.3-.59 4.55-1.57-1.6-.03-2.95-1.09-3.42-2.55.22.04.45.07.69.07.33 0 .66-.05.96-.13-1.67-.34-2.94-1.82-2.94-3.6v-.04c.5.27 1.06.44 1.66.46-.98-.66-1.63-1.78-1.63-3.06 0-.67.18-1.3.5-1.84 1.81 2.22 4.51 3.68 7.56 3.83-.06-.27-.1-.55-.1-.84 0-2.02 1.65-3.66 3.67-3.66 1.06 0 2.01.44 2.68 1.16.83-.17 1.62-.47 2.33-.89-.28.85-.86 1.57-1.62 2.02.75-.08 1.45-.28 2.11-.57z';\n\t\t\t\tbreak;\n\t\t\tcase 'undo':\n\t\t\t\tpath = 'M12 5H7V2L1 6l6 4V7h5c2.2 0 4 1.8 4 4s-1.8 4-4 4H7v2h5c3.3 0 6-2.7 6-6s-2.7-6-6-6z';\n\t\t\t\tbreak;\n\t\t\tcase 'universal-access-alt':\n\t\t\t\tpath = 'M19 10c0-4.97-4.03-9-9-9s-9 4.03-9 9 4.03 9 9 9 9-4.03 9-9zm-9-7.4c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';\n\t\t\t\tbreak;\n\t\t\tcase 'universal-access':\n\t\t\t\tpath = 'M10 2.6c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';\n\t\t\t\tbreak;\n\t\t\tcase 'unlock':\n\t\t\t\tpath = 'M12 9V6c0-1.1-.9-2-2-2s-2 .9-2 2H6c0-2.21 1.79-4 4-4s4 1.79 4 4v3h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h7zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'update':\n\t\t\t\tpath = 'M10.2 3.28c3.53 0 6.43 2.61 6.92 6h2.08l-3.5 4-3.5-4h2.32c-.45-1.97-2.21-3.45-4.32-3.45-1.45 0-2.73.71-3.54 1.78L4.95 5.66C6.23 4.2 8.11 3.28 10.2 3.28zm-.4 13.44c-3.52 0-6.43-2.61-6.92-6H.8l3.5-4c1.17 1.33 2.33 2.67 3.5 4H5.48c.45 1.97 2.21 3.45 4.32 3.45 1.45 0 2.73-.71 3.54-1.78l1.71 1.95c-1.28 1.46-3.15 2.38-5.25 2.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'upload':\n\t\t\t\tpath = 'M8 14V8H5l5-6 5 6h-3v6H8zm-2 2v-6H4v8h12.01v-8H14v6H6z';\n\t\t\t\tbreak;\n\t\t\tcase 'vault':\n\t\t\t\tpath = 'M18 17V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-1 0H3V3h14v14zM4.75 4h10.5c.41 0 .75.34.75.75V6h-1v3h1v2h-1v3h1v1.25c0 .41-.34.75-.75.75H4.75c-.41 0-.75-.34-.75-.75V4.75c0-.41.34-.75.75-.75zM13 10c0-2.21-1.79-4-4-4s-4 1.79-4 4 1.79 4 4 4 4-1.79 4-4zM9 7l.77 1.15C10.49 8.46 11 9.17 11 10c0 1.1-.9 2-2 2s-2-.9-2-2c0-.83.51-1.54 1.23-1.85z';\n\t\t\t\tbreak;\n\t\t\tcase 'video-alt':\n\t\t\t\tpath = 'M8 5c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1 0 .57.49 1 1 1h5c.55 0 1-.45 1-1zm6 5l4-4v10l-4-4v-2zm-1 4V8c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h8c.55 0 1-.45 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'video-alt2':\n\t\t\t\tpath = 'M12 13V7c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2zm1-2.5l6 4.5V5l-6 4.5v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'video-alt3':\n\t\t\t\tpath = 'M19 15V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2zM8 14V6l6 4z';\n\t\t\t\tbreak;\n\t\t\tcase 'visibility':\n\t\t\t\tpath = 'M19.7 9.4C17.7 6 14 3.9 10 3.9S2.3 6 .3 9.4L0 10l.3.6c2 3.4 5.7 5.5 9.7 5.5s7.7-2.1 9.7-5.5l.3-.6-.3-.6zM10 14.1c-3.1 0-6-1.6-7.7-4.1C3.6 8 5.7 6.6 8 6.1c-.9.6-1.5 1.7-1.5 2.9 0 1.9 1.6 3.5 3.5 3.5s3.5-1.6 3.5-3.5c0-1.2-.6-2.3-1.5-2.9 2.3.5 4.4 1.9 5.7 3.9-1.7 2.5-4.6 4.1-7.7 4.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'warning':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1.13 9.38l.35-6.46H8.52l.35 6.46h2.26zm-.09 3.36c.24-.23.37-.55.37-.96 0-.42-.12-.74-.36-.97s-.59-.35-1.06-.35-.82.12-1.07.35-.37.55-.37.97c0 .41.13.73.38.96.26.23.61.34 1.06.34s.8-.11 1.05-.34z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-add-page':\n\t\t\t\tpath = 'M17 7V4h-2V2h-3v1H3v15h11V9h1V7h2zm-1-2v1h-2v2h-1V6h-2V5h2V3h1v2h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-comments':\n\t\t\t\tpath = 'M5 2h10c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2zm8.5 8.5L11 8l2.5-2.5-1-1L10 7 7.5 4.5l-1 1L9 8l-2.5 2.5 1 1L10 9l2.5 2.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-learn-more':\n\t\t\t\tpath = 'M10 10L2.54 7.02 3 18H1l.48-11.41L0 6l10-4 10 4zm0-5c-.55 0-1 .22-1 .5s.45.5 1 .5 1-.22 1-.5-.45-.5-1-.5zm0 6l5.57-2.23c.71.94 1.2 2.07 1.36 3.3-.3-.04-.61-.07-.93-.07-2.55 0-4.78 1.37-6 3.41C8.78 13.37 6.55 12 4 12c-.32 0-.63.03-.93.07.16-1.23.65-2.36 1.36-3.3z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-view-site':\n\t\t\t\tpath = 'M18 14V4c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-8-8c2.3 0 4.4 1.14 6 3-1.6 1.86-3.7 3-6 3s-4.4-1.14-6-3c1.6-1.86 3.7-3 6-3zm2 3c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm2 8h3v1H3v-1h3v-1h8v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-widgets-menus':\n\t\t\t\tpath = 'M19 16V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v13c0 .55.45 1 1 1h15c.55 0 1-.45 1-1zM4 4h13v4H4V4zm1 1v2h3V5H5zm4 0v2h3V5H9zm4 0v2h3V5h-3zm-8.5 5c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 10h4v1H6v-1zm6 0h5v5h-5v-5zm-7.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 12h4v1H6v-1zm7 0v2h3v-2h-3zm-8.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 14h4v1H6v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-write-blog':\n\t\t\t\tpath = 'M16.89 1.2l1.41 1.41c.39.39.39 1.02 0 1.41L14 8.33V18H3V3h10.67l1.8-1.8c.4-.39 1.03-.4 1.42 0zm-5.66 8.48l5.37-5.36-1.42-1.42-5.36 5.37-.71 2.12z';\n\t\t\t\tbreak;\n\t\t\tcase 'wordpress-alt':\n\t\t\t\tpath = 'M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'wordpress':\n\t\t\t\tpath = 'M20 10c0-5.52-4.48-10-10-10S0 4.48 0 10s4.48 10 10 10 10-4.48 10-10zM10 1.01c4.97 0 8.99 4.02 8.99 8.99s-4.02 8.99-8.99 8.99S1.01 14.97 1.01 10 5.03 1.01 10 1.01zM8.01 14.82L4.96 6.61c.49-.03 1.05-.08 1.05-.08.43-.05.38-1.01-.06-.99 0 0-1.29.1-2.13.1-.15 0-.33 0-.52-.01 1.44-2.17 3.9-3.6 6.7-3.6 2.09 0 3.99.79 5.41 2.09-.6-.08-1.45.35-1.45 1.42 0 .66.38 1.22.79 1.88.31.54.5 1.22.5 2.21 0 1.34-1.27 4.48-1.27 4.48l-2.71-7.5c.48-.03.75-.16.75-.16.43-.05.38-1.1-.05-1.08 0 0-1.3.11-2.14.11-.78 0-2.11-.11-2.11-.11-.43-.02-.48 1.06-.05 1.08l.84.08 1.12 3.04zm6.02 2.15L16.64 10s.67-1.69.39-3.81c.63 1.14.94 2.42.94 3.81 0 2.96-1.56 5.58-3.94 6.97zM2.68 6.77L6.5 17.25c-2.67-1.3-4.47-4.08-4.47-7.25 0-1.16.2-2.23.65-3.23zm7.45 4.53l2.29 6.25c-.75.27-1.57.42-2.42.42-.72 0-1.41-.11-2.06-.3z';\n\t\t\t\tbreak;\n\t\t\tcase 'yes-alt':\n\t\t\t\tpath = 'M10 2c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm-.615 12.66h-1.34l-3.24-4.54 1.34-1.25 2.57 2.4 5.14-5.93 1.34.94-5.81 8.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'yes':\n\t\t\t\tpath = 'M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( ! path ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst iconClass = [ 'dashicon', 'dashicons-' + icon, className ].filter( Boolean ).join( ' ' );\n\n\t\treturn (\n\t\t\t<SVG\n\t\t\t\taria-hidden\n\t\t\t\trole=\"img\"\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tclassName={ iconClass }\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth={ size }\n\t\t\t\theight={ size }\n\t\t\t\tviewBox=\"0 0 20 20\"\n\t\t\t>\n\t\t\t\t<Path d={ path } />\n\t\t\t</SVG>\n\t\t);\n\t}\n}\n","/**\n * External dependencies\n */\nimport ReactDatePicker from 'react-datepicker';\nimport moment from 'moment';\n\n/**\n * Module Constants\n */\nconst TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\n\nfunction DatePicker( { currentDate, onChange, ...args } ) {\n\tconst momentDate = currentDate ? moment( currentDate ) : moment();\n\tconst onChangeMoment = ( newDate ) => onChange( newDate.format( TIMEZONELESS_FORMAT ) );\n\n\treturn <ReactDatePicker\n\t\tinline\n\t\tselected={ momentDate }\n\t\tonChange={ onChangeMoment }\n\t\t{ ...args }\n\t/>;\n}\n\nexport default DatePicker;\n","/**\n * Internal dependencies\n */\nimport { default as DatePicker } from './date';\nimport { default as TimePicker } from './time';\n\nexport { DatePicker, TimePicker };\n\nexport function DateTimePicker( { currentDate, onChange, is12Hour, ...args } ) {\n\treturn [\n\t\t<DatePicker\n\t\t\tkey=\"date-picker\"\n\t\t\tcurrentDate={ currentDate }\n\t\t\tonChange={ onChange }\n\t\t\t{ ...args }\n\t\t/>,\n\t\t<TimePicker\n\t\t\tkey=\"time-picker\"\n\t\t\tcurrentTime={ currentDate }\n\t\t\tonChange={ onChange }\n\t\t\tis12Hour={ is12Hour }\n\t\t/>,\n\t];\n}\n","/**\n * External dependencies\n */\nimport { isInteger } from 'lodash';\nimport moment from 'moment';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\n\n/**\n * Module Constants\n */\nconst TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\n\nclass TimePicker extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\thours: '',\n\t\t\tminutes: '',\n\t\t\tam: true,\n\t\t\tdate: null,\n\t\t};\n\t\tthis.updateHours = this.updateHours.bind( this );\n\t\tthis.updateMinutes = this.updateMinutes.bind( this );\n\t\tthis.onChangeHours = this.onChangeHours.bind( this );\n\t\tthis.onChangeMinutes = this.onChangeMinutes.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.syncState( this.props );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { currentTime, is12Hour } = this.props;\n\t\tif (\n\t\t\tcurrentTime !== prevProps.currentTime ||\n\t\t\tis12Hour !== prevProps.is12Hour\n\t\t) {\n\t\t\tthis.syncState( this.props );\n\t\t}\n\t}\n\n\tsyncState( { currentTime, is12Hour } ) {\n\t\tconst selected = currentTime ? moment( currentTime ) : moment();\n\t\tconst minutes = selected.format( 'mm' );\n\t\tconst am = selected.format( 'A' );\n\t\tconst hours = selected.format( is12Hour ? 'hh' : 'HH' );\n\t\tconst date = currentTime ? moment( currentTime ) : moment();\n\t\tthis.setState( { minutes, hours, am, date } );\n\t}\n\n\tupdateHours() {\n\t\tconst { is12Hour, onChange } = this.props;\n\t\tconst { am, hours, date } = this.state;\n\t\tconst value = parseInt( hours, 10 );\n\t\tif (\n\t\t\t! isInteger( value ) ||\n\t\t\t( is12Hour && ( value < 1 || value > 12 ) ) ||\n\t\t\t( ! is12Hour && ( value < 0 || value > 23 ) )\n\t\t) {\n\t\t\tthis.syncState( this.props );\n\t\t\treturn;\n\t\t}\n\n\t\tconst newDate = is12Hour ?\n\t\t\tdate.clone().hours( am === 'AM' ? value % 12 : ( ( ( value % 12 ) + 12 ) % 24 ) ) :\n\t\t\tdate.clone().hours( value );\n\t\tthis.setState( { date: newDate } );\n\t\tconst formattedDate = newDate.format( TIMEZONELESS_FORMAT );\n\t\tonChange( formattedDate );\n\t}\n\n\tupdateMinutes() {\n\t\tconst { onChange } = this.props;\n\t\tconst { minutes, date } = this.state;\n\t\tconst value = parseInt( minutes, 10 );\n\t\tif ( ! isInteger( value ) || value < 0 || value > 59 ) {\n\t\t\tthis.syncState( this.props );\n\t\t\treturn;\n\t\t}\n\t\tconst newDate = date.clone().minutes( value );\n\t\tthis.setState( { date: newDate } );\n\t\tconst formattedDate = newDate.format( TIMEZONELESS_FORMAT );\n\t\tonChange( formattedDate );\n\t}\n\n\tupdateAmPm( value ) {\n\t\treturn () => {\n\t\t\tconst { onChange } = this.props;\n\t\t\tconst { am, date, hours } = this.state;\n\t\t\tif ( am === value ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet newDate;\n\t\t\tif ( value === 'PM' ) {\n\t\t\t\tnewDate = date.clone().hours( ( ( parseInt( hours, 10 ) % 12 ) + 12 ) % 24 );\n\t\t\t} else {\n\t\t\t\tnewDate = date.clone().hours( parseInt( hours, 10 ) % 12 );\n\t\t\t}\n\t\t\tthis.setState( { date: newDate } );\n\t\t\tconst formattedDate = newDate.format( TIMEZONELESS_FORMAT );\n\t\t\tonChange( formattedDate );\n\t\t};\n\t}\n\n\tonChangeHours( event ) {\n\t\tthis.setState( { hours: event.target.value } );\n\t}\n\n\tonChangeMinutes( event ) {\n\t\tthis.setState( { minutes: event.target.value } );\n\t}\n\n\trender() {\n\t\tconst { is12Hour } = this.props;\n\t\tconst { minutes, hours, am } = this.state;\n\n\t\treturn (\n\t\t\t<div className=\"components-time-picker\">\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"components-time-picker__input\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={ hours }\n\t\t\t\t\tonChange={ this.onChangeHours }\n\t\t\t\t\tonBlur={ this.updateHours }\n\t\t\t\t/>\n\t\t\t\t<span className=\"components-time-picker__separator\">:</span>\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"components-time-picker__input\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={ minutes }\n\t\t\t\t\tonChange={ this.onChangeMinutes }\n\t\t\t\t\tonBlur={ this.updateMinutes }\n\t\t\t\t/>\n\t\t\t\t{ is12Hour && <div>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisDefault\n\t\t\t\t\t\tclassName=\"components-time-picker__am-button\"\n\t\t\t\t\t\tisToggled={ am === 'AM' }\n\t\t\t\t\t\tonClick={ this.updateAmPm( 'AM' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'AM' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisDefault\n\t\t\t\t\t\tclassName=\"components-time-picker__pm-button\"\n\t\t\t\t\t\tisToggled={ am === 'PM' }\n\t\t\t\t\t\tonClick={ this.updateAmPm( 'PM' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'PM' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div> }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default TimePicker;\n","/**\n * External dependencies\n */\nimport { includes, debounce } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createContext, Component } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\n\nconst { Consumer, Provider } = createContext( false );\n\n/**\n * Names of control nodes which qualify for disabled behavior.\n *\n * See WHATWG HTML Standard: 4.10.18.5: \"Enabling and disabling form controls: the disabled attribute\".\n *\n * @link https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#enabling-and-disabling-form-controls:-the-disabled-attribute\n *\n * @type {string[]}\n */\nconst DISABLED_ELIGIBLE_NODE_NAMES = [\n\t'BUTTON',\n\t'FIELDSET',\n\t'INPUT',\n\t'OPTGROUP',\n\t'OPTION',\n\t'SELECT',\n\t'TEXTAREA',\n];\n\nclass Disabled extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t\tthis.disable = this.disable.bind( this );\n\n\t\t// Debounce re-disable since disabling process itself will incur\n\t\t// additional mutations which should be ignored.\n\t\tthis.debouncedDisable = debounce( this.disable, { leading: true } );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.disable();\n\n\t\tthis.observer = new window.MutationObserver( this.debouncedDisable );\n\t\tthis.observer.observe( this.node, {\n\t\t\tchildList: true,\n\t\t\tattributes: true,\n\t\t\tsubtree: true,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.observer.disconnect();\n\t\tthis.debouncedDisable.cancel();\n\t}\n\n\tbindNode( node ) {\n\t\tthis.node = node;\n\t}\n\n\tdisable() {\n\t\tfocus.focusable.find( this.node ).forEach( ( focusable ) => {\n\t\t\tif ( includes( DISABLED_ELIGIBLE_NODE_NAMES, focusable.nodeName ) ) {\n\t\t\t\tfocusable.setAttribute( 'disabled', '' );\n\t\t\t}\n\n\t\t\tif ( focusable.hasAttribute( 'tabindex' ) ) {\n\t\t\t\tfocusable.removeAttribute( 'tabindex' );\n\t\t\t}\n\n\t\t\tif ( focusable.hasAttribute( 'contenteditable' ) ) {\n\t\t\t\tfocusable.setAttribute( 'contenteditable', 'false' );\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { className, ...props } = this.props;\n\t\treturn (\n\t\t\t<Provider value={ true }>\n\t\t\t\t<div\n\t\t\t\t\tref={ this.bindNode }\n\t\t\t\t\tclassName={ classnames( className, 'components-disabled' ) }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ this.props.children }\n\t\t\t\t</div>\n\t\t\t</Provider>\n\t\t);\n\t}\n}\n\nDisabled.Consumer = Consumer;\n\nexport default Disabled;\n","/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress Dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSafeTimeout } from '@wordpress/compose';\n\nconst dragImageClass = 'components-draggable__invisible-drag-image';\nconst cloneWrapperClass = 'components-draggable__clone';\nconst cloneHeightTransformationBreakpoint = 700;\nconst clonePadding = 20;\n\nconst isChromeUA = ( ) => /Chrome/i.test( window.navigator.userAgent );\nconst documentHasIframes = ( ) => [ ...document.getElementById( 'editor' ).querySelectorAll( 'iframe' ) ].length > 0;\n\nclass Draggable extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onDragStart = this.onDragStart.bind( this );\n\t\tthis.onDragOver = this.onDragOver.bind( this );\n\t\tthis.onDrop = this.onDrop.bind( this );\n\t\tthis.onDragEnd = this.onDragEnd.bind( this );\n\t\tthis.resetDragState = this.resetDragState.bind( this );\n\n\t\tthis.isChromeAndHasIframes = false;\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.resetDragState();\n\t}\n\n\t/**\n\t * Removes the element clone, resets cursor, and removes drag listener.\n\t * @param {Object} event The non-custom DragEvent.\n\t */\n\tonDragEnd( event ) {\n\t\tconst { onDragEnd = noop } = this.props;\n\t\tif ( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\tthis.resetDragState();\n\t\tthis.props.setTimeout( onDragEnd );\n\t}\n\n\t/*\n\t * Updates positioning of element clone based on mouse movement during dragging.\n\t * @param {Object} event The non-custom DragEvent.\n\t */\n\tonDragOver( event ) {\n\t\tthis.cloneWrapper.style.top =\n\t\t\t`${ parseInt( this.cloneWrapper.style.top, 10 ) + event.clientY - this.cursorTop }px`;\n\t\tthis.cloneWrapper.style.left =\n\t\t\t`${ parseInt( this.cloneWrapper.style.left, 10 ) + event.clientX - this.cursorLeft }px`;\n\n\t\t// Update cursor coordinates.\n\t\tthis.cursorLeft = event.clientX;\n\t\tthis.cursorTop = event.clientY;\n\t}\n\n\tonDrop( ) {\n\t\t// As per https://html.spec.whatwg.org/multipage/dnd.html#dndevents\n\t\t// the target node for the dragend is the source node that started the drag operation,\n\t\t// while drop event's target is the current target element.\n\t\tthis.onDragEnd( null );\n\t}\n\n\t/**\n\t * - Clones the current element and spawns clone over original element.\n\t * - Adds a fake temporary drag image to avoid browser defaults.\n\t * - Sets transfer data.\n\t * - Adds dragover listener.\n\t * @param {Object} event\t\t\t\t\tThe non-custom DragEvent.\n\t * @param {string} elementId\t\t\t\tThe HTML id of the element to be dragged.\n\t * @param {Object} transferData\t\t\tThe data to be set to the event's dataTransfer - to be accessible in any later drop logic.\n\t */\n\tonDragStart( event ) {\n\t\tconst { elementId, transferData, onDragStart = noop } = this.props;\n\t\tconst element = document.getElementById( elementId );\n\t\tif ( ! element ) {\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\t// Set a fake drag image to avoid browser defaults. Remove from DOM\n\t\t// right after. event.dataTransfer.setDragImage is not supported yet in\n\t\t// IE, we need to check for its existence first.\n\t\tif ( 'function' === typeof event.dataTransfer.setDragImage ) {\n\t\t\tconst dragImage = document.createElement( 'div' );\n\t\t\tdragImage.id = `drag-image-${ elementId }`;\n\t\t\tdragImage.classList.add( dragImageClass );\n\t\t\tdocument.body.appendChild( dragImage );\n\t\t\tevent.dataTransfer.setDragImage( dragImage, 0, 0 );\n\t\t\tthis.props.setTimeout( () => {\n\t\t\t\tdocument.body.removeChild( dragImage );\n\t\t\t} );\n\t\t}\n\n\t\tevent.dataTransfer.setData( 'text', JSON.stringify( transferData ) );\n\n\t\t// Prepare element clone and append to element wrapper.\n\t\tconst elementRect = element.getBoundingClientRect();\n\t\tconst elementWrapper = element.parentNode;\n\t\tconst elementTopOffset = parseInt( elementRect.top, 10 );\n\t\tconst elementLeftOffset = parseInt( elementRect.left, 10 );\n\t\tconst clone = element.cloneNode( true );\n\t\tclone.id = `clone-${ elementId }`;\n\t\tthis.cloneWrapper = document.createElement( 'div' );\n\t\tthis.cloneWrapper.classList.add( cloneWrapperClass );\n\t\tthis.cloneWrapper.style.width = `${ elementRect.width + ( clonePadding * 2 ) }px`;\n\n\t\tif ( elementRect.height > cloneHeightTransformationBreakpoint ) {\n\t\t\t// Scale down clone if original element is larger than 700px.\n\t\t\tthis.cloneWrapper.style.transform = 'scale(0.5)';\n\t\t\tthis.cloneWrapper.style.transformOrigin = 'top left';\n\t\t\t// Position clone near the cursor.\n\t\t\tthis.cloneWrapper.style.top = `${ event.clientY - 100 }px`;\n\t\t\tthis.cloneWrapper.style.left = `${ event.clientX }px`;\n\t\t} else {\n\t\t\t// Position clone right over the original element (20px padding).\n\t\t\tthis.cloneWrapper.style.top = `${ elementTopOffset - clonePadding }px`;\n\t\t\tthis.cloneWrapper.style.left = `${ elementLeftOffset - clonePadding }px`;\n\t\t}\n\n\t\t// Hack: Remove iFrames as it's causing the embeds drag clone to freeze\n\t\t[ ...clone.querySelectorAll( 'iframe' ) ].forEach( ( child ) => child.parentNode.removeChild( child ) );\n\n\t\tthis.cloneWrapper.appendChild( clone );\n\t\telementWrapper.appendChild( this.cloneWrapper );\n\n\t\t// Mark the current cursor coordinates.\n\t\tthis.cursorLeft = event.clientX;\n\t\tthis.cursorTop = event.clientY;\n\t\t// Update cursor to 'grabbing', document wide.\n\t\tdocument.body.classList.add( 'is-dragging-components-draggable' );\n\t\tdocument.addEventListener( 'dragover', this.onDragOver );\n\n\t\t// Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=737691#c8\n\t\t// dragend event won't be dispatched in the chrome browser\n\t\t// when iframes are affected by the drag operation. So, in that case,\n\t\t// we use the drop event to wrap up the dragging operation.\n\t\t// This way the hack is contained to a specific use case and the external API\n\t\t// still relies mostly on the dragend event.\n\t\tif ( isChromeUA() && documentHasIframes() ) {\n\t\t\tthis.isChromeAndHasIframes = true;\n\t\t\tdocument.addEventListener( 'drop', this.onDrop );\n\t\t}\n\n\t\tthis.props.setTimeout( onDragStart );\n\t}\n\n\t/**\n\t * Cleans up drag state when drag has completed, or component unmounts\n\t * while dragging.\n\t */\n\tresetDragState() {\n\t\t// Remove drag clone\n\t\tdocument.removeEventListener( 'dragover', this.onDragOver );\n\t\tif ( this.cloneWrapper && this.cloneWrapper.parentNode ) {\n\t\t\tthis.cloneWrapper.parentNode.removeChild( this.cloneWrapper );\n\t\t\tthis.cloneWrapper = null;\n\t\t}\n\n\t\tif ( this.isChromeAndHasIframes ) {\n\t\t\tthis.isChromeAndHasIframes = false;\n\t\t\tdocument.removeEventListener( 'drop', this.onDrop );\n\t\t}\n\n\t\t// Reset cursor.\n\t\tdocument.body.classList.remove( 'is-dragging-components-draggable' );\n\t}\n\n\trender() {\n\t\tconst { children } = this.props;\n\n\t\treturn children( {\n\t\t\tonDraggableStart: this.onDragStart,\n\t\t\tonDraggableEnd: this.onDragEnd,\n\t\t} );\n\t}\n}\n\nexport default withSafeTimeout( Draggable );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\n\nclass DropZone extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.setZoneNode = this.setZoneNode.bind( this );\n\n\t\tthis.state = {\n\t\t\tisDraggingOverDocument: false,\n\t\t\tisDraggingOverElement: false,\n\t\t\tposition: null,\n\t\t\ttype: null,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.context.dropzones.add( {\n\t\t\telement: this.zone,\n\t\t\tupdateState: this.setState.bind( this ),\n\t\t\tonDrop: this.props.onDrop,\n\t\t\tonFilesDrop: this.props.onFilesDrop,\n\t\t\tonHTMLDrop: this.props.onHTMLDrop,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.context.dropzones.remove( this.zone );\n\t}\n\n\tsetZoneNode( node ) {\n\t\tthis.zone = node;\n\t}\n\n\trender() {\n\t\tconst { className, label } = this.props;\n\t\tconst { isDraggingOverDocument, isDraggingOverElement, position, type } = this.state;\n\t\tconst classes = classnames( 'components-drop-zone', className, {\n\t\t\t'is-active': isDraggingOverDocument || isDraggingOverElement,\n\t\t\t'is-dragging-over-document': isDraggingOverDocument,\n\t\t\t'is-dragging-over-element': isDraggingOverElement,\n\t\t\t'is-close-to-top': position && position.y === 'top',\n\t\t\t'is-close-to-bottom': position && position.y === 'bottom',\n\t\t\t'is-close-to-left': position && position.x === 'left',\n\t\t\t'is-close-to-right': position && position.x === 'right',\n\t\t\t[ `is-dragging-${ type }` ]: !! type,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div ref={ this.setZoneNode } className={ classes }>\n\t\t\t\t<div className=\"components-drop-zone__content\">\n\t\t\t\t\t{ [\n\t\t\t\t\t\t<Dashicon\n\t\t\t\t\t\t\tkey=\"icon\"\n\t\t\t\t\t\t\ticon=\"upload\"\n\t\t\t\t\t\t\tsize=\"40\"\n\t\t\t\t\t\t\tclassName=\"components-drop-zone__content-icon\"\n\t\t\t\t\t\t/>,\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tkey=\"text\"\n\t\t\t\t\t\t\tclassName=\"components-drop-zone__content-text\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label ? label : __( 'Drop files to upload' ) }\n\t\t\t\t\t\t</span>,\n\t\t\t\t\t] }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nDropZone.contextTypes = {\n\tdropzones: noop,\n};\n\nexport default DropZone;\n\n","/**\n * External dependencies\n */\nimport { isEqual, find, some, filter, noop, throttle, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, findDOMNode } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\nclass DropZoneProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.resetDragState = this.resetDragState.bind( this );\n\t\tthis.toggleDraggingOverDocument = throttle( this.toggleDraggingOverDocument.bind( this ), 200 );\n\t\tthis.dragOverListener = this.dragOverListener.bind( this );\n\t\tthis.isWithinZoneBounds = this.isWithinZoneBounds.bind( this );\n\t\tthis.onDrop = this.onDrop.bind( this );\n\n\t\tthis.state = {\n\t\t\tisDraggingOverDocument: false,\n\t\t\thoveredDropZone: -1,\n\t\t\tposition: null,\n\t\t};\n\t\tthis.dropzones = [];\n\t}\n\n\tdragOverListener( event ) {\n\t\tthis.toggleDraggingOverDocument( event, this.getDragEventType( event ) );\n\t\tevent.preventDefault();\n\t}\n\n\tgetChildContext() {\n\t\treturn {\n\t\t\tdropzones: {\n\t\t\t\tadd: ( { element, updateState, onDrop, onFilesDrop, onHTMLDrop } ) => {\n\t\t\t\t\tthis.dropzones.push( { element, updateState, onDrop, onFilesDrop, onHTMLDrop } );\n\t\t\t\t},\n\t\t\t\tremove: ( element ) => {\n\t\t\t\t\tthis.dropzones = filter( this.dropzones, ( dropzone ) => dropzone.element !== element );\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener( 'dragover', this.dragOverListener );\n\t\twindow.addEventListener( 'drop', this.onDrop );\n\t\twindow.addEventListener( 'mouseup', this.resetDragState );\n\n\t\t// Disable reason: Can't use a ref since this component just renders its children\n\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\tthis.container = findDOMNode( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener( 'dragover', this.dragOverListener );\n\t\twindow.removeEventListener( 'drop', this.onDrop );\n\t\twindow.removeEventListener( 'mouseup', this.resetDragState );\n\t}\n\n\tresetDragState() {\n\t\t// Avoid throttled drag over handler calls\n\t\tthis.toggleDraggingOverDocument.cancel();\n\n\t\tconst { isDraggingOverDocument, hoveredDropZone } = this.state;\n\t\tif ( ! isDraggingOverDocument && hoveredDropZone === -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tisDraggingOverDocument: false,\n\t\t\thoveredDropZone: -1,\n\t\t\tposition: null,\n\t\t} );\n\n\t\tthis.dropzones.forEach( ( { updateState } ) => {\n\t\t\tupdateState( {\n\t\t\t\tisDraggingOverDocument: false,\n\t\t\t\tisDraggingOverElement: false,\n\t\t\t\tposition: null,\n\t\t\t\ttype: null,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tgetDragEventType( event ) {\n\t\tif ( event.dataTransfer ) {\n\t\t\t// Use lodash `includes` here as in the Edge browser `types` is implemented\n\t\t\t// as a DomStringList, whereas in other browsers it's an array. `includes`\n\t\t\t// happily works with both types.\n\t\t\tif ( includes( event.dataTransfer.types, 'Files' ) ) {\n\t\t\t\treturn 'file';\n\t\t\t}\n\n\t\t\tif ( includes( event.dataTransfer.types, 'text/html' ) ) {\n\t\t\t\treturn 'html';\n\t\t\t}\n\t\t}\n\n\t\treturn 'default';\n\t}\n\n\tdoesDropzoneSupportType( dropzone, type ) {\n\t\treturn (\n\t\t\t( type === 'file' && dropzone.onFilesDrop ) ||\n\t\t\t( type === 'html' && dropzone.onHTMLDrop ) ||\n\t\t\t( type === 'default' && dropzone.onDrop )\n\t\t);\n\t}\n\n\ttoggleDraggingOverDocument( event, dragEventType ) {\n\t\t// In some contexts, it may be necessary to capture and redirect the\n\t\t// drag event (e.g. atop an `iframe`). To accommodate this, you can\n\t\t// create an instance of CustomEvent with the original event specified\n\t\t// as the `detail` property.\n\t\t//\n\t\t// See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events\n\t\tconst detail = window.CustomEvent && event instanceof window.CustomEvent ? event.detail : event;\n\n\t\t// Index of hovered dropzone.\n\n\t\tconst hoveredDropZones = filter( this.dropzones, ( dropzone ) =>\n\t\t\tthis.doesDropzoneSupportType( dropzone, dragEventType ) &&\n\t\t\tthis.isWithinZoneBounds( dropzone.element, detail.clientX, detail.clientY )\n\t\t);\n\n\t\t// Find the leaf dropzone not containing another dropzone\n\t\tconst hoveredDropZone = find( hoveredDropZones, ( zone ) => (\n\t\t\t! some( hoveredDropZones, ( subZone ) => subZone !== zone && zone.element.parentElement.contains( subZone.element ) )\n\t\t) );\n\n\t\tconst hoveredDropZoneIndex = this.dropzones.indexOf( hoveredDropZone );\n\n\t\tlet position = null;\n\n\t\tif ( hoveredDropZone ) {\n\t\t\tconst rect = hoveredDropZone.element.getBoundingClientRect();\n\n\t\t\tposition = {\n\t\t\t\tx: detail.clientX - rect.left < rect.right - detail.clientX ? 'left' : 'right',\n\t\t\t\ty: detail.clientY - rect.top < rect.bottom - detail.clientY ? 'top' : 'bottom',\n\t\t\t};\n\t\t}\n\n\t\t// Optimisation: Only update the changed dropzones\n\t\tlet dropzonesToUpdate = [];\n\n\t\tif ( ! this.state.isDraggingOverDocument ) {\n\t\t\tdropzonesToUpdate = this.dropzones;\n\t\t} else if ( hoveredDropZoneIndex !== this.state.hoveredDropZone ) {\n\t\t\tif ( this.state.hoveredDropZone !== -1 ) {\n\t\t\t\tdropzonesToUpdate.push( this.dropzones[ this.state.hoveredDropZone ] );\n\t\t\t}\n\t\t\tif ( hoveredDropZone ) {\n\t\t\t\tdropzonesToUpdate.push( hoveredDropZone );\n\t\t\t}\n\t\t} else if (\n\t\t\thoveredDropZone &&\n\t\t\thoveredDropZoneIndex === this.state.hoveredDropZone &&\n\t\t\t! isEqual( position, this.state.position )\n\t\t) {\n\t\t\tdropzonesToUpdate.push( hoveredDropZone );\n\t\t}\n\n\t\t// Notifying the dropzones\n\t\tdropzonesToUpdate.map( ( dropzone ) => {\n\t\t\tconst index = this.dropzones.indexOf( dropzone );\n\t\t\tconst isDraggingOverDropZone = index === hoveredDropZoneIndex;\n\t\t\tdropzone.updateState( {\n\t\t\t\tisDraggingOverElement: isDraggingOverDropZone,\n\t\t\t\tposition: isDraggingOverDropZone ? position : null,\n\t\t\t\tisDraggingOverDocument: this.doesDropzoneSupportType( dropzone, dragEventType ),\n\t\t\t\ttype: isDraggingOverDropZone ? dragEventType : null,\n\t\t\t} );\n\t\t} );\n\n\t\tconst newState = {\n\t\t\tisDraggingOverDocument: true,\n\t\t\thoveredDropZone: hoveredDropZoneIndex,\n\t\t\tposition,\n\t\t};\n\t\tif ( ! isShallowEqual( newState, this.state ) ) {\n\t\t\tthis.setState( newState );\n\t\t}\n\t}\n\n\tisWithinZoneBounds( dropzone, x, y ) {\n\t\tconst isWithinElement = ( element ) => {\n\t\t\tconst rect = element.getBoundingClientRect();\n\t\t\t/// make sure the rect is a valid rect\n\t\t\tif ( rect.bottom === rect.top || rect.left === rect.right ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tx >= rect.left && x <= rect.right &&\n\t\t\t\ty >= rect.top && y <= rect.bottom\n\t\t\t);\n\t\t};\n\n\t\treturn isWithinElement( dropzone );\n\t}\n\n\tonDrop( event ) {\n\t\t// This seemingly useless line has been shown to resolve a Safari issue\n\t\t// where files dragged directly from the dock are not recognized\n\t\tevent.dataTransfer && event.dataTransfer.files.length; // eslint-disable-line no-unused-expressions\n\n\t\tconst { position, hoveredDropZone } = this.state;\n\t\tconst dragEventType = this.getDragEventType( event );\n\t\tconst dropzone = this.dropzones[ hoveredDropZone ];\n\t\tconst isValidDropzone = !! dropzone && this.container.contains( event.target );\n\t\tthis.resetDragState();\n\n\t\tif ( isValidDropzone ) {\n\t\t\tswitch ( dragEventType ) {\n\t\t\t\tcase 'file':\n\t\t\t\t\tdropzone.onFilesDrop( [ ...event.dataTransfer.files ], position );\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'html':\n\t\t\t\t\tdropzone.onHTMLDrop( event.dataTransfer.getData( 'text/html' ), position );\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'default':\n\t\t\t\t\tdropzone.onDrop( event, position );\n\t\t\t}\n\t\t}\n\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n\n\trender() {\n\t\tconst { children } = this.props;\n\t\treturn children;\n\t}\n}\n\nDropZoneProvider.childContextTypes = {\n\tdropzones: noop,\n};\n\nexport default DropZoneProvider;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { flatMap } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { DOWN } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\nimport Dropdown from '../dropdown';\nimport { NavigableMenu } from '../navigable-container';\n\nfunction DropdownMenu( {\n\ticon = 'menu',\n\tlabel,\n\tmenuLabel,\n\tcontrols,\n\tclassName,\n} ) {\n\tif ( ! controls || ! controls.length ) {\n\t\treturn null;\n\t}\n\n\t// Normalize controls to nested array of objects (sets of controls)\n\tlet controlSets = controls;\n\tif ( ! Array.isArray( controlSets[ 0 ] ) ) {\n\t\tcontrolSets = [ controlSets ];\n\t}\n\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName={ classnames( 'components-dropdown-menu', className ) }\n\t\t\tcontentClassName=\"components-dropdown-menu__popover\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\treturn (\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\tclassName=\"components-dropdown-menu__toggle\"\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ttooltip={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"components-dropdown-menu__indicator\" />\n\t\t\t\t\t</IconButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<NavigableMenu\n\t\t\t\t\t\tclassName=\"components-dropdown-menu__menu\"\n\t\t\t\t\t\trole=\"menu\"\n\t\t\t\t\t\taria-label={ menuLabel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ flatMap( controlSets, ( controlSet, indexOfSet ) => (\n\t\t\t\t\t\t\tcontrolSet.map( ( control, indexOfControl ) => (\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\tkey={ [ indexOfSet, indexOfControl ].join() }\n\t\t\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\tif ( control.onClick ) {\n\t\t\t\t\t\t\t\t\t\t\tcontrol.onClick();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'has-separator': indexOfSet > 0 && indexOfControl === 0,\n\t\t\t\t\t\t\t\t\t\t\t'is-active': control.isActive,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\ticon={ control.icon }\n\t\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\t\tdisabled={ control.isDisabled }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ control.title }\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nexport default DropdownMenu;\n","/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\n\nclass Dropdown extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.toggle = this.toggle.bind( this );\n\t\tthis.close = this.close.bind( this );\n\t\tthis.clickOutside = this.clickOutside.bind( this );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.refresh = this.refresh.bind( this );\n\t\tthis.popoverRef = createRef();\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\t}\n\n\tcomponentWillUnmount() {\n\t\tconst { isOpen } = this.state;\n\t\tconst { onToggle } = this.props;\n\t\tif ( isOpen && onToggle ) {\n\t\t\tonToggle( false );\n\t\t}\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tconst { isOpen } = this.state;\n\t\tconst { onToggle } = this.props;\n\t\tif ( prevState.isOpen !== isOpen && onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\tbindContainer( ref ) {\n\t\tthis.container = ref;\n\t}\n\n\t/**\n\t * When contents change height due to user interaction,\n\t * `refresh` can be called to re-render Popover with correct\n\t * attributes which allow scroll, if need be.\n\t */\n\trefresh() {\n\t\tif ( this.popoverRef.current ) {\n\t\t\tthis.popoverRef.current.refresh();\n\t\t}\n\t}\n\n\ttoggle() {\n\t\tthis.setState( ( state ) => ( {\n\t\t\tisOpen: ! state.isOpen,\n\t\t} ) );\n\t}\n\n\tclickOutside( event ) {\n\t\tif ( ! this.container.contains( event.target ) ) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tclose() {\n\t\tthis.setState( { isOpen: false } );\n\t}\n\n\trender() {\n\t\tconst { isOpen } = this.state;\n\t\tconst {\n\t\t\trenderContent,\n\t\t\trenderToggle,\n\t\t\tposition = 'bottom',\n\t\t\tclassName,\n\t\t\tcontentClassName,\n\t\t\texpandOnMobile,\n\t\t\theaderTitle,\n\t\t} = this.props;\n\n\t\tconst args = { isOpen, onToggle: this.toggle, onClose: this.close };\n\n\t\treturn (\n\t\t\t<div className={ className } ref={ this.bindContainer }>\n\t\t\t\t{ renderToggle( args ) }\n\t\t\t\t{ isOpen && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tclassName={ contentClassName }\n\t\t\t\t\t\tref={ this.popoverRef }\n\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\tonClose={ this.close }\n\t\t\t\t\t\tonClickOutside={ this.clickOutside }\n\t\t\t\t\t\texpandOnMobile={ expandOnMobile }\n\t\t\t\t\t\theaderTitle={ headerTitle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ renderContent( args ) }\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Dropdown;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { compact, uniq } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\n\nexport function ExternalLink( { href, children, className, rel = '', ...additionalProps }, ref ) {\n\trel = uniq( compact( [\n\t\t...rel.split( ' ' ),\n\t\t'external',\n\t\t'noreferrer',\n\t\t'noopener',\n\t] ) ).join( ' ' );\n\tconst classes = classnames( 'components-external-link', className );\n\treturn (\n\t\t<a { ...additionalProps } className={ classes } href={ href } target=\"_blank\" rel={ rel } ref={ ref }>\n\t\t\t{ children }\n\t\t\t<span className=\"screen-reader-text\">\n\t\t\t\t{\n\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t__( '(opens in a new window)' )\n\t\t\t\t}\n\t\t\t</span>\n\t\t\t<Dashicon icon=\"external\" className=\"components-external-link__icon\" />\n\t\t</a>\n\t);\n}\n\nexport default forwardRef( ExternalLink );\n","/**\n * External dependencies\n */\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { withGlobalEvents } from '@wordpress/compose';\n\n/**\n * Browser dependencies\n */\n\nconst { FocusEvent } = window;\n\nclass FocusableIframe extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.checkFocus = this.checkFocus.bind( this );\n\n\t\tthis.node = props.iframeRef || createRef();\n\t}\n\n\t/**\n\t * Checks whether the iframe is the activeElement, inferring that it has\n\t * then received focus, and calls the `onFocus` prop callback.\n\t */\n\tcheckFocus() {\n\t\tconst iframe = this.node.current;\n\n\t\tif ( document.activeElement !== iframe ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusEvent = new FocusEvent( 'focus', { bubbles: true } );\n\t\tiframe.dispatchEvent( focusEvent );\n\n\t\tconst { onFocus } = this.props;\n\t\tif ( onFocus ) {\n\t\t\tonFocus( focusEvent );\n\t\t}\n\t}\n\n\trender() {\n\t\t// Disable reason: The rendered iframe is a pass-through component,\n\t\t// assigning props inherited from the rendering parent. It's the\n\t\t// responsibility of the parent to assign a title.\n\n\t\t/* eslint-disable jsx-a11y/iframe-has-title */\n\t\treturn (\n\t\t\t<iframe\n\t\t\t\tref={ this.node }\n\t\t\t\t{ ...omit( this.props, [ 'iframeRef', 'onFocus' ] ) }\n\t\t\t/>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/iframe-has-title */\n\t}\n}\n\nexport default withGlobalEvents( {\n\tblur: 'checkFocus',\n} )( FocusableIframe );\n","/**\n * External dependencies\n */\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport Dropdown from '../dropdown';\nimport RangeControl from '../range-control';\nimport { NavigableMenu } from '../navigable-container';\n\nfunction FontSizePicker( {\n\tfallbackFontSize,\n\tfontSizes = [],\n\tonChange,\n\tvalue,\n\twithSlider,\n} ) {\n\tconst onChangeValue = ( event ) => {\n\t\tconst newValue = event.target.value;\n\t\tif ( newValue === '' ) {\n\t\t\tonChange( undefined );\n\t\t\treturn;\n\t\t}\n\t\tonChange( Number( newValue ) );\n\t};\n\n\tconst currentFont = fontSizes.find( ( font ) => font.size === value );\n\n\treturn (\n\t\t<BaseControl label={ __( 'Font Size' ) }>\n\t\t\t<div className=\"components-font-size-picker__buttons\">\n\t\t\t\t<Dropdown\n\t\t\t\t\tclassName=\"components-font-size-picker__dropdown\"\n\t\t\t\t\tcontentClassName=\"components-font-size-picker__dropdown-content\"\n\t\t\t\t\tposition=\"bottom\"\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-font-size-picker__selector\"\n\t\t\t\t\t\t\tisLarge\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ __( 'Custom font size' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( currentFont && currentFont.name ) || ( ! value && 'Normal' ) || 'Custom' }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t{ map( fontSizes, ( { name, size, slug } ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\tonClick={ () => onChange( slug === 'normal' ? undefined : size ) }\n\t\t\t\t\t\t\t\t\tclassName={ 'is-font-' + slug }\n\t\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ ( value === size || ( ! value && slug === 'normal' ) ) &&\t<Dashicon icon=\"saved\" /> }\n\t\t\t\t\t\t\t\t\t<span className=\"components-font-size-picker__dropdown-text-size\" style={ { fontSize: size } }>\n\t\t\t\t\t\t\t\t\t\t{ name }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t{ ! withSlider &&\n\t\t\t\t\t<input\n\t\t\t\t\t\tclassName=\"components-range-control__number\"\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\t\taria-label={ __( 'Custom font size' ) }\n\t\t\t\t\t\tvalue={ value || '' }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tdisabled={ value === undefined }\n\t\t\t\t\tonClick={ () => onChange( undefined ) }\n\t\t\t\t\tisSmall\n\t\t\t\t\tisDefault\n\t\t\t\t\taria-label={ __( 'Reset font size' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t{ withSlider &&\n\t\t\t\t<RangeControl\n\t\t\t\t\tclassName=\"components-font-size-picker__custom-input\"\n\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\tvalue={ value || '' }\n\t\t\t\t\tinitialPosition={ fallbackFontSize }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tmin={ 12 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t\tbeforeIcon=\"editor-textcolor\"\n\t\t\t\t\tafterIcon=\"editor-textcolor\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( FontSizePicker );\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\n\nclass FormFileUpload extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.openFileDialog = this.openFileDialog.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t}\n\n\topenFileDialog() {\n\t\tthis.input.click();\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\trender() {\n\t\tconst { children, multiple = false, accept, onChange, icon = 'upload', ...props } = this.props;\n\n\t\treturn (\n\t\t\t<div className=\"components-form-file-upload\">\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tonClick={ this.openFileDialog }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</IconButton>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\tref={ this.bindInput }\n\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\t\taccept={ accept }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default FormFileUpload;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { Path, SVG } from '../primitives';\n\nfunction FormToggle( { className, checked, id, onChange = noop, ...props } ) {\n\tconst wrapperClasses = classnames(\n\t\t'components-form-toggle',\n\t\tclassName,\n\t\t{ 'is-checked': checked },\n\t);\n\n\treturn (\n\t\t<span className={ wrapperClasses }>\n\t\t\t<input\n\t\t\t\tclassName=\"components-form-toggle__input\"\n\t\t\t\tid={ id }\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tchecked={ checked }\n\t\t\t\tonChange={ onChange }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<span className=\"components-form-toggle__track\"></span>\n\t\t\t<span className=\"components-form-toggle__thumb\"></span>\n\t\t\t{ checked ?\n\t\t\t\t<SVG className=\"components-form-toggle__on\" width=\"2\" height=\"6\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 2 6\"><Path d=\"M0 0h2v6H0z\" /></SVG> :\n\t\t\t\t<SVG className=\"components-form-toggle__off\" width=\"6\" height=\"6\" aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 6 6\"><Path d=\"M3 1.5c.8 0 1.5.7 1.5 1.5S3.8 4.5 3 4.5 1.5 3.8 1.5 3 2.2 1.5 3 1.5M3 0C1.3 0 0 1.3 0 3s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3z\" /></SVG>\n\t\t\t}\n\t\t</span>\n\t);\n}\n\nexport default FormToggle;\n","/**\n * External dependencies\n */\nimport { last, take, clone, uniq, map, difference, each, identity, some } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport { BACKSPACE, ENTER, UP, DOWN, LEFT, RIGHT, SPACE, DELETE, ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport Token from './token';\nimport TokenInput from './token-input';\nimport SuggestionsList from './suggestions-list';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\n\nconst initialState = {\n\tincompleteTokenValue: '',\n\tinputOffsetFromEnd: 0,\n\tisActive: false,\n\tisExpanded: false,\n\tselectedSuggestionIndex: -1,\n\tselectedSuggestionScroll: false,\n};\n\nclass FormTokenField extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = initialState;\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onKeyPress = this.onKeyPress.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onBlur = this.onBlur.bind( this );\n\t\tthis.deleteTokenBeforeInput = this.deleteTokenBeforeInput.bind( this );\n\t\tthis.deleteTokenAfterInput = this.deleteTokenAfterInput.bind( this );\n\t\tthis.addCurrentToken = this.addCurrentToken.bind( this );\n\t\tthis.onContainerTouched = this.onContainerTouched.bind( this );\n\t\tthis.renderToken = this.renderToken.bind( this );\n\t\tthis.onTokenClickRemove = this.onTokenClickRemove.bind( this );\n\t\tthis.onSuggestionHovered = this.onSuggestionHovered.bind( this );\n\t\tthis.onSuggestionSelected = this.onSuggestionSelected.bind( this );\n\t\tthis.onInputChange = this.onInputChange.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t\tthis.bindTokensAndInput = this.bindTokensAndInput.bind( this );\n\t}\n\n\tcomponentDidUpdate() {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( this.state.isActive && ! this.input.hasFocus() ) {\n\t\t\tthis.input.focus();\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\tif ( ! props.disabled || ! state.isActive ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tisActive: false,\n\t\t\tincompleteTokenValue: '',\n\t\t};\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\tbindTokensAndInput( ref ) {\n\t\tthis.tokensAndInput = ref;\n\t}\n\n\tonFocus( event ) {\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( this.input.hasFocus() || event.target === this.tokensAndInput ) {\n\t\t\tthis.setState( { isActive: true } );\n\t\t} else {\n\t\t\t/*\n\t\t\t * Otherwise, focus is on one of the token \"remove\" buttons and we\n\t\t\t * set the isActive state to false to prevent the input to be\n\t\t\t * re-focused, see componentDidUpdate().\n\t\t\t */\n\t\t\tthis.setState( { isActive: false } );\n\t\t}\n\n\t\tif ( 'function' === typeof this.props.onFocus ) {\n\t\t\tthis.props.onFocus( event );\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.setState( { isActive: false } );\n\t\t} else {\n\t\t\tthis.setState( initialState );\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tlet preventDefault = false;\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase BACKSPACE:\n\t\t\t\tpreventDefault = this.handleDeleteKey( this.deleteTokenBeforeInput );\n\t\t\t\tbreak;\n\t\t\tcase ENTER:\n\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase LEFT:\n\t\t\t\tpreventDefault = this.handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase UP:\n\t\t\t\tpreventDefault = this.handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase RIGHT:\n\t\t\t\tpreventDefault = this.handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DOWN:\n\t\t\t\tpreventDefault = this.handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DELETE:\n\t\t\t\tpreventDefault = this.handleDeleteKey( this.deleteTokenAfterInput );\n\t\t\t\tbreak;\n\t\t\tcase SPACE:\n\t\t\t\tif ( this.props.tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ESCAPE:\n\t\t\t\tpreventDefault = this.handleEscapeKey( event );\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonKeyPress( event ) {\n\t\tlet preventDefault = false;\n\t\tswitch ( event.charCode ) {\n\t\t\tcase 44: // comma\n\t\t\t\tpreventDefault = this.handleCommaKey();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonContainerTouched( event ) {\n\t\t// Prevent clicking/touching the tokensAndInput container from blurring\n\t\t// the input and adding the current token.\n\t\tif ( event.target === this.tokensAndInput && this.state.isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonTokenClickRemove( event ) {\n\t\tthis.deleteToken( event.value );\n\t\tthis.input.focus();\n\t}\n\n\tonSuggestionHovered( suggestion ) {\n\t\tconst index = this.getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tthis.setState( {\n\t\t\t\tselectedSuggestionIndex: index,\n\t\t\t\tselectedSuggestionScroll: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSuggestionSelected( suggestion ) {\n\t\tthis.addNewToken( suggestion );\n\t}\n\n\tonInputChange( event ) {\n\t\tconst text = event.value;\n\t\tconst separator = this.props.tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n\t\tconst items = text.split( separator );\n\t\tconst tokenValue = last( items ) || '';\n\t\tconst inputHasMinimumChars = tokenValue.trim().length > 1;\n\t\tconst matchingSuggestions = this.getMatchingSuggestions( tokenValue );\n\t\tconst hasVisibleSuggestions = inputHasMinimumChars && !! matchingSuggestions.length;\n\n\t\tif ( items.length > 1 ) {\n\t\t\tthis.addNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: tokenValue,\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t\tisExpanded: false,\n\t\t} );\n\n\t\tthis.props.onInputChange( tokenValue );\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tthis.setState( {\n\t\t\t\tisExpanded: hasVisibleSuggestions,\n\t\t\t} );\n\n\t\t\tif ( !! matchingSuggestions.length ) {\n\t\t\t\tthis.props.debouncedSpeak( sprintf( _n(\n\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t), matchingSuggestions.length ), 'assertive' );\n\t\t\t} else {\n\t\t\t\tthis.props.debouncedSpeak( __( 'No results.' ), 'assertive' );\n\t\t\t}\n\t\t}\n\t}\n\n\thandleDeleteKey( deleteToken ) {\n\t\tlet preventDefault = false;\n\t\tif ( this.input.hasFocus() && this.isInputEmpty() ) {\n\t\t\tdeleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleUpArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex: (\n\t\t\t\t( state.selectedSuggestionIndex === 0 ? this.getMatchingSuggestions(\n\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\tprops.suggestions,\n\t\t\t\t\tprops.value,\n\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\tprops.saveTransform\n\t\t\t\t).length : state.selectedSuggestionIndex ) - 1\n\t\t\t),\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleDownArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex: (\n\t\t\t\t( state.selectedSuggestionIndex + 1 ) % this.getMatchingSuggestions(\n\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\tprops.suggestions,\n\t\t\t\t\tprops.value,\n\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\tprops.saveTransform\n\t\t\t\t).length\n\t\t\t),\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleEscapeKey( event ) {\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: event.target.value,\n\t\t\tisExpanded: false,\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t} );\n\t\treturn true; // preventDefault\n\t}\n\n\thandleCommaKey() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // preventDefault\n\t}\n\n\tmoveInputToIndex( index ) {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: props.value.length - Math.max( index, -1 ) - 1,\n\t\t} ) );\n\t}\n\n\tmoveInputBeforePreviousToken() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: Math.min( state.inputOffsetFromEnd + 1, props.value.length ),\n\t\t} ) );\n\t}\n\n\tmoveInputAfterNextToken() {\n\t\tthis.setState( ( state ) => ( {\n\t\t\tinputOffsetFromEnd: Math.max( state.inputOffsetFromEnd - 1, 0 ),\n\t\t} ) );\n\t}\n\n\tdeleteTokenBeforeInput() {\n\t\tconst index = this.getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t}\n\t}\n\n\tdeleteTokenAfterInput() {\n\t\tconst index = this.getIndexOfInput();\n\n\t\tif ( index < this.props.value.length ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t\t// update input offset since it's the offset from the last token\n\t\t\tthis.moveInputToIndex( index );\n\t\t}\n\t}\n\n\taddCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = this.getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\tthis.addNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\taddNewTokens( tokens ) {\n\t\tconst tokensToAdd = uniq(\n\t\t\ttokens\n\t\t\t\t.map( this.props.saveTransform )\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.filter( ( token ) => ! this.valueContainsToken( token ) )\n\t\t);\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = clone( this.props.value );\n\t\t\tnewValue.splice.apply(\n\t\t\t\tnewValue,\n\t\t\t\t[ this.getIndexOfInput(), 0 ].concat( tokensToAdd )\n\t\t\t);\n\t\t\tthis.props.onChange( newValue );\n\t\t}\n\t}\n\n\taddNewToken( token ) {\n\t\tthis.addNewTokens( [ token ] );\n\t\tthis.props.speak( this.props.messages.added, 'assertive' );\n\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: '',\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t\tisExpanded: false,\n\t\t} );\n\n\t\tif ( this.state.isActive ) {\n\t\t\tthis.input.focus();\n\t\t}\n\t}\n\n\tdeleteToken( token ) {\n\t\tconst newTokens = this.props.value.filter( ( item ) => {\n\t\t\treturn this.getTokenValue( item ) !== this.getTokenValue( token );\n\t\t} );\n\t\tthis.props.onChange( newTokens );\n\t\tthis.props.speak( this.props.messages.removed, 'assertive' );\n\t}\n\n\tgetTokenValue( token ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tgetMatchingSuggestions(\n\t\tsearchValue = this.state.incompleteTokenValue,\n\t\tsuggestions = this.props.suggestions,\n\t\tvalue = this.props.value,\n\t\tmaxSuggestions = this.props.maxSuggestions,\n\t\tsaveTransform = this.props.saveTransform,\n\t) {\n\t\tlet match = saveTransform( searchValue );\n\t\tconst startsWithMatch = [];\n\t\tconst containsMatch = [];\n\n\t\tif ( match.length === 0 ) {\n\t\t\tsuggestions = difference( suggestions, value );\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\teach( suggestions, ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( value.indexOf( suggestion ) === -1 ) {\n\t\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\t\tstartsWithMatch.push( suggestion );\n\t\t\t\t\t} else if ( index > 0 ) {\n\t\t\t\t\t\tcontainsMatch.push( suggestion );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsuggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn take( suggestions, maxSuggestions );\n\t}\n\n\tgetSelectedSuggestion() {\n\t\tif ( this.state.selectedSuggestionIndex !== -1 ) {\n\t\t\treturn this.getMatchingSuggestions()[ this.state.selectedSuggestionIndex ];\n\t\t}\n\t}\n\n\tvalueContainsToken( token ) {\n\t\treturn some( this.props.value, ( item ) => {\n\t\t\treturn this.getTokenValue( token ) === this.getTokenValue( item );\n\t\t} );\n\t}\n\n\tgetIndexOfInput() {\n\t\treturn this.props.value.length - this.state.inputOffsetFromEnd;\n\t}\n\n\tisInputEmpty() {\n\t\treturn this.state.incompleteTokenValue.length === 0;\n\t}\n\n\tinputHasValidValue() {\n\t\treturn this.props.saveTransform( this.state.incompleteTokenValue ).length > 0;\n\t}\n\n\trenderTokensAndInput() {\n\t\tconst components = map( this.props.value, this.renderToken );\n\t\tcomponents.splice( this.getIndexOfInput(), 0, this.renderInput() );\n\n\t\treturn components;\n\t}\n\n\trenderToken( token, index, tokens ) {\n\t\tconst value = this.getTokenValue( token );\n\t\tconst status = token.status ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<Token\n\t\t\t\tkey={ 'token-' + value }\n\t\t\t\tvalue={ value }\n\t\t\t\tstatus={ status }\n\t\t\t\ttitle={ token.title }\n\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\tonClickRemove={ this.onTokenClickRemove }\n\t\t\t\tisBorderless={ token.isBorderless || this.props.isBorderless }\n\t\t\t\tonMouseEnter={ token.onMouseEnter }\n\t\t\t\tonMouseLeave={ token.onMouseLeave }\n\t\t\t\tdisabled={ 'error' !== status && this.props.disabled }\n\t\t\t\tmessages={ this.props.messages }\n\t\t\t\ttermsCount={ termsCount }\n\t\t\t\ttermPosition={ termPosition }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderInput() {\n\t\tconst { autoCapitalize, autoComplete, maxLength, value, placeholder, instanceId } = this.props;\n\n\t\tlet props = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tref: this.bindInput,\n\t\t\tkey: 'input',\n\t\t\tdisabled: this.props.disabled,\n\t\t\tvalue: this.state.incompleteTokenValue,\n\t\t\tonBlur: this.onBlur,\n\t\t\tisExpanded: this.state.isExpanded,\n\t\t\tselectedSuggestionIndex: this.state.selectedSuggestionIndex,\n\t\t};\n\n\t\tif ( value.length === 0 && placeholder ) {\n\t\t\tprops.placeholder = placeholder;\n\t\t}\n\n\t\tif ( ! ( maxLength && value.length >= maxLength ) ) {\n\t\t\tprops = { ...props, onChange: this.onInputChange };\n\t\t}\n\n\t\treturn (\n\t\t\t<TokenInput { ...props } />\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tplaceholder = __( 'Add item.' ),\n\t\t\tinstanceId,\n\t\t\tclassName,\n\t\t} = this.props;\n\t\tconst { isExpanded } = this.state;\n\t\tconst classes = classnames( className, 'components-form-token-field', {\n\t\t\t'is-active': this.state.isActive,\n\t\t\t'is-disabled': disabled,\n\t\t} );\n\n\t\tlet tokenFieldProps = {\n\t\t\tclassName: classes,\n\t\t\ttabIndex: '-1',\n\t\t};\n\t\tconst matchingSuggestions = this.getMatchingSuggestions();\n\n\t\tif ( ! disabled ) {\n\t\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\t\tonKeyDown: this.onKeyDown,\n\t\t\t\tonKeyPress: this.onKeyPress,\n\t\t\t\tonFocus: this.onFocus,\n\t\t\t} );\n\t\t}\n\n\t\t// Disable reason: There is no appropriate role which describes the\n\t\t// input container intended accessible usability.\n\t\t// TODO: Refactor click detection to use blur to stop propagation.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t<div { ...tokenFieldProps } >\n\t\t\t\t<label htmlFor={ `components-form-token-input-${ instanceId }` } className=\"screen-reader-text\">\n\t\t\t\t\t{ placeholder }\n\t\t\t\t</label>\n\t\t\t\t<div ref={ this.bindTokensAndInput }\n\t\t\t\t\tclassName=\"components-form-token-field__input-container\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tonMouseDown={ this.onContainerTouched }\n\t\t\t\t\tonTouchStart={ this.onContainerTouched }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderTokensAndInput() }\n\t\t\t\t</div>\n\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\tmatch={ this.props.saveTransform( this.state.incompleteTokenValue ) }\n\t\t\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\tselectedIndex={ this.state.selectedSuggestionIndex }\n\t\t\t\t\t\tscrollIntoView={ this.state.selectedSuggestionScroll }\n\t\t\t\t\t\tonHover={ this.onSuggestionHovered }\n\t\t\t\t\t\tonSelect={ this.onSuggestionSelected }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div id={ `components-form-token-suggestions-howto-${ instanceId }` } className=\"screen-reader-text\">\n\t\t\t\t\t{ __( 'Separate with commas' ) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t}\n}\n\nFormTokenField.defaultProps = {\n\tsuggestions: Object.freeze( [] ),\n\tmaxSuggestions: 100,\n\tvalue: Object.freeze( [] ),\n\tplaceholder: '',\n\tdisplayTransform: identity,\n\tsaveTransform: ( token ) => token.trim(),\n\tonChange: () => {},\n\tonInputChange: () => {},\n\tisBorderless: false,\n\tdisabled: false,\n\ttokenizeOnSpace: false,\n\tmessages: {\n\t\tadded: __( 'Item added.' ),\n\t\tremoved: __( 'Item removed.' ),\n\t\tremove: __( 'Remove item' ),\n\t},\n};\n\nexport default withSpokenMessages( withInstanceId( FormTokenField ) );\n","/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass SuggestionsList extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.handleMouseDown = this.handleMouseDown.bind( this );\n\t\tthis.bindList = this.bindList.bind( this );\n\t}\n\n\tcomponentDidUpdate() {\n\t\t// only have to worry about scrolling selected suggestion into view\n\t\t// when already expanded\n\t\tif ( this.props.selectedIndex > -1 && this.props.scrollIntoView ) {\n\t\t\tthis.scrollingIntoView = true;\n\t\t\tscrollIntoView( this.list.children[ this.props.selectedIndex ], this.list, {\n\t\t\t\tonlyScrollIfNeeded: true,\n\t\t\t} );\n\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.scrollingIntoView = false;\n\t\t\t}, 100 );\n\t\t}\n\t}\n\n\tbindList( ref ) {\n\t\tthis.list = ref;\n\t}\n\n\thandleHover( suggestion ) {\n\t\treturn () => {\n\t\t\tif ( ! this.scrollingIntoView ) {\n\t\t\t\tthis.props.onHover( suggestion );\n\t\t\t}\n\t\t};\n\t}\n\n\thandleClick( suggestion ) {\n\t\treturn () => {\n\t\t\tthis.props.onSelect( suggestion );\n\t\t};\n\t}\n\n\thandleMouseDown( e ) {\n\t\t// By preventing default here, we will not lose focus of <input> when clicking a suggestion\n\t\te.preventDefault();\n\t}\n\n\tcomputeSuggestionMatch( suggestion ) {\n\t\tconst match = this.props.displayTransform( this.props.match || '' ).toLocaleLowerCase();\n\t\tif ( match.length === 0 ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsuggestion = this.props.displayTransform( suggestion );\n\t\tconst indexOfMatch = suggestion.toLocaleLowerCase().indexOf( match );\n\n\t\treturn {\n\t\t\tsuggestionBeforeMatch: suggestion.substring( 0, indexOfMatch ),\n\t\t\tsuggestionMatch: suggestion.substring( indexOfMatch, indexOfMatch + match.length ),\n\t\t\tsuggestionAfterMatch: suggestion.substring( indexOfMatch + match.length ),\n\t\t};\n\t}\n\n\trender() {\n\t\t// We set `tabIndex` here because otherwise Firefox sets focus on this\n\t\t// div when tabbing off of the input in `TokenField` -- not really sure\n\t\t// why, since usually a div isn't focusable by default\n\t\t// TODO does this still apply now that it's a <ul> and not a <div>?\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tref={ this.bindList }\n\t\t\t\tclassName=\"components-form-token-field__suggestions-list\"\n\t\t\t\tid={ `components-form-token-suggestions-${ this.props.instanceId }` }\n\t\t\t\trole=\"listbox\"\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tmap( this.props.suggestions, ( suggestion, index ) => {\n\t\t\t\t\t\tconst match = this.computeSuggestionMatch( suggestion );\n\t\t\t\t\t\tconst classeName = classnames( 'components-form-token-field__suggestion', {\n\t\t\t\t\t\t\t'is-selected': index === this.props.selectedIndex,\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tid={ `components-form-token-suggestions-${ this.props.instanceId }-${ index }` }\n\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\tclassName={ classeName }\n\t\t\t\t\t\t\t\tkey={ suggestion }\n\t\t\t\t\t\t\t\tonMouseDown={ this.handleMouseDown }\n\t\t\t\t\t\t\t\tonClick={ this.handleClick( suggestion ) }\n\t\t\t\t\t\t\t\tonMouseEnter={ this.handleHover( suggestion ) }\n\t\t\t\t\t\t\t\taria-selected={ index === this.props.selectedIndex }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ match ?\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t<span aria-label={ this.props.displayTransform( suggestion ) }>\n\t\t\t\t\t\t\t\t\t\t\t{ match.suggestionBeforeMatch }\n\t\t\t\t\t\t\t\t\t\t\t<strong className=\"components-form-token-field__suggestion-match\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ match.suggestionMatch }\n\t\t\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t\t\t\t{ match.suggestionAfterMatch }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) :\n\t\t\t\t\t\t\t\t\tthis.props.displayTransform( suggestion )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nSuggestionsList.defaultProps = {\n\tmatch: '',\n\tonHover: () => {},\n\tonSelect: () => {},\n\tsuggestions: Object.freeze( [] ),\n};\n\nexport default SuggestionsList;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass TokenInput extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onChange = this.onChange.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t}\n\n\tfocus() {\n\t\tthis.input.focus();\n\t}\n\n\thasFocus() {\n\t\treturn this.input === document.activeElement;\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\tonChange( event ) {\n\t\tthis.props.onChange( {\n\t\t\tvalue: event.target.value,\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { value, placeholder, isExpanded, instanceId, selectedSuggestionIndex, ...props } = this.props;\n\t\tconst size = ( ( value.length === 0 && placeholder && placeholder.length ) || value.length ) + 1;\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tref={ this.bindInput }\n\t\t\t\tid={ `components-form-token-input-${ instanceId }` }\n\t\t\t\ttype=\"text\"\n\t\t\t\t{ ...props }\n\t\t\t\tvalue={ value }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tonChange={ this.onChange }\n\t\t\t\tsize={ size }\n\t\t\t\tclassName=\"components-form-token-field__input\"\n\t\t\t\trole=\"combobox\"\n\t\t\t\taria-expanded={ isExpanded }\n\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\taria-owns={ isExpanded ? `components-form-token-suggestions-${ instanceId }` : undefined }\n\t\t\t\taria-activedescendant={ selectedSuggestionIndex !== -1 ? `components-form-token-suggestions-${ instanceId }-${ selectedSuggestionIndex }` : undefined }\n\t\t\t\taria-describedby={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default TokenInput;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\n\nfunction Token( {\n\tvalue,\n\tstatus,\n\ttitle,\n\tdisplayTransform,\n\tisBorderless = false,\n\tdisabled = false,\n\tonClickRemove = noop,\n\tonMouseEnter,\n\tonMouseLeave,\n\tmessages,\n\ttermPosition,\n\ttermsCount,\n\tinstanceId,\n} ) {\n\tconst tokenClasses = classnames( 'components-form-token-field__token', {\n\t\t'is-error': 'error' === status,\n\t\t'is-success': 'success' === status,\n\t\t'is-validating': 'validating' === status,\n\t\t'is-borderless': isBorderless,\n\t\t'is-disabled': disabled,\n\t} );\n\n\tconst onClick = () => onClickRemove( { value } );\n\n\tconst transformedValue = displayTransform( value );\n\tconst termPositionAndCount = sprintf(\n\t\t/* translators: 1: term name, 2: term position in a set of terms, 3: total term set count. */\n\t\t__( '%1$s (%2$s of %3$s)' ),\n\t\ttransformedValue,\n\t\ttermPosition,\n\t\ttermsCount\n\t);\n\n\treturn (\n\t\t<span\n\t\t\tclassName={ tokenClasses }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\ttitle={ title }\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName=\"components-form-token-field__token-text\"\n\t\t\t\tid={ `components-form-token-field__token-text-${ instanceId }` }\n\t\t\t>\n\t\t\t\t<span className=\"screen-reader-text\">{ termPositionAndCount }</span>\n\t\t\t\t<span aria-hidden=\"true\">{ transformedValue }</span>\n\t\t\t</span>\n\n\t\t\t<IconButton\n\t\t\t\tclassName=\"components-form-token-field__remove-token\"\n\t\t\t\ticon=\"dismiss\"\n\t\t\t\tonClick={ ! disabled && onClick }\n\t\t\t\tlabel={ messages.remove }\n\t\t\t\taria-describedby={ `components-form-token-field__token-text-${ instanceId }` }\n\t\t\t/>\n\t\t</span>\n\t);\n}\n\nexport default withInstanceId( Token );\n","/**\n * External Dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress Dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal Dependencies\n */\nimport KeyboardShortcuts from '../../keyboard-shortcuts';\n\nexport default createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\t\t\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\t\t\tthis.focusNextRegion = this.focusRegion.bind( this, 1 );\n\t\t\t\tthis.focusPreviousRegion = this.focusRegion.bind( this, -1 );\n\t\t\t\tthis.onClick = this.onClick.bind( this );\n\t\t\t\tthis.state = {\n\t\t\t\t\tisFocusingRegions: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tbindContainer( ref ) {\n\t\t\t\tthis.container = ref;\n\t\t\t}\n\n\t\t\tfocusRegion( offset ) {\n\t\t\t\tconst regions = [ ...this.container.querySelectorAll( '[role=\"region\"]' ) ];\n\t\t\t\tif ( ! regions.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet nextRegion = regions[ 0 ];\n\t\t\t\tconst selectedIndex = regions.indexOf( document.activeElement );\n\t\t\t\tif ( selectedIndex !== -1 ) {\n\t\t\t\t\tlet nextIndex = selectedIndex + offset;\n\t\t\t\t\tnextIndex = nextIndex === -1 ? regions.length - 1 : nextIndex;\n\t\t\t\t\tnextIndex = nextIndex === regions.length ? 0 : nextIndex;\n\t\t\t\t\tnextRegion = regions[ nextIndex ];\n\t\t\t\t}\n\n\t\t\t\tnextRegion.focus();\n\t\t\t\tthis.setState( { isFocusingRegions: true } );\n\t\t\t}\n\n\t\t\tonClick() {\n\t\t\t\tthis.setState( { isFocusingRegions: false } );\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\tconst className = classnames( 'components-navigate-regions', {\n\t\t\t\t\t'is-focusing-regions': this.state.isFocusingRegions,\n\t\t\t\t} );\n\n\t\t\t\t// Disable reason: Clicking the editor should dismiss the regions focus style\n\t\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t\t\t\treturn (\n\t\t\t\t\t<div ref={ this.bindContainer } className={ className } onClick={ this.onClick }>\n\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\tbindGlobal\n\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t'ctrl+`': this.focusNextRegion,\n\t\t\t\t\t\t\t\t'shift+alt+n': this.focusNextRegion,\n\t\t\t\t\t\t\t\t'ctrl+shift+`': this.focusPreviousRegion,\n\t\t\t\t\t\t\t\t'shift+alt+p': this.focusPreviousRegion,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<WrappedComponent { ...this.props } />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t\t\t}\n\t\t};\n\t}, 'navigateRegions'\n);\n","/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { TAB } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\n\nconst withConstrainedTabbing = createHigherOrderComponent(\n\t( WrappedComponent ) => class extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\n\t\t\tthis.focusContainRef = createRef();\n\t\t\tthis.handleTabBehaviour = this.handleTabBehaviour.bind( this );\n\t\t}\n\n\t\thandleTabBehaviour( event ) {\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst tabbables = focus.tabbable.find( this.focusContainRef.current );\n\t\t\tif ( ! tabbables.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst firstTabbable = tabbables[ 0 ];\n\t\t\tconst lastTabbable = tabbables[ tabbables.length - 1 ];\n\n\t\t\tif ( event.shiftKey && event.target === firstTabbable ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tlastTabbable.focus();\n\t\t\t} else if ( ! event.shiftKey && event.target === lastTabbable ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tfirstTabbable.focus();\n\t\t\t/*\n\t\t\t * When pressing Tab and none of the tabbables has focus, the keydown\n\t\t\t * event happens on the wrapper div: move focus on the first tabbable.\n\t\t\t */\n\t\t\t} else if ( ! tabbables.includes( event.target ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tfirstTabbable.focus();\n\t\t\t}\n\t\t}\n\n\t\trender() {\n\t\t\t// Disable reason: this component is non-interactive, but must capture\n\t\t\t// events from the wrapped component to determine when the Tab key is used.\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tonKeyDown={ this.handleTabBehaviour }\n\t\t\t\t\tref={ this.focusContainRef }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t<WrappedComponent { ...this.props } />\n\t\t\t\t</div>\n\t\t\t);\n\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t\t}\n\t},\n\t'withConstrainedTabbing'\n);\n\nexport default withConstrainedTabbing;\n","/**\n * External dependencies\n */\nimport { every, isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nexport default ( mapNodeToProps ) => createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\t\t\t\tthis.nodeRef = this.props.node;\n\t\t\t\tthis.state = {\n\t\t\t\t\tfallbackStyles: undefined,\n\t\t\t\t\tgrabStylesCompleted: false,\n\t\t\t\t};\n\n\t\t\t\tthis.bindRef = this.bindRef.bind( this );\n\t\t\t}\n\n\t\t\tbindRef( node ) {\n\t\t\t\tif ( ! node ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.nodeRef = node;\n\t\t\t}\n\n\t\t\tcomponentDidMount() {\n\t\t\t\tthis.grabFallbackStyles();\n\t\t\t}\n\n\t\t\tcomponentDidUpdate() {\n\t\t\t\tthis.grabFallbackStyles();\n\t\t\t}\n\n\t\t\tgrabFallbackStyles() {\n\t\t\t\tconst { grabStylesCompleted, fallbackStyles } = this.state;\n\t\t\t\tif ( this.nodeRef && ! grabStylesCompleted ) {\n\t\t\t\t\tconst newFallbackStyles = mapNodeToProps( this.nodeRef, this.props );\n\t\t\t\t\tif ( ! isEqual( newFallbackStyles, fallbackStyles ) ) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tfallbackStyles: newFallbackStyles,\n\t\t\t\t\t\t\tgrabStylesCompleted: !! every( newFallbackStyles ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\tconst wrappedComponent = <WrappedComponent { ...this.props } { ...this.state.fallbackStyles } />;\n\t\t\t\treturn this.props.node ? wrappedComponent : <div ref={ this.bindRef }> { wrappedComponent } </div>;\n\t\t\t}\n\t\t};\n\t},\n\t'withFallbackStyles'\n);\n","/**\n * External dependencies\n */\nimport { debounce, uniqueId } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { addAction, applyFilters, removeAction } from '@wordpress/hooks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nconst ANIMATION_FRAME_PERIOD = 16;\n\n/**\n * Creates a higher-order component which adds filtering capability to the\n * wrapped component. Filters get applied when the original component is about\n * to be mounted. When a filter is added or removed that matches the hook name,\n * the wrapped component re-renders.\n *\n * @param {string} hookName Hook name exposed to be used by filters.\n *\n * @return {Function} Higher-order component factory.\n */\nexport default function withFilters( hookName ) {\n\treturn createHigherOrderComponent( ( OriginalComponent ) => {\n\t\treturn class FilteredComponent extends Component {\n\t\t\t/** @inheritdoc */\n\t\t\tconstructor( props ) {\n\t\t\t\tsuper( props );\n\n\t\t\t\tthis.onHooksUpdated = this.onHooksUpdated.bind( this );\n\t\t\t\tthis.Component = applyFilters( hookName, OriginalComponent );\n\t\t\t\tthis.namespace = uniqueId( 'core/with-filters/component-' );\n\t\t\t\tthis.throttledForceUpdate = debounce( () => {\n\t\t\t\t\tthis.Component = applyFilters( hookName, OriginalComponent );\n\t\t\t\t\tthis.forceUpdate();\n\t\t\t\t}, ANIMATION_FRAME_PERIOD );\n\n\t\t\t\taddAction( 'hookRemoved', this.namespace, this.onHooksUpdated );\n\t\t\t\taddAction( 'hookAdded', this.namespace, this.onHooksUpdated );\n\t\t\t}\n\n\t\t\t/** @inheritdoc */\n\t\t\tcomponentWillUnmount() {\n\t\t\t\tthis.throttledForceUpdate.cancel();\n\t\t\t\tremoveAction( 'hookRemoved', this.namespace );\n\t\t\t\tremoveAction( 'hookAdded', this.namespace );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * When a filter is added or removed for the matching hook name, the wrapped component should re-render.\n\t\t\t *\n\t\t\t * @param {string} updatedHookName Name of the hook that was updated.\n\t\t\t */\n\t\t\tonHooksUpdated( updatedHookName ) {\n\t\t\t\tif ( updatedHookName === hookName ) {\n\t\t\t\t\tthis.throttledForceUpdate();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/** @inheritdoc */\n\t\t\trender() {\n\t\t\t\treturn <this.Component { ...this.props } />;\n\t\t\t}\n\t\t};\n\t}, 'withFilters' );\n}\n","/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Input types which are classified as button types, for use in considering\n * whether element is a (focus-normalized) button.\n *\n * @type {string[]}\n */\nconst INPUT_BUTTON_TYPES = [\n\t'button',\n\t'submit',\n];\n\n/**\n * Returns true if the given element is a button element subject to focus\n * normalization, or false otherwise.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n *\n * @param {Element} element Element to test.\n *\n * @return {boolean} Whether element is a button.\n */\nfunction isFocusNormalizedButton( element ) {\n\tswitch ( element.nodeName ) {\n\t\tcase 'A':\n\t\tcase 'BUTTON':\n\t\t\treturn true;\n\n\t\tcase 'INPUT':\n\t\t\treturn includes( INPUT_BUTTON_TYPES, element.type );\n\t}\n\n\treturn false;\n}\n\nexport default createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\n\t\t\t\tthis.bindNode = this.bindNode.bind( this );\n\t\t\t\tthis.cancelBlurCheck = this.cancelBlurCheck.bind( this );\n\t\t\t\tthis.queueBlurCheck = this.queueBlurCheck.bind( this );\n\t\t\t\tthis.normalizeButtonFocus = this.normalizeButtonFocus.bind( this );\n\t\t\t}\n\n\t\t\tcomponentWillUnmount() {\n\t\t\t\tthis.cancelBlurCheck();\n\t\t\t}\n\n\t\t\tbindNode( node ) {\n\t\t\t\tif ( node ) {\n\t\t\t\t\tthis.node = node;\n\t\t\t\t} else {\n\t\t\t\t\tdelete this.node;\n\t\t\t\t\tthis.cancelBlurCheck();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tqueueBlurCheck( event ) {\n\t\t\t\t// React does not allow using an event reference asynchronously\n\t\t\t\t// due to recycling behavior, except when explicitly persisted.\n\t\t\t\tevent.persist();\n\n\t\t\t\t// Skip blur check if clicking button. See `normalizeButtonFocus`.\n\t\t\t\tif ( this.preventBlurCheck ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.blurCheckTimeout = setTimeout( () => {\n\t\t\t\t\tif ( 'function' === typeof this.node.handleFocusOutside ) {\n\t\t\t\t\t\tthis.node.handleFocusOutside( event );\n\t\t\t\t\t}\n\t\t\t\t}, 0 );\n\t\t\t}\n\n\t\t\tcancelBlurCheck() {\n\t\t\t\tclearTimeout( this.blurCheckTimeout );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Handles a mousedown or mouseup event to respectively assign and\n\t\t\t * unassign a flag for preventing blur check on button elements. Some\n\t\t\t * browsers, namely Firefox and Safari, do not emit a focus event on\n\t\t\t * button elements when clicked, while others do. The logic here\n\t\t\t * intends to normalize this as treating click on buttons as focus.\n\t\t\t *\n\t\t\t * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n\t\t\t *\n\t\t\t * @param {MouseEvent} event Event for mousedown or mouseup.\n\t\t\t */\n\t\t\tnormalizeButtonFocus( event ) {\n\t\t\t\tconst { type, target } = event;\n\n\t\t\t\tconst isInteractionEnd = includes( [ 'mouseup', 'touchend' ], type );\n\n\t\t\t\tif ( isInteractionEnd ) {\n\t\t\t\t\tthis.preventBlurCheck = false;\n\t\t\t\t} else if ( isFocusNormalizedButton( target ) ) {\n\t\t\t\t\tthis.preventBlurCheck = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\t// Disable reason: See `normalizeButtonFocus` for browser-specific\n\t\t\t\t// focus event normalization.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tonFocus={ this.cancelBlurCheck }\n\t\t\t\t\t\tonMouseDown={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonMouseUp={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonTouchStart={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonTouchEnd={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonBlur={ this.queueBlurCheck }\n\t\t\t\t\t>\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\tref={ this.bindNode }\n\t\t\t\t\t\t\t{ ...this.props } />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t\t\t}\n\t\t};\n\t}, 'withFocusOutside'\n);\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Higher Order Component used to be used to wrap disposable elements like\n * sidebars, modals, dropdowns. When mounting the wrapped component, we track a\n * reference to the current active element so we know where to restore focus\n * when the component is unmounted.\n *\n * @param {WPElement} WrappedComponent The disposable component.\n *\n * @return {Component} Component with the focus restauration behaviour.\n */\nexport default createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\n\t\t\t\tthis.setIsFocusedTrue = () => this.isFocused = true;\n\t\t\t\tthis.setIsFocusedFalse = () => this.isFocused = false;\n\t\t\t\tthis.activeElementOnMount = document.activeElement;\n\t\t\t}\n\n\t\t\tcomponentWillUnmount() {\n\t\t\t\tconst { activeElementOnMount, isFocused } = this;\n\t\t\t\tif ( ! activeElementOnMount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { body, activeElement } = document;\n\t\t\t\tif ( isFocused || null === activeElement || body === activeElement ) {\n\t\t\t\t\tactiveElementOnMount.focus();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tonFocus={ this.setIsFocusedTrue }\n\t\t\t\t\t\tonBlur={ this.setIsFocusedFalse }\n\t\t\t\t\t>\n\t\t\t\t\t\t<WrappedComponent { ...this.props } />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}, 'withFocusReturn'\n);\n","/**\n * External dependencies\n */\nimport uuid from 'uuid/v4';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport NoticeList from '../../notice/list';\n\n/**\n * Override the default edit UI to include notices if supported.\n *\n * @param {function|Component} OriginalComponent Original component.\n * @return {Component} Wrapped component.\n */\nexport default createHigherOrderComponent( ( OriginalComponent ) => {\n\treturn class WrappedBlockEdit extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\n\t\t\tthis.createNotice = this.createNotice.bind( this );\n\t\t\tthis.createErrorNotice = this.createErrorNotice.bind( this );\n\t\t\tthis.removeNotice = this.removeNotice.bind( this );\n\t\t\tthis.removeAllNotices = this.removeAllNotices.bind( this );\n\n\t\t\tthis.state = {\n\t\t\t\tnoticeList: [],\n\t\t\t};\n\n\t\t\tthis.noticeOperations = {\n\t\t\t\tcreateNotice: this.createNotice,\n\t\t\t\tcreateErrorNotice: this.createErrorNotice,\n\t\t\t\tremoveAllNotices: this.removeAllNotices,\n\t\t\t\tremoveNotice: this.removeNotice,\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t* Function passed down as a prop that adds a new notice.\n\t\t*\n\t\t* @param {Object} notice Notice to add.\n\t\t*/\n\t\tcreateNotice( notice ) {\n\t\t\tconst noticeToAdd = notice.id ? notice : { ...notice, id: uuid() };\n\t\t\tthis.setState( ( state ) => ( {\n\t\t\t\tnoticeList: [ ...state.noticeList, noticeToAdd ],\n\t\t\t} ) );\n\t\t}\n\n\t\t/**\n\t\t* Function passed as a prop that adds a new error notice.\n\t\t*\n\t\t* @param {string} msg Error message of the notice.\n\t\t*/\n\t\tcreateErrorNotice( msg ) {\n\t\t\tthis.createNotice( { status: 'error', content: msg } );\n\t\t}\n\n\t\t/**\n\t\t* Removes a notice by id.\n\t\t*\n\t\t* @param {string} id Id of the notice to remove.\n\t\t*/\n\t\tremoveNotice( id ) {\n\t\t\tthis.setState( ( state ) => ( {\n\t\t\t\tnoticeList: state.noticeList.filter( ( notice ) => notice.id !== id ),\n\t\t\t} ) );\n\t\t}\n\n\t\t/**\n\t\t* Removes all notices\n\t\t*/\n\t\tremoveAllNotices() {\n\t\t\tthis.setState( {\n\t\t\t\tnoticeList: [],\n\t\t\t} );\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<OriginalComponent\n\t\t\t\t\tnoticeList={ this.state.noticeList }\n\t\t\t\t\tnoticeOperations={ this.noticeOperations }\n\t\t\t\t\tnoticeUI={\n\t\t\t\t\t\tthis.state.noticeList.length > 0 && <NoticeList\n\t\t\t\t\t\t\tclassName=\"components-with-notices-ui\"\n\t\t\t\t\t\t\tnotices={ this.state.noticeList }\n\t\t\t\t\t\t\tonRemove={ this.removeNotice }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t{ ...this.props }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t};\n} );\n","/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * A Higher Order Component used to be provide a unique instance ID by\n * component.\n *\n * @param {WPElement} WrappedComponent The wrapped component.\n *\n * @return {Component} Component with an instanceId prop.\n */\nexport default createHigherOrderComponent( ( WrappedComponent ) => {\n\treturn class extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\t\t\tthis.debouncedSpeak = debounce( this.speak.bind( this ), 500 );\n\t\t}\n\n\t\tspeak( message, type = 'polite' ) {\n\t\t\tspeak( message, type );\n\t\t}\n\n\t\tcomponentWillUnmount() {\n\t\t\tthis.debouncedSpeak.cancel();\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<WrappedComponent { ...this.props }\n\t\t\t\t\tspeak={ this.speak }\n\t\t\t\t\tdebouncedSpeak={ this.debouncedSpeak }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t};\n}, 'withSpokenMessages' );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isString, isArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Tooltip from '../tooltip';\nimport Button from '../button';\nimport Dashicon from '../dashicon';\n\n// This is intentionally a Component class, not a function component because it\n// is common to apply a ref to the button element (only supported in class)\nclass IconButton extends Component {\n\trender() {\n\t\tconst { icon, children, label, className, tooltip, shortcut, ...additionalProps } = this.props;\n\t\tconst classes = classnames( 'components-icon-button', className );\n\t\tconst tooltipText = tooltip || label;\n\n\t\t// Should show the tooltip if...\n\t\tconst showTooltip = (\n\t\t\t// an explicit tooltip is passed or...\n\t\t\ttooltip ||\n\t\t\t// there's a shortcut or...\n\t\t\tshortcut ||\n\t\t\t(\n\t\t\t\t// there's a label and...\n\t\t\t\t!! label &&\n\t\t\t\t// the children are empty and...\n\t\t\t\t( ! children || ( isArray( children ) && ! children.length ) ) &&\n\t\t\t\t// the tooltip is not explicitly disabled.\n\t\t\t\tfalse !== tooltip\n\t\t\t)\n\t\t);\n\n\t\tlet element = (\n\t\t\t<Button { ...additionalProps } aria-label={ label } className={ classes }>\n\t\t\t\t{ isString( icon ) ? <Dashicon icon={ icon } /> : icon }\n\t\t\t\t{ children }\n\t\t\t</Button>\n\t\t);\n\n\t\tif ( showTooltip ) {\n\t\t\telement = (\n\t\t\t\t<Tooltip text={ tooltipText } shortcut={ shortcut }>\n\t\t\t\t\t{ element }\n\t\t\t\t</Tooltip>\n\t\t\t);\n\t\t}\n\n\t\treturn element;\n\t}\n}\n\nexport default IconButton;\n","// Components\nexport * from './primitives';\n// eslint-disable-next-line camelcase\nexport { default as Autocomplete } from './autocomplete';\nexport { default as BaseControl } from './base-control';\nexport { default as Button } from './button';\nexport { default as ButtonGroup } from './button-group';\nexport { default as CheckboxControl } from './checkbox-control';\nexport { default as ClipboardButton } from './clipboard-button';\nexport { default as ColorIndicator } from './color-indicator';\nexport { default as ColorPalette } from './color-palette';\nexport { default as Dashicon } from './dashicon';\nexport { DateTimePicker, DatePicker, TimePicker } from './date-time';\nexport { default as Disabled } from './disabled';\nexport { default as Draggable } from './draggable';\nexport { default as DropZone } from './drop-zone';\nexport { default as DropZoneProvider } from './drop-zone/provider';\nexport { default as Dropdown } from './dropdown';\nexport { default as DropdownMenu } from './dropdown-menu';\nexport { default as ExternalLink } from './external-link';\nexport { default as FocusableIframe } from './focusable-iframe';\nexport { default as FontSizePicker } from './font-size-picker';\nexport { default as FormFileUpload } from './form-file-upload';\nexport { default as FormToggle } from './form-toggle';\nexport { default as FormTokenField } from './form-token-field';\nexport { default as IconButton } from './icon-button';\nexport { default as KeyboardShortcuts } from './keyboard-shortcuts';\nexport { default as MenuGroup } from './menu-group';\nexport { default as MenuItem } from './menu-item';\nexport { default as MenuItemsChoice } from './menu-items-choice';\nexport { default as Modal } from './modal';\nexport { default as ScrollLock } from './scroll-lock';\nexport { NavigableMenu, TabbableContainer } from './navigable-container';\nexport { default as Notice } from './notice';\nexport { default as NoticeList } from './notice/list';\nexport { default as Panel } from './panel';\nexport { default as PanelBody } from './panel/body';\nexport { default as PanelColor } from './panel/color';\nexport { default as PanelHeader } from './panel/header';\nexport { default as PanelRow } from './panel/row';\nexport { default as Placeholder } from './placeholder';\nexport { default as Popover } from './popover';\nexport { default as QueryControls } from './query-controls';\nexport { default as RadioControl } from './radio-control';\nexport { default as RangeControl } from './range-control';\nexport { default as ResizableBox } from './resizable-box';\nexport { default as ResponsiveWrapper } from './responsive-wrapper';\nexport { default as SandBox } from './sandbox';\nexport { default as SelectControl } from './select-control';\nexport { default as Spinner } from './spinner';\nexport { default as ServerSideRender } from './server-side-render';\nexport { default as TabPanel } from './tab-panel';\nexport { default as TextControl } from './text-control';\nexport { default as TextareaControl } from './textarea-control';\nexport { default as ToggleControl } from './toggle-control';\nexport { default as Toolbar } from './toolbar';\nexport { default as Tooltip } from './tooltip';\nexport { default as TreeSelect } from './tree-select';\nexport { createSlotFill, Slot, Fill, Provider as SlotFillProvider } from './slot-fill';\n\n// Higher-Order Components\nexport { default as navigateRegions } from './higher-order/navigate-regions';\nexport { default as withConstrainedTabbing } from './higher-order/with-constrained-tabbing';\nexport { default as withFallbackStyles } from './higher-order/with-fallback-styles';\nexport { default as withFilters } from './higher-order/with-filters';\nexport { default as withFocusOutside } from './higher-order/with-focus-outside';\nexport { default as withFocusReturn } from './higher-order/with-focus-return';\nexport { default as withNotices } from './higher-order/with-notices';\nexport { default as withSpokenMessages } from './higher-order/with-spoken-messages';\n","/**\n * External dependencies\n */\nimport Mousetrap from 'mousetrap';\nimport 'mousetrap/plugins/global-bind/mousetrap-global-bind';\nimport { forEach } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, Children } from '@wordpress/element';\n\nclass KeyboardShortcuts extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindKeyTarget = this.bindKeyTarget.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { keyTarget = document } = this;\n\n\t\tthis.mousetrap = new Mousetrap( keyTarget );\n\t\tforEach( this.props.shortcuts, ( callback, key ) => {\n\t\t\tconst { bindGlobal, eventName } = this.props;\n\t\t\tconst bindFn = bindGlobal ? 'bindGlobal' : 'bind';\n\t\t\tthis.mousetrap[ bindFn ]( key, callback, eventName );\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.mousetrap.reset();\n\t}\n\n\t/**\n\t * When rendering with children, binds the wrapper node on which events\n\t * will be bound.\n\t *\n\t * @param {Element} node Key event target.\n\t */\n\tbindKeyTarget( node ) {\n\t\tthis.keyTarget = node;\n\t}\n\n\trender() {\n\t\t// Render as non-visual if there are no children pressed. Keyboard\n\t\t// events will be bound to the document instead.\n\t\tconst { children } = this.props;\n\t\tif ( ! Children.count( children ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <div ref={ this.bindKeyTarget }>{ children }</div>;\n\t}\n}\n\nexport default KeyboardShortcuts;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Children } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { NavigableMenu } from '../navigable-container';\n\nexport function MenuGroup( {\n\tchildren,\n\tclassName = '',\n\tinstanceId,\n\tlabel,\n} ) {\n\tif ( ! Children.count( children ) ) {\n\t\treturn null;\n\t}\n\n\tconst labelId = `components-menu-group-label-${ instanceId }`;\n\tconst classNames = classnames( className, 'components-menu-group' );\n\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t{ label &&\n\t\t\t\t<div className=\"components-menu-group__label\" id={ labelId }>{ label }</div>\n\t\t\t}\n\t\t\t<NavigableMenu orientation=\"vertical\" aria-labelledby={ labelId }>\n\t\t\t\t{ children }\n\t\t\t</NavigableMenu>\n\t\t</div>\n\t);\n}\n\nexport default withInstanceId( MenuGroup );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isString } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { cloneElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport Shortcut from '../shortcut';\nimport IconButton from '../icon-button';\n\n/**\n * Renders a generic menu item for use inside the more menu.\n *\n * @return {WPElement} More menu item.\n */\nfunction MenuItem( { children, className, icon, shortcut, isSelected, role = 'menuitem', ...props } ) {\n\tclassName = classnames( 'components-menu-item__button', className, {\n\t\t'has-icon': icon,\n\t} );\n\n\tif ( icon ) {\n\t\tif ( ! isString( icon ) ) {\n\t\t\ticon = cloneElement( icon, {\n\t\t\t\tclassName: 'components-menu-items__item-icon',\n\t\t\t\theight: 20,\n\t\t\t\twidth: 20,\n\t\t\t} );\n\t\t}\n\n\t\treturn (\n\t\t\t<IconButton\n\t\t\t\tclassName={ className }\n\t\t\t\ticon={ icon }\n\t\t\t\taria-checked={ isSelected }\n\t\t\t\trole={ role }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t\t<Shortcut className=\"components-menu-item__shortcut\" shortcut={ shortcut } />\n\t\t\t</IconButton>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\taria-checked={ isSelected }\n\t\t\trole={ role }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t\t<Shortcut className=\"components-menu-item__shortcut\" shortcut={ shortcut } />\n\t\t</Button>\n\t);\n}\n\nexport default MenuItem;\n","/**\n * Internal dependencies\n */\nimport MenuItem from '../menu-item';\n\nexport default function MenuItemsChoice( {\n\tchoices = [],\n\tonSelect,\n\tvalue,\n} ) {\n\treturn choices.map( ( item ) => {\n\t\tconst isSelected = value === item.value;\n\t\treturn (\n\t\t\t<MenuItem\n\t\t\t\tkey={ item.value }\n\t\t\t\trole=\"menuitemradio\"\n\t\t\t\ticon={ isSelected && 'yes' }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tshortcut={ item.shortcut }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\t\tonSelect( item.value );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ item.label }\n\t\t\t</MenuItem>\n\t\t);\n\t} );\n}\n","/**\n * External dependencies\n */\nimport { forEach } from 'lodash';\n\nconst LIVE_REGION_ARIA_ROLES = new Set( [\n\t'alert',\n\t'status',\n\t'log',\n\t'marquee',\n\t'timer',\n] );\n\nlet hiddenElements = [],\n\tisHidden = false;\n\n/**\n * Hides all elements in the body element from screen-readers except\n * the provided element and elements that should not be hidden from\n * screen-readers.\n *\n * The reason we do this is because `aria-modal=\"true\"` currently is bugged\n * in Safari, and support is spotty in other browsers overall. In the future\n * we should consider removing these helper functions in favor of\n * `aria-modal=\"true\"`.\n *\n * @param {Element} unhiddenElement The element that should not be hidden.\n */\nexport function hideApp( unhiddenElement ) {\n\tif ( isHidden ) {\n\t\treturn;\n\t}\n\tconst elements = document.body.children;\n\tforEach( elements, ( element ) => {\n\t\tif (\n\t\t\telement === unhiddenElement\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tif ( elementShouldBeHidden( element ) ) {\n\t\t\telement.setAttribute( 'aria-hidden', 'true' );\n\t\t\thiddenElements.push( element );\n\t\t}\n\t} );\n\tisHidden = true;\n}\n\n/**\n * Determines if the passed element should not be hidden from screen readers.\n *\n * @param {HTMLElement} element The element that should be checked.\n *\n * @return {boolean} Whether the element should not be hidden from screen-readers.\n */\nexport function elementShouldBeHidden( element ) {\n\tconst role = element.getAttribute( 'role' );\n\treturn ! (\n\t\telement.tagName === 'SCRIPT' ||\n\t\telement.hasAttribute( 'aria-hidden' ) ||\n\t\telement.hasAttribute( 'aria-live' ) ||\n\t\tLIVE_REGION_ARIA_ROLES.has( role )\n\t);\n}\n\n/**\n * Makes all elements in the body that have been hidden by `hideApp`\n * visible again to screen-readers.\n */\nexport function showApp() {\n\tif ( ! isHidden ) {\n\t\treturn;\n\t}\n\tforEach( hiddenElements, ( element ) => {\n\t\telement.removeAttribute( 'aria-hidden' );\n\t} );\n\thiddenElements = [];\n\tisHidden = false;\n}\n","/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\nimport { withGlobalEvents, compose } from '@wordpress/compose';\n\n/**\n * External dependencies\n */\nimport clickOutside from 'react-click-outside';\n\n/**\n * Internal dependencies\n */\nimport withFocusReturn from '../higher-order/with-focus-return';\nimport withConstrainedTabbing from '../higher-order/with-constrained-tabbing';\n\nclass ModalFrame extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.containerRef = createRef();\n\t\tthis.handleKeyDown = this.handleKeyDown.bind( this );\n\t\tthis.handleClickOutside = this.handleClickOutside.bind( this );\n\t\tthis.focusFirstTabbable = this.focusFirstTabbable.bind( this );\n\t}\n\n\t/**\n\t * Focuses the first tabbable element when props.focusOnMount is true.\n\t */\n\tcomponentDidMount() {\n\t\t// Focus on mount\n\t\tif ( this.props.focusOnMount ) {\n\t\t\tthis.focusFirstTabbable();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the first tabbable element.\n\t */\n\tfocusFirstTabbable() {\n\t\tconst tabbables = focus.tabbable.find( this.containerRef.current );\n\t\tif ( tabbables.length ) {\n\t\t\ttabbables[ 0 ].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Callback function called when clicked outside the modal.\n\t *\n\t * @param {Object} event Mouse click event.\n\t */\n\thandleClickOutside( event ) {\n\t\tif ( this.props.shouldCloseOnClickOutside ) {\n\t\t\tthis.onRequestClose( event );\n\t\t}\n\t}\n\n\t/**\n\t * Callback function called when a key is pressed.\n\t *\n\t * @param {KeyboardEvent} event Key down event.\n\t */\n\thandleKeyDown( event ) {\n\t\tif ( event.keyCode === ESCAPE ) {\n\t\t\tthis.handleEscapeKeyDown( event );\n\t\t}\n\t}\n\n\t/**\n\t * Handles a escape key down event.\n\t *\n\t * Calls onRequestClose and prevents default key press behaviour.\n\t *\n\t * @param {Object} event Key down event.\n\t */\n\thandleEscapeKeyDown( event ) {\n\t\tif ( this.props.shouldCloseOnEsc ) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.onRequestClose( event );\n\t\t}\n\t}\n\n\t/**\n\t * Calls the onRequestClose callback props when it is available.\n\t *\n\t * @param {Object} event Event object.\n\t */\n\tonRequestClose( event ) {\n\t\tconst { onRequestClose } = this.props;\n\t\tif ( onRequestClose ) {\n\t\t\tonRequestClose( event );\n\t\t}\n\t}\n\n\t/**\n\t * Renders the modal frame element.\n\t *\n\t * @return {WPElement} The modal frame element.\n\t */\n\trender() {\n\t\tconst {\n\t\t\tcontentLabel,\n\t\t\taria: {\n\t\t\t\tdescribedby,\n\t\t\t\tlabelledby,\n\t\t\t},\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\trole,\n\t\t\tstyle,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ className }\n\t\t\t\tstyle={ style }\n\t\t\t\tref={ this.containerRef }\n\t\t\t\trole={ role }\n\t\t\t\taria-label={ contentLabel }\n\t\t\t\taria-labelledby={ contentLabel ? null : labelledby }\n\t\t\t\taria-describedby={ describedby }\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithFocusReturn,\n\twithConstrainedTabbing,\n\tclickOutside,\n\twithGlobalEvents( {\n\t\tkeydown: 'handleKeyDown',\n\t} ),\n] )( ModalFrame );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies.\n */\nimport IconButton from '../icon-button';\n\nconst ModalHeader = ( { icon, title, onClose, closeLabel, headingId, isDismissable } ) => {\n\tconst label = closeLabel ? closeLabel : __( 'Close dialog' );\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"components-modal__header\"\n\t\t>\n\t\t\t<div className=\"components-modal__header-heading-container\">\n\t\t\t\t{ icon &&\n\t\t\t\t\t<span className=\"components-modal__icon-container\" aria-hidden>\n\t\t\t\t\t\t{ icon }\n\t\t\t\t\t</span>\n\t\t\t\t}\n\t\t\t\t{ title &&\n\t\t\t\t\t<h1 id={ headingId }\n\t\t\t\t\t\tclassName=\"components-modal__header-heading\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</h1>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t{ isDismissable &&\n\t\t\t\t<IconButton\n\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\ticon=\"no-alt\"\n\t\t\t\t\tlabel={ label }\n\t\t\t\t/>\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport default ModalHeader;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createPortal } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport ModalFrame from './frame';\nimport ModalHeader from './header';\nimport * as ariaHelper from './aria-helper';\n\n// Used to count the number of open modals.\nlet parentElement,\n\topenModalCount = 0;\n\nclass Modal extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.prepareDOM();\n\t\tthis.stopEventPropagationOutsideModal = this.stopEventPropagationOutsideModal.bind( this );\n\t}\n\n\t/**\n\t * Appends the modal's node to the DOM, so the portal can render the\n\t * modal in it. Also calls the openFirstModal when this is the first modal to be\n\t * opened.\n\t */\n\tcomponentDidMount() {\n\t\topenModalCount++;\n\n\t\tif ( openModalCount === 1 ) {\n\t\t\tthis.openFirstModal();\n\t\t}\n\t}\n\n\t/**\n\t * Removes the modal's node from the DOM. Also calls closeLastModal when this is\n\t * the last modal to be closed.\n\t */\n\tcomponentWillUnmount() {\n\t\topenModalCount--;\n\n\t\tif ( openModalCount === 0 ) {\n\t\t\tthis.closeLastModal();\n\t\t}\n\n\t\tthis.cleanDOM();\n\t}\n\n\t/**\n\t * Prepares the DOM for the modals to be rendered.\n\t *\n\t * Every modal is mounted in a separate div appended to a parent div\n\t * that is appended to the document body.\n\t *\n\t * The parent div will be created if it does not yet exist, and the\n\t * separate div for this specific modal will be appended to that.\n\t */\n\tprepareDOM() {\n\t\tif ( ! parentElement ) {\n\t\t\tparentElement = document.createElement( 'div' );\n\t\t\tdocument.body.appendChild( parentElement );\n\t\t}\n\t\tthis.node = document.createElement( 'div' );\n\t\tparentElement.appendChild( this.node );\n\t}\n\n\t/**\n\t * Removes the specific mounting point for this modal from the DOM.\n\t */\n\tcleanDOM() {\n\t\tparentElement.removeChild( this.node );\n\t}\n\n\t/**\n\t * Prepares the DOM for this modal and any additional modal to be mounted.\n\t *\n\t * It appends an additional div to the body for the modals to be rendered in,\n\t * it hides any other elements from screen-readers and adds an additional class\n\t * to the body to prevent scrolling while the modal is open.\n\t */\n\topenFirstModal() {\n\t\tariaHelper.hideApp( parentElement );\n\t\tdocument.body.classList.add( this.props.bodyOpenClassName );\n\t}\n\n\t/**\n\t * Cleans up the DOM after the last modal is closed and makes the app available\n\t * for screen-readers again.\n\t */\n\tcloseLastModal() {\n\t\tdocument.body.classList.remove( this.props.bodyOpenClassName );\n\t\tariaHelper.showApp();\n\t}\n\n\t/**\n\t * Stop all onMouseDown events propagating further - they should only go to the modal\n \t * @param {string} event Event object\n\t */\n\tstopEventPropagationOutsideModal( event ) {\n\t\tevent.stopPropagation();\n\t}\n\n\t/**\n\t * Renders the modal.\n\t *\n\t * @return {WPElement} The modal element.\n\t */\n\trender() {\n\t\tconst {\n\t\t\toverlayClassName,\n\t\t\tclassName,\n\t\t\tonRequestClose,\n\t\t\ttitle,\n\t\t\ticon,\n\t\t\tcloseButtonLabel,\n\t\t\tchildren,\n\t\t\taria,\n\t\t\tinstanceId,\n\t\t\tisDismissable,\n\t\t\t...otherProps\n\t\t} = this.props;\n\n\t\tconst headingId = aria.labelledby || `components-modal-header-${ instanceId }`;\n\n\t\t// Disable reason: this stops mouse events from triggering tooltips and\n\t\t// other elements underneath the modal overlay.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn createPortal(\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'components-modal__screen-overlay', overlayClassName ) }\n\t\t\t\tonMouseDown={ this.stopEventPropagationOutsideModal }\n\t\t\t>\n\t\t\t\t<ModalFrame\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-modal__frame',\n\t\t\t\t\t\tclassName\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ onRequestClose }\n\t\t\t\t\taria={ {\n\t\t\t\t\t\tlabelledby: title ? headingId : null,\n\t\t\t\t\t\tdescribedby: aria.describedby,\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...otherProps }\n\t\t\t\t>\n\t\t\t\t\t<div className={ 'components-modal__content' } tabIndex=\"0\">\n\t\t\t\t\t\t<ModalHeader\n\t\t\t\t\t\t\tcloseLabel={ closeButtonLabel }\n\t\t\t\t\t\t\theadingId={ headingId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisDismissable={ isDismissable }\n\t\t\t\t\t\t\tonClose={ onRequestClose }\n\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</ModalFrame>\n\t\t\t</div>,\n\t\t\tthis.node\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t}\n}\n\nModal.defaultProps = {\n\tbodyOpenClassName: 'modal-open',\n\trole: 'dialog',\n\ttitle: null,\n\tonRequestClose: noop,\n\tfocusOnMount: true,\n\tshouldCloseOnEsc: true,\n\tshouldCloseOnClickOutside: true,\n\tisDismissable: true,\n\t/* accessibility */\n\taria: {\n\t\tlabelledby: null,\n\t\tdescribedby: null,\n\t},\n};\n\nexport default withInstanceId( Modal );\n","/**\n * External Dependencies\n */\nimport { omit, noop, includes } from 'lodash';\n\n/**\n * WordPress Dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { UP, DOWN, LEFT, RIGHT, TAB } from '@wordpress/keycodes';\n\nfunction cycleValue( value, total, offset ) {\n\tconst nextValue = value + offset;\n\tif ( nextValue < 0 ) {\n\t\treturn total + nextValue;\n\t} else if ( nextValue >= total ) {\n\t\treturn nextValue - total;\n\t}\n\n\treturn nextValue;\n}\n\nclass NavigableContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\n\t\tthis.getFocusableContext = this.getFocusableContext.bind( this );\n\t\tthis.getFocusableIndex = this.getFocusableIndex.bind( this );\n\t}\n\n\tbindContainer( ref ) {\n\t\tthis.container = ref;\n\t}\n\n\tgetFocusableContext( target ) {\n\t\tconst { onlyBrowserTabstops } = this.props;\n\t\tconst finder = onlyBrowserTabstops ? focus.tabbable : focus.focusable;\n\t\tconst focusables = finder.find( this.container );\n\n\t\tconst index = this.getFocusableIndex( focusables, target );\n\t\tif ( index > -1 && target ) {\n\t\t\treturn { index, target, focusables };\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetFocusableIndex( focusables, target ) {\n\t\tconst directIndex = focusables.indexOf( target );\n\t\tif ( directIndex !== -1 ) {\n\t\t\treturn directIndex;\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tif ( this.props.onKeyDown ) {\n\t\t\tthis.props.onKeyDown( event );\n\t\t}\n\n\t\tconst { getFocusableContext } = this;\n\t\tconst { cycle = true, eventToOffset, onNavigate = noop, stopNavigationEvents } = this.props;\n\n\t\tconst offset = eventToOffset( event );\n\n\t\t// eventToOffset returns undefined if the event is not handled by the component\n\t\tif ( offset !== undefined && stopNavigationEvents ) {\n\t\t\t// Prevents arrow key handlers bound to the document directly interfering\n\t\t\tevent.nativeEvent.stopImmediatePropagation();\n\n\t\t\t// When navigating a collection of items, prevent scroll containers\n\t\t\t// from scrolling.\n\t\t\tif ( event.target.getAttribute( 'role' ) === 'menuitem' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\n\t\t\tevent.stopPropagation();\n\t\t}\n\n\t\tif ( ! offset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst context = getFocusableContext( document.activeElement );\n\t\tif ( ! context ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { index, focusables } = context;\n\t\tconst nextIndex = cycle ? cycleValue( index, focusables.length, offset ) : index + offset;\n\t\tif ( nextIndex >= 0 && nextIndex < focusables.length ) {\n\t\t\tfocusables[ nextIndex ].focus();\n\t\t\tonNavigate( nextIndex, focusables[ nextIndex ] );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { children, ...props } = this.props;\n\n\t\t// Disable reason: Assumed role is applied by parent via props spread.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t<div ref={ this.bindContainer }\n\t\t\t\t{ ...omit( props, [\n\t\t\t\t\t'stopNavigationEvents',\n\t\t\t\t\t'eventToOffset',\n\t\t\t\t\t'onNavigate',\n\t\t\t\t\t'cycle',\n\t\t\t\t\t'onlyBrowserTabstops',\n\t\t\t\t] ) }\n\t\t\t\tonKeyDown={ this.onKeyDown }\n\t\t\t\tonFocus={ this.onFocus }>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport class NavigableMenu extends Component {\n\trender() {\n\t\tconst { role = 'menu', orientation = 'vertical', ...rest } = this.props;\n\n\t\tconst eventToOffset = ( evt ) => {\n\t\t\tconst { keyCode } = evt;\n\n\t\t\tlet next = [ DOWN ];\n\t\t\tlet previous = [ UP ];\n\n\t\t\tif ( orientation === 'horizontal' ) {\n\t\t\t\tnext = [ RIGHT ];\n\t\t\t\tprevious = [ LEFT ];\n\t\t\t}\n\n\t\t\tif ( orientation === 'both' ) {\n\t\t\t\tnext = [ RIGHT, DOWN ];\n\t\t\t\tprevious = [ LEFT, UP ];\n\t\t\t}\n\n\t\t\tif ( includes( next, keyCode ) ) {\n\t\t\t\treturn 1;\n\t\t\t} else if ( includes( previous, keyCode ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<NavigableContainer\n\t\t\t\tstopNavigationEvents\n\t\t\t\tonlyBrowserTabstops={ false }\n\t\t\t\trole={ role }\n\t\t\t\taria-orientation={ orientation }\n\t\t\t\teventToOffset={ eventToOffset }\n\t\t\t\t{ ...rest }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport class TabbableContainer extends Component {\n\trender() {\n\t\tconst eventToOffset = ( evt ) => {\n\t\t\tconst { keyCode, shiftKey } = evt;\n\t\t\tif ( TAB === keyCode ) {\n\t\t\t\treturn shiftKey ? -1 : 1;\n\t\t\t}\n\n\t\t\t// Allow custom handling of keys besides Tab.\n\t\t\t//\n\t\t\t// By default, TabbableContainer will move focus forward on Tab and\n\t\t\t// backward on Shift+Tab. The handler below will be used for all other\n\t\t\t// events. The semantics for `this.props.eventToOffset`'s return\n\t\t\t// values are the following:\n\t\t\t//\n\t\t\t// - +1: move focus forward\n\t\t\t// - -1: move focus backward\n\t\t\t// - 0: don't move focus, but acknowledge event and thus stop it\n\t\t\t// - undefined: do nothing, let the event propagate\n\t\t\tif ( this.props.eventToOffset ) {\n\t\t\t\treturn this.props.eventToOffset( evt );\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<NavigableContainer\n\t\t\t\tstopNavigationEvents\n\t\t\t\tonlyBrowserTabstops\n\t\t\t\teventToOffset={ eventToOffset }\n\t\t\t\t{ ...this.props }\n\t\t\t/>\n\t\t);\n\t}\n}\n","/**\n * External dependencies\n */\nimport { isString, noop } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\n\nfunction Notice( { className, status, children, onRemove = noop, isDismissible = true } ) {\n\tconst classNames = classnames( className, 'components-notice', {\n\t\t[ `is-${ status }` ]: ! ! status,\n\t}, {\n\t\t'is-dismissible': isDismissible,\n\t} );\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t{ isString( children ) ? <div className=\"components-notice__content\">{ children }</div> : children }\n\t\t\t{ isDismissible && (\n\t\t\t\t<IconButton\n\t\t\t\t\tclassName=\"components-notice__dismiss\"\n\t\t\t\t\ticon=\"no\"\n\t\t\t\t\tlabel={ __( 'Dismiss this notice' ) }\n\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\ttooltip={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default Notice;\n","/**\n * External dependencies\n */\nimport { noop, omit } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport Notice from './';\n\n/**\n* Renders a list of notices.\n*\n* @param {Object} $0 Props passed to the component.\n* @param {Array} $0.notices Array of notices to render.\n* @param {Function} $0.onRemove Function called when a notice should be removed / dismissed.\n* @param {Object} $0.className Name of the class used by the component.\n* @param {Object} $0.children Array of children to be rendered inside the notice list.\n* @return {Object} The rendered notices list.\n*/\nfunction NoticeList( { notices, onRemove = noop, className = 'components-notice-list', children } ) {\n\tconst removeNotice = ( id ) => () => onRemove( id );\n\n\treturn (\n\t\t<div className={ className }>\n\t\t\t{ children }\n\t\t\t{ [ ...notices ].reverse().map( ( notice ) => (\n\t\t\t\t<Notice { ...omit( notice, 'content' ) } key={ notice.id } onRemove={ removeNotice( notice.id ) }>\n\t\t\t\t\t{ notice.content }\n\t\t\t\t</Notice>\n\t\t\t) ) }\n\t\t</div>\n\t);\n}\n\nexport default NoticeList;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport Dashicon from '../dashicon';\nimport { G, Path, SVG } from '../primitives';\n\nclass PanelBody extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\topened: props.initialOpen === undefined ? true : props.initialOpen,\n\t\t};\n\t\tthis.toggle = this.toggle.bind( this );\n\t}\n\n\ttoggle( event ) {\n\t\tevent.preventDefault();\n\t\tif ( this.props.opened === undefined ) {\n\t\t\tthis.setState( ( state ) => ( {\n\t\t\t\topened: ! state.opened,\n\t\t\t} ) );\n\t\t}\n\n\t\tif ( this.props.onToggle ) {\n\t\t\tthis.props.onToggle();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { title, children, opened, className, icon } = this.props;\n\t\tconst isOpened = opened === undefined ? this.state.opened : opened;\n\t\tconst classes = classnames( 'components-panel__body', className, { 'is-opened': isOpened } );\n\n\t\treturn (\n\t\t\t<div className={ classes }>\n\t\t\t\t{ !! title && (\n\t\t\t\t\t<h2 className=\"components-panel__body-title\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-panel__body-toggle\"\n\t\t\t\t\t\t\tonClick={ this.toggle }\n\t\t\t\t\t\t\taria-expanded={ isOpened }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isOpened ?\n\t\t\t\t\t\t\t\t<SVG className=\"components-panel__arrow\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t\t\t\t<G><Path fill=\"none\" d=\"M0,0h24v24H0V0z\" /></G>\n\t\t\t\t\t\t\t\t\t<G><Path d=\"M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z\" /></G>\n\t\t\t\t\t\t\t\t</SVG> :\n\t\t\t\t\t\t\t\t<SVG className=\"components-panel__arrow\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t\t\t\t<G><Path fill=\"none\" d=\"M0,0h24v24H0V0z\" /></G>\n\t\t\t\t\t\t\t\t\t<G><Path d=\"M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z\" /></G>\n\t\t\t\t\t\t\t\t</SVG>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{ icon && <Dashicon icon={ icon } className=\"components-panel__icon\" /> }\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</h2>\n\t\t\t\t) }\n\t\t\t\t{ isOpened && children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default PanelBody;\n","/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PanelBody from './body';\nimport ColorIndicator from '../color-indicator';\n\nfunction PanelColor( { colorValue, colorName, title, ...props } ) {\n\t// translators: %s: The name of the color e.g: \"vivid red\" or color hex code if name is not available e.g: \"#f00\".\n\tconst currentColorLabel = sprintf( __( '(current color: %s)' ), colorName || colorValue );\n\treturn (\n\t\t<PanelBody\n\t\t\t{ ...props }\n\t\t\ttitle={ [\n\t\t\t\t<span className=\"components-panel__color-title\" key=\"title\">{ title }</span>,\n\t\t\t\tcolorValue && (\n\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\tkey=\"color\"\n\t\t\t\t\t\tclassName=\"components-panel__color-indicator\"\n\t\t\t\t\t\taria-label={ currentColorLabel }\n\t\t\t\t\t\tcolorValue={ colorValue }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t] }\n\t\t/>\n\t);\n}\n\nexport default PanelColor;\n","function PanelHeader( { label, children } ) {\n\treturn (\n\t\t<div className=\"components-panel__header\">\n\t\t\t{ label && <h2>{ label }</h2> }\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default PanelHeader;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport PanelHeader from './header';\n\nfunction Panel( { header, className, children } ) {\n\tconst classNames = classnames( className, 'components-panel' );\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t{ header && <PanelHeader label={ header } /> }\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default Panel;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nfunction PanelRow( { className, children } ) {\n\tconst classes = classnames( 'components-panel__row', className );\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default PanelRow;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isString } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\n\n/**\n* Renders a placeholder. Normally used by blocks to render their empty state.\n*\n* @param {Object} props The component props.\n* @return {Object} The rendered placeholder.\n*/\nfunction Placeholder( { icon, children, label, instructions, className, notices, ...additionalProps } ) {\n\tconst classes = classnames( 'components-placeholder', className );\n\n\treturn (\n\t\t<div { ...additionalProps } className={ classes }>\n\t\t\t{ notices }\n\t\t\t<div className=\"components-placeholder__label\">\n\t\t\t\t{ isString( icon ) ? <Dashicon icon={ icon } /> : icon }\n\t\t\t\t{ label }\n\t\t\t</div>\n\t\t\t{ !! instructions && <div className=\"components-placeholder__instructions\">{ instructions }</div> }\n\t\t\t<div className=\"components-placeholder__fieldset\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default Placeholder;\n","/**\n * External dependencies\n */\nimport clickOutside from 'react-click-outside';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass PopoverDetectOutside extends Component {\n\thandleClickOutside( event ) {\n\t\tconst { onClickOutside } = this.props;\n\t\tif ( onClickOutside ) {\n\t\t\tonClickOutside( event );\n\t\t}\n\t}\n\n\trender() {\n\t\treturn this.props.children;\n\t}\n}\n\nexport default clickOutside( PopoverDetectOutside );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { computePopoverPosition } from './utils';\nimport withFocusReturn from '../higher-order/with-focus-return';\nimport withConstrainedTabbing from '../higher-order/with-constrained-tabbing';\nimport PopoverDetectOutside from './detect-outside';\nimport IconButton from '../icon-button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill } from '../slot-fill';\n\nconst FocusManaged = withConstrainedTabbing( withFocusReturn( ( { children } ) => children ) );\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {String}\n */\nconst SLOT_NAME = 'Popover';\n\nclass Popover extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.focus = this.focus.bind( this );\n\t\tthis.refresh = this.refresh.bind( this );\n\t\tthis.getAnchorRect = this.getAnchorRect.bind( this );\n\t\tthis.updatePopoverSize = this.updatePopoverSize.bind( this );\n\t\tthis.computePopoverPosition = this.computePopoverPosition.bind( this );\n\t\tthis.throttledComputePopoverPosition = this.throttledComputePopoverPosition.bind( this );\n\t\tthis.maybeClose = this.maybeClose.bind( this );\n\n\t\tthis.contentNode = createRef();\n\t\tthis.anchorNode = createRef();\n\n\t\tthis.state = {\n\t\t\tpopoverLeft: null,\n\t\t\tpopoverTop: null,\n\t\t\tyAxis: 'top',\n\t\t\txAxis: 'center',\n\t\t\tcontentHeight: null,\n\t\t\tcontentWidth: null,\n\t\t\tisMobile: false,\n\t\t\tpopoverSize: null,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.toggleWindowEvents( true );\n\t\tthis.refresh();\n\n\t\t/*\n\t\t * Without the setTimeout, the dom node is not being focused. Related:\n\t\t * https://stackoverflow.com/questions/35522220/react-ref-with-focus-doesnt-work-without-settimeout-my-example\n\t\t *\n\t\t * TODO: Treat the cause, not the symptom.\n\t\t */\n\t\tthis.focusTimeout = setTimeout( () => {\n\t\t\tthis.focus();\n\t\t}, 0 );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( prevProps.position !== this.props.position ) {\n\t\t\tthis.computePopoverPosition();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.toggleWindowEvents( false );\n\n\t\tclearTimeout( this.focusTimeout );\n\t}\n\n\ttoggleWindowEvents( isListening ) {\n\t\tconst handler = isListening ? 'addEventListener' : 'removeEventListener';\n\n\t\twindow.cancelAnimationFrame( this.rafHandle );\n\t\twindow[ handler ]( 'resize', this.throttledComputePopoverPosition );\n\t\twindow[ handler ]( 'scroll', this.throttledComputePopoverPosition, true );\n\t}\n\n\tthrottledComputePopoverPosition( event ) {\n\t\tif ( event.type === 'scroll' && this.contentNode.current.contains( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.rafHandle = window.requestAnimationFrame( () => this.computePopoverPosition() );\n\t}\n\n\t/**\n\t * Calling `refresh()` will force the Popover to recalculate its size and\n\t * position. This is useful when a DOM change causes the anchor node to change\n\t * position.\n\t *\n\t * @return {void}\n\t */\n\trefresh() {\n\t\tconst popoverSize = this.updatePopoverSize();\n\t\tthis.computePopoverPosition( popoverSize );\n\t}\n\n\tfocus() {\n\t\tconst { focusOnMount } = this.props;\n\n\t\tif ( ! focusOnMount || ! this.contentNode.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( focusOnMount === 'firstElement' ) {\n\t\t\t// Find first tabbable node within content and shift focus, falling\n\t\t\t// back to the popover panel itself.\n\t\t\tconst firstTabbable = focus.tabbable.find( this.contentNode.current )[ 0 ];\n\n\t\t\tif ( firstTabbable ) {\n\t\t\t\tfirstTabbable.focus();\n\t\t\t} else {\n\t\t\t\tthis.contentNode.current.focus();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( focusOnMount === 'container' ) {\n\t\t\t// Focus the popover panel itself so items in the popover are easily\n\t\t\t// accessed via keyboard navigation.\n\t\t\tthis.contentNode.current.focus();\n\t\t}\n\t}\n\n\tgetAnchorRect( anchor ) {\n\t\tif ( ! anchor || ! anchor.parentNode ) {\n\t\t\treturn;\n\t\t}\n\t\tconst rect = anchor.parentNode.getBoundingClientRect();\n\t\t// subtract padding\n\t\tconst { paddingTop, paddingBottom } = window.getComputedStyle( anchor.parentNode );\n\t\tconst topPad = parseInt( paddingTop, 10 );\n\t\tconst bottomPad = parseInt( paddingBottom, 10 );\n\t\treturn {\n\t\t\tx: rect.left,\n\t\t\ty: rect.top + topPad,\n\t\t\twidth: rect.width,\n\t\t\theight: rect.height - topPad - bottomPad,\n\t\t\tleft: rect.left,\n\t\t\tright: rect.right,\n\t\t\ttop: rect.top + topPad,\n\t\t\tbottom: rect.bottom - bottomPad,\n\t\t};\n\t}\n\n\tupdatePopoverSize() {\n\t\tconst rect = this.contentNode.current.getBoundingClientRect();\n\t\tif (\n\t\t\t! this.state.popoverSize ||\n\t\t\trect.width !== this.state.popoverSize.width ||\n\t\t\trect.height !== this.state.popoverSize.height\n\t\t) {\n\t\t\tconst popoverSize = {\n\t\t\t\theight: rect.height,\n\t\t\t\twidth: rect.width,\n\t\t\t};\n\t\t\tthis.setState( { popoverSize } );\n\t\t\treturn popoverSize;\n\t\t}\n\t\treturn this.state.popoverSize;\n\t}\n\n\tcomputePopoverPosition( popoverSize ) {\n\t\tconst { getAnchorRect = this.getAnchorRect, position = 'top', expandOnMobile } = this.props;\n\t\tconst newPopoverPosition = computePopoverPosition(\n\t\t\tgetAnchorRect( this.anchorNode.current ),\n\t\t\tpopoverSize || this.state.popoverSize,\n\t\t\tposition,\n\t\t\texpandOnMobile\n\t\t);\n\n\t\tif (\n\t\t\tthis.state.yAxis !== newPopoverPosition.yAxis ||\n\t\t\tthis.state.xAxis !== newPopoverPosition.xAxis ||\n\t\t\tthis.state.popoverLeft !== newPopoverPosition.popoverLeft ||\n\t\t\tthis.state.popoverTop !== newPopoverPosition.popoverTop ||\n\t\t\tthis.state.contentHeight !== newPopoverPosition.contentHeight ||\n\t\t\tthis.state.contentWidth !== newPopoverPosition.contentWidth ||\n\t\t\tthis.state.isMobile !== newPopoverPosition.isMobile\n\t\t) {\n\t\t\tthis.setState( newPopoverPosition );\n\t\t}\n\t}\n\n\tmaybeClose( event ) {\n\t\tconst { onKeyDown, onClose } = this.props;\n\n\t\t// Close on escape\n\t\tif ( event.keyCode === ESCAPE && onClose ) {\n\t\t\tevent.stopPropagation();\n\t\t\tonClose();\n\t\t}\n\n\t\t// Preserve original content prop behavior\n\t\tif ( onKeyDown ) {\n\t\t\tonKeyDown( event );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\theaderTitle,\n\t\t\tonClose,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tonClickOutside = onClose,\n\t\t\tnoArrow,\n\t\t\t// Disable reason: We generate the `...contentProps` rest as remainder\n\t\t\t// of props which aren't explicitly handled by this component.\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\tposition,\n\t\t\trange,\n\t\t\tfocusOnMount,\n\t\t\tgetAnchorRect,\n\t\t\texpandOnMobile,\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t...contentProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\tpopoverLeft,\n\t\t\tpopoverTop,\n\t\t\tyAxis,\n\t\t\txAxis,\n\t\t\tcontentHeight,\n\t\t\tcontentWidth,\n\t\t\tpopoverSize,\n\t\t\tisMobile,\n\t\t} = this.state;\n\n\t\tconst classes = classnames(\n\t\t\t'components-popover',\n\t\t\tclassName,\n\t\t\t'is-' + yAxis,\n\t\t\t'is-' + xAxis,\n\t\t\t{\n\t\t\t\t'is-mobile': isMobile,\n\t\t\t\t'is-without-arrow': noArrow || ( xAxis === 'center' && yAxis === 'middle' ),\n\t\t\t}\n\t\t);\n\n\t\t// Disable reason: We care to capture the _bubbled_ events from inputs\n\t\t// within popover as inferring close intent.\n\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\tlet content = (\n\t\t\t<PopoverDetectOutside onClickOutside={ onClickOutside }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\ttop: ! isMobile && popoverTop ? popoverTop + 'px' : undefined,\n\t\t\t\t\t\tleft: ! isMobile && popoverLeft ? popoverLeft + 'px' : undefined,\n\t\t\t\t\t\tvisibility: popoverSize ? undefined : 'hidden',\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...contentProps }\n\t\t\t\t\tonKeyDown={ this.maybeClose }\n\t\t\t\t>\n\t\t\t\t\t{ isMobile && (\n\t\t\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<IconButton className=\"components-popover__close\" icon=\"no-alt\" onClick={ onClose } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={ this.contentNode }\n\t\t\t\t\t\tclassName=\"components-popover__content\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tmaxHeight: ! isMobile && contentHeight ? contentHeight + 'px' : undefined,\n\t\t\t\t\t\t\tmaxWidth: ! isMobile && contentWidth ? contentWidth + 'px' : undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</PopoverDetectOutside>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\n\t\t// Apply focus to element as long as focusOnMount is truthy; false is\n\t\t// the only \"disabled\" value.\n\t\tif ( focusOnMount ) {\n\t\t\tcontent = <FocusManaged>{ content }</FocusManaged>;\n\t\t}\n\n\t\t// In case there is no slot context in which to render, default to an\n\t\t// in-place rendering.\n\t\tconst { getSlot } = this.context;\n\t\tif ( getSlot && getSlot( SLOT_NAME ) ) {\n\t\t\tcontent = <Fill name={ SLOT_NAME }>{ content }</Fill>;\n\t\t}\n\n\t\treturn <span ref={ this.anchorNode }>\n\t\t\t{ content }\n\t\t\t{ isMobile && expandOnMobile && <ScrollLock /> }\n\t\t</span>;\n\t}\n}\n\nPopover.defaultProps = {\n\tfocusOnMount: 'firstElement',\n\tnoArrow: false,\n};\n\nconst PopoverContainer = Popover;\n\nPopoverContainer.contextTypes = {\n\tgetSlot: noop,\n};\n\nPopoverContainer.Slot = () => <Slot bubblesVirtually name={ SLOT_NAME } />;\n\nexport default PopoverContainer;\n","\n/**\n * Module constants\n */\nconst HEIGHT_OFFSET = 10; // used by the arrow and a bit of empty space\nconst isMobileViewport = () => window.innerWidth < 782;\n\n/**\n * Utility used to compute the popover position over the xAxis\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} xAxis Desired xAxis.\n * @param {string} chosenYAxis yAxis to be used.\n * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.\n *\n * @return {Object} Popover xAxis position and constraints.\n */\nexport function computePopoverXAxisPosition( anchorRect, contentSize, xAxis, chosenYAxis ) {\n\tconst { width } = contentSize;\n\n\t// x axis alignment choices\n\tconst anchorMidPoint = Math.round( anchorRect.left + ( anchorRect.width / 2 ) );\n\tconst centerAlignment = {\n\t\tpopoverLeft: anchorMidPoint,\n\t\tcontentWidth: (\n\t\t\t( anchorMidPoint - ( width / 2 ) > 0 ? ( width / 2 ) : anchorMidPoint ) +\n\t\t\t( anchorMidPoint + ( width / 2 ) > window.innerWidth ? window.innerWidth - anchorMidPoint : ( width / 2 ) )\n\t\t),\n\t};\n\tconst leftAlignmentX = chosenYAxis === 'middle' ? anchorRect.left : anchorMidPoint;\n\tconst leftAlignment = {\n\t\tpopoverLeft: leftAlignmentX,\n\t\tcontentWidth: leftAlignmentX - width > 0 ? width : leftAlignmentX,\n\t};\n\tconst rightAlignmentX = chosenYAxis === 'middle' ? anchorRect.right : anchorMidPoint;\n\tconst rightAlignment = {\n\t\tpopoverLeft: rightAlignmentX,\n\t\tcontentWidth: rightAlignmentX + width > window.innerWidth ? window.innerWidth - rightAlignmentX : width,\n\t};\n\n\t// Choosing the x axis\n\tlet chosenXAxis;\n\tlet contentWidth = null;\n\tif ( xAxis === 'center' && centerAlignment.contentWidth === width ) {\n\t\tchosenXAxis = 'center';\n\t} else if ( xAxis === 'left' && leftAlignment.contentWidth === width ) {\n\t\tchosenXAxis = 'left';\n\t} else if ( xAxis === 'right' && rightAlignment.contentWidth === width ) {\n\t\tchosenXAxis = 'right';\n\t} else {\n\t\tchosenXAxis = leftAlignment.contentWidth > rightAlignment.contentWidth ? 'left' : 'right';\n\t\tconst chosenWidth = chosenXAxis === 'left' ? leftAlignment.contentWidth : rightAlignment.contentWidth;\n\t\tcontentWidth = chosenWidth !== width ? chosenWidth : null;\n\t}\n\n\tlet popoverLeft;\n\tif ( chosenXAxis === 'center' ) {\n\t\tpopoverLeft = centerAlignment.popoverLeft;\n\t} else if ( chosenXAxis === 'left' ) {\n\t\tpopoverLeft = leftAlignment.popoverLeft;\n\t} else {\n\t\tpopoverLeft = rightAlignment.popoverLeft;\n\t}\n\n\treturn {\n\t\txAxis: chosenXAxis,\n\t\tpopoverLeft,\n\t\tcontentWidth,\n\t};\n}\n\n/**\n * Utility used to compute the popover position over the yAxis\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} yAxis Desired yAxis.\n * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.\n *\n * @return {Object} Popover xAxis position and constraints.\n */\nexport function computePopoverYAxisPosition( anchorRect, contentSize, yAxis ) {\n\tconst { height } = contentSize;\n\n\t// y axis alignment choices\n\tconst anchorMidPoint = anchorRect.top + ( anchorRect.height / 2 );\n\tconst middleAlignment = {\n\t\tpopoverTop: anchorMidPoint,\n\t\tcontentHeight: (\n\t\t\t( anchorMidPoint - ( height / 2 ) > 0 ? ( height / 2 ) : anchorMidPoint ) +\n\t\t\t( anchorMidPoint + ( height / 2 ) > window.innerHeight ? window.innerHeight - anchorMidPoint : ( height / 2 ) )\n\t\t),\n\t};\n\tconst topAlignment = {\n\t\tpopoverTop: anchorRect.top,\n\t\tcontentHeight: anchorRect.top - HEIGHT_OFFSET - height > 0 ? height : anchorRect.top - HEIGHT_OFFSET,\n\t};\n\tconst bottomAlignment = {\n\t\tpopoverTop: anchorRect.bottom,\n\t\tcontentHeight: anchorRect.bottom + HEIGHT_OFFSET + height > window.innerHeight ? window.innerHeight - HEIGHT_OFFSET - anchorRect.bottom : height,\n\t};\n\n\t// Choosing the y axis\n\tlet chosenYAxis;\n\tlet contentHeight = null;\n\tif ( yAxis === 'middle' && middleAlignment.contentHeight === height ) {\n\t\tchosenYAxis = 'middle';\n\t} else if ( yAxis === 'top' && topAlignment.contentHeight === height ) {\n\t\tchosenYAxis = 'top';\n\t} else if ( yAxis === 'bottom' && bottomAlignment.contentHeight === height ) {\n\t\tchosenYAxis = 'bottom';\n\t} else {\n\t\tchosenYAxis = topAlignment.contentHeight > bottomAlignment.contentHeight ? 'top' : 'bottom';\n\t\tconst chosenHeight = chosenYAxis === 'top' ? topAlignment.contentHeight : bottomAlignment.contentHeight;\n\t\tcontentHeight = chosenHeight !== height ? chosenHeight : null;\n\t}\n\n\tlet popoverTop;\n\tif ( chosenYAxis === 'middle' ) {\n\t\tpopoverTop = middleAlignment.popoverTop;\n\t} else if ( chosenYAxis === 'top' ) {\n\t\tpopoverTop = topAlignment.popoverTop;\n\t} else {\n\t\tpopoverTop = bottomAlignment.popoverTop;\n\t}\n\n\treturn {\n\t\tyAxis: chosenYAxis,\n\t\tpopoverTop,\n\t\tcontentHeight,\n\t};\n}\n\n/**\n * Utility used to compute the popover position and the content max width/height for a popover\n * given its anchor rect and its content size.\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} position Position.\n * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.\n *\n * @return {Object} Popover position and constraints.\n */\nexport function computePopoverPosition( anchorRect, contentSize, position = 'top', expandOnMobile = false ) {\n\tconst [ yAxis, xAxis = 'center' ] = position.split( ' ' );\n\n\tconst yAxisPosition = computePopoverYAxisPosition( anchorRect, contentSize, yAxis );\n\tconst xAxisPosition = computePopoverXAxisPosition( anchorRect, contentSize, xAxis, yAxisPosition.yAxis );\n\n\treturn {\n\t\tisMobile: isMobileViewport() && expandOnMobile,\n\t\t...xAxisPosition,\n\t\t...yAxisPosition,\n\t};\n}\n","export * from './svg';\n","/**\n * External dependencies\n */\nimport { createElement } from '@wordpress/element';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\nexport const G = ( props ) => createElement( 'g', props );\nexport const Path = ( props ) => createElement( 'path', props );\nexport const Polygon = ( props ) => createElement( 'polygon', props );\n\nexport const SVG = ( props ) => {\n\tconst appliedProps = {\n\t\t...props,\n\t\trole: 'img',\n\t\t'aria-hidden': 'true',\n\t\tfocusable: 'false',\n\t};\n\n\treturn <svg { ...appliedProps } />;\n};\n\n// deprecations\nexport const AccessibleSVG = ( props ) => {\n\tdeprecated( 'wp.components.AccessibleSVG', {\n\t\tversion: '4.2',\n\t\talternative: 'wp.components.SVG',\n\t\tplugin: 'Gutenberg',\n\t} );\n\treturn <SVG { ...props } />;\n};\n","/**\n * Internal dependencies\n */\nimport { buildTermsTree } from './terms';\nimport TreeSelect from '../tree-select';\n\nexport default function CategorySelect( { label, noOptionLabel, categoriesList, selectedCategoryId, onChange } ) {\n\tconst termsTree = buildTermsTree( categoriesList );\n\treturn (\n\t\t<TreeSelect\n\t\t\t{ ...{ label, noOptionLabel, onChange } }\n\t\t\ttree={ termsTree }\n\t\t\tselectedId={ selectedCategoryId }\n\t\t/>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { RangeControl, SelectControl } from '../';\nimport CategorySelect from './category-select';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\n\nexport default function QueryControls( {\n\tcategoriesList,\n\tselectedCategoryId,\n\tnumberOfItems,\n\torder,\n\torderBy,\n\tmaxItems = DEFAULT_MAX_ITEMS,\n\tminItems = DEFAULT_MIN_ITEMS,\n\tonCategoryChange,\n\tonNumberOfItemsChange,\n\tonOrderChange,\n\tonOrderByChange,\n} ) {\n\treturn [\n\t\t( onOrderChange && onOrderByChange ) && (\n\t\t\t<SelectControl\n\t\t\t\tkey=\"query-controls-order-select\"\n\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\tvalue={ `${ orderBy }/${ order }` }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Newest to Oldest' ),\n\t\t\t\t\t\tvalue: 'date/desc',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Oldest to Newest' ),\n\t\t\t\t\t\tvalue: 'date/asc',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t/* translators: label for ordering posts by title in ascending order */\n\t\t\t\t\t\tlabel: __( 'A → Z' ),\n\t\t\t\t\t\tvalue: 'title/asc',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t/* translators: label for ordering posts by title in descending order */\n\t\t\t\t\t\tlabel: __( 'Z → A' ),\n\t\t\t\t\t\tvalue: 'title/desc',\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\t\tonOrderChange( newOrder );\n\t\t\t\t\t}\n\t\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\t\tonOrderByChange( newOrderBy );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t),\n\t\tonCategoryChange && (\n\t\t\t<CategorySelect\n\t\t\t\tkey=\"query-controls-category-select\"\n\t\t\t\tcategoriesList={ categoriesList }\n\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\tnoOptionLabel={ __( 'All' ) }\n\t\t\t\tselectedCategoryId={ selectedCategoryId }\n\t\t\t\tonChange={ onCategoryChange }\n\t\t\t/> ),\n\t\tonNumberOfItemsChange && (\n\t\t\t<RangeControl\n\t\t\t\tkey=\"query-controls-range-control\"\n\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\tvalue={ numberOfItems }\n\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\tmin={ minItems }\n\t\t\t\tmax={ maxItems }\n\t\t\t/>\n\t\t),\n\t];\n}\n","/**\n * External dependencies\n */\nimport { groupBy } from 'lodash';\n\n/**\n * Returns terms in a tree form.\n *\n * @param {Array} flatTerms Array of terms in flat format.\n *\n * @return {Array} Array of terms in tree format.\n */\nexport function buildTermsTree( flatTerms ) {\n\tconst termsByParent = groupBy( flatTerms, 'parent' );\n\tconst fillWithChildren = ( terms ) => {\n\t\treturn terms.map( ( term ) => {\n\t\t\tconst children = termsByParent[ term.id ];\n\t\t\treturn {\n\t\t\t\t...term,\n\t\t\t\tchildren: children && children.length ?\n\t\t\t\t\tfillWithChildren( children ) :\n\t\t\t\t\t[],\n\t\t\t};\n\t\t} );\n\t};\n\n\treturn fillWithChildren( termsByParent[ '0' ] || [] );\n}\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction RadioControl( { label, className, selected, help, instanceId, onChange, options = [] } ) {\n\tconst id = `inspector-radio-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.value );\n\n\treturn ! isEmpty( options ) && (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ classnames( className, 'components-radio-control' ) }>\n\t\t\t{ options.map( ( option, index ) =>\n\t\t\t\t<div\n\t\t\t\t\tkey={ `${ id }-${ index }` }\n\t\t\t\t\tclassName=\"components-radio-control__option\"\n\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={ `${ id }-${ index }` }\n\t\t\t\t\t\tclassName=\"components-radio-control__input\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tname={ id }\n\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\t\tchecked={ option.value === selected }\n\t\t\t\t\t\taria-describedby={ !! help ? `${ id }__help` : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor={ `${ id }-${ index }` }>\n\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( RadioControl );\n","/**\n * External dependencies\n */\nimport { isFinite } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { BaseControl, Button, Dashicon } from '../';\n\nfunction RangeControl( {\n\tclassName,\n\tlabel,\n\tvalue,\n\tinstanceId,\n\tonChange,\n\tbeforeIcon,\n\tafterIcon,\n\thelp,\n\tallowReset,\n\tinitialPosition,\n\t...props\n} ) {\n\tconst id = `inspector-range-control-${ instanceId }`;\n\tconst resetValue = () => onChange();\n\tconst onChangeValue = ( event ) => {\n\t\tconst newValue = event.target.value;\n\t\tif ( newValue === '' ) {\n\t\t\tresetValue();\n\t\t\treturn;\n\t\t}\n\t\tonChange( Number( newValue ) );\n\t};\n\tconst initialSliderValue = isFinite( value ) ? value : initialPosition || '';\n\n\treturn (\n\t\t<BaseControl\n\t\t\tlabel={ label }\n\t\t\tid={ id }\n\t\t\thelp={ help }\n\t\t\tclassName={ classnames( 'components-range-control', className ) }\n\t\t>\n\t\t\t{ beforeIcon && <Dashicon icon={ beforeIcon } /> }\n\t\t\t<input\n\t\t\t\tclassName=\"components-range-control__slider\"\n\t\t\t\tid={ id }\n\t\t\t\ttype=\"range\"\n\t\t\t\tvalue={ initialSliderValue }\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\t{ ...props } />\n\t\t\t{ afterIcon && <Dashicon icon={ afterIcon } /> }\n\t\t\t<input\n\t\t\t\tclassName=\"components-range-control__number\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-label={ label }\n\t\t\t\tvalue={ value }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t{ allowReset &&\n\t\t\t\t<Button onClick={ resetValue } disabled={ value === undefined }>\n\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( RangeControl );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport ReResizableBox from 're-resizable';\n\nfunction ResizableBox( { className, ...props } ) {\n\t// Removes the inline styles in the drag handles.\n\tconst handleStylesOverrides = {\n\t\twidth: null,\n\t\theight: null,\n\t\ttop: null,\n\t\tright: null,\n\t\tbottom: null,\n\t\tleft: null,\n\t};\n\n\tconst handleClassName = 'components-resizable-box__handle';\n\n\treturn (\n\t\t<ReResizableBox\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-resizable-box__container',\n\t\t\t\tclassName,\n\t\t\t) }\n\t\t\thandleClasses={ {\n\t\t\t\ttop: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-top',\n\t\t\t\t),\n\t\t\t\tright: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-right',\n\t\t\t\t),\n\t\t\t\tbottom: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-bottom',\n\t\t\t\t),\n\t\t\t\tleft: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-left',\n\t\t\t\t),\n\t\t\t} }\n\t\t\thandleStyles={ {\n\t\t\t\ttop: handleStylesOverrides,\n\t\t\t\tright: handleStylesOverrides,\n\t\t\t\tbottom: handleStylesOverrides,\n\t\t\t\tleft: handleStylesOverrides,\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nexport default ResizableBox;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress Dependencies\n */\nimport { cloneElement, Children } from '@wordpress/element';\n\nfunction ResponsiveWrapper( { naturalWidth, naturalHeight, children } ) {\n\tif ( Children.count( children ) !== 1 ) {\n\t\treturn null;\n\t}\n\tconst imageStyle = {\n\t\tpaddingBottom: ( naturalHeight / naturalWidth * 100 ) + '%',\n\t};\n\treturn (\n\t\t<div className=\"components-responsive-wrapper\">\n\t\t\t<div style={ imageStyle } />\n\t\t\t{ cloneElement( children, {\n\t\t\t\tclassName: classnames( 'components-responsive-wrapper__content', children.props.className ),\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n\nexport default ResponsiveWrapper;\n","/**\n * WordPress dependencies\n */\nimport { Component, renderToString, createRef } from '@wordpress/element';\nimport { withGlobalEvents } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport FocusableIframe from '../focusable-iframe';\n\nclass Sandbox extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.trySandbox = this.trySandbox.bind( this );\n\t\tthis.checkMessageForResize = this.checkMessageForResize.bind( this );\n\n\t\tthis.iframe = createRef();\n\n\t\tthis.state = {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.trySandbox();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.trySandbox();\n\t}\n\n\tisFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! this.iframe.current.contentDocument.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tcheckMessageForResize( event ) {\n\t\tconst iframe = this.iframe.current;\n\n\t\t// Attempt to parse the message data as JSON if passed as string\n\t\tlet data = event.data || {};\n\t\tif ( 'string' === typeof data ) {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {} // eslint-disable-line no-empty\n\t\t}\n\n\t\t// Verify that the mounted element is the source of the message\n\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update the state only if the message is formatted as we expect, i.e.\n\t\t// as an object with a 'resize' action, width, and height\n\t\tconst { action, width, height } = data;\n\t\tconst { width: oldWidth, height: oldHeight } = this.state;\n\n\t\tif ( 'resize' === action && ( oldWidth !== width || oldHeight !== height ) ) {\n\t\t\tthis.setState( { width, height } );\n\t\t}\n\t}\n\n\ttrySandbox() {\n\t\tif ( ! this.isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst body = this.iframe.current.contentDocument.body;\n\t\tif ( null !== body.getAttribute( 'data-resizable-iframe-connected' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observeAndResizeJS = `\n\t\t\t( function() {\n\t\t\t\tvar observer;\n\n\t\t\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction sendResize() {\n\t\t\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\t\t\twindow.parent.postMessage( {\n\t\t\t\t\t\taction: 'resize',\n\t\t\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\t\t\theight: clientBoundingRect.height,\n\t\t\t\t\t}, '*' );\n\t\t\t\t}\n\n\t\t\t\tobserver = new MutationObserver( sendResize );\n\t\t\t\tobserver.observe( document.body, {\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tattributeOldValue: false,\n\t\t\t\t\tcharacterData: true,\n\t\t\t\t\tcharacterDataOldValue: false,\n\t\t\t\t\tchildList: true,\n\t\t\t\t\tsubtree: true\n\t\t\t\t} );\n\n\t\t\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t\t\t// the iframe root and interfere with our mechanism for\n\t\t\t\t// determining the unconstrained page bounds.\n\t\t\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function( style ) {\n\t\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\n\t\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tArray.prototype.forEach.call( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\t\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\n\t\t\t\t} );\n\n\t\t\t\tdocument.body.style.position = 'absolute';\n\t\t\t\tdocument.body.style.width = '100%';\n\t\t\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\t\t\tsendResize();\n\n\t\t\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\t\t\twindow.addEventListener( 'resize', sendResize, true );\n\t\t} )();`;\n\n\t\tconst style = `\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\thtml,\n\t\t\tbody,\n\t\t\tbody > div,\n\t\t\tbody > div > iframe {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\thtml.wp-has-aspect-ratio,\n\t\t\tbody.wp-has-aspect-ratio,\n\t\t\tbody.wp-has-aspect-ratio > div,\n\t\t\tbody.wp-has-aspect-ratio > div > iframe {\n\t\t\t\theight: 100%;\n\t\t\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t\t\t}\n\t\t\tbody > div > * {\n\t\t\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\t\t\tmargin-bottom: 0 !important;\n\t\t\t}\n\t\t`;\n\n\t\t// put the html snippet into a html document, and then write it to the iframe's document\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html lang={ document.documentElement.lang } className={ this.props.type }>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ this.props.title }</title>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t</head>\n\t\t\t\t<body data-resizable-iframe-connected=\"data-resizable-iframe-connected\" className={ this.props.type }>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: this.props.html } } />\n\t\t\t\t\t<script type=\"text/javascript\" dangerouslySetInnerHTML={ { __html: observeAndResizeJS } } />\n\t\t\t\t\t{ ( this.props.scripts && this.props.scripts.map(\n\t\t\t\t\t\t( src ) => <script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\n\t\t// writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected\n\t\tconst iframeDocument = this.iframe.current.contentWindow.document;\n\t\tiframeDocument.open();\n\t\tiframeDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tiframeDocument.close();\n\t}\n\n\tstatic get defaultProps() {\n\t\treturn {\n\t\t\thtml: '',\n\t\t\ttitle: '',\n\t\t};\n\t}\n\n\trender() {\n\t\tconst { title } = this.props;\n\n\t\treturn (\n\t\t\t<FocusableIframe\n\t\t\t\tiframeRef={ this.iframe }\n\t\t\t\ttitle={ title }\n\t\t\t\tclassName=\"components-sandbox\"\n\t\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\t\tonLoad={ this.trySandbox }\n\t\t\t\twidth={ Math.ceil( this.state.width ) }\n\t\t\t\theight={ Math.ceil( this.state.height ) } />\n\t\t);\n\t}\n}\n\nSandbox = withGlobalEvents( {\n\tmessage: 'checkMessageForResize',\n} )( Sandbox );\n\nexport default Sandbox;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Creates a ScrollLock component bound to the specified document.\n *\n * This function creates a ScrollLock component for the specified document\n * and is exposed so we can create an isolated component for unit testing.\n *\n * @param {Object} args Keyword args.\n * @param {HTMLDocument} args.htmlDocument The document to lock the scroll for.\n * @param {string} args.className The name of the class used to lock scrolling.\n * @return {Component} The bound ScrollLock component.\n */\nexport function createScrollLockComponent( {\n\thtmlDocument = document,\n\tclassName = 'lockscroll',\n} = {} ) {\n\tlet lockCounter = 0;\n\n\t/*\n\t * Setting `overflow: hidden` on html and body elements resets body scroll in iOS.\n\t * Save scroll top so we can restore it after locking scroll.\n\t *\n\t * NOTE: It would be cleaner and possibly safer to find a localized solution such\n\t * as preventing default on certain touchmove events.\n\t */\n\tlet previousScrollTop = 0;\n\n\t/**\n\t * Locks and unlocks scroll depending on the boolean argument.\n\t *\n\t * @param {boolean} locked Whether or not scroll should be locked.\n\t */\n\tfunction setLocked( locked ) {\n\t\tconst scrollingElement = htmlDocument.scrollingElement || htmlDocument.body;\n\n\t\tif ( locked ) {\n\t\t\tpreviousScrollTop = scrollingElement.scrollTop;\n\t\t}\n\n\t\tconst methodName = locked ? 'add' : 'remove';\n\t\tscrollingElement.classList[ methodName ]( className );\n\n\t\t// Adding the class to the document element seems to be necessary in iOS.\n\t\thtmlDocument.documentElement.classList[ methodName ]( className );\n\n\t\tif ( ! locked ) {\n\t\t\tscrollingElement.scrollTop = previousScrollTop;\n\t\t}\n\t}\n\n\t/**\n\t * Requests scroll lock.\n\t *\n\t * This function tracks requests for scroll lock. It locks scroll on the first\n\t * request and counts each request so `releaseLock` can unlock scroll when\n\t * all requests have been released.\n\t */\n\tfunction requestLock() {\n\t\tif ( lockCounter === 0 ) {\n\t\t\tsetLocked( true );\n\t\t}\n\n\t\t++lockCounter;\n\t}\n\n\t/**\n\t * Releases a request for scroll lock.\n\t *\n\t * This function tracks released requests for scroll lock. When all requests\n\t * have been released, it unlocks scroll.\n\t */\n\tfunction releaseLock() {\n\t\tif ( lockCounter === 1 ) {\n\t\t\tsetLocked( false );\n\t\t}\n\n\t\t--lockCounter;\n\t}\n\n\treturn class ScrollLock extends Component {\n\t\t/**\n\t\t * Requests scroll lock on mount.\n\t\t */\n\t\tcomponentDidMount() {\n\t\t\trequestLock();\n\t\t}\n\t\t/**\n\t\t * Releases scroll lock before unmount.\n\t\t */\n\t\tcomponentWillUnmount() {\n\t\t\treleaseLock();\n\t\t}\n\n\t\t/**\n\t\t * Render nothing as this component is merely a way to declare scroll lock.\n\t\t *\n\t\t * @return {null} Render nothing by returning `null`.\n\t\t */\n\t\trender() {\n\t\t\treturn null;\n\t\t}\n\t};\n}\n\nexport default createScrollLockComponent();\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction SelectControl( {\n\thelp,\n\tinstanceId,\n\tlabel,\n\tmultiple = false,\n\tonChange,\n\toptions = [],\n\tclassName,\n\t...props\n} ) {\n\tconst id = `inspector-select-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => {\n\t\tif ( multiple ) {\n\t\t\tconst selectedOptions = [ ...event.target.options ].filter( ( { selected } ) => selected );\n\t\t\tconst newValues = selectedOptions.map( ( { value } ) => value );\n\t\t\tonChange( newValues );\n\t\t\treturn;\n\t\t}\n\t\tonChange( event.target.value );\n\t};\n\n\t// Disable reason: A select with an onchange throws a warning\n\n\t/* eslint-disable jsx-a11y/no-onchange */\n\treturn ! isEmpty( options ) && (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ className }>\n\t\t\t<select\n\t\t\t\tid={ id }\n\t\t\t\tclassName=\"components-select-control__input\"\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? `${ id }__help` : undefined }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ options.map( ( option, index ) =>\n\t\t\t\t\t<option\n\t\t\t\t\t\tkey={ `${ option.label }-${ option.value }-${ index }` }\n\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t</option>\n\t\t\t\t) }\n\t\t\t</select>\n\t\t</BaseControl>\n\t);\n\t/* eslint-enable jsx-a11y/no-onchange */\n}\n\nexport default withInstanceId( SelectControl );\n","/**\n * External dependencies.\n */\nimport { isEqual } from 'lodash';\n\n/**\n * WordPress dependencies.\n */\nimport {\n\tComponent,\n\tRawHTML,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies.\n */\nimport Placeholder from '../placeholder';\nimport Spinner from '../spinner';\n\nexport function rendererPath( block, attributes = null, urlQueryArgs = {} ) {\n\treturn addQueryArgs( `/gutenberg/v1/block-renderer/${ block }`, {\n\t\tcontext: 'edit',\n\t\t...( null !== attributes ? { attributes } : {} ),\n\t\t...urlQueryArgs,\n\t} );\n}\n\nexport class ServerSideRender extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = {\n\t\t\tresponse: null,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.isStillMounted = true;\n\t\tthis.fetch( this.props );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isStillMounted = false;\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! isEqual( prevProps, this.props ) ) {\n\t\t\tthis.fetch( this.props );\n\t\t}\n\t}\n\n\tfetch( props ) {\n\t\tif ( null !== this.state.response ) {\n\t\t\tthis.setState( { response: null } );\n\t\t}\n\t\tconst { block, attributes = null, urlQueryArgs = {} } = props;\n\n\t\tconst path = rendererPath( block, attributes, urlQueryArgs );\n\n\t\treturn apiFetch( { path } )\n\t\t\t.then( ( response ) => {\n\t\t\t\tif ( this.isStillMounted && response && response.rendered ) {\n\t\t\t\t\tthis.setState( { response: response.rendered } );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( { response: {\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\terrorMsg: error.message,\n\t\t\t\t\t} } );\n\t\t\t\t}\n\t\t\t} );\n\t}\n\n\trender() {\n\t\tconst response = this.state.response;\n\t\tif ( ! response ) {\n\t\t\treturn (\n\t\t\t\t<Placeholder><Spinner /></Placeholder>\n\t\t\t);\n\t\t} else if ( response.error ) {\n\t\t\t// translators: %s: error message describing the problem\n\t\t\tconst errorMessage = sprintf( __( 'Error loading block: %s' ), response.errorMsg );\n\t\t\treturn (\n\t\t\t\t<Placeholder>{ errorMessage }</Placeholder>\n\t\t\t);\n\t\t} else if ( ! response.length ) {\n\t\t\treturn (\n\t\t\t\t<Placeholder>{ __( 'No results found.' ) }</Placeholder>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<RawHTML key=\"html\">{ response }</RawHTML>\n\t\t);\n\t}\n}\n\nexport default ServerSideRender;\n","/**\n * External dependencies\n */\nimport { isString, isObject } from 'lodash';\n\nfunction Shortcut( { shortcut, className } ) {\n\tif ( ! shortcut ) {\n\t\treturn null;\n\t}\n\n\tlet displayText;\n\tlet ariaLabel;\n\n\tif ( isString( shortcut ) ) {\n\t\tdisplayText = shortcut;\n\t}\n\n\tif ( isObject( shortcut ) ) {\n\t\tdisplayText = shortcut.display;\n\t\tariaLabel = shortcut.ariaLabel;\n\t}\n\n\treturn (\n\t\t<span className={ className } aria-label={ ariaLabel }>\n\t\t\t{ displayText }\n\t\t</span>\n\t);\n}\n\nexport default Shortcut;\n","/**\n * External dependencies\n */\nimport { noop, isFunction } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createPortal } from '@wordpress/element';\n\nlet occurrences = 0;\n\nclass Fill extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.occurrence = ++occurrences;\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { registerFill = noop } = this.context;\n\n\t\tregisterFill( this.props.name, this );\n\t}\n\n\tcomponentWillUpdate() {\n\t\tif ( ! this.occurrence ) {\n\t\t\tthis.occurrence = ++occurrences;\n\t\t}\n\t\tconst { getSlot = noop } = this.context;\n\t\tconst slot = getSlot( this.props.name );\n\t\tif ( slot && ! slot.props.bubblesVirtually ) {\n\t\t\tslot.forceUpdate();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tconst { unregisterFill = noop } = this.context;\n\n\t\tunregisterFill( this.props.name, this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { name } = this.props;\n\t\tconst {\n\t\t\tunregisterFill = noop,\n\t\t\tregisterFill = noop,\n\t\t} = this.context;\n\n\t\tif ( prevProps.name !== name ) {\n\t\t\tunregisterFill( prevProps.name, this );\n\t\t\tregisterFill( name, this );\n\t\t}\n\t}\n\n\tresetOccurrence() {\n\t\tthis.occurrence = null;\n\t}\n\n\trender() {\n\t\tconst { getSlot = noop } = this.context;\n\t\tconst { name } = this.props;\n\t\tlet { children } = this.props;\n\t\tconst slot = getSlot( name );\n\n\t\tif ( ! slot || ! slot.props.bubblesVirtually ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// If a function is passed as a child, provide it with the fillProps.\n\t\tif ( isFunction( children ) ) {\n\t\t\tchildren = children( slot.props.fillProps );\n\t\t}\n\n\t\treturn createPortal( children, slot.node );\n\t}\n}\n\nFill.contextTypes = {\n\tgetSlot: noop,\n\tregisterFill: noop,\n\tunregisterFill: noop,\n};\n\nexport default Fill;\n","/**\n * Internal dependencies\n */\nimport Slot from './slot';\nimport Fill from './fill';\nimport Provider from './provider';\n\nexport { Slot };\nexport { Fill };\nexport { Provider };\n\nexport function createSlotFill( name ) {\n\tconst FillComponent = ( { children, ...props } ) => (\n\t\t<Fill name={ name } { ...props }>\n\t\t\t{ children }\n\t\t</Fill>\n\t);\n\tFillComponent.displayName = name + 'Fill';\n\n\tconst SlotComponent = ( { children, ...props } ) => (\n\t\t<Slot name={ name } { ...props }>\n\t\t\t{ children }\n\t\t</Slot>\n\t);\n\tSlotComponent.displayName = name + 'Slot';\n\n\treturn {\n\t\tFill: FillComponent,\n\t\tSlot: SlotComponent,\n\t};\n}\n","/**\n * External dependencies\n */\nimport { pick, sortBy, forEach, without, noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass SlotFillProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.registerSlot = this.registerSlot.bind( this );\n\t\tthis.registerFill = this.registerFill.bind( this );\n\t\tthis.unregisterSlot = this.unregisterSlot.bind( this );\n\t\tthis.unregisterFill = this.unregisterFill.bind( this );\n\t\tthis.getSlot = this.getSlot.bind( this );\n\t\tthis.getFills = this.getFills.bind( this );\n\n\t\tthis.slots = {};\n\t\tthis.fills = {};\n\t}\n\n\tgetChildContext() {\n\t\treturn pick( this, [\n\t\t\t'registerSlot',\n\t\t\t'registerFill',\n\t\t\t'unregisterSlot',\n\t\t\t'unregisterFill',\n\t\t\t'getSlot',\n\t\t\t'getFills',\n\t\t] );\n\t}\n\n\tregisterSlot( name, slot ) {\n\t\tthis.slots[ name ] = slot;\n\t\tthis.forceUpdateFills( name );\n\n\t\t// Sometimes the fills are registered after the initial render of slot\n\t\t// But before the registerSlot call, we need to rerender the slot\n\t\tthis.forceUpdateSlot( name );\n\t}\n\n\tregisterFill( name, instance ) {\n\t\tthis.fills[ name ] = [\n\t\t\t...( this.fills[ name ] || [] ),\n\t\t\tinstance,\n\t\t];\n\t\tthis.forceUpdateSlot( name );\n\t}\n\n\tunregisterSlot( name ) {\n\t\tdelete this.slots[ name ];\n\t\tthis.forceUpdateFills( name );\n\t}\n\n\tunregisterFill( name, instance ) {\n\t\tthis.fills[ name ] = without(\n\t\t\tthis.fills[ name ],\n\t\t\tinstance\n\t\t);\n\t\tthis.resetFillOccurrence( name );\n\t\tthis.forceUpdateSlot( name );\n\t}\n\n\tgetSlot( name ) {\n\t\treturn this.slots[ name ];\n\t}\n\n\tgetFills( name ) {\n\t\treturn sortBy( this.fills[ name ], 'occurrence' );\n\t}\n\n\tresetFillOccurrence( name ) {\n\t\tforEach( this.fills[ name ], ( instance ) => {\n\t\t\tinstance.resetOccurrence();\n\t\t} );\n\t}\n\n\tforceUpdateFills( name ) {\n\t\tforEach( this.fills[ name ], ( instance ) => {\n\t\t\tinstance.forceUpdate();\n\t\t} );\n\t}\n\n\tforceUpdateSlot( name ) {\n\t\tconst slot = this.getSlot( name );\n\n\t\tif ( slot ) {\n\t\t\tslot.forceUpdate();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn this.props.children;\n\t}\n}\n\nSlotFillProvider.childContextTypes = {\n\tregisterSlot: noop,\n\tunregisterSlot: noop,\n\tregisterFill: noop,\n\tunregisterFill: noop,\n\tgetSlot: noop,\n\tgetFills: noop,\n};\n\nexport default SlotFillProvider;\n","/**\n * External dependencies\n */\nimport {\n\tisFunction,\n\tisString,\n\tmap,\n\tnegate,\n\tnoop,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tComponent,\n\tcloneElement,\n\tFragment,\n\tisEmptyElement,\n} from '@wordpress/element';\n\nclass Slot extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { registerSlot = noop } = this.context;\n\n\t\tregisterSlot( this.props.name, this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tconst { unregisterSlot = noop } = this.context;\n\n\t\tunregisterSlot( this.props.name, this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { name } = this.props;\n\t\tconst {\n\t\t\tunregisterSlot = noop,\n\t\t\tregisterSlot = noop,\n\t\t} = this.context;\n\n\t\tif ( prevProps.name !== name ) {\n\t\t\tunregisterSlot( prevProps.name );\n\t\t\tregisterSlot( name, this );\n\t\t}\n\t}\n\n\tbindNode( node ) {\n\t\tthis.node = node;\n\t}\n\n\trender() {\n\t\tconst { children, name, bubblesVirtually = false, fillProps = {} } = this.props;\n\t\tconst { getFills = noop } = this.context;\n\n\t\tif ( bubblesVirtually ) {\n\t\t\treturn <div ref={ this.bindNode } />;\n\t\t}\n\n\t\tconst fills = map( getFills( name ), ( fill ) => {\n\t\t\tconst fillKey = fill.occurrence;\n\t\t\tconst fillChildren = isFunction( fill.props.children ) ? fill.props.children( fillProps ) : fill.props.children;\n\n\t\t\treturn Children.map( fillChildren, ( child, childIndex ) => {\n\t\t\t\tif ( ! child || isString( child ) ) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\n\t\t\t\tconst childKey = `${ fillKey }---${ child.key || childIndex }`;\n\t\t\t\treturn cloneElement( child, { key: childKey } );\n\t\t\t} );\n\t\t} ).filter(\n\t\t\t// In some cases fills are rendered only when some conditions apply.\n\t\t\t// This ensures that we only use non-empty fills when rendering, i.e.,\n\t\t\t// it allows us to render wrappers only when the fills are actually present.\n\t\t\tnegate( isEmptyElement )\n\t\t);\n\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{ isFunction( children ) ? children( fills ) : fills }\n\t\t\t</Fragment>\n\t\t);\n\t}\n}\n\nSlot.contextTypes = {\n\tregisterSlot: noop,\n\tunregisterSlot: noop,\n\tgetFills: noop,\n};\n\nexport default Slot;\n","export default () => <span className=\"components-spinner\" />;\n","/**\n * External dependencies\n */\nimport { partial, noop, find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { NavigableMenu } from '../navigable-container';\n\nconst TabButton = ( { tabId, onClick, children, selected, ...rest } ) => (\n\t<button role=\"tab\"\n\t\ttabIndex={ selected ? null : -1 }\n\t\taria-selected={ selected }\n\t\tid={ tabId }\n\t\tonClick={ onClick }\n\t\t{ ...rest }\n\t>\n\t\t{ children }\n\t</button>\n);\n\nclass TabPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tconst { tabs, initialTabName } = this.props;\n\n\t\tthis.handleClick = this.handleClick.bind( this );\n\t\tthis.onNavigate = this.onNavigate.bind( this );\n\n\t\tthis.state = {\n\t\t\tselected: initialTabName || ( tabs.length > 0 ? tabs[ 0 ].name : null ),\n\t\t};\n\t}\n\n\thandleClick( tabKey ) {\n\t\tconst { onSelect = noop } = this.props;\n\t\tthis.setState( {\n\t\t\tselected: tabKey,\n\t\t} );\n\t\tonSelect( tabKey );\n\t}\n\n\tonNavigate( childIndex, child ) {\n\t\tchild.click();\n\t}\n\n\trender() {\n\t\tconst { selected } = this.state;\n\t\tconst {\n\t\t\tactiveClass = 'is-active',\n\t\t\tclassName,\n\t\t\tinstanceId,\n\t\t\torientation = 'horizontal',\n\t\t\ttabs,\n\t\t} = this.props;\n\n\t\tconst selectedTab = find( tabs, { name: selected } );\n\t\tconst selectedId = instanceId + '-' + selectedTab.name;\n\n\t\tdeprecated( 'Tab Panel child function argument used as string', {\n\t\t\talternative: 'Argument is now an object, access the name property directly.',\n\t\t\tversion: '4.2.0',\n\t\t\tplugin: 'Gutenberg',\n\t\t\thint: 'This is a global warning, shown regardless of whether the component is used.',\n\t\t} );\n\n\t\treturn (\n\t\t\t<div className={ className }>\n\t\t\t\t<NavigableMenu\n\t\t\t\t\trole=\"tablist\"\n\t\t\t\t\torientation={ orientation }\n\t\t\t\t\tonNavigate={ this.onNavigate }\n\t\t\t\t\tclassName=\"components-tab-panel__tabs\"\n\t\t\t\t>\n\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t<TabButton className={ `${ tab.className } ${ tab.name === selected ? activeClass : '' }` }\n\t\t\t\t\t\t\ttabId={ instanceId + '-' + tab.name }\n\t\t\t\t\t\t\taria-controls={ instanceId + '-' + tab.name + '-view' }\n\t\t\t\t\t\t\tselected={ tab.name === selected }\n\t\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\t\tonClick={ partial( this.handleClick, tab.name ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t</TabButton>\n\t\t\t\t\t) ) }\n\t\t\t\t</NavigableMenu>\n\t\t\t\t{ selectedTab && (\n\t\t\t\t\t<div aria-labelledby={ selectedId }\n\t\t\t\t\t\trole=\"tabpanel\"\n\t\t\t\t\t\tid={ selectedId + '-view' }\n\t\t\t\t\t\tclassName=\"components-tab-panel__tab-content\"\n\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.props.children( Object.assign( new String( selectedTab.name ), selectedTab ) ) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default withInstanceId( TabPanel );\n","/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction TextControl( { label, value, help, className, instanceId, onChange, type = 'text', ...props } ) {\n\tconst id = `inspector-text-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.value );\n\n\treturn (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ className }>\n\t\t\t<input className=\"components-text-control__input\"\n\t\t\t\ttype={ type }\n\t\t\t\tid={ id }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( TextControl );\n","/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction TextareaControl( { label, value, help, instanceId, onChange, rows = 4, className, ...props } ) {\n\tconst id = `inspector-textarea-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.value );\n\n\treturn (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ className }>\n\t\t\t<textarea\n\t\t\t\tclassName=\"components-textarea-control__input\"\n\t\t\t\tid={ id }\n\t\t\t\trows={ rows }\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\tvalue={ value }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( TextareaControl );\n","/**\n * External dependencies\n */\nimport { isFunction } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport FormToggle from '../form-toggle';\nimport BaseControl from './../base-control';\n\nclass ToggleControl extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onChange = this.onChange.bind( this );\n\t}\n\n\tonChange( event ) {\n\t\tif ( this.props.onChange ) {\n\t\t\tthis.props.onChange( event.target.checked );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { label, checked, help, instanceId } = this.props;\n\t\tconst id = `inspector-toggle-control-${ instanceId }`;\n\n\t\tlet describedBy, helpLabel;\n\t\tif ( help ) {\n\t\t\tdescribedBy = id + '__help';\n\t\t\thelpLabel = isFunction( help ) ? help( checked ) : help;\n\t\t}\n\n\t\treturn (\n\t\t\t<BaseControl\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ id }\n\t\t\t\thelp={ helpLabel }\n\t\t\t\tclassName=\"components-toggle-control\"\n\t\t\t>\n\t\t\t\t<FormToggle\n\t\t\t\t\tid={ id }\n\t\t\t\t\tchecked={ checked }\n\t\t\t\t\tonChange={ this.onChange }\n\t\t\t\t\taria-describedby={ describedBy }\n\t\t\t\t/>\n\t\t\t</BaseControl>\n\t\t);\n\t}\n}\n\nexport default withInstanceId( ToggleControl );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { flatMap } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\nimport DropdownMenu from '../dropdown-menu';\nimport ToolbarContainer from './toolbar-container';\nimport ToolbarButtonContainer from './toolbar-button-container';\n\n/**\n * Renders a toolbar with controls.\n *\n * The `controls` prop accepts an array of sets. A set is an array of controls.\n * Controls have the following shape:\n *\n * ```\n * {\n * icon: string,\n * title: string,\n * subscript: string,\n * onClick: Function,\n * isActive: boolean,\n * isDisabled: boolean\n * }\n * ```\n *\n * For convenience it is also possible to pass only an array of controls. It is\n * then assumed this is the only set.\n *\n * Either `controls` or `children` is required, otherwise this components\n * renders nothing.\n *\n * @param {?Array} controls The controls to render in this toolbar.\n * @param {?ReactElement} children Any other things to render inside the\n * toolbar besides the controls.\n * @param {?string} className Class to set on the container div.\n *\n * @return {ReactElement} The rendered toolbar.\n */\nfunction Toolbar( { controls = [], children, className, isCollapsed, icon, label } ) {\n\tif (\n\t\t( ! controls || ! controls.length ) &&\n\t\t! children\n\t) {\n\t\treturn null;\n\t}\n\n\t// Normalize controls to nested array of objects (sets of controls)\n\tlet controlSets = controls;\n\tif ( ! Array.isArray( controlSets[ 0 ] ) ) {\n\t\tcontrolSets = [ controlSets ];\n\t}\n\n\tif ( isCollapsed ) {\n\t\treturn (\n\t\t\t<DropdownMenu\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t\tcontrols={ controlSets }\n\t\t\t\tclassName={ classnames( 'components-toolbar', className ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ToolbarContainer className={ classnames( 'components-toolbar', className ) }>\n\t\t\t{ flatMap( controlSets, ( controlSet, indexOfSet ) => (\n\t\t\t\tcontrolSet.map( ( control, indexOfControl ) => (\n\t\t\t\t\t<ToolbarButtonContainer\n\t\t\t\t\t\tkey={ [ indexOfSet, indexOfControl ].join() }\n\t\t\t\t\t\tclassName={ indexOfSet > 0 && indexOfControl === 0 ? 'has-left-divider' : null }\n\t\t\t\t\t>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\ticon={ control.icon }\n\t\t\t\t\t\t\tlabel={ control.title }\n\t\t\t\t\t\t\tshortcut={ control.shortcut }\n\t\t\t\t\t\t\tdata-subscript={ control.subscript }\n\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\tcontrol.onClick();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames( 'components-toolbar__control', control.className, {\n\t\t\t\t\t\t\t\t'is-active': control.isActive,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\taria-pressed={ control.isActive }\n\t\t\t\t\t\t\tdisabled={ control.isDisabled }\n\t\t\t\t\t\t\t{ ...control.extraProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ control.children }\n\t\t\t\t\t</ToolbarButtonContainer>\n\t\t\t\t) )\n\t\t\t) ) }\n\t\t\t{ children }\n\t\t</ToolbarContainer>\n\t);\n}\n\nexport default Toolbar;\n","const ToolbarButtonContainer = ( props ) => (\n\t<div\n\t\tclassName={ props.className }\n\t>\n\t\t{ props.children }\n\t</div>\n);\nexport default ToolbarButtonContainer;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nconst ToolbarContainer = ( props ) => (\n\t<div className={ classnames( 'components-toolbar', props.className ) }>\n\t\t{ props.children }\n\t</div>\n);\nexport default ToolbarContainer;\n","/**\n * External dependencies\n */\nimport { debounce, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tComponent,\n\tChildren,\n\tcloneElement,\n\tfindDOMNode,\n\tconcatChildren,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\nimport Shortcut from '../shortcut';\n\n/**\n * Time over children to wait before showing tooltip\n *\n * @type {Number}\n */\nconst TOOLTIP_DELAY = 700;\n\nclass Tooltip extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t\tthis.delayedSetIsOver = debounce(\n\t\t\t( isOver ) => this.setState( { isOver } ),\n\t\t\tTOOLTIP_DELAY\n\t\t);\n\n\t\tthis.state = {\n\t\t\tisOver: false,\n\t\t};\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.delayedSetIsOver.cancel();\n\t\tthis.disconnectDisabledAttributeObserver();\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tconst { isOver } = this.state;\n\t\tif ( isOver !== prevState.isOver ) {\n\t\t\tif ( isOver ) {\n\t\t\t\tthis.observeDisabledAttribute();\n\t\t\t} else {\n\t\t\t\tthis.disconnectDisabledAttributeObserver();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Assigns DOM node of the rendered component as an instance property.\n\t *\n\t * @param {Element} ref Rendered component reference.\n\t */\n\tbindNode( ref ) {\n\t\t// Disable reason: Because render clones the child, we don't know what\n\t\t// type of element we have, but if it's a DOM node, we want to observe\n\t\t// the disabled attribute.\n\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\tthis.node = findDOMNode( ref );\n\t}\n\n\t/**\n\t * Disconnects any DOM observer attached to the rendered node.\n\t */\n\tdisconnectDisabledAttributeObserver() {\n\t\tif ( this.observer ) {\n\t\t\tthis.observer.disconnect();\n\t\t}\n\t}\n\n\t/**\n\t * Adds a DOM observer to the rendered node, if supported and if the DOM\n\t * node exists, to monitor for application of a disabled attribute.\n\t */\n\tobserveDisabledAttribute() {\n\t\tif ( ! window.MutationObserver || ! this.node ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.observer = new window.MutationObserver( ( [ mutation ] ) => {\n\t\t\tif ( mutation.target.disabled ) {\n\t\t\t\t// We can assume here that isOver is true, because mutation\n\t\t\t\t// observer is only attached for duration of isOver active\n\t\t\t\tthis.setState( { isOver: false } );\n\t\t\t}\n\t\t} );\n\n\t\t// Monitor changes to the disable attribute on the DOM node\n\t\tthis.observer.observe( this.node, {\n\t\t\tsubtree: true,\n\t\t\tattributes: true,\n\t\t\tattributeFilter: [ 'disabled' ],\n\t\t} );\n\t}\n\n\temitToChild( eventName, event ) {\n\t\tconst { children } = this.props;\n\t\tif ( Children.count( children ) !== 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst child = Children.only( children );\n\t\tif ( typeof child.props[ eventName ] === 'function' ) {\n\t\t\tchild.props[ eventName ]( event );\n\t\t}\n\t}\n\n\tcreateToggleIsOver( eventName, isDelayed ) {\n\t\treturn ( event ) => {\n\t\t\t// Preserve original child callback behavior\n\t\t\tthis.emitToChild( eventName, event );\n\n\t\t\t// Mouse events behave unreliably in React for disabled elements,\n\t\t\t// firing on mouseenter but not mouseleave. Further, the default\n\t\t\t// behavior for disabled elements in some browsers is to ignore\n\t\t\t// mouse events. Don't bother trying to to handle them.\n\t\t\t//\n\t\t\t// See: https://github.com/facebook/react/issues/4251\n\t\t\tif ( event.currentTarget.disabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Needed in case unsetting is over while delayed set pending, i.e.\n\t\t\t// quickly blur/mouseleave before delayedSetIsOver is called\n\t\t\tthis.delayedSetIsOver.cancel();\n\n\t\t\tconst isOver = includes( [ 'focus', 'mouseenter' ], event.type );\n\t\t\tif ( isOver === this.state.isOver ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isDelayed ) {\n\t\t\t\tthis.delayedSetIsOver( isOver );\n\t\t\t} else {\n\t\t\t\tthis.setState( { isOver } );\n\t\t\t}\n\t\t};\n\t}\n\n\trender() {\n\t\tconst { children, position, text, shortcut } = this.props;\n\t\tif ( Children.count( children ) !== 1 ) {\n\t\t\tif ( 'development' === process.env.NODE_ENV ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error( 'Tooltip should be called with only a single child element.' );\n\t\t\t}\n\n\t\t\treturn children;\n\t\t}\n\n\t\tconst child = Children.only( children );\n\t\tconst { isOver } = this.state;\n\t\treturn cloneElement( child, {\n\t\t\tref: this.bindNode,\n\t\t\tonMouseEnter: this.createToggleIsOver( 'onMouseEnter', true ),\n\t\t\tonMouseLeave: this.createToggleIsOver( 'onMouseLeave' ),\n\t\t\tonClick: this.createToggleIsOver( 'onClick' ),\n\t\t\tonFocus: this.createToggleIsOver( 'onFocus' ),\n\t\t\tonBlur: this.createToggleIsOver( 'onBlur' ),\n\t\t\tchildren: concatChildren(\n\t\t\t\tchild.props.children,\n\t\t\t\tisOver && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\tclassName=\"components-tooltip\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ text }\n\t\t\t\t\t\t<Shortcut className=\"components-tooltip__shortcut\" shortcut={ shortcut } />\n\t\t\t\t\t</Popover>\n\t\t\t\t),\n\t\t\t),\n\t\t} );\n\t}\n}\n\nexport default Tooltip;\n","/**\n * External dependencies\n */\nimport { unescape as unescapeString, repeat, flatMap, compact } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { SelectControl } from '../';\n\nfunction getSelectOptions( tree, level = 0 ) {\n\treturn flatMap( tree, ( treeNode ) => [\n\t\t{\n\t\t\tvalue: treeNode.id,\n\t\t\tlabel: repeat( '\\u00A0', level * 3 ) + unescapeString( treeNode.name ),\n\t\t},\n\t\t...getSelectOptions( treeNode.children || [], level + 1 ),\n\t] );\n}\n\nexport default function TreeSelect( {\n\tlabel,\n\tnoOptionLabel,\n\tonChange,\n\tselectedId,\n\ttree,\n\t...props\n} ) {\n\tconst options = compact( [\n\t\tnoOptionLabel && { value: '', label: noOptionLabel },\n\t\t...getSelectOptions( tree ),\n\t] );\n\treturn (\n\t\t<SelectControl\n\t\t\t{ ...{ label, options, onChange } }\n\t\t\tvalue={ selectedId }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","/*!\n Copyright (c) 2017 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) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\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","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', 'select'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', './clipboard-action', 'tiny-emitter', 'good-listener'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('fbjs/lib/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits = void 0;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== 'production') {\n (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n Provider.prototype.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(_react.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n var Consumer = function (_Component2) {\n _inherits(Consumer, _Component2);\n\n function Consumer() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n value: _this2.getValue()\n }, _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({ value: _this2.getValue() });\n }\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n var observedBits = this.props.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n Consumer.prototype.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n Consumer.prototype.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(_react.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _implementation = require('./implementation');\n\nvar _implementation2 = _interopRequireDefault(_implementation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createContext || _implementation2.default;\nmodule.exports = exports['default'];","var DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n","var closest = require('./closest');\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n","'use strict';\n\nvar util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;","'use strict';\n\nmodule.exports = require('./dom-scroll-into-view');","'use strict';\n\nvar _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 _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = undefined;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = undefined;\n var j = undefined;\n var i = undefined;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = undefined;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val = undefined;\n var args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;","/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n","var is = require('./is');\nvar delegate = require('delegate');\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n'use strict';\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n arguments: true,\n arity: true\n};\n\nvar isGetOwnPropertySymbolsAvailable = typeof Object.getOwnPropertySymbols === 'function';\n\nmodule.exports = function hoistNonReactStatics(targetComponent, sourceComponent, customStatics) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n var keys = Object.getOwnPropertyNames(sourceComponent);\n\n /* istanbul ignore else */\n if (isGetOwnPropertySymbolsAvailable) {\n keys = keys.concat(Object.getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n if (!REACT_STATICS[keys[i]] && !KNOWN_STATICS[keys[i]] && (!customStatics || !customStatics[keys[i]])) {\n try {\n targetComponent[keys[i]] = sourceComponent[keys[i]];\n } catch (error) {\n\n }\n }\n }\n }\n\n return targetComponent;\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 specialized version of `_.forEach` for arrays without support for\n * iteratee 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 `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\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 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","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var 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 copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\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 Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\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 genTag = '[object GeneratorFunction]',\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 symbolTag = '[object Symbol]',\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 supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n\n return result;\n }\n\n if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n\n return result;\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\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 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 `_.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 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 getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\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","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 getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\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","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var 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","/**\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","/**\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","/**\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","/**\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 identity = require('./identity');\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nmodule.exports = castFunction;\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 Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\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 allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\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 * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\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 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 // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\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 // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\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 baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * 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 getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\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 overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","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 arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\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 and inherited 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 getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\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","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","/** 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 * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\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 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/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\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 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","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var 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 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","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","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\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 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","module.exports = require('./forEach');\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 arrayEach = require('./_arrayEach'),\n baseEach = require('./_baseEach'),\n castFunction = require('./_castFunction'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\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|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nmodule.exports = forEach;\n","var baseForOwn = require('./_baseForOwn'),\n castFunction = require('./_castFunction');\n\n/**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.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 `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forOwn(object, iteratee) {\n return object && baseForOwn(object, castFunction(iteratee));\n}\n\nmodule.exports = forOwn;\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 root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\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 map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\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 set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\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","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","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 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 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","/**\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 isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\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 = value.replace(reTrim, '');\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","export var red = {\"50\":\"#ffebee\",\"100\":\"#ffcdd2\",\"200\":\"#ef9a9a\",\"300\":\"#e57373\",\"400\":\"#ef5350\",\"500\":\"#f44336\",\"600\":\"#e53935\",\"700\":\"#d32f2f\",\"800\":\"#c62828\",\"900\":\"#b71c1c\",\"a100\":\"#ff8a80\",\"a200\":\"#ff5252\",\"a400\":\"#ff1744\",\"a700\":\"#d50000\"};\nexport var pink = {\"50\":\"#fce4ec\",\"100\":\"#f8bbd0\",\"200\":\"#f48fb1\",\"300\":\"#f06292\",\"400\":\"#ec407a\",\"500\":\"#e91e63\",\"600\":\"#d81b60\",\"700\":\"#c2185b\",\"800\":\"#ad1457\",\"900\":\"#880e4f\",\"a100\":\"#ff80ab\",\"a200\":\"#ff4081\",\"a400\":\"#f50057\",\"a700\":\"#c51162\"};\nexport var purple = {\"50\":\"#f3e5f5\",\"100\":\"#e1bee7\",\"200\":\"#ce93d8\",\"300\":\"#ba68c8\",\"400\":\"#ab47bc\",\"500\":\"#9c27b0\",\"600\":\"#8e24aa\",\"700\":\"#7b1fa2\",\"800\":\"#6a1b9a\",\"900\":\"#4a148c\",\"a100\":\"#ea80fc\",\"a200\":\"#e040fb\",\"a400\":\"#d500f9\",\"a700\":\"#aa00ff\"};\nexport var deepPurple = {\"50\":\"#ede7f6\",\"100\":\"#d1c4e9\",\"200\":\"#b39ddb\",\"300\":\"#9575cd\",\"400\":\"#7e57c2\",\"500\":\"#673ab7\",\"600\":\"#5e35b1\",\"700\":\"#512da8\",\"800\":\"#4527a0\",\"900\":\"#311b92\",\"a100\":\"#b388ff\",\"a200\":\"#7c4dff\",\"a400\":\"#651fff\",\"a700\":\"#6200ea\"};\nexport var indigo = {\"50\":\"#e8eaf6\",\"100\":\"#c5cae9\",\"200\":\"#9fa8da\",\"300\":\"#7986cb\",\"400\":\"#5c6bc0\",\"500\":\"#3f51b5\",\"600\":\"#3949ab\",\"700\":\"#303f9f\",\"800\":\"#283593\",\"900\":\"#1a237e\",\"a100\":\"#8c9eff\",\"a200\":\"#536dfe\",\"a400\":\"#3d5afe\",\"a700\":\"#304ffe\"};\nexport var blue = {\"50\":\"#e3f2fd\",\"100\":\"#bbdefb\",\"200\":\"#90caf9\",\"300\":\"#64b5f6\",\"400\":\"#42a5f5\",\"500\":\"#2196f3\",\"600\":\"#1e88e5\",\"700\":\"#1976d2\",\"800\":\"#1565c0\",\"900\":\"#0d47a1\",\"a100\":\"#82b1ff\",\"a200\":\"#448aff\",\"a400\":\"#2979ff\",\"a700\":\"#2962ff\"};\nexport var lightBlue = {\"50\":\"#e1f5fe\",\"100\":\"#b3e5fc\",\"200\":\"#81d4fa\",\"300\":\"#4fc3f7\",\"400\":\"#29b6f6\",\"500\":\"#03a9f4\",\"600\":\"#039be5\",\"700\":\"#0288d1\",\"800\":\"#0277bd\",\"900\":\"#01579b\",\"a100\":\"#80d8ff\",\"a200\":\"#40c4ff\",\"a400\":\"#00b0ff\",\"a700\":\"#0091ea\"};\nexport var cyan = {\"50\":\"#e0f7fa\",\"100\":\"#b2ebf2\",\"200\":\"#80deea\",\"300\":\"#4dd0e1\",\"400\":\"#26c6da\",\"500\":\"#00bcd4\",\"600\":\"#00acc1\",\"700\":\"#0097a7\",\"800\":\"#00838f\",\"900\":\"#006064\",\"a100\":\"#84ffff\",\"a200\":\"#18ffff\",\"a400\":\"#00e5ff\",\"a700\":\"#00b8d4\"};\nexport var teal = {\"50\":\"#e0f2f1\",\"100\":\"#b2dfdb\",\"200\":\"#80cbc4\",\"300\":\"#4db6ac\",\"400\":\"#26a69a\",\"500\":\"#009688\",\"600\":\"#00897b\",\"700\":\"#00796b\",\"800\":\"#00695c\",\"900\":\"#004d40\",\"a100\":\"#a7ffeb\",\"a200\":\"#64ffda\",\"a400\":\"#1de9b6\",\"a700\":\"#00bfa5\"};\nexport var green = {\"50\":\"#e8f5e9\",\"100\":\"#c8e6c9\",\"200\":\"#a5d6a7\",\"300\":\"#81c784\",\"400\":\"#66bb6a\",\"500\":\"#4caf50\",\"600\":\"#43a047\",\"700\":\"#388e3c\",\"800\":\"#2e7d32\",\"900\":\"#1b5e20\",\"a100\":\"#b9f6ca\",\"a200\":\"#69f0ae\",\"a400\":\"#00e676\",\"a700\":\"#00c853\"};\nexport var lightGreen = {\"50\":\"#f1f8e9\",\"100\":\"#dcedc8\",\"200\":\"#c5e1a5\",\"300\":\"#aed581\",\"400\":\"#9ccc65\",\"500\":\"#8bc34a\",\"600\":\"#7cb342\",\"700\":\"#689f38\",\"800\":\"#558b2f\",\"900\":\"#33691e\",\"a100\":\"#ccff90\",\"a200\":\"#b2ff59\",\"a400\":\"#76ff03\",\"a700\":\"#64dd17\"};\nexport var lime = {\"50\":\"#f9fbe7\",\"100\":\"#f0f4c3\",\"200\":\"#e6ee9c\",\"300\":\"#dce775\",\"400\":\"#d4e157\",\"500\":\"#cddc39\",\"600\":\"#c0ca33\",\"700\":\"#afb42b\",\"800\":\"#9e9d24\",\"900\":\"#827717\",\"a100\":\"#f4ff81\",\"a200\":\"#eeff41\",\"a400\":\"#c6ff00\",\"a700\":\"#aeea00\"};\nexport var yellow = {\"50\":\"#fffde7\",\"100\":\"#fff9c4\",\"200\":\"#fff59d\",\"300\":\"#fff176\",\"400\":\"#ffee58\",\"500\":\"#ffeb3b\",\"600\":\"#fdd835\",\"700\":\"#fbc02d\",\"800\":\"#f9a825\",\"900\":\"#f57f17\",\"a100\":\"#ffff8d\",\"a200\":\"#ffff00\",\"a400\":\"#ffea00\",\"a700\":\"#ffd600\"};\nexport var amber = {\"50\":\"#fff8e1\",\"100\":\"#ffecb3\",\"200\":\"#ffe082\",\"300\":\"#ffd54f\",\"400\":\"#ffca28\",\"500\":\"#ffc107\",\"600\":\"#ffb300\",\"700\":\"#ffa000\",\"800\":\"#ff8f00\",\"900\":\"#ff6f00\",\"a100\":\"#ffe57f\",\"a200\":\"#ffd740\",\"a400\":\"#ffc400\",\"a700\":\"#ffab00\"};\nexport var orange = {\"50\":\"#fff3e0\",\"100\":\"#ffe0b2\",\"200\":\"#ffcc80\",\"300\":\"#ffb74d\",\"400\":\"#ffa726\",\"500\":\"#ff9800\",\"600\":\"#fb8c00\",\"700\":\"#f57c00\",\"800\":\"#ef6c00\",\"900\":\"#e65100\",\"a100\":\"#ffd180\",\"a200\":\"#ffab40\",\"a400\":\"#ff9100\",\"a700\":\"#ff6d00\"};\nexport var deepOrange = {\"50\":\"#fbe9e7\",\"100\":\"#ffccbc\",\"200\":\"#ffab91\",\"300\":\"#ff8a65\",\"400\":\"#ff7043\",\"500\":\"#ff5722\",\"600\":\"#f4511e\",\"700\":\"#e64a19\",\"800\":\"#d84315\",\"900\":\"#bf360c\",\"a100\":\"#ff9e80\",\"a200\":\"#ff6e40\",\"a400\":\"#ff3d00\",\"a700\":\"#dd2c00\"};\nexport var brown = {\"50\":\"#efebe9\",\"100\":\"#d7ccc8\",\"200\":\"#bcaaa4\",\"300\":\"#a1887f\",\"400\":\"#8d6e63\",\"500\":\"#795548\",\"600\":\"#6d4c41\",\"700\":\"#5d4037\",\"800\":\"#4e342e\",\"900\":\"#3e2723\"};\nexport var grey = {\"50\":\"#fafafa\",\"100\":\"#f5f5f5\",\"200\":\"#eeeeee\",\"300\":\"#e0e0e0\",\"400\":\"#bdbdbd\",\"500\":\"#9e9e9e\",\"600\":\"#757575\",\"700\":\"#616161\",\"800\":\"#424242\",\"900\":\"#212121\"};\nexport var blueGrey = {\"50\":\"#eceff1\",\"100\":\"#cfd8dc\",\"200\":\"#b0bec5\",\"300\":\"#90a4ae\",\"400\":\"#78909c\",\"500\":\"#607d8b\",\"600\":\"#546e7a\",\"700\":\"#455a64\",\"800\":\"#37474f\",\"900\":\"#263238\"};\nexport var darkText = {\"primary\":\"rgba(0, 0, 0, 0.87)\",\"secondary\":\"rgba(0, 0, 0, 0.54)\",\"disabled\":\"rgba(0, 0, 0, 0.38)\",\"dividers\":\"rgba(0, 0, 0, 0.12)\"};\nexport var lightText = {\"primary\":\"rgba(255, 255, 255, 1)\",\"secondary\":\"rgba(255, 255, 255, 0.7)\",\"disabled\":\"rgba(255, 255, 255, 0.5)\",\"dividers\":\"rgba(255, 255, 255, 0.12)\"};\nexport var darkIcons = {\"active\":\"rgba(0, 0, 0, 0.54)\",\"inactive\":\"rgba(0, 0, 0, 0.38)\"};\nexport var lightIcons = {\"active\":\"rgba(255, 255, 255, 1)\",\"inactive\":\"rgba(255, 255, 255, 0.5)\"};\nexport var white = \"#ffffff\";\nexport var black = \"#000000\";\n\nexport default {\n red: red,\n pink: pink,\n purple: purple,\n deepPurple: deepPurple,\n indigo: indigo,\n blue: blue,\n lightBlue: lightBlue,\n cyan: cyan,\n teal: teal,\n green: green,\n lightGreen: lightGreen,\n lime: lime,\n yellow: yellow,\n amber: amber,\n orange: orange,\n deepOrange: deepOrange,\n brown: brown,\n grey: grey,\n blueGrey: blueGrey,\n darkText: darkText,\n lightText: lightText,\n darkIcons: darkIcons,\n lightIcons: lightIcons,\n white: white,\n black: black\n};\n","/*global define:false */\n/**\n * Copyright 2012-2017 Craig Campbell\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * Mousetrap is a simple keyboard shortcut library for Javascript with\n * no external dependencies\n *\n * @version 1.6.2\n * @url craig.is/killing/mice\n */\n(function(window, document, undefined) {\n\n // Check if mousetrap is used inside browser, if not, return\n if (!window) {\n return;\n }\n\n /**\n * mapping of special keycodes to their corresponding keys\n *\n * everything in this dictionary cannot use keypress events\n * so it has to be here to map to the correct keycodes for\n * keyup/keydown events\n *\n * @type {Object}\n */\n var _MAP = {\n 8: 'backspace',\n 9: 'tab',\n 13: 'enter',\n 16: 'shift',\n 17: 'ctrl',\n 18: 'alt',\n 20: 'capslock',\n 27: 'esc',\n 32: 'space',\n 33: 'pageup',\n 34: 'pagedown',\n 35: 'end',\n 36: 'home',\n 37: 'left',\n 38: 'up',\n 39: 'right',\n 40: 'down',\n 45: 'ins',\n 46: 'del',\n 91: 'meta',\n 93: 'meta',\n 224: 'meta'\n };\n\n /**\n * mapping for special characters so they can support\n *\n * this dictionary is only used incase you want to bind a\n * keyup or keydown event to one of these keys\n *\n * @type {Object}\n */\n var _KEYCODE_MAP = {\n 106: '*',\n 107: '+',\n 109: '-',\n 110: '.',\n 111 : '/',\n 186: ';',\n 187: '=',\n 188: ',',\n 189: '-',\n 190: '.',\n 191: '/',\n 192: '`',\n 219: '[',\n 220: '\\\\',\n 221: ']',\n 222: '\\''\n };\n\n /**\n * this is a mapping of keys that require shift on a US keypad\n * back to the non shift equivelents\n *\n * this is so you can use keyup events with these keys\n *\n * note that this will only work reliably on US keyboards\n *\n * @type {Object}\n */\n var _SHIFT_MAP = {\n '~': '`',\n '!': '1',\n '@': '2',\n '#': '3',\n '$': '4',\n '%': '5',\n '^': '6',\n '&': '7',\n '*': '8',\n '(': '9',\n ')': '0',\n '_': '-',\n '+': '=',\n ':': ';',\n '\\\"': '\\'',\n '<': ',',\n '>': '.',\n '?': '/',\n '|': '\\\\'\n };\n\n /**\n * this is a list of special strings you can use to map\n * to modifier keys when you specify your keyboard shortcuts\n *\n * @type {Object}\n */\n var _SPECIAL_ALIASES = {\n 'option': 'alt',\n 'command': 'meta',\n 'return': 'enter',\n 'escape': 'esc',\n 'plus': '+',\n 'mod': /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? 'meta' : 'ctrl'\n };\n\n /**\n * variable to store the flipped version of _MAP from above\n * needed to check if we should use keypress or not when no action\n * is specified\n *\n * @type {Object|undefined}\n */\n var _REVERSE_MAP;\n\n /**\n * loop through the f keys, f1 to f19 and add them to the map\n * programatically\n */\n for (var i = 1; i < 20; ++i) {\n _MAP[111 + i] = 'f' + i;\n }\n\n /**\n * loop through to map numbers on the numeric keypad\n */\n for (i = 0; i <= 9; ++i) {\n\n // This needs to use a string cause otherwise since 0 is falsey\n // mousetrap will never fire for numpad 0 pressed as part of a keydown\n // event.\n //\n // @see https://github.com/ccampbell/mousetrap/pull/258\n _MAP[i + 96] = i.toString();\n }\n\n /**\n * cross browser add event method\n *\n * @param {Element|HTMLDocument} object\n * @param {string} type\n * @param {Function} callback\n * @returns void\n */\n function _addEvent(object, type, callback) {\n if (object.addEventListener) {\n object.addEventListener(type, callback, false);\n return;\n }\n\n object.attachEvent('on' + type, callback);\n }\n\n /**\n * takes the event and returns the key character\n *\n * @param {Event} e\n * @return {string}\n */\n function _characterFromEvent(e) {\n\n // for keypress events we should return the character as is\n if (e.type == 'keypress') {\n var character = String.fromCharCode(e.which);\n\n // if the shift key is not pressed then it is safe to assume\n // that we want the character to be lowercase. this means if\n // you accidentally have caps lock on then your key bindings\n // will continue to work\n //\n // the only side effect that might not be desired is if you\n // bind something like 'A' cause you want to trigger an\n // event when capital A is pressed caps lock will no longer\n // trigger the event. shift+a will though.\n if (!e.shiftKey) {\n character = character.toLowerCase();\n }\n\n return character;\n }\n\n // for non keypress events the special maps are needed\n if (_MAP[e.which]) {\n return _MAP[e.which];\n }\n\n if (_KEYCODE_MAP[e.which]) {\n return _KEYCODE_MAP[e.which];\n }\n\n // if it is not in the special map\n\n // with keydown and keyup events the character seems to always\n // come in as an uppercase character whether you are pressing shift\n // or not. we should make sure it is always lowercase for comparisons\n return String.fromCharCode(e.which).toLowerCase();\n }\n\n /**\n * checks if two arrays are equal\n *\n * @param {Array} modifiers1\n * @param {Array} modifiers2\n * @returns {boolean}\n */\n function _modifiersMatch(modifiers1, modifiers2) {\n return modifiers1.sort().join(',') === modifiers2.sort().join(',');\n }\n\n /**\n * takes a key event and figures out what the modifiers are\n *\n * @param {Event} e\n * @returns {Array}\n */\n function _eventModifiers(e) {\n var modifiers = [];\n\n if (e.shiftKey) {\n modifiers.push('shift');\n }\n\n if (e.altKey) {\n modifiers.push('alt');\n }\n\n if (e.ctrlKey) {\n modifiers.push('ctrl');\n }\n\n if (e.metaKey) {\n modifiers.push('meta');\n }\n\n return modifiers;\n }\n\n /**\n * prevents default for this event\n *\n * @param {Event} e\n * @returns void\n */\n function _preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n return;\n }\n\n e.returnValue = false;\n }\n\n /**\n * stops propogation for this event\n *\n * @param {Event} e\n * @returns void\n */\n function _stopPropagation(e) {\n if (e.stopPropagation) {\n e.stopPropagation();\n return;\n }\n\n e.cancelBubble = true;\n }\n\n /**\n * determines if the keycode specified is a modifier key or not\n *\n * @param {string} key\n * @returns {boolean}\n */\n function _isModifier(key) {\n return key == 'shift' || key == 'ctrl' || key == 'alt' || key == 'meta';\n }\n\n /**\n * reverses the map lookup so that we can look for specific keys\n * to see what can and can't use keypress\n *\n * @return {Object}\n */\n function _getReverseMap() {\n if (!_REVERSE_MAP) {\n _REVERSE_MAP = {};\n for (var key in _MAP) {\n\n // pull out the numeric keypad from here cause keypress should\n // be able to detect the keys from the character\n if (key > 95 && key < 112) {\n continue;\n }\n\n if (_MAP.hasOwnProperty(key)) {\n _REVERSE_MAP[_MAP[key]] = key;\n }\n }\n }\n return _REVERSE_MAP;\n }\n\n /**\n * picks the best action based on the key combination\n *\n * @param {string} key - character for key\n * @param {Array} modifiers\n * @param {string=} action passed in\n */\n function _pickBestAction(key, modifiers, action) {\n\n // if no action was picked in we should try to pick the one\n // that we think would work best for this key\n if (!action) {\n action = _getReverseMap()[key] ? 'keydown' : 'keypress';\n }\n\n // modifier keys don't work as expected with keypress,\n // switch to keydown\n if (action == 'keypress' && modifiers.length) {\n action = 'keydown';\n }\n\n return action;\n }\n\n /**\n * Converts from a string key combination to an array\n *\n * @param {string} combination like \"command+shift+l\"\n * @return {Array}\n */\n function _keysFromString(combination) {\n if (combination === '+') {\n return ['+'];\n }\n\n combination = combination.replace(/\\+{2}/g, '+plus');\n return combination.split('+');\n }\n\n /**\n * Gets info for a specific key combination\n *\n * @param {string} combination key combination (\"command+s\" or \"a\" or \"*\")\n * @param {string=} action\n * @returns {Object}\n */\n function _getKeyInfo(combination, action) {\n var keys;\n var key;\n var i;\n var modifiers = [];\n\n // take the keys from this pattern and figure out what the actual\n // pattern is all about\n keys = _keysFromString(combination);\n\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n\n // normalize key names\n if (_SPECIAL_ALIASES[key]) {\n key = _SPECIAL_ALIASES[key];\n }\n\n // if this is not a keypress event then we should\n // be smart about using shift keys\n // this will only work for US keyboards however\n if (action && action != 'keypress' && _SHIFT_MAP[key]) {\n key = _SHIFT_MAP[key];\n modifiers.push('shift');\n }\n\n // if this key is a modifier then add it to the list of modifiers\n if (_isModifier(key)) {\n modifiers.push(key);\n }\n }\n\n // depending on what the key combination is\n // we will try to pick the best event for it\n action = _pickBestAction(key, modifiers, action);\n\n return {\n key: key,\n modifiers: modifiers,\n action: action\n };\n }\n\n function _belongsTo(element, ancestor) {\n if (element === null || element === document) {\n return false;\n }\n\n if (element === ancestor) {\n return true;\n }\n\n return _belongsTo(element.parentNode, ancestor);\n }\n\n function Mousetrap(targetElement) {\n var self = this;\n\n targetElement = targetElement || document;\n\n if (!(self instanceof Mousetrap)) {\n return new Mousetrap(targetElement);\n }\n\n /**\n * element to attach key events to\n *\n * @type {Element}\n */\n self.target = targetElement;\n\n /**\n * a list of all the callbacks setup via Mousetrap.bind()\n *\n * @type {Object}\n */\n self._callbacks = {};\n\n /**\n * direct map of string combinations to callbacks used for trigger()\n *\n * @type {Object}\n */\n self._directMap = {};\n\n /**\n * keeps track of what level each sequence is at since multiple\n * sequences can start out with the same sequence\n *\n * @type {Object}\n */\n var _sequenceLevels = {};\n\n /**\n * variable to store the setTimeout call\n *\n * @type {null|number}\n */\n var _resetTimer;\n\n /**\n * temporary state where we will ignore the next keyup\n *\n * @type {boolean|string}\n */\n var _ignoreNextKeyup = false;\n\n /**\n * temporary state where we will ignore the next keypress\n *\n * @type {boolean}\n */\n var _ignoreNextKeypress = false;\n\n /**\n * are we currently inside of a sequence?\n * type of action (\"keyup\" or \"keydown\" or \"keypress\") or false\n *\n * @type {boolean|string}\n */\n var _nextExpectedAction = false;\n\n /**\n * resets all sequence counters except for the ones passed in\n *\n * @param {Object} doNotReset\n * @returns void\n */\n function _resetSequences(doNotReset) {\n doNotReset = doNotReset || {};\n\n var activeSequences = false,\n key;\n\n for (key in _sequenceLevels) {\n if (doNotReset[key]) {\n activeSequences = true;\n continue;\n }\n _sequenceLevels[key] = 0;\n }\n\n if (!activeSequences) {\n _nextExpectedAction = false;\n }\n }\n\n /**\n * finds all callbacks that match based on the keycode, modifiers,\n * and action\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event|Object} e\n * @param {string=} sequenceName - name of the sequence we are looking for\n * @param {string=} combination\n * @param {number=} level\n * @returns {Array}\n */\n function _getMatches(character, modifiers, e, sequenceName, combination, level) {\n var i;\n var callback;\n var matches = [];\n var action = e.type;\n\n // if there are no events related to this keycode\n if (!self._callbacks[character]) {\n return [];\n }\n\n // if a modifier key is coming up on its own we should allow it\n if (action == 'keyup' && _isModifier(character)) {\n modifiers = [character];\n }\n\n // loop through all callbacks for the key that was pressed\n // and see if any of them match\n for (i = 0; i < self._callbacks[character].length; ++i) {\n callback = self._callbacks[character][i];\n\n // if a sequence name is not specified, but this is a sequence at\n // the wrong level then move onto the next match\n if (!sequenceName && callback.seq && _sequenceLevels[callback.seq] != callback.level) {\n continue;\n }\n\n // if the action we are looking for doesn't match the action we got\n // then we should keep going\n if (action != callback.action) {\n continue;\n }\n\n // if this is a keypress event and the meta key and control key\n // are not pressed that means that we need to only look at the\n // character, otherwise check the modifiers as well\n //\n // chrome will not fire a keypress if meta or control is down\n // safari will fire a keypress if meta or meta+shift is down\n // firefox will fire a keypress if meta or control is down\n if ((action == 'keypress' && !e.metaKey && !e.ctrlKey) || _modifiersMatch(modifiers, callback.modifiers)) {\n\n // when you bind a combination or sequence a second time it\n // should overwrite the first one. if a sequenceName or\n // combination is specified in this call it does just that\n //\n // @todo make deleting its own method?\n var deleteCombo = !sequenceName && callback.combo == combination;\n var deleteSequence = sequenceName && callback.seq == sequenceName && callback.level == level;\n if (deleteCombo || deleteSequence) {\n self._callbacks[character].splice(i, 1);\n }\n\n matches.push(callback);\n }\n }\n\n return matches;\n }\n\n /**\n * actually calls the callback function\n *\n * if your callback function returns false this will use the jquery\n * convention - prevent default and stop propogation on the event\n *\n * @param {Function} callback\n * @param {Event} e\n * @returns void\n */\n function _fireCallback(callback, e, combo, sequence) {\n\n // if this event should not happen stop here\n if (self.stopCallback(e, e.target || e.srcElement, combo, sequence)) {\n return;\n }\n\n if (callback(e, combo) === false) {\n _preventDefault(e);\n _stopPropagation(e);\n }\n }\n\n /**\n * handles a character key event\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event} e\n * @returns void\n */\n self._handleKey = function(character, modifiers, e) {\n var callbacks = _getMatches(character, modifiers, e);\n var i;\n var doNotReset = {};\n var maxLevel = 0;\n var processedSequenceCallback = false;\n\n // Calculate the maxLevel for sequences so we can only execute the longest callback sequence\n for (i = 0; i < callbacks.length; ++i) {\n if (callbacks[i].seq) {\n maxLevel = Math.max(maxLevel, callbacks[i].level);\n }\n }\n\n // loop through matching callbacks for this key event\n for (i = 0; i < callbacks.length; ++i) {\n\n // fire for all sequence callbacks\n // this is because if for example you have multiple sequences\n // bound such as \"g i\" and \"g t\" they both need to fire the\n // callback for matching g cause otherwise you can only ever\n // match the first one\n if (callbacks[i].seq) {\n\n // only fire callbacks for the maxLevel to prevent\n // subsequences from also firing\n //\n // for example 'a option b' should not cause 'option b' to fire\n // even though 'option b' is part of the other sequence\n //\n // any sequences that do not match here will be discarded\n // below by the _resetSequences call\n if (callbacks[i].level != maxLevel) {\n continue;\n }\n\n processedSequenceCallback = true;\n\n // keep a list of which sequences were matches for later\n doNotReset[callbacks[i].seq] = 1;\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo, callbacks[i].seq);\n continue;\n }\n\n // if there were no sequence matches but we are still here\n // that means this is a regular match so we should fire that\n if (!processedSequenceCallback) {\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo);\n }\n }\n\n // if the key you pressed matches the type of sequence without\n // being a modifier (ie \"keyup\" or \"keypress\") then we should\n // reset all sequences that were not matched by this event\n //\n // this is so, for example, if you have the sequence \"h a t\" and you\n // type \"h e a r t\" it does not match. in this case the \"e\" will\n // cause the sequence to reset\n //\n // modifier keys are ignored because you can have a sequence\n // that contains modifiers such as \"enter ctrl+space\" and in most\n // cases the modifier key will be pressed before the next key\n //\n // also if you have a sequence such as \"ctrl+b a\" then pressing the\n // \"b\" key will trigger a \"keypress\" and a \"keydown\"\n //\n // the \"keydown\" is expected when there is a modifier, but the\n // \"keypress\" ends up matching the _nextExpectedAction since it occurs\n // after and that causes the sequence to reset\n //\n // we ignore keypresses in a sequence that directly follow a keydown\n // for the same character\n var ignoreThisKeypress = e.type == 'keypress' && _ignoreNextKeypress;\n if (e.type == _nextExpectedAction && !_isModifier(character) && !ignoreThisKeypress) {\n _resetSequences(doNotReset);\n }\n\n _ignoreNextKeypress = processedSequenceCallback && e.type == 'keydown';\n };\n\n /**\n * handles a keydown event\n *\n * @param {Event} e\n * @returns void\n */\n function _handleKeyEvent(e) {\n\n // normalize e.which for key events\n // @see http://stackoverflow.com/questions/4285627/javascript-keycode-vs-charcode-utter-confusion\n if (typeof e.which !== 'number') {\n e.which = e.keyCode;\n }\n\n var character = _characterFromEvent(e);\n\n // no character found then stop\n if (!character) {\n return;\n }\n\n // need to use === for the character check because the character can be 0\n if (e.type == 'keyup' && _ignoreNextKeyup === character) {\n _ignoreNextKeyup = false;\n return;\n }\n\n self.handleKey(character, _eventModifiers(e), e);\n }\n\n /**\n * called to set a 1 second timeout on the specified sequence\n *\n * this is so after each key press in the sequence you have 1 second\n * to press the next key before you have to start over\n *\n * @returns void\n */\n function _resetSequenceTimer() {\n clearTimeout(_resetTimer);\n _resetTimer = setTimeout(_resetSequences, 1000);\n }\n\n /**\n * binds a key sequence to an event\n *\n * @param {string} combo - combo specified in bind call\n * @param {Array} keys\n * @param {Function} callback\n * @param {string=} action\n * @returns void\n */\n function _bindSequence(combo, keys, callback, action) {\n\n // start off by adding a sequence level record for this combination\n // and setting the level to 0\n _sequenceLevels[combo] = 0;\n\n /**\n * callback to increase the sequence level for this sequence and reset\n * all other sequences that were active\n *\n * @param {string} nextAction\n * @returns {Function}\n */\n function _increaseSequence(nextAction) {\n return function() {\n _nextExpectedAction = nextAction;\n ++_sequenceLevels[combo];\n _resetSequenceTimer();\n };\n }\n\n /**\n * wraps the specified callback inside of another function in order\n * to reset all sequence counters as soon as this sequence is done\n *\n * @param {Event} e\n * @returns void\n */\n function _callbackAndReset(e) {\n _fireCallback(callback, e, combo);\n\n // we should ignore the next key up if the action is key down\n // or keypress. this is so if you finish a sequence and\n // release the key the final key will not trigger a keyup\n if (action !== 'keyup') {\n _ignoreNextKeyup = _characterFromEvent(e);\n }\n\n // weird race condition if a sequence ends with the key\n // another sequence begins with\n setTimeout(_resetSequences, 10);\n }\n\n // loop through keys one at a time and bind the appropriate callback\n // function. for any key leading up to the final one it should\n // increase the sequence. after the final, it should reset all sequences\n //\n // if an action is specified in the original bind call then that will\n // be used throughout. otherwise we will pass the action that the\n // next key in the sequence should match. this allows a sequence\n // to mix and match keypress and keydown events depending on which\n // ones are better suited to the key provided\n for (var i = 0; i < keys.length; ++i) {\n var isFinal = i + 1 === keys.length;\n var wrappedCallback = isFinal ? _callbackAndReset : _increaseSequence(action || _getKeyInfo(keys[i + 1]).action);\n _bindSingle(keys[i], wrappedCallback, action, combo, i);\n }\n }\n\n /**\n * binds a single keyboard combination\n *\n * @param {string} combination\n * @param {Function} callback\n * @param {string=} action\n * @param {string=} sequenceName - name of sequence if part of sequence\n * @param {number=} level - what part of the sequence the command is\n * @returns void\n */\n function _bindSingle(combination, callback, action, sequenceName, level) {\n\n // store a direct mapped reference for use with Mousetrap.trigger\n self._directMap[combination + ':' + action] = callback;\n\n // make sure multiple spaces in a row become a single space\n combination = combination.replace(/\\s+/g, ' ');\n\n var sequence = combination.split(' ');\n var info;\n\n // if this pattern is a sequence of keys then run through this method\n // to reprocess each pattern one key at a time\n if (sequence.length > 1) {\n _bindSequence(combination, sequence, callback, action);\n return;\n }\n\n info = _getKeyInfo(combination, action);\n\n // make sure to initialize array if this is the first time\n // a callback is added for this key\n self._callbacks[info.key] = self._callbacks[info.key] || [];\n\n // remove an existing match if there is one\n _getMatches(info.key, info.modifiers, {type: info.action}, sequenceName, combination, level);\n\n // add this call back to the array\n // if it is a sequence put it at the beginning\n // if not put it at the end\n //\n // this is important because the way these are processed expects\n // the sequence ones to come first\n self._callbacks[info.key][sequenceName ? 'unshift' : 'push']({\n callback: callback,\n modifiers: info.modifiers,\n action: info.action,\n seq: sequenceName,\n level: level,\n combo: combination\n });\n }\n\n /**\n * binds multiple combinations to the same callback\n *\n * @param {Array} combinations\n * @param {Function} callback\n * @param {string|undefined} action\n * @returns void\n */\n self._bindMultiple = function(combinations, callback, action) {\n for (var i = 0; i < combinations.length; ++i) {\n _bindSingle(combinations[i], callback, action);\n }\n };\n\n // start!\n _addEvent(targetElement, 'keypress', _handleKeyEvent);\n _addEvent(targetElement, 'keydown', _handleKeyEvent);\n _addEvent(targetElement, 'keyup', _handleKeyEvent);\n }\n\n /**\n * binds an event to mousetrap\n *\n * can be a single key, a combination of keys separated with +,\n * an array of keys, or a sequence of keys separated by spaces\n *\n * be sure to list the modifier keys first to make sure that the\n * correct key ends up getting bound (the last key in the pattern)\n *\n * @param {string|Array} keys\n * @param {Function} callback\n * @param {string=} action - 'keypress', 'keydown', or 'keyup'\n * @returns void\n */\n Mousetrap.prototype.bind = function(keys, callback, action) {\n var self = this;\n keys = keys instanceof Array ? keys : [keys];\n self._bindMultiple.call(self, keys, callback, action);\n return self;\n };\n\n /**\n * unbinds an event to mousetrap\n *\n * the unbinding sets the callback function of the specified key combo\n * to an empty function and deletes the corresponding key in the\n * _directMap dict.\n *\n * TODO: actually remove this from the _callbacks dictionary instead\n * of binding an empty function\n *\n * the keycombo+action has to be exactly the same as\n * it was defined in the bind method\n *\n * @param {string|Array} keys\n * @param {string} action\n * @returns void\n */\n Mousetrap.prototype.unbind = function(keys, action) {\n var self = this;\n return self.bind.call(self, keys, function() {}, action);\n };\n\n /**\n * triggers an event that has already been bound\n *\n * @param {string} keys\n * @param {string=} action\n * @returns void\n */\n Mousetrap.prototype.trigger = function(keys, action) {\n var self = this;\n if (self._directMap[keys + ':' + action]) {\n self._directMap[keys + ':' + action]({}, keys);\n }\n return self;\n };\n\n /**\n * resets the library back to its initial state. this is useful\n * if you want to clear out the current keyboard shortcuts and bind\n * new ones - for example if you switch to another page\n *\n * @returns void\n */\n Mousetrap.prototype.reset = function() {\n var self = this;\n self._callbacks = {};\n self._directMap = {};\n return self;\n };\n\n /**\n * should we stop this event before firing off callbacks\n *\n * @param {Event} e\n * @param {Element} element\n * @return {boolean}\n */\n Mousetrap.prototype.stopCallback = function(e, element) {\n var self = this;\n\n // if the element has the class \"mousetrap\" then no need to stop\n if ((' ' + element.className + ' ').indexOf(' mousetrap ') > -1) {\n return false;\n }\n\n if (_belongsTo(element, self.target)) {\n return false;\n }\n\n // stop for input, select, and textarea\n return element.tagName == 'INPUT' || element.tagName == 'SELECT' || element.tagName == 'TEXTAREA' || element.isContentEditable;\n };\n\n /**\n * exposes _handleKey publicly so it can be overwritten by extensions\n */\n Mousetrap.prototype.handleKey = function() {\n var self = this;\n return self._handleKey.apply(self, arguments);\n };\n\n /**\n * allow custom key mappings\n */\n Mousetrap.addKeycodes = function(object) {\n for (var key in object) {\n if (object.hasOwnProperty(key)) {\n _MAP[key] = object[key];\n }\n }\n _REVERSE_MAP = null;\n };\n\n /**\n * Init the global mousetrap functions\n *\n * This method is needed to allow the global mousetrap functions to work\n * now that mousetrap is a constructor function.\n */\n Mousetrap.init = function() {\n var documentMousetrap = Mousetrap(document);\n for (var method in documentMousetrap) {\n if (method.charAt(0) !== '_') {\n Mousetrap[method] = (function(method) {\n return function() {\n return documentMousetrap[method].apply(documentMousetrap, arguments);\n };\n } (method));\n }\n }\n };\n\n Mousetrap.init();\n\n // expose mousetrap to the global object\n window.Mousetrap = Mousetrap;\n\n // expose as a common js module\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = Mousetrap;\n }\n\n // expose mousetrap as an AMD module\n if (typeof define === 'function' && define.amd) {\n define(function() {\n return Mousetrap;\n });\n }\n}) (typeof window !== 'undefined' ? window : null, typeof window !== 'undefined' ? document : null);\n","/**\n * adds a bindGlobal method to Mousetrap that allows you to\n * bind specific keyboard shortcuts that will still work\n * inside a text input field\n *\n * usage:\n * Mousetrap.bindGlobal('ctrl+s', _saveChanges);\n */\n/* global Mousetrap:true */\n(function(Mousetrap) {\n var _globalCallbacks = {};\n var _originalStopCallback = Mousetrap.prototype.stopCallback;\n\n Mousetrap.prototype.stopCallback = function(e, element, combo, sequence) {\n var self = this;\n\n if (self.paused) {\n return true;\n }\n\n if (_globalCallbacks[combo] || _globalCallbacks[sequence]) {\n return false;\n }\n\n return _originalStopCallback.call(self, e, element, combo);\n };\n\n Mousetrap.prototype.bindGlobal = function(keys, callback, action) {\n var self = this;\n self.bind(keys, callback, action);\n\n if (keys instanceof Array) {\n for (var i = 0; i < keys.length; i++) {\n _globalCallbacks[keys[i]] = true;\n }\n return;\n }\n\n _globalCallbacks[keys] = true;\n };\n\n Mousetrap.init();\n}) (Mousetrap);\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","export default typeof window !== 'undefined' && typeof document !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nlet timeoutDuration = 0;\nfor (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.right - result.left;\n const height =\n sizes.height || element.clientHeight || result.bottom - result.top;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n\n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthOddness = reference.width % 2 === popper.width % 2;\n const bothOddWidth = reference.width % 2 === 1 && popper.width % 2 === 1;\n const noRound = v => v;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthOddness\n ? Math.round\n : Math.floor;\n const verticalToInteger = !shouldRound ? noRound : Math.round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`], 10);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`], 10);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const flippedVariation =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\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 printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n )\n\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\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 } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\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 REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\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')(isValidElement, 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","import { createElement, Component } from 'react';\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar styles = {\n base: {\n position: 'absolute',\n userSelect: 'none',\n MsUserSelect: 'none'\n },\n top: {\n width: '100%',\n height: '10px',\n top: '-5px',\n left: '0px',\n cursor: 'row-resize'\n },\n right: {\n width: '10px',\n height: '100%',\n top: '0px',\n right: '-5px',\n cursor: 'col-resize'\n },\n bottom: {\n width: '100%',\n height: '10px',\n bottom: '-5px',\n left: '0px',\n cursor: 'row-resize'\n },\n left: {\n width: '10px',\n height: '100%',\n top: '0px',\n left: '-5px',\n cursor: 'col-resize'\n },\n topRight: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '-10px',\n top: '-10px',\n cursor: 'ne-resize'\n },\n bottomRight: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '-10px',\n bottom: '-10px',\n cursor: 'se-resize'\n },\n bottomLeft: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n left: '-10px',\n bottom: '-10px',\n cursor: 'sw-resize'\n },\n topLeft: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n left: '-10px',\n top: '-10px',\n cursor: 'nw-resize'\n }\n};\n\nvar Resizer = (function (props) {\n return createElement(\n 'div',\n {\n className: props.className,\n style: _extends({}, styles.base, styles[props.direction], props.replaceStyles || {}),\n onMouseDown: function onMouseDown(e) {\n props.onResizeStart(e, props.direction);\n },\n onTouchStart: function onTouchStart(e) {\n props.onResizeStart(e, props.direction);\n }\n },\n props.children\n );\n});\n\nvar userSelectNone = {\n userSelect: 'none',\n MozUserSelect: 'none',\n WebkitUserSelect: 'none',\n MsUserSelect: 'none'\n};\n\nvar userSelectAuto = {\n userSelect: 'auto',\n MozUserSelect: 'auto',\n WebkitUserSelect: 'auto',\n MsUserSelect: 'auto'\n};\n\nvar clamp = function clamp(n, min, max) {\n return Math.max(Math.min(n, max), min);\n};\nvar snap = function snap(n, size) {\n return Math.round(n / size) * size;\n};\n\nvar findClosestSnap = function findClosestSnap(n, snapArray) {\n return snapArray.reduce(function (prev, curr) {\n return Math.abs(curr - n) < Math.abs(prev - n) ? curr : prev;\n });\n};\n\nvar endsWith = function endsWith(str, searchStr) {\n return str.substr(str.length - searchStr.length, searchStr.length) === searchStr;\n};\n\nvar getStringSize = function getStringSize(n) {\n if (n.toString() === 'auto') return n.toString();\n if (endsWith(n.toString(), 'px')) return n.toString();\n if (endsWith(n.toString(), '%')) return n.toString();\n if (endsWith(n.toString(), 'vh')) return n.toString();\n if (endsWith(n.toString(), 'vw')) return n.toString();\n if (endsWith(n.toString(), 'vmax')) return n.toString();\n if (endsWith(n.toString(), 'vmin')) return n.toString();\n return n + 'px';\n};\n\nvar definedProps = ['style', 'className', 'grid', 'snap', 'bounds', 'size', 'defaultSize', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'lockAspectRatio', 'lockAspectRatioExtraWidth', 'lockAspectRatioExtraHeight', 'enable', 'handleStyles', 'handleClasses', 'handleWrapperStyle', 'handleWrapperClass', 'children', 'onResizeStart', 'onResize', 'onResizeStop', 'handleComponent', 'scale'];\n\nvar baseClassName = '__resizable_base__';\n\nvar Resizable = function (_React$Component) {\n inherits(Resizable, _React$Component);\n\n function Resizable(props) {\n classCallCheck(this, Resizable);\n\n var _this = possibleConstructorReturn(this, (Resizable.__proto__ || Object.getPrototypeOf(Resizable)).call(this, props));\n\n _this.state = {\n isResizing: false,\n resizeCursor: 'auto',\n width: typeof (_this.propsSize && _this.propsSize.width) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.width,\n height: typeof (_this.propsSize && _this.propsSize.height) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.height,\n direction: 'right',\n original: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n }\n };\n\n _this.updateExtendsProps(props);\n _this.onResizeStart = _this.onResizeStart.bind(_this);\n _this.onMouseMove = _this.onMouseMove.bind(_this);\n _this.onMouseUp = _this.onMouseUp.bind(_this);\n\n if (typeof window !== 'undefined') {\n window.addEventListener('mouseup', _this.onMouseUp);\n window.addEventListener('mousemove', _this.onMouseMove);\n window.addEventListener('mouseleave', _this.onMouseUp);\n window.addEventListener('touchmove', _this.onMouseMove);\n window.addEventListener('touchend', _this.onMouseUp);\n }\n return _this;\n }\n\n createClass(Resizable, [{\n key: 'updateExtendsProps',\n value: function updateExtendsProps(props) {\n this.extendsProps = Object.keys(props).reduce(function (acc, key) {\n if (definedProps.indexOf(key) !== -1) return acc;\n acc[key] = props[key];\n return acc;\n }, {});\n }\n }, {\n key: 'getParentSize',\n value: function getParentSize() {\n var base = this.base;\n\n if (!base) return { width: window.innerWidth, height: window.innerHeight };\n // INFO: To calculate parent width with flex layout\n var wrapChanged = false;\n var wrap = this.parentNode.style.flexWrap;\n var minWidth = base.style.minWidth;\n if (wrap !== 'wrap') {\n wrapChanged = true;\n this.parentNode.style.flexWrap = 'wrap';\n // HACK: Use relative to get parent padding size\n }\n base.style.position = 'relative';\n base.style.minWidth = '100%';\n var size = {\n width: base.offsetWidth,\n height: base.offsetHeight\n };\n base.style.position = 'absolute';\n if (wrapChanged) this.parentNode.style.flexWrap = wrap;\n base.style.minWidth = minWidth;\n return size;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var size = this.size;\n\n this.setState({\n width: this.state.width || size.width,\n height: this.state.height || size.height\n });\n var parent = this.parentNode;\n if (!(parent instanceof HTMLElement)) return;\n if (this.base) return;\n var element = document.createElement('div');\n element.style.width = '100%';\n element.style.height = '100%';\n element.style.position = 'absolute';\n element.style.transform = 'scale(0, 0)';\n element.style.left = '0';\n element.style.flex = '0';\n if (element.classList) {\n element.classList.add(baseClassName);\n } else {\n element.className += baseClassName;\n }\n parent.appendChild(element);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(next) {\n this.updateExtendsProps(next);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window !== 'undefined') {\n window.removeEventListener('mouseup', this.onMouseUp);\n window.removeEventListener('mousemove', this.onMouseMove);\n window.removeEventListener('mouseleave', this.onMouseUp);\n window.removeEventListener('touchmove', this.onMouseMove);\n window.removeEventListener('touchend', this.onMouseUp);\n var parent = this.parentNode;\n var base = this.base;\n\n if (!base || !parent) return;\n if (!(parent instanceof HTMLElement) || !(base instanceof Node)) return;\n parent.removeChild(base);\n }\n }\n }, {\n key: 'calculateNewSize',\n value: function calculateNewSize(newSize, kind) {\n var propsSize = this.propsSize && this.propsSize[kind];\n return this.state[kind] === 'auto' && this.state.original[kind] === newSize && (typeof propsSize === 'undefined' || propsSize === 'auto') ? 'auto' : newSize;\n }\n }, {\n key: 'onResizeStart',\n value: function onResizeStart(event, direction) {\n var clientX = 0;\n var clientY = 0;\n if (event.nativeEvent instanceof MouseEvent) {\n clientX = event.nativeEvent.clientX;\n clientY = event.nativeEvent.clientY;\n\n // When user click with right button the resize is stuck in resizing mode\n // until users clicks again, dont continue if right click is used.\n // HACK: MouseEvent does not have `which` from flow-bin v0.68.\n if (event.nativeEvent.which === 3) {\n return;\n }\n } else if (event.nativeEvent instanceof TouchEvent) {\n clientX = event.nativeEvent.touches[0].clientX;\n clientY = event.nativeEvent.touches[0].clientY;\n }\n if (this.props.onResizeStart) {\n this.props.onResizeStart(event, direction, this.resizable);\n }\n\n // Fix #168\n if (this.props.size) {\n if (typeof this.props.size.height !== 'undefined' && this.props.size.height !== this.state.height) {\n this.setState({ height: this.props.size.height });\n }\n if (typeof this.props.size.width !== 'undefined' && this.props.size.width !== this.state.width) {\n this.setState({ width: this.props.size.width });\n }\n }\n\n this.setState({\n original: {\n x: clientX,\n y: clientY,\n width: this.size.width,\n height: this.size.height\n },\n isResizing: true,\n resizeCursor: window.getComputedStyle(event.target).cursor,\n direction: direction\n });\n }\n }, {\n key: 'onMouseMove',\n value: function onMouseMove(event) {\n if (!this.state.isResizing) return;\n var clientX = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;\n var clientY = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;\n var _state = this.state,\n direction = _state.direction,\n original = _state.original,\n width = _state.width,\n height = _state.height;\n var _props = this.props,\n lockAspectRatio = _props.lockAspectRatio,\n lockAspectRatioExtraHeight = _props.lockAspectRatioExtraHeight,\n lockAspectRatioExtraWidth = _props.lockAspectRatioExtraWidth;\n\n var scale = this.props.scale || 1;\n var _props2 = this.props,\n maxWidth = _props2.maxWidth,\n maxHeight = _props2.maxHeight,\n minWidth = _props2.minWidth,\n minHeight = _props2.minHeight;\n\n // TODO: refactor\n\n var parentSize = this.getParentSize();\n if (maxWidth && typeof maxWidth === 'string' && endsWith(maxWidth, '%')) {\n var _ratio = Number(maxWidth.replace('%', '')) / 100;\n maxWidth = parentSize.width * _ratio;\n }\n if (maxHeight && typeof maxHeight === 'string' && endsWith(maxHeight, '%')) {\n var _ratio2 = Number(maxHeight.replace('%', '')) / 100;\n maxHeight = parentSize.height * _ratio2;\n }\n if (minWidth && typeof minWidth === 'string' && endsWith(minWidth, '%')) {\n var _ratio3 = Number(minWidth.replace('%', '')) / 100;\n minWidth = parentSize.width * _ratio3;\n }\n if (minHeight && typeof minHeight === 'string' && endsWith(minHeight, '%')) {\n var _ratio4 = Number(minHeight.replace('%', '')) / 100;\n minHeight = parentSize.height * _ratio4;\n }\n maxWidth = typeof maxWidth === 'undefined' ? undefined : Number(maxWidth);\n maxHeight = typeof maxHeight === 'undefined' ? undefined : Number(maxHeight);\n minWidth = typeof minWidth === 'undefined' ? undefined : Number(minWidth);\n minHeight = typeof minHeight === 'undefined' ? undefined : Number(minHeight);\n\n var ratio = typeof lockAspectRatio === 'number' ? lockAspectRatio : original.width / original.height;\n var newWidth = original.width;\n var newHeight = original.height;\n if (/right/i.test(direction)) {\n newWidth = original.width + (clientX - original.x) / scale;\n if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n }\n if (/left/i.test(direction)) {\n newWidth = original.width - (clientX - original.x) / scale;\n if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n }\n if (/bottom/i.test(direction)) {\n newHeight = original.height + (clientY - original.y) / scale;\n if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n }\n if (/top/i.test(direction)) {\n newHeight = original.height - (clientY - original.y) / scale;\n if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n }\n\n if (this.props.bounds === 'parent') {\n var parent = this.parentNode;\n if (parent instanceof HTMLElement) {\n var parentRect = parent.getBoundingClientRect();\n var parentLeft = parentRect.left;\n var parentTop = parentRect.top;\n\n var _resizable$getBoundin = this.resizable.getBoundingClientRect(),\n _left = _resizable$getBoundin.left,\n _top = _resizable$getBoundin.top;\n\n var boundWidth = parent.offsetWidth + (parentLeft - _left);\n var boundHeight = parent.offsetHeight + (parentTop - _top);\n maxWidth = maxWidth && maxWidth < boundWidth ? maxWidth : boundWidth;\n maxHeight = maxHeight && maxHeight < boundHeight ? maxHeight : boundHeight;\n }\n } else if (this.props.bounds === 'window') {\n if (typeof window !== 'undefined') {\n var _resizable$getBoundin2 = this.resizable.getBoundingClientRect(),\n _left2 = _resizable$getBoundin2.left,\n _top2 = _resizable$getBoundin2.top;\n\n var _boundWidth = window.innerWidth - _left2;\n var _boundHeight = window.innerHeight - _top2;\n maxWidth = maxWidth && maxWidth < _boundWidth ? maxWidth : _boundWidth;\n maxHeight = maxHeight && maxHeight < _boundHeight ? maxHeight : _boundHeight;\n }\n } else if (this.props.bounds instanceof HTMLElement) {\n var targetRect = this.props.bounds.getBoundingClientRect();\n var targetLeft = targetRect.left;\n var targetTop = targetRect.top;\n\n var _resizable$getBoundin3 = this.resizable.getBoundingClientRect(),\n _left3 = _resizable$getBoundin3.left,\n _top3 = _resizable$getBoundin3.top;\n\n if (!(this.props.bounds instanceof HTMLElement)) return;\n var _boundWidth2 = this.props.bounds.offsetWidth + (targetLeft - _left3);\n var _boundHeight2 = this.props.bounds.offsetHeight + (targetTop - _top3);\n maxWidth = maxWidth && maxWidth < _boundWidth2 ? maxWidth : _boundWidth2;\n maxHeight = maxHeight && maxHeight < _boundHeight2 ? maxHeight : _boundHeight2;\n }\n\n var computedMinWidth = typeof minWidth === 'undefined' ? 10 : minWidth;\n var computedMaxWidth = typeof maxWidth === 'undefined' || maxWidth < 0 ? newWidth : maxWidth;\n var computedMinHeight = typeof minHeight === 'undefined' ? 10 : minHeight;\n var computedMaxHeight = typeof maxHeight === 'undefined' || maxHeight < 0 ? newHeight : maxHeight;\n\n if (lockAspectRatio) {\n var extraMinWidth = (computedMinHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n var extraMaxWidth = (computedMaxHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n var extraMinHeight = (computedMinWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n var extraMaxHeight = (computedMaxWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n var lockedMinWidth = Math.max(computedMinWidth, extraMinWidth);\n var lockedMaxWidth = Math.min(computedMaxWidth, extraMaxWidth);\n var lockedMinHeight = Math.max(computedMinHeight, extraMinHeight);\n var lockedMaxHeight = Math.min(computedMaxHeight, extraMaxHeight);\n newWidth = clamp(newWidth, lockedMinWidth, lockedMaxWidth);\n newHeight = clamp(newHeight, lockedMinHeight, lockedMaxHeight);\n } else {\n newWidth = clamp(newWidth, computedMinWidth, computedMaxWidth);\n newHeight = clamp(newHeight, computedMinHeight, computedMaxHeight);\n }\n if (this.props.grid) {\n newWidth = snap(newWidth, this.props.grid[0]);\n }\n if (this.props.grid) {\n newHeight = snap(newHeight, this.props.grid[1]);\n }\n\n if (this.props.snap && this.props.snap.x) {\n newWidth = findClosestSnap(newWidth, this.props.snap.x);\n }\n if (this.props.snap && this.props.snap.y) {\n newHeight = findClosestSnap(newHeight, this.props.snap.y);\n }\n\n var delta = {\n width: newWidth - original.width,\n height: newHeight - original.height\n };\n\n if (width && typeof width === 'string' && endsWith(width, '%')) {\n var percent = newWidth / parentSize.width * 100;\n newWidth = percent + '%';\n }\n\n if (height && typeof height === 'string' && endsWith(height, '%')) {\n var _percent = newHeight / parentSize.height * 100;\n newHeight = _percent + '%';\n }\n\n this.setState({\n width: this.calculateNewSize(newWidth, 'width'),\n height: this.calculateNewSize(newHeight, 'height')\n });\n\n if (this.props.onResize) {\n this.props.onResize(event, direction, this.resizable, delta);\n }\n }\n }, {\n key: 'onMouseUp',\n value: function onMouseUp(event) {\n var _state2 = this.state,\n isResizing = _state2.isResizing,\n direction = _state2.direction,\n original = _state2.original;\n\n if (!isResizing) return;\n var delta = {\n width: this.size.width - original.width,\n height: this.size.height - original.height\n };\n if (this.props.onResizeStop) {\n this.props.onResizeStop(event, direction, this.resizable, delta);\n }\n if (this.props.size) {\n this.setState(this.props.size);\n }\n this.setState({ isResizing: false, resizeCursor: 'auto' });\n }\n }, {\n key: 'updateSize',\n value: function updateSize(size) {\n this.setState({ width: size.width, height: size.height });\n }\n }, {\n key: 'renderResizer',\n value: function renderResizer() {\n var _this2 = this;\n\n var _props3 = this.props,\n enable = _props3.enable,\n handleStyles = _props3.handleStyles,\n handleClasses = _props3.handleClasses,\n handleWrapperStyle = _props3.handleWrapperStyle,\n handleWrapperClass = _props3.handleWrapperClass,\n handleComponent = _props3.handleComponent;\n\n if (!enable) return null;\n var resizers = Object.keys(enable).map(function (dir) {\n if (enable[dir] !== false) {\n return createElement(\n Resizer,\n {\n key: dir,\n direction: dir,\n onResizeStart: _this2.onResizeStart,\n replaceStyles: handleStyles && handleStyles[dir],\n className: handleClasses && handleClasses[dir]\n },\n handleComponent && handleComponent[dir] ? createElement(handleComponent[dir]) : null\n );\n }\n return null;\n });\n // #93 Wrap the resize box in span (will not break 100% width/height)\n return createElement(\n 'span',\n { className: handleWrapperClass, style: handleWrapperStyle },\n resizers\n );\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n var userSelect = this.state.isResizing ? userSelectNone : userSelectAuto;\n return createElement(\n 'div',\n _extends({\n ref: function ref(c) {\n if (c) {\n _this3.resizable = c;\n }\n },\n style: _extends({\n position: 'relative'\n }, userSelect, this.props.style, this.sizeStyle, {\n maxWidth: this.props.maxWidth,\n maxHeight: this.props.maxHeight,\n minWidth: this.props.minWidth,\n minHeight: this.props.minHeight,\n boxSizing: 'border-box'\n }),\n className: this.props.className\n }, this.extendsProps),\n this.state.isResizing && createElement('div', {\n style: {\n height: '100%',\n width: '100%',\n backgroundColor: 'rgba(0,0,0,0)',\n cursor: '' + (this.state.resizeCursor || 'auto'),\n opacity: '0',\n position: 'fixed',\n zIndex: '9999',\n top: '0',\n left: '0',\n bottom: '0',\n right: '0'\n }\n }),\n this.props.children,\n this.renderResizer()\n );\n }\n }, {\n key: 'parentNode',\n get: function get$$1() {\n return this.resizable.parentNode;\n }\n }, {\n key: 'propsSize',\n get: function get$$1() {\n return this.props.size || this.props.defaultSize;\n }\n }, {\n key: 'base',\n get: function get$$1() {\n var parent = this.parentNode;\n if (!parent) return undefined;\n var children = [].slice.call(parent.children);\n for (var i = 0; i < children.length; i += 1) {\n var n = children[i];\n if (n instanceof HTMLElement) {\n if (n.classList.contains(baseClassName)) {\n return n;\n }\n }\n }\n return undefined;\n }\n }, {\n key: 'size',\n get: function get$$1() {\n var width = 0;\n var height = 0;\n if (typeof window !== 'undefined') {\n var orgWidth = this.resizable.offsetWidth;\n var orgHeight = this.resizable.offsetHeight;\n // HACK: Set position `relative` to get parent size.\n // This is because when re-resizable set `absolute`, I can not get base width correctly.\n var orgPosition = this.resizable.style.position;\n if (orgPosition !== 'relative') {\n this.resizable.style.position = 'relative';\n }\n // INFO: Use original width or height if set auto.\n width = this.resizable.style.width !== 'auto' ? this.resizable.offsetWidth : orgWidth;\n height = this.resizable.style.height !== 'auto' ? this.resizable.offsetHeight : orgHeight;\n // Restore original position\n this.resizable.style.position = orgPosition;\n }\n return { width: width, height: height };\n }\n }, {\n key: 'sizeStyle',\n get: function get$$1() {\n var _this4 = this;\n\n var size = this.props.size;\n\n var getSize = function getSize(key) {\n if (typeof _this4.state[key] === 'undefined' || _this4.state[key] === 'auto') return 'auto';\n if (_this4.propsSize && _this4.propsSize[key] && endsWith(_this4.propsSize[key].toString(), '%')) {\n if (endsWith(_this4.state[key].toString(), '%')) return _this4.state[key].toString();\n var parentSize = _this4.getParentSize();\n var value = Number(_this4.state[key].toString().replace('px', ''));\n var percent = value / parentSize[key] * 100;\n return percent + '%';\n }\n return getStringSize(_this4.state[key]);\n };\n var width = size && typeof size.width !== 'undefined' && !this.state.isResizing ? getStringSize(size.width) : getSize('width');\n var height = size && typeof size.height !== 'undefined' && !this.state.isResizing ? getStringSize(size.height) : getSize('height');\n return { width: width, height: height };\n }\n }]);\n return Resizable;\n}(Component);\n\nResizable.defaultProps = {\n onResizeStart: function onResizeStart() {},\n onResize: function onResize() {},\n onResizeStop: function onResizeStop() {},\n enable: {\n top: true,\n right: true,\n bottom: true,\n left: true,\n topRight: true,\n bottomRight: true,\n bottomLeft: true,\n topLeft: true\n },\n style: {},\n grid: [1, 1],\n lockAspectRatio: false,\n lockAspectRatioExtraWidth: 0,\n lockAspectRatioExtraHeight: 0,\n scale: 1\n};\n\nexport default Resizable;\n","'use strict';\n\nvar _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 _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\nvar hoistNonReactStatic = require('hoist-non-react-statics');\nvar React = require('react');\nvar ReactDOM = require('react-dom');\n\nmodule.exports = function enhanceWithClickOutside(WrappedComponent) {\n var componentName = WrappedComponent.displayName || WrappedComponent.name;\n\n var EnhancedComponent = function (_React$Component) {\n _inherits(EnhancedComponent, _React$Component);\n\n function EnhancedComponent(props) {\n _classCallCheck(this, EnhancedComponent);\n\n var _this = _possibleConstructorReturn(this, (EnhancedComponent.__proto__ || Object.getPrototypeOf(EnhancedComponent)).call(this, props));\n\n _this.handleClickOutside = _this.handleClickOutside.bind(_this);\n return _this;\n }\n\n _createClass(EnhancedComponent, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n document.addEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n document.removeEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: 'handleClickOutside',\n value: function handleClickOutside(e) {\n var domNode = this.__domNode;\n if ((!domNode || !domNode.contains(e.target)) && typeof this.__wrappedComponent.handleClickOutside === 'function') {\n this.__wrappedComponent.handleClickOutside(e);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n return React.createElement(WrappedComponent, _extends({}, this.props, {\n ref: function ref(c) {\n _this2.__wrappedComponent = c;\n _this2.__domNode = ReactDOM.findDOMNode(c);\n }\n }));\n }\n }]);\n\n return EnhancedComponent;\n }(React.Component);\n\n EnhancedComponent.displayName = 'Wrapped' + componentName;\n\n return hoistNonReactStatic(EnhancedComponent, WrappedComponent);\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlphaPicker = undefined;\n\nvar _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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _AlphaPointer = require('./AlphaPointer');\n\nvar _AlphaPointer2 = _interopRequireDefault(_AlphaPointer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar AlphaPicker = exports.AlphaPicker = function AlphaPicker(_ref) {\n var rgb = _ref.rgb,\n hsl = _ref.hsl,\n width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n direction = _ref.direction,\n style = _ref.style,\n renderers = _ref.renderers,\n pointer = _ref.pointer,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n position: 'relative',\n width: width,\n height: height\n },\n alpha: {\n radius: '2px',\n style: style\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'alpha-picker ' + className },\n _react2.default.createElement(_common.Alpha, _extends({}, styles.alpha, {\n rgb: rgb,\n hsl: hsl,\n pointer: pointer,\n renderers: renderers,\n onChange: onChange,\n direction: direction\n }))\n );\n};\n\nAlphaPicker.defaultProps = {\n width: '316px',\n height: '16px',\n direction: 'horizontal',\n pointer: _AlphaPointer2.default\n};\n\nexports.default = (0, _common.ColorWrap)(AlphaPicker);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlphaPointer = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar AlphaPointer = exports.AlphaPointer = function AlphaPointer(_ref) {\n var direction = _ref.direction;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '18px',\n height: '18px',\n borderRadius: '50%',\n transform: 'translate(-9px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n },\n 'vertical': {\n picker: {\n transform: 'translate(-3px, -9px)'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = AlphaPointer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Block = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nvar _BlockSwatches = require('./BlockSwatches');\n\nvar _BlockSwatches2 = _interopRequireDefault(_BlockSwatches);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Block = exports.Block = function Block(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n hex = _ref.hex,\n colors = _ref.colors,\n width = _ref.width,\n triangle = _ref.triangle,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var transparent = hex === 'transparent';\n var handleChange = function handleChange(hexCode, e) {\n _color2.default.isValidHex(hexCode) && onChange({\n hex: hexCode,\n source: 'hex'\n }, e);\n };\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n boxShadow: '0 1px rgba(0,0,0,.1)',\n borderRadius: '6px',\n position: 'relative'\n },\n head: {\n height: '110px',\n background: hex,\n borderRadius: '6px 6px 0 0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative'\n },\n body: {\n padding: '10px'\n },\n label: {\n fontSize: '18px',\n color: _color2.default.getContrastingColor(hex),\n position: 'relative'\n },\n triangle: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 10px 10px 10px',\n borderColor: 'transparent transparent ' + hex + ' transparent',\n position: 'absolute',\n top: '-10px',\n left: '50%',\n marginLeft: '-10px'\n },\n input: {\n width: '100%',\n fontSize: '12px',\n color: '#666',\n border: '0px',\n outline: 'none',\n height: '22px',\n boxShadow: 'inset 0 0 0 1px #ddd',\n borderRadius: '4px',\n padding: '0 7px',\n boxSizing: 'border-box'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n }\n }\n }, { 'hide-triangle': triangle === 'hide' });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.card, className: 'block-picker ' + className },\n _react2.default.createElement('div', { style: styles.triangle }),\n _react2.default.createElement(\n 'div',\n { style: styles.head },\n transparent && _react2.default.createElement(_common.Checkboard, { borderRadius: '6px 6px 0 0' }),\n _react2.default.createElement(\n 'div',\n { style: styles.label },\n hex\n )\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.body },\n _react2.default.createElement(_BlockSwatches2.default, { colors: colors, onClick: handleChange, onSwatchHover: onSwatchHover }),\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input },\n value: hex,\n onChange: handleChange\n })\n )\n );\n};\n\nBlock.propTypes = {\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n colors: _propTypes2.default.arrayOf(_propTypes2.default.string),\n triangle: _propTypes2.default.oneOf(['top', 'hide'])\n};\n\nBlock.defaultProps = {\n width: 170,\n colors: ['#D9E3F0', '#F47373', '#697689', '#37D67A', '#2CCCE4', '#555555', '#dce775', '#ff8a65', '#ba68c8'],\n triangle: 'top'\n};\n\nexports.default = (0, _common.ColorWrap)(Block);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BlockSwatches = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BlockSwatches = exports.BlockSwatches = function BlockSwatches(_ref) {\n var colors = _ref.colors,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatches: {\n marginRight: '-10px'\n },\n swatch: {\n width: '22px',\n height: '22px',\n float: 'left',\n marginRight: '10px',\n marginBottom: '10px',\n borderRadius: '4px'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.swatches },\n (0, _map2.default)(colors, function (c) {\n return _react2.default.createElement(_common.Swatch, {\n key: c,\n color: c,\n style: styles.swatch,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: '0 0 4px ' + c\n }\n });\n }),\n _react2.default.createElement('div', { style: styles.clear })\n );\n};\n\nexports.default = BlockSwatches;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Chrome = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _ChromeFields = require('./ChromeFields');\n\nvar _ChromeFields2 = _interopRequireDefault(_ChromeFields);\n\nvar _ChromePointer = require('./ChromePointer');\n\nvar _ChromePointer2 = _interopRequireDefault(_ChromePointer);\n\nvar _ChromePointerCircle = require('./ChromePointerCircle');\n\nvar _ChromePointerCircle2 = _interopRequireDefault(_ChromePointerCircle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Chrome = exports.Chrome = function Chrome(_ref) {\n var onChange = _ref.onChange,\n disableAlpha = _ref.disableAlpha,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hsv = _ref.hsv,\n hex = _ref.hex,\n renderers = _ref.renderers,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n background: '#fff',\n borderRadius: '2px',\n boxShadow: '0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)',\n boxSizing: 'initial',\n width: '225px',\n fontFamily: 'Menlo'\n },\n saturation: {\n width: '100%',\n paddingBottom: '55%',\n position: 'relative',\n borderRadius: '2px 2px 0 0',\n overflow: 'hidden'\n },\n Saturation: {\n radius: '2px 2px 0 0'\n },\n body: {\n padding: '16px 16px 12px'\n },\n controls: {\n display: 'flex'\n },\n color: {\n width: '32px'\n },\n swatch: {\n marginTop: '6px',\n width: '16px',\n height: '16px',\n borderRadius: '8px',\n position: 'relative',\n overflow: 'hidden'\n },\n active: {\n absolute: '0px 0px 0px 0px',\n borderRadius: '8px',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.1)',\n background: 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + rgb.a + ')',\n zIndex: '2'\n },\n toggles: {\n flex: '1'\n },\n hue: {\n height: '10px',\n position: 'relative',\n marginBottom: '8px'\n },\n Hue: {\n radius: '2px'\n },\n alpha: {\n height: '10px',\n position: 'relative'\n },\n Alpha: {\n radius: '2px'\n }\n },\n 'disableAlpha': {\n color: {\n width: '22px'\n },\n alpha: {\n display: 'none'\n },\n hue: {\n marginBottom: '0px'\n },\n swatch: {\n width: '10px',\n height: '10px',\n marginTop: '0px'\n }\n }\n }, { disableAlpha: disableAlpha });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'chrome-picker ' + className },\n _react2.default.createElement(\n 'div',\n { style: styles.saturation },\n _react2.default.createElement(_common.Saturation, {\n style: styles.Saturation,\n hsl: hsl,\n hsv: hsv,\n pointer: _ChromePointerCircle2.default,\n onChange: onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.body },\n _react2.default.createElement(\n 'div',\n { style: styles.controls, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.color },\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement('div', { style: styles.active }),\n _react2.default.createElement(_common.Checkboard, { renderers: renderers })\n )\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.toggles },\n _react2.default.createElement(\n 'div',\n { style: styles.hue },\n _react2.default.createElement(_common.Hue, {\n style: styles.Hue,\n hsl: hsl,\n pointer: _ChromePointer2.default,\n onChange: onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(_common.Alpha, {\n style: styles.Alpha,\n rgb: rgb,\n hsl: hsl,\n pointer: _ChromePointer2.default,\n renderers: renderers,\n onChange: onChange\n })\n )\n )\n ),\n _react2.default.createElement(_ChromeFields2.default, {\n rgb: rgb,\n hsl: hsl,\n hex: hex,\n onChange: onChange,\n disableAlpha: disableAlpha\n })\n )\n );\n};\n\nChrome.propTypes = {\n disableAlpha: _propTypes2.default.bool\n};\n\nChrome.defaultProps = {\n disableAlpha: false\n};\n\nexports.default = (0, _common.ColorWrap)(Chrome);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChromeFields = undefined;\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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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; } /* eslint-disable react/no-did-mount-set-state, no-param-reassign */\n\nvar ChromeFields = exports.ChromeFields = function (_React$Component) {\n _inherits(ChromeFields, _React$Component);\n\n function ChromeFields() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, ChromeFields);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ChromeFields.__proto__ || Object.getPrototypeOf(ChromeFields)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n view: ''\n }, _this.toggleViews = function () {\n if (_this.state.view === 'hex') {\n _this.setState({ view: 'rgb' });\n } else if (_this.state.view === 'rgb') {\n _this.setState({ view: 'hsl' });\n } else if (_this.state.view === 'hsl') {\n if (_this.props.hsl.a === 1) {\n _this.setState({ view: 'hex' });\n } else {\n _this.setState({ view: 'rgb' });\n }\n }\n }, _this.handleChange = function (data, e) {\n if (data.hex) {\n _color2.default.isValidHex(data.hex) && _this.props.onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n _this.props.onChange({\n r: data.r || _this.props.rgb.r,\n g: data.g || _this.props.rgb.g,\n b: data.b || _this.props.rgb.b,\n source: 'rgb'\n }, e);\n } else if (data.a) {\n if (data.a < 0) {\n data.a = 0;\n } else if (data.a > 1) {\n data.a = 1;\n }\n\n _this.props.onChange({\n h: _this.props.hsl.h,\n s: _this.props.hsl.s,\n l: _this.props.hsl.l,\n a: Math.round(data.a * 100) / 100,\n source: 'rgb'\n }, e);\n } else if (data.h || data.s || data.l) {\n _this.props.onChange({\n h: data.h || _this.props.hsl.h,\n s: Number(data.s && data.s || _this.props.hsl.s),\n l: Number(data.l && data.l || _this.props.hsl.l),\n source: 'hsl'\n }, e);\n }\n }, _this.showHighlight = function (e) {\n e.target.style.background = '#eee';\n }, _this.hideHighlight = function (e) {\n e.target.style.background = 'transparent';\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(ChromeFields, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.hsl.a === 1 && this.state.view !== 'hex') {\n this.setState({ view: 'hex' });\n } else if (this.state.view !== 'rgb' && this.state.view !== 'hsl') {\n this.setState({ view: 'rgb' });\n }\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (nextProps.hsl.a !== 1 && this.state.view === 'hex') {\n this.setState({ view: 'rgb' });\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n wrap: {\n paddingTop: '16px',\n display: 'flex'\n },\n fields: {\n flex: '1',\n display: 'flex',\n marginLeft: '-6px'\n },\n field: {\n paddingLeft: '6px',\n width: '100%'\n },\n alpha: {\n paddingLeft: '6px',\n width: '100%'\n },\n toggle: {\n width: '32px',\n textAlign: 'right',\n position: 'relative'\n },\n icon: {\n marginRight: '-4px',\n marginTop: '12px',\n cursor: 'pointer',\n position: 'relative'\n },\n iconHighlight: {\n position: 'absolute',\n width: '24px',\n height: '28px',\n background: '#eee',\n borderRadius: '4px',\n top: '10px',\n left: '12px',\n display: 'none'\n },\n input: {\n fontSize: '11px',\n color: '#333',\n width: '100%',\n borderRadius: '2px',\n border: 'none',\n boxShadow: 'inset 0 0 0 1px #dadada',\n height: '21px',\n textAlign: 'center'\n },\n label: {\n textTransform: 'uppercase',\n fontSize: '11px',\n lineHeight: '11px',\n color: '#969696',\n textAlign: 'center',\n display: 'block',\n marginTop: '12px'\n },\n svg: {\n width: '24px',\n height: '24px',\n border: '1px transparent solid',\n borderRadius: '5px'\n }\n },\n 'disableAlpha': {\n alpha: {\n display: 'none'\n }\n }\n }, this.props, this.state);\n\n var fields = void 0;\n if (this.state.view === 'hex') {\n fields = _react2.default.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'hex', value: this.props.hex,\n onChange: this.handleChange\n })\n )\n );\n } else if (this.state.view === 'rgb') {\n fields = _react2.default.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'r',\n value: this.props.rgb.r,\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'g',\n value: this.props.rgb.g,\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'b',\n value: this.props.rgb.b,\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: this.props.rgb.a,\n arrowOffset: 0.01,\n onChange: this.handleChange\n })\n )\n );\n } else if (this.state.view === 'hsl') {\n fields = _react2.default.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'h',\n value: Math.round(this.props.hsl.h),\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 's',\n value: Math.round(this.props.hsl.s * 100) + '%',\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.field },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'l',\n value: Math.round(this.props.hsl.l * 100) + '%',\n onChange: this.handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: this.props.hsl.a,\n arrowOffset: 0.01,\n onChange: this.handleChange\n })\n )\n );\n }\n\n return _react2.default.createElement(\n 'div',\n { style: styles.wrap, className: 'flexbox-fix' },\n fields,\n _react2.default.createElement(\n 'div',\n { style: styles.toggle },\n _react2.default.createElement(\n 'div',\n { style: styles.icon, onClick: this.toggleViews, ref: function ref(icon) {\n return _this2.icon = icon;\n } },\n _react2.default.createElement(\n 'svg',\n {\n style: styles.svg,\n viewBox: '0 0 24 24',\n onMouseOver: this.showHighlight,\n onMouseEnter: this.showHighlight,\n onMouseOut: this.hideHighlight\n },\n _react2.default.createElement('path', {\n ref: function ref(iconUp) {\n return _this2.iconUp = iconUp;\n },\n fill: '#333',\n d: 'M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z'\n }),\n _react2.default.createElement('path', {\n ref: function ref(iconDown) {\n return _this2.iconDown = iconDown;\n },\n fill: '#333',\n d: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15Z'\n })\n )\n )\n )\n );\n }\n }]);\n\n return ChromeFields;\n}(_react2.default.Component);\n\nexports.default = ChromeFields;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChromePointer = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ChromePointer = exports.ChromePointer = function ChromePointer() {\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n transform: 'translate(-6px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n }\n });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = ChromePointer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChromePointerCircle = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ChromePointerCircle = exports.ChromePointerCircle = function ChromePointerCircle() {\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n boxShadow: 'inset 0 0 0 1px #fff',\n transform: 'translate(-6px, -6px)'\n }\n }\n });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = ChromePointerCircle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Circle = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _materialColors = require('material-colors');\n\nvar material = _interopRequireWildcard(_materialColors);\n\nvar _common = require('../common');\n\nvar _CircleSwatch = require('./CircleSwatch');\n\nvar _CircleSwatch2 = _interopRequireDefault(_CircleSwatch);\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)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Circle = exports.Circle = function Circle(_ref) {\n var width = _ref.width,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n circleSize = _ref.circleSize,\n circleSpacing = _ref.circleSpacing,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n card: {\n width: width,\n display: 'flex',\n flexWrap: 'wrap',\n marginRight: -circleSpacing,\n marginBottom: -circleSpacing\n }\n }\n });\n\n var handleChange = function handleChange(hexCode, e) {\n return onChange({ hex: hexCode, source: 'hex' }, e);\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.card, className: 'circle-picker ' + className },\n (0, _map2.default)(colors, function (c) {\n return _react2.default.createElement(_CircleSwatch2.default, {\n key: c,\n color: c,\n onClick: handleChange,\n onSwatchHover: onSwatchHover,\n active: hex === c.toLowerCase(),\n circleSize: circleSize,\n circleSpacing: circleSpacing\n });\n })\n );\n};\n\nCircle.propTypes = {\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n circleSize: _propTypes2.default.number,\n circleSpacing: _propTypes2.default.number\n};\n\nCircle.defaultProps = {\n width: 252,\n circleSize: 28,\n circleSpacing: 14,\n colors: [material.red['500'], material.pink['500'], material.purple['500'], material.deepPurple['500'], material.indigo['500'], material.blue['500'], material.lightBlue['500'], material.cyan['500'], material.teal['500'], material.green['500'], material.lightGreen['500'], material.lime['500'], material.yellow['500'], material.amber['500'], material.orange['500'], material.deepOrange['500'], material.brown['500'], material.blueGrey['500']]\n};\n\nexports.default = (0, _common.ColorWrap)(Circle);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CircleSwatch = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CircleSwatch = exports.CircleSwatch = function CircleSwatch(_ref) {\n var color = _ref.color,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover,\n hover = _ref.hover,\n active = _ref.active,\n circleSize = _ref.circleSize,\n circleSpacing = _ref.circleSpacing;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatch: {\n width: circleSize,\n height: circleSize,\n marginRight: circleSpacing,\n marginBottom: circleSpacing,\n transform: 'scale(1)',\n transition: '100ms transform ease'\n },\n Swatch: {\n borderRadius: '50%',\n background: 'transparent',\n boxShadow: 'inset 0 0 0 ' + circleSize / 2 + 'px ' + color,\n transition: '100ms box-shadow ease'\n }\n },\n 'hover': {\n swatch: {\n transform: 'scale(1.2)'\n }\n },\n 'active': {\n Swatch: {\n boxShadow: 'inset 0 0 0 3px ' + color\n }\n }\n }, { hover: hover, active: active });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_common.Swatch, {\n style: styles.Swatch,\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: styles.Swatch.boxShadow + ', 0 0 5px ' + color }\n })\n );\n};\n\nCircleSwatch.defaultProps = {\n circleSize: 28,\n circleSpacing: 14\n};\n\nexports.default = (0, _reactcss.handleHover)(CircleSwatch);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Alpha = undefined;\n\nvar _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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _alpha = require('../../helpers/alpha');\n\nvar alpha = _interopRequireWildcard(_alpha);\n\nvar _Checkboard = require('./Checkboard');\n\nvar _Checkboard2 = _interopRequireDefault(_Checkboard);\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)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nvar Alpha = exports.Alpha = function (_ref) {\n _inherits(Alpha, _ref);\n\n function Alpha() {\n var _ref2;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Alpha);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Alpha.__proto__ || Object.getPrototypeOf(Alpha)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e, skip) {\n var change = alpha.calculateChange(e, skip, _this.props, _this.container);\n change && _this.props.onChange && _this.props.onChange(change, e);\n }, _this.handleMouseDown = function (e) {\n _this.handleChange(e, true);\n window.addEventListener('mousemove', _this.handleChange);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }, _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n }, _this.unbindEventListeners = function () {\n window.removeEventListener('mousemove', _this.handleChange);\n window.removeEventListener('mouseup', _this.handleMouseUp);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Alpha, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var rgb = this.props.rgb;\n var styles = (0, _reactcss2.default)({\n 'default': {\n alpha: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius\n },\n checkboard: {\n absolute: '0px 0px 0px 0px',\n overflow: 'hidden',\n borderRadius: this.props.radius\n },\n gradient: {\n absolute: '0px 0px 0px 0px',\n background: 'linear-gradient(to right, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\\n rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)',\n boxShadow: this.props.shadow,\n borderRadius: this.props.radius\n },\n container: {\n position: 'relative',\n height: '100%',\n margin: '0 3px'\n },\n pointer: {\n position: 'absolute',\n left: rgb.a * 100 + '%'\n },\n slider: {\n width: '4px',\n borderRadius: '1px',\n height: '8px',\n boxShadow: '0 0 2px rgba(0, 0, 0, .6)',\n background: '#fff',\n marginTop: '1px',\n transform: 'translateX(-2px)'\n }\n },\n 'vertical': {\n gradient: {\n background: 'linear-gradient(to bottom, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\\n rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)'\n },\n pointer: {\n left: 0,\n top: rgb.a * 100 + '%'\n }\n },\n 'overwrite': _extends({}, this.props.style)\n }, {\n vertical: this.props.direction === 'vertical',\n overwrite: true\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(\n 'div',\n { style: styles.checkboard },\n _react2.default.createElement(_Checkboard2.default, { renderers: this.props.renderers })\n ),\n _react2.default.createElement('div', { style: styles.gradient }),\n _react2.default.createElement(\n 'div',\n {\n style: styles.container,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n _react2.default.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.slider })\n )\n )\n );\n }\n }]);\n\n return Alpha;\n}(_react.PureComponent || _react.Component);\n\nexports.default = Alpha;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Checkboard = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _checkboard = require('../../helpers/checkboard');\n\nvar checkboard = _interopRequireWildcard(_checkboard);\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)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Checkboard = exports.Checkboard = function Checkboard(_ref) {\n var white = _ref.white,\n grey = _ref.grey,\n size = _ref.size,\n renderers = _ref.renderers,\n borderRadius = _ref.borderRadius,\n boxShadow = _ref.boxShadow;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n grid: {\n borderRadius: borderRadius,\n boxShadow: boxShadow,\n absolute: '0px 0px 0px 0px',\n background: 'url(' + checkboard.get(white, grey, size, renderers.canvas) + ') center left'\n }\n }\n });\n\n return _react2.default.createElement('div', { style: styles.grid });\n};\n\nCheckboard.defaultProps = {\n size: 8,\n white: 'transparent',\n grey: 'rgba(0,0,0,.08)',\n renderers: {}\n};\n\nexports.default = Checkboard;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorWrap = undefined;\n\nvar _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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _debounce = require('lodash/debounce');\n\nvar _debounce2 = _interopRequireDefault(_debounce);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nvar ColorWrap = exports.ColorWrap = function ColorWrap(Picker) {\n var ColorPicker = function (_ref) {\n _inherits(ColorPicker, _ref);\n\n function ColorPicker(props) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this));\n\n _this.handleChange = function (data, event) {\n var isValidColor = _color2.default.simpleCheckForValidColor(data);\n if (isValidColor) {\n var colors = _color2.default.toState(data, data.h || _this.state.oldHue);\n _this.setState(colors);\n _this.props.onChangeComplete && _this.debounce(_this.props.onChangeComplete, colors, event);\n _this.props.onChange && _this.props.onChange(colors, event);\n }\n };\n\n _this.handleSwatchHover = function (data, event) {\n var isValidColor = _color2.default.simpleCheckForValidColor(data);\n if (isValidColor) {\n var colors = _color2.default.toState(data, data.h || _this.state.oldHue);\n _this.setState(colors);\n _this.props.onSwatchHover && _this.props.onSwatchHover(colors, event);\n }\n };\n\n _this.state = _extends({}, _color2.default.toState(props.color, 0));\n\n _this.debounce = (0, _debounce2.default)(function (fn, data, event) {\n fn(data, event);\n }, 100);\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n this.setState(_extends({}, _color2.default.toState(nextProps.color, this.state.oldHue)));\n }\n }, {\n key: 'render',\n value: function render() {\n var optionalEvents = {};\n if (this.props.onSwatchHover) {\n optionalEvents.onSwatchHover = this.handleSwatchHover;\n }\n\n return _react2.default.createElement(Picker, _extends({}, this.props, this.state, {\n onChange: this.handleChange\n }, optionalEvents));\n }\n }]);\n\n return ColorPicker;\n }(_react.PureComponent || _react.Component);\n\n ColorPicker.propTypes = _extends({}, Picker.propTypes);\n\n ColorPicker.defaultProps = _extends({}, Picker.defaultProps, {\n color: {\n h: 250,\n s: 0.50,\n l: 0.20,\n a: 1\n }\n });\n\n return ColorPicker;\n};\n\nexports.default = ColorWrap;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EditableInput = undefined;\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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\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; }\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\nvar EditableInput = exports.EditableInput = function (_ref) {\n _inherits(EditableInput, _ref);\n\n function EditableInput(props) {\n _classCallCheck(this, EditableInput);\n\n var _this = _possibleConstructorReturn(this, (EditableInput.__proto__ || Object.getPrototypeOf(EditableInput)).call(this));\n\n _this.handleBlur = function () {\n if (_this.state.blurValue) {\n _this.setState({ value: _this.state.blurValue, blurValue: null });\n }\n };\n\n _this.handleChange = function (e) {\n if (_this.props.label) {\n _this.props.onChange && _this.props.onChange(_defineProperty({}, _this.props.label, e.target.value), e);\n } else {\n _this.props.onChange && _this.props.onChange(e.target.value, e);\n }\n\n _this.setState({ value: e.target.value });\n };\n\n _this.handleKeyDown = function (e) {\n // In case `e.target.value` is a percentage remove the `%` character\n // and update accordingly with a percentage\n // https://github.com/casesandberg/react-color/issues/383\n var stringValue = String(e.target.value);\n var isPercentage = stringValue.indexOf('%') > -1;\n var number = Number(stringValue.replace(/%/g, ''));\n if (!isNaN(number)) {\n var amount = _this.props.arrowOffset || 1;\n\n // Up\n if (e.keyCode === 38) {\n if (_this.props.label !== null) {\n _this.props.onChange && _this.props.onChange(_defineProperty({}, _this.props.label, number + amount), e);\n } else {\n _this.props.onChange && _this.props.onChange(number + amount, e);\n }\n\n if (isPercentage) {\n _this.setState({ value: number + amount + '%' });\n } else {\n _this.setState({ value: number + amount });\n }\n }\n\n // Down\n if (e.keyCode === 40) {\n if (_this.props.label !== null) {\n _this.props.onChange && _this.props.onChange(_defineProperty({}, _this.props.label, number - amount), e);\n } else {\n _this.props.onChange && _this.props.onChange(number - amount, e);\n }\n\n if (isPercentage) {\n _this.setState({ value: number - amount + '%' });\n } else {\n _this.setState({ value: number - amount });\n }\n }\n }\n };\n\n _this.handleDrag = function (e) {\n if (_this.props.dragLabel) {\n var newValue = Math.round(_this.props.value + e.movementX);\n if (newValue >= 0 && newValue <= _this.props.dragMax) {\n _this.props.onChange && _this.props.onChange(_defineProperty({}, _this.props.label, newValue), e);\n }\n }\n };\n\n _this.handleMouseDown = function (e) {\n if (_this.props.dragLabel) {\n e.preventDefault();\n _this.handleDrag(e);\n window.addEventListener('mousemove', _this.handleDrag);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }\n };\n\n _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n };\n\n _this.unbindEventListeners = function () {\n window.removeEventListener('mousemove', _this.handleDrag);\n window.removeEventListener('mouseup', _this.handleMouseUp);\n };\n\n _this.state = {\n value: String(props.value).toUpperCase(),\n blurValue: String(props.value).toUpperCase()\n };\n return _this;\n }\n\n _createClass(EditableInput, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var input = this.input;\n if (nextProps.value !== this.state.value) {\n if (input === document.activeElement) {\n this.setState({ blurValue: String(nextProps.value).toUpperCase() });\n } else {\n this.setState({ value: String(nextProps.value).toUpperCase(), blurValue: !this.state.blurValue && String(nextProps.value).toUpperCase() });\n }\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n wrap: {\n position: 'relative'\n }\n },\n 'user-override': {\n wrap: this.props.style && this.props.style.wrap ? this.props.style.wrap : {},\n input: this.props.style && this.props.style.input ? this.props.style.input : {},\n label: this.props.style && this.props.style.label ? this.props.style.label : {}\n },\n 'dragLabel-true': {\n label: {\n cursor: 'ew-resize'\n }\n }\n }, {\n 'user-override': true\n }, this.props);\n\n return _react2.default.createElement(\n 'div',\n { style: styles.wrap },\n _react2.default.createElement('input', {\n style: styles.input,\n ref: function ref(input) {\n return _this2.input = input;\n },\n value: this.state.value,\n onKeyDown: this.handleKeyDown,\n onChange: this.handleChange,\n onBlur: this.handleBlur,\n placeholder: this.props.placeholder,\n spellCheck: 'false'\n }),\n this.props.label && !this.props.hideLabel ? _react2.default.createElement(\n 'span',\n { style: styles.label, onMouseDown: this.handleMouseDown },\n this.props.label\n ) : null\n );\n }\n }]);\n\n return EditableInput;\n}(_react.PureComponent || _react.Component);\n\nexports.default = EditableInput;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Hue = undefined;\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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _hue = require('../../helpers/hue');\n\nvar hue = _interopRequireWildcard(_hue);\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)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nvar Hue = exports.Hue = function (_ref) {\n _inherits(Hue, _ref);\n\n function Hue() {\n var _ref2;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Hue);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Hue.__proto__ || Object.getPrototypeOf(Hue)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e, skip) {\n var change = hue.calculateChange(e, skip, _this.props, _this.container);\n change && _this.props.onChange && _this.props.onChange(change, e);\n }, _this.handleMouseDown = function (e) {\n _this.handleChange(e, true);\n window.addEventListener('mousemove', _this.handleChange);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }, _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Hue, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'unbindEventListeners',\n value: function unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props$direction = this.props.direction,\n direction = _props$direction === undefined ? 'horizontal' : _props$direction;\n\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n hue: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius,\n boxShadow: this.props.shadow\n },\n container: {\n padding: '0 2px',\n position: 'relative',\n height: '100%',\n borderRadius: this.props.radius\n },\n pointer: {\n position: 'absolute',\n left: this.props.hsl.h * 100 / 360 + '%'\n },\n slider: {\n marginTop: '1px',\n width: '4px',\n borderRadius: '1px',\n height: '8px',\n boxShadow: '0 0 2px rgba(0, 0, 0, .6)',\n background: '#fff',\n transform: 'translateX(-2px)'\n }\n },\n 'vertical': {\n pointer: {\n left: '0px',\n top: -(this.props.hsl.h * 100 / 360) + 100 + '%'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.hue },\n _react2.default.createElement(\n 'div',\n {\n className: 'hue-' + direction,\n style: styles.container,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n _react2.default.createElement(\n 'style',\n null,\n '\\n .hue-horizontal {\\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\\n 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n background: -webkit-linear-gradient(to right, #f00 0%, #ff0\\n 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n }\\n\\n .hue-vertical {\\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\\n #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n background: -webkit-linear-gradient(to top, #f00 0%, #ff0 17%,\\n #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n }\\n '\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.slider })\n )\n )\n );\n }\n }]);\n\n return Hue;\n}(_react.PureComponent || _react.Component);\n\nexports.default = Hue;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Raised = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Raised = exports.Raised = function Raised(_ref) {\n var zDepth = _ref.zDepth,\n radius = _ref.radius,\n background = _ref.background,\n children = _ref.children;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n wrap: {\n position: 'relative',\n display: 'inline-block'\n },\n content: {\n position: 'relative'\n },\n bg: {\n absolute: '0px 0px 0px 0px',\n boxShadow: '0 ' + zDepth + 'px ' + zDepth * 4 + 'px rgba(0,0,0,.24)',\n borderRadius: radius,\n background: background\n }\n },\n 'zDepth-0': {\n bg: {\n boxShadow: 'none'\n }\n },\n\n 'zDepth-1': {\n bg: {\n boxShadow: '0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16)'\n }\n },\n 'zDepth-2': {\n bg: {\n boxShadow: '0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2)'\n }\n },\n 'zDepth-3': {\n bg: {\n boxShadow: '0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24)'\n }\n },\n 'zDepth-4': {\n bg: {\n boxShadow: '0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22)'\n }\n },\n 'zDepth-5': {\n bg: {\n boxShadow: '0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2)'\n }\n },\n 'square': {\n bg: {\n borderRadius: '0'\n }\n },\n 'circle': {\n bg: {\n borderRadius: '50%'\n }\n }\n }, { 'zDepth-1': zDepth === 1 });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.wrap },\n _react2.default.createElement('div', { style: styles.bg }),\n _react2.default.createElement(\n 'div',\n { style: styles.content },\n children\n )\n );\n};\n\nRaised.propTypes = {\n background: _propTypes2.default.string,\n zDepth: _propTypes2.default.oneOf([0, 1, 2, 3, 4, 5]),\n radius: _propTypes2.default.number\n};\n\nRaised.defaultProps = {\n background: '#fff',\n zDepth: 1,\n radius: 2\n};\n\nexports.default = Raised;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Saturation = undefined;\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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _throttle = require('lodash/throttle');\n\nvar _throttle2 = _interopRequireDefault(_throttle);\n\nvar _saturation = require('../../helpers/saturation');\n\nvar saturation = _interopRequireWildcard(_saturation);\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)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nvar Saturation = exports.Saturation = function (_ref) {\n _inherits(Saturation, _ref);\n\n function Saturation(props) {\n _classCallCheck(this, Saturation);\n\n var _this = _possibleConstructorReturn(this, (Saturation.__proto__ || Object.getPrototypeOf(Saturation)).call(this, props));\n\n _this.handleChange = function (e, skip) {\n _this.props.onChange && _this.throttle(_this.props.onChange, saturation.calculateChange(e, skip, _this.props, _this.container), e);\n };\n\n _this.handleMouseDown = function (e) {\n _this.handleChange(e, true);\n window.addEventListener('mousemove', _this.handleChange);\n window.addEventListener('mouseup', _this.handleMouseUp);\n };\n\n _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n };\n\n _this.throttle = (0, _throttle2.default)(function (fn, data, e) {\n fn(data, e);\n }, 50);\n return _this;\n }\n\n _createClass(Saturation, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'unbindEventListeners',\n value: function unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _ref2 = this.props.style || {},\n color = _ref2.color,\n white = _ref2.white,\n black = _ref2.black,\n pointer = _ref2.pointer,\n circle = _ref2.circle;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n color: {\n absolute: '0px 0px 0px 0px',\n background: 'hsl(' + this.props.hsl.h + ',100%, 50%)',\n borderRadius: this.props.radius\n },\n white: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius\n },\n black: {\n absolute: '0px 0px 0px 0px',\n boxShadow: this.props.shadow,\n borderRadius: this.props.radius\n },\n pointer: {\n position: 'absolute',\n top: -(this.props.hsv.v * 100) + 100 + '%',\n left: this.props.hsv.s * 100 + '%',\n cursor: 'default'\n },\n circle: {\n width: '4px',\n height: '4px',\n boxShadow: '0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3),\\n 0 0 1px 2px rgba(0,0,0,.4)',\n borderRadius: '50%',\n cursor: 'hand',\n transform: 'translate(-2px, -2px)'\n }\n },\n 'custom': {\n color: color,\n white: white,\n black: black,\n pointer: pointer,\n circle: circle\n }\n }, { 'custom': !!this.props.style });\n\n return _react2.default.createElement(\n 'div',\n {\n style: styles.color,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n _react2.default.createElement(\n 'style',\n null,\n '\\n .saturation-white {\\n background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0));\\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\\n }\\n .saturation-black {\\n background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0));\\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\\n }\\n '\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.white, className: 'saturation-white' },\n _react2.default.createElement('div', { style: styles.black, className: 'saturation-black' }),\n _react2.default.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? _react2.default.createElement(this.props.pointer, this.props) : _react2.default.createElement('div', { style: styles.circle })\n )\n )\n );\n }\n }]);\n\n return Saturation;\n}(_react.PureComponent || _react.Component);\n\nexports.default = Saturation;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Swatch = undefined;\n\nvar _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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _interaction = require('../../helpers/interaction');\n\nvar _ = require('./');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ENTER = 13;\n\nvar Swatch = exports.Swatch = function Swatch(_ref) {\n var color = _ref.color,\n style = _ref.style,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onHover = _ref.onHover,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? color : _ref$title,\n children = _ref.children,\n focus = _ref.focus,\n _ref$focusStyle = _ref.focusStyle,\n focusStyle = _ref$focusStyle === undefined ? {} : _ref$focusStyle;\n\n var transparent = color === 'transparent';\n var styles = (0, _reactcss2.default)({\n default: {\n swatch: _extends({\n background: color,\n height: '100%',\n width: '100%',\n cursor: 'pointer',\n position: 'relative',\n outline: 'none'\n }, style, focus ? focusStyle : {})\n }\n });\n\n var handleClick = function handleClick(e) {\n return onClick(color, e);\n };\n var handleKeyDown = function handleKeyDown(e) {\n return e.keyCode === ENTER && onClick(color, e);\n };\n var handleHover = function handleHover(e) {\n return onHover(color, e);\n };\n\n var optionalEvents = {};\n if (onHover) {\n optionalEvents.onMouseOver = handleHover;\n }\n\n return _react2.default.createElement(\n 'div',\n _extends({\n style: styles.swatch,\n onClick: handleClick,\n title: title,\n tabIndex: 0,\n onKeyDown: handleKeyDown\n }, optionalEvents),\n children,\n transparent && _react2.default.createElement(_.Checkboard, {\n borderRadius: styles.swatch.borderRadius,\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,0.1)'\n })\n );\n};\n\nexports.default = (0, _interaction.handleFocus)(Swatch);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Alpha = require('./Alpha');\n\nObject.defineProperty(exports, 'Alpha', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Alpha).default;\n }\n});\n\nvar _Checkboard = require('./Checkboard');\n\nObject.defineProperty(exports, 'Checkboard', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Checkboard).default;\n }\n});\n\nvar _EditableInput = require('./EditableInput');\n\nObject.defineProperty(exports, 'EditableInput', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_EditableInput).default;\n }\n});\n\nvar _Hue = require('./Hue');\n\nObject.defineProperty(exports, 'Hue', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Hue).default;\n }\n});\n\nvar _Raised = require('./Raised');\n\nObject.defineProperty(exports, 'Raised', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Raised).default;\n }\n});\n\nvar _Saturation = require('./Saturation');\n\nObject.defineProperty(exports, 'Saturation', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Saturation).default;\n }\n});\n\nvar _ColorWrap = require('./ColorWrap');\n\nObject.defineProperty(exports, 'ColorWrap', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ColorWrap).default;\n }\n});\n\nvar _Swatch = require('./Swatch');\n\nObject.defineProperty(exports, 'Swatch', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Swatch).default;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Compact = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nvar _CompactColor = require('./CompactColor');\n\nvar _CompactColor2 = _interopRequireDefault(_CompactColor);\n\nvar _CompactFields = require('./CompactFields');\n\nvar _CompactFields2 = _interopRequireDefault(_CompactFields);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Compact = exports.Compact = function Compact(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n rgb = _ref.rgb,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n Compact: {\n background: '#f6f6f6',\n radius: '4px'\n },\n compact: {\n paddingTop: '5px',\n paddingLeft: '5px',\n boxSizing: 'initial',\n width: '240px'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n _color2.default.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else {\n onChange(data, e);\n }\n };\n\n return _react2.default.createElement(\n _common.Raised,\n { style: styles.Compact },\n _react2.default.createElement(\n 'div',\n { style: styles.compact, className: 'compact-picker ' + className },\n _react2.default.createElement(\n 'div',\n null,\n (0, _map2.default)(colors, function (c) {\n return _react2.default.createElement(_CompactColor2.default, {\n key: c,\n color: c,\n active: c.toLowerCase() === hex,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n }),\n _react2.default.createElement('div', { style: styles.clear })\n ),\n _react2.default.createElement(_CompactFields2.default, { hex: hex, rgb: rgb, onChange: handleChange })\n )\n );\n};\n\nCompact.propTypes = {\n colors: _propTypes2.default.arrayOf(_propTypes2.default.string)\n};\n\nCompact.defaultProps = {\n colors: ['#4D4D4D', '#999999', '#FFFFFF', '#F44E3B', '#FE9200', '#FCDC00', '#DBDF00', '#A4DD00', '#68CCCA', '#73D8FF', '#AEA1FF', '#FDA1FF', '#333333', '#808080', '#cccccc', '#D33115', '#E27300', '#FCC400', '#B0BC00', '#68BC00', '#16A5A5', '#009CE0', '#7B64FF', '#FA28FF', '#000000', '#666666', '#B3B3B3', '#9F0500', '#C45100', '#FB9E00', '#808900', '#194D33', '#0C797D', '#0062B1', '#653294', '#AB149E']\n};\n\nexports.default = (0, _common.ColorWrap)(Compact);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CompactColor = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CompactColor = exports.CompactColor = function CompactColor(_ref) {\n var color = _ref.color,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover,\n active = _ref.active;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n color: {\n background: color,\n width: '15px',\n height: '15px',\n float: 'left',\n marginRight: '5px',\n marginBottom: '5px',\n position: 'relative',\n cursor: 'pointer'\n },\n dot: {\n absolute: '5px 5px 5px 5px',\n background: _color2.default.getContrastingColor(color),\n borderRadius: '50%',\n opacity: '0'\n }\n },\n 'active': {\n dot: {\n opacity: '1'\n }\n },\n 'color-#FFFFFF': {\n color: {\n boxShadow: 'inset 0 0 0 1px #ddd'\n },\n dot: {\n background: '#000'\n }\n },\n 'transparent': {\n dot: {\n background: '#000'\n }\n }\n }, { active: active, 'color-#FFFFFF': color === '#FFFFFF', 'transparent': color === 'transparent' });\n\n return _react2.default.createElement(\n _common.Swatch,\n {\n style: styles.color,\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: '0 0 4px ' + color }\n },\n _react2.default.createElement('div', { style: styles.dot })\n );\n};\n\nexports.default = CompactColor;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CompactFields = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CompactFields = exports.CompactFields = function CompactFields(_ref) {\n var hex = _ref.hex,\n rgb = _ref.rgb,\n onChange = _ref.onChange;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n fields: {\n display: 'flex',\n paddingBottom: '6px',\n paddingRight: '5px',\n position: 'relative'\n },\n active: {\n position: 'absolute',\n top: '6px',\n left: '5px',\n height: '9px',\n width: '9px',\n background: hex\n },\n HEXwrap: {\n flex: '6',\n position: 'relative'\n },\n HEXinput: {\n width: '80%',\n padding: '0px',\n paddingLeft: '20%',\n border: 'none',\n outline: 'none',\n background: 'none',\n fontSize: '12px',\n color: '#333',\n height: '16px'\n },\n HEXlabel: {\n display: 'none'\n },\n RGBwrap: {\n flex: '3',\n position: 'relative'\n },\n RGBinput: {\n width: '70%',\n padding: '0px',\n paddingLeft: '30%',\n border: 'none',\n outline: 'none',\n background: 'none',\n fontSize: '12px',\n color: '#333',\n height: '16px'\n },\n RGBlabel: {\n position: 'absolute',\n top: '3px',\n left: '0px',\n lineHeight: '16px',\n textTransform: 'uppercase',\n fontSize: '12px',\n color: '#999'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n } else {\n onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n }\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n _react2.default.createElement('div', { style: styles.active }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: 'hex',\n value: hex,\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r',\n value: rgb.r,\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n })\n );\n};\n\nexports.default = CompactFields;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Github = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _common = require('../common');\n\nvar _GithubSwatch = require('./GithubSwatch');\n\nvar _GithubSwatch2 = _interopRequireDefault(_GithubSwatch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Github = exports.Github = function Github(_ref) {\n var width = _ref.width,\n colors = _ref.colors,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n triangle = _ref.triangle,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n border: '1px solid rgba(0,0,0,0.2)',\n boxShadow: '0 3px 12px rgba(0,0,0,0.15)',\n borderRadius: '4px',\n position: 'relative',\n padding: '5px',\n display: 'flex',\n flexWrap: 'wrap'\n },\n triangle: {\n position: 'absolute',\n border: '7px solid transparent',\n borderBottomColor: '#fff'\n },\n triangleShadow: {\n position: 'absolute',\n border: '8px solid transparent',\n borderBottomColor: 'rgba(0,0,0,0.15)'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n },\n triangleShadow: {\n display: 'none'\n }\n },\n 'top-left-triangle': {\n triangle: {\n top: '-14px',\n left: '10px'\n },\n triangleShadow: {\n top: '-16px',\n left: '9px'\n }\n },\n 'top-right-triangle': {\n triangle: {\n top: '-14px',\n right: '10px'\n },\n triangleShadow: {\n top: '-16px',\n right: '9px'\n }\n },\n 'bottom-left-triangle': {\n triangle: {\n top: '35px',\n left: '10px',\n transform: 'rotate(180deg)'\n },\n triangleShadow: {\n top: '37px',\n left: '9px',\n transform: 'rotate(180deg)'\n }\n },\n 'bottom-right-triangle': {\n triangle: {\n top: '35px',\n right: '10px',\n transform: 'rotate(180deg)'\n },\n triangleShadow: {\n top: '37px',\n right: '9px',\n transform: 'rotate(180deg)'\n }\n }\n }, {\n 'hide-triangle': triangle === 'hide',\n 'top-left-triangle': triangle === 'top-left',\n 'top-right-triangle': triangle === 'top-right',\n 'bottom-left-triangle': triangle == 'bottom-left',\n 'bottom-right-triangle': triangle === 'bottom-right'\n });\n\n var handleChange = function handleChange(hex, e) {\n return onChange({ hex: hex, source: 'hex' }, e);\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.card, className: 'github-picker ' + className },\n _react2.default.createElement('div', { style: styles.triangleShadow }),\n _react2.default.createElement('div', { style: styles.triangle }),\n (0, _map2.default)(colors, function (c) {\n return _react2.default.createElement(_GithubSwatch2.default, {\n color: c,\n key: c,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n })\n );\n};\n\nGithub.propTypes = {\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n colors: _propTypes2.default.arrayOf(_propTypes2.default.string),\n triangle: _propTypes2.default.oneOf(['hide', 'top-left', 'top-right', 'bottom-left', 'bottom-right'])\n};\n\nGithub.defaultProps = {\n width: 200,\n colors: ['#B80000', '#DB3E00', '#FCCB00', '#008B02', '#006B76', '#1273DE', '#004DCF', '#5300EB', '#EB9694', '#FAD0C3', '#FEF3BD', '#C1E1C5', '#BEDADC', '#C4DEF6', '#BED3F3', '#D4C4FB'],\n triangle: 'top-left'\n};\n\nexports.default = (0, _common.ColorWrap)(Github);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GithubSwatch = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar GithubSwatch = exports.GithubSwatch = function GithubSwatch(_ref) {\n var hover = _ref.hover,\n color = _ref.color,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var hoverSwatch = {\n position: 'relative',\n zIndex: '2',\n outline: '2px solid #fff',\n boxShadow: '0 0 5px 2px rgba(0,0,0,0.25)'\n };\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatch: {\n width: '25px',\n height: '25px',\n fontSize: '0'\n }\n },\n 'hover': {\n swatch: hoverSwatch\n }\n }, { hover: hover });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_common.Swatch, {\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: hoverSwatch\n })\n );\n};\n\nexports.default = (0, _reactcss.handleHover)(GithubSwatch);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HuePicker = undefined;\n\nvar _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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _HuePointer = require('./HuePointer');\n\nvar _HuePointer2 = _interopRequireDefault(_HuePointer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HuePicker = exports.HuePicker = function HuePicker(_ref) {\n var width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n hsl = _ref.hsl,\n direction = _ref.direction,\n pointer = _ref.pointer,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n position: 'relative',\n width: width,\n height: height\n },\n hue: {\n radius: '2px'\n }\n }\n });\n\n // Overwrite to provide pure hue color\n var handleChange = function handleChange(data) {\n return onChange({ a: 1, h: data.h, l: 0.5, s: 1 });\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'hue-picker ' + className },\n _react2.default.createElement(_common.Hue, _extends({}, styles.hue, {\n hsl: hsl,\n pointer: pointer,\n onChange: handleChange,\n direction: direction\n }))\n );\n};\n\nHuePicker.defaultProps = {\n width: '316px',\n height: '16px',\n direction: 'horizontal',\n pointer: _HuePointer2.default\n};\n\nexports.default = (0, _common.ColorWrap)(HuePicker);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SliderPointer = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SliderPointer = exports.SliderPointer = function SliderPointer(_ref) {\n var direction = _ref.direction;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '18px',\n height: '18px',\n borderRadius: '50%',\n transform: 'translate(-9px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n },\n 'vertical': {\n picker: {\n transform: 'translate(-3px, -9px)'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = SliderPointer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Material = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Material = exports.Material = function Material(_ref) {\n var onChange = _ref.onChange,\n hex = _ref.hex,\n rgb = _ref.rgb,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n material: {\n width: '98px',\n height: '98px',\n padding: '16px',\n fontFamily: 'Roboto'\n },\n HEXwrap: {\n position: 'relative'\n },\n HEXinput: {\n width: '100%',\n marginTop: '12px',\n fontSize: '15px',\n color: '#333',\n padding: '0px',\n border: '0px',\n borderBottom: '2px solid ' + hex,\n outline: 'none',\n height: '30px'\n },\n HEXlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n fontSize: '11px',\n color: '#999999',\n textTransform: 'capitalize'\n },\n Hex: {\n style: {}\n },\n RGBwrap: {\n position: 'relative'\n },\n RGBinput: {\n width: '100%',\n marginTop: '12px',\n fontSize: '15px',\n color: '#333',\n padding: '0px',\n border: '0px',\n borderBottom: '1px solid #eee',\n outline: 'none',\n height: '30px'\n },\n RGBlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n fontSize: '11px',\n color: '#999999',\n textTransform: 'capitalize'\n },\n split: {\n display: 'flex',\n marginRight: '-10px',\n paddingTop: '11px'\n },\n third: {\n flex: '1',\n paddingRight: '10px'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n _color2.default.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n }\n };\n\n return _react2.default.createElement(\n _common.Raised,\n null,\n _react2.default.createElement(\n 'div',\n { style: styles.material, className: 'material-picker ' + className },\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: 'hex',\n value: hex,\n onChange: handleChange\n }),\n _react2.default.createElement(\n 'div',\n { style: styles.split, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.third },\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r', value: rgb.r,\n onChange: handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.third },\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.third },\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n })\n )\n )\n )\n );\n};\n\nexports.default = (0, _common.ColorWrap)(Material);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Photoshop = undefined;\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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _PhotoshopFields = require('./PhotoshopFields');\n\nvar _PhotoshopFields2 = _interopRequireDefault(_PhotoshopFields);\n\nvar _PhotoshopPointerCircle = require('./PhotoshopPointerCircle');\n\nvar _PhotoshopPointerCircle2 = _interopRequireDefault(_PhotoshopPointerCircle);\n\nvar _PhotoshopPointer = require('./PhotoshopPointer');\n\nvar _PhotoshopPointer2 = _interopRequireDefault(_PhotoshopPointer);\n\nvar _PhotoshopButton = require('./PhotoshopButton');\n\nvar _PhotoshopButton2 = _interopRequireDefault(_PhotoshopButton);\n\nvar _PhotoshopPreviews = require('./PhotoshopPreviews');\n\nvar _PhotoshopPreviews2 = _interopRequireDefault(_PhotoshopPreviews);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nvar Photoshop = exports.Photoshop = function (_React$Component) {\n _inherits(Photoshop, _React$Component);\n\n function Photoshop(props) {\n _classCallCheck(this, Photoshop);\n\n var _this = _possibleConstructorReturn(this, (Photoshop.__proto__ || Object.getPrototypeOf(Photoshop)).call(this));\n\n _this.state = {\n currentColor: props.hex\n };\n return _this;\n }\n\n _createClass(Photoshop, [{\n key: 'render',\n value: function render() {\n var _props$className = this.props.className,\n className = _props$className === undefined ? '' : _props$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n background: '#DCDCDC',\n borderRadius: '4px',\n boxShadow: '0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15)',\n boxSizing: 'initial',\n width: '513px'\n },\n head: {\n backgroundImage: 'linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%)',\n borderBottom: '1px solid #B1B1B1',\n boxShadow: 'inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02)',\n height: '23px',\n lineHeight: '24px',\n borderRadius: '4px 4px 0 0',\n fontSize: '13px',\n color: '#4D4D4D',\n textAlign: 'center'\n },\n body: {\n padding: '15px 15px 0',\n display: 'flex'\n },\n saturation: {\n width: '256px',\n height: '256px',\n position: 'relative',\n border: '2px solid #B3B3B3',\n borderBottom: '2px solid #F0F0F0',\n overflow: 'hidden'\n },\n hue: {\n position: 'relative',\n height: '256px',\n width: '19px',\n marginLeft: '10px',\n border: '2px solid #B3B3B3',\n borderBottom: '2px solid #F0F0F0'\n },\n controls: {\n width: '180px',\n marginLeft: '10px'\n },\n top: {\n display: 'flex'\n },\n previews: {\n width: '60px'\n },\n actions: {\n flex: '1',\n marginLeft: '20px'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'photoshop-picker ' + className },\n _react2.default.createElement(\n 'div',\n { style: styles.head },\n this.props.header\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.body, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.saturation },\n _react2.default.createElement(_common.Saturation, {\n hsl: this.props.hsl,\n hsv: this.props.hsv,\n pointer: _PhotoshopPointerCircle2.default,\n onChange: this.props.onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.hue },\n _react2.default.createElement(_common.Hue, {\n direction: 'vertical',\n hsl: this.props.hsl,\n pointer: _PhotoshopPointer2.default,\n onChange: this.props.onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.controls },\n _react2.default.createElement(\n 'div',\n { style: styles.top, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.previews },\n _react2.default.createElement(_PhotoshopPreviews2.default, {\n rgb: this.props.rgb,\n currentColor: this.state.currentColor\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.actions },\n _react2.default.createElement(_PhotoshopButton2.default, { label: 'OK', onClick: this.props.onAccept, active: true }),\n _react2.default.createElement(_PhotoshopButton2.default, { label: 'Cancel', onClick: this.props.onCancel }),\n _react2.default.createElement(_PhotoshopFields2.default, {\n onChange: this.props.onChange,\n rgb: this.props.rgb,\n hsv: this.props.hsv,\n hex: this.props.hex\n })\n )\n )\n )\n )\n );\n }\n }]);\n\n return Photoshop;\n}(_react2.default.Component);\n\nPhotoshop.propTypes = {\n header: _propTypes2.default.string\n};\n\nPhotoshop.defaultProps = {\n header: 'Color Picker'\n};\n\nexports.default = (0, _common.ColorWrap)(Photoshop);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PhotoshopBotton = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PhotoshopBotton = exports.PhotoshopBotton = function PhotoshopBotton(_ref) {\n var onClick = _ref.onClick,\n label = _ref.label,\n children = _ref.children,\n active = _ref.active;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n button: {\n backgroundImage: 'linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)',\n border: '1px solid #878787',\n borderRadius: '2px',\n height: '20px',\n boxShadow: '0 1px 0 0 #EAEAEA',\n fontSize: '14px',\n color: '#000',\n lineHeight: '20px',\n textAlign: 'center',\n marginBottom: '10px',\n cursor: 'pointer'\n }\n },\n 'active': {\n button: {\n boxShadow: '0 0 0 1px #878787'\n }\n }\n }, { active: active });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.button, onClick: onClick },\n label || children\n );\n};\n\nexports.default = PhotoshopBotton;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PhotoshopPicker = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PhotoshopPicker = exports.PhotoshopPicker = function PhotoshopPicker(_ref) {\n var onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsv = _ref.hsv,\n hex = _ref.hex;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n fields: {\n paddingTop: '5px',\n paddingBottom: '9px',\n width: '80px',\n position: 'relative'\n },\n divider: {\n height: '5px'\n },\n RGBwrap: {\n position: 'relative'\n },\n RGBinput: {\n marginLeft: '40%',\n width: '40%',\n height: '18px',\n border: '1px solid #888888',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',\n marginBottom: '5px',\n fontSize: '13px',\n paddingLeft: '3px',\n marginRight: '10px'\n },\n RGBlabel: {\n left: '0px',\n width: '34px',\n textTransform: 'uppercase',\n fontSize: '13px',\n height: '18px',\n lineHeight: '22px',\n position: 'absolute'\n },\n HEXwrap: {\n position: 'relative'\n },\n HEXinput: {\n marginLeft: '20%',\n width: '80%',\n height: '18px',\n border: '1px solid #888888',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',\n marginBottom: '6px',\n fontSize: '13px',\n paddingLeft: '3px'\n },\n HEXlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n width: '14px',\n textTransform: 'uppercase',\n fontSize: '13px',\n height: '18px',\n lineHeight: '22px'\n },\n fieldSymbols: {\n position: 'absolute',\n top: '5px',\n right: '-7px',\n fontSize: '13px'\n },\n symbol: {\n height: '20px',\n lineHeight: '22px',\n paddingBottom: '7px'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data['#']) {\n _color2.default.isValidHex(data['#']) && onChange({\n hex: data['#'],\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n } else if (data.h || data.s || data.v) {\n onChange({\n h: data.h || hsv.h,\n s: data.s || hsv.s,\n v: data.v || hsv.v,\n source: 'hsv'\n }, e);\n }\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.fields },\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'h',\n value: Math.round(hsv.h),\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 's',\n value: Math.round(hsv.s * 100),\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'v',\n value: Math.round(hsv.v * 100),\n onChange: handleChange\n }),\n _react2.default.createElement('div', { style: styles.divider }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r',\n value: rgb.r,\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n }),\n _react2.default.createElement('div', { style: styles.divider }),\n _react2.default.createElement(_common.EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: '#',\n value: hex.replace('#', ''),\n onChange: handleChange\n }),\n _react2.default.createElement(\n 'div',\n { style: styles.fieldSymbols },\n _react2.default.createElement(\n 'div',\n { style: styles.symbol },\n '\\xB0'\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.symbol },\n '%'\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.symbol },\n '%'\n )\n )\n );\n};\n\nexports.default = PhotoshopPicker;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PhotoshopPointerCircle = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PhotoshopPointerCircle = exports.PhotoshopPointerCircle = function PhotoshopPointerCircle() {\n var styles = (0, _reactcss2.default)({\n 'default': {\n triangle: {\n width: 0,\n height: 0,\n borderStyle: 'solid',\n borderWidth: '4px 0 4px 6px',\n borderColor: 'transparent transparent transparent #fff',\n position: 'absolute',\n top: '1px',\n left: '1px'\n },\n triangleBorder: {\n width: 0,\n height: 0,\n borderStyle: 'solid',\n borderWidth: '5px 0 5px 8px',\n borderColor: 'transparent transparent transparent #555'\n },\n\n left: {\n Extend: 'triangleBorder',\n transform: 'translate(-13px, -4px)'\n },\n leftInside: {\n Extend: 'triangle',\n transform: 'translate(-8px, -5px)'\n },\n\n right: {\n Extend: 'triangleBorder',\n transform: 'translate(20px, -14px) rotate(180deg)'\n },\n rightInside: {\n Extend: 'triangle',\n transform: 'translate(-8px, -5px)'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.pointer },\n _react2.default.createElement(\n 'div',\n { style: styles.left },\n _react2.default.createElement('div', { style: styles.leftInside })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.right },\n _react2.default.createElement('div', { style: styles.rightInside })\n )\n );\n};\n\nexports.default = PhotoshopPointerCircle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PhotoshopPointerCircle = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PhotoshopPointerCircle = exports.PhotoshopPointerCircle = function PhotoshopPointerCircle(_ref) {\n var hsl = _ref.hsl;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n boxShadow: 'inset 0 0 0 1px #fff',\n transform: 'translate(-6px, -6px)'\n }\n },\n 'black-outline': {\n picker: {\n boxShadow: 'inset 0 0 0 1px #000'\n }\n }\n }, { 'black-outline': hsl.l > 0.5 });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = PhotoshopPointerCircle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PhotoshopPreviews = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PhotoshopPreviews = exports.PhotoshopPreviews = function PhotoshopPreviews(_ref) {\n var rgb = _ref.rgb,\n currentColor = _ref.currentColor;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatches: {\n border: '1px solid #B3B3B3',\n borderBottom: '1px solid #F0F0F0',\n marginBottom: '2px',\n marginTop: '1px'\n },\n new: {\n height: '34px',\n background: 'rgb(' + rgb.r + ',' + rgb.g + ', ' + rgb.b + ')',\n boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000'\n },\n current: {\n height: '34px',\n background: currentColor,\n boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000'\n },\n label: {\n fontSize: '14px',\n color: '#000',\n textAlign: 'center'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(\n 'div',\n { style: styles.label },\n 'new'\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatches },\n _react2.default.createElement('div', { style: styles.new }),\n _react2.default.createElement('div', { style: styles.current })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.label },\n 'current'\n )\n );\n};\n\nexports.default = PhotoshopPreviews;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Sketch = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _SketchFields = require('./SketchFields');\n\nvar _SketchFields2 = _interopRequireDefault(_SketchFields);\n\nvar _SketchPresetColors = require('./SketchPresetColors');\n\nvar _SketchPresetColors2 = _interopRequireDefault(_SketchPresetColors);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Sketch = exports.Sketch = function Sketch(_ref) {\n var width = _ref.width,\n rgb = _ref.rgb,\n hex = _ref.hex,\n hsv = _ref.hsv,\n hsl = _ref.hsl,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n disableAlpha = _ref.disableAlpha,\n presetColors = _ref.presetColors,\n renderers = _ref.renderers,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: width,\n padding: '10px 10px 0',\n boxSizing: 'initial',\n background: '#fff',\n borderRadius: '4px',\n boxShadow: '0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15)'\n },\n saturation: {\n width: '100%',\n paddingBottom: '75%',\n position: 'relative',\n overflow: 'hidden'\n },\n Saturation: {\n radius: '3px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n controls: {\n display: 'flex'\n },\n sliders: {\n padding: '4px 0',\n flex: '1'\n },\n color: {\n width: '24px',\n height: '24px',\n position: 'relative',\n marginTop: '4px',\n marginLeft: '4px',\n borderRadius: '3px'\n },\n activeColor: {\n absolute: '0px 0px 0px 0px',\n borderRadius: '2px',\n background: 'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + rgb.a + ')',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n hue: {\n position: 'relative',\n height: '10px',\n overflow: 'hidden'\n },\n Hue: {\n radius: '2px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n\n alpha: {\n position: 'relative',\n height: '10px',\n marginTop: '4px',\n overflow: 'hidden'\n },\n Alpha: {\n radius: '2px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n }\n },\n 'disableAlpha': {\n color: {\n height: '10px'\n },\n hue: {\n height: '10px'\n },\n alpha: {\n display: 'none'\n }\n }\n }, { disableAlpha: disableAlpha });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'sketch-picker ' + className },\n _react2.default.createElement(\n 'div',\n { style: styles.saturation },\n _react2.default.createElement(_common.Saturation, {\n style: styles.Saturation,\n hsl: hsl,\n hsv: hsv,\n onChange: onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.controls, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.sliders },\n _react2.default.createElement(\n 'div',\n { style: styles.hue },\n _react2.default.createElement(_common.Hue, {\n style: styles.Hue,\n hsl: hsl,\n onChange: onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(_common.Alpha, {\n style: styles.Alpha,\n rgb: rgb,\n hsl: hsl,\n renderers: renderers,\n onChange: onChange\n })\n )\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.color },\n _react2.default.createElement(_common.Checkboard, null),\n _react2.default.createElement('div', { style: styles.activeColor })\n )\n ),\n _react2.default.createElement(_SketchFields2.default, {\n rgb: rgb,\n hsl: hsl,\n hex: hex,\n onChange: onChange,\n disableAlpha: disableAlpha\n }),\n _react2.default.createElement(_SketchPresetColors2.default, {\n colors: presetColors,\n onClick: onChange,\n onSwatchHover: onSwatchHover\n })\n );\n};\n\nSketch.propTypes = {\n disableAlpha: _propTypes2.default.bool,\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number])\n};\n\nSketch.defaultProps = {\n disableAlpha: false,\n width: 200,\n presetColors: ['#D0021B', '#F5A623', '#F8E71C', '#8B572A', '#7ED321', '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2', '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF']\n};\n\nexports.default = (0, _common.ColorWrap)(Sketch);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SketchFields = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* eslint-disable no-param-reassign */\n\nvar SketchFields = exports.SketchFields = function SketchFields(_ref) {\n var onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hex = _ref.hex,\n disableAlpha = _ref.disableAlpha;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n fields: {\n display: 'flex',\n paddingTop: '4px'\n },\n single: {\n flex: '1',\n paddingLeft: '6px'\n },\n alpha: {\n flex: '1',\n paddingLeft: '6px'\n },\n double: {\n flex: '2'\n },\n input: {\n width: '80%',\n padding: '4px 10% 3px',\n border: 'none',\n boxShadow: 'inset 0 0 0 1px #ccc',\n fontSize: '11px'\n },\n label: {\n display: 'block',\n textAlign: 'center',\n fontSize: '11px',\n color: '#222',\n paddingTop: '3px',\n paddingBottom: '4px',\n textTransform: 'capitalize'\n }\n },\n 'disableAlpha': {\n alpha: {\n display: 'none'\n }\n }\n }, { disableAlpha: disableAlpha });\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n _color2.default.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n a: rgb.a,\n source: 'rgb'\n }, e);\n } else if (data.a) {\n if (data.a < 0) {\n data.a = 0;\n } else if (data.a > 100) {\n data.a = 100;\n }\n\n data.a /= 100;\n onChange({\n h: hsl.h,\n s: hsl.s,\n l: hsl.l,\n a: data.a,\n source: 'rgb'\n }, e);\n }\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n _react2.default.createElement(\n 'div',\n { style: styles.double },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'hex',\n value: hex.replace('#', ''),\n onChange: handleChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.single },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'r',\n value: rgb.r,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.single },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'g',\n value: rgb.g,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.single },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'b',\n value: rgb.b,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.alpha },\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: Math.round(rgb.a * 100),\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '100'\n })\n )\n );\n};\n\nexports.default = SketchFields;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SketchPresetColors = undefined;\n\nvar _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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SketchPresetColors = exports.SketchPresetColors = function SketchPresetColors(_ref) {\n var colors = _ref.colors,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n colors: {\n margin: '0 -10px',\n padding: '10px 0 0 10px',\n borderTop: '1px solid #eee',\n display: 'flex',\n flexWrap: 'wrap',\n position: 'relative'\n },\n swatchWrap: {\n width: '16px',\n height: '16px',\n margin: '0 10px 10px 0'\n },\n swatch: {\n borderRadius: '3px',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15)'\n }\n },\n 'no-presets': {\n colors: {\n display: 'none'\n }\n }\n }, {\n 'no-presets': !colors || !colors.length\n });\n\n var handleClick = function handleClick(hex, e) {\n onClick({\n hex: hex,\n source: 'hex'\n }, e);\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.colors, className: 'flexbox-fix' },\n colors.map(function (colorObjOrString) {\n var c = typeof colorObjOrString === 'string' ? { color: colorObjOrString } : colorObjOrString;\n var key = '' + c.color + (c.title || '');\n return _react2.default.createElement(\n 'div',\n { key: key, style: styles.swatchWrap },\n _react2.default.createElement(_common.Swatch, _extends({}, c, {\n style: styles.swatch,\n onClick: handleClick,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px ' + c.color\n }\n }))\n );\n })\n );\n};\n\nSketchPresetColors.propTypes = {\n colors: _propTypes2.default.arrayOf(_propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n color: _propTypes2.default.string,\n title: _propTypes2.default.string\n })])).isRequired\n};\n\nexports.default = SketchPresetColors;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Slider = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _common = require('../common');\n\nvar _SliderSwatches = require('./SliderSwatches');\n\nvar _SliderSwatches2 = _interopRequireDefault(_SliderSwatches);\n\nvar _SliderPointer = require('./SliderPointer');\n\nvar _SliderPointer2 = _interopRequireDefault(_SliderPointer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Slider = exports.Slider = function Slider(_ref) {\n var hsl = _ref.hsl,\n onChange = _ref.onChange,\n pointer = _ref.pointer,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n hue: {\n height: '12px',\n position: 'relative'\n },\n Hue: {\n radius: '2px'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { className: 'slider-picker ' + className },\n _react2.default.createElement(\n 'div',\n { style: styles.hue },\n _react2.default.createElement(_common.Hue, {\n style: styles.Hue,\n hsl: hsl,\n pointer: pointer,\n onChange: onChange\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatches },\n _react2.default.createElement(_SliderSwatches2.default, { hsl: hsl, onClick: onChange })\n )\n );\n};\n\nSlider.defaultProps = {\n pointer: _SliderPointer2.default\n};\n\nexports.default = (0, _common.ColorWrap)(Slider);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SliderPointer = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SliderPointer = exports.SliderPointer = function SliderPointer() {\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: '14px',\n height: '14px',\n borderRadius: '6px',\n transform: 'translate(-7px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n }\n });\n\n return _react2.default.createElement('div', { style: styles.picker });\n};\n\nexports.default = SliderPointer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SliderSwatch = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SliderSwatch = exports.SliderSwatch = function SliderSwatch(_ref) {\n var hsl = _ref.hsl,\n offset = _ref.offset,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n active = _ref.active,\n first = _ref.first,\n last = _ref.last;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatch: {\n height: '12px',\n background: 'hsl(' + hsl.h + ', 50%, ' + offset * 100 + '%)',\n cursor: 'pointer'\n }\n },\n 'first': {\n swatch: {\n borderRadius: '2px 0 0 2px'\n }\n },\n 'last': {\n swatch: {\n borderRadius: '0 2px 2px 0'\n }\n },\n 'active': {\n swatch: {\n transform: 'scaleY(1.8)',\n borderRadius: '3.6px/2px'\n }\n }\n }, { active: active, first: first, last: last });\n\n var handleClick = function handleClick(e) {\n return onClick({\n h: hsl.h,\n s: 0.5,\n l: offset,\n source: 'hsl'\n }, e);\n };\n\n return _react2.default.createElement('div', { style: styles.swatch, onClick: handleClick });\n};\n\nexports.default = SliderSwatch;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SliderSwatches = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _SliderSwatch = require('./SliderSwatch');\n\nvar _SliderSwatch2 = _interopRequireDefault(_SliderSwatch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SliderSwatches = exports.SliderSwatches = function SliderSwatches(_ref) {\n var onClick = _ref.onClick,\n hsl = _ref.hsl;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n swatches: {\n marginTop: '20px'\n },\n swatch: {\n boxSizing: 'border-box',\n width: '20%',\n paddingRight: '1px',\n float: 'left'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.swatches },\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_SliderSwatch2.default, {\n hsl: hsl,\n offset: '.80',\n active: Math.round(hsl.l * 100) / 100 === 0.80 && Math.round(hsl.s * 100) / 100 === 0.50,\n onClick: onClick,\n first: true\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_SliderSwatch2.default, {\n hsl: hsl,\n offset: '.65',\n active: Math.round(hsl.l * 100) / 100 === 0.65 && Math.round(hsl.s * 100) / 100 === 0.50,\n onClick: onClick\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_SliderSwatch2.default, {\n hsl: hsl,\n offset: '.50',\n active: Math.round(hsl.l * 100) / 100 === 0.50 && Math.round(hsl.s * 100) / 100 === 0.50,\n onClick: onClick\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_SliderSwatch2.default, {\n hsl: hsl,\n offset: '.35',\n active: Math.round(hsl.l * 100) / 100 === 0.35 && Math.round(hsl.s * 100) / 100 === 0.50,\n onClick: onClick\n })\n ),\n _react2.default.createElement(\n 'div',\n { style: styles.swatch },\n _react2.default.createElement(_SliderSwatch2.default, {\n hsl: hsl,\n offset: '.20',\n active: Math.round(hsl.l * 100) / 100 === 0.20 && Math.round(hsl.s * 100) / 100 === 0.50,\n onClick: onClick,\n last: true\n })\n ),\n _react2.default.createElement('div', { style: styles.clear })\n );\n};\n\nexports.default = SliderSwatches;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Swatches = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _materialColors = require('material-colors');\n\nvar material = _interopRequireWildcard(_materialColors);\n\nvar _common = require('../common');\n\nvar _SwatchesGroup = require('./SwatchesGroup');\n\nvar _SwatchesGroup2 = _interopRequireDefault(_SwatchesGroup);\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)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Swatches = exports.Swatches = function Swatches(_ref) {\n var width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n picker: {\n width: width,\n height: height\n },\n overflow: {\n height: height,\n overflowY: 'scroll'\n },\n body: {\n padding: '16px 0 6px 16px'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n _color2.default.isValidHex(data) && onChange({\n hex: data,\n source: 'hex'\n }, e);\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.picker, className: 'swatches-picker ' + className },\n _react2.default.createElement(\n _common.Raised,\n null,\n _react2.default.createElement(\n 'div',\n { style: styles.overflow },\n _react2.default.createElement(\n 'div',\n { style: styles.body },\n (0, _map2.default)(colors, function (group) {\n return _react2.default.createElement(_SwatchesGroup2.default, {\n key: group.toString(),\n group: group,\n active: hex,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n }),\n _react2.default.createElement('div', { style: styles.clear })\n )\n )\n )\n );\n};\n\nSwatches.propTypes = {\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n height: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n colors: _propTypes2.default.arrayOf(_propTypes2.default.arrayOf(_propTypes2.default.string))\n\n /* eslint-disable max-len */\n};Swatches.defaultProps = {\n width: 320,\n height: 240,\n colors: [[material.red['900'], material.red['700'], material.red['500'], material.red['300'], material.red['100']], [material.pink['900'], material.pink['700'], material.pink['500'], material.pink['300'], material.pink['100']], [material.purple['900'], material.purple['700'], material.purple['500'], material.purple['300'], material.purple['100']], [material.deepPurple['900'], material.deepPurple['700'], material.deepPurple['500'], material.deepPurple['300'], material.deepPurple['100']], [material.indigo['900'], material.indigo['700'], material.indigo['500'], material.indigo['300'], material.indigo['100']], [material.blue['900'], material.blue['700'], material.blue['500'], material.blue['300'], material.blue['100']], [material.lightBlue['900'], material.lightBlue['700'], material.lightBlue['500'], material.lightBlue['300'], material.lightBlue['100']], [material.cyan['900'], material.cyan['700'], material.cyan['500'], material.cyan['300'], material.cyan['100']], [material.teal['900'], material.teal['700'], material.teal['500'], material.teal['300'], material.teal['100']], ['#194D33', material.green['700'], material.green['500'], material.green['300'], material.green['100']], [material.lightGreen['900'], material.lightGreen['700'], material.lightGreen['500'], material.lightGreen['300'], material.lightGreen['100']], [material.lime['900'], material.lime['700'], material.lime['500'], material.lime['300'], material.lime['100']], [material.yellow['900'], material.yellow['700'], material.yellow['500'], material.yellow['300'], material.yellow['100']], [material.amber['900'], material.amber['700'], material.amber['500'], material.amber['300'], material.amber['100']], [material.orange['900'], material.orange['700'], material.orange['500'], material.orange['300'], material.orange['100']], [material.deepOrange['900'], material.deepOrange['700'], material.deepOrange['500'], material.deepOrange['300'], material.deepOrange['100']], [material.brown['900'], material.brown['700'], material.brown['500'], material.brown['300'], material.brown['100']], [material.blueGrey['900'], material.blueGrey['700'], material.blueGrey['500'], material.blueGrey['300'], material.blueGrey['100']], ['#000000', '#525252', '#969696', '#D9D9D9', '#FFFFFF']]\n};\n\nexports.default = (0, _common.ColorWrap)(Swatches);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SwatchesColor = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SwatchesColor = exports.SwatchesColor = function SwatchesColor(_ref) {\n var color = _ref.color,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover,\n first = _ref.first,\n last = _ref.last,\n active = _ref.active;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n color: {\n width: '40px',\n height: '24px',\n cursor: 'pointer',\n background: color,\n marginBottom: '1px'\n },\n check: {\n fill: _color2.default.getContrastingColor(color),\n marginLeft: '8px',\n display: 'none'\n }\n },\n 'first': {\n color: {\n overflow: 'hidden',\n borderRadius: '2px 2px 0 0'\n }\n },\n 'last': {\n color: {\n overflow: 'hidden',\n borderRadius: '0 0 2px 2px'\n }\n },\n 'active': {\n check: {\n display: 'block'\n }\n },\n 'color-#FFFFFF': {\n color: {\n boxShadow: 'inset 0 0 0 1px #ddd'\n },\n check: {\n fill: '#333'\n }\n },\n 'transparent': {\n check: {\n fill: '#333'\n }\n }\n }, {\n first: first,\n last: last,\n active: active,\n 'color-#FFFFFF': color === '#FFFFFF',\n 'transparent': color === 'transparent'\n });\n\n return _react2.default.createElement(\n _common.Swatch,\n {\n color: color,\n style: styles.color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: '0 0 4px ' + color }\n },\n _react2.default.createElement(\n 'div',\n { style: styles.check },\n _react2.default.createElement(\n 'svg',\n { style: { width: '24px', height: '24px' }, viewBox: '0 0 24 24' },\n _react2.default.createElement('path', { d: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z' })\n )\n )\n );\n};\n\nexports.default = SwatchesColor;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SwatchesGroup = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _SwatchesColor = require('./SwatchesColor');\n\nvar _SwatchesColor2 = _interopRequireDefault(_SwatchesColor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SwatchesGroup = exports.SwatchesGroup = function SwatchesGroup(_ref) {\n var onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover,\n group = _ref.group,\n active = _ref.active;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n group: {\n paddingBottom: '10px',\n width: '40px',\n float: 'left',\n marginRight: '10px'\n }\n }\n });\n\n return _react2.default.createElement(\n 'div',\n { style: styles.group },\n (0, _map2.default)(group, function (color, i) {\n return _react2.default.createElement(_SwatchesColor2.default, {\n key: color,\n color: color,\n active: color.toLowerCase() === active,\n first: i === 0,\n last: i === group.length - 1,\n onClick: onClick,\n onSwatchHover: onSwatchHover\n });\n })\n );\n};\n\nexports.default = SwatchesGroup;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Twitter = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactcss = require('reactcss');\n\nvar _reactcss2 = _interopRequireDefault(_reactcss);\n\nvar _map = require('lodash/map');\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _color = require('../../helpers/color');\n\nvar _color2 = _interopRequireDefault(_color);\n\nvar _common = require('../common');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Twitter = exports.Twitter = function Twitter(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n hex = _ref.hex,\n colors = _ref.colors,\n width = _ref.width,\n triangle = _ref.triangle,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = (0, _reactcss2.default)({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n border: '0 solid rgba(0,0,0,0.25)',\n boxShadow: '0 1px 4px rgba(0,0,0,0.25)',\n borderRadius: '4px',\n position: 'relative'\n },\n body: {\n padding: '15px 9px 9px 15px'\n },\n label: {\n fontSize: '18px',\n color: '#fff'\n },\n triangle: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 9px 10px 9px',\n borderColor: 'transparent transparent #fff transparent',\n position: 'absolute'\n },\n triangleShadow: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 9px 10px 9px',\n borderColor: 'transparent transparent rgba(0,0,0,.1) transparent',\n position: 'absolute'\n },\n hash: {\n background: '#F0F0F0',\n height: '30px',\n width: '30px',\n borderRadius: '4px 0 0 4px',\n float: 'left',\n color: '#98A1A4',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n input: {\n width: '100px',\n fontSize: '14px',\n color: '#666',\n border: '0px',\n outline: 'none',\n height: '28px',\n boxShadow: 'inset 0 0 0 1px #F0F0F0',\n boxSizing: 'content-box',\n borderRadius: '0 4px 4px 0',\n float: 'left',\n paddingLeft: '8px'\n },\n swatch: {\n width: '30px',\n height: '30px',\n float: 'left',\n borderRadius: '4px',\n margin: '0 6px 6px 0'\n },\n clear: {\n clear: 'both'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n },\n triangleShadow: {\n display: 'none'\n }\n },\n 'top-left-triangle': {\n triangle: {\n top: '-10px',\n left: '12px'\n },\n triangleShadow: {\n top: '-11px',\n left: '12px'\n }\n },\n 'top-right-triangle': {\n triangle: {\n top: '-10px',\n right: '12px'\n },\n triangleShadow: {\n top: '-11px',\n right: '12px'\n }\n }\n }, {\n 'hide-triangle': triangle === 'hide',\n 'top-left-triangle': triangle === 'top-left',\n 'top-right-triangle': triangle === 'top-right'\n });\n\n var handleChange = function handleChange(hexcode, e) {\n _color2.default.isValidHex(hexcode) && onChange({\n hex: hexcode,\n source: 'hex'\n }, e);\n };\n\n return _react2.default.createElement(\n 'div',\n { style: styles.card, className: 'twitter-picker ' + className },\n _react2.default.createElement('div', { style: styles.triangleShadow }),\n _react2.default.createElement('div', { style: styles.triangle }),\n _react2.default.createElement(\n 'div',\n { style: styles.body },\n (0, _map2.default)(colors, function (c, i) {\n return _react2.default.createElement(_common.Swatch, {\n key: i,\n color: c,\n hex: c,\n style: styles.swatch,\n onClick: handleChange,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: '0 0 4px ' + c\n }\n });\n }),\n _react2.default.createElement(\n 'div',\n { style: styles.hash },\n '#'\n ),\n _react2.default.createElement(_common.EditableInput, {\n style: { input: styles.input },\n value: hex.replace('#', ''),\n onChange: handleChange\n }),\n _react2.default.createElement('div', { style: styles.clear })\n )\n );\n};\n\nTwitter.propTypes = {\n width: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),\n triangle: _propTypes2.default.oneOf(['hide', 'top-left', 'top-right']),\n colors: _propTypes2.default.arrayOf(_propTypes2.default.string)\n};\n\nTwitter.defaultProps = {\n width: 276,\n colors: ['#FF6900', '#FCB900', '#7BDCB5', '#00D084', '#8ED1FC', '#0693E3', '#ABB8C3', '#EB144C', '#F78DA7', '#9900EF'],\n triangle: 'top-left'\n};\n\nexports.default = (0, _common.ColorWrap)(Twitter);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar calculateChange = exports.calculateChange = function calculateChange(e, skip, props, container) {\n e.preventDefault();\n var containerWidth = container.clientWidth;\n var containerHeight = container.clientHeight;\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (props.direction === 'vertical') {\n var a = void 0;\n if (top < 0) {\n a = 0;\n } else if (top > containerHeight) {\n a = 1;\n } else {\n a = Math.round(top * 100 / containerHeight) / 100;\n }\n\n if (props.hsl.a !== a) {\n return {\n h: props.hsl.h,\n s: props.hsl.s,\n l: props.hsl.l,\n a: a,\n source: 'rgb'\n };\n }\n } else {\n var _a = void 0;\n if (left < 0) {\n _a = 0;\n } else if (left > containerWidth) {\n _a = 1;\n } else {\n _a = Math.round(left * 100 / containerWidth) / 100;\n }\n\n if (props.a !== _a) {\n return {\n h: props.hsl.h,\n s: props.hsl.s,\n l: props.hsl.l,\n a: _a,\n source: 'rgb'\n };\n }\n }\n return null;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar checkboardCache = {};\n\nvar render = exports.render = function render(c1, c2, size, serverCanvas) {\n if (typeof document === 'undefined' && !serverCanvas) {\n return null;\n }\n var canvas = serverCanvas ? new serverCanvas() : document.createElement('canvas');\n canvas.width = size * 2;\n canvas.height = size * 2;\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return null;\n } // If no context can be found, return early.\n ctx.fillStyle = c1;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n ctx.fillStyle = c2;\n ctx.fillRect(0, 0, size, size);\n ctx.translate(size, size);\n ctx.fillRect(0, 0, size, size);\n return canvas.toDataURL();\n};\n\nvar get = exports.get = function get(c1, c2, size, serverCanvas) {\n var key = c1 + '-' + c2 + '-' + size + (serverCanvas ? '-server' : '');\n var checkboard = render(c1, c2, size, serverCanvas);\n\n if (checkboardCache[key]) {\n return checkboardCache[key];\n }\n checkboardCache[key] = checkboard;\n return checkboard;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.red = undefined;\n\nvar _each = require('lodash/each');\n\nvar _each2 = _interopRequireDefault(_each);\n\nvar _tinycolor = require('tinycolor2');\n\nvar _tinycolor2 = _interopRequireDefault(_tinycolor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n simpleCheckForValidColor: function simpleCheckForValidColor(data) {\n var keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n var checked = 0;\n var passed = 0;\n (0, _each2.default)(keysToCheck, function (letter) {\n if (data[letter]) {\n checked += 1;\n if (!isNaN(data[letter])) {\n passed += 1;\n }\n if (letter === 's' || letter === 'l') {\n var percentPatt = /^\\d+%$/;\n if (percentPatt.test(data[letter])) {\n passed += 1;\n }\n }\n }\n });\n return checked === passed ? data : false;\n },\n toState: function toState(data, oldHue) {\n var color = data.hex ? (0, _tinycolor2.default)(data.hex) : (0, _tinycolor2.default)(data);\n var hsl = color.toHsl();\n var hsv = color.toHsv();\n var rgb = color.toRgb();\n var hex = color.toHex();\n if (hsl.s === 0) {\n hsl.h = oldHue || 0;\n hsv.h = oldHue || 0;\n }\n var transparent = hex === '000000' && rgb.a === 0;\n\n return {\n hsl: hsl,\n hex: transparent ? 'transparent' : '#' + hex,\n rgb: rgb,\n hsv: hsv,\n oldHue: data.h || oldHue || hsl.h,\n source: data.source\n };\n },\n isValidHex: function isValidHex(hex) {\n // disable hex4 and hex8\n var lh = String(hex).charAt(0) === '#' ? 1 : 0;\n return hex.length !== 4 + lh && hex.length < 7 + lh && (0, _tinycolor2.default)(hex).isValid();\n },\n getContrastingColor: function getContrastingColor(data) {\n if (!data) {\n return '#fff';\n }\n var col = this.toState(data);\n if (col.hex === 'transparent') {\n return 'rgba(0,0,0,0.4)';\n }\n var yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;\n return yiq >= 128 ? '#000' : '#fff';\n }\n};\nvar red = exports.red = {\n hsl: { a: 1, h: 0, l: 0.5, s: 1 },\n hex: '#ff0000',\n rgb: { r: 255, g: 0, b: 0, a: 1 },\n hsv: { h: 0, s: 1, v: 1, a: 1 }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar calculateChange = exports.calculateChange = function calculateChange(e, skip, props, container) {\n e.preventDefault();\n var containerWidth = container.clientWidth;\n var containerHeight = container.clientHeight;\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (props.direction === 'vertical') {\n var h = void 0;\n if (top < 0) {\n h = 359;\n } else if (top > containerHeight) {\n h = 0;\n } else {\n var percent = -(top * 100 / containerHeight) + 100;\n h = 360 * percent / 100;\n }\n\n if (props.hsl.h !== h) {\n return {\n h: h,\n s: props.hsl.s,\n l: props.hsl.l,\n a: props.hsl.a,\n source: 'rgb'\n };\n }\n } else {\n var _h = void 0;\n if (left < 0) {\n _h = 0;\n } else if (left > containerWidth) {\n _h = 359;\n } else {\n var _percent = left * 100 / containerWidth;\n _h = 360 * _percent / 100;\n }\n\n if (props.hsl.h !== _h) {\n return {\n h: _h,\n s: props.hsl.s,\n l: props.hsl.l,\n a: props.hsl.a,\n source: 'rgb'\n };\n }\n }\n return null;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleFocus = undefined;\n\nvar _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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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; } /* eslint-disable no-invalid-this */\n\n\nvar handleFocus = exports.handleFocus = function handleFocus(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n return function (_React$Component) {\n _inherits(Focus, _React$Component);\n\n function Focus() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Focus);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Focus.__proto__ || Object.getPrototypeOf(Focus)).call.apply(_ref, [this].concat(args))), _this), _this.state = { focus: false }, _this.handleFocus = function () {\n return _this.setState({ focus: true });\n }, _this.handleBlur = function () {\n return _this.setState({ focus: false });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Focus, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n Span,\n { onFocus: this.handleFocus, onBlur: this.handleBlur },\n _react2.default.createElement(Component, _extends({}, this.props, this.state))\n );\n }\n }]);\n\n return Focus;\n }(_react2.default.Component);\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar calculateChange = exports.calculateChange = function calculateChange(e, skip, props, container) {\n e.preventDefault();\n\n var _container$getBoundin = container.getBoundingClientRect(),\n containerWidth = _container$getBoundin.width,\n containerHeight = _container$getBoundin.height;\n\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (left < 0) {\n left = 0;\n } else if (left > containerWidth) {\n left = containerWidth;\n } else if (top < 0) {\n top = 0;\n } else if (top > containerHeight) {\n top = containerHeight;\n }\n\n var saturation = left * 100 / containerWidth;\n var bright = -(top * 100 / containerHeight) + 100;\n\n return {\n h: props.hsl.h,\n s: saturation,\n v: bright,\n a: props.hsl.a,\n source: 'rgb'\n };\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CustomPicker = exports.TwitterPicker = exports.SwatchesPicker = exports.SliderPicker = exports.SketchPicker = exports.PhotoshopPicker = exports.MaterialPicker = exports.HuePicker = exports.GithubPicker = exports.CompactPicker = exports.ChromePicker = exports.default = exports.CirclePicker = exports.BlockPicker = exports.AlphaPicker = undefined;\n\nvar _Alpha = require('./components/alpha/Alpha');\n\nObject.defineProperty(exports, 'AlphaPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Alpha).default;\n }\n});\n\nvar _Block = require('./components/block/Block');\n\nObject.defineProperty(exports, 'BlockPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Block).default;\n }\n});\n\nvar _Circle = require('./components/circle/Circle');\n\nObject.defineProperty(exports, 'CirclePicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Circle).default;\n }\n});\n\nvar _Chrome = require('./components/chrome/Chrome');\n\nObject.defineProperty(exports, 'ChromePicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Chrome).default;\n }\n});\n\nvar _Compact = require('./components/compact/Compact');\n\nObject.defineProperty(exports, 'CompactPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Compact).default;\n }\n});\n\nvar _Github = require('./components/github/Github');\n\nObject.defineProperty(exports, 'GithubPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Github).default;\n }\n});\n\nvar _Hue = require('./components/hue/Hue');\n\nObject.defineProperty(exports, 'HuePicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Hue).default;\n }\n});\n\nvar _Material = require('./components/material/Material');\n\nObject.defineProperty(exports, 'MaterialPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Material).default;\n }\n});\n\nvar _Photoshop = require('./components/photoshop/Photoshop');\n\nObject.defineProperty(exports, 'PhotoshopPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Photoshop).default;\n }\n});\n\nvar _Sketch = require('./components/sketch/Sketch');\n\nObject.defineProperty(exports, 'SketchPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Sketch).default;\n }\n});\n\nvar _Slider = require('./components/slider/Slider');\n\nObject.defineProperty(exports, 'SliderPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Slider).default;\n }\n});\n\nvar _Swatches = require('./components/swatches/Swatches');\n\nObject.defineProperty(exports, 'SwatchesPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Swatches).default;\n }\n});\n\nvar _Twitter = require('./components/twitter/Twitter');\n\nObject.defineProperty(exports, 'TwitterPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Twitter).default;\n }\n});\n\nvar _ColorWrap = require('./components/common/ColorWrap');\n\nObject.defineProperty(exports, 'CustomPicker', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ColorWrap).default;\n }\n});\n\nvar _Chrome2 = _interopRequireDefault(_Chrome);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Chrome2.default;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport onClickOutside from 'react-onclickoutside';\nimport moment from 'moment';\nimport { Manager, Popper, Reference } from 'react-popper';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nfunction generateYears(year, noOfYear, minDate, maxDate) {\n var list = [];\n for (var i = 0; i < 2 * noOfYear + 1; i++) {\n var newYear = year + noOfYear - i;\n var isInRange = true;\n\n if (minDate) {\n isInRange = minDate.year() <= newYear;\n }\n\n if (maxDate && isInRange) {\n isInRange = maxDate.year() >= newYear;\n }\n\n if (isInRange) {\n list.push(newYear);\n }\n }\n\n return list;\n}\n\nvar YearDropdownOptions = function (_React$Component) {\n inherits(YearDropdownOptions, _React$Component);\n\n function YearDropdownOptions(props) {\n classCallCheck(this, YearDropdownOptions);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.renderOptions = function () {\n var selectedYear = _this.props.year;\n var options = _this.state.yearsList.map(function (year) {\n return React.createElement(\n \"div\",\n {\n className: selectedYear === year ? \"react-datepicker__year-option react-datepicker__year-option--selected_year\" : \"react-datepicker__year-option\",\n key: year,\n ref: year,\n onClick: _this.onChange.bind(_this, year)\n },\n selectedYear === year ? React.createElement(\n \"span\",\n { className: \"react-datepicker__year-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n year\n );\n });\n\n var minYear = _this.props.minDate ? _this.props.minDate.year() : null;\n var maxYear = _this.props.maxDate ? _this.props.maxDate.year() : null;\n\n if (!maxYear || !_this.state.yearsList.find(function (year) {\n return year === maxYear;\n })) {\n options.unshift(React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-option\",\n ref: \"upcoming\",\n key: \"upcoming\",\n onClick: _this.incrementYears\n },\n React.createElement(\"a\", { className: \"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-upcoming\" })\n ));\n }\n\n if (!minYear || !_this.state.yearsList.find(function (year) {\n return year === minYear;\n })) {\n options.push(React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-option\",\n ref: \"previous\",\n key: \"previous\",\n onClick: _this.decrementYears\n },\n React.createElement(\"a\", { className: \"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-previous\" })\n ));\n }\n\n return options;\n };\n\n _this.onChange = function (year) {\n _this.props.onChange(year);\n };\n\n _this.handleClickOutside = function () {\n _this.props.onCancel();\n };\n\n _this.shiftYears = function (amount) {\n var years = _this.state.yearsList.map(function (year) {\n return year + amount;\n });\n\n _this.setState({\n yearsList: years\n });\n };\n\n _this.incrementYears = function () {\n return _this.shiftYears(1);\n };\n\n _this.decrementYears = function () {\n return _this.shiftYears(-1);\n };\n\n var yearDropdownItemNumber = props.yearDropdownItemNumber,\n scrollableYearDropdown = props.scrollableYearDropdown;\n\n var noOfYear = yearDropdownItemNumber || (scrollableYearDropdown ? 10 : 5);\n\n _this.state = {\n yearsList: generateYears(_this.props.year, noOfYear, _this.props.minDate, _this.props.maxDate)\n };\n return _this;\n }\n\n YearDropdownOptions.prototype.render = function render() {\n var dropdownClass = classnames({\n \"react-datepicker__year-dropdown\": true,\n \"react-datepicker__year-dropdown--scrollable\": this.props.scrollableYearDropdown\n });\n\n return React.createElement(\n \"div\",\n { className: dropdownClass },\n this.renderOptions()\n );\n };\n\n return YearDropdownOptions;\n}(React.Component);\n\nYearDropdownOptions.propTypes = {\n minDate: PropTypes.object,\n maxDate: PropTypes.object,\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableYearDropdown: PropTypes.bool,\n year: PropTypes.number.isRequired,\n yearDropdownItemNumber: PropTypes.number\n};\n\nvar dayOfWeekCodes = {\n 1: \"mon\",\n 2: \"tue\",\n 3: \"wed\",\n 4: \"thu\",\n 5: \"fri\",\n 6: \"sat\",\n 7: \"sun\"\n};\n\n// These functions are not exported so\n// that we avoid magic strings like 'days'\nfunction set$1(date, unit, to) {\n return date.set(unit, to);\n}\n\nfunction add(date, amount, unit) {\n return date.add(amount, unit);\n}\n\nfunction subtract(date, amount, unit) {\n return date.subtract(amount, unit);\n}\n\nfunction get$1(date, unit) {\n return date.get(unit);\n}\n\nfunction getStartOf(date, unit) {\n return date.startOf(unit);\n}\n\n// ** Date Constructors **\n\nfunction newDate(point) {\n return moment(point);\n}\n\nfunction newDateWithOffset(utcOffset) {\n return moment().utc().utcOffset(utcOffset);\n}\n\nfunction now(maybeFixedUtcOffset) {\n if (maybeFixedUtcOffset == null) {\n return newDate();\n }\n return newDateWithOffset(maybeFixedUtcOffset);\n}\n\nfunction cloneDate(date) {\n return date.clone();\n}\n\nfunction parseDate(value, _ref) {\n var dateFormat = _ref.dateFormat,\n locale = _ref.locale;\n\n var m = moment(value, dateFormat, locale || moment.locale(), true);\n return m.isValid() ? m : null;\n}\n\n// ** Date \"Reflection\" **\n\nfunction isMoment(date) {\n return moment.isMoment(date);\n}\n\nfunction isDate(date) {\n return moment.isDate(date);\n}\n\n// ** Date Formatting **\n\nfunction formatDate(date, format) {\n return date.format(format);\n}\n\nfunction safeDateFormat(date, _ref2) {\n var dateFormat = _ref2.dateFormat,\n locale = _ref2.locale;\n\n return date && date.clone().locale(locale || moment.locale()).format(Array.isArray(dateFormat) ? dateFormat[0] : dateFormat) || \"\";\n}\n\n// ** Date Setters **\n\nfunction setTime(date, _ref3) {\n var hour = _ref3.hour,\n minute = _ref3.minute,\n second = _ref3.second;\n\n date.set({ hour: hour, minute: minute, second: second });\n return date;\n}\n\nfunction setMonth(date, month) {\n return set$1(date, \"month\", month);\n}\n\nfunction setYear(date, year) {\n return set$1(date, \"year\", year);\n}\n\n\n\n// ** Date Getters **\n\nfunction getSecond(date) {\n return get$1(date, \"second\");\n}\n\nfunction getMinute(date) {\n return get$1(date, \"minute\");\n}\n\nfunction getHour(date) {\n return get$1(date, \"hour\");\n}\n\n// Returns day of week\nfunction getDay(date) {\n return get$1(date, \"day\");\n}\n\nfunction getWeek(date) {\n return get$1(date, \"week\");\n}\n\nfunction getMonth(date) {\n return get$1(date, \"month\");\n}\n\nfunction getYear(date) {\n return get$1(date, \"year\");\n}\n\n// Returns day of month\nfunction getDate(date) {\n return get$1(date, \"date\");\n}\n\n\n\nfunction getDayOfWeekCode(day) {\n return dayOfWeekCodes[day.isoWeekday()];\n}\n\n// *** Start of ***\n\nfunction getStartOfDay(date) {\n return getStartOf(date, \"day\");\n}\n\nfunction getStartOfWeek(date) {\n return getStartOf(date, \"week\");\n}\nfunction getStartOfMonth(date) {\n return getStartOf(date, \"month\");\n}\n\nfunction getStartOfDate(date) {\n return getStartOf(date, \"date\");\n}\n\n// *** End of ***\n\n\n\n\n\n// ** Date Math **\n\n// *** Addition ***\n\nfunction addMinutes(date, amount) {\n return add(date, amount, \"minutes\");\n}\n\nfunction addHours(date, amount) {\n return add(date, amount, \"hours\");\n}\n\nfunction addDays(date, amount) {\n return add(date, amount, \"days\");\n}\n\nfunction addWeeks(date, amount) {\n return add(date, amount, \"weeks\");\n}\n\nfunction addMonths(date, amount) {\n return add(date, amount, \"months\");\n}\n\nfunction addYears(date, amount) {\n return add(date, amount, \"years\");\n}\n\n// *** Subtraction ***\nfunction subtractDays(date, amount) {\n return subtract(date, amount, \"days\");\n}\n\nfunction subtractWeeks(date, amount) {\n return subtract(date, amount, \"weeks\");\n}\n\nfunction subtractMonths(date, amount) {\n return subtract(date, amount, \"months\");\n}\n\nfunction subtractYears(date, amount) {\n return subtract(date, amount, \"years\");\n}\n\n// ** Date Comparison **\n\nfunction isBefore(date1, date2) {\n return date1.isBefore(date2);\n}\n\nfunction isAfter(date1, date2) {\n return date1.isAfter(date2);\n}\n\nfunction equals(date1, date2) {\n return date1.isSame(date2);\n}\n\nfunction isSameYear(date1, date2) {\n if (date1 && date2) {\n return date1.isSame(date2, \"year\");\n } else {\n return !date1 && !date2;\n }\n}\n\nfunction isSameMonth(date1, date2) {\n if (date1 && date2) {\n return date1.isSame(date2, \"month\");\n } else {\n return !date1 && !date2;\n }\n}\n\nfunction isSameDay(moment1, moment2) {\n if (moment1 && moment2) {\n return moment1.isSame(moment2, \"day\");\n } else {\n return !moment1 && !moment2;\n }\n}\n\n\n\nfunction isDayInRange(day, startDate, endDate) {\n var before = startDate.clone().startOf(\"day\").subtract(1, \"seconds\");\n var after = endDate.clone().startOf(\"day\").add(1, \"seconds\");\n return day.clone().startOf(\"day\").isBetween(before, after);\n}\n\n// *** Diffing ***\n\n\n\n// ** Date Localization **\n\nfunction localizeDate(date, locale) {\n return date.clone().locale(locale || moment.locale());\n}\n\n\n\n\n\n\n\nfunction getLocaleData(date) {\n return date.localeData();\n}\n\nfunction getLocaleDataForLocale(locale) {\n return moment.localeData(locale);\n}\n\nfunction getFormattedWeekdayInLocale(locale, date, formatFunc) {\n return formatFunc(locale.weekdays(date));\n}\n\nfunction getWeekdayMinInLocale(locale, date) {\n return locale.weekdaysMin(date);\n}\n\nfunction getWeekdayShortInLocale(locale, date) {\n return locale.weekdaysShort(date);\n}\n\n// TODO what is this format exactly?\nfunction getMonthInLocale(locale, date, format) {\n return locale.months(date, format);\n}\n\nfunction getMonthShortInLocale(locale, date) {\n return locale.monthsShort(date);\n}\n\n// ** Utils for some components **\n\nfunction isDayDisabled(day) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n minDate = _ref4.minDate,\n maxDate = _ref4.maxDate,\n excludeDates = _ref4.excludeDates,\n includeDates = _ref4.includeDates,\n filterDate = _ref4.filterDate;\n\n return minDate && day.isBefore(minDate, \"day\") || maxDate && day.isAfter(maxDate, \"day\") || excludeDates && excludeDates.some(function (excludeDate) {\n return isSameDay(day, excludeDate);\n }) || includeDates && !includeDates.some(function (includeDate) {\n return isSameDay(day, includeDate);\n }) || filterDate && !filterDate(day.clone()) || false;\n}\n\nfunction isOutOfBounds(day) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n minDate = _ref5.minDate,\n maxDate = _ref5.maxDate;\n\n return minDate && day.isBefore(minDate, \"day\") || maxDate && day.isAfter(maxDate, \"day\");\n}\n\nfunction isTimeDisabled(time, disabledTimes) {\n var l = disabledTimes.length;\n for (var i = 0; i < l; i++) {\n if (disabledTimes[i].get(\"hours\") === time.get(\"hours\") && disabledTimes[i].get(\"minutes\") === time.get(\"minutes\")) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction isTimeInDisabledRange(time, _ref6) {\n var minTime = _ref6.minTime,\n maxTime = _ref6.maxTime;\n\n if (!minTime || !maxTime) {\n throw new Error(\"Both minTime and maxTime props required\");\n }\n\n var base = moment().hours(0).minutes(0).seconds(0);\n var baseTime = base.clone().hours(time.get(\"hours\")).minutes(time.get(\"minutes\"));\n var min = base.clone().hours(minTime.get(\"hours\")).minutes(minTime.get(\"minutes\"));\n var max = base.clone().hours(maxTime.get(\"hours\")).minutes(maxTime.get(\"minutes\"));\n\n return !(baseTime.isSameOrAfter(min) && baseTime.isSameOrBefore(max));\n}\n\nfunction allDaysDisabledBefore(day, unit) {\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n minDate = _ref7.minDate,\n includeDates = _ref7.includeDates;\n\n var dateBefore = day.clone().subtract(1, unit);\n return minDate && dateBefore.isBefore(minDate, unit) || includeDates && includeDates.every(function (includeDate) {\n return dateBefore.isBefore(includeDate, unit);\n }) || false;\n}\n\nfunction allDaysDisabledAfter(day, unit) {\n var _ref8 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n maxDate = _ref8.maxDate,\n includeDates = _ref8.includeDates;\n\n var dateAfter = day.clone().add(1, unit);\n return maxDate && dateAfter.isAfter(maxDate, unit) || includeDates && includeDates.every(function (includeDate) {\n return dateAfter.isAfter(includeDate, unit);\n }) || false;\n}\n\nfunction getEffectiveMinDate(_ref9) {\n var minDate = _ref9.minDate,\n includeDates = _ref9.includeDates;\n\n if (includeDates && minDate) {\n return moment.min(includeDates.filter(function (includeDate) {\n return minDate.isSameOrBefore(includeDate, \"day\");\n }));\n } else if (includeDates) {\n return moment.min(includeDates);\n } else {\n return minDate;\n }\n}\n\nfunction getEffectiveMaxDate(_ref10) {\n var maxDate = _ref10.maxDate,\n includeDates = _ref10.includeDates;\n\n if (includeDates && maxDate) {\n return moment.max(includeDates.filter(function (includeDate) {\n return maxDate.isSameOrAfter(includeDate, \"day\");\n }));\n } else if (includeDates) {\n return moment.max(includeDates);\n } else {\n return maxDate;\n }\n}\n\nfunction getHightLightDaysMap() {\n var highlightDates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var defaultClassName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"react-datepicker__day--highlighted\";\n\n var dateClasses = new Map();\n for (var i = 0, len = highlightDates.length; i < len; i++) {\n var obj = highlightDates[i];\n if (isMoment(obj)) {\n var key = obj.format(\"MM.DD.YYYY\");\n var classNamesArr = dateClasses.get(key) || [];\n if (!classNamesArr.includes(defaultClassName)) {\n classNamesArr.push(defaultClassName);\n dateClasses.set(key, classNamesArr);\n }\n } else if ((typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\") {\n var keys = Object.keys(obj);\n var className = keys[0];\n var arrOfMoments = obj[keys[0]];\n if (typeof className === \"string\" && arrOfMoments.constructor === Array) {\n for (var k = 0, _len = arrOfMoments.length; k < _len; k++) {\n var _key = arrOfMoments[k].format(\"MM.DD.YYYY\");\n var _classNamesArr = dateClasses.get(_key) || [];\n if (!_classNamesArr.includes(className)) {\n _classNamesArr.push(className);\n dateClasses.set(_key, _classNamesArr);\n }\n }\n }\n }\n }\n\n return dateClasses;\n}\n\nfunction timesToInjectAfter(startOfDay, currentTime, currentMultiplier, intervals, injectedTimes) {\n var l = injectedTimes.length;\n var times = [];\n for (var i = 0; i < l; i++) {\n var injectedTime = addMinutes(addHours(cloneDate(startOfDay), getHour(injectedTimes[i])), getMinute(injectedTimes[i]));\n var nextTime = addMinutes(cloneDate(startOfDay), (currentMultiplier + 1) * intervals);\n\n if (injectedTime.isBetween(currentTime, nextTime)) {\n times.push(injectedTimes[i]);\n }\n }\n\n return times;\n}\n\nvar WrappedYearDropdownOptions = onClickOutside(YearDropdownOptions);\n\nvar YearDropdown = function (_React$Component) {\n inherits(YearDropdown, _React$Component);\n\n function YearDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, YearDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function () {\n var minYear = _this.props.minDate ? getYear(_this.props.minDate) : 1900;\n var maxYear = _this.props.maxDate ? getYear(_this.props.maxDate) : 2100;\n\n var options = [];\n for (var i = minYear; i <= maxYear; i++) {\n options.push(React.createElement(\n \"option\",\n { key: i, value: i },\n i\n ));\n }\n return options;\n }, _this.onSelectChange = function (e) {\n _this.onChange(e.target.value);\n }, _this.renderSelectMode = function () {\n return React.createElement(\n \"select\",\n {\n value: _this.props.year,\n className: \"react-datepicker__year-select\",\n onChange: _this.onSelectChange\n },\n _this.renderSelectOptions()\n );\n }, _this.renderReadView = function (visible) {\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__year-read-view\",\n onClick: function onClick(event) {\n return _this.toggleDropdown(event);\n }\n },\n React.createElement(\"span\", { className: \"react-datepicker__year-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__year-read-view--selected-year\" },\n _this.props.year\n )\n );\n }, _this.renderDropdown = function () {\n return React.createElement(WrappedYearDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n year: _this.props.year,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber\n });\n }, _this.renderScrollMode = function () {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown());\n }\n return result;\n }, _this.onChange = function (year) {\n _this.toggleDropdown();\n if (year === _this.props.year) return;\n _this.props.onChange(year);\n }, _this.toggleDropdown = function (event) {\n _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n }, function () {\n if (_this.props.adjustDateOnChange) {\n _this.handleYearChange(_this.props.date, event);\n }\n });\n }, _this.handleYearChange = function (date, event) {\n _this.onSelect(date, event);\n _this.setOpen();\n }, _this.onSelect = function (date, event) {\n if (_this.props.onSelect) {\n _this.props.onSelect(date, event);\n }\n }, _this.setOpen = function () {\n if (_this.props.setOpen) {\n _this.props.setOpen(true);\n }\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n YearDropdown.prototype.render = function render() {\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode();\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode();\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-dropdown-container react-datepicker__year-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return YearDropdown;\n}(React.Component);\n\nYearDropdown.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n scrollableYearDropdown: PropTypes.bool,\n year: PropTypes.number.isRequired,\n yearDropdownItemNumber: PropTypes.number,\n date: PropTypes.object,\n onSelect: PropTypes.func,\n setOpen: PropTypes.func\n};\n\nvar MonthDropdownOptions = function (_React$Component) {\n inherits(MonthDropdownOptions, _React$Component);\n\n function MonthDropdownOptions() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthDropdownOptions);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.renderOptions = function () {\n return _this.props.monthNames.map(function (month, i) {\n return React.createElement(\n \"div\",\n {\n className: _this.props.month === i ? \"react-datepicker__month-option --selected_month\" : \"react-datepicker__month-option\",\n key: month,\n ref: month,\n onClick: _this.onChange.bind(_this, i)\n },\n _this.props.month === i ? React.createElement(\n \"span\",\n { className: \"react-datepicker__month-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n month\n );\n });\n }, _this.onChange = function (month) {\n return _this.props.onChange(month);\n }, _this.handleClickOutside = function () {\n return _this.props.onCancel();\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthDropdownOptions.prototype.render = function render() {\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__month-dropdown\" },\n this.renderOptions()\n );\n };\n\n return MonthDropdownOptions;\n}(React.Component);\n\nMonthDropdownOptions.propTypes = {\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n month: PropTypes.number.isRequired,\n monthNames: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired\n};\n\nvar WrappedMonthDropdownOptions = onClickOutside(MonthDropdownOptions);\n\nvar MonthDropdown = function (_React$Component) {\n inherits(MonthDropdown, _React$Component);\n\n function MonthDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function (monthNames) {\n return monthNames.map(function (M, i) {\n return React.createElement(\n \"option\",\n { key: i, value: i },\n M\n );\n });\n }, _this.renderSelectMode = function (monthNames) {\n return React.createElement(\n \"select\",\n {\n value: _this.props.month,\n className: \"react-datepicker__month-select\",\n onChange: function onChange(e) {\n return _this.onChange(e.target.value);\n }\n },\n _this.renderSelectOptions(monthNames)\n );\n }, _this.renderReadView = function (visible, monthNames) {\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__month-read-view\",\n onClick: _this.toggleDropdown\n },\n React.createElement(\"span\", { className: \"react-datepicker__month-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__month-read-view--selected-month\" },\n monthNames[_this.props.month]\n )\n );\n }, _this.renderDropdown = function (monthNames) {\n return React.createElement(WrappedMonthDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n month: _this.props.month,\n monthNames: monthNames,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown\n });\n }, _this.renderScrollMode = function (monthNames) {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible, monthNames)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown(monthNames));\n }\n return result;\n }, _this.onChange = function (month) {\n _this.toggleDropdown();\n if (month !== _this.props.month) {\n _this.props.onChange(month);\n }\n }, _this.toggleDropdown = function () {\n return _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthDropdown.prototype.render = function render() {\n var _this2 = this;\n\n var localeData = getLocaleDataForLocale(this.props.locale);\n var monthNames = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(this.props.useShortMonthInDropdown ? function (M) {\n return getMonthShortInLocale(localeData, newDate({ M: M }));\n } : function (M) {\n return getMonthInLocale(localeData, newDate({ M: M }), _this2.props.dateFormat);\n });\n\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode(monthNames);\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode(monthNames);\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__month-dropdown-container react-datepicker__month-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return MonthDropdown;\n}(React.Component);\n\nMonthDropdown.propTypes = {\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n locale: PropTypes.string,\n dateFormat: PropTypes.string.isRequired,\n month: PropTypes.number.isRequired,\n onChange: PropTypes.func.isRequired,\n useShortMonthInDropdown: PropTypes.bool\n};\n\nfunction generateMonthYears(minDate, maxDate) {\n var list = [];\n\n var currDate = getStartOfMonth(cloneDate(minDate));\n var lastDate = getStartOfMonth(cloneDate(maxDate));\n\n while (!isAfter(currDate, lastDate)) {\n list.push(cloneDate(currDate));\n\n addMonths(currDate, 1);\n }\n\n return list;\n}\n\nvar MonthYearDropdownOptions = function (_React$Component) {\n inherits(MonthYearDropdownOptions, _React$Component);\n\n function MonthYearDropdownOptions(props) {\n classCallCheck(this, MonthYearDropdownOptions);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.renderOptions = function () {\n return _this.state.monthYearsList.map(function (monthYear) {\n var monthYearPoint = monthYear.valueOf();\n\n var isSameMonthYear = isSameYear(_this.props.date, monthYear) && isSameMonth(_this.props.date, monthYear);\n\n return React.createElement(\n \"div\",\n {\n className: isSameMonthYear ? \"react-datepicker__month-year-option --selected_month-year\" : \"react-datepicker__month-year-option\",\n key: monthYearPoint,\n ref: monthYearPoint,\n onClick: _this.onChange.bind(_this, monthYearPoint)\n },\n isSameMonthYear ? React.createElement(\n \"span\",\n { className: \"react-datepicker__month-year-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n formatDate(monthYear, _this.props.dateFormat)\n );\n });\n };\n\n _this.onChange = function (monthYear) {\n return _this.props.onChange(monthYear);\n };\n\n _this.handleClickOutside = function () {\n _this.props.onCancel();\n };\n\n _this.state = {\n monthYearsList: generateMonthYears(_this.props.minDate, _this.props.maxDate)\n };\n return _this;\n }\n\n MonthYearDropdownOptions.prototype.render = function render() {\n var dropdownClass = classnames({\n \"react-datepicker__month-year-dropdown\": true,\n \"react-datepicker__month-year-dropdown--scrollable\": this.props.scrollableMonthYearDropdown\n });\n\n return React.createElement(\n \"div\",\n { className: dropdownClass },\n this.renderOptions()\n );\n };\n\n return MonthYearDropdownOptions;\n}(React.Component);\n\nMonthYearDropdownOptions.propTypes = {\n minDate: PropTypes.object.isRequired,\n maxDate: PropTypes.object.isRequired,\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableMonthYearDropdown: PropTypes.bool,\n date: PropTypes.object.isRequired,\n dateFormat: PropTypes.string.isRequired\n};\n\nvar WrappedMonthYearDropdownOptions = onClickOutside(MonthYearDropdownOptions);\n\nvar MonthYearDropdown = function (_React$Component) {\n inherits(MonthYearDropdown, _React$Component);\n\n function MonthYearDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthYearDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function () {\n var currDate = getStartOfMonth(localizeDate(_this.props.minDate, _this.props.locale));\n var lastDate = getStartOfMonth(localizeDate(_this.props.maxDate, _this.props.locale));\n\n var options = [];\n\n while (!isAfter(currDate, lastDate)) {\n var timepoint = currDate.valueOf();\n options.push(React.createElement(\n \"option\",\n { key: timepoint, value: timepoint },\n formatDate(currDate, _this.props.dateFormat)\n ));\n\n addMonths(currDate, 1);\n }\n\n return options;\n }, _this.onSelectChange = function (e) {\n _this.onChange(e.target.value);\n }, _this.renderSelectMode = function () {\n return React.createElement(\n \"select\",\n {\n value: getStartOfMonth(_this.props.date).valueOf(),\n className: \"react-datepicker__month-year-select\",\n onChange: _this.onSelectChange\n },\n _this.renderSelectOptions()\n );\n }, _this.renderReadView = function (visible) {\n var yearMonth = formatDate(localizeDate(newDate(_this.props.date), _this.props.locale), _this.props.dateFormat);\n\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__month-year-read-view\",\n onClick: function onClick(event) {\n return _this.toggleDropdown(event);\n }\n },\n React.createElement(\"span\", { className: \"react-datepicker__month-year-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__month-year-read-view--selected-month-year\" },\n yearMonth\n )\n );\n }, _this.renderDropdown = function () {\n return React.createElement(WrappedMonthYearDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n date: _this.props.date,\n dateFormat: _this.props.dateFormat,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown,\n minDate: localizeDate(_this.props.minDate, _this.props.locale),\n maxDate: localizeDate(_this.props.maxDate, _this.props.locale),\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown\n });\n }, _this.renderScrollMode = function () {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown());\n }\n return result;\n }, _this.onChange = function (monthYearPoint) {\n _this.toggleDropdown();\n\n var changedDate = newDate(parseInt(monthYearPoint));\n\n if (isSameYear(_this.props.date, changedDate) && isSameMonth(_this.props.date, changedDate)) {\n return;\n }\n\n _this.props.onChange(changedDate);\n }, _this.toggleDropdown = function () {\n return _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthYearDropdown.prototype.render = function render() {\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode();\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode();\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__month-year-dropdown-container react-datepicker__month-year-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return MonthYearDropdown;\n}(React.Component);\n\nMonthYearDropdown.propTypes = {\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n dateFormat: PropTypes.string.isRequired,\n locale: PropTypes.string,\n maxDate: PropTypes.object.isRequired,\n minDate: PropTypes.object.isRequired,\n date: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableMonthYearDropdown: PropTypes.bool\n};\n\nvar Day = function (_React$Component) {\n inherits(Day, _React$Component);\n\n function Day() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Day);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (!_this.isDisabled() && _this.props.onClick) {\n _this.props.onClick(event);\n }\n }, _this.handleMouseEnter = function (event) {\n if (!_this.isDisabled() && _this.props.onMouseEnter) {\n _this.props.onMouseEnter(event);\n }\n }, _this.isSameDay = function (other) {\n return isSameDay(_this.props.day, other);\n }, _this.isKeyboardSelected = function () {\n return !_this.props.disabledKeyboardNavigation && !_this.props.inline && !_this.isSameDay(_this.props.selected) && _this.isSameDay(_this.props.preSelection);\n }, _this.isDisabled = function () {\n return isDayDisabled(_this.props.day, _this.props);\n }, _this.getHighLightedClass = function (defaultClassName) {\n var _this$props = _this.props,\n day = _this$props.day,\n highlightDates = _this$props.highlightDates;\n\n\n if (!highlightDates) {\n return false;\n }\n\n // Looking for className in the Map of {'day string, 'className'}\n var dayStr = day.format(\"MM.DD.YYYY\");\n return highlightDates.get(dayStr);\n }, _this.isInRange = function () {\n var _this$props2 = _this.props,\n day = _this$props2.day,\n startDate = _this$props2.startDate,\n endDate = _this$props2.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isDayInRange(day, startDate, endDate);\n }, _this.isInSelectingRange = function () {\n var _this$props3 = _this.props,\n day = _this$props3.day,\n selectsStart = _this$props3.selectsStart,\n selectsEnd = _this$props3.selectsEnd,\n selectingDate = _this$props3.selectingDate,\n startDate = _this$props3.startDate,\n endDate = _this$props3.endDate;\n\n\n if (!(selectsStart || selectsEnd) || !selectingDate || _this.isDisabled()) {\n return false;\n }\n\n if (selectsStart && endDate && selectingDate.isSameOrBefore(endDate)) {\n return isDayInRange(day, selectingDate, endDate);\n }\n\n if (selectsEnd && startDate && selectingDate.isSameOrAfter(startDate)) {\n return isDayInRange(day, startDate, selectingDate);\n }\n\n return false;\n }, _this.isSelectingRangeStart = function () {\n if (!_this.isInSelectingRange()) {\n return false;\n }\n\n var _this$props4 = _this.props,\n day = _this$props4.day,\n selectingDate = _this$props4.selectingDate,\n startDate = _this$props4.startDate,\n selectsStart = _this$props4.selectsStart;\n\n\n if (selectsStart) {\n return isSameDay(day, selectingDate);\n } else {\n return isSameDay(day, startDate);\n }\n }, _this.isSelectingRangeEnd = function () {\n if (!_this.isInSelectingRange()) {\n return false;\n }\n\n var _this$props5 = _this.props,\n day = _this$props5.day,\n selectingDate = _this$props5.selectingDate,\n endDate = _this$props5.endDate,\n selectsEnd = _this$props5.selectsEnd;\n\n\n if (selectsEnd) {\n return isSameDay(day, selectingDate);\n } else {\n return isSameDay(day, endDate);\n }\n }, _this.isRangeStart = function () {\n var _this$props6 = _this.props,\n day = _this$props6.day,\n startDate = _this$props6.startDate,\n endDate = _this$props6.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isSameDay(startDate, day);\n }, _this.isRangeEnd = function () {\n var _this$props7 = _this.props,\n day = _this$props7.day,\n startDate = _this$props7.startDate,\n endDate = _this$props7.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isSameDay(endDate, day);\n }, _this.isWeekend = function () {\n var weekday = getDay(_this.props.day);\n return weekday === 0 || weekday === 6;\n }, _this.isOutsideMonth = function () {\n return _this.props.month !== undefined && _this.props.month !== getMonth(_this.props.day);\n }, _this.getClassNames = function (date) {\n var dayClassName = _this.props.dayClassName ? _this.props.dayClassName(date) : undefined;\n return classnames(\"react-datepicker__day\", dayClassName, \"react-datepicker__day--\" + getDayOfWeekCode(_this.props.day), {\n \"react-datepicker__day--disabled\": _this.isDisabled(),\n \"react-datepicker__day--selected\": _this.isSameDay(_this.props.selected),\n \"react-datepicker__day--keyboard-selected\": _this.isKeyboardSelected(),\n \"react-datepicker__day--range-start\": _this.isRangeStart(),\n \"react-datepicker__day--range-end\": _this.isRangeEnd(),\n \"react-datepicker__day--in-range\": _this.isInRange(),\n \"react-datepicker__day--in-selecting-range\": _this.isInSelectingRange(),\n \"react-datepicker__day--selecting-range-start\": _this.isSelectingRangeStart(),\n \"react-datepicker__day--selecting-range-end\": _this.isSelectingRangeEnd(),\n \"react-datepicker__day--today\": _this.isSameDay(now(_this.props.utcOffset)),\n \"react-datepicker__day--weekend\": _this.isWeekend(),\n \"react-datepicker__day--outside-month\": _this.isOutsideMonth()\n }, _this.getHighLightedClass(\"react-datepicker__day--highlighted\"));\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Day.prototype.render = function render() {\n return React.createElement(\n \"div\",\n {\n className: this.getClassNames(this.props.day),\n onClick: this.handleClick,\n onMouseEnter: this.handleMouseEnter,\n \"aria-label\": \"day-\" + getDate(this.props.day),\n role: \"option\"\n },\n this.props.renderDayContents ? this.props.renderDayContents(getDate(this.props.day)) : getDate(this.props.day)\n );\n };\n\n return Day;\n}(React.Component);\n\nDay.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n highlightDates: PropTypes.instanceOf(Map),\n inline: PropTypes.bool,\n month: PropTypes.number,\n onClick: PropTypes.func,\n onMouseEnter: PropTypes.func,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar WeekNumber = function (_React$Component) {\n inherits(WeekNumber, _React$Component);\n\n function WeekNumber() {\n var _temp, _this, _ret;\n\n classCallCheck(this, WeekNumber);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (_this.props.onClick) {\n _this.props.onClick(event);\n }\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n WeekNumber.prototype.render = function render() {\n var weekNumberClasses = {\n \"react-datepicker__week-number\": true,\n \"react-datepicker__week-number--clickable\": !!this.props.onClick\n };\n return React.createElement(\n \"div\",\n {\n className: classnames(weekNumberClasses),\n \"aria-label\": \"week-\" + this.props.weekNumber,\n onClick: this.handleClick\n },\n this.props.weekNumber\n );\n };\n\n return WeekNumber;\n}(React.Component);\n\nWeekNumber.propTypes = {\n weekNumber: PropTypes.number.isRequired,\n onClick: PropTypes.func\n};\n\nvar Week = function (_React$Component) {\n inherits(Week, _React$Component);\n\n function Week() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Week);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleDayClick = function (day, event) {\n if (_this.props.onDayClick) {\n _this.props.onDayClick(day, event);\n }\n }, _this.handleDayMouseEnter = function (day) {\n if (_this.props.onDayMouseEnter) {\n _this.props.onDayMouseEnter(day);\n }\n }, _this.handleWeekClick = function (day, weekNumber, event) {\n if (typeof _this.props.onWeekSelect === \"function\") {\n _this.props.onWeekSelect(day, weekNumber, event);\n }\n }, _this.formatWeekNumber = function (startOfWeek) {\n if (_this.props.formatWeekNumber) {\n return _this.props.formatWeekNumber(startOfWeek);\n }\n return getWeek(startOfWeek);\n }, _this.renderDays = function () {\n var startOfWeek = getStartOfWeek(cloneDate(_this.props.day));\n var days = [];\n var weekNumber = _this.formatWeekNumber(startOfWeek);\n if (_this.props.showWeekNumber) {\n var onClickAction = _this.props.onWeekSelect ? _this.handleWeekClick.bind(_this, startOfWeek, weekNumber) : undefined;\n days.push(React.createElement(WeekNumber, { key: \"W\", weekNumber: weekNumber, onClick: onClickAction }));\n }\n return days.concat([0, 1, 2, 3, 4, 5, 6].map(function (offset) {\n var day = addDays(cloneDate(startOfWeek), offset);\n return React.createElement(Day, {\n key: offset,\n day: day,\n month: _this.props.month,\n onClick: _this.handleDayClick.bind(_this, day),\n onMouseEnter: _this.handleDayMouseEnter.bind(_this, day),\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.props.selectingDate,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n dayClassName: _this.props.dayClassName,\n utcOffset: _this.props.utcOffset,\n renderDayContents: _this.props.renderDayContents,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation\n });\n }));\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Week.prototype.render = function render() {\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__week\" },\n this.renderDays()\n );\n };\n\n return Week;\n}(React.Component);\n\nWeek.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n inline: PropTypes.bool,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n month: PropTypes.number,\n onDayClick: PropTypes.func,\n onDayMouseEnter: PropTypes.func,\n onWeekSelect: PropTypes.func,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showWeekNumber: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar FIXED_HEIGHT_STANDARD_WEEK_COUNT = 6;\n\nvar Month = function (_React$Component) {\n inherits(Month, _React$Component);\n\n function Month() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Month);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleDayClick = function (day, event) {\n if (_this.props.onDayClick) {\n _this.props.onDayClick(day, event);\n }\n }, _this.handleDayMouseEnter = function (day) {\n if (_this.props.onDayMouseEnter) {\n _this.props.onDayMouseEnter(day);\n }\n }, _this.handleMouseLeave = function () {\n if (_this.props.onMouseLeave) {\n _this.props.onMouseLeave();\n }\n }, _this.isWeekInMonth = function (startOfWeek) {\n var day = _this.props.day;\n var endOfWeek = addDays(cloneDate(startOfWeek), 6);\n return isSameMonth(startOfWeek, day) || isSameMonth(endOfWeek, day);\n }, _this.renderWeeks = function () {\n var weeks = [];\n var isFixedHeight = _this.props.fixedHeight;\n var currentWeekStart = getStartOfWeek(getStartOfMonth(cloneDate(_this.props.day)));\n var i = 0;\n var breakAfterNextPush = false;\n\n while (true) {\n weeks.push(React.createElement(Week, {\n key: i,\n day: currentWeekStart,\n month: getMonth(_this.props.day),\n onDayClick: _this.handleDayClick,\n onDayMouseEnter: _this.handleDayMouseEnter,\n onWeekSelect: _this.props.onWeekSelect,\n formatWeekNumber: _this.props.formatWeekNumber,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.props.selectingDate,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n showWeekNumber: _this.props.showWeekNumbers,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n dayClassName: _this.props.dayClassName,\n utcOffset: _this.props.utcOffset,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation,\n renderDayContents: _this.props.renderDayContents\n }));\n\n if (breakAfterNextPush) break;\n\n i++;\n currentWeekStart = addWeeks(cloneDate(currentWeekStart), 1);\n\n // If one of these conditions is true, we will either break on this week\n // or break on the next week\n var isFixedAndFinalWeek = isFixedHeight && i >= FIXED_HEIGHT_STANDARD_WEEK_COUNT;\n var isNonFixedAndOutOfMonth = !isFixedHeight && !_this.isWeekInMonth(currentWeekStart);\n\n if (isFixedAndFinalWeek || isNonFixedAndOutOfMonth) {\n if (_this.props.peekNextMonth) {\n breakAfterNextPush = true;\n } else {\n break;\n }\n }\n }\n\n return weeks;\n }, _this.getClassNames = function () {\n var _this$props = _this.props,\n selectingDate = _this$props.selectingDate,\n selectsStart = _this$props.selectsStart,\n selectsEnd = _this$props.selectsEnd;\n\n return classnames(\"react-datepicker__month\", {\n \"react-datepicker__month--selecting-range\": selectingDate && (selectsStart || selectsEnd)\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Month.prototype.render = function render() {\n return React.createElement(\n \"div\",\n {\n className: this.getClassNames(),\n onMouseLeave: this.handleMouseLeave,\n role: \"listbox\",\n \"aria-label\": \"month-\" + this.props.day.format(\"YYYY-MM\")\n },\n this.renderWeeks()\n );\n };\n\n return Month;\n}(React.Component);\n\nMonth.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n inline: PropTypes.bool,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n onDayClick: PropTypes.func,\n onDayMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onWeekSelect: PropTypes.func,\n peekNextMonth: PropTypes.bool,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar Time = function (_React$Component) {\n inherits(Time, _React$Component);\n\n function Time() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Time);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (time) {\n if ((_this.props.minTime || _this.props.maxTime) && isTimeInDisabledRange(time, _this.props) || _this.props.excludeTimes && isTimeDisabled(time, _this.props.excludeTimes) || _this.props.includeTimes && !isTimeDisabled(time, _this.props.includeTimes)) {\n return;\n }\n\n _this.props.onChange(time);\n }, _this.liClasses = function (time, currH, currM) {\n var classes = [\"react-datepicker__time-list-item\"];\n\n if (currH === getHour(time) && currM === getMinute(time)) {\n classes.push(\"react-datepicker__time-list-item--selected\");\n }\n if ((_this.props.minTime || _this.props.maxTime) && isTimeInDisabledRange(time, _this.props) || _this.props.excludeTimes && isTimeDisabled(time, _this.props.excludeTimes) || _this.props.includeTimes && !isTimeDisabled(time, _this.props.includeTimes)) {\n classes.push(\"react-datepicker__time-list-item--disabled\");\n }\n if (_this.props.injectTimes && (getHour(time) * 60 + getMinute(time)) % _this.props.intervals !== 0) {\n classes.push(\"react-datepicker__time-list-item--injected\");\n }\n\n return classes.join(\" \");\n }, _this.renderTimes = function () {\n var times = [];\n var format = _this.props.format ? _this.props.format : \"hh:mm A\";\n var intervals = _this.props.intervals;\n var activeTime = _this.props.selected ? _this.props.selected : newDate();\n var currH = getHour(activeTime);\n var currM = getMinute(activeTime);\n var base = getStartOfDay(newDate());\n var multiplier = 1440 / intervals;\n var sortedInjectTimes = _this.props.injectTimes && _this.props.injectTimes.sort(function (a, b) {\n return a - b;\n });\n for (var i = 0; i < multiplier; i++) {\n var currentTime = addMinutes(cloneDate(base), i * intervals);\n times.push(currentTime);\n\n if (sortedInjectTimes) {\n var timesToInject = timesToInjectAfter(base, currentTime, i, intervals, sortedInjectTimes);\n times = times.concat(timesToInject);\n }\n }\n\n return times.map(function (time, i) {\n return React.createElement(\n \"li\",\n {\n key: i,\n onClick: _this.handleClick.bind(_this, time),\n className: _this.liClasses(time, currH, currM),\n ref: function ref(li) {\n if (currH === getHour(time) && currM === getMinute(time) || currH === getHour(time) && !_this.centerLi) {\n _this.centerLi = li;\n }\n }\n },\n formatDate(time, format)\n );\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Time.prototype.componentDidMount = function componentDidMount() {\n // code to ensure selected time will always be in focus within time window when it first appears\n this.list.scrollTop = Time.calcCenterPosition(this.props.monthRef ? this.props.monthRef.clientHeight - this.header.clientHeight : this.list.clientHeight, this.centerLi);\n };\n\n Time.prototype.render = function render() {\n var _this2 = this;\n\n var height = null;\n if (this.props.monthRef && this.header) {\n height = this.props.monthRef.clientHeight - this.header.clientHeight;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__time-container \" + (this.props.todayButton ? \"react-datepicker__time-container--with-today-button\" : \"\")\n },\n React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header react-datepicker__header--time\",\n ref: function ref(header) {\n _this2.header = header;\n }\n },\n React.createElement(\n \"div\",\n { className: \"react-datepicker-time__header\" },\n this.props.timeCaption\n )\n ),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__time\" },\n React.createElement(\n \"div\",\n { className: \"react-datepicker__time-box\" },\n React.createElement(\n \"ul\",\n {\n className: \"react-datepicker__time-list\",\n ref: function ref(list) {\n _this2.list = list;\n },\n style: height ? { height: height } : {}\n },\n this.renderTimes.bind(this)()\n )\n )\n )\n );\n };\n\n createClass(Time, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n intervals: 30,\n onTimeChange: function onTimeChange() {},\n todayButton: null,\n timeCaption: \"Time\"\n };\n }\n }]);\n return Time;\n}(React.Component);\n\nTime.propTypes = {\n format: PropTypes.string,\n includeTimes: PropTypes.array,\n intervals: PropTypes.number,\n selected: PropTypes.object,\n onChange: PropTypes.func,\n todayButton: PropTypes.node,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n monthRef: PropTypes.object,\n timeCaption: PropTypes.string,\n injectTimes: PropTypes.array\n};\n\nTime.calcCenterPosition = function (listHeight, centerLiRef) {\n return centerLiRef.offsetTop - (listHeight / 2 - centerLiRef.clientHeight / 2);\n};\n\nfunction CalendarContainer(_ref) {\n var className = _ref.className,\n children = _ref.children,\n _ref$arrowProps = _ref.arrowProps,\n arrowProps = _ref$arrowProps === undefined ? {} : _ref$arrowProps;\n\n return React.createElement(\n \"div\",\n { className: className },\n React.createElement(\"div\", _extends({ className: \"react-datepicker__triangle\" }, arrowProps)),\n children\n );\n}\n\nCalendarContainer.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node,\n arrowProps: PropTypes.object // react-popper arrow props\n};\n\nvar DROPDOWN_FOCUS_CLASSNAMES = [\"react-datepicker__year-select\", \"react-datepicker__month-select\", \"react-datepicker__month-year-select\"];\n\nvar isDropdownSelect = function isDropdownSelect() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var classNames = (element.className || \"\").split(/\\s+/);\n return DROPDOWN_FOCUS_CLASSNAMES.some(function (testClassname) {\n return classNames.indexOf(testClassname) >= 0;\n });\n};\n\nvar Calendar = function (_React$Component) {\n inherits(Calendar, _React$Component);\n createClass(Calendar, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n onDropdownFocus: function onDropdownFocus() {},\n monthsShown: 1,\n forceShowMonthNavigation: false,\n timeCaption: \"Time\",\n previousMonthButtonLabel: \"Previous Month\",\n nextMonthButtonLabel: \"Next Month\"\n };\n }\n }]);\n\n function Calendar(props) {\n classCallCheck(this, Calendar);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.handleClickOutside = function (event) {\n _this.props.onClickOutside(event);\n };\n\n _this.handleDropdownFocus = function (event) {\n if (isDropdownSelect(event.target)) {\n _this.props.onDropdownFocus();\n }\n };\n\n _this.getDateInView = function () {\n var _this$props = _this.props,\n preSelection = _this$props.preSelection,\n selected = _this$props.selected,\n openToDate = _this$props.openToDate,\n utcOffset = _this$props.utcOffset;\n\n var minDate = getEffectiveMinDate(_this.props);\n var maxDate = getEffectiveMaxDate(_this.props);\n var current = now(utcOffset);\n var initialDate = openToDate || selected || preSelection;\n if (initialDate) {\n return initialDate;\n } else {\n if (minDate && isBefore(current, minDate)) {\n return minDate;\n } else if (maxDate && isAfter(current, maxDate)) {\n return maxDate;\n }\n }\n return current;\n };\n\n _this.localizeDate = function (date) {\n return localizeDate(date, _this.props.locale);\n };\n\n _this.increaseMonth = function () {\n _this.setState({\n date: addMonths(cloneDate(_this.state.date), 1)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.decreaseMonth = function () {\n _this.setState({\n date: subtractMonths(cloneDate(_this.state.date), 1)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.handleDayClick = function (day, event) {\n return _this.props.onSelect(day, event);\n };\n\n _this.handleDayMouseEnter = function (day) {\n return _this.setState({ selectingDate: day });\n };\n\n _this.handleMonthMouseLeave = function () {\n return _this.setState({ selectingDate: null });\n };\n\n _this.handleYearChange = function (date) {\n if (_this.props.onYearChange) {\n _this.props.onYearChange(date);\n }\n };\n\n _this.handleMonthChange = function (date) {\n if (_this.props.onMonthChange) {\n _this.props.onMonthChange(date);\n }\n if (_this.props.adjustDateOnChange) {\n if (_this.props.onSelect) {\n _this.props.onSelect(date);\n }\n if (_this.props.setOpen) {\n _this.props.setOpen(true);\n }\n }\n };\n\n _this.handleMonthYearChange = function (date) {\n _this.handleYearChange(date);\n _this.handleMonthChange(date);\n };\n\n _this.changeYear = function (year) {\n _this.setState({\n date: setYear(cloneDate(_this.state.date), year)\n }, function () {\n return _this.handleYearChange(_this.state.date);\n });\n };\n\n _this.changeMonth = function (month) {\n _this.setState({\n date: setMonth(cloneDate(_this.state.date), month)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.changeMonthYear = function (monthYear) {\n _this.setState({\n date: setYear(setMonth(cloneDate(_this.state.date), getMonth(monthYear)), getYear(monthYear))\n }, function () {\n return _this.handleMonthYearChange(_this.state.date);\n });\n };\n\n _this.header = function () {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.state.date;\n\n var startOfWeek = getStartOfWeek(cloneDate(date));\n var dayNames = [];\n if (_this.props.showWeekNumbers) {\n dayNames.push(React.createElement(\n \"div\",\n { key: \"W\", className: \"react-datepicker__day-name\" },\n _this.props.weekLabel || \"#\"\n ));\n }\n return dayNames.concat([0, 1, 2, 3, 4, 5, 6].map(function (offset) {\n var day = addDays(cloneDate(startOfWeek), offset);\n var localeData = getLocaleData(day);\n var weekDayName = _this.formatWeekday(localeData, day);\n\n return React.createElement(\n \"div\",\n { key: offset, className: \"react-datepicker__day-name\" },\n weekDayName\n );\n }));\n };\n\n _this.formatWeekday = function (localeData, day) {\n if (_this.props.formatWeekDay) {\n return getFormattedWeekdayInLocale(localeData, day, _this.props.formatWeekDay);\n }\n return _this.props.useWeekdaysShort ? getWeekdayShortInLocale(localeData, day) : getWeekdayMinInLocale(localeData, day);\n };\n\n _this.renderPreviousMonthButton = function () {\n if (_this.props.renderCustomHeader) {\n return;\n }\n\n var allPrevDaysDisabled = allDaysDisabledBefore(_this.state.date, \"month\", _this.props);\n\n if (!_this.props.forceShowMonthNavigation && !_this.props.showDisabledMonthNavigation && allPrevDaysDisabled || _this.props.showTimeSelectOnly) {\n return;\n }\n\n var classes = [\"react-datepicker__navigation\", \"react-datepicker__navigation--previous\"];\n\n var clickHandler = _this.decreaseMonth;\n\n if (allPrevDaysDisabled && _this.props.showDisabledMonthNavigation) {\n classes.push(\"react-datepicker__navigation--previous--disabled\");\n clickHandler = null;\n }\n\n return React.createElement(\n \"button\",\n {\n type: \"button\",\n className: classes.join(\" \"),\n onClick: clickHandler\n },\n _this.props.previousMonthButtonLabel\n );\n };\n\n _this.renderNextMonthButton = function () {\n if (_this.props.renderCustomHeader) {\n return;\n }\n\n var allNextDaysDisabled = allDaysDisabledAfter(_this.state.date, \"month\", _this.props);\n\n if (!_this.props.forceShowMonthNavigation && !_this.props.showDisabledMonthNavigation && allNextDaysDisabled || _this.props.showTimeSelectOnly) {\n return;\n }\n\n var classes = [\"react-datepicker__navigation\", \"react-datepicker__navigation--next\"];\n if (_this.props.showTimeSelect) {\n classes.push(\"react-datepicker__navigation--next--with-time\");\n }\n if (_this.props.todayButton) {\n classes.push(\"react-datepicker__navigation--next--with-today-button\");\n }\n\n var clickHandler = _this.increaseMonth;\n\n if (allNextDaysDisabled && _this.props.showDisabledMonthNavigation) {\n classes.push(\"react-datepicker__navigation--next--disabled\");\n clickHandler = null;\n }\n\n return React.createElement(\n \"button\",\n {\n type: \"button\",\n className: classes.join(\" \"),\n onClick: clickHandler\n },\n _this.props.nextMonthButtonLabel\n );\n };\n\n _this.renderCurrentMonth = function () {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.state.date;\n\n var classes = [\"react-datepicker__current-month\"];\n\n if (_this.props.showYearDropdown) {\n classes.push(\"react-datepicker__current-month--hasYearDropdown\");\n }\n if (_this.props.showMonthDropdown) {\n classes.push(\"react-datepicker__current-month--hasMonthDropdown\");\n }\n if (_this.props.showMonthYearDropdown) {\n classes.push(\"react-datepicker__current-month--hasMonthYearDropdown\");\n }\n return React.createElement(\n \"div\",\n { className: classes.join(\" \") },\n formatDate(date, _this.props.dateFormat)\n );\n };\n\n _this.renderYearDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showYearDropdown || overrideHide) {\n return;\n }\n return React.createElement(YearDropdown, {\n adjustDateOnChange: _this.props.adjustDateOnChange,\n date: _this.state.date,\n onSelect: _this.props.onSelect,\n setOpen: _this.props.setOpen,\n dropdownMode: _this.props.dropdownMode,\n onChange: _this.changeYear,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n year: getYear(_this.state.date),\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber\n });\n };\n\n _this.renderMonthDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showMonthDropdown || overrideHide) {\n return;\n }\n return React.createElement(MonthDropdown, {\n dropdownMode: _this.props.dropdownMode,\n locale: _this.props.locale,\n dateFormat: _this.props.dateFormat,\n onChange: _this.changeMonth,\n month: getMonth(_this.state.date),\n useShortMonthInDropdown: _this.props.useShortMonthInDropdown\n });\n };\n\n _this.renderMonthYearDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showMonthYearDropdown || overrideHide) {\n return;\n }\n return React.createElement(MonthYearDropdown, {\n dropdownMode: _this.props.dropdownMode,\n locale: _this.props.locale,\n dateFormat: _this.props.dateFormat,\n onChange: _this.changeMonthYear,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n date: _this.state.date,\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown\n });\n };\n\n _this.renderTodayButton = function () {\n if (!_this.props.todayButton || _this.props.showTimeSelectOnly) {\n return;\n }\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__today-button\",\n onClick: function onClick(e) {\n return _this.props.onSelect(getStartOfDate(now(_this.props.utcOffset)), e);\n }\n },\n _this.props.todayButton\n );\n };\n\n _this.renderDefaultHeader = function (_ref) {\n var monthDate = _ref.monthDate,\n i = _ref.i;\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__header\" },\n _this.renderCurrentMonth(monthDate),\n React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header__dropdown react-datepicker__header__dropdown--\" + _this.props.dropdownMode,\n onFocus: _this.handleDropdownFocus\n },\n _this.renderMonthDropdown(i !== 0),\n _this.renderMonthYearDropdown(i !== 0),\n _this.renderYearDropdown(i !== 0)\n ),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__day-names\" },\n _this.header(monthDate)\n )\n );\n };\n\n _this.renderCustomHeader = function (_ref2) {\n var monthDate = _ref2.monthDate,\n i = _ref2.i;\n\n if (i !== 0) {\n return null;\n }\n\n var prevMonthButtonDisabled = allDaysDisabledBefore(_this.state.date, \"month\", _this.props);\n\n var nextMonthButtonDisabled = allDaysDisabledAfter(_this.state.date, \"month\", _this.props);\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header react-datepicker__header--custom\",\n onFocus: _this.props.onDropdownFocus\n },\n _this.props.renderCustomHeader(_extends({}, _this.state, {\n changeMonth: _this.changeMonth,\n changeYear: _this.changeYear,\n decreaseMonth: _this.decreaseMonth,\n increaseMonth: _this.increaseMonth,\n prevMonthButtonDisabled: prevMonthButtonDisabled,\n nextMonthButtonDisabled: nextMonthButtonDisabled\n })),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__day-names\" },\n _this.header(monthDate)\n )\n );\n };\n\n _this.renderMonths = function () {\n if (_this.props.showTimeSelectOnly) {\n return;\n }\n\n var monthList = [];\n for (var i = 0; i < _this.props.monthsShown; ++i) {\n var monthDate = addMonths(cloneDate(_this.state.date), i);\n var monthKey = \"month-\" + i;\n monthList.push(React.createElement(\n \"div\",\n {\n key: monthKey,\n ref: function ref(div) {\n _this.monthContainer = div;\n },\n className: \"react-datepicker__month-container\"\n },\n _this.props.renderCustomHeader ? _this.renderCustomHeader({ monthDate: monthDate, i: i }) : _this.renderDefaultHeader({ monthDate: monthDate, i: i }),\n React.createElement(Month, {\n day: monthDate,\n dayClassName: _this.props.dayClassName,\n onDayClick: _this.handleDayClick,\n onDayMouseEnter: _this.handleDayMouseEnter,\n onMouseLeave: _this.handleMonthMouseLeave,\n onWeekSelect: _this.props.onWeekSelect,\n formatWeekNumber: _this.props.formatWeekNumber,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.state.selectingDate,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n fixedHeight: _this.props.fixedHeight,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n showWeekNumbers: _this.props.showWeekNumbers,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n peekNextMonth: _this.props.peekNextMonth,\n utcOffset: _this.props.utcOffset,\n renderDayContents: _this.props.renderDayContents,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation\n })\n ));\n }\n return monthList;\n };\n\n _this.renderTimeSection = function () {\n if (_this.props.showTimeSelect && (_this.state.monthContainer || _this.props.showTimeSelectOnly)) {\n return React.createElement(Time, {\n selected: _this.props.selected,\n onChange: _this.props.onTimeChange,\n format: _this.props.timeFormat,\n includeTimes: _this.props.includeTimes,\n intervals: _this.props.timeIntervals,\n minTime: _this.props.minTime,\n maxTime: _this.props.maxTime,\n excludeTimes: _this.props.excludeTimes,\n timeCaption: _this.props.timeCaption,\n todayButton: _this.props.todayButton,\n showMonthDropdown: _this.props.showMonthDropdown,\n showMonthYearDropdown: _this.props.showMonthYearDropdown,\n showYearDropdown: _this.props.showYearDropdown,\n withPortal: _this.props.withPortal,\n monthRef: _this.state.monthContainer,\n injectTimes: _this.props.injectTimes\n });\n }\n };\n\n _this.state = {\n date: _this.localizeDate(_this.getDateInView()),\n selectingDate: null,\n monthContainer: null\n };\n return _this;\n }\n\n Calendar.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n // monthContainer height is needed in time component\n // to determine the height for the ul in the time component\n // setState here so height is given after final component\n // layout is rendered\n if (this.props.showTimeSelect) {\n this.assignMonthContainer = function () {\n _this2.setState({ monthContainer: _this2.monthContainer });\n }();\n }\n };\n\n Calendar.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.preSelection && !isSameDay(this.props.preSelection, prevProps.preSelection)) {\n this.setState({\n date: this.localizeDate(this.props.preSelection)\n });\n } else if (this.props.openToDate && !isSameDay(this.props.openToDate, prevProps.openToDate)) {\n this.setState({\n date: this.localizeDate(this.props.openToDate)\n });\n }\n };\n\n Calendar.prototype.render = function render() {\n var Container = this.props.container || CalendarContainer;\n\n return React.createElement(\n Container,\n {\n className: classnames(\"react-datepicker\", this.props.className, {\n \"react-datepicker--time-only\": this.props.showTimeSelectOnly\n })\n },\n this.renderPreviousMonthButton(),\n this.renderNextMonthButton(),\n this.renderMonths(),\n this.renderTodayButton(),\n this.renderTimeSection(),\n this.props.children\n );\n };\n\n return Calendar;\n}(React.Component);\n\nCalendar.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node,\n container: PropTypes.func,\n dateFormat: PropTypes.oneOfType([PropTypes.string, PropTypes.array]).isRequired,\n dayClassName: PropTypes.func,\n disabledKeyboardNavigation: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]),\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n includeTimes: PropTypes.array,\n injectTimes: PropTypes.array,\n inline: PropTypes.bool,\n locale: PropTypes.string,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n monthsShown: PropTypes.number,\n onClickOutside: PropTypes.func.isRequired,\n onMonthChange: PropTypes.func,\n onYearChange: PropTypes.func,\n forceShowMonthNavigation: PropTypes.bool,\n onDropdownFocus: PropTypes.func,\n onSelect: PropTypes.func.isRequired,\n onWeekSelect: PropTypes.func,\n showTimeSelect: PropTypes.bool,\n showTimeSelectOnly: PropTypes.bool,\n timeFormat: PropTypes.string,\n timeIntervals: PropTypes.number,\n onTimeChange: PropTypes.func,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n timeCaption: PropTypes.string,\n openToDate: PropTypes.object,\n peekNextMonth: PropTypes.bool,\n scrollableYearDropdown: PropTypes.bool,\n scrollableMonthYearDropdown: PropTypes.bool,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showMonthDropdown: PropTypes.bool,\n showMonthYearDropdown: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n startDate: PropTypes.object,\n todayButton: PropTypes.node,\n useWeekdaysShort: PropTypes.bool,\n formatWeekDay: PropTypes.func,\n withPortal: PropTypes.bool,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n weekLabel: PropTypes.string,\n yearDropdownItemNumber: PropTypes.number,\n setOpen: PropTypes.func,\n useShortMonthInDropdown: PropTypes.bool,\n showDisabledMonthNavigation: PropTypes.bool,\n previousMonthButtonLabel: PropTypes.string,\n nextMonthButtonLabel: PropTypes.string,\n renderCustomHeader: PropTypes.func,\n renderDayContents: PropTypes.func\n};\n\nvar popperPlacementPositions = [\"bottom\", \"bottom-end\", \"bottom-start\", \"left\", \"left-end\", \"left-start\", \"right\", \"right-end\", \"right-start\", \"top\", \"top-end\", \"top-start\"];\n\nvar PopperComponent = function (_React$Component) {\n inherits(PopperComponent, _React$Component);\n\n function PopperComponent() {\n classCallCheck(this, PopperComponent);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n PopperComponent.prototype.render = function render() {\n var _props = this.props,\n className = _props.className,\n hidePopper = _props.hidePopper,\n popperComponent = _props.popperComponent,\n popperModifiers = _props.popperModifiers,\n popperPlacement = _props.popperPlacement,\n popperProps = _props.popperProps,\n targetComponent = _props.targetComponent;\n\n\n var popper = void 0;\n\n if (!hidePopper) {\n var classes = classnames(\"react-datepicker-popper\", className);\n popper = React.createElement(\n Popper,\n _extends({\n modifiers: popperModifiers,\n placement: popperPlacement\n }, popperProps),\n function (_ref) {\n var ref = _ref.ref,\n style = _ref.style,\n placement = _ref.placement,\n arrowProps = _ref.arrowProps;\n return React.createElement(\n \"div\",\n _extends({ ref: ref, style: style }, {\n className: classes,\n \"data-placement\": placement\n }),\n React.cloneElement(popperComponent, { arrowProps: arrowProps })\n );\n }\n );\n }\n\n if (this.props.popperContainer) {\n popper = React.createElement(this.props.popperContainer, {}, popper);\n }\n\n return React.createElement(\n Manager,\n null,\n React.createElement(\n Reference,\n null,\n function (_ref2) {\n var ref = _ref2.ref;\n return React.createElement(\n \"div\",\n { ref: ref, className: \"react-datepicker-wrapper\" },\n targetComponent\n );\n }\n ),\n popper\n );\n };\n\n createClass(PopperComponent, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n hidePopper: true,\n popperModifiers: {\n preventOverflow: {\n enabled: true,\n escapeWithReference: true,\n boundariesElement: \"viewport\"\n }\n },\n popperProps: {},\n popperPlacement: \"bottom-start\"\n };\n }\n }]);\n return PopperComponent;\n}(React.Component);\n\nPopperComponent.propTypes = {\n className: PropTypes.string,\n hidePopper: PropTypes.bool,\n popperComponent: PropTypes.element,\n popperModifiers: PropTypes.object, // <datepicker/> props\n popperPlacement: PropTypes.oneOf(popperPlacementPositions), // <datepicker/> props\n popperContainer: PropTypes.func,\n popperProps: PropTypes.object,\n targetComponent: PropTypes.element\n};\n\nvar outsideClickIgnoreClass = \"react-datepicker-ignore-onclickoutside\";\nvar WrappedCalendar = onClickOutside(Calendar);\n\n// Compares dates year+month combinations\nfunction hasPreSelectionChanged(date1, date2) {\n if (date1 && date2) {\n return getMonth(date1) !== getMonth(date2) || getYear(date1) !== getYear(date2);\n }\n\n return date1 !== date2;\n}\n\nfunction hasSelectionChanged(date1, date2) {\n if (date1 && date2) {\n return !equals(date1, date2);\n }\n\n return false;\n}\n\n/**\n * General datepicker component.\n */\nvar INPUT_ERR_1 = \"Date input not valid.\";\n\nvar DatePicker = function (_React$Component) {\n inherits(DatePicker, _React$Component);\n createClass(DatePicker, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n allowSameDay: false,\n dateFormat: \"L\",\n dateFormatCalendar: \"MMMM YYYY\",\n onChange: function onChange() {},\n\n disabled: false,\n disabledKeyboardNavigation: false,\n dropdownMode: \"scroll\",\n onFocus: function onFocus() {},\n onBlur: function onBlur() {},\n onKeyDown: function onKeyDown() {},\n onInputClick: function onInputClick() {},\n onSelect: function onSelect() {},\n onClickOutside: function onClickOutside$$1() {},\n onMonthChange: function onMonthChange() {},\n\n preventOpenOnFocus: false,\n onYearChange: function onYearChange() {},\n onInputError: function onInputError() {},\n\n monthsShown: 1,\n readOnly: false,\n withPortal: false,\n shouldCloseOnSelect: true,\n showTimeSelect: false,\n timeIntervals: 30,\n timeCaption: \"Time\",\n previousMonthButtonLabel: \"Previous Month\",\n nextMonthButtonLabel: \"Next month\",\n renderDayContents: function renderDayContents(date) {\n return date;\n }\n };\n }\n }]);\n\n function DatePicker(props) {\n classCallCheck(this, DatePicker);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.getPreSelection = function () {\n return _this.props.openToDate ? newDate(_this.props.openToDate) : _this.props.selectsEnd && _this.props.startDate ? newDate(_this.props.startDate) : _this.props.selectsStart && _this.props.endDate ? newDate(_this.props.endDate) : now(_this.props.utcOffset);\n };\n\n _this.calcInitialState = function () {\n var defaultPreSelection = _this.getPreSelection();\n var minDate = getEffectiveMinDate(_this.props);\n var maxDate = getEffectiveMaxDate(_this.props);\n var boundedPreSelection = minDate && isBefore(defaultPreSelection, minDate) ? minDate : maxDate && isAfter(defaultPreSelection, maxDate) ? maxDate : defaultPreSelection;\n return {\n open: _this.props.startOpen || false,\n preventFocus: false,\n preSelection: _this.props.selected ? newDate(_this.props.selected) : boundedPreSelection,\n // transforming highlighted days (perhaps nested array)\n // to flat Map for faster access in day.jsx\n highlightDates: getHightLightDaysMap(_this.props.highlightDates),\n focused: false\n };\n };\n\n _this.clearPreventFocusTimeout = function () {\n if (_this.preventFocusTimeout) {\n clearTimeout(_this.preventFocusTimeout);\n }\n };\n\n _this.setFocus = function () {\n if (_this.input && _this.input.focus) {\n _this.input.focus();\n }\n };\n\n _this.setBlur = function () {\n if (_this.input && _this.input.blur) {\n _this.input.blur();\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur();\n }\n\n _this.cancelFocusInput();\n };\n\n _this.setOpen = function (open) {\n var skipSetBlur = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n _this.setState({\n open: open,\n preSelection: open && _this.state.open ? _this.state.preSelection : _this.calcInitialState().preSelection,\n lastPreSelectChange: PRESELECT_CHANGE_VIA_NAVIGATE\n }, function () {\n if (!open) {\n _this.setState(function (prev) {\n return {\n focused: skipSetBlur ? prev.focused : false\n };\n }, function () {\n !skipSetBlur && _this.setBlur();\n\n _this.setState({ inputValue: null });\n });\n }\n });\n };\n\n _this.inputOk = function () {\n return isMoment(_this.state.preSelection) || isDate(_this.state.preSelection);\n };\n\n _this.isCalendarOpen = function () {\n return _this.props.open === undefined ? _this.state.open && !_this.props.disabled && !_this.props.readOnly : _this.props.open;\n };\n\n _this.handleFocus = function (event) {\n if (!_this.state.preventFocus) {\n _this.props.onFocus(event);\n if (!_this.props.preventOpenOnFocus && !_this.props.readOnly) {\n _this.setOpen(true);\n }\n }\n _this.setState({ focused: true });\n };\n\n _this.cancelFocusInput = function () {\n clearTimeout(_this.inputFocusTimeout);\n _this.inputFocusTimeout = null;\n };\n\n _this.deferFocusInput = function () {\n _this.cancelFocusInput();\n _this.inputFocusTimeout = setTimeout(function () {\n return _this.setFocus();\n }, 1);\n };\n\n _this.handleDropdownFocus = function () {\n _this.cancelFocusInput();\n };\n\n _this.handleBlur = function (event) {\n if (_this.state.open && !_this.props.withPortal) {\n _this.deferFocusInput();\n } else {\n _this.props.onBlur(event);\n }\n _this.setState({ focused: false });\n };\n\n _this.handleCalendarClickOutside = function (event) {\n if (!_this.props.inline) {\n _this.setOpen(false);\n }\n _this.props.onClickOutside(event);\n if (_this.props.withPortal) {\n event.preventDefault();\n }\n };\n\n _this.handleChange = function () {\n for (var _len = arguments.length, allArgs = Array(_len), _key = 0; _key < _len; _key++) {\n allArgs[_key] = arguments[_key];\n }\n\n var event = allArgs[0];\n if (_this.props.onChangeRaw) {\n _this.props.onChangeRaw.apply(_this, allArgs);\n if (typeof event.isDefaultPrevented !== \"function\" || event.isDefaultPrevented()) {\n return;\n }\n }\n _this.setState({\n inputValue: event.target.value,\n lastPreSelectChange: PRESELECT_CHANGE_VIA_INPUT\n });\n var date = parseDate(event.target.value, _this.props);\n if (date || !event.target.value) {\n _this.setSelected(date, event, true);\n }\n };\n\n _this.handleSelect = function (date, event) {\n // Preventing onFocus event to fix issue\n // https://github.com/Hacker0x01/react-datepicker/issues/628\n _this.setState({ preventFocus: true }, function () {\n _this.preventFocusTimeout = setTimeout(function () {\n return _this.setState({ preventFocus: false });\n }, 50);\n return _this.preventFocusTimeout;\n });\n _this.setSelected(date, event);\n if (!_this.props.shouldCloseOnSelect || _this.props.showTimeSelect) {\n _this.setPreSelection(date);\n } else if (!_this.props.inline) {\n _this.setOpen(false);\n }\n };\n\n _this.setSelected = function (date, event, keepInput) {\n var changedDate = date;\n\n if (changedDate !== null && isDayDisabled(changedDate, _this.props)) {\n if (isOutOfBounds(changedDate, _this.props)) {\n _this.props.onChange(date, event);\n _this.props.onSelect(changedDate, event);\n }\n\n return;\n }\n\n if (!isSameDay(_this.props.selected, changedDate) || _this.props.allowSameDay) {\n if (changedDate !== null) {\n if (_this.props.selected) {\n var selected = _this.props.selected;\n if (keepInput) selected = newDate(changedDate);\n changedDate = setTime(newDate(changedDate), {\n hour: getHour(selected),\n minute: getMinute(selected),\n second: getSecond(selected)\n });\n }\n if (!_this.props.inline) {\n _this.setState({\n preSelection: changedDate\n });\n }\n }\n _this.props.onChange(changedDate, event);\n }\n\n _this.props.onSelect(changedDate, event);\n\n if (!keepInput) {\n _this.setState({ inputValue: null });\n }\n };\n\n _this.setPreSelection = function (date) {\n var isDateRangePresent = typeof _this.props.minDate !== \"undefined\" && typeof _this.props.maxDate !== \"undefined\";\n var isValidDateSelection = isDateRangePresent && date ? isDayInRange(date, _this.props.minDate, _this.props.maxDate) : true;\n if (isValidDateSelection) {\n _this.setState({\n preSelection: date\n });\n }\n };\n\n _this.handleTimeChange = function (time) {\n var selected = _this.props.selected ? _this.props.selected : _this.getPreSelection();\n var changedDate = setTime(cloneDate(selected), {\n hour: getHour(time),\n minute: getMinute(time)\n });\n\n _this.setState({\n preSelection: changedDate\n });\n\n _this.props.onChange(changedDate);\n if (_this.props.shouldCloseOnSelect) {\n _this.setOpen(false);\n }\n _this.setState({ inputValue: null });\n };\n\n _this.onInputClick = function () {\n if (!_this.props.disabled && !_this.props.readOnly) {\n _this.setOpen(true);\n }\n\n _this.props.onInputClick();\n };\n\n _this.onInputKeyDown = function (event) {\n _this.props.onKeyDown(event);\n var eventKey = event.key;\n if (!_this.state.open && !_this.props.inline && !_this.props.preventOpenOnFocus) {\n if (eventKey === \"ArrowDown\" || eventKey === \"ArrowUp\") {\n _this.onInputClick();\n }\n return;\n }\n var copy = newDate(_this.state.preSelection);\n if (eventKey === \"Enter\") {\n event.preventDefault();\n if (_this.inputOk() && _this.state.lastPreSelectChange === PRESELECT_CHANGE_VIA_NAVIGATE) {\n _this.handleSelect(copy, event);\n !_this.props.shouldCloseOnSelect && _this.setPreSelection(copy);\n } else {\n _this.setOpen(false);\n }\n } else if (eventKey === \"Escape\") {\n event.preventDefault();\n\n _this.setOpen(false);\n if (!_this.inputOk()) {\n _this.props.onInputError({ code: 1, msg: INPUT_ERR_1 });\n }\n } else if (eventKey === \"Tab\") {\n _this.setOpen(false, true);\n } else if (!_this.props.disabledKeyboardNavigation) {\n var newSelection = void 0;\n switch (eventKey) {\n case \"ArrowLeft\":\n newSelection = subtractDays(copy, 1);\n break;\n case \"ArrowRight\":\n newSelection = addDays(copy, 1);\n break;\n case \"ArrowUp\":\n newSelection = subtractWeeks(copy, 1);\n break;\n case \"ArrowDown\":\n newSelection = addWeeks(copy, 1);\n break;\n case \"PageUp\":\n newSelection = subtractMonths(copy, 1);\n break;\n case \"PageDown\":\n newSelection = addMonths(copy, 1);\n break;\n case \"Home\":\n newSelection = subtractYears(copy, 1);\n break;\n case \"End\":\n newSelection = addYears(copy, 1);\n break;\n }\n if (!newSelection) {\n if (_this.props.onInputError) {\n _this.props.onInputError({ code: 1, msg: INPUT_ERR_1 });\n }\n return; // Let the input component handle this keydown\n }\n event.preventDefault();\n _this.setState({ lastPreSelectChange: PRESELECT_CHANGE_VIA_NAVIGATE });\n if (_this.props.adjustDateOnChange) {\n _this.setSelected(newSelection);\n }\n _this.setPreSelection(newSelection);\n }\n };\n\n _this.onClearClick = function (event) {\n if (event) {\n if (event.preventDefault) {\n event.preventDefault();\n }\n }\n _this.props.onChange(null, event);\n _this.setState({ inputValue: null });\n };\n\n _this.clear = function () {\n _this.onClearClick();\n };\n\n _this.renderCalendar = function () {\n if (!_this.props.inline && !_this.isCalendarOpen()) {\n return null;\n }\n return React.createElement(\n WrappedCalendar,\n {\n ref: function ref(elem) {\n _this.calendar = elem;\n },\n locale: _this.props.locale,\n adjustDateOnChange: _this.props.adjustDateOnChange,\n setOpen: _this.setOpen,\n dateFormat: _this.props.dateFormatCalendar,\n useWeekdaysShort: _this.props.useWeekdaysShort,\n formatWeekDay: _this.props.formatWeekDay,\n dropdownMode: _this.props.dropdownMode,\n selected: _this.props.selected,\n preSelection: _this.state.preSelection,\n onSelect: _this.handleSelect,\n onWeekSelect: _this.props.onWeekSelect,\n openToDate: _this.props.openToDate,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n excludeDates: _this.props.excludeDates,\n filterDate: _this.props.filterDate,\n onClickOutside: _this.handleCalendarClickOutside,\n formatWeekNumber: _this.props.formatWeekNumber,\n highlightDates: _this.state.highlightDates,\n includeDates: _this.props.includeDates,\n includeTimes: _this.props.includeTimes,\n injectTimes: _this.props.injectTimes,\n inline: _this.props.inline,\n peekNextMonth: _this.props.peekNextMonth,\n showMonthDropdown: _this.props.showMonthDropdown,\n useShortMonthInDropdown: _this.props.useShortMonthInDropdown,\n showMonthYearDropdown: _this.props.showMonthYearDropdown,\n showWeekNumbers: _this.props.showWeekNumbers,\n showYearDropdown: _this.props.showYearDropdown,\n withPortal: _this.props.withPortal,\n forceShowMonthNavigation: _this.props.forceShowMonthNavigation,\n showDisabledMonthNavigation: _this.props.showDisabledMonthNavigation,\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown,\n todayButton: _this.props.todayButton,\n weekLabel: _this.props.weekLabel,\n utcOffset: _this.props.utcOffset,\n outsideClickIgnoreClass: outsideClickIgnoreClass,\n fixedHeight: _this.props.fixedHeight,\n monthsShown: _this.props.monthsShown,\n onDropdownFocus: _this.handleDropdownFocus,\n onMonthChange: _this.props.onMonthChange,\n onYearChange: _this.props.onYearChange,\n dayClassName: _this.props.dayClassName,\n showTimeSelect: _this.props.showTimeSelect,\n showTimeSelectOnly: _this.props.showTimeSelectOnly,\n onTimeChange: _this.handleTimeChange,\n timeFormat: _this.props.timeFormat,\n timeIntervals: _this.props.timeIntervals,\n minTime: _this.props.minTime,\n maxTime: _this.props.maxTime,\n excludeTimes: _this.props.excludeTimes,\n timeCaption: _this.props.timeCaption,\n className: _this.props.calendarClassName,\n container: _this.props.calendarContainer,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber,\n previousMonthButtonLabel: _this.props.previousMonthButtonLabel,\n nextMonthButtonLabel: _this.props.nextMonthButtonLabel,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation,\n renderCustomHeader: _this.props.renderCustomHeader,\n popperProps: _this.props.popperProps,\n renderDayContents: _this.props.renderDayContents\n },\n _this.props.children\n );\n };\n\n _this.renderDateInput = function () {\n var _classnames, _React$cloneElement;\n\n var className = classnames(_this.props.className, (_classnames = {}, _classnames[outsideClickIgnoreClass] = _this.state.open, _classnames));\n\n var customInput = _this.props.customInput || React.createElement(\"input\", { type: \"text\" });\n var customInputRef = _this.props.customInputRef || \"ref\";\n var inputValue = typeof _this.props.value === \"string\" ? _this.props.value : typeof _this.state.inputValue === \"string\" ? _this.state.inputValue : safeDateFormat(_this.props.selected, _this.props);\n\n return React.cloneElement(customInput, (_React$cloneElement = {}, _React$cloneElement[customInputRef] = function (input) {\n _this.input = input;\n }, _React$cloneElement.value = inputValue, _React$cloneElement.onBlur = _this.handleBlur, _React$cloneElement.onChange = _this.handleChange, _React$cloneElement.onClick = _this.onInputClick, _React$cloneElement.onFocus = _this.handleFocus, _React$cloneElement.onKeyDown = _this.onInputKeyDown, _React$cloneElement.id = _this.props.id, _React$cloneElement.name = _this.props.name, _React$cloneElement.autoFocus = _this.props.autoFocus, _React$cloneElement.placeholder = _this.props.placeholderText, _React$cloneElement.disabled = _this.props.disabled, _React$cloneElement.autoComplete = _this.props.autoComplete, _React$cloneElement.className = className, _React$cloneElement.title = _this.props.title, _React$cloneElement.readOnly = _this.props.readOnly, _React$cloneElement.required = _this.props.required, _React$cloneElement.tabIndex = _this.props.tabIndex, _React$cloneElement));\n };\n\n _this.renderClearButton = function () {\n if (_this.props.isClearable && _this.props.selected != null) {\n return React.createElement(\"button\", {\n type: \"button\",\n className: \"react-datepicker__close-icon\",\n onClick: _this.onClearClick,\n title: _this.props.clearButtonTitle,\n tabIndex: -1\n });\n } else {\n return null;\n }\n };\n\n _this.state = _this.calcInitialState();\n return _this;\n }\n\n DatePicker.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.inline && hasPreSelectionChanged(prevProps.selected, this.props.selected)) {\n this.setPreSelection(this.props.selected);\n }\n if (prevProps.highlightDates !== this.props.highlightDates) {\n this.setState({\n highlightDates: getHightLightDaysMap(this.props.highlightDates)\n });\n }\n if (!prevState.focused && hasSelectionChanged(prevProps.selected, this.props.selected)) {\n this.setState({ inputValue: null });\n }\n };\n\n DatePicker.prototype.componentWillUnmount = function componentWillUnmount() {\n this.clearPreventFocusTimeout();\n };\n\n DatePicker.prototype.render = function render() {\n var calendar = this.renderCalendar();\n\n if (this.props.inline && !this.props.withPortal) {\n return calendar;\n }\n\n if (this.props.withPortal) {\n return React.createElement(\n \"div\",\n null,\n !this.props.inline ? React.createElement(\n \"div\",\n { className: \"react-datepicker__input-container\" },\n this.renderDateInput(),\n this.renderClearButton()\n ) : null,\n this.state.open || this.props.inline ? React.createElement(\n \"div\",\n { className: \"react-datepicker__portal\" },\n calendar\n ) : null\n );\n }\n\n return React.createElement(PopperComponent, {\n className: this.props.popperClassName,\n hidePopper: !this.isCalendarOpen(),\n popperModifiers: this.props.popperModifiers,\n targetComponent: React.createElement(\n \"div\",\n { className: \"react-datepicker__input-container\" },\n this.renderDateInput(),\n this.renderClearButton()\n ),\n popperContainer: this.props.popperContainer,\n popperComponent: calendar,\n popperPlacement: this.props.popperPlacement,\n popperProps: this.props.popperProps\n });\n };\n\n return DatePicker;\n}(React.Component);\n\nDatePicker.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n allowSameDay: PropTypes.bool,\n autoComplete: PropTypes.string,\n autoFocus: PropTypes.bool,\n calendarClassName: PropTypes.string,\n calendarContainer: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n customInput: PropTypes.element,\n customInputRef: PropTypes.string,\n // eslint-disable-next-line react/no-unused-prop-types\n dateFormat: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n dateFormatCalendar: PropTypes.string,\n dayClassName: PropTypes.func,\n disabled: PropTypes.bool,\n disabledKeyboardNavigation: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.array,\n id: PropTypes.string,\n includeDates: PropTypes.array,\n includeTimes: PropTypes.array,\n injectTimes: PropTypes.array,\n inline: PropTypes.bool,\n isClearable: PropTypes.bool,\n locale: PropTypes.string,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n monthsShown: PropTypes.number,\n name: PropTypes.string,\n onBlur: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n onSelect: PropTypes.func,\n onWeekSelect: PropTypes.func,\n onClickOutside: PropTypes.func,\n onChangeRaw: PropTypes.func,\n onFocus: PropTypes.func,\n onInputClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onMonthChange: PropTypes.func,\n onYearChange: PropTypes.func,\n onInputError: PropTypes.func,\n open: PropTypes.bool,\n openToDate: PropTypes.object,\n peekNextMonth: PropTypes.bool,\n placeholderText: PropTypes.string,\n popperContainer: PropTypes.func,\n popperClassName: PropTypes.string, // <PopperComponent/> props\n popperModifiers: PropTypes.object, // <PopperComponent/> props\n popperPlacement: PropTypes.oneOf(popperPlacementPositions), // <PopperComponent/> props\n popperProps: PropTypes.object,\n preventOpenOnFocus: PropTypes.bool,\n readOnly: PropTypes.bool,\n required: PropTypes.bool,\n scrollableYearDropdown: PropTypes.bool,\n scrollableMonthYearDropdown: PropTypes.bool,\n selected: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showMonthDropdown: PropTypes.bool,\n showMonthYearDropdown: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n forceShowMonthNavigation: PropTypes.bool,\n showDisabledMonthNavigation: PropTypes.bool,\n startDate: PropTypes.object,\n startOpen: PropTypes.bool,\n tabIndex: PropTypes.number,\n timeCaption: PropTypes.string,\n title: PropTypes.string,\n todayButton: PropTypes.node,\n useWeekdaysShort: PropTypes.bool,\n formatWeekDay: PropTypes.func,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n value: PropTypes.string,\n weekLabel: PropTypes.string,\n withPortal: PropTypes.bool,\n yearDropdownItemNumber: PropTypes.number,\n shouldCloseOnSelect: PropTypes.bool,\n showTimeSelect: PropTypes.bool,\n showTimeSelectOnly: PropTypes.bool,\n timeFormat: PropTypes.string,\n timeIntervals: PropTypes.number,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n useShortMonthInDropdown: PropTypes.bool,\n clearButtonTitle: PropTypes.string,\n previousMonthButtonLabel: PropTypes.string,\n nextMonthButtonLabel: PropTypes.string,\n renderCustomHeader: PropTypes.func,\n renderDayContents: PropTypes.func\n};\nvar PRESELECT_CHANGE_VIA_INPUT = \"input\";\nvar PRESELECT_CHANGE_VIA_NAVIGATE = \"navigate\";\n\nexport { CalendarContainer };\nexport default DatePicker;\n","import { Component, createElement } from 'react';\nimport { findDOMNode } from 'react-dom';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n/**\n * Check whether some DOM node is our Component's node.\n */\nfunction isNodeFound(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // SVG <use/> elements do not technically reside in the rendered DOM, so\n // they do not have classList directly, but they offer a link to their\n // corresponding element, which can have classList. This extra check is for\n // that case.\n // See: http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGUseElement\n // Discussion: https://github.com/Pomax/react-onclickoutside/pull/17\n\n\n if (current.correspondingElement) {\n return current.correspondingElement.classList.contains(ignoreClass);\n }\n\n return current.classList.contains(ignoreClass);\n}\n/**\n * Try to find our node in a hierarchy of nodes, returning the document\n * node as highest node if our node is not found in the path up.\n */\n\nfunction findHighest(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // If source=local then this event came from 'somewhere'\n // inside and should be ignored. We could handle this with\n // a layered approach, too, but that requires going back to\n // thinking in terms of Dom node nesting, running counter\n // to React's 'you shouldn't care about the DOM' philosophy.\n\n\n while (current.parentNode) {\n if (isNodeFound(current, componentNode, ignoreClass)) {\n return true;\n }\n\n current = current.parentNode;\n }\n\n return current;\n}\n/**\n * Check if the browser scrollbar was clicked\n */\n\nfunction clickedScrollbar(evt) {\n return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;\n}\n\n// ideally will get replaced with external dep\n// when rafrex/detect-passive-events#4 and rafrex/detect-passive-events#5 get merged in\nvar testPassiveEventSupport = function testPassiveEventSupport() {\n if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') {\n return;\n }\n\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n }\n });\n\n var noop = function noop() {};\n\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n return passive;\n};\n\nfunction autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar passiveEventSupport;\nvar handlersMap = {};\nvar enabledInstances = {};\nvar touchEvents = ['touchstart', 'touchmove'];\nvar IGNORE_CLASS_NAME = 'ignore-react-onclickoutside';\n/**\n * Options for addEventHandler and removeEventHandler\n */\n\nfunction getEventHandlerOptions(instance, eventName) {\n var handlerOptions = null;\n var isTouchEvent = touchEvents.indexOf(eventName) !== -1;\n\n if (isTouchEvent && passiveEventSupport) {\n handlerOptions = {\n passive: !instance.props.preventDefault\n };\n }\n\n return handlerOptions;\n}\n/**\n * This function generates the HOC function that you'll use\n * in order to impart onOutsideClick listening to an\n * arbitrary component. It gets called at the end of the\n * bootstrapping code to yield an instance of the\n * onClickOutsideHOC function defined inside setupHOC().\n */\n\n\nfunction onClickOutsideHOC(WrappedComponent, config) {\n var _class, _temp;\n\n return _temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(onClickOutside, _Component);\n\n function onClickOutside(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n\n _this.__outsideClickHandler = function (event) {\n if (typeof _this.__clickOutsideHandlerProp === 'function') {\n _this.__clickOutsideHandlerProp(event);\n\n return;\n }\n\n var instance = _this.getInstance();\n\n if (typeof instance.props.handleClickOutside === 'function') {\n instance.props.handleClickOutside(event);\n return;\n }\n\n if (typeof instance.handleClickOutside === 'function') {\n instance.handleClickOutside(event);\n return;\n }\n\n throw new Error('WrappedComponent lacks a handleClickOutside(event) function for processing outside click events.');\n };\n\n _this.enableOnClickOutside = function () {\n if (typeof document === 'undefined' || enabledInstances[_this._uid]) {\n return;\n }\n\n if (typeof passiveEventSupport === 'undefined') {\n passiveEventSupport = testPassiveEventSupport();\n }\n\n enabledInstances[_this._uid] = true;\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n handlersMap[_this._uid] = function (event) {\n if (_this.props.disableOnClickOutside) return;\n if (_this.componentNode === null) return;\n\n if (_this.props.preventDefault) {\n event.preventDefault();\n }\n\n if (_this.props.stopPropagation) {\n event.stopPropagation();\n }\n\n if (_this.props.excludeScrollbar && clickedScrollbar(event)) return;\n var current = event.target;\n\n if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {\n return;\n }\n\n _this.__outsideClickHandler(event);\n };\n\n events.forEach(function (eventName) {\n document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_this, eventName));\n });\n };\n\n _this.disableOnClickOutside = function () {\n delete enabledInstances[_this._uid];\n var fn = handlersMap[_this._uid];\n\n if (fn && typeof document !== 'undefined') {\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n events.forEach(function (eventName) {\n return document.removeEventListener(eventName, fn, getEventHandlerOptions(_this, eventName));\n });\n delete handlersMap[_this._uid];\n }\n };\n\n _this.getRef = function (ref) {\n return _this.instanceRef = ref;\n };\n\n _this._uid = uid();\n return _this;\n }\n /**\n * Access the WrappedComponent's instance.\n */\n\n\n var _proto = onClickOutside.prototype;\n\n _proto.getInstance = function getInstance() {\n if (!WrappedComponent.prototype.isReactComponent) {\n return this;\n }\n\n var ref = this.instanceRef;\n return ref.getInstance ? ref.getInstance() : ref;\n };\n\n /**\n * Add click listeners to the current document,\n * linked to this component's state.\n */\n _proto.componentDidMount = function componentDidMount() {\n // If we are in an environment without a DOM such\n // as shallow rendering or snapshots then we exit\n // early to prevent any unhandled errors being thrown.\n if (typeof document === 'undefined' || !document.createElement) {\n return;\n }\n\n var instance = this.getInstance();\n\n if (config && typeof config.handleClickOutside === 'function') {\n this.__clickOutsideHandlerProp = config.handleClickOutside(instance);\n\n if (typeof this.__clickOutsideHandlerProp !== 'function') {\n throw new Error('WrappedComponent lacks a function for processing outside click events specified by the handleClickOutside config option.');\n }\n }\n\n this.componentNode = findDOMNode(this.getInstance());\n this.enableOnClickOutside();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.componentNode = findDOMNode(this.getInstance());\n };\n /**\n * Remove all document's event listeners for this component\n */\n\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.disableOnClickOutside();\n };\n /**\n * Can be called to explicitly enable event listening\n * for clicks and touches outside of this element.\n */\n\n\n /**\n * Pass-through render\n */\n _proto.render = function render() {\n // eslint-disable-next-line no-unused-vars\n var _props = this.props,\n excludeScrollbar = _props.excludeScrollbar,\n props = _objectWithoutProperties(_props, [\"excludeScrollbar\"]);\n\n if (WrappedComponent.prototype.isReactComponent) {\n props.ref = this.getRef;\n } else {\n props.wrappedRef = this.getRef;\n }\n\n props.disableOnClickOutside = this.disableOnClickOutside;\n props.enableOnClickOutside = this.enableOnClickOutside;\n return createElement(WrappedComponent, props);\n };\n\n return onClickOutside;\n }(Component), _class.displayName = \"OnClickOutside(\" + (WrappedComponent.displayName || WrappedComponent.name || 'Component') + \")\", _class.defaultProps = {\n eventTypes: ['mousedown', 'touchstart'],\n excludeScrollbar: config && config.excludeScrollbar || false,\n outsideClickIgnoreClass: IGNORE_CLASS_NAME,\n preventDefault: false,\n stopPropagation: false\n }, _class.getClass = function () {\n return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;\n }, _temp;\n}\n\nexport { IGNORE_CLASS_NAME };\nexport default onClickOutsideHOC;\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from \"react\";\nimport createContext from \"create-react-context\";\nexport var ManagerContext = createContext({\n getReferenceRef: undefined,\n referenceNode: undefined\n});\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _this;\n\n _this = _React$Component.call(this) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getReferenceRef\", function (referenceNode) {\n return _this.setState(function (_ref) {\n var context = _ref.context;\n return {\n context: _extends({}, context, {\n referenceNode: referenceNode\n })\n };\n });\n });\n\n _this.state = {\n context: {\n getReferenceRef: _this.getReferenceRef,\n referenceNode: undefined\n }\n };\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.render = function render() {\n return React.createElement(ManagerContext.Provider, {\n value: this.state.context\n }, this.props.children);\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerContext } from './Manager';\nimport { safeInvoke, unwrapArray } from './utils';\nvar initialStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerPopper, _React$Component);\n\n function InnerPopper() {\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 _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n data: undefined,\n placement: undefined\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"popperInstance\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"popperNode\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"arrowNode\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setPopperNode\", function (popperNode) {\n if (!popperNode || _this.popperNode === popperNode) return;\n safeInvoke(_this.props.innerRef, popperNode);\n _this.popperNode = popperNode;\n\n _this.updatePopperInstance();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setArrowNode\", function (arrowNode) {\n _this.arrowNode = arrowNode;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"updateStateModifier\", {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n var placement = data.placement;\n\n _this.setState({\n data: data,\n placement: placement\n });\n\n return data;\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOptions\", function () {\n return {\n placement: _this.props.placement,\n eventsEnabled: _this.props.eventsEnabled,\n positionFixed: _this.props.positionFixed,\n modifiers: _extends({}, _this.props.modifiers, {\n arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n enabled: !!_this.arrowNode,\n element: _this.arrowNode\n }),\n applyStyle: {\n enabled: false\n },\n updateStateModifier: _this.updateStateModifier\n })\n };\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPopperStyle\", function () {\n return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n position: _this.state.data.offsets.popper.position\n }, _this.state.data.styles);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPopperPlacement\", function () {\n return !_this.state.data ? undefined : _this.state.placement;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getArrowStyle\", function () {\n return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOutOfBoundariesState\", function () {\n return _this.state.data ? _this.state.data.hide : undefined;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"destroyPopperInstance\", function () {\n if (!_this.popperInstance) return;\n\n _this.popperInstance.destroy();\n\n _this.popperInstance = null;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"updatePopperInstance\", function () {\n _this.destroyPopperInstance();\n\n var _assertThisInitialize = _assertThisInitialized(_assertThisInitialized(_this)),\n popperNode = _assertThisInitialize.popperNode;\n\n var referenceElement = _this.props.referenceElement;\n if (!referenceElement || !popperNode) return;\n _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"scheduleUpdate\", function () {\n if (_this.popperInstance) {\n _this.popperInstance.scheduleUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = InnerPopper.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If the Popper.js options have changed, update the instance (destroy + create)\n if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed) {\n this.updatePopperInstance();\n } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n } // A placement difference in state means popper determined a new placement\n // apart from the props value. By the time the popper element is rendered with\n // the new position Popper has already measured it, if the place change triggers\n // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n if (prevState.placement !== this.state.placement) {\n this.scheduleUpdate();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n safeInvoke(this.props.innerRef, null);\n this.destroyPopperInstance();\n };\n\n _proto.render = function render() {\n return unwrapArray(this.props.children)({\n ref: this.setPopperNode,\n style: this.getPopperStyle(),\n placement: this.getPopperPlacement(),\n outOfBoundaries: this.getOutOfBoundariesState(),\n scheduleUpdate: this.scheduleUpdate,\n arrowProps: {\n ref: this.setArrowNode,\n style: this.getArrowStyle()\n }\n });\n };\n\n return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n placement: 'bottom',\n eventsEnabled: true,\n referenceElement: undefined,\n positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n var referenceElement = _ref.referenceElement,\n props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n return React.createElement(ManagerContext.Consumer, null, function (_ref2) {\n var referenceNode = _ref2.referenceNode;\n return React.createElement(InnerPopper, _extends({\n referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n }, props));\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport warning from 'warning';\nimport { ManagerContext } from './Manager';\nimport { safeInvoke, unwrapArray } from './utils';\n\nvar InnerReference =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerReference, _React$Component);\n\n function InnerReference() {\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 _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"refHandler\", function (node) {\n safeInvoke(_this.props.innerRef, node);\n safeInvoke(_this.props.getReferenceRef, node);\n });\n\n return _this;\n }\n\n var _proto = InnerReference.prototype;\n\n _proto.render = function render() {\n warning(this.props.getReferenceRef, '`Reference` should not be used outside of a `Manager` component.');\n return unwrapArray(this.props.children)({\n ref: this.refHandler\n });\n };\n\n return InnerReference;\n}(React.Component);\n\nexport default function Reference(props) {\n return React.createElement(ManagerContext.Consumer, null, function (_ref) {\n var getReferenceRef = _ref.getReferenceRef;\n return React.createElement(InnerReference, _extends({\n getReferenceRef: getReferenceRef\n }, props));\n });\n}","// Public components\nimport Popper, { placements } from './Popper';\nimport Manager from './Manager';\nimport Reference from './Reference';\nexport { Popper, placements, Manager, Reference }; // Public types","/**\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};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.autoprefix = undefined;\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _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\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar transforms = {\n borderRadius: function borderRadius(value) {\n return {\n msBorderRadius: value,\n MozBorderRadius: value,\n OBorderRadius: value,\n WebkitBorderRadius: value,\n borderRadius: value\n };\n },\n boxShadow: function boxShadow(value) {\n return {\n msBoxShadow: value,\n MozBoxShadow: value,\n OBoxShadow: value,\n WebkitBoxShadow: value,\n boxShadow: value\n };\n },\n userSelect: function userSelect(value) {\n return {\n WebkitTouchCallout: value,\n KhtmlUserSelect: value,\n MozUserSelect: value,\n msUserSelect: value,\n WebkitUserSelect: value,\n userSelect: value\n };\n },\n\n flex: function flex(value) {\n return {\n WebkitBoxFlex: value,\n MozBoxFlex: value,\n WebkitFlex: value,\n msFlex: value,\n flex: value\n };\n },\n flexBasis: function flexBasis(value) {\n return {\n WebkitFlexBasis: value,\n flexBasis: value\n };\n },\n justifyContent: function justifyContent(value) {\n return {\n WebkitJustifyContent: value,\n justifyContent: value\n };\n },\n\n transition: function transition(value) {\n return {\n msTransition: value,\n MozTransition: value,\n OTransition: value,\n WebkitTransition: value,\n transition: value\n };\n },\n\n transform: function transform(value) {\n return {\n msTransform: value,\n MozTransform: value,\n OTransform: value,\n WebkitTransform: value,\n transform: value\n };\n },\n absolute: function absolute(value) {\n var direction = value && value.split(' ');\n return {\n position: 'absolute',\n top: direction && direction[0],\n right: direction && direction[1],\n bottom: direction && direction[2],\n left: direction && direction[3]\n };\n },\n extend: function extend(name, otherElementStyles) {\n var otherStyle = otherElementStyles[name];\n if (otherStyle) {\n return otherStyle;\n }\n return {\n 'extend': name\n };\n }\n};\n\nvar autoprefix = exports.autoprefix = function autoprefix(elements) {\n var prefixed = {};\n (0, _forOwn3.default)(elements, function (styles, element) {\n var expanded = {};\n (0, _forOwn3.default)(styles, function (value, key) {\n var transform = transforms[key];\n if (transform) {\n expanded = _extends({}, expanded, transform(value));\n } else {\n expanded[key] = value;\n }\n });\n prefixed[element] = expanded;\n });\n return prefixed;\n};\n\nexports.default = autoprefix;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.active = undefined;\n\nvar _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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nvar active = exports.active = function active(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n\n return function (_React$Component) {\n _inherits(Active, _React$Component);\n\n function Active() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Active);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Active.__proto__ || Object.getPrototypeOf(Active)).call.apply(_ref, [this].concat(args))), _this), _this.state = { active: false }, _this.handleMouseDown = function () {\n return _this.setState({ active: true });\n }, _this.handleMouseUp = function () {\n return _this.setState({ active: false });\n }, _this.render = function () {\n return _react2.default.createElement(\n Span,\n { onMouseDown: _this.handleMouseDown, onMouseUp: _this.handleMouseUp },\n _react2.default.createElement(Component, _extends({}, _this.props, _this.state))\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return Active;\n }(_react2.default.Component);\n};\n\nexports.default = active;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hover = undefined;\n\nvar _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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nvar hover = exports.hover = function hover(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n\n return function (_React$Component) {\n _inherits(Hover, _React$Component);\n\n function Hover() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Hover);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Hover.__proto__ || Object.getPrototypeOf(Hover)).call.apply(_ref, [this].concat(args))), _this), _this.state = { hover: false }, _this.handleMouseOver = function () {\n return _this.setState({ hover: true });\n }, _this.handleMouseOut = function () {\n return _this.setState({ hover: false });\n }, _this.render = function () {\n return _react2.default.createElement(\n Span,\n { onMouseOver: _this.handleMouseOver, onMouseOut: _this.handleMouseOut },\n _react2.default.createElement(Component, _extends({}, _this.props, _this.state))\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return Hover;\n }(_react2.default.Component);\n};\n\nexports.default = hover;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.flattenNames = undefined;\n\nvar _isString2 = require('lodash/isString');\n\nvar _isString3 = _interopRequireDefault(_isString2);\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _isPlainObject2 = require('lodash/isPlainObject');\n\nvar _isPlainObject3 = _interopRequireDefault(_isPlainObject2);\n\nvar _map2 = require('lodash/map');\n\nvar _map3 = _interopRequireDefault(_map2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar flattenNames = exports.flattenNames = function flattenNames() {\n var things = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var names = [];\n\n (0, _map3.default)(things, function (thing) {\n if (Array.isArray(thing)) {\n flattenNames(thing).map(function (name) {\n return names.push(name);\n });\n } else if ((0, _isPlainObject3.default)(thing)) {\n (0, _forOwn3.default)(thing, function (value, key) {\n value === true && names.push(key);\n names.push(key + '-' + value);\n });\n } else if ((0, _isString3.default)(thing)) {\n names.push(thing);\n }\n });\n\n return names;\n};\n\nexports.default = flattenNames;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ReactCSS = exports.loop = exports.handleActive = exports.handleHover = exports.hover = undefined;\n\nvar _flattenNames = require('./flattenNames');\n\nvar _flattenNames2 = _interopRequireDefault(_flattenNames);\n\nvar _mergeClasses = require('./mergeClasses');\n\nvar _mergeClasses2 = _interopRequireDefault(_mergeClasses);\n\nvar _autoprefix = require('./autoprefix');\n\nvar _autoprefix2 = _interopRequireDefault(_autoprefix);\n\nvar _hover2 = require('./components/hover');\n\nvar _hover3 = _interopRequireDefault(_hover2);\n\nvar _active = require('./components/active');\n\nvar _active2 = _interopRequireDefault(_active);\n\nvar _loop2 = require('./loop');\n\nvar _loop3 = _interopRequireDefault(_loop2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.hover = _hover3.default;\nexports.handleHover = _hover3.default;\nexports.handleActive = _active2.default;\nexports.loop = _loop3.default;\nvar ReactCSS = exports.ReactCSS = function ReactCSS(classes) {\n for (var _len = arguments.length, activations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n activations[_key - 1] = arguments[_key];\n }\n\n var activeNames = (0, _flattenNames2.default)(activations);\n var merged = (0, _mergeClasses2.default)(classes, activeNames);\n return (0, _autoprefix2.default)(merged);\n};\n\nexports.default = ReactCSS;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar loopable = function loopable(i, length) {\n var props = {};\n var setProp = function setProp(name) {\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n props[name] = value;\n };\n\n i === 0 && setProp('first-child');\n i === length - 1 && setProp('last-child');\n (i === 0 || i % 2 === 0) && setProp('even');\n Math.abs(i % 2) === 1 && setProp('odd');\n setProp('nth-child', i);\n\n return props;\n};\n\nexports.default = loopable;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mergeClasses = undefined;\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _cloneDeep2 = require('lodash/cloneDeep');\n\nvar _cloneDeep3 = _interopRequireDefault(_cloneDeep2);\n\nvar _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\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar mergeClasses = exports.mergeClasses = function mergeClasses(classes) {\n var activeNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var styles = classes.default && (0, _cloneDeep3.default)(classes.default) || {};\n activeNames.map(function (name) {\n var toMerge = classes[name];\n if (toMerge) {\n (0, _forOwn3.default)(toMerge, function (value, key) {\n if (!styles[key]) {\n styles[key] = {};\n }\n\n styles[key] = _extends({}, styles[key], toMerge[key]);\n });\n }\n\n return name;\n });\n return styles;\n};\n\nexports.default = mergeClasses;","function select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n","// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([bth[buf[i++]], bth[buf[i++]], \n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]]]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","(function() { module.exports = this[\"wp\"][\"a11y\"]; }());","(function() { module.exports = this[\"wp\"][\"apiFetch\"]; }());","(function() { module.exports = this[\"wp\"][\"compose\"]; }());","(function() { module.exports = this[\"wp\"][\"deprecated\"]; }());","(function() { module.exports = this[\"wp\"][\"dom\"]; }());","(function() { module.exports = this[\"wp\"][\"element\"]; }());","(function() { module.exports = this[\"wp\"][\"hooks\"]; }());","(function() { module.exports = this[\"wp\"][\"i18n\"]; }());","(function() { module.exports = this[\"wp\"][\"isShallowEqual\"]; }());","(function() { module.exports = this[\"wp\"][\"keycodes\"]; }());","(function() { module.exports = this[\"wp\"][\"richText\"]; }());","(function() { module.exports = this[\"wp\"][\"url\"]; }());","(function() { module.exports = this[\"lodash\"]; }());","(function() { module.exports = this[\"moment\"]; }());","(function() { module.exports = this[\"React\"]; }());","(function() { module.exports = this[\"ReactDOM\"]; }());"],"sourceRoot":""} |